本书主要是根据运筹学的学科特点,对传统运筹学的内容和方法做了较大的改革,其主要特点是: “掌握概念、介绍原理、注重方法、淡化理论、突出实用”。即各章都详细讲解基本概念和数学模型,简单介绍一般原理和算法,重点讲授应用方法,淡化理论推导和计算,借助于功能强大的数学软件MATLAB和专业的优化软件LINGO来求解模型,特别突出解决实际问题的“实用性”。
主要内容包括: 绪论、线性规划、运输规划、整数规划、目标规划、非线性规划、动态规划、图与网络分析、存储论、排队论、对策论和决策分析12个章节。其中每一章都包括问题的提出和数学模型、一般的求解方法介绍、软件求解实现、应用案例分析和应用案例练习等内容。书中的所有例题和练习题全部是实际的应用问题,共包含60多个应用案例分析和100多个应用练习题。最后给出了介绍LINGO和MATLAB软件使用方法的两个附录。
本书可作为信息与计算专业或工科各专业的本科生、非运筹学专业的研究生运筹学课程的教材,也可以作为其他专业学生相关课程的参考教材,以及从事相关研究工作的工程技术人员的参考书。
运筹学是运用代数学、统计学等现代应用数学的方法和技术,通过建立数学模型分析研究各种(广义)资源的运用、筹划及相关决策等问题的一门新兴学科。其目的是根据实际问题的具体要求,通过定量的分析与运算,对资源运用、筹划及相关决策等问题做出综合最优的合理安排,以使有限的资源发挥更大的效益或作用。
运筹学作为一门科学最早起源于20世纪30年代末,运筹学早期的研究和应用都是围绕着军事领域的实际问题展开的,一些研究成果在第二次世界大战中取得了辉煌战果,也充分地显示出了运筹学应用的巨大威力。在第二次世界大战结束以后,随着工业的恢复与繁荣,关于运筹学的研究工作在非军事领域也得到了迅速发展。特别是在20世纪60年代以后,随着运筹学的理论和方法的不断发展和进一步的完善,使得运筹学的应用范围越来越广泛,其应用学科的地位也被牢固地确立下来。科学技术的飞速发展和研究水平的不断提高,促进了计算机技术的发展,特别是个人计算机的出现和普及,以及软件技术的快速发展,进一步推动了运筹学的发展和应用范围的日益扩大。时至今日,运筹学已经成为各行各业进行管理决策的一个基本工具。
运筹学作为一个较新的学科,经历了半个多世纪的发展里程,以较为成熟的内容形成了运筹学的理论与方法的基本框架,传统运筹学的基本内容主要包括: 线性规划、整数规划、非线性规划、目标规划和动态规划(简称五规划),以及对策论、存储论、排队论、决策论和图论(简称五论)等。这“五规划”和“五论”完整的理论体系和方法内容都早已被人们普遍接受,甚至每一部分的基本概念与模型、基本理论和方法、求解算法和步骤等都形成了一定模式,多少年来变化甚少。尤其是现有的一般运筹学的教材几乎无一例外地同属于一个模式。譬如,对于线性规划的内容,总是从一般概念和解的一般理论,到单纯形法和对偶理论等,大量的时间和篇幅都是在讲单纯形法与对偶理论,特别是单纯形法的表上作业法,耗时费力。再如,对于非线性规划的内容,总是从一般概念和最优性理论出发,到无约束和有约束问题的各种求解方法,大量的时间和篇幅都是在理论推导上,既复杂又烦琐。诸如此类的问题,人们都已司空见惯,习以为常。这也就使得国内的教材无论是理科用的,还是工科用的,甚至是运筹学专业和非运筹学专业用的教材都千篇一律,同一模式,内容相近,表述也大同小异。对非运筹学相关专业的学生而言,在实际的教学中教师教得很辛苦,学生学得很累,往往效果也不理想。课下经常有学生问: “现在的计算机和专业的工具软件功能已经非常强大了,还讲这些烦琐的东西干什么?”这个问题虽然问得有点儿简单化,但也给我们教运筹学的教师一些启发,促使我们来思考一个现实的问题,运筹学作为一门实用性强、与实际联系密切的应用学科,如何体现其时代特色和实际的需求?又如何体现运筹学的实用地位和应用价值?怎么样用最短的时间教会学生用运筹学的知识和方法来解决实际中的相关问题?尤其是在轰轰烈烈的教学改革的大潮中,运筹学不能保持沉默和无动于衷。因此,我们认为大学的运筹学教材,尤其是非运筹学专业使用的教材,从内容到方法的改革应该大有作为。这也是我们为什么要写这本书的原因所在,其主导思想是: “掌握概念、介绍原理、注重方法、淡化理论、突出实用。”这也是这本书的最主要特点,即详细讲解基本概念和数学模型,简单介绍一般原理和算法,重点讲授应用方法,淡化理论推导和计算,借助于功能强大的数学软件MATLAB和专业优化软件LINGO求解模型,特别突出解决实际问题的“实用性”。据此,将这本书起名为《实用运筹学——模型、方法与计算》。
我们正是在这样的指导思想之下,针对工科(非运筹学专业)的本科生和研究生运筹学课程的教学进行了两年多的教学改革实践,实践结果证明是成功的。具体表现为在不增加学时的情况下,使得授课信息量大大增加,纯粹的求解计算内容基本不讲,具体的工作都让计算机去做了。教学过程同计算机和工具软件的使用相结合,使学生的兴趣倍增,内容的更新使教师教着省力,学生学着轻松。同时,通过大量的实际案例的分析和练习,教学更接近实际的科研工作,大大地加强了学生用所学知识和方法来解决实际问题的数学建模能力和素质,这也是培养创新人才所需要的。为此,我们认为,这应该是运筹学课程的教学内容和方法改革的一个主流方向。
本书适用于信息与计算专业或工科各专业的本科生、非运筹学专业的研究生运筹学课程的教材,授课内容可以根据具体的学时和要求进行选择。本书也可以作为其他相关专业学生的相关课程的参考教材,以及从事相关研究工作的工程技术人员参考之用。
本书由解放军信息工程大学韩中庚教授任策划,并主编,郑州轻工业学院郭晓丽副教授(博士)和解放军信息工程大学的杜剑平、宋留勇参加编写。具体分工如下: 韩中庚编写绪论和第1~6章,郭晓丽编写第7章和第9章,杜剑平编写第8章、第11章和第12章,宋留勇编写第10章和两个附录。最后由韩中庚统稿。
本书的编写出版得到了解放军信息工程大学的支持和资助,特别是得到了信息工程大学机关、信息工程学院、郑州轻工业学院各级领导的关心和支持。在编写过程中得到了解放军信息工程大学信息工程学院指挥管理系刘向明主任的关心与鼓励,以及全体教员和郑州轻工业学院信息与计算科学系同仁们的帮助。在此,编者以诚挚的心情一并表示衷心的感谢。
由于编者的水平有限,书中肯定有不少的错漏,恳请各位同行和热心的读者不吝赐教。
前言Ⅰ
第1章绪论
1.1运筹学的由来
1.2运筹学的定义
1.3运筹学的研究对象和目的
1.4运筹学的研究理论
1.5运筹学的研究方法和步骤
第2章线性规划
2.1线性规划的问题及其数学模型
2.2线性规划解的概念与理论
2.3线性规划的求解方法
2.4线性规划的对偶问题
2.5线性规划的灵敏度分析
2.6线性规划问题的软件求解
2.7应用案例分析
2.8应用案例练习
第3章运输规划
3.1运输规划的问题与数学模型
3.2运输规划的LINGO求解方法
3.3应用案例分析
3.4应用案例练习
第4章整数规划
4.1整数规划的问题与数学模型
4.2整数规划的求解方法
4.301整数规划及求解方法
4.4整数规划的LINGO求解方法
4.5应用案例分析
4.6应用案例练习
第5章目标规划
5.1目标规划的问题与数学模型
5.2目标规划的求解方法
5.3目标规划的LINGO求解方法
5.4应用案例分析
5.5应用案例练习
第6章非线性规划
6.1非线性规划的问题与数学模型
6.2无约束非线性规划的求解方法
6.3带约束非线性规划的最优性
6.4带约束非线性规划的求解方法
6.5非线性规划的软件求解方法
6.6应用案例分析
6.7应用案例练习
第7章动态规划
7.1动态规划的问题与数学模型
7.2动态规划的求解方法
7.3应用案例分析
7.4应用案例练习
第8章图与网络分析
8.1图的基本概念
8.2图的存储结构
8.3最短路问题
8.4最大流问题
8.5旅行商问题
8.6最小生成树问题
8.7匹配与指派问题
8.8应用案例分析
8.9应用案例练习
第9章存储论
9.1存储的问题与数学模型
9.2确定性存储模型
9.3随机性存储模型
9.4带约束的存储模型
9.5应用案例分析
9.6应用案例练习
第10章排队论
10.1排队论的基本概念与模型
10.2排队模型及其分类
10.3单服务台的排队模型与求解
10.4多服务台的排队模型与求解
10.5排队系统的最优化问题
10.6应用案例分析
10.7应用案例练习
第11章对策论
11.1对策问题与对策论的概念
11.2矩阵对策模型
11.3双矩阵对策模型
11.4应用案例分析
11.5应用案例练习
第12章决策分析
12.1决策的基本概念
12.2确定型决策
12.3不确定型决策
12.4风险决策
12.5多目标决策
12.6应用案例分析
12.7应用案例练习
附录ALINGO使用简介
附录BMATLAB优化工具箱的使用简介
参考文献