День добрый!
В модели СМО есть однотипный ресурс типа "Персонал" в
количестве 4 шт. и 4 окошка обслуживания клиентов.
Персонал базируется по ломаной, две точки которой расположены на
рабочих местах, а две - в комнате отдыха.
Требуется при приходе заявки к окну обслужить ее оператором
этого окна, если оператора нет, то притащить его из комнаты отдыха
или от друго окна без клиентов.
Происходит так. При приходе заявки к одному окону с оператором, ее
обслуживает не текущий оператор, который
ближе всего к заявке (соответствующее правило установлено в Network),
а оператор из соседнего окна, причем он
приходит и садится на существующего оператора. Когда народ
скапливается у всех окон, выбегают резервные
операторы, но они после обслуживания одного клиента убегают на
место базирования, хотя есть очередь, и сразу после парковки
несутся обратно к окошку.
В связи с этим поведение вопросы:
1. Можно ли существующие ресурсы типа персонал как-то отличать
друг от друга. Как я могу ими управлять получив ссылку на i-й
ресурс функцией get (int i) объекта NetworkResource?
2. Как заявке запросить конкретный i-й ресурс?
3. Как определить в какой точке сети находится данный i-й ресурс?
4. Можно ли ввести лимит на количество ресурсов, находящихся в
данном узле?
5. Как сделать, чтобы освободившийся ресурс проверял наличие еще
запросов до отбытия на парковку, а если
таковые есть, оставался на месте и работал?
И почему не работает правило selectResourceRule (насчет ближайшего
ресурса)...
Спасибо заранее, очень буду ждать советов.
Павел — 04.06.10
В этом случае я думаю лучше для каждого ресурса создать свой пул.
Затем, испеользуя определенную логику направлять клиента к
конкретному ресурсу, который может его сейчас обслужить.