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 = https://blog.csdn.net/k1803626086/article/details/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://www.uj5u.com/qita/34473.html
標籤:其他
