ORTools作业车间问题的平均等待时间目标

2024-06-01 11:53:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用Google或Tools(在{a2}之后)实现了一个灵活的{a1},其中作业随时间提交,目标是最小化作业的平均等待时间(或等效地,等待时间的总和),而不是{a3}。 按照示例代码,我将我的定义为:

model.Minimize(sum(job_starts))

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


Tags: 方法a2示例目标定义a1google作业