【问题标题】:How to use the vehicle inState command in AB modelAB模型中如何使用vehicle inState命令
【发布时间】:2019-02-13 15:34:34
【问题描述】:

在具有 GIS 模型的供应链中,我正在尝试使用以下事件在工厂和零售商之间使用主要事件来计算行进距离。我收到此错误消息:

The method Instate( Vehicles. statechart_state) is undefined by the state T

这是什么意思?

还有其他方法可以计算设施之间的总距离吗?

我尝试了DistanceByRoute(agent),但没有得到任何输出。

Vehicles vehicles = getRandom(filter(vehicles, v -> v.inState(Vehicles.AtRetailers) ) );if (vehicles != null) {send("go", vehicles);}

【问题讨论】:

    标签: anylogic


    【解决方案1】:

    错误消息暗示您的代码正在检查代理状态。试试这个:

    Vehicles vehicles = getRandom(filter(vehicles, v -> v.mySDtatechart.isStateActive(Vehicles.AtRetailers) ) );
    

    其中“myStateChart”是您的 Vehicle 代理类中的状态图,“AtRetailers”是您在 myStateChart 中检查的状态。

    【讨论】:

    • 谢谢本杰明,它成功了。我实际上正在寻找一种计算旅行距离的方法,这最终将有助于计算供应链 GIS 模型中的运输成本。尝试了 distanceByRoute (不起作用),发现我可以使用日志文件来获取距离。有没有更好的方法来计算带有 GIS 的 AB Anylogic 模型中的行驶距离?
    • 很高兴它成功了,那么请将此问题标记为已回答。最好单独发布您的新问题,以便其他人将来也可以从中受益?
    猜你喜欢
    • 1970-01-01
    • 2016-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-12
    相关资源
    最近更新 更多