亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? tsp源程序.txt

?? 遺傳算法
?? TXT
字號:
TSP問題的遺傳算法+轉載

我這幾天做了一個隊員選擇問題,其中一個問題我是用遺傳算法做的,現在我把它整理成解決tsp問題的遺傳算法:旅行商問題(traveling saleman problem,簡稱tsp):
    已知n個城市之間的相互距離,現有一個推銷員必須遍訪這n個城市,并且每個城市只能訪問一次,最后又必須返回出發城市。如何安排他對這些城市的訪問次序,可使其旅行路線的總長度最短?
    用圖論的術語來說,假設有一個圖g=(v,e),其中v是頂點集,e是邊集,設d=(dij)是由頂點i和頂點j之間的距離所組成的距離矩陣,旅行商問題就是求出一條通過所有頂點且每個頂點只通過一次的具有最短距離的回路。
    這個問題可分為對稱旅行商問題(dij=dji,,任意i,j=1,2,3,…,n)和非對稱旅行商問題(dij≠dji,,任意i,j=1,2,3,…,n)。
    若對于城市v={v1,v2,v3,…,vn}的一個訪問順序為t=(t1,t2,t3,…,ti,…,tn),其中ti∈v(i=1,2,3,…,n),且記tn+1= t1,則旅行商問題的數學模型為:
     min     l=σd(t(i),t(i+1))  (i=1,…,n)
    旅行商問題是一個典型的組合優化問題,并且是一個np難問題,其可能的路徑數目與城市數目n是成指數型增長的,所以一般很難精確地求出其最優解,本文采用遺傳算法求其近似解。
    遺傳算法:
初始化過程:用v1,v2,v3,…,vn代表所選n個城市。定義整數pop-size作為染色體的個數,并且隨機產生pop-size個初始染色體,每個染色體為1到18的整數組成的隨機序列。
適應度f的計算:對種群中的每個染色體vi,計算其適應度,f=σd(t(i),t(i+1)).
評價函數eval(vi):用來對種群中的每個染色體vi設定一個概率,以使該染色體被選中的可能性與其種群中其它染色體的適應性成比例,既通過輪盤賭,適應性強的染色體被選擇產生后臺的機會要大,設alpha∈(0,1),本文定義基于序的評價函數為eval(vi)=alpha*(1-alpha).^(i-1) 。[隨機規劃與模糊規劃]
選擇過程:選擇過程是以旋轉賭輪pop-size次為基礎,每次旋轉都為新的種群選擇一個染色體。賭輪是按每個染色體的適應度進行選擇染色體的。
   step1 、對每個染色體vi,計算累計概率qi,q0=0;qi=σeval(vj)   j=1,…,i;i=1,…pop-size.
   step2、從區間(0,pop-size)中產生一個隨機數r;
   step3、若qi-1<r<qi,則選擇第i個染色體 ;
   step4、重復step2和step3共pop-size次,這樣可以得到pop-size個復制的染色體。
grefenstette編碼:由于常規的交叉運算和變異運算會使種群中產生一些無實際意義的染色體,本文采用grefenstette編碼《遺傳算法原理及應用》可以避免這種情況的出現。所謂的grefenstette編碼就是用所選隊員在未選(不含淘汰)隊員中的位置,如:
          8 15 2 16 10 7 4 3 11 14 6 12 9 5 18 13 17 1
          對應:
          8 14 2 13 8 6 3 2 5 7 3 4 3 2 4 2 2 1。
交叉過程:本文采用常規單點交叉。為確定交叉操作的父代,從 到pop-size重復以下過程:從[0,1]中產生一個隨機數r,如果r<pc ,則選擇vi作為一個父代。
           將所選的父代兩兩組隊,隨機產生一個位置進行交叉,如:
          8 14 2 13 8 6 3 2 5 7 3 4 3 2 4 2 2 1
          6 12 3 5 6 8 5 6 3 1 8 5 6 3 3 2 1 1
交叉后為:
         8 14 2 13 8 6 3 2 5 1 8 5 6 3 3 2 1 1
         6 12 3 5 6 8 5 6 3 7 3 4 3 2 4 2 2 1
