如何在 Anylogic 的作业车间生产中存储工艺路线 [英] How to store routings in job shop production in Anylogic

查看:38
本文介绍了如何在 Anylogic 的作业车间生产中存储工艺路线的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I have a production model were the orders (agent population) run different stations. For each order the used stations and its sequence can be different. There are 12 different combinations of these stations. One random possibility should be assigned to the order.

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

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

What I already tried was to use the Excel Interface, but as I later want to combine different possibilities to a longer list (about 50 possibilities combined with each other) Excel seems not the best way to do it.

我确定这不是一个非常困难的问题,但我找不到任何相关信息.提前致谢!

I’m sure this is not a super hard problem, but I couldn’t find anything about it. Thanks in advance!

推荐答案

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

Hopefully I understand your question, so here it goes. The following is the model I propose: Here the example has 3 stations (services). You put all the enter blocks in a collection called enterBlocks and all the names of the enter blocks on a collection called enterNames... so if you use excel, you can have in your excel the enter block names and initialize your enterNames collection in the beginning of the model by reading the excel. Each agent will probably have a different collection so the collection should be inside the agent, but here I'm just simplifying.

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

Then you use a counter (initial value 0) and a function called getNextService that will exist in each one of the 4 exit blocks. This function will choose the next station to use:

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
}

这篇关于如何在 Anylogic 的作业车间生产中存储工艺路线的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