用途:解决取送货问题(PDP)、带取送货的车辆路径问题(VRPPD)及成对取送请求的路径优化,目标是让车辆从起点取货或接客并送达终点,同时满足配对、先后顺序与容量约束。
主要能力:资料先引导判断问题变体(一对一、多对多、Dial-a-ride、当日快递、搬家服务)、配对约束(硬配对、取送时间窗、最大乘车时间、是否可拆分)、容量(取货到送货期间占用、LIFO、全程容量)、时间约束(取送时间窗、最大送达延迟、服务时间)与问题规模(小于20可精确求解,20-100用高级启发式,100以上需元启发式)。随后给出 PDVRP 的集合、参数、决策变量、目标函数与约束(取送各访问一次、同车、先取后送、流守恒、时间一致性、时间窗、容量跟踪、0-1变量)。
使用方式:资料提供两种实现示例。一是插入启发式,函数为 pdp_insertion_heuristic(dist_matrix, time_matrix, requests, vehicle_capacity, num_vehicles, depot=0, max_route_time=480),按最早取货时间排序请求,逐个尝试插入各路径并检查容量、时间窗与先后顺序,选择成本最小位置。二是基于 OR-Tools 的 solve_pdp_ortools(locations, requests, vehicle_capacity, num_vehicles, depot=0, time_limit=60),构建距离与时间矩阵,注册回调,添加时间维度与容量维度,并用约束保证取送同车、先取后送及时间窗,采用 PATH_CHEAPEST_ARC 初始解与 GUIDED_LOCAL_SEARCH 元启发式,在时限内求解。
适用场景:物流配送、同城快递、网约车/拼车、搬家与上门服务等需要成对取送的调度。
限制:资料未提供具体收费、价格、平台支持或效果数据;示例代码依赖 numpy、random 与 ortools,实际使用需自行准备距离/时间矩阵与请求数据,并注意时间窗、容量与最大路径时长等参数设置。