Loading [MathJax]/jax/output/HTML-CSS/jax.js

凸优化 - 线性规划



方法论

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

  • 从给定的问题中,找出目标函数。
  • 找到约束条件。
  • 在图上绘制约束条件。
  • 找到可行域,它是所有约束条件的交集。
  • 找到可行域的顶点。
  • 找到目标函数在这些顶点处的取值。
  • 哪个顶点使得目标函数最大化或最小化(根据问题而定)就是答案。

示例

**步骤 1** - 在以下约束条件下最大化 5x+3y

x+y2

3x+y3

x0y0

**解** -

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

Example 1

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

(0,0)(0,2)(1,0)(12,32)

f(x,y)=5x+3y

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

f(0,0)=0

f(0,2)=6

f(1,0)=5

f(12,32)=7

因此,函数在 (12,32) 处取得最大值。

**步骤 2** - 一家手表公司生产电子表和机械表。长期预测表明,每天至少需要 100 块电子表和 80 块机械表的需求。由于生产能力的限制,每天最多只能生产 200 块电子表和 170 块机械表。为了满足运输合同,每天必须运送至少 200 块手表。

如果每售出一块电子表就会损失 2 美元,但每售出一块机械表就会获得 5 美元的利润,那么每天应该生产多少块每种手表才能最大化净利润?

**解** -

x 为生产的电子表数量

y 为生产的机械表数量

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

100x200

类似地,每天至少要生产 80 块机械表,最多生产 170 块机械表。

80y170

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

x+y200

由于每售出一块电子表就会损失 2 美元,但每售出一块机械表就会获得 5 美元的利润,

总利润可以计算为

=2x+5y

我们需要最大化利润,因此,这个问题可以表述为 -

在以下约束条件下最大化 2x+5y

100x200

80y170

x+y200

将上述方程在图上绘制出来,我们得到,

Example 2

可行域的顶点是

(100,170)(200,170)(200,180)(120,80)(100,100)

目标函数的最大值在 (100,170) 处取得。因此,为了最大化净利润,应该生产 100 块电子表和 170 块机械表。

广告