Я хочу внедрить подключенный автономный автопарк в AnyLogic.Из-за этого агент транспортного средства имеет возможность изменить свой маршрут.Насколько я понимаю, использование стандартного блока " MoveTo " позволяет перемещать агента транспортного средства только один раз , сообщая ему, по какой дороге перемещать агента.
Например,:
![enter image description here](https://i.stack.imgur.com/pOkuc.jpg)
Любое транспортное средство, следующее за вышеуказанным блоком, может быть создано на любой дороге, указанной в road4Source , а затем перейти к другомуДорога указана в блоке moveToRoad2 , а затем будет уничтожена / удалена / отброшена при достижении блока endOfRoute .
Однако, поскольку транспортное средство может выбрать маршрут для себяЯ знаю только Источник и Пункт назначения автомобиля и не уверен, по какому маршруту он пойдет.Таким образом, количество блоков MoveTo в идеале должно быть динамическим.
Учитывая это, можно ли повторно использовать блоки MoveTo (рассмотрим это как цикл while)чтобы транспортное средство оставалось в блоке MoveTo до тех пор, пока не достигнет Пункт назначения (определенная дорога в моем случае)?
Примерно так:
![enter image description here](https://i.stack.imgur.com/bydnQ.jpg)
Так что в аргументе Road moveToRoad2 я могу указать что-то вроде (может быть неправильно только для иллюстрации):
car.getRoad() == car.destination ? endOfRoute : car.getRoad()
, где car.getRoad()
будет возвращать дорогу, по которой автомобиль хочет ехать, и если она будет равна месту назначения автомобиля, то будет идти блок endOfRoute .
РЕДАКТИРОВАТЬ 1
Теперь я понимаю, что при наличии двух подключений к одному порту AnyLogic выдаст ошибку:
Выходной порт можетНе подключайтесь к нескольким входным портам.
Так есть ли другой способ добиться того, чего я хочуделать здесь?