[최적화 솔루션] MATLAB ant colony 알고리즘 기반 기능 최적화 분석 [Matlab 소스 코드 219 포함]

1. 소개

1
개미 식민지 알고리즘의 개요 개미 식민지 알고리즘 ACO는 새로운 유형의 시뮬레이션 진화 알고리즘으로, 알고리즘은 개미 식민지의 능력을 사용하여 개별 시스템의 최적화에서 몇 가지 어려운 문제를 해결하기 위해 먹이 소스를 검색합니다. 출장 세일즈맨 문제 (TSP 문제), 할당 문제, 일정 문제 등을 해결하는 데 사용해야하며 일련의 좋은 실험 결과를 얻었습니다.
개미 한 마리의 행동은 매우 단순하지만, 그러한 한 개체로 구성된 개미 군락은 매우 복잡한 행동을 보여줍니다. 그 이유는 개미 한 마리가 페로몬이라는 일종의 페로몬을 통과하기 때문입니다. 물질은 정보를 전달합니다. 개미는 이동 경로에 물질을 남기고 이동 방향을 안내 할 수 있습니다. 개미는 물질이 강한 방향으로 움직이는 경향이 있습니다. 개미 군락의 이동 방향에 장애물이 생기면 처음에는 개미가 균등하게 분포하므로 경로의 길이에 관계없이 항상 같은 확률로 다양한 경로를 선택합니다. 개미는 이동 경로에 페로몬을 남길 수 있습니다. 페로몬의 농도가 높은 개미는 더 많을 것입니다. 동시에 짧은 경로에서 페로몬의 농도가 높아져 더 짧은 경로를 선택하는 개미의 수가 증가합니다 특정 경로를 따라 이동하는 개미가 많을수록 따라 오는 개미가이 경로를 선택할 확률이 높아져 더 많은 개미가 짧은 경로를 선택하는 반면 개미는 다른 경로 (긴 경로)를 선택하는 속도가 천천히 사라집니다. 개미 집락은이 페로몬 교환을 통해 먹이를 찾고 마지막으로 최적의 경로를 선택하는 것이 개미 집락 알고리즘의 생물학적 배경과 기본 원리입니다.
2 개미 집락 알고리즘의 성능 분석
다음과 같은 장점이 있습니다.
(1) 강력한 견고성 : 기본 개미 집락 알고리즘 모델을 약간 수정하면 다른 문제에 적용될 수 있습니다.
(2) 분산 컴퓨팅 : 개미 식민지 알고리즘은 인구를 기반으로하는 진화 알고리즘으로 본질적으로 병렬적이고 병렬로 구현하기 쉽습니다.
(3) 다른 지능형 알고리즘과의 결합 용이성 : Ant colony 알고리즘은 다양한 휴리스틱 알고리즘 (입자 군집 알고리즘, 유전 알고리즘 등)과 쉽게 결합하여 알고리즘의 성능을 향상시킵니다.
개미 식민지 알고리즘에는 몇 가지 단점도 있습니다.
(1) 긴 탐색 시간 : 개미 군락에서 여러 개체의 이동은 무작위이기 때문에 정보 전달은 최적의 경로로 진화 할 수 있지만 군체가 크면 복잡한 곳에서 아무것도없는 곳으로 이동하기가 어렵습니다. 장 경로 사이의 경로.
(2) 침체 행동이 발생하기 쉽습니다. 즉, 검색이 일정 수준으로 진행된 후 모든 개인이 찾은 솔루션이 정확히 동일하고 솔루션 공간을 더 이상 검색 할 수 없으므로 더 나은 검색에 도움이되지 않습니다. 솔루션은 로컬 최적에 속합니다.
(3) 연속 공간의 최적화 문제를 다루기 어렵다 : 각 단계에서 개미가 선택하는 것이 항상 제한되어 있기 때문에 이산 솔루션 공간이 필요하므로 조합 최적화와 같은 이산 최적화 문제에 매우 적합합니다. , 그러나 선형 프로그래밍의 경우 연속 공간 최적화 문제의 솔루션은 직접 적용 할 수 없습니다.

둘째, 소스 코드

%% 基于蚁群算法ACO的函数优化分析
% Designed by Yu Shengwei, From SWJTU University, 2014 08 12
clc         % 清屏
clear all;  % 删除workplace变量
close all;  % 关掉显示图形窗口
warning off
tic;        % 计时开始

%% 取值范围
popmax = 5;                 % 待寻优阈值最大取值初始化
popmin = -5;                % 待寻优阈值最小取值初始化

%% 蚁群算法ACO参数初始化
Ant = 100;    % 蚂蚁数量
Times = 100; % 蚂蚁移动次数
Rou = 0.8;   % 信息素挥发系数
P0 = 0.2;    % 转移概率常数

%% 产生初始粒子和速度
for i=1:Ant
    % 随机产生一个种群
    for j = 1: 2
        pop(i,j) = (rand(1,1) * ( popmax-popmin ) + popmin );  % 初始种群个体
    end
    % 计算适应度
    fitness(i) = Fitness_ACO( pop(i,:), 'aco');   % 染色体的适应度
end

% 找最好的染色体
[bestfitness bestindex]=min(fitness); % 最大适应度值
zbest = pop(bestindex,:);             % 全局最佳
gbest = pop;                          % 个体最佳
fitnessgbest = fitness;               % 个体最佳适应度值
fitnesszbest = bestfitness;           % 全局最佳适应度值

