凸优化第四章凸优化问题 4.3 线性规划问题

4.3 线性规划问题

  1. 例子
  2. 线性分式规划

4.3.1 线性规划

当目标函数和约束函数都是仿射函数时,问题则称为线性规划(LP)。一般的线性规划形式:

\begin{array}{ll} \operatorname{minimize} & c^{T} x+d \\ \text { subject to } & G x \preceq h \\ & A x=b \end{array}

其中G\in R^{m\times n},A\in R^{p\times n}。显然,线性规划问题是凸优化问题。

常将目标函数中的常数d省略,因为它不影响最优解(以及可行解)集合。由于我们总可以将极大化目标函数c^{T} x+d转化为极小化-c^{T} x-d(仍然是凸的),所以我们也称具有仿射目标函数和约束函数的最大化问题为线性规划。

因为不等式约束函数和等式约束函数都是仿射函数,所以可行集是一个多面体(有限个超平面与半平面的交集)。

所以也就是相等于在多面体中找一个x^*使得c^Tx+d最小,即找一个最大的-c^Tx

因是凸优化问题,故可代入最优性准则:\bigtriangledown ^Tf_0(x)(y-x^*)\geq 0

\bigtriangledown ^Tf_0(x)=c^T,故c^T(y-x*)\geq 0,即c^Ty \geq c^Tx^*,也即表示凸集在x*处的支撑超平面(包含在凸集内的点全在c方向上)。

线性规划的标准形式和不等式形式

标准形式线性规划中仅有的不等式都是分量的非负约束x\succeq 0

\begin{array}{ll} \operatorname{minimize} & c^{T} x \\ \text { subject to } & A x=b \\ & x \succeq 0 \end{array}

如果线性规划问题没有等式约束,则称为不等式形式线性规划,常写作:

\begin{array}{ll} \operatorname{minimize} & c^{T} x \\ \text { subject to } & A x \preceq b \end{array}

将线性规划转换为标准形式

有时(例如为使用标准形式线性规划的算法)需要将一般的线性规划转换为标准形式。

第一步是为不等式引入松弛变量s_i,得到:

\begin{array}{ll} \operatorname{minimize} & c^{T} x+d \\ \text { subject to } & G x+s=h \\ & A x=b \\ & s \succeq 0 \end{array}

第二步是将变量x表示为两个非负变量x^+x^-的差,即x=x^{+}-x^{-}, x^{+}, x^{-} \succeq 0,从而得到:

\begin{array}{ll} \operatorname{minimize} & c^{T} x^{+}-c^{T} x^{-}+d \\ \text { subject to } & G x^{+}-G x^{-}+s=h \\ & A x^{+}-A x^{-}=b \\ & x^{+} \succeq 0, \quad x^{-} \succeq 0, \quad s \succeq 0 \end{array}
这是标准形式的线性规划,其优化变量是s_ix^+x^-

4.3.2 例子

食谱问题

x_1,x_2,\cdots ,x_n表示n种食物的量,一份健康的饮食包含m种不同的营养,每种至少要b_1,b_2,\cdots ,b_m,第j种食物有量为a_{ij}的第i种营养,其价格为c_{j},这一问题用线性规划描述为:

\begin{array}{ll} \text { minimize } & c^{T} x \\ \text { subject to } & A x \succeq b \\ & x \succeq 0 \end{array}

此问题的-些变化仍然可以构造为线性规划。例如我们可以要求营养的精确量(这将给出一个等式约束)。我们也可以如前给出下界那样,规定每种营养的上界。

多面体的Chebyshev中心

在多面体中寻找最大Euclid球问题。

多面体的线性不等式表示:\mathcal{P}=\left\{x \in \mathbf{R}^{n} \mid a_{i}^{T} x \leqslant b_{i}, i=1, \cdots, m\right\}

