我正在尝试使用 ortools 为作业车间问题设置自定义目标函数,但我对如何实现它感到困惑。我正在尝试将所有工作的迟到最小化,但是我不确定如何创建一个迟到系数来最小化。
我的理解是,我需要创建一个具有范围的 intvar 才能进入目标监视器。这个对吗?如果是这样,任何人都可以指出如何创建它的方向吗?我目前的目标是获取一系列到期日期,并将其从每个作业的最后一次操作的结束时间中减去,我只是不确定如何将其输入求解器。
以下来自谷歌教程:
obj_var = solver.Max([all_tasks[(i, len(machines[i])-1)].EndExpr()
for i in all_jobs])
objective_monitor = solver.Minimize(obj_var - obj_end, 1)