變異過程:本文采用均勻多點變異。類似交叉操作中選擇父代的過程,在r<pm 的標準下選擇多個染色體vi作為父代。對每一個選擇的父代,隨機選擇多個位置,使其在每位置按均勻變異(該變異點xk的取值范圍為[ukmin,ukmax],產生一個[0,1]中隨機數r,該點變異為x'k=ukmin+r(ukmax-ukmin))操作。如:
         8 14 2 13 8 6 3 2 5 7 3 4 3 2 4 2 2 1
      變異后:
        8 14 2 13 10 6 3 2 2 7 3 4 5 2 4 1 2 1
反grefenstette編碼:交叉和變異都是在grefenstette編碼之后進行的,為了循環操作和返回最終結果,必須逆grefenstette編碼過程,將編碼恢復到自然編碼。
循環操作:判斷是否滿足設定的帶數xzome,否,則跳入適應度f的計算;是,結束遺傳操作,跳出。


function [bestpop,trace]=ga(d,termops,num,pc,cxops,pm,alpha)
%
%————————————————————————
%[bestpop,trace]=ga(d,termops,num,pc,cxops,pm,alpha)
%d:距離矩陣
%termops:種群帶數
%num:每帶染色體的個數
%pc:交叉概率
%cxops:由于本程序采用單點交叉,交叉點的設置在本程序中沒有很好的解決,所以本文了采用定點,即第cxops,可以隨機產生。
%pm:變異概率
%alpha:評價函數eval(vi)=alpha*(1-alpha).^(i-1).
%bestpop:返回的最優種群
%trace:進化軌跡
%------------------------------------------------
%####@@@##版權所有!歡迎廣大網友改正,改進!##@@@####
%e-mail:tobysidney33@sohu.com
%####################################################
%
citynum=size(d,2);
n=nargin;
if n<2
    disp('缺少變量!!')
    disp('^_^開個玩笑^_^')
end
if n<2
    termops=500;
    num=50;
    pc=0.25;
    cxops=3;
    pm=0.30;
    alpha=0.10;
end
if n<3
    num=50;
    pc=0.25;
    cxops=3;
    pm=0.30;
    alpha=0.10;
end
if n<4
    pc=0.25;
    cxops=3;
    pm=0.30;
    alpha=0.10;
end
if n<5
    cxops=3;
    pm=0.30;
    alpha=0.10;
end
if n<6
    pm=0.30;
    alpha=0.10;
end
if n<7
    alpha=0.10;
end
if isempty(cxops)
    cxops=3;
end

[t]=initializega(num,citynum);
for i=1:termops
[l]=f(d,t);
[x,y]=find(l==max(l));
trace(i)=-l(y(1));
bestpop=t(y(1),:);
[t]=select(t,l,alpha);
[g]=grefenstette(t);
[g1]=crossover(g,pc,cxops);
[g]=mutation(g1,pm);  %均勻變異
[t]=congrefenstette(g);
end

---------------------------------------------------------
function [t]=initializega(num,citynum)
for i=1:num
    t(i,:)=randperm(citynum);
end
-----------------------------------------------------------
function [l]=f(d,t)
[m,n]=size(t);
for k=1:m
    for i=1:n-1
      l(k,i)=d(t(k,i),t(k,i+1));
    end
      l(k,n)=d(t(k,n),t(k,1));
      l(k)=-sum(l(k,:));
end
-----------------------------------------------------------
function [t]=select(t,l,alpha)
[m,n]=size(l);
t1=t;
[beforesort,aftersort1]=sort(l,2);%fsort from l to u
for i=1:n
    aftersort(i)=aftersort1(n+1-i);      %change 
end
for k=1:n;
    t(k,:)=t1(aftersort(k),:);
    l1(k)=l(aftersort(k));
end
t1=t;
l=l1;
for i=1:size(aftersort,2)
    evalv(i)=alpha*(1-alpha).^(i-1);
end
m=size(t,1);
q=cumsum(evalv);
qmax=max(q);
for k=1:m
    r=qmax*rand(1);
    for j=1:m
        if j==1&r<=q(1)
            t(k,:)=t1(1,:);
        elseif j~=1&r>q(j-1)&r<=q(j)
            t(k,:)=t1(j,:);
        end
    end
end
--------------------------------------------------
function [g]=grefenstette(t)
[m,n]=size(t);
for k=1:m
    t0=1:n;
   for i=1:n
       for j=1:length(t0)
           if t(k,i)==t0(j)
              g(k,i)=j;
              t0(j)=[];
              break
           end
       end
    end
end
-------------------------------------------
function [g]=crossover(g,pc,cxops)
[m,n]=size(g);
ran=rand(1,m);
r=cxops;
[x,ru]=find(ran<pc);
if ru>=2
    for k=1:2:length(ru)-1
       g1(ru(k),:)=[g(ru(k),[1:r]),g(ru(k+1),[(r+1):n])];
       g(ru(k+1),:)=[g(ru(k+1),[1:r]),g(ru(k),[(r+1):n])];
       g(ru(k),:)=g1(ru(k),:);
    end
end
--------------------------------------------
function [g]=mutation(g,pm)    %均勻變異
[m,n]=size(g);
ran=rand(1,m);
r=rand(1,3);      %dai gai jin
rr=floor(n*rand(1,3)+1);
[x,mu]=find(ran<pm);
for k=1:length(mu)
    for i=1:length(r)
        umax(i)=n+1-rr(i);
        umin(i)=1;
        g(mu(k),rr(i))=umin(i)+floor((umax(i)-umin(i))*r(i));
    end
end
---------------------------------------------------
function [t]=congrefenstette(g)
[m,n]=size(g);
for k=1:m
    t0=1:n;
   for i=1:n
      t(k,i)=t0(g(k,i));
      t0(g(k,i))=[];
   end
end

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美国产成人一区二区| 国产精品热久久久久夜色精品三区| 国模少妇一区二区三区| 亚洲精品中文字幕乱码三区| 精品成人佐山爱一区二区| 日本道精品一区二区三区| 激情欧美一区二区三区在线观看| 亚洲免费伊人电影| 国产亚洲午夜高清国产拍精品| 欧美婷婷六月丁香综合色| 成人白浆超碰人人人人| 国产最新精品免费| 日本成人在线一区| 亚洲大片在线观看| 樱桃国产成人精品视频| 国产精品高潮呻吟久久| 久久久亚洲精华液精华液精华液| 欧美美女直播网站| 日本福利一区二区| 91免费版在线看| 成人天堂资源www在线| 久久国产尿小便嘘嘘尿| 图片区日韩欧美亚洲| 亚洲免费观看高清在线观看| 欧美高清在线精品一区| 久久久精品免费网站| 久久综合网色—综合色88| 欧美一区2区视频在线观看| 欧美亚洲国产一区二区三区| 99re视频精品| 成人av免费在线| 成人丝袜视频网| www.日本不卡| 99久久婷婷国产综合精品 | 狠狠v欧美v日韩v亚洲ⅴ| 亚洲成人综合在线| 亚洲成a天堂v人片| 在线观看免费视频综合| 色综合天天综合色综合av| 91在线国产福利| 色丁香久综合在线久综合在线观看| 99视频国产精品| 99久久er热在这里只有精品66| 91在线视频官网| 一本一道综合狠狠老| 欧美午夜电影一区| 欧美性猛交xxxx黑人交| 欧美伦理电影网| 日韩欧美一二区| 久久综合九色综合97婷婷女人| 久久人人97超碰com| 国产精品嫩草影院com| 亚洲人123区| 亚洲午夜羞羞片| 奇米四色…亚洲| 国产在线视频一区二区三区| 成人久久久精品乱码一区二区三区| 不卡一区在线观看| 91久久久免费一区二区| 69久久夜色精品国产69蝌蚪网| 日韩欧美国产1| 国产精品久久久久婷婷| 亚洲精品乱码久久久久| 免费在线欧美视频| 国产激情偷乱视频一区二区三区 | 成人性生交大片免费看中文| 成+人+亚洲+综合天堂| 欧美在线免费播放| 精品国产亚洲在线| 国产精品久久三| 亚洲高清免费在线| 国产一区二区视频在线| 99久久99久久精品国产片果冻| 欧美亚洲综合另类| 精品国产伦一区二区三区观看方式 | 欧美激情在线一区二区| 一区二区三区蜜桃网| 麻豆成人av在线| 色综合天天综合网天天狠天天 | 中文字幕一区三区| 午夜精品久久久久久久久| 国产一区二区看久久| 91黄视频在线| 久久影院午夜论| 亚洲一区二区四区蜜桃| 国产主播一区二区| 欧美亚洲动漫精品| 久久精品亚洲精品国产欧美kt∨| 亚洲一卡二卡三卡四卡无卡久久| 久久99日本精品| 中文字幕亚洲在| 强制捆绑调教一区二区| 一本大道av伊人久久综合| 精品久久久久一区| 亚洲国产成人tv| 成人理论电影网| 2020国产精品久久精品美国| 亚洲午夜免费电影| 懂色av一区二区三区免费观看| 欧美一卡2卡三卡4卡5免费| 亚洲精品中文字幕在线观看| 国产精一区二区三区| 欧美精品123区| 一区二区三区精品视频在线| 成人午夜免费av| 久久夜色精品一区| 久久精品国产秦先生| 欧美日韩一区二区三区在线| 国产精品久久久久久亚洲毛片| 日韩黄色片在线观看| 99riav久久精品riav| 欧美激情一区在线| 国产又黄又大久久| 日韩一级成人av| 视频一区免费在线观看| 91丨porny丨蝌蚪视频| 日本一区二区三区电影| 国产精品资源在线| 欧美xxxxxxxxx| 免费看日韩a级影片| 欧美美女黄视频| 亚洲丰满少妇videoshd| 色婷婷av一区二区三区之一色屋| 中文字幕 久热精品 视频在线 | 亚洲自拍都市欧美小说| 成人精品视频一区二区三区 | 成人高清视频免费观看| 国产午夜精品理论片a级大结局 | 国内久久婷婷综合| 精品三级av在线| 久久草av在线| 日韩欧美国产麻豆| 久久国产精品72免费观看| 欧美大片一区二区| 久久99精品久久久久久国产越南 | 欧美一级二级三级乱码| 日本一道高清亚洲日美韩| 欧美老女人在线| 日韩av一级电影| 日韩午夜av电影| 久久99精品国产麻豆不卡| 精品99999| 国产不卡视频一区二区三区| 激情都市一区二区| 久久久久国产成人精品亚洲午夜 | 欧美一区二区在线不卡| 日本aⅴ精品一区二区三区| 欧美一区二区三级| 精品一区二区三区视频| 国产欧美精品一区二区三区四区 | 亚洲欧美偷拍卡通变态| 欧洲国内综合视频| 免费看黄色91| 国产欧美精品一区二区色综合朱莉 | 精品一区二区三区在线视频| 久久精品一区二区| 99国产精品99久久久久久| 午夜成人免费视频| 欧美r级电影在线观看| 东方aⅴ免费观看久久av| 亚洲黄色免费电影| 欧美一级一级性生活免费录像| 精品亚洲免费视频| 亚洲欧洲性图库| 制服丝袜中文字幕一区| 国产乱一区二区| 亚洲最快最全在线视频| 欧美videossexotv100| 99视频一区二区| 青草av.久久免费一区| 国产精品久久久久四虎| 91精品麻豆日日躁夜夜躁| 国产主播一区二区三区| 亚洲综合视频网| 精品国产免费久久| 在线观看成人小视频| 国产一区二区三区免费在线观看| 自拍偷自拍亚洲精品播放| 欧美一区二区观看视频| 99久久综合99久久综合网站| 午夜影院久久久| 国产精品女人毛片| 日韩欧美一区中文| 91蝌蚪国产九色| 国产一区二区三区四区五区入口| 亚洲美女偷拍久久| 久久综合av免费| 欧美日韩国产另类不卡| 粉嫩av一区二区三区粉嫩 | 蜜桃久久av一区| 亚洲黄色在线视频| 久久久亚洲精品一区二区三区| 欧美视频一区二区在线观看| 国产美女精品在线| 午夜一区二区三区视频| 亚洲国产精品v| 久久综合色天天久久综合图片| 欧美日韩精品一区二区| 99热在这里有精品免费| 国产一区中文字幕|