OR-Tools 作业车间问题中的平均等待时间目标

问题描述

我使用 Google OR-Tools(在 job shop problem 之后)实现了一个灵活的 this example,其中随着时间的推移提交作业,目标是最大限度地减少作业的平均等待时间(或等效地,等待时间的总和),而不是 makespan。 按照示例的代码,我将我的定义为:

model.Minimize(sum(job_starts))

其中 job_starts(定义与示例中的 job_ends 类似)包含与作业开始时间对应的变量列表。 请注意,从技术上讲,我正在最小化开始时间的总和,但由于到达时间的总和是常数,因此它应该等效于最小化等待时间的总和。 我还为每个“开始”变量添加一个约束,以确保它大于相应的到达时间。 虽然上述方法有效(它产生了预期的结果),但它似乎比具有 makespan 目标的相应问题慢得多(3 个数量级)。这是正常的(平均等待时间目标本质上是“更难”的)还是我以次优的方式定义它(可能是由于缺少 sum 方法而使用了 addSumEquality在 OR 工具中?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)