資源簡介
/*
*遺傳算法(GA) 解決TSP 問題
*案例參考自《MATLAB 智能算法30個案例分析》
*本例以14個城市為例,14個城市的位置坐標如下(括號內第一個元素為X坐標,第二個為縱坐標):1:(16.47,96.10) 2:(16.47,94.44) 3:(20.09,92.54)
*4:(22.39,93.37) 5:(25.23,97.24) 6:(22.00,96.05) 7:(20.47,97.02) 8:(17.20,96.29) 9:(16.30,97.38) 10:(14.05,98.12) 11:(16.53,97.38)
*12:(21.52,95.59) 13:(19.41,97.13) 14:(20.09,92.55)
*遺傳算法實現的步驟為:(1)編碼 (2) 種群初始化 (3) 構造適應度函數 (4) 選擇操作 (5) 交叉操作 (6) 變異操作 (7) 進化逆轉操作
* 具體實現的步驟這里不詳細說,參考《MATLAB 智能算法30個案例分析》P38 - P40
* update in 16/12/4
* author:Lyrichu
* email:919987476@qq.com
*/
代碼片段和文件信息
/*
?*遺傳算法(GA)?解決TSP?問題
?*案例參考自《MATLAB?智能算法30個案例分析》
?*本例以14個城市為例,14個城市的位置坐標如下(括號內第一個元素為X坐標,第二個為縱坐標):1:(16.4796.10)??2:(16.4794.44)??3:(20.0992.54)
?*4:(22.3993.37)?5:(25.2397.24)??6:(22.0096.05)?7:(20.4797.02)??8:(17.2096.29)?9:(16.3097.38)?10:(14.0598.12)?11:(16.5397.38)
?*12:(21.5295.59)??13:(19.4197.13)??14:(20.0992.55)
?*遺傳算法實現的步驟為:(1)編碼?(2)?種群初始化?(3)?構造適應度函數?(4)?選擇操作?(5)?交叉操作?(6)?變異操作?(7)?進化逆轉操作
?*?具體實現的步驟這里不詳細說,參考《MATLAB?智能算法30個案例分析》P38?-?P40
?*?update?in?16/12/4
?*?author:Lyrichu
?*?email:919987476@qq.com
?*/
#include
#include
#include
#include
#define?maxgen?200??//?最大進化代數
#define?sizepop?100?//?種群數目
#define?pcross?0.6?//?交叉概率
#define?pmutation?0.1?//?變異概率
#define?lenchrom?14?//?染色體長度(這里即為城市個數)
double?city_pos[lenchrom][2]?=?{{16.4796.10}{16.4794.44}{20.0992.54}{22.3993.37}{25.2397.24}{22.0096.05}{20.4797.02}
????{17.2096.29}{16.3097.38}{14.0598.12}{16.5397.38}{21.5295.59}{19.4197.13}
- 上一篇:modbus仿真工具
- 下一篇:c語言開發規范.pdf
評論
共有 條評論