前言


运筹学作为一门现代科学,是在第二次世界大战期间首先在英国和美国发展起来的,但运筹学的思想在中国早已应用于实际,“运筹帷幄之中,决胜千里之外”就体现了运筹学的思想与作用。运筹学以应用数学为基础,利用数学模型和算法寻找复杂问题中的最优或近似最优的解答,对学习、工作、生活都很有帮助。随着科学技术和生产的发展,运筹学已被广泛应用于多个领域,发挥着越来越重要的作用。
关于运筹学的教材已经有一些,国内的教材更容易理解,国外的教材理论体系更强。所以本书综合国内教材逻辑清晰、更容易理解的优点,同时吸纳国外教材中的部分理论,使运筹学的理论体系更加完善。运筹学涉及大量的算法推演和计算,部分读者可能会感觉枯燥,丧失学习的兴趣。其实,随着计算机软件的发展,很多计算工作可以交由软件代劳,这样读者只需轻松理解概念,理解运筹学算法的逻辑,然后直接通过软件得到计算结果即可。在常用的处理运筹学问题的软件中,MATLAB包含的内容全,代码容易理解,且拓展性强,比较有利于学习和后期的应用,所以本书的案例采用MATLAB实现。读者可以通过代码快速实现运筹学的应用,同时可以通过分析代码理解运筹学实现的逻辑,也更有利于理论的学习和理解。
全书内容分三篇,第一篇为运筹学基础,包括第1~7章; 第二篇为全局优化算法,包括第8~11章; 第三篇为运筹学应用案例,包括第12章和第13章。
第1章介绍线性规划最基本的解法——单纯形法。在原理的叙述上,尽量避免冗长的算式,采用线性代数的方式揭示该算法工作的本质。在本章的最后给出了单纯形法的实现代码,可以帮助读者深入理解单纯形法,以及单纯形法的数学语言与计算机语言的转换方式。
第2章介绍对偶单纯形法。在对偶单纯形法的学习中,最容易遇到的问题是知其然而不知其所以然,为此本章从读者熟悉的拉格朗日乘数法开始讲解,解释为什么需要对偶单纯形法,并对原问题和对偶问题的有关性质用代数证明。值得一提的是,我们介绍如何利用对偶单纯形法证明凡卡引理,由此引出资产定价中重要的无套利原理。
第3章首先介绍何为灵敏度分析,接下来将其具体应用到线性规划问题中。灵敏度分析是衡量一个模型的重要准则,求解小体量的线性规划问题可能不足以看到它的优越性,但这种思路是应该掌握的。
第4章内点法的内容在当前国内运筹学教材中比较少见。作为计算数学常用的方法,掌握内点法对于有志于进行算法学习的读者是必要的。在可行域内寻找势函数、障碍函数的设置,内点法都是十分有代表性、值得深入理解的方法。本章涉及丰富的代数证明,需要读者有一定的线性代数基础。

第5章介绍整数规划方法,包括割平面法、分支定界法和01整数规划,并针对每种算法,利用相关例子和具体代码演示。对于实际案例,很多优化问题的变量往往存在整数限制,所以整数规划的各种方法都具有实际意义。基于整数规划算法的应用意义,本章在模型建立阶段具体介绍模型的选择、限制条件的转换、整数规划模型的变式,将各种情况的一般问题归结为容易解决的数学形式。本章的最后介绍利用整数规划解决问题的MATLAB实例,帮助读者理解整数规划的应用场景和具体应用过程。
第6章介绍图与网络流问题,包括几种经典的网络流问题,即最短路径问题、最大流问题、最小费用流问题和最小生成树问题的解决方法。标记法等人工计算方法和较为复杂的借助程序的算法并重,针对不同问题都给出了较为简便的优化算法。另外,引入了一些网络流问题变式的形成过程和BellmanFord算法,丰富网络流问题的公式化和最短路径问题的解决方案。
第7章介绍线性规划的复杂度和椭球法。本章着眼于线性规划的新方向,这一方向强调几何方法,并引进非线性规划的技巧,介绍研究椭球法的目的,即增强算法有效性及几何基础知识。解释椭球法的思想旨在为读者解决线性规划问题提供新的思路,为算法有效性的改进提供可能性,同时提示读者在学习、研究规划算法时需注意对算法的计算复杂度有所考查。
第8章介绍遗传算法。遗传算法是启发式算法中最为经典的一种算法,是根据遗传进化过程而设计的算法,也是全局优化算法中适应非常广的著名的方法之一。本章详细介绍遗传算法的原理、步骤和MATLAB实现过程。
第9章介绍模拟退火算法,也是全局优化算法中比较经典的算法,其最有趣的过程是基于固体退火的原理而设计。本章介绍模拟退火算法的原理、参数设置的方法、旅行商问题的求解实例以及MATLAB求解器的使用方法。
第10章介绍粒子群优化算法。其算法原理是鸟群采用信息共享的机制进行觅食,也是比较有趣的全局优化算法。本章除了介绍算法的原理、实现过程外,还介绍相关的使用经验,以及与其他全局优化算法在收敛性方面的比较。
第11章介绍多目标优化算法。重点介绍多目标优化的机理、算法步骤和应用实例,丰富了运筹学的内容。
第12章介绍经典运筹学在金融行业的综合应用案例,使用的是线性规划方法,并分别介绍是否有整数约束的两种情况下的求解过程。
第13章介绍工程上的水电站大坝优化的综合应用案例,使用非线性规划和二次规划,给出详细的工程背景介绍及实现过程。
最后,感谢清华大学出版社盛东亮和钟志芳老师一直以来的支持和鼓励,帮助我们顺利完成书稿!
由于作者水平有限,书中疏漏之处在所难免,在此,诚恳地期待广大读者批评指正,我将在科学与技术的路上与大家互勉共进!

卓金武2022年8月