Как установить приоритет для очереди ResourcePool в anylogic - PullRequest
1 голос
/ 05 ноября 2019

У меня есть последовательность Сервисов, для которых требуется один и тот же ресурс (рабочий). Я хочу, чтобы работник следовал этой последовательности, а не случайно выбирал службу для работы. Как я могу установить приоритет очереди ResourcePool? Спасибо за ваше время

Ответы [ 2 ]

0 голосов
/ 06 ноября 2019

Как правило, в этих случаях использование сервиса не является правильным подходом, вместо этого вам следует использовать блок захвата в начале, заставить агента пройти через все сервисы (что теперь будет отображаться с задержками, так как ваш ресурс уже захвачен) и после того, как ваш работник сделал все, что вы можете использовать блок освобождения.

Помните, что услуга = захват + задержка + освобождение

Использование службы оправдано, только если ваш работник должен пройти черезпоследовательность, но не имеет значения, какой агент он обрабатывает (который будет работать с решением Бенджамина)

0 голосов
/ 05 ноября 2019

Один из способов сделать это:

  • создать на рабочем месте переменную "myPreviousService" типа Service. Начальное значение, равное нулю
  • в каждой службе, примените параметр «настройка выбора ресурса» и убедитесь, что подлежащая захвату единица ранее работала в предыдущем необходимом объекте службы (на экране я устанавливаю «service3»). и потребовать, чтобы работник работал над «service2» раньше)
  • (очевидно, что только первая служба не будет нуждаться в этом требовании)
  • в каждой услуге «на конфискации», хранилище unit.myPreviousService = self чтобы рабочий помнил

Надеюсь, это поможет

enter image description here

...