资源简介
蚁群算法模型(美赛B题C问,可直接调用)
画图,比较,一键式操作,基本改改就能用来做C的路径规划了
感谢分享师兄~
代码片段和文件信息
function [ACO_all_routesACO_all_path_lengthACO_parameters] = ACO(hobject eventdata handles)
% 运行我的ACO算法,这里其实是我第一篇文章的算法,即基于统计排序的自适应精英蚁群算法
global barrier goal start
global h_waitbar
% 参数设置
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;
% 参数保存
ACO_parameters = [Q...
q0...
beta...
alpha...
elite_ant...
rho_global...
rho_local];
% 通用设置
ant_number = str2double( get(handles.edit9‘string‘) );
iter_number = str2double( get(handles.edit10‘string‘) );
execute_number = str2double( get(handles.edit18‘string‘) );
% 算法运行开始
X = size(barrier1); % 问题的状态空间矩阵的行数
Y = size(barrier2); % 问题的状态空间矩阵的列数
num_point = X*Y; % 状态空间中所有节点的数量,即问题的规模
heuristic_a = eta_function(goalnum_pointbetaXY); % 启发式综合信息
heuristic = heuristic_a; % 重新赋值,由于本主函数中没有调用,所以初始时可能不计算启发式,导致初始时出错
adjacency_matrix = adjacency(barrierXYnum_point); % 根据barrier障碍物信息生成一个邻接矩阵
MAX_path_legth = inf; % 预设的最大路径长度
% 以上为一些初始数据的记录
% length_path(NCk) = (); % NC次迭代第k只蚂蚁的路径长度,矩阵
% routes{NCk} = {}; % NC次迭代第k只蚂蚁的节点信息,元胞
% 以上为重要的实验实验数据保留以及最后画图时的调用
%% 主循环:执行蚁群算法
for exercise=1:execute_number % 执行次数
tau = 8.*ones(num_pointnum_point); % 初始信息素量
global_best_path = []; % 每次迭代时当前全局最优的路径长度,行向量
road_global = {}; % 当前全局最优路径的节点信息
path_sequence = []; % 初始化蚂蚁走过的路径长度
for NC=1:iter_number % 迭代次数
for ant=1:ant_number
% ant_die = 0;
%% 一代蚂蚁都开始找路
node = start; % 所有蚂蚁放在起始位置
path_sequence = node; % 记录一只蚂蚁的行驶路径的节点信息
path_length = 0; % 记录蚂蚁走过的路径长度
tabu = ones(1X*Y); % 初始化禁忌表,其中1表示还未经过的节点标号
tabu(node) = 0; % 使初始点不能再被选择
data = adjacency_matrix; % 重复使用并修改而不破坏原始邻接矩阵
data_node = data(node:); % 取出当前节点的邻接矩阵所在行进行处理
node_tepmlate = find( data_node ); % 发现满足邻接矩阵的下一可行节点的位置信息
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个文件信息
评论
共有 条评论