0 引言
1 问题描述与数学建模
1.1 问题描述
1.2 主要参数
表1 符号说明 |
| 符号 | 定义 |
|---|---|
| 一级物流园备选集合 | |
| 二级配送中心备选集合 | |
| 三级无人机站备选集合 | |
| 受灾点集合 | |
| 应急物资种类集合 | |
| | 0-1变量,若选中配送中心 或无人机站 则 为1,否则为0 |
| 0-1变量,表示节点间的服务连通关系, 若存在服务则为1,否则为0 | |
| 各级路段( — , — , — )上运输物资 的 数量 | |
| 受灾点 对物资 的需求量 | |
| 启用配送中心 或无人机站 的建设成本 | |
| 配送中心 或无人机站 的运营成本 | |
| 各级设施( , , )对物资 的库存容量上限 | |
| 各级路段( — , — , — )上单位物资 的 地面车辆运输成本 | |
| 单位物资 从无人机站 到受灾点 的 无人机运输成本 | |
| | 物资在各级路段( — , — , — )上的 地面车辆运输时间 |
| 从无人机站 到受灾点 的无人机运输时间 | |
| 物资 在各级节点( , , )的周转(等待)时间 | |
| 道路受损对地面运输的影响系数 | |
| 无人机配送相对地面运输的时间/成本节约系数 | |
| 足够大的正数 | |
| 应急救援总时间函数 | |
| 应急物流网络总成本函数 | |
| 库存惩罚函数 | |
| 惩罚系数 | |
| 时间目标的理想最优解 | |
| 成本目标的理想最优解 | |
| 最终的单目标加权函数值 | |
| 最短时间目标的权重系数 | |
| 遗传算法求得的目标函数值 | |
| Gurobi求得的目标函数值 | |
| 个体的适应度函数 |
1.3 模型假设
1.4 函数目标
1.5 约束条件
2 算法设计
2.1 数据驱动的超参数寻优
2.2 改进的遗传算法设计
2.2.1 编码方案
2.2.2 数据初始化
2.2.3 适应度函数
2.2.4 遗传操作
2.2.5 终止条件
3 数值实验
3.1 实验设置
表2 物流园节点数据 |
| 名称 | 纬度(° N) | 经度(° E) | 周转时间/h |
|---|---|---|---|
| 成都双流国际机场 | 30.58 | 103.95 | 3.0 |
| 成都青白江铁路港 | 30.81 | 104.42 | 3.0 |
表3 备选配送中心节点数据 |
| 名称 | 纬度 (° N) | 经度 (° E) | 建设成本 /元 | 运营成本 /元 | 容量 /t |
|---|---|---|---|---|---|
| 都江堰配送中心 | 31.00 | 103.62 | 30 000 | 20 000 | 10 000 |
| 安州区配送中心 | 31.47 | 104.59 | 30 000 | 25 000 | 10 000 |
| 什邡市配送中心 | 31.12 | 104.16 | 30 000 | 30 000 | 10 000 |
| 芦山县配送中心 | 30.15 | 102.92 | 30 000 | 35 000 | 10 000 |
表4 备选无人机站节点数据 |
| 名称 | 纬度 (° N) | 经度 (° E) | 建设成 本/元 | 运营成 本/元 | 容量 /t | 周转时 间/h |
|---|---|---|---|---|---|---|
| 汶川站 | 31.48 | 103.58 | 20 000 | 5 000 | 8 000 | 1 |
| 映秀站 | 31.05 | 103.55 | 20 000 | 4 000 | 8 000 | 1 |
| 卧龙站 | 30.98 | 103.11 | 20 000 | 5 000 | 8 000 | 1 |
| 水磨站 | 31.11 | 103.65 | 20 000 | 3 000 | 8 000 | 1 |
| 北川站 | 31.84 | 104.48 | 20 000 | 4 000 | 8 000 | 1 |
| 茂县站 | 31.68 | 103.68 | 20 000 | 3 000 | 8 000 | 1 |
| 理县站 | 31.44 | 103.17 | 20 000 | 3 000 | 8 000 | 1 |
| 绵竹站 | 31.33 | 104.22 | 20 000 | 4 000 | 8 000 | 1 |
| 彭州站 | 31.15 | 103.86 | 20 000 | 4 000 | 8 000 | 1 |
| 天全站 | 29.98 | 102.76 | 20 000 | 4 000 | 8 000 | 1 |
| 宝兴站 | 30.38 | 102.82 | 20 000 | 3 000 | 8 000 | 1 |
表5 受灾点节点数据 |
| ID | 纬度 (° N) | 经度 (° E) | 需求量/t | ID | 纬度(° N) | 经度(° E) | 需求量/t | |
|---|---|---|---|---|---|---|---|---|
| 1 | 31.5 | 103.5 | 150 | 7 | 31.1 | 103 | 140 | |
| 2 | 31.4 | 103.6 | 130 | 8 | 30.95 | 103.7 | 160 | |
| 3 | 31.6 | 103.4 | 160 | 9 | 31.7 | 103.6 | 160 | |
| 4 | 31.3 | 103.7 | 180 | 10 | 31.8 | 103.8 | 120 | |
| 5 | 31 | 103.2 | 180 | 11 | 31.9 | 104.5 | 100 | |
| 6 | 30.9 | 103.1 | 180 | 12 | 31.7 | 104.6 | 170 | |
| 13 | 31.8 | 104.3 | 110 | 27 | 31 | 103.9 | 150 | |
| 14 | 31.6 | 104.7 | 160 | 28 | 30 | 102.9 | 150 | |
| 15 | 31.5 | 104.2 | 120 | 29 | 30.1 | 103 | 160 | |
| 16 | 31.6 | 103.7 | 160 | 30 | 30.2 | 103.1 | 120 | |
| 17 | 31.5 | 103.5 | 130 | 31 | 31.52 | 103.45 | 110 | |
| 18 | 31.2 | 103.8 | 140 | 32 | 31.41 | 103.62 | 160 | |
| 19 | 31.1 | 103.9 | 180 | 33 | 31.63 | 103.33 | 130 | |
| 20 | 31.3 | 103.2 | 190 | 34 | 31.35 | 103.75 | 160 | |
| 21 | 30.4 | 102.8 | 130 | 35 | 31.02 | 103.15 | 140 | |
| 22 | 30.3 | 102.9 | 130 | 36 | 30.91 | 103.05 | 90 | |
| 23 | 30.5 | 102.7 | 170 | 37 | 31.92 | 104.55 | 140 | |
| 24 | 31.4 | 103.3 | 190 | 38 | 31.75 | 104.65 | 140 | |
| 25 | 31.4 | 104.1 | 150 | 39 | 31.85 | 104.35 | 190 | |
| 26 | 31.2 | 104.3 | 200 | 40 | 31.65 | 104.75 | 180 | |
3.2 算法参数确定
表6 算法参数 |
| 参数 | 种群规模popsize | 交叉率Pc | 变异率Pm | 时间权重ω |
|---|---|---|---|---|
| 最优值 | 120 | 0.777 955 616 250 113 | 0.011 513 332 764 890 784 | 0.651 026 350 117 500 9 |
3.3 有效性测试
表7 两种算法的运行结果对比 |
| 算例 | 问题规模 (I-J-M-N) | DDGA | Gurobi | (%) | ||
|---|---|---|---|---|---|---|
| 平均结果 | 平均时间/s | 平均结果 | 平均时间/s | |||
| 小规模 | 2-3-5-10 | 0.934 3 | 210.85 | 0.934 3 | 0.05 | 0.00 |
| 中等规模 | 2-4-8-20 | 0.757 0 | 170.17 | 0.711 7 | 0.04 | 6.37 |
| 大规模 | 2-50-100-80 | 0.936 8 | 1 595.79 | 5 400 | ||

