多目标规划matlab程序实现——【2019数学建模+思路】Word文件下载.doc
- 文档编号:13025239
- 上传时间:2022-10-02
- 格式:DOC
- 页数:8
- 大小:209KB
多目标规划matlab程序实现——【2019数学建模+思路】Word文件下载.doc
《多目标规划matlab程序实现——【2019数学建模+思路】Word文件下载.doc》由会员分享,可在线阅读,更多相关《多目标规划matlab程序实现——【2019数学建模+思路】Word文件下载.doc(8页珍藏版)》请在冰豆网上搜索。
(2)
若
(1)式中只有一个,则该问题为典型的单目标线性规划。
我们记:
,,,.
则上述多目标线性规划可用矩阵形式表示为:
约束条件:
(3)
二.MATLAB优化工具箱常用函数
在MATLAB软件中,有几个专门求解最优化问题的函数,如求线性规划问题的linprog、求有约束非线性函数的fmincon、求最大最小化问题的fminimax、求多目标达到问题的fgoalattain等,它们的调用形式分别为:
①.[x,fval]=linprog(f,A,b,Aeq,beq,lb,ub)
f为目标函数系数,A,b为不等式约束的系数,Aeq,beq为等式约束系数,lb,ub为x的下限和上限,fval求解的x所对应的值。
算法原理:
单纯形法的改进方法投影法
②.[x,fval]=fmincon(fun,x0,A,b,Aeq,beq,lb,ub)
fun为目标函数的M函数,x0为初值,A,b为不等式约束的系数,Aeq,beq为等式约束系数,lb,ub为x的下限和上限,fval求解的x所对应的值。
基于K-T(Kuhn-Tucker)方程解的方法。
③.[x,fval]=fminimax(fun,x0,A,b,Aeq,beq,lb,ub)
序列二次规划法。
④.[x,fval]=fgoalattain(fun,x0,goal,weight,A,b,Aeq,beq,lb,ub)
fun为目标函数的M函数,x0为初值,goal变量为目标函数希望达到的向量值,wight参数指定目标函数间的权重,A,b为不等式约束的系数,Aeq,beq为等式约束系数,lb,ub为x的下限和上限,fval求解的x所对应的值。
目标达到法。
三.多目标线性规划的求解方法及MATLAB实现
4.1理想点法
在(3)中,先求解个单目标问题:
,设其最优值为,称为值域中的一个理想点,因为一般很难达到。
于是,在期望的某种度量之下,寻求距离最近的作为近似值。
一种最直接的方法是最短距离理想点法,构造评价函数
,
然后极小化,即求解
并将它的最优解作为(3)在这种意义下的“最优解”。
例1:
利用理想点法求解
解:
先分别对单目标求解:
①求解最优解的MATLAB程序为
>
f=[3;
-2];
A=[2,3;
2,1];
b=[18;
10];
lb=[0;
0];
[x,fval]=linprog(f,A,b,[],[],lb)
结果输出为:
x=0.00006.0000
fval=-12.0000
即最优解为12.
②求解最优解的MATLAB程序为
f=[-4;
-3];
x=3.00004.0000
fval=-24.0000
即最优解为24.
于是得到理想点:
(12,24).
然后求如下模型的最优解
MATLAB程序如下:
x0=[1;
1];
x=fmincon('
((-3*x
(1)+2*x
(2)-12)^2+(4*x
(1)+3*x
(2)-24)^2)^(1/2)'
x0,A,b,[],[],lb,[])
x=0.52685.6488
则对应的目标值分别为,.
4.2线性加权和法
在具有多个指标的问题中,人们总希望对那些相对重要的指标给予较大的权系数,因而将多目标向量问题转化为所有目标的加权求和的标量问题,基于这个现实,构造如下评价函数,即
将它的最优解作为(3)在线性加权和意义下的“最优解”。
(为加权因子,其选取的方法很多,有专家打分法、容限法和加权因子分解法等).
例2:
对例1进行线性加权和法求解。
(权系数分别取,)
构造如下评价函数,即求如下模型的最优解。
f=[-0.5;
-2.5;
x=linprog(f,A,b,[],[],lb)
x=0.00006.0000
4.3最大最小法
在决策的时候,采取保守策略是稳妥的,即在最坏的情况下,寻求最好的结果,按照此想法,可以构造如下评价函数,即
然后求解:
并将它的最优解作为(3)在最大最小意义下的“最优解”。
例3:
对例1进行最大最小法求解:
MATLAB程序如下,首先编写目标函数的M文件:
functionf=myfun12(x)
f
(1)=3*x
(1)-2*x
(2);
f
(2)=-4*x
(1)-3*x
(2);
A=[2,3;
b=[18;
lb=zeros(2,1);
[x,fval]=fminimax('
myfun12'
x=0.00006.0000
fval=-12-18
4.4目标规划法
(4)
并把原多目标线性规划(3)称为和目标规划(4)相对应的多目标线性规划。
为了用数量来描述(4),我们在目标空间中引进点之间的某种“距离”
这样(4)便可以用单目标来描述了。
例4:
对例1对进行目标规划法求解:
functionf=myfun3(x)
goal=[18,10];
weight=[18,10];
x0=[1,1];
b=[18,10];
lb=zeros(2,1);
[x,fval]=fgoalattain('
myfun3'
x0,goal,weight,A,b,[],[],lb,[])
x=0.00006.0000
fval=-12-18
4.5模糊数学求解方法
由于多目标线性规划的目标函数不止一个,要想求得某一个点作,使得所有的目标函数都达到各自的最大值,这样的绝对最优解通常是不存在的。
因此,在具体求解时,需要采取折衷的方案,使各目标函数都尽可能的大。
模糊数学规划方法可对其各目标函数进行模糊化处理,将多目标问题转化为单目标,从而求该问题的模糊最优解。
具体的方法为:
先求在约束条件:
下各个单目标的最大值和最小值,伸缩因子为
得到(5)
式(5)是一个简单的单目标线性规划问题。
最后求得模糊最优解为:
.
利用(5)式来求解的关键是对伸缩指标的确定,是我们选择的一些常数,由于在多目标线性规划中,各子目标难以同时达到最大值,但是可以确定的是各子目标的取值范围,它满足:
,所以,伸缩因子为可以按如下取值:
例5:
对例1进行模糊数学方法求解:
①分别求得,在约束条件下的最大值为:
②分别求得,在约束条件下的最小值为:
伸缩因子为
然后求如下模型的最优解:
f=[0;
0;
-1];
A=[3,-2,27;
-4,-3,24;
2,3,0;
2,1,0];
b=[15;
18;
0]
x=1.02535.31650.8354
fval=-0.8354
于是原多目标规划问题的模糊最优值为.
四.结论
多目线性标规划是优化问题的一种,由于其存在多个目标,要求各目标同时取得较优的值,使得求解的方法与过程都相对复杂.通过将目标函数进行模糊化处理,可将多目标问题转化为单目标,借助工具软件,从而达到较易求解的目标。
参考文献:
[1]林锉云,董加礼.多目标优化的方法与理论[M].长春:
吉林教育出版社,1992.8
[2]宋业新,胡伟文,张建军.具有模糊系数约束的多目标线性规划[J].海军工程大学学报,2004,16
(1):
40-44.
[3]龚纯,王正林.精通MATLAB最优化计算[M]电子工业出版社,2009
[4]王嫣,张志宏.模糊线性规划的最优解分析[J].北京工商大学学报(自然科学版),2007,25(5):
67-69.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2019数学建模+思路 多目标 规划 matlab 程序 实现 2019 数学 建模 思路