2020全国数学建模大赛B题部分代码用MATLAB实现。(3)
下面展示一些 部分代码MATLAB
。
function [bestFitness,bestRoute] = aco(initFood,initWater)
% aco 路径规划,考虑天气等条件下路径最短
if nargin <1
initFood = 100;
initWater = 100;
end
initParam;
popSz = 20;% 种群大小
alpha = 10; % 启发式信息素
beta = 20; % 信息素
rho = 0.3; % 信息素蒸发
iterMax = 80; % 最大迭代次数
Q = 10;% Q 信息素增加强度系数
PenaltyValue = 1e+10;% 不满足情况下的惩罚系数
cityInd = 1:mapNum;
Tau = ones(mapNum);
bestFitness = zeros(1,iterMax);% 最好路线下的收益
bestRoute = [];
for iter = 1:iterMax % 迭代次数
pop = cell(1,popSz);
Fitness = zeros(1,popSz);% 目标函数,适应度值
for pp = 1:popSz % 对每个种群
route = startPoint;
hasVisited = zeros(1,mapNum);% 去过的地方不去了,少走重复路
hasVisited(route) = 1;
while ~isequal(route(end),endPoint) && sum(hasVisited)<=mapNum
转载:https://blog.csdn.net/k1803626086/article/details/108559771
查看评论