运筹优化学习16:【电招问题】Dial-a-Ride问题模型及C#实现的VNS程序

目录

1 DARP

1.1 问题描述

1.2 约束条件

1.3 目标函数

2 手算示例

3 C#的实现

3.1 数据准备

3.2 程序调用


1 DARP

1.1 问题描述

  1. 有k辆容量不同的汽车,为一组包含起点和终点运输需求的顾客提供运输服务。
  2. 定义节点集合运筹优化学习16:【电招问题】Dial-a-Ride问题模型及C#实现的VNS程序,前n个节点为起点、后n个节点为目的地
  3. 弧段集合:运筹优化学习16:【电招问题】Dial-a-Ride问题模型及C#实现的VNS程序
  4. 对于弧段运筹优化学习16:【电招问题】Dial-a-Ride问题模型及C#实现的VNS程序有运输成本运筹优化学习16:【电招问题】Dial-a-Ride问题模型及C#实现的VNS程序和旅行时间运筹优化学习16:【电招问题】Dial-a-Ride问题模型及C#实现的VNS程序
  5. 节点运筹优化学习16:【电招问题】Dial-a-Ride问题模型及C#实现的VNS程序具有出发时间窗运筹优化学习16:【电招问题】Dial-a-Ride问题模型及C#实现的VNS程序,和抵达时间窗运筹优化学习16:【电招问题】Dial-a-Ride问题模型及C#实现的VNS程序
  6. 具有需求量运筹优化学习16:【电招问题】Dial-a-Ride问题模型及C#实现的VNS程序
  7. 当顾客i被车辆j拾取时,产生成本运筹优化学习16:【电招问题】Dial-a-Ride问题模型及C#实现的VNS程序
  8. 卡车返回车场的最晚时间运筹优化学习16:【电招问题】Dial-a-Ride问题模型及C#实现的VNS程序

1.2 约束条件

  1. 每辆卡车从车场出发并最终返回,每个车辆访问每个弧段仅一次
  2. 运筹优化学习16:【电招问题】Dial-a-Ride问题模型及C#实现的VNS程序必须在运筹优化学习16:【电招问题】Dial-a-Ride问题模型及C#实现的VNS程序之前
  3. 任一点的运筹优化学习16:【电招问题】Dial-a-Ride问题模型及C#实现的VNS程序不大于车辆容量
  4. 出发和抵达时间窗必须被满足
  5. 所有车辆在T之前返回

1.3 目标函数

考虑运输成本和顾客偏好的成本最小

2 手算示例

运筹优化学习16:【电招问题】Dial-a-Ride问题模型及C#实现的VNS程序

运筹优化学习16:【电招问题】Dial-a-Ride问题模型及C#实现的VNS程序

运筹优化学习16:【电招问题】Dial-a-Ride问题模型及C#实现的VNS程序

3 C#的实现

3.1 数据准备

运筹优化学习16:【电招问题】Dial-a-Ride问题模型及C#实现的VNS程序     运筹优化学习16:【电招问题】Dial-a-Ride问题模型及C#实现的VNS程序

3.2 程序调用

exe路径:"F:\darp.exe"

算例文件路径:"F:\genIns.darp"

运筹优化学习16:【电招问题】Dial-a-Ride问题模型及C#实现的VNS程序

可执行文件点这里,启发式算法,结果并不稳定

运筹优化学习16:【电招问题】Dial-a-Ride问题模型及C#实现的VNS程序