求matlab计算多目标优化问题。

求matlab计算多目标优化问题。,第1张

用matlab求解题主的多目标优化问题,可以这样来考虑:

1、创建目标函数,其内容

w1 =0.4w2=1-w1

y =w1*0.78539*(x(1)^2-x(2)^2)+w2*x(1)^2

2、创建约束条件函数,其内容

c(1)=(9224400*x(1)/(x(1)^4-x(2)^4))-45

c(2)=(13050819/(x(1)^4-x(2)^4))-1

c(3)=216379-(x(1)^4-x(2)^4)/x(1)

c(4)=-x(1)+x(2)

ceq = []

3、初设x0的初值,即 x0 =[80,20]

4、设定上下限值,即lb=[0,0]ub=[170,100]

5、使用fmincon最小值最优化函数,求出x(1)、x(2)的值。即

[x,fval] = fmincon(@(x) fmincon_fun(x),x0,[],[],[],[],lb,ub,@(x) fmincon_con(x))

6、验证约束条件,即

disp('x2-x1<0')

disp(x(2)-x(1))

运行代码后得到如下结果。

用遗传算法工具箱求解一个多目标优化问题的步骤:

1、根据题意,建立自定义目标函数,ga_fun1(x)

2、在命令窗口中,输入

>>optimtool %调用遗传算法工具箱

3、在遗传算法工具箱界面中,分别对Fitness  function框内输入@ga_fun1();A框内输入[1,1,1];b框内输入16;Aeq框内输入[];beq框内输入[];Lower框内输入[0,0,0];Upper框内输入[];

4、单击Start。得到x=4.508 y=2.513 z=1.912值。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11155808.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存