凸优化 - 线性规划

方法论

线性规划也称为线性优化,是一种用于解决关系本质上是线性的数学问题的技术。线性规划的基本性质是最大化或最小化目标函数,并受到一些约束。目标函数是从问题的数学模型中获得的线性函数。约束是强加于模型的条件,也是线性的。

  • 根据给定的问题,找到目标函数。
  • 找到约束。
  • 在图形上绘制约束。
  • 找到可行区域,它由所有约束的交点形成。
  • 找到可行区域的顶点。
  • 找到这些顶点处的目标函数值。
  • 最大化或最小化目标函数(根据问题)的顶点就是答案。

示例

步骤 1 −最大化 $5x+3y$,但要满足

$x+y\leq 2$,

$3x+y\leq 3$,

$x\geq 0 \:and \:y\geq 0$

解决方案

第一步是在图表上找到可行区域。

Example 1

从图表中可以清楚地看出,可行区域的顶点是

$\left ( 0, 0 ight )\left ( 0, 2 ight )\left ( 1, 0 ight )\left ( \frac{1}{2}, \frac{3}{2} ight )$

设 $f\left ( x, y ight )=5x+3y$

将这些值代入目标函数,我们得到 −

$f\left ( 0, 0 ight )$=0

$f\left ( 0, 2 ight )$=6

$f\left ( 1, 0 ight )$=5

$f\left ( \frac{1}{2}, \frac{3}{2} ight )$=7

因此,函数在 $\left ( \frac{1}{2}, \frac{3}{2} ight )$ 处最大化

步骤 2 − 一家手表公司生产一款电子表和一款机械表。长期预测显示,预计每天至少需要 100 只电子表和 80 只机械表。由于产能限制,每天最多只能生产 200 只电子表和 170 只机械表。为了满足运输合同,每天至少要运送 200 块手表。

如果每售出一块电子表会造成 $\$2$ 的损失,但每块机械表会产生 $\$5$ 的利润,那么每天每种类型应该生产多少块才能使净利润最大化?

解决方案

设 $x$ 为生产的电子表数量

$y$ 为生产的机械表数量

根据问题,每天至少要生产 100 块电子表,最多可以生产 200 块电子表。

$\Rightarrow 100 \leq \:x\leq 200$

同样,每天至少要生产 80 块机械表,最多可以生产 170 块机械表。

$\Rightarrow 80 \leq \:y\leq 170$

由于每天至少要生产 200 块手表。

$\Rightarrow x +y\leq 200$

由于每售出一块电子表都会造成 $\$2$ 的损失,但每售出一块机械表都会产生 $\$5$ 的利润,

总利润可以计算为

$利润 =-2x + 5y$

我们必须最大化利润,因此,问题可以表述为 −

最大化 $-2x + 5y$,但要满足

$100 \:\leq x\:\leq 200$

$80 \:\leq y\:\leq 170$

$x+y\:\leq 200$

将上述方程绘制成图,我们得到,

示例 2

可行域的顶点为

$\left ( 100, 170 ight )\left ( 200, 170 ight )\left ( 200, 180 ight )\left ( 120, 80 ight ) 和 \left ( 100, 100 ight )$

目标函数的最大值位于 $\left ( 100, 170 ight )$ 因此,为了最大化净利润,应该生产 100 块电子表和 170 块机械表。