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

在Anylogic中将一个代理移动到另一个代理中

吴正祥
2023-03-14

共有1个答案

羊毅庵
2023-03-14

我希望你已经解决了差不多一年前的问题。但是,由于没有具体的答案,我就把它留在这里给那些可能会被同样的问题卡住的人。

AnyLogic的Process Modeling Library(PML)有一个名为Pickup的元素和它的对立面Dropoff。这是用来完成您所要求的任务的:将某些元素装入运输工具(可以是卡车、叉车,甚至是人)。

队列元素是保持元素直到拾取发生所必需的。拾取元素可以以三种模式拾取元素:

  • 给定条件为true时;
  • 确切数量(如果可用);
  • 所有可用代理。

我想所有的卡车都必须装满它的最大容量。因此,选择的模式将是第二个模式,其中的确切数量将是卡车容量,一个代理卡车的参数。所选模式可提取所需数量的代理(在本例中为香蕉)。但是,如果没有可用的东西或者当前的数量低于所需的数量,那么Pickup块的本机行为是允许容器元素简单地通过它并只选择可用的东西。

为了防止这种行为,我创建了一个禁区,一次只能有一辆卡车。此外,保持块WaitFullyLoaded(设置为初始阻塞)强制容器代理卡车满载。每当一个香蕉进入队列等待卡车时,就会执行一个验证,以检查是否可以装满1辆卡车。如果是,则允许该卡车通过:

if(self.size()/TruckCapacity>=1){
    WaitFullyLoaded.unblock();
}

若要再次阻塞WaitFullyLoaded,当卡车通过restrictedAreaEnd块时,它将执行WaitFullyLoaded.block();

大意是这样的。但是,许多特性是可以添加和更改的。

希望这有帮助,

 类似资料:
  • 谁能帮助我如何创建一个新的代理人,并将其链接到旧的,以治愈人民? 多谢!

  • 在我的AnyLogic模型中,容器代理在主代理中移动到不同的位置。 Main包含位于特定位置的多个块代理实例。Block包含一台多桥桥式起重机,该起重机应能捡起集装箱并将其运至当地仓库。 当容器被放置在块的起重机范围内的吸引器处时,块内的一个进程被调用。此进程包含入口、移动起重机和出口块。在移动起重机块中,在抓取步骤中,AnyLogic给我以下错误: 所有块代理都位于main中的不同坐标处。它们各

  • 我想在AnyLogic中建模一个双深托盘架,它包含两种类型的代理:小盒子和大盒子(扩展gereral代理“盒子”的两种不同的代理类型)。这里我有一个关于进出托盘架的运动的问题: 我需要我的车辆/移动资源能够在同一时间从产卵到托盘架移动1个大或2个小箱子(或如果需要的话只移动1个小箱子),并在一段时间后从那里到despawn。我的问题是我不知道如何告诉资源同时接收两个代理,如果可能的话。有办法解决这

  • 但运气不好。有什么想法吗?这有意义吗?

  • 如何从代理中引用Main 我有一个由1个代理组成的资源池,在Main中移动项目。在那里,使用过程建模库对过程进行建模。代理既不进入也不退出流程模型,而是无限期地运行<现在,我想向我的代理添加一个状态图,在该状态图中,我想测试代理是否主要到达某个队列块。然而,我不能从我经纪人的状态图中引用Main。“get\u Main()”和“Main”都不起作用,因为我也没有带Main的箭头(我在参考模型上看到

  • 假设所有具有分区的前导和副本的节点都崩溃,并且节点不可恢复。 如何选举另一位Kafka经纪人作为该分区的领导人?(我对数据丢失感到满意) 我尝试了“kafka preferred replica election.sh”和“kafka reassign partitions.sh”,但没有成功。 设置: 两个节点kafka集群,代理ID为10和11。 具有副本因子1和分区1的主题测试。Broker