%% 迭代寻优
for T = 1:Times   
     disp(['迭代次数:   ',num2str(T)])        % 迭代次数

    lamda = 1/T;                               % 随着迭代次数进行,蚂蚁信息素挥发参数
    [bestfitness, bestindex]=min(fitness);     % 找最好的适应度值
    ysw(T) = bestfitness;                      % 存储最好的适应度值
    for i=1:Ant
        P(T,i)=(fitness(bestindex)-fitness(i))/fitness(bestindex);  % 计算状态转移概率
    end
    % 蚂蚁个体更新
    for i=1:Ant
        if P(T,i)<P0  % 局部搜索
            temp(i,:) = pop(i,:)+(2*rand-1)*lamda;
        else          % 全局搜索
            temp(i,:) = pop(i,:)+(popmax-popmin)*(rand-0.5);
        end
        % 越界处理
        temp(i,find(temp(i,:)>popmax))=popmax;
        temp(i,find(temp(i,:)<popmin))=popmin;
        % 判断蚂蚁是否移动
        if Fitness_ACO( temp(i,:), 'aco') < Fitness_ACO(pop(i,:), 'aco')  % 判断蚂蚁是否移动
            pop(i,:) = temp(i,:);
        end

세, 실행 결과

여기에 사진 설명 삽입

네, 비고

완전한 코드 또는 쓰기 추가 QQ1564658423 과거 검토
>>>>>>
matlab 입자 떼 최적화 회색 늑대 알고리즘을
기반으로 [최적화] [ Matlab 소스 코드 006 포함] [최적화] matlab 다목적 회색 늑대 최적화 알고리즘 MOGWO [Matlab 포함] 기반 소스 코드 문제 007]
[최적화 된 솔루션] matlab 입자 군집 알고리즘을 기반으로 한 충전소의 최적 레이아웃 [Matlab 소스 코드 012 포함]
[최적화 된 솔루션] matlab 유전 알고리즘을 기반으로 한 다중 여행 세일즈맨 문제 [Matlab 소스 코드 016 포함]
[최적화 됨 솔루션】 matlab 유전 알고리즘 기반 최단 경로 찾기 [Matlab 소스 코드 023 포함]
[최적화 솔루션] MATLAB 유전 및 시뮬레이션 어닐링 기반 3D 패킹 문제 [Matlab 소스 코드 031 포함]
[최적화 솔루션] 차량 출발 간격 최적화 해결 Matlab 유전 알고리즘 기반 문제 [Matlab 소스 코드 132 포함]
[최적화 솔루션] Krill swarm 알고리즘 [matlab 소스 코드 133 포함]
[최적화 솔루션] 미분 진화 알고리즘 [Matlab 소스 코드 134 포함]
[최적화 솔루션] 기반의 페널티 함수 방법 matlab 제약 최적화 [Matlab 소스 코드 163주기 포함]
[최적화 솔루션] 중유 열분해 모델을 해결하기 위해 matlab 개선 된 회색 늑대 알고리즘 기반 [Matlab 소스 코드 164주기 포함]
[최적화 솔루션] MATLAB ant colony 알고리즘 유통망 장애 기반 위치 [Matlab 소스 코드 165 기간 포함]
[섬 물질 보충 최적화 문제를 해결하기위한 matalb 유전 알고리즘 기반 최적화 솔루션 [Matlab 소스 코드 172 포함]
[최적화 솔루션] 코로나 바이러스 인구 면역 최적화 알고리즘 (CHIO) [Matlab 소스 코드 186 포함] ]
[최적화 솔루션] Golden Eagle 최적화 알고리즘 (GEO)) 【Matlab 소스 코드 187 기간 포함】
[다목적 최적화 솔루션] matlab 골든 이글 알고리즘 (MOGEO) 기반 다목적 최적화 솔루션 [Matlab 소스 코드 188 포함]
[최적화 솔루션] matlab GUI 인터페이스 기반 BP 신경망 최적화 솔루션 [Matlab 소스 코드 208]
[최적화 솔루션] MATLAB GUI 인터페이스 기반의 유전 알고리즘 최적화 솔루션 [Matlab 소스 코드 209 포함]
[최적화 솔루션] MATLAB 면역 알고리즘 기반 수치 근사 최적화 분석 [Matlab 소스 코드 211 포함]
[최적화 솔루션] MATLAB 휴리스틱 알고리즘 기반 기능 최적화 분석 [Matlab 소스 코드 212 포함]
[최적화 솔루션] matalb 개선 된 유전 알고리즘 (GA + IGA) 기반 도시 교통 신호 최적화 [Matlab 소스 코드 213 기간 포함]
[최적화 솔루션] matalb 개선 된 유전 알고리즘 GA 기반 도시 교통 신호 최적화 [ Matlab 소스 코드 214 기간 포함]

[최적화 솔루션] matalb 개선 된 유전 알고리즘 IGA 기반 도시 교통 신호 최적화 [Matlab 소스 코드 215 포함]
[최적화 솔루션] matlab 페널티 함수 기반 입자 군집 알고리즘 기능 최적화 [Matlab 소스 코드 216 포함]
[최적화 솔루션] 기능 최적화 matlab 세균 채집 알고리즘 기반 분석 [Matlab 소스 코드 217 포함]
[최적화 솔루션] MATLAB 중력 검색 알고리즘 기반 기능 최적화 분석 [Matlab 소스 코드 218 포함]

추천

출처blog.csdn.net/TIQCmatlab/article/details/113653824