matlab--旅行商社问题

本文介绍了使用matlab解决旅行商社问题的方法,包括种群初始化、适应度函数、选择操作、交叉操作和变异操作的详细过程。适应度函数通过计算染色体(城市排列)的总距离倒数来评估,遗传算法中采用多种策略促进优化搜索。
摘要由CSDN通过智能技术生成

matlab–旅行商社问题

履行商社问题,也称货郎担问题,是数学领域中的著名问题之一。
(1)种群初始化:个体编码方式有二进制编码和实数编码,在解决TSP问题过程中个体编码方式为实数编码。对于TSP问题,实数编码为1-n的实数的随机排列,初始化的参数有种群个数M、染色体基因个数N(即城市的个数)、迭代次数C、交叉概率Pc、变异概率Pmutation。

(2)适应度函数:在TSP问题中,每个染色体(即n个城市的随机排列)可计算出中距离,因此可将一个随机全排列的总距离的倒数作为适应度函数,即距离越短,适应度函数越好,满足TSP要求。
(3)选择操作:遗传算法选择操作有轮盘赌法、锦标赛法等多种方法,用户可根据实际情况选择最合适的算法。
(4)交叉操作:遗传算法中交叉操作有多种方法。一般对于个体,可以随机选择两个个体,在对应位置交换若干个基因片段,同时保证每个个体依然是1-n的随机排列,防止进入局部收敛。
(5)变异操作:对于变异操作,随机选取个体,同时随机选择个体的两个基因进行交换已实现变异操作。

clear all;
clc;
N=10;
M=20;
C=100;
C_old=C;
m=2;
Pc=0.4;
Pmutation=0.2;

%%生成城市的坐标%%
pos=randn(N,2);
%%生成城市之间距离矩阵%%
D=zeros(N,N)
for i=1:N
    for j=1:N
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值