多目标线性规划是多目标最优化理论的重要组成部分,由于多个目标之间的矛盾性和不可公度性,要求使所有的目标均达到最优解是不可能的,因此多目标规划问题往往只是求其有效解。
目前求解多目标规划有着两个和两个以上的目标函数,且目标函数和约束条件全是线性函数,其数学模型表示为:
目标函数:
约束条件:
理想点法
对于多目标规划问题,先求解 r 个单目标问题。设其最优解,称为值域中的一个理想点。于是,在期望的某种度量之下,寻求距离最近的作为近似解。一种最直接的方法就是最短距离理想点法,构造评价函数。
然后极小化,即求解
并将它的最优解作为约束条件下的“最优解”。
【例】
利用理想点法解:
解分别对单目标求解
求解最优解的MATLAB程序为
f=[3,-2];
A=[2,3;2,1];
b=[18;10];
lb=[0;0];
[x,fval]=linprog(f,A,b,[],[],lb)
结果输出为
x =
0
6
fval =
-12
即最优解为12。
求解最优解的MATLAB程序为
f=[-4,-3];
A=[2,3;2,1];
b=[18;10];
lb=[0;0];
[x,fval]=linprog(f,A,b,[],[],lb)
求解结果为
x =
3
4
fval =
-24
即最优解为24。
于是得到理想点:(12,24)
目标函数转变为
MATLAB程序如下
f='((-3*x(1)+2*x(2)-12)^2+(4*x(1)+3*x(2)-24)^2)^(1/2)';
A=[2,3;2,1];
b=[18;10];
x0=[1;1];
lb=[0;0];
[x,fval]=fmincon(f,x0,A,b,[],[],lb,[])
求解结果
x =
0.5268
5.6488
fval =
5.4478
关注公众号,学习数学建模。