您当前所在位置: 主页 > 新闻动态 > 新闻动态

基于遗传算法的多目标优化算法

发布时间:2024-04-22 14:50|栏目: 新闻动态 |浏览次数:

因为小编最近在做一个javaweb项目开发,前几天才答辩完。而且最近电脑硬盘又坏了,重新换了硬盘之后,以前的数据都没了,在这里提醒一下大家重要的东西一定要存云盘或者U盘备份。之后又陆陆续续回了趟家,整理了最近的所学和接下来的计划。所以有20多天没有更新专栏了,接下来一两周会一直更新的~~

-----------------------------------优雅端庄的分割线---------------------------------

本次主要讲解多目标优化算法的问题,总所周知,多目标优化在各种应用场景中都十分常见,近一点的比如2016年的数学建模a题,系泊系统的设计问题,远一点的比如2000年的无线信道分配问题等,都涉及到了多目标的优化。

多目标的优化问题的一般公式可以如下:

其中可以是x一个变量,也可以是多个变量

在两个目标函数中,它们之间可能是存在着一定的矛盾,也就是说,当一个目标函数的提高需要以另外一个目标函数的降低作为代价。在这个时候,我们就称,这样的两个解是非劣解,也就是长说的Pareto最优解。多目标优化算法就是要找到这些Pareto最优解。

优化情况

在这里,我们用到的方法是采用MATLAB提供的一个函数:gamultiobj函数 。我们通过一个例题来证明,问题如下:

运行结果:

代码如下:

main函数:

clear

clc

fitnessfcn=@fun; % Function handle to the fitness function

nvars=2; % Number of decision variables

lb=[-5,-5]; % Lower bound

ub=[5,5]; % Upper bound

A=[]; b=[]; % No linear inequality constraints

Aeq=[]; beq=[]; % No linear equality constraints

options=gaoptimset('ParetoFraction',0.3,'PopulationSize',100,'Generations',200,'StallGenLimit',200,'TolFun',1e-100,'PlotFcns',@gaplotpareto);

[x,fval]=gamultiobj(fitnessfcn,nvars, A,b,Aeq,beq,lb,ub,options);


fun函数:

function f=fun(x)

f(1)=x(1)^4 - 10*x(1)^2+x(1)*x(2) + x(2)^4 - (x(1)^2)*(x(2)^2);

f(2)=x(2)^4 - (x(1)^2)*(x(2)^2) + x(1)^4 + x(1)*x(2);

在MATLAB中,options 是一个结构体,需要用到gaoptimset函数来对其参数进行设置。options的参数有很多:

我们这里设置的是最优前端个体系数ParetoFraction为0.3,种群大小PopulationSize为100,最大遗传代数Generations为200,停止代数StallGenLimit为200,适应度函数偏差TolFun为1e-100,这里绘制的是第一前端个体的分布情况。然后我们就调用函数gamultiobj来运行。

函数gamultiobj是MATLAB中一个封装好了的带精英策略的快速非支配排序遗传算法。函数具体的运行方法和传统的遗传算法一样,先产生初始种群,接着判断是否达到最优化,是的话就退出,得到Pareto最优解。具体的步骤可以用一幅图展示:

运行之后我们可以通过命令行看到x 和fval的值,其中x代表我们找到的Pareto最优解,fval就是与之对应的目标函数值:

根据结果,我们可以看出,返回的最优解有30个,这是因为种群大小是100,最优前端个体系数ParetoFraction为0.3的原因。这样,我们就找到了Pareto最优解了。

参考文献:

Feng Shi. MATLAB 智能算法-30个案例分析[M]. 北京航空航天大学出版社, 2011.

胡毓达. 多目标规划有效性理论[M]. 上海科学技术出版社, 1994.

李光金, 刘永清. 基于多目标规划的DEA[J]. 系统工程理论与实践, 1997, 17(3):17-23.

Copyright © 2002-2021 九游会官方新闻发布中心 版权所有 Powered by EyouCms
电话:020-88888888 地址:广东省广州市番禺经济开发区 备案号:额ICP备31231234号
网站地图 

平台注册入口