xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

  • 大小: 50KB
    文件類型: .rar
    金幣: 2
    下載: 1 次
    發(fā)布日期: 2021-04-21
  • 語言: Matlab
  • 標(biāo)簽: MATLAB??CVRP??蟻群算法??

資源簡介

一個(gè)用蟻群算法做OCVRP的代碼。不是很復(fù)雜,但通用性還可以,里面有實(shí)驗(yàn)用的數(shù)據(jù)。

資源截圖

代碼片段和文件信息

function?[]=CVRP()
clear?all
close?all
clc
%初始化蟻群
load?data.txt
global?n;????????%點(diǎn)數(shù)目
global?m;????????%螞蟻數(shù)目
global?Weight_max;???%最大載重
global?Length_max;???%最大距離
global?Weight_all;???%各點(diǎn)的載重
global?Point_all;????%所有點(diǎn),包括起始點(diǎn)
global?phe_all;??????%每兩個(gè)點(diǎn)之間的信息素???
global?Weight_sum;???%貨車當(dāng)前載重
global?alpha
global?beta
global?rho
global?Q
Nc_max=2000;
alpha=1;
beta=8;
rho=0.9;
Q=100;
n=data(11)+1;%目標(biāo)點(diǎn)個(gè)數(shù)
m=n;%螞蟻的數(shù)量等于點(diǎn)的數(shù)量
Weight_max=data(12);%最大載重
Length_max=data(13);%最大路程
Weight_all=data(2:n+13);%所有點(diǎn)的載重
Point_all=data(2:n+11:2);%起始點(diǎn)加上目標(biāo)點(diǎn)
[Pop_initeta_all]=PopinitCom(Point_all);%輸出Pop_init為各個(gè)點(diǎn)之間的距離
phe_all=ones(nn);%初始化信息素矩陣都為1
Ant_no=0;?????????%螞蟻正在的點(diǎn)的編號
Ant_visited_num=0;%螞蟻已經(jīng)訪問過的點(diǎn)的數(shù)目
Ant_path=zeros(1n);%螞蟻?zhàn)哌^的路徑
Ant_remained=zeros(1n);%螞蟻還未走的路徑
Best_length=inf;???????%初始值設(shè)最短長度為很大
%Time_start=datenum(clock);
Flag=0;%判斷搜索是否有更優(yōu)的解0為沒有,1為有
for?i=1:Nc_max
????fprintf(‘開始第%d次搜索,剩余%d次‘iNc_max-i);
????Flag=0;%初始設(shè)沒有
????for?j=1:m
%****************************************************
????????Ant_length=0;%螞蟻?zhàn)哌^的長度清0
????????Ant_path=Ant_path*0;%螞蟻?zhàn)哌^的路徑清0
????????Ant_remained=Ant_remained+1;%所有點(diǎn)設(shè)為可去
????????Ant_path(1)=1;%第一個(gè)點(diǎn)設(shè)為1,也就設(shè)為起始點(diǎn)
????????Ant_no=1;%螞蟻現(xiàn)在所在的點(diǎn)為1
????????Ant_visited_num=1;%螞蟻已經(jīng)去過的點(diǎn)的數(shù)目為1
????????Ant_remained(1)=0;%第一個(gè)點(diǎn)設(shè)為去過
%????????rand(‘state‘?sum(100*clock));
%*******************************************************??
????while?(Ant_visited_num????????To_visit=-1;%將下一個(gè)即將要去的點(diǎn)設(shè)為-1
%******************************************************
%概率的確定是最基本的信息素乘以啟發(fā)值
????????Pro_sum=0;
????????phe_all_sum=0;
????????eta_all_sum=0;
??????for?jj=1:n
????????if(Ant_remained(jj)==1)
????????????phe_all_sum=phe_all_sum+phe_all(Ant_nojj);
?????????????eta_all_sum=eta_all_sum+eta_all(Ant_nojj);
????????end
??????end
????????for?ii=1:n
????????????if(Ant_remained(ii)==1)%點(diǎn)未訪問過
????????????????Probability(ii)=(phe_all(Ant_noii))^alpha*(eta_all(Ant_noii))^beta;
????????????????Pro_sum=Pro_sum+Probability(ii);
????????????else
????????????????Probability(ii)=0;%如果點(diǎn)去過該點(diǎn)的概率設(shè)為0
????????????end
????????end
%******************************************************????????
%這里使用輪盤賭的方法
????????Temp=0;
????????if?Pro_sum>0
????????????Temp=rand*Pro_sum;
????????????for?jj=1:n
????????????????if?Ant_remained(jj)==1
????????????????????Temp=Temp-Probability(jj);
????????????????????if?Temp<0
????????????????????????To_visit=jj;
????????????????????????break;
????????????????????end
????????????????end
????????????end
????????end
????????
????????if?To_visit==-1
????????????for?k=1:n
????????????????if?Ant_remained(k)==1?%該點(diǎn)沒訪問過
????????????????????To_visit=k;
????????????????????break;
????????????????end
????????????end
????????end
????Ant_visited_num=Ant_visited_num+1;%已經(jīng)訪問過的點(diǎn)的數(shù)目+1
????Ant_path(Ant_visited_num)=To_visit;%保存螞蟻?zhàn)叩穆窂?br/>????Ant_remained(To_visit)=0;%該點(diǎn)訪問過
????Ant_no=To_visit;???????
????end

?%******************************************************?

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----

?????文件???????6586??2012-12-19?13:02??CVRP\CVRP.asv

?????文件???????7155??2013-01-04?22:40??CVRP\CVRP.m

?????文件????????507??2012-12-15?08:49??CVRP\data.txt

?????文件????????492??2012-12-18?14:49??CVRP\PopinitCom.m

?????文件????????300??2012-12-19?22:31??CVRP\數(shù)據(jù)實(shí)驗(yàn)\16(1).txt

?????文件??????27805??2012-12-19?22:30??CVRP\數(shù)據(jù)實(shí)驗(yàn)\16(1).jpg

?????文件??????13854??2012-12-21?20:14??CVRP\新建?Microsoft?Office?Excel?工作表.xlsx

?????文件??????12364??2012-12-21?19:36??CVRP\新建?Microsoft?Office?Word?文檔?(2).docx

?????文件???????6865??2012-12-19?16:26??CVRP\最基本版本,收斂過早\CVRP.m

?????文件????????492??2012-12-18?14:49??CVRP\最基本版本,收斂過早\PopinitCom.m

?????目錄??????????0??2012-12-19?22:31??CVRP\數(shù)據(jù)實(shí)驗(yàn)

?????目錄??????????0??2012-12-19?16:43??CVRP\最基本版本,收斂過早

?????目錄??????????0??2012-12-21?20:29??CVRP

-----------?---------??----------?-----??----

????????????????76420????????????????????13


評論

共有 條評論