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

  • 大小: 10KB
    文件類型: .m
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2021-05-09
  • 語(yǔ)言: Matlab
  • 標(biāo)簽: tsp??

資源簡(jiǎn)介

通過(guò)禁忌搜索算法求解經(jīng)典的TSP問(wèn)題(MATLAB源代碼),TSP問(wèn)題為假設(shè)有一個(gè)旅行商人要拜訪n個(gè)城市,他必須選擇所要走的路徑,路徑的限制是每個(gè)城市只能拜訪一次,而且最后要回到原來(lái)出發(fā)的城市。路徑的選擇目標(biāo)是要求得的路徑路程為所有路徑之中的最小值。

資源截圖

代碼片段和文件信息

%?Travelling?Sales?man?problem?using?Tabu?Search使用禁忌搜索的旅行商問(wèn)題
%?This?assumes?the?distance?matrix?is?symmetric假設(shè)距離矩陣是對(duì)稱的
%?Tour?always?starts?from?node?1旅行總是開始從節(jié)點(diǎn)1開始
%?**********Read?distance?(cost)?matrix?from?Excel?sheet?“data.xls“******讀取距離(成本)矩陣從Excel表”數(shù)據(jù).xls”
clearclc;
d?=?xlsread(‘tsp_data.xls‘);
d_orig?=?d;
start_time?=?cputime;
dim1?=?size(d1);%返回矩陣的行
dim12?=?size(d);%返回矩陣的行和列
for?i=1:dim1
d(ii)=10e+06;
end
%?*****************Initialise?all?parameters**********************初始化所有參數(shù)
d1=d;
tour?=?zeros(dim12);
cost?=?0;
min_dist=[?];
short_path=[?];
best_nbr_cost?=?0;
best_nbr?=?[?];
%?*******Generate?Initial?solution?-?find?shortest?path?from?each?node****生成初始解決方案-從每個(gè)節(jié)點(diǎn)找到最短路徑
%?if?node?pair?1-2?is?selected?make?distance?from?2?to?each?of?earlier
%visited?nodes?very?high?to?avoid?a?subtour訪問(wèn)高度節(jié)點(diǎn)以避免回路
k?=?1;%初始點(diǎn)
for?i=1:dim1-1
min_dist(i)?=?min(d1(k:));
short_path(i)?=?find((d1(k:)==min_dist(i))1);
cost?=?cost+min_dist(i);
k?=?short_path(i);
%?prohibit?all?paths?from?current?visited?node?to?all?earlier?visited?nodes禁止從當(dāng)前訪問(wèn)的節(jié)點(diǎn)到所有早期訪問(wèn)的節(jié)點(diǎn)的所有路徑
d1(k1)=10e+06;
for?visited_node?=?1:length(short_path);?
d1(kshort_path(visited_node))=10e+06;
end
end
tour(1short_path(1))=1;
for?i=2:dim1-1
tour(short_path(i-1)short_path(i))=1;
end
%Last?visited?node?is?k;最后訪問(wèn)節(jié)點(diǎn)為K
%shortest?path?from?last?visited?node?is?always?1?where?the?tour旅行商最后一次訪問(wèn)節(jié)點(diǎn)的最短路徑總是1
%originally?started?from從最初開始
last_indx?=?length(short_path)+1;
short_path(last_indx)=1;
tour(kshort_path(last_indx))=1;
cost?=?cost+d(k1);
%?A?tour?is?represented?as?a?sequence?of?nodes?startig?from?second?node?(as旅行商被表示為一個(gè)從第二個(gè)節(jié)點(diǎn)出發(fā)的一序列的節(jié)點(diǎn)
%?node?1?is?always?fixed?to?be?1節(jié)點(diǎn)1總是固定為1
crnt_tour?=?short_path;
best_tour?=?short_path;
best_obj?=cost;
crnt_tour_cost?=?cost;
fprintf(‘\nInitial?solution\n‘);%最初的解決方案
crnt_tour
fprintf(‘\nInitial?tour?cost?=?%d\t‘?crnt_tour_cost);
nbr_cost=[?];
%?Initialize?Tabu?List?“tabu_tenure“?giving?the?number?of?iterations?for初始化禁忌表”tabu_tenure”給出的迭代次數(shù)
%?which?a?particular?pair?of?nodes?are?forbidden?from?exchange禁止一對(duì)特定的節(jié)點(diǎn)被禁止交換
tabu_tenure?=?zeros(dim12);%初始化禁忌表
max_tabu_tenure?=?round(sqrt(dim1));%禁忌長(zhǎng)度
%max_tabu_tenure?=?dim1;
penalty?=?zeros(1(dim1-1)*(dim1-2)/2);
frequency?=?zeros(dim12);
frequency(1:)=100000;
frequency(:1)=100000;?
for?i=1:dim1
frequency(ii)=100000;
end
iter_snc_last_imprv?=?0;
%*********Perform?the?iteration?until?one?of?the?criteria?is?met***********執(zhí)行迭代直到符合條件的一個(gè)
%1.?Max?number?of?iterations?reached***************************************達(dá)到最大迭代次數(shù)
%2.?Iterations?since?last?improvement?in?the?best?objective?found?so?far自最后一次改進(jìn)的迭代,在迄今為止發(fā)現(xiàn)的最好的目標(biāo)
%?reaches?a?threshold******************************************************達(dá)到一個(gè)閾值
best_nbr?=?crnt_tour;
for?iter=1:100%迭代次數(shù)
fprintf(‘\n*****iteration?number?=?%d*****\n‘?iter);
nbr?=[];
%?*******************Find?all?neighbours?to?current?tour?by?an?exchange通過(guò)變換尋找當(dāng)前位置的所有鄰居
%******************between?each?pair?of?nodes**************

評(píng)論

共有 條評(píng)論