作业车间调度问题中的设置时间

时间:2019-08-25 11:26:43

标签: optimization or-tools

我正在研究Google或工具在计划问题上的应用。我对cp_model API感到非常满意,但似乎仍然缺少某些仅在车辆路线选择模块pywrapcp中可用的功能。

这是使用官方页面https://developers.google.com/optimization/scheduling/job_shop#entire-program

上的cp_model模块的程序的基本示例

我的问题是:是否可以像在常规的TSP问题中那样在上述代码中引入建立时间维度:

    def distance_callback(from_index, to_index):
        """Returns the distance between the two nodes."""
        # Convert from routing variable Index to distance matrix NodeIndex.
        from_node = manager.IndexToNode(from_index)
        to_node = manager.IndexToNode(to_index)
        return data['distance_matrix'][from_node][to_node]

    transit_callback_index = routing.RegisterTransitCallback(distance_callback)

    # Define cost of each arc.
    routing.SetArcCostEvaluatorOfAllVehicles(transit_callback_index)

找到的唯一接近的示例是以下示例:https://github.com/google/or-tools/blob/stable/examples/python/single_machine_scheduling_with_setup_release_due_dates_sat.py 但是,它似乎只能在一台机器上工作。

1 个答案:

答案 0 :(得分:0)