最优球的中心称为多面体的Chebyshev中心:它是多面体内部最深的点,即离边界最远的点。将这个球重新表述为:\mathcal{B}=\left\{x_{c}+u \mid\|u\|_{2} \leqslant r\right\},这个问题中的变量是球的中心x_c \in R^n和半径r。我们希望在\mathcal{B} \subseteq \mathcal{P}的约束下极大化r。

从较为简单的约束开始考虑:\mathcal{B}在半空间a_{i}^{T} x \leqslant b_{i}中,即:

\begin{Vmatrix} u\end{Vmatrix}_2\leq r\Rightarrow a_i^T(x_c+u)\leq b_i\Rightarrow a_i^Tx_c+a_i^Tu\leq b_i\, \, \, \, (1)

又因为:

sup\left \{ a_i^Tu|\begin{Vmatrix}u \end{Vmatrix}_2\leq r \right \}=r\begin{Vmatrix}a_i \end{Vmatrix}_2

结合(1)式,知:

a_i^Tx_c+r\begin{Vmatrix}a_i\end{Vmatrix}_2\leq b_i

于是得到线性规划问题:

\begin{aligned} &\text { maximize } r\\ &\text { subject to } a_{i}^{T} x_{c}+r\left\|a_{i}\right\|_{2} \leqslant b_{i}, \quad i=1, \cdots, m \end{aligned}

动态活动计划

我们考虑在N个时间段内选择或计划n种活动或经济部门的活动水平的问题。用x_{j}(t) \geqslant 0, t=1, \cdots, N表示t时段j的活动级别。活动消耗和制造的货物或商品的量正比于其活动水平。单位活动j制造的商品i的量由a_{ij}给出。类似地,单位活动j消耗的商品i的量为b_{ij}。在时段t内制造的商品总量由A x(t) \in \mathbf{R}^{m}给出,而消耗的商品总量为B x(t) \in \mathbf{R}^{m}。(虽然我们称制成品为“商品”,但它们也可以包括一些不想要的产物,例如污染物。)

一个时段内消耗的商品不能超过前一个周期的生产量:必须满足B x(t+1)\preceq A x(t), t=1, \cdots, N。给定初始商品向量g_{0} \in \mathbf{R}^{m},用以约束第一个周期的活动水平: B x(1) \preceq g_{0}。没有被活动消耗的超出部分的产品(向量)由:

\begin{aligned} s(0) &=g_{0}-B x(1) \\ s(t) &=A x(t)-B x(t+1), \quad t=1, \cdots, N-1 \\ s(N) &=A x(N) \end{aligned}

给出。目标是最大化这些超出商品的折扣总价值:

c^{T} s(0)+\gamma c^{T} s(1)+\cdots+\gamma^{N} c^{T} s(N)

其中,c \in \mathbf{R}^{m}给出了商品的价值,\gamma >0为折扣因子。(如果第i种产品是我们不想要的,例如污染物,c_i的值为负;此时,|c_i|为清除单位产品的花费。)

综合这些讨论,我们得到关于变量x(1), \cdots, x(N), s(0), \cdots, s(N)的线性规划:

\begin{array}{ll} \operatorname{maximize} & c^{T} s(0)+\gamma c^{T} s(1)+\cdots+\gamma^{N} c^{T} s(N) \\ \text { subject to } & x(t) \succeq 0, \quad t=1, \cdots, N \\ & s(t) \succeq 0, \quad t=0, \cdots, N \\ & s(0)=g_{0}-B x(1) \\ & s(t)=A x(t)-B x(t+1), \quad t=1, \cdots, N-1 \\ & s(N)=A x(N) \end{array}

这是标准形式的线性规划,变量s(t)是与约束B x(t+1) \preceq A x(t)相联系的松弛变量。

Chebyshev不等式

考虑含有n个元素的集合\left\{u_{1}, \cdots, u_{n}\right\} \subseteq \mathbf{R}上离散的随机变量x的概率分布。我们用向量p \in \mathbf{R}^{n}来描述x的分布:p_{i}=\text {prob}(x=u_{i})

因此p满足p\succeq 01^Tp=1。我们设u_i是已知和不变的,但分布p未知。

