问题标签 [anylogic]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
anylogic - 如何在 AnyLogic 中的一组代理中实现随机性?
我正在尝试实现一个模型来模拟社区的发展。所以我有一个有社区人口的城市,每个社区都有房子人口。我遇到的问题是找到一种方法,以不同的时间和不同的速度开发房屋(社区)。我是 AnyLogic 的新手,任何帮助将不胜感激。谢谢。
anylogic - 以编程方式获取磁盘中的 Anylogic 模型路径
您如何从 Java 代码输入窗口之一获得对 Anylogic 模型在磁盘中的位置的路径 - 字符串 - 文件引用?
我担心这可能是不可能的,因为执行是从包含 AL 生成的类的生成的 BUILD 文件夹中进行的,但是可能有一种方法可以通过变量将此信息向下传递,以使其在运行时可用...
到目前为止,我只设法通过(从主代理)获得由 AL 生成的这些类所在的文件夹:
traceln(this.getClass().getProtectionDomain().getCodeSource().getLocation());
anylogic - 在任何逻辑中计算给定时间段的事件
我想绘制一组特工中每年发生的事件(例如犯罪)的数量。这不是计算使用状态图的状态中的人口,而是我在具有速率x的转换的“动作”字段上记录的事件(例如,crime = crime + 1;
)。因此,一名特工可能在一年内犯了 5 次罪行,另外 7 次,依此类推。
crime = 0;
我尝试每年重置犯罪变量 ( ),但情节从零变为某个数字,再次变为 0,再次跳到另一个数字,依此类推……
有任何想法吗?
anylogic - 两个“并行”过程的状态图定义
我试图定义两个独立但相关的过程,犯罪生涯和犯罪执法(监禁)。这是一个图表:
- 只有当特工已经通过内部过渡开始了他的犯罪生涯时,才会犯罪。停止(远离犯罪)是在代理人被监禁时可能发生的最终状态(这就是为什么我将这个问题定义为两个独立的过程)。
- 当犯罪发生(内部转变
commitCrime
)时,变量committedCrime
设置为true
。commitCrime
过渡具有看守,因此this.ImprisonmentStateChart.isStateActive(Free)
如果被监禁,代理人就不能犯罪。 - 每次犯罪时,都会从状态 Free: 评估条件转换
this.committedCrime == true
。一旦入狱,特工最终将被释放。
我的问题是commitCrime
回到 Free 状态后没有重新启动转换。这个想法是在触发commitCrime
后重新启动转换releaseFromPrison
,但我还没有找到如何使用 Anylogic 7 来完成。
有任何想法吗?
modeling - 如何在任意逻辑状态图之间发送信号?
我正在准备系统建模考试,在老师给我们的任务中发现了一个奇怪的任务。它应该在 Anylogic 5 中完成。
“将 2 个状态图添加到模型中。将信号从一个发送到另一个”
我该怎么做?我们在实践课上从来没有做过这样的事情,但我没有发现关于在 STATECHARTS 之间连接和发送东西的信息,只在状态图本身内部的状态之间。
感谢您对此的任何帮助。
process - anylogic,流程建模库:split. 如何设置和引用代理副本的属性?
我想在流程模型中使用拆分块,以便它创建具有相同参数的传入代理的副本。
我所做的:声明一个函数 SetupCopy(agent, original),输入参数 agent(即副本)和 original(即传入代理)。该函数将相关参数设置为agent.someBooleanParameter = original.someBooleanParameter。该函数在“退出副本:SetupCopy(agent, original)”中的拆分块中调用。
问题:在拆分块的outCopy端口之后,我使用了一个带有设置的selectOutput块选择真输出:如果条件为真:agent.someBooleanParameter我希望这个参数等于原始代理的各个参数。但是,输出块始终将参数评估为 false。
我已经尝试通过设置 On exit(false): System.out.println(agent.someBooleanParameter); 来获取参数控制台的输出。
如果原始代理的参数为真,则控制台上的输出也为真,尽管选择块通过假端口退出。让我很困惑。我的错误是什么?
谁能帮助我如何设置代理复制实例的参数并正确引用参数?
谢谢
conditional - 在 Anylogic 中编写停止条件
我是anylogic的新手,我想为模拟编写一个停止条件,然后保存最终值:我有一些库存和流量,我希望当我的一个库存值达到特定值时,模拟停止然后保存所有值;
- 我应该在哪里写条件?
- 在这种情况下停止模拟的语句是什么?
- 如何保存值?
谢谢 :)
sum - 在anylogic中计算流的所有值
我正在用任何逻辑编写一个经济项目。我想将两只股票之间流动的所有资金相加,实际上我需要将模拟期间流动获得的所有值相加,直到特定条件,我该怎么做?
谢谢
java - 当代理类型与anylogic中资源中的先前代理类型不同时,如何执行自定义任务?
我正在使用 AnyLogic 7 构建多产品制造系统。
有多个资源池,每个资源池都有不同数量的资源。有多种类型的产品 - 具有各种参数的代理,其中一种是 ProductType (String)。
每当特定资源更改其正在运行的代理类型时,我都会尝试执行设置任务(包含延迟)。
如果给定资源刚刚完成了 A 类产品的操作并收到 B 类产品进行操作,它应该执行设置任务(工具包转换)。
我尝试过使用自定义任务,但触发器仅基于时间或时间表。
关于如何执行此类功能的任何想法?
先感谢您,
路易斯