进化多目标优化平台
用户手册 3.4
生物智能与知识发现(BIMK)研究所
2022 年 1 月 15 日
非常感谢使用由安徽大学生物智能与知识发现(BIMK)研究所开发的进化
多目标优化平台 PlatEMO。本平台是一个开源免费的代码库,仅供教学与科研使
用,不得用于商业用途。本平台中的代码基于作者对论文的理解编写而成,作者
不对用户因使用代码产生的任何后果负责。包含利用本平台产生的数据的论文应
在正文中声明对 PlatEMO 的使用,并引用以下参考文献:
Ye Tian, Ran Cheng, Xingyi Zhang, and Yaochu Jin, “PlatEMO: A MATLAB
platform for evolutionary multi-objective optimization [educational
forum],” IEEE Computational Intelligence Magazine, 2017, 12(4): 73-87.
如有任何意见或建议,欢迎联系 field910921@gmail.com(田野)。如想将您的
代码添加进 PlatEMO 中并公开,也欢迎联系 field910921@gmail.com。您可以
在 GitHub 上获取 PlatEMO 的最新版本。
目 录
一 快速入门 ............................................................................................................. 1
二 通过命令行使用 PlatEMO ................................................................................. 2
1. 求解测试问题........................................................................................... 2
2. 求解自定义问题....................................................................................... 3
3. 获取运行结果........................................................................................... 5
三 通过图形界面使用 PlatEMO ............................................................................. 7
1. 测试模块................................................................................................... 7
2. 应用模块................................................................................................... 7
3. 实验模块................................................................................................... 9
4. 算法和问题的标签................................................................................... 9
四 扩展 PlatEMO ................................................................................................... 11
1. 算法类..................................................................................................... 11
2. 问题类..................................................................................................... 13
3. 个体类..................................................................................................... 17
4. 一次完整的运行过程............................................................................. 18
5. 指标函数................................................................................................. 19
五 算法列表 ........................................................................................................... 20
六 问题列表 ........................................................................................................... 26
一 快速入门
1
一 快速入门
软件要求: MATLAB R2018a 或以上(不使用 PlatEMO 图形界面)或
MATLAB R2020b 或以上(使用 PlatEMO 图形界面)及
并行计算工具箱 和
统计与机器学习工具箱
PlatEMO 提供一系列的元启发式算法用于求解各类优化问题。为此,用户需要定
义优化问题、选择求解算法并设置参数。PlatEMO 提供以下三种调用方式:
1) 带参数调用主函数:
platemo('problem',@SOP_F1,'algorithm',@GA,'Name',Value,…);
可以利用指定的算法来求解指定的测试问题并设置参数,求解结果可以被显示在
窗口中、保存在文件中或作为函数返回值(参阅求解测试问题章节)。
2) 带参数调用主函数:
f1 = @(x,d)sum(x*d);
f2 = @(x,d)1-sum(x*d);
platemo('objFcn',f1,'conFcn',f2,'algorithm',@GA,…);
可以利用指定的算法来求解自定义的问题(参阅求解自定义问题章节)。
3) 不带参数调用主函数:
platemo();
可以弹出一个带有三个模块的图形界面,其中测试模块用于可视化地研究单个算
法在单个问题上的性能(参阅测试模块章节),应用模块用于求解自定义问题(参
阅应用模块章节),实验模块用于统计分析多个算法在多个问题上的性能(参阅
实验模块章节)。
PlatEMO 用户手册
2
二 通过命令行使用 PlatEMO
1. 求解测试问题
用户可以以如下形式带参数调用主函数 platemo()来求解测试问题:
platemo('Name1',Value1,'Name2',Value2,'Name3',Value3,…);
其中所有可接受的参数列举如下:
参数名
数据类型
默认值
描述
'algorithm'
函数句柄或
单元数组
不定
算法类
'problem'
函数句柄或
单元数组
不定
问题类
'N'
正整数
100
种群大小
'M'
正整数
不定
问题的目标数
'D'
正整数
不定
问题的变量数
'maxFE'
正整数
10000
最大评价次数
'save'
整数
0
保存的种群数
'outputFcn'
函数句柄
@ALGORITHM.Output
每代开始前调用的函数
· 'algorithm'表示待运行的算法,它的值可以是一个算法类的句柄,例如
@GA。它的值还可以是形如{@GA,p1,p2,…}的单元数组,其中 p1,p2,… 指
定了该算法中的参数值。
· 'problem'表示待求解的测试问题,它的值可以是一个问题类的句柄,例
如@SOP_F1。它的值还可以是形如{@SOP_F1,p1,p2,…}的单元数组,其
中 p1,p2,… 指定了该算法中的参数值。
· 'N'表示算法的种群大小,它通常等于最终种群中解的个数。
· 'M'表示问题的目标数,它仅对一些多目标测试问题生效。
· 'D'表示问题的变量数,它仅对一些测试问题生效。
· 'maxFE'表示算法可使用的最大评价次数,它通常等于种群大小乘以迭代
次数。
· 'save'表示保存的种群数,该值大于零时结果将被保存在文件中,该值等
评论0