多目标线性规划

多目标线性规划是多目标最优化理论的重要组成部分,由于多个目标之间的矛盾性和不可公度性,要求使所有的目标均达到最优解是不可能的,因此多目标规划问题往往只是求其有效解。

目前求解多目标规划有着两个和两个以上的目标函数,且目标函数和约束条件全是线性函数,其数学模型表示为:

目标函数:

max z=\left\{ \begin{aligned} z_1=c_{11}x_1+c_{12}x_2+...+c_{1n}x_n \\ z_2=c_{21}x_1+c_{22}x_2+...+c_{2n}x_n \\ ...~~~~~~~~~~~~~~~~~\\ z_r=c_{r1}x_1+c_{12}x_2+...+c_{rn}x_n \end{aligned} \right.

约束条件:

s.t.\left\{ \begin{aligned} a_{11}x_1+a_{12}x_2+...+a_{1n}x_n\le b_1~~~\\ a_{21}x_1+a_{22}x_2+...+a_{2n}x_n\le b_2~~~\\ ...~~~~~~~~~~~~~~~~\\ a_{m1}x_1+a_{m2}x_2+...+a_{mn}x_n\le b_m\\ x_1,x_2,...,x_n\ge0~~~~~~~~~~~~~~~~~~~~~~~ \end{aligned} \right.

理想点法

对于多目标规划问题,先求解 r 个单目标问题。设其最优解Z_j^*,称Z^*为值域中的一个理想点。于是,在期望的某种度量之下,寻求距离Z^*最近的Z作为近似解。一种最直接的方法就是最短距离理想点法,构造评价函数。

\varphi(Z)=\sqrt{\sum_{i=1}^r[Z_i-Z_i^*]^2}

然后极小化\varphi[Z(x)],即求解

\min_{x\in D}\varphi[Z(x)]=\sqrt{\sum{i=1}^r[Z_i(x)-Z_i^*]^2}

并将它的最优解x^*作为约束条件下的“最优解”。


【例】

利用理想点法解:

\max f_1(x)=3x_1-2x_2

\max f_2(x)=-4x_1-3x_2

s.t.\left\{ \begin{aligned} 2x_1+3x_2\le18\\ 2x_1+x_2\le10~\\ x_1,x_2\ge0~~~~~~ \end{aligned} \right.

解分别对单目标求解

求解f_1(x)最优解的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。

求解f_2(x)最优解的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)

目标函数转变为

\min_{x\in D}[f(x)]=\sqrt{[f1(x)-12]^2+[f_2(x)-24]^2}

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

关注公众号,学习数学建模。 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

35℃

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值