资源简介
一个matlab代码,用遗传算法(GA)解决多旅行商(MTSP)问题,算法中可以自己设定旅行商人数等参数,比较方便,注释也比较详细,很好理解的。

代码片段和文件信息
% MTSP_GA Multiple Traveling Salesmen Problem (M-TSP) Genetic Algorithm (GA)
% Finds a (near) optimal solution to the M-TSP by setting up a GA to search
% for the shortest route (least distance needed for the salesmen to travel
% to each city exactly once and return to their starting locations)
%
% Summary:
% 1. Each salesman travels to a unique set of cities and completes the
% route by returning to the city he started from
% 2. Each city is visited by exactly one salesman
%
% Input:
% XY (float) is an Nx2 matrix of city locations where N is the number of cities
% DMAT (float) is an NxN matrix of city-to-city distances or costs
% NSALESMEN (scalar integer) is the number of salesmen to visit the cities
% MINTOUR (scalar integer) is the minimum tour length for any of the salesmen
% POPSIZE (scalar integer) is the size of the population (should be divisible by 8)
% NUMITER (scalar integer) is the number of desired iterations for the algorithm to run
% SHOWPROG (scalar logical) shows the GA progress if true
% SHOWRESULT (scalar logical) shows the GA results if true
%
% Output:
% OPTROUTE (integer array) is the best route found by the algorithm
% OPTBREAK (integer array) is the list of route break points (these specify the indices
% into the route used to obtain the individual salesman routes)
% MINDIST (scalar float) is the total distance traveled by the salesmen
%
% Route/Breakpoint Details:
% If there are 10 cities and 3 salesmen a possible route/break
% combination might be: rte = [5 6 9 1 4 2 8 10 3 7] brks = [3 7]
% Taken together these represent the solution [5 6 9][1 4 2 8][10 3 7]
% which designates the routes for the 3 salesmen as follows:
% . Salesman 1 travels from city 5 to 6 to 9 and back to 5
% . Salesman 2 travels from city 1 to 4 to 2 to 8 and back to 1
% . Salesman 3 travels from city 10 to 3 to 7 and back to 10
%
% Example:
% n = 35;
% xy = 10*rand(n2);
% nSalesmen = 5;
% minTour = 3;
% popSize = 80;
% numIter = 5e3;
% a = meshgrid(1:n);
% dmat = reshape(sqrt(sum((xy(a:)-xy(a‘:)).^22))nn);
% [optRouteoptBreakminDist] = mtsp_ga(xydmatnSalesmenminTour ...
% popSizenumIter11);
%
% Example:
% n = 50;
% phi = (sqrt(5)-1)/2;
% theta = 2*pi*phi*(0:n-1);
% rho = (1:n).^phi;
% [xy] = pol2cart(theta(:)rho(:));
% xy = 10*([x y]-min([x;y]))/(max([x;y])-min([x;y]));
% nSalesmen = 5;
% minTour = 3;
% popSize = 80;
% numIter = 1e4;
% a = meshgrid(1:n);
% dmat = reshape(sqrt(sum((xy(a:)-xy(a‘:)).^22))nn);
% [optRouteoptBreakminDist] = mtsp_ga(xydmatnSalesmenminTour ...
% popSizenumIter11);
%
% Example:
% n = 35;
% xyz = 10*rand(n3);
% nSalesmen = 5;
% minTour = 3;
% popSize = 80;
% numIter = 5e3;
% a =
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1332 2011-11-07 23:10 mtsp_ga\license.txt
文件 10265 2011-11-07 23:10 mtsp_ga\mtsp_ga.m
目录 0 2013-09-12 16:42 mtsp_ga
----------- --------- ---------- ----- ----
11597 3
- 上一篇:isight调用matlab
- 下一篇:自己用matlab写的jpeg压缩,解压程序
相关资源
- Matlab路面裂缝识别69319
- 高灵敏度GPS接收机MATLAB仿真,附捕获
- 基于MATLAB的质点弹道计算与外弹道优
- 阵列天线的matlab仿真
- MATLAB 经典程序源代码大全
- MATLAB小波软阈值去噪代码33473
- 天线阵的波束形成在MATLAB仿真程序及
- 非线性SVM算法-matlab实现
- 《MATLAB 智能算法超级学习手册》-程序
- 组合导航matlab程序
- 读取txt文件内容matlab代码实现
- Matlab实现基于相关的模板匹配程序
- matlab优化工具箱讲解
- 基于MATLAB的快速傅里叶变换
- 光纤传输中的分布傅立叶算法matlab实
- 基于matlab的图像处理源程序
- matlab 椭圆拟合程序
- 算术编码解码matlab源代码
- optical_flow 光流法 matlab 实现程序
- 引导图像滤波器 Matlab实现
- 分形几何中一些经典图形的Matlab画法
- OFDM系统MATLAB仿真代码
- SVM工具箱(matlab中运行)
- 图像小波变换MatLab源代码
- LU分解的MATLAB实现
- 冈萨雷斯数字图像处理matlab版(第三
- 替代数据法的matlab程序
- 用matlab实现的多站定位系统性能仿真
- 通过不同方法进行粗糙集属性约简m
- k近邻算法matlab实现
评论
共有 条评论