读题:三条约束围一块区域,求目标函数的最小值
题目给了三个线性不等式:
⎩⎨⎧x+1≥0x−y≤02x+3y−1≤0
它们各自表示一条直线的一侧(半平面),三者的公共部分围出一块有界区域——可行域。目标函数 z=x−21y 是线性的,而可行域是有界闭区域,所以最值一定在某个顶点处取得。
解法一:平移目标直线
怎么想到的。 目标函数 z=x−21y 里有 x 和 y 两个变量,直接看不出 z 什么时候最小。把它改写成关于 y 的直线方程:
y=2x−2z
这是一族斜率固定为 2 的平行线,不同的 z 值对应不同的纵截距 −2z。于是「求 z 的最小值」变成了「把这族直线平移,看它在可行域上能取到多大的截距」——截距 −2z 越大,z 越小。
第一步:画出可行域,求出三个顶点
三条边界直线分别是:
- x=−1(竖直线)
- y=x(过原点、斜率 1)
- 2x+3y−1=0,即 y=−32x+31(斜率 −32)
两两联立求交点:
- x=−1 与 y=x:顶点 (−1,−1)
- x=−1 与 2x+3y−1=0:代入得 −2+3y−1=0,y=1,顶点 (−1,1)
- y=x 与 2x+3y−1=0:代入得 5x=1,x=51,顶点 (51,51)
第二步:比较斜率,判断最值在哪个顶点
目标直线斜率为 2。把它从截距很小(z 很大)的位置往上平移,截距 −2z 逐渐增大(z 逐渐减小)。直线最后离开可行域的那个顶点,就给出 z 的最小值。
斜率 2 比边界 y=x 的斜率 1 更陡,比 y=−32x+31 的斜率 −32 也更陡。从下方平移上来时,最后与可行域相切的顶点是 (−1,1)——它是可行域中「最高且最左」的点。
第三步:代入求值
z=−1−21×1=−23

解法二:顶点代入比较
怎么想到的。 定理「最优解在可行域顶点」告诉我们:线性目标函数在有界闭可行域上的最值一定在顶点处取得。可行域只有三个顶点,逐个代入 z 再比大小就行——不必画图判断斜率。
三个顶点(同解法一所求):(−1,−1)、(−1,1)、(51,51)。
逐一代入 z=x−21y:
| 顶点 | z 值 |
|---|
| (−1,−1) | −1+21=−21 |
| (−1,1) | −1−21=−23 |
| (51,51) | 51−101=101 |
三者中最小的是 −23。
答案 B。 z 的最小值为 −23,在顶点 (−1,1) 处取得。
本题的坑:目标函数改写成 y=2x−2z 后,截距是 −2z 而不是 z——截距最大时 z 反而最小。别把方向搞反。