限制粒子群优化

版本应用(40.6 KB) 山姆
PSO算法的实现与遗传算法工具箱相同的语法。

36.7 k下载

更新2018年11月5日

从GitHub

查看许可GitHub

以前题为“另一个粒子群工具箱”

介绍
粒子群优化(PSO)是一种derivative-free全球最优解算器。这是令人惊讶的是组织行为的启发,大量简单的动物,如成群的鸟,鱼群或成群的蝗虫。个体的生物,或“粒子”,这个算法是原始的,只知道四个简单的事情:1 & 2)自己的当前位置的搜索空间和健身价值,3)以前的个人最好的位置,和4)整体最佳位置发现的所有粒子的“群”。没有梯度或麻布来计算。每个粒子不断调整其速度和轨迹在搜索空间中基于这些信息,对每次迭代全球最佳靠拢。在本质上可以看到,这个计算群显示显著水平的一致性和协调尽管单个粒子的简单性。

易用性
如果您已经在使用MATLAB中包含的遗传算法(GA)的全局优化工具箱,那么这个算法工具箱会节省你大量的时间。它可以从MATLAB命令行调用使用相同的语法,特定于算法与一些额外的选项。这将允许高度之间的代码重用性算法工具箱和遗传算法工具箱。某些GA-specific参数如交叉和变异函数显然不会适用于PSO算法。然而,许多常用的选项的遗传算法工具箱可以交替使用PSO以来他们都是迭代以人群为基础的解决者。看到> >帮助pso(从/ psopt目录)为更多的细节。

特性
*支金宝app持分布式计算使用MATLAB的并行计算工具。
*完全支持有限金宝app、线性和非线性约束。
*模块化和可定制的。
*二进制优化。有关详细信息,请参阅PSOBINARY函数。
*矢量化的健身功能。
*解决参数控制使用“选项”结构类似现有的MATLAB优化解决。
*用户定义定制的情节可能会使用相同的模板编写GA绘图功能。
*另一个优化解算器可能被称为“混合函数”细化算法的结果。

包括一个演示功能,一个小的测试函数库。要运行演示,从psopt目录,叫> > psodemo没有输入或输出。

欢迎Bug报告和特性要求。

特别感谢以下人的贡献代码和错误修复:
*本鑫康的香港大学
*基督教汉森汉诺威大学的
* Erik Schreurs MATLAB中央社区
杨百翰大学的* j·奥利弗
迈克尔约翰斯顿的虹膜工具箱
陈*自强(凯文)

参考书目
* J肯尼迪进行RC埃伯哈特,YH史。群体智慧。学术出版社,2001年。
粒子群优化。http://en.wikipedia.org/wiki/Particle_swarm_optimization
*佩雷斯,K Behdinan。粒子群方法结构设计优化。电脑和结构85 (2007)1579 - 1588。
* SM Mikki, AA Kishk。粒子群优化:一种基于物理的方法。摩根& Claypool, 2008。

附录一
非线性不等式约束形式c (x)≤0和非线性等式约束的形式量表(x) = 0现在已完全实现。“惩罚”约束边界执法方法现在违约。它已被重新设计和测试广泛,应与所有类型的约束。

看到下面的文档定义非线性约束函数的适当的语法://www.tatmou.com/help/optim/ug/writing-constraints.html brhkghv-16
看到一个演示非线性不等式约束使用quadrifolium覆盖。海涅的功能,运行PSODEMO并选择“nonlinearconstrdemo”作为测试函数。

附录B
看到下面的指南在GA工具箱文档开始使用并行计算工具。
//www.tatmou.com/help/gads/genetic-algorithm-options.html f17234

附录C
如果你是刚刚开始,希望学习使用这个工具箱为工作或学校,这里有一些基本数据:
* MATLAB的优化工具箱://www.tatmou.com/help/optim/index.html
* MATLAB的全局优化工具箱://www.tatmou.com/help/gads/index.html
* MATLAB遗传算法://www.tatmou.com/help/gads/genetic-algorithm.html

附录D
现在有一个粒子群优化器包含在全局优化工具箱。如果你有一个最新版本的全局优化工具箱安装,您将需要设置适当的路径在代码中使用这个工具箱。

引用作为

陈。粒子群优化(2009 - 2018)的限制。MATLAB文件交换。//www.tatmou.com/matlabcentral/fileexchange/25986。

MATLAB版本兼容性
创建R2017a
兼容任何释放
平台的兼容性
窗户 macOS Linux

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

版本使用GitHub缺省分支不能下载

版本 发表 发布说明
应用于

修复错误涉及检查fmincon当定义为一个混合功能。在MATLAB的早期版本中这是一个*。m文件,随后被更改为*。页文件。感谢马丁Hallmann指出这一点。

1.31.3

修复错误生成初始种群与约束相关。

1.31.2.0

更新文档。
重新描述,更新标题。

1.31.1.0

添加链接到github库。

1.31.0.0

固定一个错字造成处理不当有界约束在确定初始粒子分布。感谢埃里克指出这主要错误!

1.30.0.0

小bug修复和效率的改进,有关非线性约束检查代码以及并行计算能力。

1.29.0.0

固定的错误涉及冗长检查前显示警告。

1.27.0.0

实现并行计算能力。一些小的改进。有关详细信息,请参阅包括版本说明文件。

1.26.0.0

固定的一个名称空间问题。m文件。

1.25.0.0

合并以前丢失更新版本20100818。固定非线性约束处理相关的bug。有关详细信息,请参阅工具箱中包含的版本说明文件。

1.22.0.0

更新描述。

1.20.0.0

前上传是一个zip炸弹。重新安排的内容。zip文件打开时表现很好。

1.18.0.0

另一种实现,佩雷斯penalty-based约束执法中描述的方法和Behdinan 2007。有关详细信息,请参阅说明。

1.14.0.0

小错误修正。感谢本指出这一点。

1.13.0.0

现在可以设置时间限制,一个自定义群加速度函数可以定义使用“AccelerationFcn”选项在PSOOPTIMSET PSOITERATE(默认)。看到更多的细节发布说明。

1.12.0.0

增加了对问题金宝app的支持二进制变量。小bug修复。有关详细信息,请参阅发行说明。

1.11.0.0

输出到命令窗口现在可以抑制结构使用选项。有关详细信息,请参阅发行说明。

1.10.0.0

鲁棒性改进,小bug修复。

1.9.0.0

更新描述。小改进性能和鲁棒性。

1.8.0.0

新特性:非线性等式约束;能够定义初始群状态。

1.7.0.0

现在可以使用非线性不等式约束,“软”的界限;psodemo现在有一个“快速”设置要求较低的3 d图形。看到更多的细节发布说明。

1.6.0.0

各种各样的bug修复。实现“吸收”风格的边界线性约束。社会和认知的吸引力现在可以通过选项调整结构参数。有关详细信息,请参阅发行说明。

1.5.0.0

Bug修复,小视觉改进。有关详细信息,请参阅发行说明。

1.4.0.0

主要的bug修复。新功能,包括能够调用混合函数进一步细化蜂群算法的最终结果。看到完整的发行说明细节。

1.3.0.0

小bug修复,更详细的描述。忘了上次更新的zip文件。

1.2.0.0

小错误修正,更详细的描述。

1.0.0.0

问题在这个视图或报告GitHub插件,参观GitHub库
问题在这个视图或报告GitHub插件,参观GitHub库