运筹学是高等学校经济管理类各专业开设的一门必修课,不仅本科层次开设,而且在硕士研究生教学段,也是一门必修的学位课。尤其重要的是,运筹学在很多高校的本科生管理类专业考研中也是必考课程。但是,在目前流行的运筹学教科书中,大多都显得体系比较庞杂,因而教学适应性较差。本《运筹学教程》主要是适应于特定的教学目的而编写的,这种特定的目的就是,为高校本科生和研究生阶段特定的教学服务。
全书共包括14章内容。第0章~第6章适用于本科教学段,第7章一第10章适用于研究生教学段。本科教学段根据作者多年的教学经验,40学时的教学内容,通常只能完成线性规划、对偶规划、运输问题和整数规划等几章内容,50学时可加上动态规划,如果是60学时可再加上图论与网络分析。而实际上,本科教学段多数情况下教学计划很少有把运筹学安排到60学时的。根据多年来本科生考研的情况来看,大多数院校运筹学的考试内容主要也是限于这几章。按照运筹学模型的分类方法,这几章也是数学规划和运筹学确定型模型的主要内容。运筹学研究生教学段的主要内容是运筹学的随机型模型,包括决策论、对策论、存储论和排队论。这4章内容基本上可以满足研究生段40学时的运筹学教学。另外,为适应于MBA(工商管理硕士)《数据模型与决策》(本课程是经对运筹学改革后形成的)课程教学的需要,第13章增加了数据分析的有关内容。同时,鉴于博弈论和最优化在经济管理中日益显赫的重要性,第11章和第12章还增加了“博弈论简介”和“最优化方法简介”的内容。另外,每一章都附有对相应问题的计算机求解方法,每一章之后也附有必要数量的练习题。为适应MBA教学的需要,前3章还附有必须完成的案例分析题目。
本书适合高等院校经济管理类专业本科生和研究生使用,也可作为从事运筹学研究的所有人员的参考书。
第0章绪论
0.1运筹学的产生及其概念
0.2运筹学的模型和内容
0.2.1数学规划
0.2.2图论
0.2.3排队论
0.2.4对策论
0.2.5决策论
0.2.6存储论
0.2.7搜索论
0.3运筹学的性质与特点
0.4运筹学分析的主要步骤
0.4.1系统分析和问题描述
0.4.2模型的建立和修改
0.4.3模型的求解和检验
0.4.4结果分析与实施
0.5运筹学的发展及软运筹学的出现
0.5.1第二次世界大战后的蓬勃发展时期
0.5.220世纪70年代后的衰落
0.5.3软运筹学的出现
第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.4单纯形方法
1.4.1单纯形方法的基本思路
1.4.2单纯形方法的矩阵描述
1.4.3单纯形表
1.4.4如何寻找初始可行基(二阶段法)
1.5改进单纯形法
1.5.1单纯形方法的缺点及其改进的思路
1.5.2基逆的乘积表示方法
1.5.3改进单纯形方法的应用步骤
1.6线性规划的计算机求解
1.7应用案例讨论
习题与作业
第2章对偶规划与灵敏度分析
2.1线性规划的对偶问题与对偶规划
2.1.1对偶问题的提出
2.1.2对偶规划的一般数学模型
2.1.3原问题与对偶问题的对应关系
2.2线性规划的对偶理论
2:3对偶单纯形法
2.3.1对偶单纯形方法的基本思想
2.3.2对偶单纯形方法的数学证明
2;3.3对偶单纯形方法的解题过程
2.4对偶解的经济解释
2.4.1对偶线性规划的解
2;4.2影子价格
2.4.3边际贡献
2.5灵敏度分析
2.5.1灵敏度分析的含义
2.5.2价值向量的灵敏度分析
2.5.3资源约束的灵敏度分析
2.5.4技术系数发生变化的灵敏度分析
2.6利用计算机进行灵敏度分析
2.7应用案例讨论
习题与作业
第3章运输问题
3.1运输问题的模型及其特点
3.1.1运输问题的一般提法和模型
3.1.2运输问题的一般特点
3.2运输问题的表上作业法
3.2.1初始方案的确定
3.2.2最优性检验
3.2.3方案调整
3.3运输问题的应用及推广
3.3.1运输问题的应用
3.3.2运输问题的推广
3.4运输问题的图上作业法
3.4.1图上作业法的适用范围及其约定
3.4.2对流和迂回
3.4.3交通图不成圈
3.4.4交通图成圈
3.5利用计算机求解运输问题
3.6应用案例讨论
习题与作业
第4章整数规划
4.1整数规划的认识
4.1.1什么是整数规划
4.1.2整数规划问题举例
4.1.3整数规划问题研究的必要性
4.2分枝定界法
4.2.1分枝定界法的基本思路
4.2.2分枝定界法的应用步骤
4.2.3分枝定界法解题举例
4.3割平面法
4.3.1割平面法的基本思路
4;3.2割平面法的求解步骤
4.4求解0—1规划的隐枚举法
4.5指派问题
4.5.1何为指派问题
4.5.2指派问题的匈牙利解法
4.5.3非标准形式的指派问题
4.6整数规划和指派问题的计算机求解
习题与作业
第5章动态规划
5.1动态规划的基本概念和方法
5.1.1多阶段决策及过程最优化
5.1.2动态规划的基本概念
5.1.3最短路径问题的动态规划
5.2动态规划的基本原理、模型和解法
5.2.1最优化原理
5.2.2动态规划模型的建立
5.2.3动态规划模型的求解
5.3前向动态规划法
5.3.1顺序解法的基本思路
5.3.2最短路线问题的顺序解法
5.3.3顺序解法与逆序解法的异同
5.4动态规划应用举例
5.4.1资源分配问题
5.4.2背包问题
5.4.3购销问题
5.4.4货郎担问题
5.5动态规划的计算机求解
5.6货郎担问题的Qbasic程序
习题与作业
第6章图与网络分析
6.1图与网络的基本知识
6.1.1“七桥难题”与图论
6.1.2图与网络
6.1.3图的矩阵表示
6.2最小树问题
6.2.1什么是树
6.2.2图的生成树
6.2.3最小树
6.3最短路问题
6.3.1最短路问题的一般提法
6.3.2求最短路问题的D算法(Dijkstra算法)
6.3.3求最短路问题的B算法(Bellman算法)
6.3.4求最短路问题的F算法(Floyd算法)
6.4最大流问题
6.4.1模型及基本概念
6.4.2最大流最小割定理
6.4.3求最大流的标号算法
6.5最小费用流问题
6.5.1最小费用流问题的提法和模型
6.5.2最小费用最大流问题的解法
6.6利用计算机进行图与网络分析
习题与作业
第7章决策论
7.1决策论概述
7.1.1决策的概念和分类
7.1.2决策的一般过程
7.1‘3决策中必须遵循的一些基本原则
7.2非确定性决策
7.2.1悲观法(MaxMin准则)
7.2.2乐观法(MaxMax准则)
7.2.3折衷法(乐观系数法)
7.2.4平均法(等可能准则)
7.2.5最小遗憾法(MinMax准则)
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.4.5进行一致.险检验
7.5决策分析中的模拟方法
7.5.1什么是模拟
7.5.2模拟方法的应用
7.5.3模拟方法在Excel上的实现
7.6利用计算机进行决策分析
习题与作业
第8章对策论
8.1对策论的初步认识
8.1.1对策现象和对策论
8.1.2对策问题的三要素
8.1.3对策问题举例
8.2矩阵对策的基本理论
8.2.1矩阵对策的纯策略
8.2.2矩阵对策的混合策略
8.2.3矩阵对策的基本性质和特点
8.3矩阵对策的解法
8.3.1公式法
8.3.2既约矩阵及其行列式解法
8.3.3图解法
8.3.4方程组解法
8.3.5线.性规划解法
8.4利用计算机求解矩阵对策
习题与作业
第9章存储论
9.1存储论概述
9.1.1存储问题的提出
9.1.2存储论中的基本概念
9.1.3存储模型的分类
9.2确定型存储模型
9.2.1模型一:不允许缺货.一次性补充
9.2.2模型二:不允许缺货.连续性补充
9.2.3模型三:允许缺货.一次性补充
9.2.4模型四:允许缺货.连续性补充
9.3随机型存储模型
9.3.1随机型存储模型的特点及存储策略
9.3.2一次性订货的离散型随机存储模型
9.3.3一次性订货的连续型随机存储模型
9.4利用计算机求解存储问题
习题与作业
第10章排队论
10.1排队论概述
10.1.1排队论及排队系统
10.1.2排队系统中随机变量的有关分布
10.1.3生灭过程与平稳状态分布
10.2M/9d/1模型
10.2.1标准的M/M/1模型
10.2.2容量有限的M/M/1模型(M/M/1/K)
10.2.3顾客源有限的M/M/1模型(M/M/1/n2)
10.3M/M/S模型
10.3.1标准的M/M/S模型
10.3.2容量有限的M/M/S模型
10.3.3顾客源有限的M/M/S模型
10.4利用计算机求解排队问题
习题与作业
第11章博弈论简介
11.1什么是博弈论
11.2一个经典案例:囚徒困境
11.3博弈论原理的应用
11.4生活中的其他案例
11.4.1智猪博弈
11.4.2夫妻博弈
11.4.3警偷博弈
11.4.4其他案例
11.5竞争.隋报对博弈均衡的影响
11.5.1不完全信息静态博弈的例子
11.5.2竞争情报的介入
11.5.3制度的设计者
习题与讨论
第12章最优化方法简介
12.1最优化方法分类
12.2最大面积和最大容积问题
12.2.1托尔斯泰的题目——最大面积问题
12.2.2最大容积问题
12.2.3定和乘数的乘积
12.3黄金分割法
12.3.1什么是黄金分割法
12.3.2的渐进性质
习题与讨论
第13章数据分析
13.1概述
13.2单变量数据分析
13.2.1描述性统计
13.2.2直方图
13.2.3排位和百分比排位
13.3双变量数据分析
13.3.1散点图
13.3.2相关分析
13.3.3方差分析
13.4线性回归分析
13.4.1关于线性回归的说明
13.4.2线性回归分析工具
13.4.3关于回归结果可靠性的指标
13.4.4回归结果的表达(以房租模拟为例)
13.4.5在散点图中插入趋势线
13.5简单线性回归
13.5.1对数回归模型
13.5.2乘幂回归模型
13.5.3指数回归模型
练习题
参考文献
非常高兴由本人独立编著的第二部教材《运筹学教程》(第一部是《经济计量学教程》)在国防工业出版社的大力支持下,就要出版了。
运筹学是高等学校经济管理类各专业开设的一门必修课,不仅本科层次开设,而且在硕士研究生教学段,也是一门必修的学位课。尤其重要的是,运筹学在很多高校的本科生管理类专业考研中也是必考课程。运筹学与经济计量学一样,都是属于经济管理类专业中比较难学的课程。运筹学太难,这是各种不同层次的同学,包括本科生和研究生的共同反映。有一级的工商管理硕士(MBA)学员给我讲的更诙谐,说他们同学都管“运筹学”叫“晕愁学”,看到运筹学就“晕”就“愁”。对于大多数已是而立之年的MBA学员来说,有这种认识我完全理解。
在运筹学的本科教学中,笔者时不时地总会遇到这样的尴尬情景,有个别学生可能会直截了当地给老师反映,老师讲运筹学他听不懂,何哉?很显然基础不具备。学习运筹学需要什么基础呢?主要是两个方面:一是管理学的理论知识和经验;二是数学尤其是线性代数的基础知识。这与运筹学的性质和任务有关。运筹学教学的主要任务是解决两个问题:一是把实际问题抽象为数学模型,即要解决如何建模的问题;二是研究探讨模型的求解方法,即解决模型的求解问题。解决建模问题,需要的是对实际问题的了解,对管理学内容的透彻理解和实际经验。而求解方法的探讨,需要的则是数学知识尤其是线性代数知识。学习运筹学,这两个方面是缺一不可的,而这两个方面可能很多人都很难同时兼备。比如:就本科生来说,大多数人可能第一个方面都比较欠缺;就MBA学员来说,可能大多数人第二个方面都比较欠缺。更有甚者,可能两个方面都不具备。这样,就难免听不懂。
那么,究竟应如何学好运筹学呢?像我在《经济计量学教程》中“开头的话”里所强调的一样,主要可以从如下三个方面做起。
(一)要有一种啃骨头的精神。革命导师马克思曾经说过:“在科学上是没有平坦的大路可走的,只有那些在崎岖的山路上不畏艰险攀登的人,才有希望到达光辉的顶点。”清朝人彭端淑在《白鹤堂集·为学》中也说道:“天下之事有难易乎,为之,则难者亦易矣;不为,则易者亦难矣。人之为学有难易乎,学之,则难者亦易矣;不学,则易者亦难矣。”一代伟人毛泽东也曾谆谆告诫我们“世上无难事,只要肯登攀”。俗语有云,“不受一番冰霜苦,焉得梅花放清香”。这些都充分地说明了啃骨头精神的重要性。
我赞赏这种啃骨头的精神,这主要是强调以下几点。第一,要克服“思维惰性”。在教学中,我发现很多人有这样一种思维定式,即一旦遇到某个问题一时不明白,他立刻就会将自己封闭起来。这时,不管老师讲什么或如何讲,他都已经听不进去了。我把这种现象概括为“思维惰性”。在这种情况下,你一定要耐着性子听,说不准过不一会儿你会恍然大悟。第二,要不放过任何一个问题。在这里,我提倡同学们相互学习。有问题一定要问,可以先互相问,比如说:“这个问题老师讲过没有?”、“你如何理解这个问题?”等等。如果经过讨论大家都不清楚,可以问老师。这样做,可以显著地提高效率。因为,教学中不少同学提出的问题,其实都是老师反复讲过的问题。一定要立足于把每一个问题都弄清楚。否则,问题越积越多,积重难返就麻烦了。到那时,有问题想问可能都不知道该从何着手了。第三,要多读一些参考书。老师要教好一门课,备课时一定要找来很多参考书。同学们学习也应该是这样。同一个问题,不同的书表述的方式方法可能会不完全相同。同一个问题看这本书不明白,看另外一本书可能会茅塞顿开。第四,要勤于思考。多读书,还要勤思考。光读书,不思考,叫生吞活剥。读运筹学方面的书,“五里先生好读书,不求甚解”,那是万万不行的。在这里老师送同学们一个八字箴言,即“读书,思考,提炼,升华”。只有多读书,勤思考,才能在知识的海洋中不断地提炼升华,有所进步。
(二)要充分认识到运筹学的重要性。说这话实非“王婆卖瓜”。因为,运筹学属于二门管理科学,管理要搞好,重在“胸中有数”。“数”就是要有一个量的概念,要有一个量的把握。运筹学也叫管理数学,它不同于经济计量学。经济计量学研究的对象是经济关系,即经济变量之间的数量关系。而运筹学的研究对象则是管理要素的组合,具体地说,是寻求管理要素的最佳组合方案。《史记》中关于“运筹于帷幄之中,决胜于千里之外”的说法,充分地体现了运筹学的重要性。运筹学是软科学中“硬度”相对较高的一门学科。运筹学产生于军事,应用和成熟于经济和管理,目前它已广泛地应用于工业、农业、商业、金融、保险、交通运输、公用事业、资源、环境等领域。有权威人士说,运筹学可以直接创造生产力,可以显著提高综合国力。这种说法一点也不夸张。我国老一辈科学家中很多人包括科学界泰斗钱学森教授、华罗庚教授,都曾为国内运筹学的发展作出过开创性的卓越贡献。
(三)要讲求学习方法。不同的课程要求的学习方法会不完全相同。在这里我提倡一种“四轮学习方略”。我没有研究过流行的所谓“四轮学习方略”。我所说的“四轮学习方略”是指,第一轮,首先要搞好课前预习。这一点对于运筹学来说同样很重要,即对教学内容必须要先熟悉一下。教学中我常常发现,有一些同学老师讲了半天,他还不知道老师在讲什么,似乎老师是在讲天方夜谭一样。预习可以有效地避免这种现象。第二轮,课堂上一定要认真听讲,尤其要注意老师讲的慢的地方和反复讲的地方,特别是每一章、每一节的开头。每一章、每一节开头的地方,必然涉及到章与章、节与节之间的逻辑联系。弄清楚这些问题有利于形成完整的知识体系。第三轮,课后一定要认真复习。复习不仅可以巩固已有的知识,温故还可以知新。运筹学像经济计量学一样,也是属于内在逻辑联系比较强的一门学科。如果前面学后面忘,就很难学好这门科学。第四轮,要多做练习勤动手。做练习包括课后的思考题和练习题、讲课过程中的例题等等,一定要亲自动手做一做。要养成勤于动手的好习惯,深刻体会“眼过千遍不如手过一遍”的道理。
本《运筹学教程》主要是适应于特定的教学目的,在对本人多年来讲授运筹学所使用的讲义进行整理的基础上形成的。这种特定的目的,就是为高校本科生和研究生(含MBA)阶段特定的教学服务。
全书共包括14章内容。第0章~第6章适用于本科教学阶段,第7章~第10章适用于研究生教学阶段。本科教学阶段根据作者多年的教学经验,40学时的教学内容,通常只能完成线性规划、对偶规划、运输问题和整数规划等几章内容,50学时可加上动态规划,如果是60学时可再加上图论与网络分析。而实际上,本科教学阶段在多数情况下,教学计划中很少有把运筹学安排到60学时的。根据多年来本科生考研的情况来看,大多数院校运筹学的考试内容也是主要地限于这几章。按照运筹学模型的分类方法,这几章也是数学规划和运筹学确定型模型的主要内容。运筹学研究生教学阶段的主要内容是运筹学的随机型模型,包括决策论、对策论、存储论和排队论(西安理工大学多年来一直把这些内容叫做“运筹学Ⅱ”)。这4章内容基本上可以满足研究生阶段40学时的运筹学教学。另外,适应于MBA“数据模型与决策”(本课程是经对运筹学改革后形成的)课程教学的需要,第13章增加了“数据分析”的有关内容。同时,鉴于“博弈论”在经济管理分析中日益显赫的重要性,第11章增加了作者在一个企业培训班上的授课材料即“博弈论简介”。另一个改动是增加了“最优化方法简介”(即第12章)。增加这一章的原因主要是鉴于最优化方法与运筹学的密切关系。另外,每一章都附有对相应问题的计算机求解方法,每一章之后也附有必要数量的练习题。为适应MBA教学的需要,前3章还附有必须完成的案例分析题目。
最后,在这里我要特别感谢国防工业出版社的刘炯编辑,是她积极热情的合作,才使得“运筹学教程”的出版得以如愿以偿。其次,我也要感谢我的夫人李苏梅女士,是她对我工作上的热情支持和生活上的多方面照顾,才使得我能有精力在短时间内完成两部独著教材的撰写和整理工作(《经济计量学教程》是2004年1月出版的)。另外,也感谢我的同事——西安理工大学工商管理学院的任防老师,是她认真地校订了全书课后练习中的有关数据和资料。
由于作者的能力和水平有限,错误之处在所难免。在此恳请读者及使用单位多提宝贵意见,以促使《运筹学教程》能不断完善。