- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
股票初始值为 1
流量为0.1
Stock1 初始值为 0。
当我运行模拟时,我意识到股票的值(value)低于 0(获得负值)。当 Stock 的值达到零时如何停止流动。
最佳答案
一个应该有一个非常明显的答案的问题,但没有。
首先也是最重要的:没有选项可以设置为将 0 定义为库存的最小值,因为无论如何流量都会继续想要从库存中获取,所以您必须做的是在什么时候改变流量股票为 0(或接近 0)。
记住系统动力学是一种连续模拟技术,因为它使用步骤,所以它并不完美......所以我将向您展示两种可能的技巧来做到这一点
技巧一:
这个技巧会给你一个接近零的不精确数字,但它总是足够好:
轻松,在流程中,输入以下公式:
stock-(getEngine().getNextStepTime()-time())*0.1<0 ? 0 : 0.1
getEngine().getNextStepTime()-time()
将告诉您下一次迭代的时间步长(计算每次迭代的任何逻辑更改所使用的步数的数值方法,因此您必须这样做)。我将时间步长乘以 0.1,因为这是您选择的流速。流量从不为0.1,实际值为0.1*(时间步长)/(时间单位)。在这种情况下,时间单位是 1 秒,所以我除以 1,所以我不需要放置那个除法。
flowrate
在公式
stock<=0
flowRate=0;
stock1=stock1+stock;
stock=0;
关于Anylogic 系统动力学 : Stock capacity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49818546/
如何从其中一个 Java 代码输入窗口获取路径 - 字符串 - 文件引用,以指向 Anylogic 模型在磁盘中的位置? 我担心这可能是不可能的,因为执行是从包含 AL 生成的类的生成的 BUILD
我想为用户提供一个按钮,允许他们在模拟中向前跳过 1 小时,然后在单击“播放”时继续运行模型。下面的代码允许用户向前跳过一个小时,但是当单击“播放”时他们无法恢复模拟。 double nextHour
我想为用户提供一个按钮,允许他们在模拟中向前跳过 1 小时,然后在单击“播放”时继续运行模型。下面的代码允许用户向前跳过一个小时,但是当单击“播放”时他们无法恢复模拟。 double nextHour
Anylogic Process Modeling Library 中很少有像“Source”这样的 block 具有“On exit”和“On at exit”这样的操作。两者有什么区别? 我试图创
我不想计算队列的大小,而是想识别每个队列中的不同对象,以便将它们与平均处理时间相乘,然后获得队列中的时间。 我试图通过使用 queue.get(index) 函数来识别队列中的不同对象,但我无法确定该
我正在为生产线构建仿真模型。每天有两个类次(早类和夜类,各 12 小时)。在每个类次内, worker 被分成 4 组,每组在交错的时间休息(例如,4 名 worker 在早类,第一名 worker
我正在使用 Anylogic 行人库中的 PedGoTo block 将行人引导至最近的导出 (TargetLine)。但是由于行人和导出之间有墙,我不能只计算直线距离。在 PedGoTo Anylo
我有一个问题,我想在我的模型中向运输车队添加电池信息。想想当电池电量低于 30% 时,AGV 在完成任务后移动到最近的充电站并停留在那里,直到电池电量高于一定水平。 所以我想在运输车队的代理类型中添加
我是 AnyLogic 的新手...但它让我发疯!!! 这是非常基本的...在 AB 模型中,我希望一定比例的代理从一种状态转到另一种状态...但它发生了一些我无法理解的事情:S 我有 1000 个代
我正在构建一个超市模拟,其中客户(代理人)步行到不同的地点(目标行),然后使用步行图书馆去结账(Ped 服务)。 当代理被发送到 Ped 服务时,他们将根据设置选择服务的队列行之一,例如。最近的队列。
有什么方法可以获取 AnyLogic 模型的时间消耗曲线? 我看到了this question来自 Dylan,他在那里做了某种方法分析:它是来自 AnyLogic 实习生工具还是来自外部?如何为我的
我正在从 Arena 迁移到 AnyLogic,并且对发行版有疑问。我需要根据某些代理参数使用不同的分布。我在这里看到了建议,但是分布的数量太多了,我不想对它们进行硬编码。 How to associ
我有一个在生产线末端创建的库存代理。我的产品以其模型为特征。我正在尝试创建一种逻辑,以便在将产品交付给客户时从该库存代理中取出产品。此交付由 excel 表控制,我通过 SQL 代码获取信息。但是,我
对于托盘架系统的模拟,我想用代理预填充该系统(例如,给定 80% 的填充等级)。在预填充之后,盒子应该由不同的源 block 产生。 我认为理论上我可以使用命令 palletrack.put(int
我在工作中继承了一个任意逻辑模型。这是我第一次接触anylogic。几乎没有文档,所以我尝试剖析生成的代码以了解发生了什么。 有一件事一直出现:_xjal 它出现在变量、成员和方法名称中 - 如 _r
我在 AnyLogic 资源方面遇到了另一个小问题。 我希望能够从资源池中释放特定资源 - 而不仅仅是池中的任何资源。原因是我偶尔会从资源池中获取多个资源(一次一个),然后希望一次一次再次释放这些资源
我有一个基于代理的模拟,其中有一个名为 collection_dailyInfection 的集合其中每天都会出现新感染的数量。该集合看起来有点像这样: 第 1 天:0 第 2 天:3 第 4 天:3
祝大家平安 假设我有以下流程:2个不同的源、队列、延迟和接收器。我有一个名为“患者”的代理人。 我的目标:为来自第一来源的患者(使用百分比)提供不同的服务率(延迟时间)。换句话说,我想要例如; 10%
我有一个服务 block ,可以从两个资源池之一获取资源。在该 block 中操作的“抢占单元”部分,我想确定代理来自哪个资源池。 我尝试为资源池创建一个定制代理类型,该类型可以附加一个变量,然后我可
可以在等待 block 中更改内部队列行为吗? 该元素不是将代理保存在标准队列中,而是保存在 HashMap 中,以便事件处理程序中的代码可以以较低的代码复杂性执行搜索? 我发现的解决方案是使用迭代器
我是一名优秀的程序员,十分优秀!