UAV.xlsl
: 无人机的参数信息Target.xlsx
: 任务目标的参数信息result.xlsm
: 论文中的一些数据
main
: 单目标SIA算法(把第55、69、83、98行的&&改成#&& 即为单目标IA算法)InitialSolution
: 抗体解码为初始解ModifiedSolution
: 初始解转化为修正解Graph
: 根据任务矩阵返回邻接矩阵DFS
: 深度优先算法,返回死锁回路Lock
: 以邻接矩阵形式返回死锁次数矩阵Unlock
: 去除死锁的函数Get_mission
: 抗体经过上述解码修正操作获得任务分配矩阵CostRoad
: 计算航程代价CostBias
: 计算偏差代价Reward
: 计算任务收益Cost
: 计算抗体的目标代价similar
: 计算两个抗体的相似度concentration
: 计算抗体浓度fitness
: 计算抗体适应度bestselect
: 将优秀抗体储存到记忆库select
: 根据轮盘赌选择繁衍的抗体mutate
: 变异cross
: 交叉reverse
: 反转exchange
: 交换Test
: 判断抗体的值是否合理Affinity_old
: 返回前50次迭代的平均亲和度
main_bias
: 最小偏差子问题求解main_road
: 最小航程子问题求解main_reward
: 最大收益子问题求解- 注意:采用分组进化则需把上述3个算法求解的抗体群保存,导入到Pareto_main中,并且将随机初始化代码注释
Pareto_main
: 多目标SIA算法(把第74、104、135行的&&改成#&&即为多目标IA算法)Cost_Road
: 多目标航程代价Cost_Bias
: 多目标时间偏差Cost_Reward
: 多目标任务收益Cost_new
: 多目标问题的代价函数FreshPareto
: 更新Pareto最优解集Affinity_new
: 计算多目标任务亲和度
PSO
: 粒子群算法求解MTAPTime_array
: 返回到达指定任务地点的时间矩阵Active
: 根据张的文章编写的解决有新目标出现的局部重分配算法New_target.xlsx
: 临时发现的新任务目标Draw
: 画甘特图的,太丑了
注意: 未知原因会导致算法报错,跑10次代码可能会遇到一次错误,重新运行即可。