python - 使用 OR-Tools 的作业车间问题的平均等待时间目标
问题描述
我使用 Google OR-Tools 实现了一个灵活的作业车间问题(遵循此示例),其中作业随着时间的推移提交,目标是最小化作业的平均等待时间(或等效地,等待时间的总和),而不是的制造跨度。按照示例的代码,我将我的定义为:
model.Minimize(sum(job_starts))
其中job_starts
(与示例中的定义类似job_ends
)包含与作业开始时间相对应的变量列表。请注意,从技术上讲,我正在最小化开始时间的总和,但由于到达时间的总和是恒定的,它应该相当于最小化等待时间的总和。我还为每个“开始”变量添加了一个约束,以确保它大于相应的到达时间。虽然上述方法有效(它产生了预期的结果),但它似乎比 makepan 目标的相应问题慢得多(3 个数量级)。这是正常的(平均等待时间目标本质上是“更难”)还是我以次优方式定义它(可能是sum
由于没有addSumEquality
OR-Tools 中的方法?
解决方案
推荐阅读
- r - Matching elements of two vectors based on proximity
- node.js - Knex 和 Postgress 连接
- python - 当我已经拥有数据时,为什么我的列表分配索引超出范围?
- c - 在 c 编程中搜索文本文件中的项目
- java - 没有关闭插座的断管
- node.js - 如何向每个套接字连接发送消息(来自服务器)
- php - PHP 未从 Swift 接收 POST 数据
- hybris - 创建新扩展
- angular - Angular Instant Search - 基于 URL 参数更新 HTML 配置
- c# - 在 Telerik datepicker selecteddate 事件的 gridview 单元格中使用 jquery 进行访问控制