原创TSP问题遗传算法通用matlab程序TSP问题(又名:旅行商问题,货郎担问题)遗传算法通用matlab程序D是距离矩阵,
为种群个数建议取为城市个数的12倍,C为停止代数,遗传到第C代时程序停止C的具体取值视问题的规模和耗费的时间而定m为适应值归一化淘汰加速指数最好取为1234不宜太大alpha为淘汰保护指数可取为01之间任意小数取1时关闭保护功能最好取为0810R为最短路径Rle
gth为路径长度fu
ctio
RRle
gthge
eticTSPD
Cmalpha
NNNsizeDfarmzeros
N用于存储种群fori1
farmira
dpermN随机生成初始种群e
dRfarm1存储最优种群le
zeros
1存储路径长度fit
esszeros
1存储归一化适应值cou
ter0
whilecou
terC
fori1
le
i1myLe
gthDfarmi计算路径长度
e
dmaxle
maxle
mi
le
mi
le
fit
essfitle
mmaxle
mi
le
计算归一化适应值rrfi
dle
mi
le
Rfarmrr11更新最短路径
FARMfarm优胜劣汰,
记录了复制的个数
0fori1
iffit
essi1alphara
d
1FARM
farmi
e
de
dFARMFARM1
aabbsizeFARM交和变异whileaa
if
2
perra
dperm2
felse
perra
dperm
e
dAFARM
per1BFARM
per2ABi
tercrossABFARMFARMABaabbsizeFARMe
difaa
FARMFARM1
保持种群规模为
e
d
farmFARMclearFARMcou
tercou
ter1
e
d
Rle
gthmyLe
gthDR
计算归一化适应值子程序fu
ctio
fit
essfitle
mmaxle
mi
le
fit
essle
fori1le
gthle
fit
essi11le
i1mi
le
maxle
mi
le
0000001me
d
交算法采用的是由Goldberg和Li
gle于1985年提出的PMX部分匹配交fu
ctio
abi
tercrossabLle
gthaifL10确定交宽度
W1elseifL10floorL10ra
dL10
WceilL10else
WfloorL10e
dpu
idr
dLW1随机选择交范围,从p到pWfori1W交
xfi
dab1pi1yfi
dba1pi1
fa1pi1b1pi1excha
gea1pi1b1pi1a1xb1yexcha
gea1xb1ye
dfu
ctio
xyexcha
gexytempxxyytemp
计算路径的子程序fu
ctio
le
myLe
gthDpNNNsizeDle
Dp1Np11fori1N1
le
le
Dp1ip1i1e
d
。
可编辑修改
fr