Anylogic:如何根据路线成本和代理选择创建每小时到达率计划?

Posted

技术标签:

【中文标题】Anylogic:如何根据路线成本和代理选择创建每小时到达率计划?【英文标题】:Anylogic: how to create an hourly arrival rate schedule based on route costs and agent choices? 【发布时间】:2022-01-23 20:25:47 【问题描述】:

我正在 Anylogic 中构建一个模型,客户在终端以起始小时费率(每小时不同)订购集装箱,我将其从数据库加载到时间表,然后让客户在每个终端以日程。当他们订购后,一辆卡车会将集装箱从码头运送到客户那里。

但是,我想为卡车提供每条可能的路线(直接或通过夜间开放的枢纽)一些费用(取决于一天中的时间和旅行时间)。根据这些成本,代理商选择走哪条路线以及(因为枢纽路线部分在晚上完成)旅行的时间。选择是:

直达(白天到达航站楼) 通过枢纽旅行(夜间到达航站楼)

因此,我想让每小时到达率时间表根据代理在计算后做出的选择而改变。有谁知道如何让到达率时间表(每小时不同)根据代理选择(基于路线成本)而变化?

提前感谢您的帮助! 亲切的问候, 艾拉

【问题讨论】:

我无法理解这个问题。 “选择一条可能的路线”和“订单到达率的变化”之间的联系尚不清楚。为什么?怎么样? @YasharAhmadov 感谢您的回答。我使用代理商拥有的两个选项编辑了问题。如果他们选择通过枢纽旅行,他们将不得不在晚上到达航站楼;因此每小时的订单率应该改变。我的解释现在清楚一点了吗? 我的理解是可以随时下单,但是您想更改(或决定)何时发货?也是因为您的卡车数量有限吗? 是的,我想让他们决定什么时候去交付集装箱(什么时候开车到码头,然后可能到枢纽,然后到客户)。我的卡车数量没有限制,但由于在码头有等待时间(一天中的不同时间不同),卡车可能想在晚上去那里。 【参考方案1】:

根据您的回答,您实际上不需要更改每小时订单费率表,而是需要选择何时将容器交付给客户。为此,将到达的订单放入队列中,并按照 FIFO 原则(或 LIFO,无论您为其分配哪个优先级)对其进行处理。

但如果您坚持使用不同的小时订单率,您可以使用以下方法。因此,如果您想在一小时内分配 10 个到达,您可以使用指数(10)作为到达间隔分布。请看下面的截图。我在模拟过程中动态更新变量trucks1,以在不同的时间有不同的到达次数。

【讨论】:

感谢您的回答!我同意订单率可能不必改变。而是开始实际交付的卡车的速度。我现在也有类似你照片的东西。但是,是否有可能让到达率分布取决于代理所做的选择?或者它总是必须在运行模型之前设置的分布? 不,您可以在模拟过程中动态更新它。在上面的屏幕截图中,您可以在 Interarrival timeRate 单元格中输入变量名称,这将更新 Source 块中的到达结构。 谢谢!我现在有了它,并且 Rate 单元格内的变量实际上是一个 Schedule,因为每小时的费率不同。但是现在我想让代理商决定(根据成本)是白天还是晚上送货,让他们改变到达率时间表。但我不知道这是否可能? (也许我必须多想一下我希望这件事如何发生) 您可以在模拟中的某个时间点停用此计划到达率,并用您的代理决定的任何计划覆盖。

以上是关于Anylogic:如何根据路线成本和代理选择创建每小时到达率计划?的主要内容,如果未能解决你的问题,请参考以下文章

Anylogic中以编程方式创建的GIS网络中的代理路由

如何在 Anylogic 中存储作业车间生产中的路线

AnyLogic——如何随机选择处于特定状态的代理

Anylogic:如何根据代理的参数在 ResourcePool 中对设置时间(工具更换)进行建模?

AnyLogic 如何以一定的概率从总体中选择代理?

如何确定anylogic中排队问题中服务时间和空闲时间的成本?