如果f是x的函数,那么\mathbf{E} f=\sum_{i=1}^{n} p_{i} f\left(u_{i}\right)是关于p的线性函数。

如果S是R的子集,那么\operatorname{prob}(x \in S)=\sum_{u_{i} \in S} p_{i}是关于p的线性函数。

尽管不知道p,我们有以下形式的先验知识:我们知道某些关于x的函数的期望的上下界,以及R的一些子集的概率。这些先验知识可以表示为p的线性不等式约束,\alpha_{i} \leqslant a_{i}^{T} p \leqslant \beta_{i}, \quad i=1, \cdots, m,我们要求的是\mathbf{E} f_{0}(x)=a_{0}^{T} p的上下界。

为找到下界,可以求解以下关于p的线性规划问题:

\begin{array}{ll} \operatorname{minimize} & a_{0}^{T} p \\ \text { subject to } & p \succeq 0, \quad \mathbf{1}^{T} p=1 \\ & \alpha_{i} \leqslant a_{i}^{T} p \leqslant \beta_{i}, \quad i=1, \cdots, m \end{array}

 

分片线性极小化

f(x)=\underset{i=1,\cdots m}{max}(a_i^Tx+b_i)

这个问题可以首先通过构造上境图问题等价地转化为线性规划:

\begin{array}{ll} \operatorname{minimize} & t \\ \text { subject to } & \max _{i=1, \cdots, m}\left(a_{i}^{T} x+b_{i}\right) \leqslant t \end{array}

并将不等式表示为m个分开的不等式:

\begin{array}{ll} \operatorname{minimize} & t \\ \text { subject to } & a_{i}^{T} x+b_{i} \leqslant t, \quad i=1, \cdots, m \end{array}

这是关于变量x和t的(不等式形式的)线性规划。

4.3.3 线性分式规划

在多面体上极小化仿射函数之比的问题称为线性分式规划:

\begin{array}{ll} \operatorname{minimize} & f_{0}(x) \\ \text { subject to } & G x \preceq h \\ & A x=b \end{array}

 

其中,f_{0}(x)=\frac{c^{T} x+d}{e^{T} x+f}, \quad \text { dom } f_{0}=\left\{x \mid e^{T} x+f>0\right\}。这个目标函数是拟凸的(事实上是拟线性的),因此线性分式规划是一个拟凸优化问题。

转换为线性规划

如果可行集:\left \{ x|Gx\preceq h,Ax=b,e^Tx+f> 0 \right \}非空,令y=\frac{x}{e^Tx+f},z=\frac{1}{e^Tx+f}

可得到原问题等价的线性规划:

\begin{array}{ll} \operatorname{minimize} & c^{T} y+d z \\ \text { subject to } & G y-h z \preceq 0 \\ & A y-b z=0 \\ & e^{T} y+f z=1 \\ & z \geqslant 0 \end{array}

首先如果x是原问题的可行解,那么y和z都是等价线性规划的可行解,且目标值相同。

反过来,当y、z是可行解时:

      (1)z不为0时,x=y/z是原问题可行解;

      (2)z=0时,假设x_0是原问题可行解,则x=x_0+ty,\forall t\geq 0是原问题可行解,且t趋于无穷大的时候,\lim _{t \rightarrow \infty} f_{0}\left(x_{0}+t y\right)=c^{T} y+d z

广义线性分式规划

线性分式规划的一一个推广是广义线性分式规划,其中:

f(x)=\underset{i=1,\cdots m}{max}(\frac{c_i^Tx+d_i}{e_i^Tx+f_i}),dom(f)=\left \{ x|e_i^Tx+f_i>0,i=1,\cdots r \right \}

这个目标函数是r个拟凸函数的最大值,因此是拟凸的,所以这个问题本身是拟凸的。当r=1时,问题退化为标准的线性分式规划。
 

参考:https://blog.csdn.net/wangchy29/article/details/86585316

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

使君杭千秋

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

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

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

打赏作者

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

抵扣说明:

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

余额充值