-
大小: 3.47MB文件類型: .rar金幣: 2下載: 0 次發(fā)布日期: 2023-11-18
- 語言: 其他
- 標(biāo)簽:
資源簡介
蟻群算法模型(美賽B題C問,可直接調(diào)用)
畫圖,比較,一鍵式操作,基本改改就能用來做C的路徑規(guī)劃了
感謝分享師兄~

代碼片段和文件信息
function?[ACO_all_routesACO_all_path_lengthACO_parameters]?=?ACO(hobject?eventdata?handles)
%?運(yùn)行我的ACO算法,這里其實(shí)是我第一篇文章的算法,即基于統(tǒng)計(jì)排序的自適應(yīng)精英蟻群算法
global?barrier?goal?start
global?h_waitbar
%?參數(shù)設(shè)置
????Q?=?5;?%?不可改變,只能在程序里面改動
????q0_ACO?=?str2double(?get(handles.edit101‘string‘)?);
????q0?=?q0_ACO;
????beta_ACO?=?str2double(?get(handles.edit102‘string‘)?);
????beta?=?beta_ACO;
????alpha_ACO?=?str2double(?get(handles.edit103‘string‘)?);
????alpha?=?alpha_ACO;
????elite_num_ACO?=?str2double(?get(handles.edit104‘string‘)?);
????elite_ant?=?elite_num_ACO;
????rho_global_ACO?=?str2double(?get(handles.edit105‘string‘)?);
????rho_global?=?rho_global_ACO;
????rho_local_ACO?=?str2double(?get(handles.edit106‘string‘)?);
????rho_local?=?rho_local_ACO;
%?參數(shù)保存
ACO_parameters?=?[Q...
????q0...
????beta...
????alpha...
????elite_ant...
????rho_global...
????rho_local];
%?通用設(shè)置
????ant_number?=?str2double(?get(handles.edit9‘string‘)?);
????iter_number?=?str2double(?get(handles.edit10‘string‘)?);
????execute_number?=?str2double(?get(handles.edit18‘string‘)?);
%?算法運(yùn)行開始
X?=?size(barrier1);????????????????????????????????????%?問題的狀態(tài)空間矩陣的行數(shù)
Y?=?size(barrier2);????????????????????????????????????%?問題的狀態(tài)空間矩陣的列數(shù)
num_point?=?X*Y;????????????????????????????????????????%?狀態(tài)空間中所有節(jié)點(diǎn)的數(shù)量,即問題的規(guī)模
heuristic_a?=?eta_function(goalnum_pointbetaXY);????%?啟發(fā)式綜合信息
heuristic?=?heuristic_a;????????????????????????????????%?重新賦值,由于本主函數(shù)中沒有調(diào)用,所以初始時可能不計(jì)算啟發(fā)式,導(dǎo)致初始時出錯
adjacency_matrix?=?adjacency(barrierXYnum_point);????%?根據(jù)barrier障礙物信息生成一個鄰接矩陣
MAX_path_legth?=?inf;???????????????????????????????????%?預(yù)設(shè)的最大路徑長度
%?以上為一些初始數(shù)據(jù)的記錄
%?length_path(NCk)?=?();???????????????????%?NC次迭代第k只螞蟻的路徑長度,矩陣
%?routes{NCk}?=?{};????????????????????????%?NC次迭代第k只螞蟻的節(jié)點(diǎn)信息,元胞
%?以上為重要的實(shí)驗(yàn)實(shí)驗(yàn)數(shù)據(jù)保留以及最后畫圖時的調(diào)用
%%?主循環(huán):執(zhí)行蟻群算法
for?exercise=1:execute_number?%?執(zhí)行次數(shù)
????tau?=?8.*ones(num_pointnum_point);????????%?初始信息素量
????global_best_path?=?[];?????????????????????%?每次迭代時當(dāng)前全局最優(yōu)的路徑長度,行向量
????road_global?=?{};??????????????????????????%?當(dāng)前全局最優(yōu)路徑的節(jié)點(diǎn)信息
????path_sequence?=?[];????????????????????????%?初始化螞蟻?zhàn)哌^的路徑長度
????for?NC=1:iter_number?%?迭代次數(shù)
????????for?ant=1:ant_number
????????????%?????ant_die?=?0;
????????????%%?一代螞蟻都開始找路
????????????node?=?start;???????????????????????????????????????%?所有螞蟻放在起始位置
????????????path_sequence?=?node;???????????????????????????????%?記錄一只螞蟻的行駛路徑的節(jié)點(diǎn)信息
????????????path_length?=?0;????????????????????????????????????%?記錄螞蟻?zhàn)哌^的路徑長度
????????????tabu?=?ones(1X*Y);?????????????????????????????????%?初始化禁忌表,其中1表示還未經(jīng)過的節(jié)點(diǎn)標(biāo)號
????????????tabu(node)?=?0;?????????????????????????????????????%?使初始點(diǎn)不能再被選擇
????????????data?=?adjacency_matrix;????????????????????????????%?重復(fù)使用并修改而不破壞原始鄰接矩陣
????????????data_node?=?data(node:);???????????????????????????%?取出當(dāng)前節(jié)點(diǎn)的鄰接矩陣所在行進(jìn)行處理
????????????node_tepmlate?=?find(?data_node?);??????????????????%?發(fā)現(xiàn)滿足鄰接矩陣的下一可行節(jié)點(diǎn)的位置信息
????????????for?j=1:length(?node_tepmlate?)?????????????????????%?使其滿足禁忌表的要求(需要同時
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
????.CA....??????8026??2017-03-19?19:23??蟻群算法\GUI源文件保存\ACO.m
????.CA....??????7170??2017-03-19?19:24??蟻群算法\GUI源文件保存\ACS.m
????.CA....??????4026??2017-03-05?15:22??蟻群算法\GUI源文件保存\adjacency.m
????.CA....???????761??2017-03-19?15:20??蟻群算法\GUI源文件保存\analyse_multi_algorithm.m
????.CA....??????6077??2017-03-19?19:25??蟻群算法\GUI源文件保存\AS.m
????.CA....??????8840??2017-03-22?17:17??蟻群算法\GUI源文件保存\barrier\barrier_tmp.xlsx
????.CA....?????18941??2016-08-02?09:11??蟻群算法\GUI源文件保存\barrier\complex_1.xlsx
????.CA....?????18923??2017-02-23?19:15??蟻群算法\GUI源文件保存\barrier\complex_2.xlsx
????.CA....?????16321??2016-06-16?17:05??蟻群算法\GUI源文件保存\barrier\complex_30.xlsx
????.CA....?????18280??2016-06-16?16:24??蟻群算法\GUI源文件保存\barrier\complex_50_1.xlsx
????.CA....?????17229??2017-02-28?23:16??蟻群算法\GUI源文件保存\barrier\complex_50_2.xlsx
????.CA....?????17055??2016-06-20?15:19??蟻群算法\GUI源文件保存\barrier\complex_50_3.xlsx
????.CA....?????11154??2016-06-16?10:58??蟻群算法\GUI源文件保存\barrier\complex_z.xlsx
????.CA....?????10578??2016-06-16?10:52??蟻群算法\GUI源文件保存\barrier\e_barrier.xlsx
????.CA....?????10554??2016-06-17?19:13??蟻群算法\GUI源文件保存\barrier\light_u_barrier.xlsx
????.CA....?????10597??2016-06-17?19:13??蟻群算法\GUI源文件保存\barrier\right_u_barrier.xlsx
????.CA....?????11273??2016-06-17?19:01??蟻群算法\GUI源文件保存\barrier\simple_e.xlsx
????.CA....?????10596??2016-06-16?10:53??蟻群算法\GUI源文件保存\barrier\u_barrier.xlsx
????.CA....?????11154??2016-06-16?10:58??蟻群算法\GUI源文件保存\barrier\z_barrier.xlsx
????.CA....??????8637??2017-03-19?15:38??蟻群算法\GUI源文件保存\dispalce_pushbutton23.m
????.CA....??????6852??2017-03-19?19:25??蟻群算法\GUI源文件保存\EAS.m
????.CA....???????473??2017-03-05?15:29??蟻群算法\GUI源文件保存\eta_function.m
????.CA....???????730??2017-03-15?14:10??蟻群算法\GUI源文件保存\figure_barrier.m
????.CA....??????1077??2017-03-20?15:15??蟻群算法\GUI源文件保存\figure_convergence.m
????.CA....???????259??2017-03-20?15:15??蟻群算法\GUI源文件保存\figure_convergence_global.m
????.CA....???????253??2017-03-20?15:15??蟻群算法\GUI源文件保存\figure_convergence_iter.m
????.CA....??????2320??2017-03-20?21:05??蟻群算法\GUI源文件保存\figure_convergence_multi.m
????.CA....???????395??2017-03-17?20:34??蟻群算法\GUI源文件保存\figure_diversity_line.m
????.CA....??????9293??2017-03-22?16:39??蟻群算法\GUI源文件保存\figure_multi_algorithm.m
????.CA....??????1104??2017-03-15?09:03??蟻群算法\GUI源文件保存\figure_path.m
............此處省略28個文件信息
評論
共有 條評論