Anylogic отправляет новый заказ с помощью getnearestagentbyroute

Центры распределения (агент) отправят заказ на работу в производственные центры (агенты в нескольких местах на карте ГИС)

У агента по распространению я добавил коды ниже

TestOrder testorder = new TestOrder (this); 

// "это" расположение агента распространения

send (testorder, getNearestAgentByRoute(main.manufacturingcenters)); 

// отправляем тестовый заказ ближайшему агенту

Затем я настроил "вход" в агент производственного центра с типом агента TestOrder.

Однако в моделировании нет ввода, и в приведенном ниже коде отображается ошибка.

send (testorder, getNearestAgentByRoute(main.manufacturingcenters)); 
1
0
122
1

Ответы 1

  • "this" - это агент распространения, а не расположение агента распространения ... testOrder(this) означает, что ваш агент testOrder имеет параметр, который является агентом распространения .. это правильно? В противном случае у вас есть проблема ... Я предполагаю, что testOrder - это тип агента, иначе вы не сможете ничего отправить с помощью функции отправки.
  • В конце send (testorder, getNearestAgentByRoute(main.manufacturingcenters); отсутствует скобка. Это одна из причин, по которой вы получаете сообщение об ошибке.
  • Если у вас есть элемент ввода из библиотеки моделирования процессов, для создания агента в блоке ввода необходимо выполнить enter.take(agent);.

Спасибо за ответ! Я настроил систему, как вы упомянули в пунктах 1 и 2. Я получил это сообщение об ошибке «Производственные центры не могут быть преобразованы в переменную»

Hello-experts 11.04.2018 14:23

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

Felipe 11.04.2018 14:31

производственные центры - это совокупность агентов, созданная GISpointcollections. хм ,,, симуляция работает безупречно, но только тестовый заказ не фиксируется в производственном центре. Я посмотрю и обновлю, если будет что-то еще Спасибо!

Hello-experts 11.04.2018 14:54

Другие вопросы по теме