运筹优化学习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. 定义节点集合V=\{v_0,v_1,...,v_{2n}\},前n个节点为起点、后n个节点为目的地
  3. 弧段集合:E=\{(i,j)|i,j \in V, i \neq j )\}
  4. 对于弧段(i,j)有运输成本c^{t}_{i,j}和旅行时间t_{ij}
  5. 节点i具有出发时间窗[e_i,l_i],和抵达时间窗[e_{i+n},l_{i+n}]
  6. 具有需求量q_i
  7. 当顾客i被车辆j拾取时,产生成本c_{ij}^{P}
  8. 卡车返回车场的最晚时间T

1.2 约束条件

  1. 每辆卡车从车场出发并最终返回,每个车辆访问每个弧段仅一次
  2. v_{i}必须在v_{i+n}之前
  3. 任一点的q_i不大于车辆容量
  4. 出发和抵达时间窗必须被满足
  5. 所有车辆在T之前返回

1.3 目标函数

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

2 手算示例

3 C#的实现

3.1 数据准备

     

3.2 程序调用

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

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

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

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

薛桂琴

喜欢的读者,可以打赏鼓励一下

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值