迭代法,如单纯形法,1939年提出,适用于线性不等式组问题。
对偶法,20世纪50年代流行,适用于资源有限、需求无限的情况。
分支定界法,20世纪60年代发展,适用于树形结构问题,如旅行商问题。
这就是坑,复杂问题别用。
动态规划,适用于多阶段决策问题,1940年代由Bellman提出。
隐式规划,适用于非线性问题,20世纪60年代兴起。
别信,非线性问题别乱用。
矩阵分析法,适用于线性代数问题,20世纪30年代已有。
别这么干,非线性代数问题别简单套用。
整数规划,适用于整数解问题,1930年代开始研究。
这就是坑,非整数问题别硬套。
记得有一次,我帮朋友小张规划了一个周末的行程。小张是个摄影爱好者,想在周末去拍日出。他问了我一个看似简单的问题:“老兄,你说我应该在哪个点看日出,才能保证日出时阳光最充足,同时又能拍出最美的照片呢?”
我笑了笑,心想这问题不简单,得用到点数学知识。于是,我拿出地图,画了几个可能的观测点,然后开始计算每个点的日出角度和太阳高度角。经过一番计算,我发现一个位于公园东北角的点,日出时阳光角度最理想,而且风景也独好。
这事儿让我想起了线性规划。线性规划是一种数学方法,用来找到一组变量的最优值,使得某个线性目标函数最大化或最小化,同时满足一系列线性约束条件。比如,小张的摄影问题,就是一个线性规划问题。
时间回到2012年,我在大学里第一次接触到线性规划。那时候,我跟着导师做项目,需要优化生产线上的物料分配。我们用线性规划模型,在满足生产需求的同时,尽量减少成本。那是一个复杂的项目,涉及到成百上千个变量和约束条件。
等等,我突然想到,那个公园的观测点,其实就是一个线性规划的应用。我算了算,当时用了不到一个小时就解决了小张的问题,而那场生产线上的优化,却花了我好几个月的时间。
说到底,线性规划就像是一把钥匙,能打开复杂问题的解决之门。不过,用得好不好,还得看人的本事。你说是吧?
去年夏天,我在一个周末的下午,坐在咖啡馆里,用手机解决了一个线性规划问题。那时我正在用一款叫“线性规划求解器”的小软件,解决一个关于货物配送的最佳路径问题。
当时我输入了六个地点的坐标和每两个地点之间的距离,以及一个总预算限制。我设定目标是最小化总运输成本。输入数据后,我点击了“求解”按钮,只花了不到一分钟,系统就给出了一个方案。
我看着屏幕上的结果,突然想到,这个线性规划方法,其实在生活中无处不在。比如,我们每天如何安排时间,如何在有限的预算内规划旅行,甚至是公司如何分配资源,都是线性规划的实际应用。
这让我想到,线性规划的通用方法,是不是就像这个求解器一样,通过建立数学模型,把复杂问题简化成几个变量和目标函数,再通过计算得到最优解?不过,现实中的问题可能没有这么简单,还需要考虑各种约束条件。
时间过得真快,我喝完最后一口咖啡,突然又想到,线性规划是不是也有它的局限性?等等,还有个事,我在大学的时候,就听说线性规划在某些特殊情况下可能无法找到最优解,那它是如何处理这些情况的呢?