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

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

?? tsp程序.txt

?? 關于經典NP問題的處理!
?? TXT
字號:
TSP問題的遺傳算法--轉載 


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。
交叉過程:本文采用常規單點交叉。為確定交叉操作的父代,從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一区二区三区免费野_久草精品视频
欧美成人三级电影在线| 99r精品视频| 69堂成人精品免费视频| 婷婷成人综合网| 日韩一级片在线播放| 精品中文字幕一区二区| 精品剧情在线观看| 经典三级视频一区| 国产精品日韩精品欧美在线| 91麻豆福利精品推荐| 亚洲午夜羞羞片| 日韩午夜av一区| 国产美女精品在线| 国产精品第一页第二页第三页| 91免费国产视频网站| 亚洲免费在线观看| 欧美精品1区2区3区| 国产真实乱对白精彩久久| 亚洲国产精品成人综合| 91蝌蚪porny| 天天色天天操综合| 26uuu色噜噜精品一区二区| 成人av影视在线观看| 亚洲精品一二三区| 日韩一级高清毛片| 成人h版在线观看| 亚洲一区二区三区视频在线| 日韩久久久久久| av亚洲精华国产精华精| 午夜精品久久久久久久| 欧美—级在线免费片| 欧美综合天天夜夜久久| 九色综合国产一区二区三区| 亚洲欧美在线视频观看| 69av一区二区三区| 成人一道本在线| 日韩成人免费电影| 国产精品乱码人人做人人爱| 5566中文字幕一区二区电影| 国产不卡视频一区| 日本怡春院一区二区| 国产精品午夜电影| 91麻豆精品国产91久久久久| 成人av在线影院| 精品午夜久久福利影院| 婷婷丁香激情综合| 亚洲欧美电影院| 国产婷婷色一区二区三区四区| 欧美三级资源在线| 91亚洲精品久久久蜜桃网站 | 国产精品拍天天在线| 91精品国产综合久久香蕉麻豆| 91免费在线看| 国产成人在线免费观看| 日韩精品乱码免费| 亚洲精品成人悠悠色影视| 欧美激情在线一区二区三区| 日韩一区二区精品| 欧美人成免费网站| 91福利在线播放| 91原创在线视频| 成人午夜在线免费| 国产精品影音先锋| 免费成人深夜小野草| 性做久久久久久久免费看| 亚洲人成网站精品片在线观看 | 欧美丝袜丝交足nylons图片| 成人午夜又粗又硬又大| 国产精品 日产精品 欧美精品| 蜜芽一区二区三区| 日韩av在线发布| 亚洲成年人网站在线观看| 亚洲乱码中文字幕| 《视频一区视频二区| 中文字幕巨乱亚洲| 国产精品乱人伦| 国产精品免费免费| 欧美自拍偷拍一区| 色网综合在线观看| 视频一区欧美日韩| 一区二区三区中文字幕| 亚洲欧美经典视频| 一区二区三区四区亚洲| 亚洲精品水蜜桃| 亚洲精品国产精华液| 一区二区欧美国产| 亚洲电影中文字幕在线观看| 亚洲成av人片观看| 亚洲成av人在线观看| 午夜精品福利在线| 蜜桃一区二区三区在线| 九九在线精品视频| 国产精品亚洲综合一区在线观看| 欧美精品一级二级| 91.麻豆视频| 日韩欧美中文字幕精品| 久久日韩精品一区二区五区| 国产日本亚洲高清| 国产精品初高中害羞小美女文| 成人欧美一区二区三区在线播放| 国产精品理论片在线观看| 亚洲视频一二三区| 午夜精品一区二区三区免费视频 | 日韩av午夜在线观看| 奇米四色…亚洲| 国产乱一区二区| 91一区二区三区在线观看| 欧美日韩另类一区| 欧美成人女星排行榜| 国产精品日韩成人| 亚洲第一成年网| 久草精品在线观看| 91原创在线视频| 日韩你懂的在线播放| 国产精品久久久久久久久动漫 | 中文字幕不卡在线| 伊人色综合久久天天人手人婷| 午夜电影网亚洲视频| 国产成a人无v码亚洲福利| 欧美视频完全免费看| 久久久噜噜噜久久中文字幕色伊伊| 国产精品视频看| 婷婷国产v国产偷v亚洲高清| 国产毛片精品国产一区二区三区| 99综合影院在线| 欧美一级二级三级蜜桃| 国产精品麻豆视频| 免费在线观看不卡| 成人精品小蝌蚪| 亚洲欧美色综合| 欧美日本在线看| 国模冰冰炮一区二区| av资源网一区| 国产精品拍天天在线| 日韩vs国产vs欧美| 波多野洁衣一区| 91精品国产综合久久婷婷香蕉| 国产精品午夜在线| 久草这里只有精品视频| 欧美日韩在线观看一区二区| 亚洲国产精品v| 九九在线精品视频| 欧美日韩国产一级片| 国产亚洲综合在线| 美女网站色91| 6080日韩午夜伦伦午夜伦| 一区二区三区在线视频播放| 国产成人免费视| 337p日本欧洲亚洲大胆精品| 五月天丁香久久| 91精品1区2区| 成人欧美一区二区三区视频网页| 国产麻豆日韩欧美久久| 欧美一区二区三区四区在线观看| 亚洲综合色区另类av| 97久久超碰精品国产| 国产日韩欧美亚洲| 精品无人区卡一卡二卡三乱码免费卡 | 日韩一区二区免费高清| 亚洲3atv精品一区二区三区| 色综合天天视频在线观看| 日本一区二区视频在线观看| 久久99国产乱子伦精品免费| 欧美一个色资源| 久久精品国产精品亚洲红杏| 日韩午夜激情电影| 蜜桃av一区二区三区| 91精品国产91久久久久久最新毛片| 亚洲成av人综合在线观看| 欧美日韩一区小说| 亚洲综合区在线| 欧美三级资源在线| 天天综合网 天天综合色| 91精品午夜视频| 乱中年女人伦av一区二区| 精品欧美一区二区久久| 九九视频精品免费| 国产色一区二区| 成人开心网精品视频| 亚洲欧美日韩国产中文在线| 色哟哟精品一区| 亚洲午夜羞羞片| 日韩欧美你懂的| 国产精品影视网| 亚洲国产精品av| 欧美亚洲日本国产| 秋霞电影一区二区| 久久精品人人做人人爽人人| av中文字幕在线不卡| 亚洲二区在线观看| 日韩一区二区三区视频在线观看| 国模套图日韩精品一区二区| 国产精品丝袜在线| 日本道在线观看一区二区| 日韩一区精品视频| 国产亲近乱来精品视频| 色视频一区二区| 美洲天堂一区二卡三卡四卡视频 | 免费久久精品视频| 中文字幕不卡在线播放|