NetLogo中的离散事件调度:在某些特定标记上执行某些命令

NetLogo中的离散事件调度:在某些特定标记上执行某些命令,netlogo,Netlogo,我的代码有一个条件: if ticks = 10^7 [ do-something ] 现在,这个条件在每个刻度上都会被检查,尽管我确切地知道何时必须执行该命令。这可能会减慢我的代码速度。“按时间:go”命令正是这样做的。我使用的时间扩展命令是: time:schedule-event patches task do-something 1000000 但这是一个错误: Extension exception: Attempted to schedule an event

我的代码有一个条件:

    if ticks = 10^7 [ do-something ]
现在,这个条件在每个刻度上都会被检查,尽管我确切地知道何时必须执行该命令。这可能会减慢我的代码速度。“按时间:go”命令正是这样做的。我使用的时间扩展命令是:

     time:schedule-event patches task do-something 1000000
但这是一个错误:

Extension exception: Attempted to schedule an event for tick 999999.0 which is before the present 'moment' of 1000000.0
error while observer running TIME:SCHEDULE-EVENT
   called by procedure GO
   called by Button 'go'

我有什么遗漏吗?或者有没有其他有效的方法可以在特定的时间点安排某个事件,而不必检查每个时间点的时间点状况

如果这看起来像是时间延长中的错误,请将其发布到 告诉我们在哪里可以找到你的代码。 (或者发电子邮件给我。)
Steve R.

不确定您的
time
扩展命令发生了什么(我想我们需要查看更多的代码来调试它),但有一件事我可以告诉您:如果ticks=10^7[做点什么]这样的命令,不要担心性能成本。它基本上是即时的。如果你担心你的模型的性能,使用扩展;它会告诉你真正的瓶颈在哪里。