表8 最优方案节点选择结果 |
| 物流园 | 配送中心(纬度, 经度) | 无人机站(纬度, 经度) | 服务的受灾点ID |
|---|---|---|---|
| 成都双流国际机场 | (29.848 7° N, 103.180 0° E) | (30.380 0° N, 102.820 0° E) | 76 |
| 成都双流国际机场 | (29.982 2° N, 102.839 6° E) | (31.050 0° N, 103.550 0° E) | 65 |
| 成都双流国际机场 | (29.982 2° N, 102.839 6° E) | (31.580 8° N, 103.700 8° E) | 36, 62, 69 |
| 成都双流国际机场 | (30.0411° N, 102.959 6° E) | (30.936 8° N, 104.114 5° E) | 37, 45 |
| 成都双流国际机场 | (30.041 1° N, 102.959 6° E) | (31.457 9° N, 103.683 8° E) | 72 |
| 成都双流国际机场 | (30.150 0° N, 102.920 0° E) | (30.713 0° N, 103.225 9° E) | 40 |
| 成都双流国际机场 | (30.150 0° N, 102.920 0° E) | (31.060 2° N, 103.976 8° E) | 24 |
| 成都双流国际机场 | (30.228 9° N, 103.101 5° E) | (30.297 9° N, 102.359 2° E) | 56 |
| 成都双流国际机场 | (30.410 3° N, 104.401 4° E) | (30.980 0° N, 103.110 0° E) | 5, 30, 75 |
| 成都双流国际机场 | (30.410 3° N, 104.401 4° E) | (31.080 2° N, 103.876 4° E) | 14 |
| 成都双流国际机场 | (30.410 3° N, 104.401 4° E) | (31.150 0° N, 103.860 0° E) | 12, 23, 27, 73 |
| 成都双流国际机场 | (30.545 5° N, 104.228 3° E) | (31.312 5° N, 103.619 9° E) | 8 |
| 成都双流国际机场 | (30.545 5° N, 104.228 3° E) | (31.440 0° N, 103.170 0° E) | 44 |
| 成都双流国际机场 | (30.545 5° N, 104.228 3° E) | (31.479 8° N, 104.184 7° E) | 2, 13, 39 |
| 成都双流国际机场 | (30.545 5° N, 104.228 3° E) | (31.571 7° N, 104.971 2° E) | 6 |
| 成都双流国际机场 | (30.545 5° N, 104.228 3° E) | (31.680 0° N, 103.680 0° E) | 22 |
| 成都双流国际机场 | (30.701 3° N, 103.657 9° E) | (30.792 7° N, 102.352 8° E) | 55, 77 |
| 成都双流国际机场 | (30.701 3° N, 103.657 9° E) | (32.143 0° N, 103.721 3° E) | 48, 59 |
| 成都双流国际机场 | (30.819 9° N, 104.699 3° E) | (32.130 1° N, 104.898 8° E) | 11, 38 |
| 成都双流国际机场 | (30.919 6° N, 104.747 9° E) | (30.684 4° N, 103.386 6° E) | 47, 52, 64 |
| 成都双流国际机场 | (30.919 6° N, 104.747 9° E) | (31.179 4° N, 103.573 1° E) | 71 |
| 成都双流国际机场 | (30.919 6° N, 104.747 9° E) | (31.212 3° N, 103.633 2° E) | 21 |
| 成都双流国际机场 | (31.000 0° N, 103.620 0° E) | (30.960 2° N, 103.7419° E) | 17, 34, 80 |
| 成都双流国际机场 | (31.000 0° N, 103.620 0° E) | (31.840 0° N, 104.480 0° E) | 61, 66, 68 |
| 成都双流国际机场 | (31.026 6° N, 104.391 5° E) | (31.174 4° N, 104.194 2° E) | 20 |
| 成都双流国际机场 | (31.026 6° N, 104.391 5° E) | (31.470 6° N, 104.171 2° E) | 3, 19, 29, 42 |
| 成都双流国际机场 | (31.287 1° N, 103.582 9° E) | (29.694 9° N, 102.992 6° E) | 7 |
| 成都双流国际机场 | (31.633 7° N, 104.111 9° E) | (31.104 7° N, 103.971 4° E) | 50, 51 |
| 成都双流国际机场 | (31.633 7° N, 104.111 9° E) | (31.851 9° N, 103.411 1° E) | 57 |
| 成都双流国际机场 | (31.633 7° N, 104.111 9° E) | (31.929 9° N, 103.714 3° E) | 28, 79 |
| 成都双流国际机场 | (32.188 2° N, 103.894 1° E) | (31.223 3° N, 103.854 3° E) | 10, 41 |
| 成都双流国际机场 | (32.188 2° N, 103.894 1° E) | (31.381 9° N, 103.847 2° E) | 32 |
| 成都双流国际机场 | (32.188 2° N, 103.894 1° E) | (31.863 0° N, 103.274 4° E) | 53, 60 |
| 成都双流国际机场 | (32.238 5° N, 104.705 7° E) | (31.858 6° N, 103.246 7° E) | 46, 70, 74 |
| 成都双流国际机场 | (32.238 5° N, 104.705 7° E) | (32.134 8° N, 104.143 6° E) | 35, 49 |
| 成都青白江铁路港 | (31.120 0° N, 104.160 0° E) | (30.876 7° N, 102.832 6° E) | 58, 78 |
| 成都青白江铁路港 | (31.120 0° N, 104.160 0° E) | (32.105 2° N, 103.885 6° E) | 54 |
| 成都青白江铁路港 | (31.413 2° N, 103.745 6° E) | (31.213 5° N, 103.063 1° E) | 15, 67 |
| 成都青白江铁路港 | (31.520 2° N, 103.872 7° E) | (30.944 0° N, 103.947 5° E) | 1, 33 |
| 成都青白江铁路港 | (31.520 2° N, 103.872 7° E) | (31.942 4° N, 104.071 7° E) | 4, 16, 18 |
| 成都青白江铁路港 | (31.560 9° N, 104.061 2° E) | (31.181 5° N, 103.555 2° E) | 9, 31, 63 |
| 成都青白江铁路港 | (31.560 9° N, 104.061 2° E) | (31.708 4° N, 103.262 9° E) | 43 |
| 成都青白江铁路港 | (31.560 9° N, 104.061 2° E) | (31.824 4° N, 103.767 2° E) | 25, 26 |