Как использовать «ждать» в anylogic? - PullRequest
0 голосов
/ 19 марта 2019

У меня есть фондовый агент, созданный в конце моей производственной линии. Мои продукты характеризуются их моделью. Я пытаюсь создать логику, чтобы вывезти продукты у этого биржевого агента, когда они будут доставлены клиенту. Эта доставка контролируется таблицей Excel, и я беру информацию через SQL-код. Однако я не смог найти правильный код, чтобы вывезти товары, которые должны быть доставлены. Моя группа агентов называется ProdutoStock, и она находится на моем главном экране.

Я пробовал: Main.remove_ProdutoStock() но я не смог выяснить аргументы, которые мне нужны для этой функции, так как я должен вынуть из агента определенное количество агентов, а также конкретной модели.

Итак, я решил создать блок ожидания и использовать функцию free для освобождения определенных агентов, которых я хотел main.waiting_delivery.free(), но я также не могу найти необходимые аргументы для этой функции.

Может ли кто-нибудь иметь представление о том, как я могу исключить из своего агента / линии продукты, которые мне нужно доставить для моего клиента (с учетом качества и модели)? Этот код не вводится на моем главном экране.

1 Ответ

1 голос
/ 20 марта 2019

аргументом свободного метода является сам агент.

Так что вам нужно сделать main.waiting_delivery.free(yourAgent);

Если вы хотите освободить последнего агента, который вошел в блок ожидания:

if(main.waiting_delivery.size()>0)
    main.waiting_delivery.free(main.waiting_delivery.get(0));

Если вы хотите освободить агентов после определенного условия

List <YourAgent> theAgents=findAll(main.yourAgentPopulation,a->a.condition==true);
for(YourAgent a : theAgents){
    main.waiting_delivery.free(a);
}
...