许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  MATLAB多目标优化函数fminimax:用法与实例

MATLAB多目标优化函数fminimax:用法与实例

阅读数 2
点赞 0
article_banner

一、算法 原理

对于 多目标优化 问题,matlab提供了fminimax函数。

1、目标函数:  min Z  ,Z为多目标优化函数

            s.t  A*x\leq b

                  Aeq*x= beq

                  C(x)\leq 0

                  Ceq(x)= 0

                  lb\leq x\leq ub

2、调用格式

x = fminimax(fun,x0)  

   x = fminimax(fun,x0,A,b)

   x = fminimax(fun,x0,A,b,Aeq,beq)

   x = fminimax(fun,x0,A,b,Aeq,beq,lb,ub)

   x = fminimax(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon)

   x = fminimax(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options)

   x = fminimax(problem)

fun为多目标函数文件,x0为初始点,A为等式约束系数矩阵,Aeq为等式约束稀疏矩阵,lb,ub分别为最优解x的下限和上限,nonlcon为非线性约束,option为选项设置,返回值x为最优点。

   [x,fval] = fminimax(...),返回解x处目标函数fun的值。

   [x,fval,maxfval] = fminimax(...),返回在解x中求值的输入fun中目标函数的最大值。

   [x,fval,maxfval,exitflag] = fminimax(...),返回一个值exitflag,该值描述了fminimax的退出条件。

   [x,fval,maxfval,exitflag,output] = fminimax(...),返回包含有关优化 信息 的结构输出。

   [x,fval,maxfval,exitflag,output,lambda] = fminimax(...),返回结构lambda,其字段包含解x处的拉格朗日乘数。

3、 如图所示,求到A,B,C,D, E 五个点的距离都比较近的点。

例二、存在不等式约束,其解的范围为[5,6]即x1∈(5,6)  x2∈(5,6)。

例三、存在等式约束,其解在x1-x2+1=0这条直线上。

例四、存在非线性约束,其解在x1^2-x1-x2+2=0,圆心为(5,5)半径为3的圆内。

matlab代码

%% 最大最小化function d=demo_9_23_1(x) %目标函数文件d(1)=sqrt((x(1)-2)^2+(x(2)-10)^2);d(2)=sqrt((x(1)-5)^2+(x(2)-13)^2);d(3)=sqrt((x(1)-8)^2+(x(2)-9)^2);d(4)=sqrt((x(1)-3)^2+(x(2)-8)^2);d(5)=sqrt((x(1)-6)^2+(x(2)-6)^2); %% x = fminimax(fun,x0)x0=[5;5];[x,fval]=fminimax(@demo_9_23_1,x0) %例二,存在不等式约束%% x = fminimax(fun,x0,A,b)  有线性不等式约束 x0=[5.5;5.5];A=[1 0;   -1 0;   0 1;   0 -1;];b=[6;-5;6;-5];[x,fval]=fminimax(@demo_9_23_1,x0,A,b)%例三 粗壮乃等式约束%% x = fminimax(fun,x0,A,b,Aeq,beq) %线性等式约束x0=[5.5;5.5];Aeq=[1 -1;];beq=[-1];[x,fval]=fminimax(@demo_9_23_1,x0,[],[],Aeq,beq)%例二的不等式约束也可以写成如下形式%% x = fminimax(fun,x0,A,b,Aeq,beq,lb,ub) %解向量的上下限x0=[5.5;5.5];[x,fval]=fminimax(@demo_9_23_1,x0,[],[],[],[],[5;5],[6;6])%例四。非线性约束%% x = fminimax(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon) %非线性约束%nonlcon存放非线性约束x0=[5.5;5.5];[x,fval]=fminimax(@demo_9_23_1,x0,[],[],[],[],[],[],@demo_9_23_2)


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删


相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空