套路

平移目标直线

把 z=ax+byz=ax+by 看成一族斜率固定的平行线,沿法向平移,最后离开可行域的那个顶点给出最值。

解题套路

  1. 画可行域:逐条把 ax+by+c≥0ax+by+c\ge 0 画成直线的一侧(代一个不在直线上的点,如原点,定哪一侧),取公共部分。

  2. 把 zz 读成截距:z=ax+byz=ax+by 改写成

    y=−abx+zb(b≠0)y=-\frac{a}{b}x+\frac{z}{b}\qquad(b\neq 0)

    这是一族斜率恒为 −ab-\dfrac{a}{b} 的平行线,zz 只影响它的纵截距 zb\dfrac{z}{b}。于是「求 zz 的最值」变成「把这族线平移,看它最高/最低能停在哪」。

  3. 定方向:b>0b>0 时截距越大 zz 越大,向上移是增大 zz;b<0b<0 时反过来,向下移才是增大 zz。这一步最容易做反,先把符号写出来再动手。

  4. 平移到边界:让直线扫过可行域,最后还沾着可行域的那个位置就是最值处,通常是某个顶点。

  5. 联立求点、代回算值:把那个顶点所在的两条边界直线联立解出坐标,代进 z=ax+byz=ax+by。

为什么要看斜率

平移能一眼定出是哪个顶点,靠的是目标直线的斜率与各条边界斜率的相对大小。斜率一比错,就会停在相邻的另一个顶点上——所以画图时斜率要画得像,别把 −34-\dfrac{3}{4} 画成 −1-1。

与「顶点全算一遍」的关系

两者用的是同一块可行域、同一组顶点,区别只在最后一步:平移是看出来哪个顶点最优,全算是算出来再比大小。顶点不多时后者更稳(不必比斜率),顶点很多时前者更快。

常见失手

  • 平移方向弄反,把最小值当成最大值报上去。
  • 半平面取错一侧,可行域整块画错。
  • 只画了图没联立求点,顶点坐标靠目测读出来。

学它之前先会

共 2 条前置、最深 2 层。

共 15 道题考到本条。