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

Posted

技术标签:

【中文标题】如何在 Anylogic 中存储作业车间生产中的路线【英文标题】:How to store routings in job shop production in Anylogic 【发布时间】:2020-05-26 06:34:39 【问题描述】:

我有一个生产模型,订单(代理人口)运行不同的站点。对于每个订单,使用的站点及其顺序可以不同。这些站点有 12 种不同的组合。应为订单分配一种随机可能性。

如何在我的 Anylogic 模型中存储和分配这些可能性?哪种数据类型最适合?

我已经尝试过使用 Excel 界面,但后来我想将不同的可能性组合成一个更长的列表(大约 50 种可能性相互组合)Excel 似乎不是最好的方法。

我确信这不是一个超级难的问题,但我找不到任何关于它的信息。提前致谢!

【问题讨论】:

这确实是一个问题。请检查***.com/help/how-to-ask 并将您的一般“我如何做X”问题分解为单独的问题。你会更容易得到好的答案;-) 【参考方案1】:

希望我能理解您的问题,所以就这样吧。以下是我提出的模型: 这里的示例有 3 个站(服务)。您将所有输入块放在一个名为 enterBlocks 的集合中,并将所有输入块的名称放在一个名为 enterNames 的集合中......所以如果您使用 excel,您可以在您的 excel 中包含输入块名称并在通过阅读excel开始模型。每个代理可能会有不同的集合,因此集合应该在代理内部,但这里我只是简化一下。

然后您使用一个计数器(初始值为 0)和一个名为 getNextService 的函数,该函数将存在于 4 个退出块的每一个中。此功能将选择下一个要使用的站点:

if(counter>=enterBlocks.size())//if the agent is done with all the stations
    end.take(agent); // take the agent to the exit
else
    Enter enter=findFirst(enterBlocks,e>e.getName().equals(enterNames.get(counter)));//find the enter block with the correct name
    enter.take(agent); //take the agent to the correct station
    counter++; //update your counter

【讨论】:

感谢 Felipe,这是我的问题的一部分。但是,如果数据库不能使用 Excel,我可以用什么来填充集合。 Anylogic中是否有可以直接使用的东西? 我不是向导,无法猜测您想要做什么或为什么您无法使用 Excel 或数据库。我实际上在示例中为您明确创建了集合。所以请尽可能清楚地解释为什么这些集合对您不够好,或者为什么 Excel 或数据库对您不够好... 我有 6 个站点(称它们为 A、B、C、D、E 和 F)这些可以以 11 种固定方式组合(如 1:ABC,2: ABCDEF,3:BECF……)。对于订单,11 种可能性 随机组合 40 到 60 次。结果将是成千上万种不同的组合方式,我认为在 Excel 中我需要分别写下每个长组合列表。所以我需要一个选项来存储 AnyLogic 中的 11 种可能性,以便以后编写一个 Java 脚本,从这些可能性中创建一个随机路由。 制作 11 个集合...然后随机选择(或非随机)这些集合中的任何一个...您可以在 Excel 中拥有 11 种可能性...我仍然没有看到您的问题

以上是关于如何在 Anylogic 中存储作业车间生产中的路线的主要内容,如果未能解决你的问题,请参考以下文章

通过anylogic中的特定资源路由代理

Anylogic,如何动态更改生产批次的大小?

Anylogic-构建资源池利用率的时间彩图

Anylogic:如何生产各种产品?

如何在anylogic中模拟期间动态更改资源池的班次组大小?

如何在 Collection anylogic 中创建多维数组?