【问题标题】:Google's Ortools - Set Objective FunctionGoogle 的 Ortools - 设置目标函数
【发布时间】:2018-02-02 23:35:20
【问题描述】:

我正在尝试使用 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)

【问题讨论】:

    标签: python or-tools


    【解决方案1】:

    为记录作答。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多