资源简介
求解0-1二次规划的粒子群算法
先将离散的0-1变量约束转化成了不光滑方程的约束,再用磨光函数方法对其光滑化。最终,把原来的数学模型转化为可微的非线性规划问题。最后,粒子群优化算法求解
代码片段和文件信息
% demopsobehavior.m
% demo of the pso.m function
% the pso tries to find the minimum of the f6 function a standard
% benchmark
%
% on the plots blue is current position green is Pbest and red is Gbest
% Brian Birge
% Rev 3.0
% 2/27/06
clear all
close all
clc
help demopsobehavior
warning off
functnames = {‘ackley‘‘alpine‘‘DeJong_f2‘‘DeJong_f3‘‘DeJong_f4‘...
‘Foxhole‘‘Griewank‘‘NDparabola‘...
‘Rastrigin‘‘Rosenbrock‘‘f6‘‘f6mod‘‘tripod‘...
‘f6_bubbles_dyn‘‘f6_linear_dyn‘‘f6_spiral_dyn‘};
disp(‘Static test functions minima don‘‘t change w.r.t. time/iteration:‘);
disp(‘ 1) Ackley‘);
disp(‘ 2) Alpine‘);
disp(‘ 3) DeJong_f2‘);
disp(‘ 4) DeJong_f3‘);
disp(‘ 5) DeJong_f4‘);
disp(‘ 6) Foxhole‘);
disp(‘ 7) Griewank‘);
disp(‘ 8) NDparabola (for this demo N = 2)‘);
disp(‘ 9) Rastrigin‘);
disp(‘10) Rosenbrock‘);
disp(‘11) Schaffer f6‘);
disp(‘12) Schaffer f6 modified (5 f6 functions translated from each other)‘);
disp(‘13) Tripod‘);
disp(‘ ‘);
disp(‘Dynamic test functions minima/environment evolves over time/iteration:‘);
disp(‘14) f6_bubbles_dyn‘);
disp(‘15) f6_linear_dyn‘);
disp(‘16) f6_spiral_dyn‘);
functchc=input(‘Choose test function ? ‘);
functname = functnames{functchc};
disp(‘ ‘);
disp(‘1) Intense graphics shows error topology and surfing particles‘);
disp(‘2) Default PSO graphing shows error trend and particle dynamics‘);
disp(‘3) no plot only final output shown fastest‘);
plotfcn=input(‘Choose plotting function ? ‘);
if plotfcn == 1
plotfcn = ‘goplotpso4demo‘;
shw = 1; % how often to update display
elseif plotfcn == 2
plotfcn = ‘goplotpso‘;
shw = 1; % how often to update display
else
plotfcn = ‘goplotpso‘;
shw = 0; % how often to update display
end
% set flag for ‘dynamic function on‘ only used at very end for tracking plots
dyn_on = 0;
if functchc==15 | functchc == 16 | functchc == 17
dyn_on = 1;
end
%xrng=input(‘Input search range for X e.g. [-1010] ? ‘);
%yrng=input(‘Input search range for Y ? ‘);
xrng=[-3030];
yrng=[-4040];
disp(‘ ‘);
% if =0 then we look for minimum =1 then max
disp(‘0) Minimize‘)
disp(‘1) Maximize‘)
minmax=input(‘Choose search goal ?‘);
% minmax=0;
disp(‘ ‘);
mvden = input(‘Max velocity divisor (2 is a good choice) ? ‘);
disp(‘ ‘);
ps = input(‘How many particles (24 - 30 is common)? ‘);
disp(‘ ‘);
disp(‘0) Common PSO - with inertia‘);
disp(‘1) Trelea model 1‘);
disp(‘2) Trelea model 2‘);
disp(‘3) Clerc Type 1“ - with constriction‘);
modl = input(‘Choose PSO model ? ‘);
% note: if errgoal=NaN then unconstrained min or max is performed
if minmax==1
% errgoal=0.97643183; % max for f6 function (close enough for termination)
errgoal=NaN;
else
% errgoal=0; % min
errgoal=NaN;
end
minx = xrng(1);
maxx = xrng(2);
miny = yrng(1);
maxy = yrng(2);
%----
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4862 2006-03-06 10:54 DemoPSOBehavior.m
----------- --------- ---------- ----- ----
4862 1
- 上一篇:Image_Steg
- 下一篇:噪声环境下的信号检测算法
相关资源
- 粒子群训练bp神经网络的matlab程序
- 二进制粒子群算法
- 混合智能优化算法
- QPSO 算法
- PSO Toolbox
- 多目标粒子群算法
- 30个MATLAB神经网络的案例
- 免疫粒子群优化算法整定自抗扰控制
- 细菌觅食算法与粒子群优化算法相结
- 粒子群算法路径规划动画演示
- DPSO离散粒子群算法解决旅行商问题
- PSO SVM SVM用于分类时的参数优化
- 粒子群算法优化极限学习机的参数
- 改进后的离散粒子群算法 (discrete
- 离散点拟合成B样条曲线
- PSO粒子群5种改进算法实例源码
- 粒子群求解电力系统机组组合优化问
- 离散变频软起动控制方法的研究与仿
- 基于粒子群算法的最短路径设计和实
- matlab 粒子群算法 路径规划
- 粒子群算法与灰狼优化结合算法PSO-
- 路径规划 matlab 粒子群算法
- 粒子群算法PSO应用于神经网络优化m
- MT_inversion 大地电磁最小二乘光滑约束
- 离散信号傅里叶变换
- 智能微网粒子群优化算法.zip
- MATLAB遗传粒子群GAPSOPID参数优化设计
- MATALB离散希尔伯特变换
- 标准粒子群算法matlab程序
- 基于粒子群的灰狼算法优化
评论
共有 条评论