在Anylogic中通过消息发送和接收两个double

时间:2019-05-17 12:25:17

标签: message anylogic

我想以Anylogic模型从每个代理向其他具有两个参数的代理发送消息。当另一个代理在“通信”中收到消息时,请检查第一个参数。如果它通过一个条件,我们将以某种方式使用第二个参数,否则,我们将以另一种方式使用它。 例如:  X,Y和Z是代理的参数。

我在过渡中发送了一条消息。

并通过“与代理的连接链接”收到它

我想要这种情况:

如果发送方X>接收方X receiver.Z = receiver.Z + sender.Y;

如果发送方X <接收方X receiver.Z = receiver.Z-sender.Y;

所以我应该同时从一个座席向另一个座席发送X和Y。 但我无法以以下方式发送邮件: sendToAllConnected(X,Y);

你能帮我吗?

我使用以下代码(“ op”是代理参数):

    if(msg.op<this.op)                                                                                                                  
    this.op=this.op+msg; 
    if (msg.op<this.op) 
    this.op=this.op-msg; 

和此代码:

    if (sender.op<this.op) 
    this.op=this.op+msg; 
    if (sender.op<this.op) 
    this.op=this.op-msg; 

但是我有一个错误,指出op无法解决或不是字段。

1 个答案:

答案 0 :(得分:0)

发送对发件人对象的引用。不要尝试发送X和Y值。一旦发送了发送方对象,接收方对象就可以使用该消息对象(对发送方的引用)进行推理,并获得x和y的适用值。 enter image description here