谷歌或工具强制分离/阻止某些位置连接?

问题描述

我成功地重新创建了 pickup and delivery vehicle routing problem,但我想添加一个额外的约束,但我在任何地方都找不到如何实现它:我希望我的车辆在取货后始终返回仓库。如何强制执行此约束?似乎如果我添加一个析取,那么求解器最终可能不会交付到特定的交付位置。

解决方法

回答我自己的问题:

@for (int i = 0; i < Products.Count(); i++)
{
    <tr>
        <td>
            <span> @Model.Products[i].ProductName </span>
            @foreach (var item in Model.Products[i].ProductCategories)
            {
                <span>@string.Join(",",item.Category.CategoryName)</span>
            }
        </td>
   </tr>
,

您可以在初始化时直接定义车辆仓库(开始和/或结束):

# Create the routing index manager.
self.manager = pywrapcp.RoutingIndexManager(len(locations),len(vehicles),start_depots,end_depots)
self.routing = pywrapcp.RoutingModel(self.manager)

start_depots 和 end_depots 都是列表,车辆的大小。相同的 depot 可以在两个列表中