当前位置: 首页 > 知识库问答 >
问题:

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

庞书
2023-03-14

我正在解决一个作业车间调度问题,我有20个作业(代理)和5台机器(资源),每个作业作为访问机器的特定顺序。我的问题是:我如何确保每个作业都遵循它的顺序。

这就是我所做的。一个称为“作业”的代理和5个代理,每个代理对应一台机器。一个与每个服务块相关联的资源池。在集合enterblocks中,我选择了5个enter块。

在代理“jobs”中,我有这个。从数据库文件读取的与每个作业相关联的参数,以及我在其中选择机器(1、2、3、4、5)参数的集合“enternames”,以及我在其中放置作业处理时间的集合“ptimes”(这两个集合是我不确定是否正确完成的)

我的数据库文件

我不知道如何使用这里使用的计数器如何在任何逻辑中存储车间生产中的工艺路线。在前面的链接中,getNextService函数用于出口块,但由于计数器的原因,我也不确定如何在我的示例中使用它。

共有1个答案

邹书
2023-03-14

首先,确认基于作业代理和数据库视图,数据库中的第一行将产生一个作业代理,其值如下:

  1. machine1=1和process1=23
  2. machine2=0和process2=82,依此类推

如果这就是目的,那么更好的方法是重构数据库,因此有两个表:

  1. 作业到机器序列的表如下所示:

 类似资料:
  • 资源路由 支持设置RESTFul请求的资源路由,方式如下: Route::resource('blog','index/blog'); 表示注册了一个名称为blog的资源路由到index模块的Blog控制器,系统会自动注册7个路由规则,如下: 标识 请求类型 生成路由规则 对应操作方法(默认) index GET blog index create GET blog/create create s

  • 我用AnyLogic创建了一个简单的模型(见截图)。现在我想添加一个条件,选择服务块中的两个资源集中的一个。例如,以下场景应适用:如果队列中有5个以上的部件,工作人员3和工作人员4应执行服务。如果有的话

  • 在一个AnyLogic项目中,在“抓住”块中,我需要从资源集中自定义地选择资源。在“抢占”的属性选项卡中阻止字段“resource Sets”,选中值和标志“Customize resource Choice”。在“资源选择条件”代码部分,我需要做出如下选择: 我如何检查一个资源单元是否来自给定的资源池,然后根据资源的特性区分它们?谢谢你。最诚挚的问候。

  • 我试图创建一个Seize块,根据通过该块的代理类型,从不同的资源池中进行选择。 我的第一次尝试是在抓取块中创建资源集参数的动态引用,如图所示: 资源集中动态值的图像 其中Extensibles和Camabajas3e是资源池的名称。 但我得到了错误:“类型不匹配:无法从ResourcePool转换到ResourcePool[] 我的第二次尝试是将两个资源池都包括在列表中,而是使用参数“资源选择条件

  • 我希望源%1的代理使用tool1和tool2。为了实现它,我应该在抓住块中编写什么代码? 如图所示

  • 我尝试过使用“自定义资源选择”和“资源选择条件”,但没有奏效。