微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决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 举报,一经查实,本站将立刻删除。