Class_10_Code(1)
所属分类:matlab编程
开发工具:matlab
文件大小:1788KB
下载次数:0
上传日期:2020-11-09 16:20:45
上 传 者:
IT2FLC
说明: 标准PSO算法,粒子群优化(PSO, particle swarm optimization)算法是来源于对一个简化社会模型模拟的一种群体智能的优化算法,用于解决优化问题。
? PSO算法首先在可行解空间中初始化一群粒子,每个粒子都代表极值优化问题的一个潜在最优解,用位置、速度和适应度值三项指标表示该粒子特征。
? 粒子在解空间中运动,通过跟踪个体极值Pbest和群体极值Gbest更新个体位置。
? 粒子每更新一次位置,就计算一次适应度值,并且通过比较新粒子的适应度值和个体极值、群体极值的适应度值更新个体极值Pbest和群体极值Gbest位置。
(Particle swarm optimization (PSO) algorithm is a swarm intelligence optimization algorithm derived from the simulation of a simplified social model, which is used to solve the optimization problem.
Firstly, PSO algorithm initializes a group of particles in the feasible solution space, each particle represents a potential optimal solution of the extremum optimization problem, and the characteristics of the particle are represented by position, velocity and fitness value.)
文件列表:
Class_10_Code (0, 2019-06-25)
Class_10_Code\Demo1 (0, 2019-06-25)
Class_10_Code\Demo1\fun.m (166, 2015-11-01)
Class_10_Code\Demo1\html (0, 2019-06-25)
Class_10_Code\Demo1\html\main.html (10426, 2015-11-01)
Class_10_Code\Demo1\html\main.png (1776, 2015-11-01)
Class_10_Code\Demo1\html\main_01.png (4408, 2015-11-01)
Class_10_Code\Demo1\html\main_02.png (4455, 2015-11-01)
Class_10_Code\Demo1\html\main_03.png (3914, 2015-11-01)
Class_10_Code\Demo1\main.m (1779, 2019-06-24)
Class_10_Code\Demo1\wchange.m (532, 2015-11-01)
Class_10_Code\Demo2 (0, 2019-06-25)
Class_10_Code\Demo2\fun.m (207, 2015-11-01)
Class_10_Code\Demo2\html (0, 2019-06-25)
Class_10_Code\Demo2\html\main.html (10607, 2015-11-01)
Class_10_Code\Demo2\html\main.png (1828, 2015-11-01)
Class_10_Code\Demo2\html\main_01.png (39671, 2015-11-01)
Class_10_Code\Demo2\html\main_02.png (39670, 2015-11-01)
Class_10_Code\Demo2\html\main_03.png (3956, 2015-11-01)
Class_10_Code\Demo2\main.m (1844, 2019-06-24)
Class_10_Code\PSO_ToolBox (0, 2019-06-25)
Class_10_Code\PSO_ToolBox\psopt (0, 2019-06-25)
Class_10_Code\PSO_ToolBox\psopt\evolutioncomplete.m (633, 2013-05-15)
Class_10_Code\PSO_ToolBox\psopt\license.txt (2608, 2013-04-30)
Class_10_Code\PSO_ToolBox\psopt\private (0, 2019-06-25)
Class_10_Code\PSO_ToolBox\psopt\private\heart.m (182, 2013-05-02)
Class_10_Code\PSO_ToolBox\psopt\private\initstate.m (718, 2013-04-30)
Class_10_Code\PSO_ToolBox\psopt\private\overlaycontour.m (585, 2013-04-30)
Class_10_Code\PSO_ToolBox\psopt\private\overlaysurface.m (1993, 2013-06-15)
Class_10_Code\PSO_ToolBox\psopt\private\psocheckbounds.m (4726, 2013-05-15)
Class_10_Code\PSO_ToolBox\psopt\private\psocheckinitialpopulation.m (5123, 2013-05-04)
Class_10_Code\PSO_ToolBox\psopt\private\psocheckpopulationinitrange.m (559, 2013-04-30)
Class_10_Code\PSO_ToolBox\psopt\private\psocreationbinary.m (800, 2013-04-30)
Class_10_Code\PSO_ToolBox\psopt\private\psocreationuniform.m (948, 2013-04-30)
Class_10_Code\PSO_ToolBox\psopt\private\psogenerateoutputmessage.m (1811, 2013-06-16)
Class_10_Code\PSO_ToolBox\psopt\private\psogetinitialpopulation.m (805, 2013-04-30)
Class_10_Code\PSO_ToolBox\psopt\private\psorunhybridfcn.m (2756, 2013-06-16)
Class_10_Code\PSO_ToolBox\psopt\private\quadrifolium.m (444, 2013-05-02)
Class_10_Code\PSO_ToolBox\psopt\private\unitcircle.m (288, 2013-04-30)
Class_10_Code\PSO_ToolBox\psopt\private\unitdisk.m (286, 2013-04-30)
... ...
-------------------------------------------------------------
-------------------------------------------------------------
PSOt, particle swarm optimization toolbox for matlab.
May be distributed freely as long as none of the files are
modified.
Send suggestions to bkbirge@yahoo.com
Updates will be posted periodically at the Mathworks User
Contributed Files website (www.mathworks.com) under the
Optimization category.
To install:
Extract into any directory you want but make sure the matlab
path points to that directory and the subdirectories
'hiddenutils' and 'testfunctions'.
Enjoy! - Brian Birge
-------------------------------------------------------------
-------------------------------------------------------------
INFO
Quick start: just type ... out = pso_Trelea_vectorized('f6',2)
and watch it work!
This is a PSO toolbox implementing Common, Clerc 1", and
Trelea types along with an alpha version of tracking changing
environments. It can search for min, max, or 'distance' of
user developed cost function. Very easy to use and hack with
reasonably good documentation (type help for any function and
it should tell you what you need) and will take advantage of
vectorized cost functions. It uses similar syntax to Matlab's
optimization toolbox. Includes a suite of static and dynamic
test functions. It also includes a dedicated PSO based neural
network trainer for use with Mathwork's neural network toolbox.
Run 'DemoPSOBehavior' to explore the various functions, options,
and visualizations.
Run 'demoPSOnet' to see a neural net trained with PSO
(requires neural net toolbox).
This toolbox is in constant development and I welcome
suggestions. The main program 'pso_Trelea_vectorized.m' lists
various papers you can look at in the comments.
Usage ideas: to find a global min/max, to optimize training of
neural nets, error topology change tracking, teaching PSO,
investigate Emergence, tune control systems/filters, paradigm
for multi-agent interaction, etc.
-------------------------------------------------------------
-------------------------------------------------------------
Files included:
** in main directory:
0) ReadMe.txt - this file, duh
1) A Particle Swarm Optimization (PSO) Primer.pdf - powerpoint converted to pdf presentation explaining the very basics of PSO
2) DemoPSOBehavior.m - demo script, useful to see how the pso main function is called
3) goplotpso4demo.m - plotting routine called by the demo script, useful to see how custom plotting can be developed though this routine slows down the PSO a lot
4) goplotpso.m - default plotting routine used by pso algorithm
5) pso_Trelea_vectorized.m - main PSO algorithm function, implements Common, Trelea 1&2, Clerc 1", and an alpha version of tracking environmental changes.
** in 'hiddenutils'
1) forcerow, forcecol.m - utils to force a vector to be a row or column, superseded by Matlab 7 functions I believe but I think they are still called in the main algo
2) normmat.m - takes a matrix and reformats the data to fit between a new range, very flexible
3) linear_dyn, spiral_dyn.m - helpers for the dynamic test functions listed in the 'testfunctions' directory
** in 'testfunctions'
A bunch of useful functions (mostly 2D) for testing. See help for each one for specifics. Here's a list of the names:
Static test functions, minima don't change w.r.t. time/iteration:
1) Ackley
2) Alpine
3) DeJong_f2
4) DeJong_f3
5) DeJong_f4
6) Foxhole
7) Griewank
8) NDparabola
9) Rastrigin
10) Rosenbrock
11) Schaffer f6
12) Schaffer f6 modified (5 f6 functions translated from each other)
13) Tripod
Dynamic test functions, minima/environment evolves over time (NOT iteration, though easily modifed to do so):
14) f6_bubbles_dyn
15) f6_linear_dyn
16) f6_spiral_dyn
** in 'nnet' (all these require Matlab's Neural Net toolbox)
1) demoPSOnet - standalone demo to show neural net training
2) trainpso - the neural net toolbox plugin, set net.trainFcn to this
3) pso_neteval - wrapper used by trainpso to call the main PSO optimizer, this is the cost function that PSO will optimize
4) goplotpso4net - default graphing plugin for trainpso, shows net architecture, relative weight indications, error, and PSO details on run
近期下载者:
相关文件:
收藏者: