Community

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