Pages: 1
Seize и Agents
Есть последовательность Seize - Delay - Release. Seize управляет одним юнитом из ResourcePool. В Delay агенты попадают по одному. Можно ли сделать чтобы агенты переходили в Delay больше чем по одному или по мере их поступления в Seize?
Например, в книге 'Anylogic in three days' на стр. 183-184 дать возможность каждому станку с ЧПУ обрабатывать по несколько агентов за раз.
И еще вопрос.В компоненте Delay в событии OnEnter задаю delayTime = 5 (например), но при попадании агента delay time все равно остается равным заданному в поле Properties -- Delay time = 15.
Как правильно динамически изменять время задержки в Delay?
Иван, несколько ресурсов могут обрабатывать одну заявку, но не наоборот. Можно создать партию (batch) из заявок. Эта партия также является заявкой и хранит в себе другие заявки. Она может захватить ресурс, и получится, что ресурс обрабатывает несколько заявок. Количестов агентов в Delay огранично не только количеством ресурсов, но и вместимостью блока. Выставьте максимальную вместимость, если нужно.
delayTime — это локальная переменная, которая показывает, чему равно время задержи для данной заявки. Изменение значения этой переменной никак не повлияет на время задержки. Динамически изменять значения можно двумя путями:

- задать параметр/переменную внутри заявки и написать agent.variableName в поле Delay Time. В таком случае время задержки будет браться из значения переменной каждой отдельной заявки (т.е., у каждой из них своё время задержки).
- задать параметр на холсте с блоком, вписать его имя в Delay Time и менять как заблагорассудится. Тогда заявки будут брать значения этой переменной.
Pages: 1
Users browsing this topic (2 guests, 0 registered, 0 hidden)