2016-11-30 14 views
1

В основном у меня есть Служба, которая может работать с двумя альтернативами ResourceSets. Предположим, что Служба будет оптимально работать с одним Доктором и одной Медсестрой, но также возможно работать только с одним Доктором, если Медсестра недоступна.Anylogic: Как установить время задержки на обслуживание в зависимости от используемого ресурса

Теперь, полагая, что Доктор работает медленнее без медсестры, время задержки службы должно зависеть от используемого ресурса в данный момент (Doctor + Nurse или Doctor). Любая идея, как я могу это программировать?

Вы также должны иметь в виду, что моя модель имеет различные службы параллельно, работая одинаково, это не только одна служебная линия.

Спасибо!

ответ

0

Вы используете Службы, но для меня использование комбинации Seize, Delay и Release дает вам большую гибкость. Что я сделал это установить выбор ресурсов в соответствии изображении ниже: enter image description here

Это важно иметь медсестер ранее к врачам в первом сете (по какой-то причине AnyLogic бы выбрать для использования только врач если в противном случае - даже при наличии медсестры).

Чем, я хотел бы написать этот код: enter image description here

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

В блоке задержки, я бы установить время обработки для agent.processTime

Топология Я использую это:

enter image description here

Очевидно, что это временное решение и не будет работать для каждого дело. Вы всегда можете изменить условия, которые вы проверяете. Я не мог найти способ проверить, какой набор ресурсов был выбран при операции seize. Если вы торопитесь, это сделает трюк.

Надежда, что помогает, Луиш

+0

Спасибо Луис! Это должно работать нормально! –