optimization - 作业车间调度问题中的设置时间
问题描述
我正在研究将 google or-tools 应用于调度问题。我对cp_model
api 非常满意,但它似乎仍然缺少一些仅在车辆路由模块中可用的功能pywrapcp
。
这是使用cp_model
官方页面上可用模块的程序的基本示例:https ://developers.google.com/optimization/scheduling/job_shop#entire-program
我的问题是:是否有可能在上面的代码中引入设置时间维度,就像我们在这样的常规 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 但是,它似乎只适用于一台机器。
解决方案
有 3 个示例来描述设置时间:
推荐阅读
- javascript - lit-html:连接字符串以使用 html``
- python - 如何从 javadoc 注释中删除 { 和 } 之间的 @link 标记及其内容?
- highcharts - Highchart 地图显示了一些已选择的状态,并具有选择其他状态的可行性
- javascript - 如何使用 fetch 发送数组?(Javascript)
- c# - 解释一些关于动态连接字符串的代码
- android - 在 genymotion 设备中运行时膨胀类 androidx.constraintlayout.widget.ConstraintLayout 时出错
- html - 如何摆脱自动填充html?
- dll-injection - 如何从我的 VSTS MSTest 管道中的另一个管道使用 VSTS 工件 DLL
- codeception - 如何修复代码接收中的此 DEPRECATION 错误?
- latex - 乳胶只写到页面中间