谷歌的Ortools - 设定目标功能

时间:2017-08-25 00:00:24

标签: python or-tools

我正在尝试使用ortools为工作车间问题设置自定义目标函数,我对如何实现它感到困惑。我试图尽量减少所有工作的迟到,但我不确定如何创建迟到系数以最小化。

我的理解是我需要创建一个带有范围的intvar进入客观监视器。它是否正确?如果是这样,有人能指出我如何创造它的方向? 我目前的目标是采用一系列截止日期,并从每个作业的最后一次操作的结束时间中减去它,我只是不确定如何将其提供给解算器。

以下是来自Google教程:

  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)

1 个答案:

答案 0 :(得分:1)

记录中的答案。

  1. 请使用CP-SAT求解器。
  2. 延迟是加权延迟示例(C ++)的实现。

https://github.com/google/or-tools/blob/stable/examples/cpp/weighted_tardiness_sat.cc