【问题标题】:How to define a specific agent of a population of agents in AnyLogic?如何在 AnyLogic 中定义一组代理中的特定代理?
【发布时间】:2020-04-26 22:23:42
【问题描述】:

我有一组“乘客”代理,其中每个代理都向另一个“机场”代理发出请求(“OrderPassenger”代理类型)。此时,“机场”代理必须通过“AirportSuggestion”代理响应请求,并将其发送给“乘客”人群中的特定“乘客”。

我尝试使用: 发送 (airportSuggestion, main.passengers (orderPassenger.passenger)); 但是 orderPassenger.passenger 不是整数类型。

我尝试使用: 发送 (airportSuggestion, main.passengers (0)); 但并不是说乘客(0)是提出请求的人。

选择向“机场”代理提出特定请求的特定代理的方法是什么?

代理人群体中的代理人是否有一个识别号来识别它?

【问题讨论】:

    标签: agent anylogic population


    【解决方案1】:

    最简单的方法是让您的乘客代理成为正在发送的消息。

    因此,Passenger 使用 send(this, someAirport) 将自己发送到机场。机场做到这一点,并使用局部变量或直接在“收到消息”代码框中记住乘客,在该代码框中使用“发件人”关键字可以访问乘客(查看这些工作原理here)。

    干杯

    【讨论】:

    • 那么Airport如何向发件人发送响应?乘客向机场提出请求(通过输入代码 send(this, main.airport),然后机场响应该特定乘客提出的特定请求。一旦收到机场的响应,乘客必须输入乘客状态图的特定状态。我创建了一个名为“乘客”类型的“发件人”变量,但它没有填充。
    • 好吧,使用局部变量,在消息到达时分配它们,并在再次发送消息时使用它们。请检查一些示例模型或创建一个新的特定问题来解决您的新问题(否则这里会变得过于复杂)。
    猜你喜欢
    • 2021-04-08
    • 2014-09-17
    • 2018-10-19
    • 2022-01-23
    • 2021-05-08
    • 2021-09-10
    • 2018-04-16
    • 1970-01-01
    • 2021-03-09
    相关资源
    最近更新 更多