scx根據父代better edges構造子代,與gnx,erx不同的是,scx不僅取決於父代的構造,也能夠生成新的,更好的構造,這些構造可能在兩個選擇的父代中都沒有出現。
演算法步驟:
從第乙個節點node 1開始
依次搜尋兩個父代染色體,比較在父代**現在節點p後面的第乙個合法節點(沒有被訪問過的),如果父代中p節點後面沒有合法節點,一次搜尋,選擇第乙個合法的節點,執行3
假設節點α和β分別在第乙個和第二個父代中,選擇下乙個節點執行4
如果假設父代分別為
此時p1和p2的值分別是312和331,下面是scx的執行步驟:選擇第乙個節點1,在p1和p2中第乙個節點後面的合法節點分別是5,6,c15=35,c16=63,c1531=c72,所以o1的染色體為(1,5,7,2),重複上面的步驟,2後面的合法節點3和4,c23=86 >46=c24,所以o1的染色體為(1,5,7,2,4),4後面的合法節點在p1中沒有,p2中是3,對於p1考慮中第乙個合法的節點,也是3,所以o1的染色體為(1,5,7,2,4,3),3後面的合法節點在p1中是6,p2沒有,考慮中第乙個合法的節點,也是6,所以o1的染色體為(1,5,7,2,4,3,6),tsp最後的結果是266小於父代兩個染色體。
遺傳演算法的交叉變異操作雜記
100個個體,交叉概率為0.1,並不代表交叉個體數為10個.這是乙個概率問題.另外,交叉概率一般會取0.5 1這個範圍內,0.1未免有點小.自適應的遺傳演算法,一般在迭代初期會有較大的交叉概率,越往迭代後期,交叉概率越小.而變異概率則相反.標準的交叉如下 假設六個個體的編號為從1至6,兩兩配對共分為...
遺傳演算法 交叉操作 NWOX 2006
執行步驟如下 c1,c2 是其父本 p1,p2的副本 在 1,l 上隨機選擇兩個位置a,b,假設a b figure 2 a 在子代c1種找到父代p2中a,b之間的值v2 a v2 a 1 v2 b 並用holes取代,figure 2 b 同理,c2也具有相似的步驟,在c2中找到 v1 a v1 ...
遺傳演算法 變異操作
對於不同問題以上變異可能是較大的變異也可能是較小的變異,比如,inversion對於鄰接關係是較小的變異,而對於絕對位置和相對位置關係卻是很大的變異。乙個變異應該是具有較小的變化,這樣才能有平滑的適應度變化。1 alberto moraglio.2007.towards a geometric un...