【发布时间】:2023-02-20 19:30:54
【问题描述】:
我正在检查任何服务中是否有可供代理人使用的位置。
使用上面的代码我的模拟运行了一个小时然后卡住了。
当我从代码中删除提到的 if 条件(在下图中)时,模拟工作正常。
我认为这是因为 while 循环没有中断。让我知道是什么导致了这个问题。
【问题讨论】:
标签: simulation anylogic
我正在检查任何服务中是否有可供代理人使用的位置。
使用上面的代码我的模拟运行了一个小时然后卡住了。
当我从代码中删除提到的 if 条件(在下图中)时,模拟工作正常。
我认为这是因为 while 循环没有中断。让我知道是什么导致了这个问题。
【问题讨论】:
标签: simulation anylogic
你永远不应该编码while (true)。尽管您指定了中断条件,但这是一种不好的做法,因为您无法对其进行调试(正如您现在在这里所体验的那样:))。
最好完全避免 while 循环,只有在极少数情况下您才需要它们。
使用 for 循环或一些完全不同的设置重写您的代码。在您的情况下,您可能想为 rand 值尝试 switch 语法或简单的 if-else 逻辑。
【讨论】: