0 引言
1 模型构建
1.1 问题描述
1.2 空间建模
1.3 数学建模
1.3.1 假设条件
1.3.2 优化目标
1.3.3 约束条件
2 优化算法
2.1 蚁群算法
2.1.1 设计思路
2.1.2 求解流程
2.2 遗传算法
2.2.1 设计思路
2.2.2 求解流程
2.3 模拟退火算法
2.3.1 设计思路
2.3.2 求解流程
3 仿真实验及结果分析
3.1 仿真环境
3.2 参数设置
表1 算法参数设置 |
| 算法 | 参数 | 取值 |
|---|---|---|
| 蚁群 算法 | 蚂蚁数量 | 50 |
| 迭代次数 | 300 | |
| 信息素重要性因子 | 1 | |
| 启发式信息重要性因子 | 5 | |
| 信息素挥发系数 | 0.5 | |
| 信息素强度常数 | 100 | |
| 遗传 算法 | 种群大小 | 80 |
| 最大迭代次数 | 300 | |
| 精英保留比例 | 0.15 | |
| 自适应变异 | true | |
| 基础变异率 | 0.1(可自适应调整到0.3) | |
| 交叉率 | 0.9(从0.9线性减少到0.6) | |
| 锦标赛选择大小 | 4 | |
| 模拟 退火 算法 | 最大迭代次数 | 300 |
| 初始温度 | 1 000 | |
| 终止温度 | 1.00E-08 | |
| 冷却率 | 0.95 | |
| 最大停滞代数 | 50 | |
| 内循环次数 | 100 |
3.3 结果分析
3.3.1 多场景对比分析
表2 各算法在多场景优化中的性能指标对比 |
| 性能指标 | 蚁群算法(ACO) | 遗传算法(GA) | 模拟退火算法(SA) | ||||||
|---|---|---|---|---|---|---|---|---|---|
| 场景一 | 场景二 | 场景三 | 场景一 | 场景二 | 场景三 | 场景一 | 场景二 | 场景三 | |
| 巡检代价 | 0.639 | 0.731 | 0.770 | 0.663 | 0.705 | 0.766 | 0.659 | 0.726 | 0.769 |
| 总路径长度/km | 45.70 | 56.40 | 61.50 | 49.10 | 55.40 | 59.40 | 47.70 | 56.90 | 59.70 |
| 最长无人机路径/km | 19.70 | 25.50 | 27.50 | 20.80 | 23.70 | 26.40 | 20.30 | 25.30 | 26.70 |
| 最长无人机飞行时间/min | 16.40 | 21.30 | 22.90 | 17.40 | 19.80 | 22.00 | 16.90 | 21.10 | 22.20 |
| 最大电池消耗(%) | 65.5% | 85.2% | 91.8% | 69.5% | 79.0% | 88.0% | 67.8% | 84.2% | 88.9% |
| 总能耗① | 56 442 | 68 298 | 75 557 | 60 124 | 67 428 | 73 056 | 57 301 | 69 096 | 73 018 |
| 路径平滑度 | 0.17 | 0.17 | 0.15 | 0.18 | 0.18 | 0.17 | 0.18 | 0.18 | 0.16 |
| 任务均衡度 | 0.65 | 0.57 | 0.59 | 0.65 | 0.59 | 0.63 | 0.66 | 0.55 | 0.62 |
| 时间协调性(%) | 73.78% | 59.86% | 58.18% | 73.26% | 66.52% | 61.21% | 73.85% | 60.72% | 60.19% |
①“总能耗”计算结果已作归一化处理,无量纲。 |
3.3.2 任务分配分析
表3 各算法的任务分配结果对比 |
| 无人机 编号 | 飞行参数 | 蚁群算法 | 遗传算法 | 模拟退 火算法 |
|---|---|---|---|---|
| 1 | 路径里程/m | 25 548.2 | 23 707.4 | 25 270.0 |
| 续航里程利用率(%) | 85.20 | 79.00 | 84.20 | |
| 2 | 路径里程/m | 16 287.5 | 17 737.5 | 17 659.2 |
| 续航里程利用率(%) | 54.30 | 59.10 | 58.90 | |
| 3 | 路径里程/m | 14 587.7 | 13 946.8 | 13 946.8 |
| 续航里程利用率(%) | 48.60 | 46.50 | 46.50 | |
| 总里程/m | 56 423.4 | 55 391.7 | 56 875.9 | |