本书系统地介绍了运筹学的各重要分支,包括线性规划、整数规划、非线性规划、动态规划、统筹法、图论、排队论、存储论、对策论和决策论等。作者使用简洁、易教、易懂和易操作的方式,系统地论述了运筹学在解决各类实际问题时的数学模型和求解算法。本书不仅给出了每种算法的程序源代码,还给出了每种算法的编程方法和设计流程。书中的实例均采用Delphi语言来实现,并给出了详细的求解过程和界面显示,使读者便于解决实际问题。
本书配带光盘提供了书中所使用的全部程序文件。为了方便读者使用,盘中不仅给出了源程序文件,还给出了在Delphi 6.o中生成应用程序的工程软件和最后生成的可执行文件(。exe文件)。
本书可作为高等院校经济、管理、应用数学、军事指挥等专业大专、本科的运筹学课程的教材、实验或教学参考书,也可供研究生及相关工程技术人员与管理人员参考。
第1章线性规划
1.1线性规划理论基础
1.1.1线性规划的数学模型
1.1.2线性规划的标准型和解的性质
1.1.3线性规划的求解方法
1.2原始单纯形法算法与编程实践
1.2.1原理
1.2.2程序流程图
1.2.3实例及操作
1.2.4部分程序源代码
1.3两阶段法算法与编程实践
1.3.1原理
1.3.2程序流程图
1.3.3实例及操作
1.3.4部分程序源代码
1.4大M法算法与编程实践
1.4.1原理
1.4.2程序流程图
1.4.3实例及操作
1.4.4部分程序源代码
1.5对偶单纯形法算法与编程实践
1.5.1对偶单纯形法的基本原理
1.5.2对偶单纯形法的编程算法和原理
1.5.3程序流程图
1.5.4实例及操作
1.5.5部分程序源代码
1.6运输问题编程算法与编程实践
1.6.1运输问题的理论基础
1.6.2运输问题的编程算法及原理
1.6.3程序流程图
1.6.4实例及操作
1.6.5部分程序源代码
习题-
第2章整数规划
2.1整数规划理论基础
2.1.1整数规划的数学模型
2.1.2整数规划的求解方法
2.20-1整数规划算法与编程实践
2.2.10-1整数规划的理论基础
2.2;20-1整数规划的编程算法及原理
2.23程序流程图
2.2.4实例及操作
2.25部分程序源代码
2.3指派问题编程算法与编程实践
2.3.1指派问题的理论基础
2.3.2指派问题的编程算法及原理
2.3.3程序流程图
2.3.4实例及操作
2.3.5部分程序源代码
习题
第3章非线性规划
3.1基本概念
3.1.1非线性规戈U的概念
3.1.2凸规戈U
3.2黄金分割法
3.2.1算法原理
3.2.2程序流程图
3.2.3实例计算及软件操作使用
3.2.4部分程序源代码
3.3次插值法
3.3.1算法原理
3.3.2程序流程图
3.3.3实例计算及软件操作使用
3.3.4部分程序源代码
3.4最速下降法
3.4.1算法原理
3.4.2程序流程图
3.4.3实例计算及软件操作使用
3.4.4部分程序源代码
3.5DFP法
3.5.1算法原理
3.5.2程序流程图
3.5.3实例计算及软件操作使用
3.5.4部分程序源代码
习题
第4章动态规划
4.1动态规划理论基础
4.1.1动态规划问题的由来
4.1.2多阶段决策问题的概念和主要应用
4.1.3动态规戈j问题的基本概念
4.1.4解决动态规划问题的基本方法和基本步骤
4.2资源分配问题算法与编程实践
4.2.1资源分配问题理论基础
4.2.2资源分配问题编程算法
4.2.3资源分配问题程序流程图
4.2.4实例及操作
4.2.5部分程序源代码
4.3生产与存储问题算法与编程实践
4.3.1生产与存储问题基本概念及其动态规划模型
4.32生产与存储问题算法原理
4.3.3生产与存储问题程序流程图
4.3.4实例及操作
4.35部分程序源代码
4.4设备更新问题算法与编程实践
4.41设备更新问题基本概念及其动态规划模型
4.42设备更新问题算法原理
4.43程序流程图
4.4.4实例及计算
4.4.5部分程序源代码
4.5排序问题算法与编程实践
4.5.1排序问题基本概念及其动态规划模型
4.5.2爿》序问题编程算法
4.5.3程序流程图
4.5.4实例及计算
4.5.5部分程序源代码
习题
5章网络计划技术
5.1网络计划技术概述
5.1.1网络计划技术在计算机上的发展过程
5.12网络计技术的基本内容
5.13计戈0网络图的要素、分类与结构
5.1.4网络计划技术的应用步骤
5.2工序自动分级算法与编程实践
5.2.1箭线图的结构矩阵
5.2.2箭线图结构矩阵在结构设计中的应用
5.2.3节点分级排序算法程序流程图
5.2.4实例计算及软件操作使用
3.2.5实例计算的部分软件源程序
5.3工序自动初步编号算法与编程实践
5.3.1箭线图的列表设计法
5.3.2箭线图自动编号程序流程图
5.3.3实例计算及软件操作使用
5.3.4实例计算的部分软件源程序
5.4通用网络技术参数计算算法与编程实践
5.4.1箭线图时间参数的基本概念及计算方法
5.4.2程序功能巳及流程图
5.43实例计算及软件操作使用
5.4.4实例计算及部分软件源程序
习题
6章图论
6.1图论理论基础
6.1.1图
6.1.2图的同构
6.1.3关联矩阵和邻接矩阵
6.1.4子图
6.1.5顶点的度
6.2最短路径问题各项点值算法与编程实践
6.2.1最短路的标号法算法原理
6.2.2最短路径问题各顶点权重编程算法
6.2.3实例计算及软件操作使用
6.2.4实例计算的部分软件源程序
6.3最短路径问题两顶点问路径计算算法与编程实践
6.3.1DANTZIG算法原理'
6.3.2最短路径问题两顶点间距离编程算法
6.3.3实例计算及软件操作使用
6.3.4实例计算的部分软件源程序
6.4最大可靠路的计算算法与编程实践
6.4.1最大可靠路算法原理
6.4.2实例计算及软件操作使用
6.4.3实例计算的部分软件源程序
6.5最小支撑树问题算法与编程实践
6.5.1求最小支撑树算法
6.5.2Kruskal编程算法
6.5.3实例计算及软件操作使用
6.5.4实例计算的部分软件源程序
6.6最短树问题逐步生长法算法与编程实践
6.6.1逐步生长法算法原理
6.6.2逐步生长法编程算法
6.6.3实例计算及软件操作使用
6.6.4实例计算的部分软件源程序
习题
第7章排队论
7.1排队论基本概念
7.1.1排队系统的组成
7.1.2排队系统的运行指标
7.2损失制排队模型算法与编程实践
7.2.1算法原理
7.2.2程序流程图
7.2.3实例计算及软件操作使用
7.2.4部分程序源代码
7.3等待制排队模型算法与编程实践
7.3.1算法原理
7.3.2程序流程图
7.3.3实例计算及软件操作使用
7.3.4部分程序源代码
7.4混合制排队模型算法与编程实践
7.4.1算法原理
7.4.2程序流程图
7.4.3实例计算及软件操作使用
7.4.4部分程序源代码
7.5单通道混合制算法与编程实践--排队时间有限
7.5.1算法原理
7.5.2程序流程图
7.5.3实例计算及软件操作使用
7.5.4部分程序源代码
7.6闭合式系统算法与编程实践
7.6.1算法原理
7.6.2程序流程图
7.6.3实例计算及软件操作使用
7.6.4部分程序源代码
习题一
8章存储论
8.1存储论基本概念
8.1.1需求
8.1.2补充(订货或生产)
8.1.3费用
8.1.4存储策略
8.2经典的经济订货批量模型算法与编程实践
8.2.1算法原理
8.2.2程序流程图
8.2.3实例计算及软件操作使用
8.2.4部分程序源代码
8.3允许缺货的经济订货批量模型算法与编程实践
8.3.1算法原理
8.3.2部分程序流程图
8.3.3实例计算及软件操作使用
8.3.4部分程序源代码
8.4生产批量模型算法与编程实践
8.4.1算法原理
8.4.2程序流程图
8.4.3实例计算及软件操作使用
8.4.4部分程序源代码
8.5允许缺货的经济生产批量模型算法与编程实践
8.5.1算法原理
8.5.2程序流程图
8.5.3实例计算及软件操作使用
8.5.4部分程序源代码
8.6有批量折扣模型算法与编程实践
8.6.1算法原因
8.6.2程序流程图
8.6.3实例计算及软件操作使用
8.6.4部分程序源代码
8.7需求为随机的单周期存储模型算法与编程实践
8.7.1算法原理
8.7.2程序流程
8.7.3实例计算及软件操作使用
8.7.4部分程序源代码
8.8(5S)策略存储模型算法与编程实践
8.8.1算法原理
8.8.2程序流程图
8.8.3实例计算及软件操作使用
8.8.4部分程序源代码
习题
第9章对策论
9.1矩阵对策的最优纯策略问题算法与编程实践
9.1.1矩阵对策的概念
9.L2最优纯策略问题的计算方法及举例
9.1.3最优纯策略程序算法原理
9.1.4最优纯策略程序的流程图
9.1.5实例计算及软件操作说明
9.1.6部分软件源程序
9.2矩阵对策线性方程组解法算法与编程实践
9.2.1矩阵对策的混合策略问题
9.2.2线性方程组解法介绍及举例
9.2.3线性方程组解法算法原理
9.2.4线性方程组解法程序流程图
9.2.5实例计算及软件操作使用
9.2.6部分软件源程序
9.3矩阵对策线性规划解法算法与编程实践
9.3.1线性规划解法有关概念及计算方法
9.3.2线性规划解法算法原理
9.3.3线性规划解法程序流程图
9.3.4实例计算及软件操作说明
9.3.5部分软件源程序
习题
第10章决策论
10.1风险决策算法与编程实践
10.1.1风险型决策基本概念及常用决策准则
10.1.2风险型决策常用求解方法
10.1.3各方法的算法原理、程序流程图、实例操作及源程序
10.2完全不确定型决策算法与编程实践
10.2.1完全不确定型决策基本概念及常用决策准则
10.2.2完全不确定型决策常用求解方法
10.2.3各方法的算法原理、程序流程图、实例操作及源程序
10.3序列决策、决策树分析法算法与编程实践
10.3.1序列决策、决策树分析法基本概念与计算方法
10.3.2序列决策的决策树法算法原理
10.3.3决策树分析法程序流程图
103.4实例计算及软件操作使用
习题
参考文献
运筹学是一种分析、实验和定量的科学方法。它专门研究在既定的物质条件(人力、物力、财力)下,为达到一定的目的,运用科学的方法,主要是数学方法,进行数量分析,统筹兼顾研究对象的整个活动中各个环节之间的关系,为选择出最优方案提供数量上的依据,以便做出综合性的合理安排,最经济、最有效地使用人力、物力、财力,以达到最佳的效果。运筹学在社会实践的广泛应用中不断地完善和发展。中国特色社会主义全面建设给运筹学开拓了广阔的用武之地。许多工科院校、军事院校、财经院校为培养复合型的管理人才,调整了专业课程设置,开设了运筹学这门课程。
近年来计算机软件开发技术有了变革性的发展,一大批面向对象的开发工具相继出现,并显示出其强大的生命力。Delphi就是一款具有代表性的面向对象的开发工具。为了适应计算机软件开发技术的发展,并使运筹学教材较好地体现出高等教育的特点,笔者编写了本书。
本书以培养与提高读者的专业素质及综合应用能力为目标,在介绍运筹学理论算法、编程算法的同时,注重介绍应用程序的开发过程和实现技巧,并通过详细的实例剖析,以便于读者能够快速掌握,实现了运筹学的基本方法与计算机软件使用的有机结合。本书不仅适用于运筹学的理论教学、案例教学与计算机软件有机结合的新的教学方式,而且书中内容使得运筹学的各种优化方法能更直接地为科研和生产管理服务。
书中不仅给出了每种算法的编程方法和源程序,还给出了每种算法的具体设计方法和程序设计过程,并且每种算法还给出了详细案例及软件操作使用方法。本书提供的运筹学软件由线性规划(原始单纯形法、两阶段法、大M法、对偶单纯形法、运输问题)、整数规划(0—1整数规划、指派问题)、非线性规划(黄金分割法、二次插值法、最速下降法、变尺度法)、动态规划(资源分配问题、生产与存储问题、设备更新问题、排序问题)、统筹法(工序自动分级、工序自动编号、通用网络计划技术参数计算)、图论(赋权图中各顶点间最短通路值计算、赋权图中两顶点间最短通路值的标号法程序、最大可靠路的计算、求最小支撑树的Kruskal算法、最短树问题的逐步生长法程序)、排队论(损失制排队模型、等待制排队模型、混合制排队模型、单通道混合制排队时间有限模型、多通道混合制排队时间有限模型、闭合式系统)、库存论(经典的经济订货批量模型、允许缺货的经济订货批量模型、生产批量模型、有批量折扣模型、随机性模型、(“S)策略存储模型)、对策论(矩阵对策的最优策略问题、矩阵对策的线性方程组解法、矩阵对策的线性规划解法)、决策论(风险决策、非确定性决策、贝叶斯决策、决策树决策)等算法组成。本书所有程序均在Windows 2000的Delphi 6.0环境下调试通过。
本书是作者多年从事运筹学教学和科研工作的一个阶段性成果。本书配套光盘中的软件包既可作教学之用,也可直接用于科研与生产管理,是管理人员的得力助手。软件操作界面友好,操作简单,输人数据格式简单,输出格式清晰。本书不仅是一本好的运筹学教学用书,同时也不失为Delphi程序员的良师益友。
本书是在江苏省系统工程学会及理事长王可定教授的帮助下完成的,我谨向学会全体同仁表示由衷的感谢。另外,我要特别感谢运筹学界的前辈钱颂迪先生,他亲自执笔为本书作序。最后,还要感谢清华大学出版社和解放军理工大学工程兵工程学院工程兵指挥自动化教研室及有关部门,他们的大力支持和帮助,使得本书的撰写和出版有了充分的保证。
由于作者水平有限,时间仓促,书中难免存在缺点与疏漏,殷切期待着广大读者及同仁对本书的评论与建议,以求今后的改进。
刘建永
2004年3月 于南京