• 大小: 3.47MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-11-18
  • 语言: 其他
  • 标签:

资源简介

蚁群算法模型(美赛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个文件信息

评论

共有 条评论

相关资源