【GA TSP】遗传算法求解实际中国地图旅行商问题【含Matlab源码 2850期】

⛄一、TSP简介

旅行商问题,即TSP问题(Traveling Salesman Problem)又译为旅行推销员问题、货郎担问题,是数学领域中著名问题之一。假设有一个旅行商人要拜访n个城市,他必须选择所要走的路径,路径的限制是每个城市只能拜访一次,而且最后要回到原来出发的城市。路径的选择目标是要求得的路径路程为所有路径之中的最小值。
TSP的数学模型
在这里插入图片描述

⛄二、遗传算法简介

1 引言
在这里插入图片描述
在这里插入图片描述
2 遗传算法理论
2.1 遗传算法的生物学基础
在这里插入图片描述
在这里插入图片描述
2.2 遗传算法的理论基础
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2.3 遗传算法的基本概念
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2.4 标准的遗传算法
在这里插入图片描述
在这里插入图片描述
2.5 遗传算法的特点
在这里插入图片描述
在这里插入图片描述
2.6 遗传算法的改进方向
在这里插入图片描述
3 遗传算法流程
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
4 关键参数说明
在这里插入图片描述

⛄三、部分源代码

%

clear;clc;
close all
load china; % geographic information
plotcities(province, border, city); % draw the map of China

numberofcities = length(city); % number of cities
% distance matrix: dis(i,j) is the distance between city i and j.
dis = distancematrix(city);

popSize = 100; % population size
max_generation = 1000; % number of generation
probmutation = 0.16; % probability of mutation

% Initialize random number generator with “seed”.
rand(‘seed’,103);
% Initialize the pop: start from random routes
pop = zeros(popSize,numberofcities);
for i=1:popSize
pop(i,:)=randperm(numberofcities);
end

for generation = 1:max_generation % generations loop

% evaluate: compute fitness(1/totaldistance) for each individuals in pop
popDist = totaldistance(pop,dis);
fitness = 1./popDist;

% find the best route & distance
[mindist, bestID] = min(popDist); 
bestPop = pop(bestID, :);       % best route

% update best route on figure:
if mod(generation,10)==0
    plotroute(city, bestPop, mindist, generation)
end

% select (competition / roulette)
pop = select(pop, fitness, popSize,'competition');

% crossover
pop = crossover(pop);

% mutation
pop = mutation(pop, probmutation);

% save elitism(best path) and put it to next generation without changes
pop = [bestPop; pop];

end

% return the best route
[mindist, bestID]=min(popDist);
bestPop = pop(bestID, 😃;

% plot and output final solution
plotroute(city, bestPop, mindist, generation);
fpdfprinter(‘Final Solution’)

⛄四、运行结果

在这里插入图片描述

⛄五、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]王捷.遗传算法求解旅行商问题的精英选择策略研究[J].信息与电脑(理论版). 2022,34(17)

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值