运用投影几何和解方程组的技巧,一位贝尔实验室的数学家N·卡马克发现了一种快刀斩乱麻的方法.这种方法可以用来解决非常繁杂的线性规划问题,这类问题经常出现在卫星通讯的时间分配,大队飞机的起降编排,以及数百万部长途电话的发送,等等。
直至新近,数学家G·B·丹齐克所发展的单纯形法①(1947)仍然有用.不过,对于巨型问题,即使使用大型计算机也要花费很多时间,因而显得不够实用.数学家们把这类问题想象成一个复杂的几何体,这个几何体有千千万万个的面,每个面上的每一个角顶都表示一种可能的解.算法的任务就是在不去计算每一个解的情况下求出最佳的解答.丹齐克的单纯形法则是沿着体的棱,逐一检验顶点,以求取得最佳解.在大多数问题中,只要未知量不多于15000 至20000 个,用这种方法处理都足够有效。
卡马克算法①总的思路是,通过体的中央取一条捷径.在选定任一内点之后,通过算法使内部的结构变形,也就是说形成了新的问题,在新问题中所选的点准确地成为中心.下一步是在最佳解的方向上找一个新的点,然后再次变形结构,使新的点此时成为中心.除非变形已经结束,否则都要继续同样的步骤,每次都往最好的方向改进.这种一再施行的变换是基于投影几何的概念,它能迅捷地导出最佳的解答。
① 译者注: 单纯形法最早是前苏联数学家康多罗维奇于1939年提出的.康多罗维奇还因在运筹学上的贡献而获得了1975年诺贝尔经济学奖.文中所提到的N·卡马克算法,数学界普遍把这一成就归属于前苏联青年数学家哈奇扬.哈奇扬的算法也称"椭圆算法”(1979)。
① 原注: 算法是一种达到解答的计算步骤.例如,长除法的过程和步骤就是一种算法.在长除法中,我们需要靠智力在算的过程中取一个捷径.如我们用29 去除658,人们会想29 接近30,那么在65 中有几个30呢? 这比算出在658 中有多少个29 便捷得多,几乎可以立即得出答案.卡马克算法也是一种特有的捷径,它是建立在变换和变形的基础上的。
|