本文以MATLAB R2022a为例,介绍使用软件自带工具的遗传算法求解多目标优化的问题。
选择“APP”中“数学、统计和优化”板块的“优化(Optimization)”,在新版MATLAB中会弹出对话框,显示“Optimization 工具已删除,请改用优化实时编辑器任务”。
根据推荐选择左侧“基于问题(Problem-based)”方法,在工具会实时编辑器框内显示,继续向下滑到优化参数编辑的部分。
第二步,定义问题(Define problem)。根据需要选择求解目标的最小化(Minimize)、最大化(Maximize)、可行性(Feasibility)或求解方程(Solve equations),之后输入目标(Objective)的参数方程式,输入参数的约束(Constraints),约束可以通过点击右侧“+”或“-”增加或减少,可以设置为无约束。
第三步,选择求解器(Solver)。使用遗传算法(Genetic Algorithm)就选择“ga”,根据需要在选项(Options)中添加种群设置、容差、算法设置、诊断、运行时间限制,一般情况需要添加种群设置、容差等。添加种群设置后进一步选择种群大小、精英成员数等。如果变量个数小于等于5时,种群大小的默认值为50,否则为200;精英成员数默认值为0.05乘以种群大小。添加容差后可以设置适应度限值等,适应度限值默认值为第一步中所填写的下界。
设置显示进度,默认为最终输出。绘图部分根据所需勾选距离、期望值等。
第四步,设置显示结果(Display results)。可以勾选问题、解、求解器停止原因、目标值等。