【优化求解】基于matlab GUI界面之蚁群算法优化求解【含Matlab源码 254期】

一、简介

1 蚁群算法的提出
蚁群算法(ant colony optimization, ACO),又称蚂蚁算法,是一种用来寻找优化路径的机率型算法。它由Marco Dorigo于1992年在他的博士论文中提出,其灵感来源于蚂蚁在寻找食物过程中发现路径的行为。遗传算法在模式识别、神经网络、机器学习、工业优化控制、自适应控制、生物科学、社会科学等方面都得到应用。
2 算法的基本原理
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、源代码

clear all
clc
h=[1801 2201 1901 2401 2301 2101 2501 2401 2701 2601 2901
   1601 2010 2010 2601 2901 2010 2010 2501 2701 3010 2801
   2101 1901 2010 1901 1701 2010 2010 2010 2010 2501 2901
   1701 2010 2010 2010 1801 2010 2201 2010 2010 2010 2801
   2201 1801 2010 3101 2301 2401 1801 3101 3201 2301 2010
   1901 2101 2201 3010 2301 3010 3501 3101 2301 2601 2501
   1701 1401 2301 2901 2401 2801 1801 3501 2601 2010 3201
   2301 2501 2401 3101 3010 2601 3010 2301 3010 2501 2701
   2010 2201 2101 2010 2201 3010 2301 2501 2401 2010 2301
   2301 2201 2010 2301 2201 2201 2201 2501 2010 2801 2701
   2010 2301 2501 2201 2201 2010 2301 2601 2010 2501 2010];
h=h-1401;

for i=1:11
    for j=1:11
        h1(2*i-1,j)=h(i,j);
    end
end
function varargout = yiqun(varargin)
% YIQUN MATLAB code for yiqun.fig
%      YIQUN, by itself, creates a new YIQUN or raises the existing
%      singleton*.
%
%      H = YIQUN returns the handle to a new YIQUN or the handle to
%      the existing singleton*.
%
%      YIQUN('CALLBACK',hObject,eventData,handles,...) calls the local
%      function named CALLBACK in YIQUN.M with the given input arguments.
%
%      YIQUN('Property','Value',...) creates a new YIQUN or raises the
%      existing singleton*.  Starting from the left, property value pairs are
%      applied to the GUI before yiqun_OpeningFcn gets called.  An
%      unrecognized property name or invalid value makes property application
%      stop.  All inputs are passed to yiqun_OpeningFcn via varargin.
%
%      *See GUI Options on GUIDE's Tools menu.  Choose "GUI allows only one
%      instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES

% Edit the above text to modify the response to help yiqun

% Last Modified by GUIDE v2.5 16-Jul-2016 10:18:28

% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...
                   'gui_Singleton',  gui_Singleton, ...
                   'gui_OpeningFcn', @yiqun_OpeningFcn, ...
                   'gui_OutputFcn',  @yiqun_OutputFcn, ...
                   'gui_LayoutFcn',  [] , ...
                   'gui_Callback',   []);
if nargin && ischar(varargin{
     1})
    gui_State.gui_Callback = str2func(varargin{
     1});
end

if nargout
    [varargout{
     1:nargout}] = gui_mainfcn(gui_State, varargin{
     :});
else
    gui_mainfcn(gui_State, varargin{
     :});
end
% End initialization code - DO NOT EDIT


% --- Executes just before yiqun is made visible.
function yiqun_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject    handle to figure
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
% varargin   command line arguments to yiqun (see VARARGIN)

% Choose default command line output for yiqun
handles.output = hObject;

% Update handles structure
guidata(hObject, handles);

% UIWAIT makes yiqun wait for user response (see UIRESUME)
% uiwait(handles.figure1);


% --- Outputs from this function are returned to the command line.
function varargout = yiqun_OutputFcn(hObject, eventdata, handles) 
% varargout  cell array for returning output args (see VARARGOUT);
% hObject    handle to figure
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Get default command line output from handles structure
varargout{
     1} = handles.output;


% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
global z  k a

h=[1801 2201 1901 2401 2301 2101 2501 2401 2701 2601 2901
   1601 2010 2010 2601 2901 2010 2010 2501 2701 3010 2801
   2101 1901 2010 1901 1701 2010 2010 2010 2010 2501 2901
   1701 2010 2010 2010 1801 2010 2201 2010 2010 2010 2801
   2201 1801 2010 3101 2301 2401 1801 3101 3201 2301 2010
   1901 2101 2201 3010 2301 3010 3501 3101 2301 2601 2501
   1701 1401 2301 2901 2401 2801 1801 3501 2601 2010 3201
   2301 2501 2401 3101 3010 2601 3010 2301 3010 2501 2701
   2010 2201 2101 2010 2201 3010 2301 2501 2401 2010 2301
   2301 2201 2010 2301 2201 2201 2201 2501 2010 2801 2701
   2010 2301 2501 2201 2201 2010 2301 2601 2010 2501 2010];
h=h-1401;

for i=1:11
    for j=1:11
        h1(2*i-1,j)=h(i,j);
    end
end

三、运行结果

【优化求解】基于matlab GUI界面之蚁群算法优化求解【含Matlab源码 254期】_第1张图片

四、备注

完整代码或者代写添加QQ1564658423。
往期回顾>>>>>>
【优化求解】基于matlab粒子群优化灰狼算法【含Matlab源码 006期】
【优化求解】基于matlab多目标灰狼优化算法MOGWO 【含Matlab源码 007期】
【优化求解】基于matlab粒子群算法的充电站最优布局【含Matlab源码 012期】
【优化求解】基于matlab遗传算法的多旅行商问题【含Matlab源码 016期】
【优化求解】基于matlab遗传算法求最短路径【含Matlab源码 023期】
【优化求解】基于matlab遗传和模拟退火的三维装箱问题【含Matlab源码 031期】
【优化求解】基于matlab遗传算法求解车辆发车间隔优化问题【含Matlab源码 132期】
【优化求解】磷虾群算法【含matlab源码 133期】
【优化求解】差分进化算法【含Matlab源码 134期】
【优化求解】基于matlab约束优化之惩罚函数法【含Matlab源码 163期】
【优化求解】基于matlab改进灰狼算法求解重油热解模型【含Matlab源码 164期】
【优化求解】基于matlab蚁群算法配电网故障定位【含Matlab源码 165期】
【优化求解】基于matalb遗传算法求解岛屿物资补给优化问题【含Matlab源码 172期】
【优化求解】冠状病毒群体免疫优化算法(CHIO)【含Matlab源码 186期】
【优化求解】金鹰优化求解算法(GEO)【含Matlab源码 187期】
【多目标优化求解】基于matlab金鹰算法(MOGEO)的多目标优化求解【含Matlab源码 188期】
【优化求解】基于matlab GUI界面之BP神经网络优化求解【含Matlab源码 208期】
【优化求解】基于matlab GUI界面之遗传算法优化求解【含Matlab源码 209期】

你可能感兴趣的:(matlab,优化求解)