西南交大经管院《运筹学》运输与整数规划
- 格式:pdf
- 大小:359.30 KB
- 文档页数:71
运筹学重要考点第一部分:线性规划1、线性规划与单纯形法(1)线性规划问题的数学模型(2)线性规划问题解的概念(3)线性规划问题的图解法(4)单纯形法①将所给问题标准化②计算、迭代步骤③最优性的判定(解的判定定理)④人工变量法:大M法和两阶段法2、对偶问题⑴原问题转化为对应的对偶问题⑵对偶问题的基本性质⑶对偶单纯形法的计算⑷影子价格3、灵敏度分析⑴价值系数灵敏度分析⑵约束条件灵敏度分析⑶技术系数灵敏度分析4、运输问题⑴表上作业法①初始基的确定:最小元素法、伏格尔法②最优解的判别:闭回路法、位势法③改进方法:闭环回路调整法⑵产销不平衡运输问题的求解第二部分:整数规划⑴分支定界法⑵割平面法⑶0-1规划建模及解法(隐枚举法)⑷指派问题①解法:匈牙利法②非标准指派问题第三部分:动态规划1、动态规划的基本思想2、动态规划的解题步骤⑴建立动态规划模型⑵采用逆序法求解3、动态规划的应用⑴最短路问题(一维资源分配问题)⑵生产经营问题①生产——库存问题②库存——销售问题③限期采购问题⑶可靠性问题⑷背包问题⑸设备更新问题第四部分:图与网路计划1、图的基本概念和性质2、最小树(Kruskal算法)3、最短路问题及算法⑴Dijcskra算法⑵Ford算法4、网路最大流问题5、最小费用最大流问题6、中国邮递员问题(奇偶图上作业法)7、网络计划⑴绘制网络图⑵计算时间参数和确定关键路径⑶网络计划的调整和优化单纯型对偶单纯型(改进单纯计算及参数灵敏度不考)运输整数规划(分支定界和割平面计算不考)动态规划(会计算即可)动态规划应用(只考一维资源费配背包可靠度排序)图论网络计划(知道关键路线特征及虚工作意义即可不考计算)。
管理运筹学讲义整数规划整数规划是管理运筹学中一种重要的优化技术,它在实际问题中具有广泛的应用。
本文将介绍整数规划的基本概念、建模方法以及解决算法,并通过实例展示其在实际问题中的应用。
一、整数规划的基本概念整数规划是线性规划的一种扩展形式,其决策变量被限制为整数。
在实际问题中,往往存在某些变量只能取整数值的约束条件,这时就需要使用整数规划方法进行求解。
与线性规划相比,整数规划的求解难度更大,但可以提供更精确的结果。
二、整数规划的建模方法在进行整数规划建模时,需要确定决策变量、目标函数和约束条件。
1. 决策变量决策变量是问题中需要优化的变量,其取值决定了问题的解。
在整数规划中,决策变量通常表示为整数。
2. 目标函数目标函数是整数规划问题中需要最小化或最大化的目标。
它可以是线性函数或非线性函数,但在整数规划中,通常只考虑线性目标函数。
3. 约束条件约束条件是问题的限制条件,限制了决策变量的取值范围。
在整数规划中,约束条件可以是线性等式或线性不等式。
三、整数规划的解决算法解决整数规划问题的常见算法包括割平面法、分支定界法和动态规划法等。
这些算法通过不断对问题进行优化,逐步逼近最优解。
1. 割平面法割平面法是一种通过添加额外的约束条件来逼近最优解的方法。
它首先求解一个松弛问题,然后根据松弛问题的解加入新的约束条件,直到找到最优解。
2. 分支定界法分支定界法是一种将整数规划问题划分为多个子问题,并对每个子问题进行求解的方法。
它通过不断分支和剪枝来找到最优解。
3. 动态规划法动态规划法是一种通过将问题分解为多个子问题,并通过求解子问题的最优解来求解原始问题的方法。
它采用自底向上的求解方式,将所有可能的决策情况进行组合,得到最优解。
四、整数规划在实际问题中的应用整数规划在实际问题中有着广泛的应用。
以下是一个应用整数规划解决的实际问题示例:某公司生产两种产品A和B,每天的生产时间为8小时。
产品A每单位利润为100元,产品B每单位利润为150元。
西华大学上机实验报告一、实验目的掌握线性规划求解的基本方法,熟悉灵敏度分析的步骤和内容;掌握运输问题的模型,概念,求解方法;掌握整数规划的算法。
在熟悉lingo软件基本功能基础上,能熟练操作,正确完成模型求解过程及分析过程。
二、实验内容或设计思想1.lingo软件和运筹学实验软件的安装及菜单熟悉了解.2.lingo软件和运筹学实验软件应用内容之:任选几种不同类型的LP输入计算程序,运行求解;完成产销平衡的运输问题求解;求解任一整数规划。
三、实验环境与工具计算机,lingo软件,运筹学软件四、实验过程或实验数据1、用lingo求解线性规划用DESKS、TABLES和CHAIRS分别表示三种产品的生产量,建立LP模型。
max=50*desks+30*tables+20*chairs;7*desks+6*tables+chairs<=46;4*desks+2*tables+1.5*chairs<=20;2*desks+1.5*tables+.5*chairs<=8;tables<=5;Global optimal solution found.Objective value: 272.0000Total solver iterations: 2Variable Value Reduced CostDESKS 0.000000 6.000000TABLES 1.600000 0.000000Row Slack or Surplus Dual Price1 272.0000 1.0000002 25.20000 0.0000003 0.000000 12.000004 0.000000 4.0000005 3.400000 0.0000002、用LINGO软件计算运输问题model:sets:warehouses/wh1..wh6/: capacity;vendors/v1..v8/: demand;links(warehouses,vendors): cost, volume;endsetsmin=@sum(links: cost*volume);@for(vendors(J):@sum(warehouses(I): volume(I,J))=demand(J));@for(warehouses(I):@sum(vendors(J): volume(I,J))<=capacity(I));data:capacity=60 55 51 43 41 52;demand=35 37 22 32 41 32 43 38;cost=6 2 6 7 4 2 9 54 95 3 8 5 8 25 2 1 9 7 4 3 37 6 7 3 9 2 7 12 3 9 5 7 2 6 55 5 2 2 8 1 4 3;enddataendGlobal optimal solution found.Objective value: 638.0000Total solver iterations: 16Variable Value Reduced CostCAPACITY( WH3) 57.00000 0.000000 CAPACITY( WH4) 43.00000 0.000000 CAPACITY( WH5) 41.00000 0.000000 CAPACITY( WH6) 52.00000 0.000000 DEMAND( V1) 35.00000 0.000000 DEMAND( V2) 37.00000 0.000000 DEMAND( V3) 25.00000 0.000000 DEMAND( V4) 32.00000 0.000000 DEMAND( V5) 41.00000 0.000000 DEMAND( V6) 36.00000 0.000000 DEMAND( V7) 43.00000 0.000000 DEMAND( V8) 38.00000 0.000000 COST( WH1, V1) 8.000000 0.000000 COST( WH1, V2) 2.000000 0.000000 COST( WH1, V3) 6.000000 0.000000 COST( WH1, V4) 7.000000 0.000000 COST( WH1, V5) 4.000000 0.000000 COST( WH1, V6) 2.000000 0.000000 COST( WH1, V7) 9.000000 0.000000 COST( WH1, V8) 5.000000 0.000000 COST( WH2, V1) 4.000000 0.000000 COST( WH2, V2) 9.000000 0.000000 COST( WH2, V3) 5.000000 0.000000 COST( WH2, V4) 3.000000 0.000000 COST( WH2, V5) 8.000000 0.000000 COST( WH2, V6) 5.000000 0.000000 COST( WH2, V7) 8.000000 0.000000 COST( WH2, V8) 2.000000 0.000000 COST( WH3, V1) 5.000000 0.000000 COST( WH3, V2) 2.000000 0.000000 COST( WH3, V3) 1.000000 0.000000 COST( WH3, V4) 9.000000 0.000000 COST( WH3, V5) 7.000000 0.000000 COST( WH3, V6) 4.000000 0.000000 COST( WH3, V7) 3.000000 0.000000 COST( WH3, V8) 3.000000 0.000000 COST( WH4, V1) 7.000000 0.000000 COST( WH4, V2) 6.000000 0.000000 COST( WH4, V3) 7.000000 0.000000 COST( WH4, V4) 3.000000 0.000000 COST( WH4, V5) 11.00000 0.000000 COST( WH4, V6) 2.000000 0.000000 COST( WH4, V7) 7.000000 0.000000 COST( WH4, V8) 1.000000 0.000000 COST( WH5, V1) 2.000000 0.000000 COST( WH5, V2) 3.000000 0.000000 COST( WH5, V3) 9.000000 0.000000 COST( WH5, V4) 5.000000 0.000000 COST( WH5, V5) 7.000000 0.000000 COST( WH5, V6) 2.000000 0.000000 COST( WH5, V7) 6.000000 0.000000 COST( WH5, V8) 5.000000 0.000000 COST( WH6, V1) 5.000000 0.000000 COST( WH6, V2) 5.000000 0.000000 COST( WH6, V3) 2.000000 0.000000 COST( WH6, V4) 2.000000 0.000000 COST( WH6, V5) 8.000000 0.000000 COST( WH6, V6) 1.000000 0.000000 COST( WH6, V7) 4.000000 0.000000VOLUME( WH1, V2) 37.00000 0.000000 VOLUME( WH1, V3) 0.000000 3.000000 VOLUME( WH1, V4) 0.000000 4.000000 VOLUME( WH1, V5) 41.00000 0.000000 VOLUME( WH1, V6) 2.000000 0.000000 VOLUME( WH1, V7) 0.000000 4.000000 VOLUME( WH1, V8) 0.000000 4.000000 VOLUME( WH2, V1) 0.000000 2.000000 VOLUME( WH2, V2) 0.000000 7.000000 VOLUME( WH2, V3) 0.000000 2.000000 VOLUME( WH2, V4) 14.00000 0.000000 VOLUME( WH2, V5) 0.000000 4.000000 VOLUME( WH2, V6) 0.000000 3.000000 VOLUME( WH2, V7) 0.000000 3.000000 VOLUME( WH2, V8) 0.000000 1.000000 VOLUME( WH3, V1) 0.000000 5.000000 VOLUME( WH3, V2) 0.000000 2.000000 VOLUME( WH3, V3) 14.00000 0.000000 VOLUME( WH3, V4) 0.000000 8.000000 VOLUME( WH3, V5) 0.000000 5.000000 VOLUME( WH3, V6) 0.000000 4.000000 VOLUME( WH3, V7) 43.00000 0.000000 VOLUME( WH3, V8) 0.000000 4.000000 VOLUME( WH4, V1) 0.000000 5.000000 VOLUME( WH4, V2) 0.000000 4.000000 VOLUME( WH4, V3) 0.000000 4.000000 VOLUME( WH4, V4) 5.000000 0.000000 VOLUME( WH4, V5) 0.000000 7.000000 VOLUME( WH4, V6) 0.000000 0.000000 VOLUME( WH4, V7) 0.000000 2.000000 VOLUME( WH4, V8) 38.00000 0.000000 VOLUME( WH5, V1) 35.00000 0.000000 VOLUME( WH5, V2) 0.000000 1.000000 VOLUME( WH5, V3) 0.000000 6.000000 VOLUME( WH5, V4) 0.000000 2.000000 VOLUME( WH5, V5) 0.000000 3.000000 VOLUME( WH5, V6) 6.000000 0.000000 VOLUME( WH5, V7) 0.000000 1.000000 VOLUME( WH5, V8) 0.000000 4.000000 VOLUME( WH6, V1) 0.000000 4.000000 VOLUME( WH6, V2) 0.000000 4.000000 VOLUME( WH6, V3) 11.00000 0.000000 VOLUME( WH6, V4) 13.00000 0.000000 VOLUME( WH6, V5) 0.000000 5.000000 VOLUME( WH6, V6) 28.00000 0.000000 VOLUME( WH6, V7) 0.000000 0.000000 VOLUME( WH6, V8) 0.000000 3.000000 Row Slack or Surplus Dual Price1 638.0000 -1.0000002 0.000000 -2.0000003 0.000000 -2.0000004 0.000000 -3.0000005 0.000000 -3.0000006 0.000000 -4.0000007 0.000000 -2.0000008 0.000000 -5.0000009 0.000000 -1.00000010 0.000000 0.00000012 0.000000 2.00000013 0.000000 0.00000014 0.000000 0.00000015 0.000000 1.0000003、用lingo解整数规划问题min=5*x1+x2+3*x3+7*x4+x5+x6+3*x7;6*x1+3*x2+2*x3+x4+x5>=50;x2+2*x4+x5+5*x6>=35;x3+x5+3*x7>=10;在lingo窗口输入以下代码,min=5*x1+x2+3*x3+7*x4+x5+x6+3*x7;6*x1+3*x2+2*x3+x4+x5>=50;x2+2*x4+x5+5*x6>=35;x3+x5+3*x7>=10;@gin(x1);@gin(x2);@gin(x3);@gin(x4);@gin(x3);@gin(x6);@gin(x7);END运行结果为:Global optimal solution found.Objective value: 27.00000Extended solver steps: 0Total solver iterations: 4Variable Value Reduced CostX1 0.000000 5.000000X2 14.00000 1.000000X3 0.000000 2.000000X4 0.000000 7.000000X5 10.00000 0.000000X6 3.000000 1.000000X7 0.000000 0.000000Row Slack or Surplus Dual Price1 27.00000 -1.0000002 2.000000 0.0000003 4.000000 0.0000004 0.000000 -1.000000五、总结正确安装了运筹学的lingo实验软件,对lingo软件的菜单有了一定的了解和熟悉,掌握了线性规划求解的基本方法,了解灵敏度分析的步骤和内容;掌握了运输问题的模型,概念,求解方法;掌握了整数规划的算法。
整数规划案例一案例二案例三动态规划案例四:某开发区养老保险定量分析模型养老保险属于社会保障系统的重要内容,社会保障系统作为一个国家社会制度的重要组成部分,其内容、形式和其中所使用的各种计算方法不仅关系到国民的自身利益,而且对一个国家的政治和社会经济的发展具有重要的作用。
社会保障系统中所包含的定量分析和计算是多种多样的,主要包括三个方面:第一,对社会保障基金提取量的测算;第二,对职工享受社会保障待遇的标准测算;第三,对社会保障基金各阶段收付额的预测。
基本养老保险金的提取比例一般是一年或若干年调整一次,从数学模型的角度看两者并无实质性区别,这里定义一年为一个阶段。
考虑到养老保险制度是一个长期制度,具体年限并不确定,因而阶段数可以根据实际问题的研究目标制定。
如:要确定10年内各年的提取比例,则阶段数就定为10;也可以将老龄化程度最高、养老保险金支付额最大的年份作为决策过程的终止年。
不失一般性,将整个决策过程定义为n个阶段。
状态变量x k定义为阶段k开始时的储备基金,M是最大储备金额。
为阶段k基本养老保险金按工资总额提取的比例,这一比例也决策变量uk应在一定范围之内。
按照国际标准,提取比例达到20%时即为社会预警线,29%即达到社会承受的极限,因此我们设定R为提取的最大比例,若s为阶段k的k工资总额,则有:d k -xk≤sk•uk≤min{sk•R,dk+dk+1+…+dn+A-xk}其中sk•R就是基本养老保险金所能提取的最大金额。
已知阶段k开始时的储备基金是x k,阶段k的基本养老保险金收入额为s k•u k ,支付额是dk。
假定储备基金的年增值率为ik,考虑资金的时间价值,则阶段末即阶段k+1的初始储备基金为:x k+1=(1+ik)xk+sk•uk-dk,即状态转移方程。
可以看出,k+1阶段的储备基金xk+1完全由k阶段的储备基金xk和基本养老保险金的提取比例uk所决定,与前面的状态和决策无关,即满足无后效性。
Linear Programming With Spreadsheet每个小组都有一组拼装玩具(8个小块和6 大块) ,这些是你们的原材料(raw materials ),你们要用这些原材料去生产桌和椅(tables and chairs )这两种产品(products ),具体拼装图如下一个幻灯片。
你怎么去分析呢?The Lego Production Problem拼装玩具生产自己动手想想看!自己动手原材料6 大块8 小块产品桌椅Profit = $20/Table Profit = $15/Chair自己动手为了最小化成本或最大化利润的目的需要对一些稀缺资源进行配置Maximize ($15)Chairs+($20)Tablessubject toLarge Bricks:Chairs+2Tables≤6Small Bricks:2Chairs+2Tables≤8andChairs≥0, Tables≥0.你的答案是什么?Components of the Model模型的组成部分Decision variables 决策变量Objective function 目标函数Constraints 约束使用EXCEL求解线性规划Excel自1991年问世,目前已有几千万用户;其免费的规划求解软件由Frontline System提供(),专为大多数没有受过OR/MS专门训练的用户设计;Excel将GUI,各种函数功能,模型语言,优化软件和编程功能(VBA) 结合在统一的环境下;Excel 提供了强大的数据组织、运算和呈现功能,在Excel 表格中可用更工程化的方式提供模型使用的数据,并可将输出结果用各种图表的方式表示出来;EXCEL模型的基本构成Excel通过表格(cell)所含数据或公式来表示运筹模型的变量、目标函数、约束方程和模型参数:y数据:Excel强大的数据组织与呈现功能可使模型数据组织的更简洁明了;y变量:Excel中的可变单元格定义决策变量,决策变量是模型求解的未知量,也称为可变量;y目标函数:由目标单元格中的数学表达式表示;y约束:约束由表示约束左边项与右边项的数学表达式或数值的单元格定义,通常约束的左边项是数学表达式,右边项既可是表达式,也可是参数如何进入Excel中的优化模块选择主菜单“工具”→“规划求解”可进入“规划求解参数”定义窗口;如找不到“规划求解”项,可通过“工具”→“加载宏”加入该项功能。
运筹学中的线性规划和整数规划运筹学是一门涉及决策分析、优化、模型构建和仿真等知识领域的学科,应用广泛,如供应链管理、交通规划、制造业生产、金融投资等方面。
其中,线性规划和整数规划是运筹学中最为基础和重要的优化技术,被广泛应用于各个领域。
一、线性规划线性规划是一种在一组线性约束条件下,求解线性目标函数极值问题的数学方法。
在生产、运输、选址等问题中,线性规划都有着重要的应用。
其数学模型可以表示为:$\max c^Tx$$s.t. Ax \leq b,x\geq 0$其中$c$为目标函数的向量,$x$为决策变量向量,$A$为约束矩阵,$b$为约束向量,$c^Tx$表示目标函数的值,$\leq$表示小于等于。
如果目标函数和约束都是线性的,则可以通过线性规划的求解方法来确定决策变量的最优值。
线性规划的求解方法一般分为单纯形法和内点法两种方法。
单纯性法是线性规划中最为常用的方法,通过对角线交替调整,逐步从可行解中寻找最优解,收敛速度较快,但是存在不稳定的情况。
内点法是近年来发展起来的用于求解大规模线性规划问题的数值方法,其核心思想是迭代求解一系列线性方程组,每次保持解在可行域内部,直到找到最优解为止。
这种方法对大规模问题求解能力强,使用较多。
二、整数规划整数规划是线性规划的升级版,它要求决策变量必须取整数值。
整数规划在很多实际问题中都有着重要的应用,比如很多生产过程中需要将生产数量取整数,物流路径问题需要选取整数条路径等。
与线性规划不同的是,整数规划是NP难问题,没有一种有效的算法能够完全解决所有的整数规划问题。
因此,通常需要采用分支定界、割平面等方法来求解。
分支定界是一种常用的整数规划求解方法。
它通过将整数规划问题分为多个子问题,依次求解这些子问题并优化当前最优解,以逐步逼近最优解。
割平面法则是在分支定界方法的基础上加入约束条件,使得求解过程更加严格化,最终得到更好的结果。
总的来说,运筹学中线性规划和整数规划是不可或缺的优化工具,我们可以通过理论和实践加深对它们的理解。
西南交通大学2014年全日制硕士研究生入学试题解析试题名称:管理运筹学二一、问题题(60分,共10小题,每小题6分)(答在试卷上的内容无效)1、简述单纯形法的基本思路。
解析:这是一道考查单纯形法基本知识的题目,是很容易出简答题的知识点。
解:详见寇伟华《运筹学》P40。
2、简述线性规划问题求解出现退化解的特征。
解析:P58线性规划问题各种解的情况都容易出问答题,应理解并会用自己的语言组织。
解:如果出现基变量等于零,就会造成基本可行解中非零变量的个数小于约束条件方程的个数,这就是退化现象。
在用单纯形法求解时,退化现象表现为,若确定的换出变量同时有两个或两个以上,就会造成下一次迭代时有一个或几个基变量的取值为0。
3、什么是对偶问题的弱对偶性?解析:考查的是对偶问题的性质,对偶问题的性质是常考题目,应熟练掌握。
解:详见寇伟华《运筹学》P76定理3.24、简述影子价值与边际值的区别。
解析:这是考查概念的问题,影子价格和边际值是两个简单的概念,理解了自然能说出他们的区别。
解:详见寇伟华《运筹学》P95影子价格和边际值概念5、简述闭回路法求取运输问题检验数的步骤。
解析:闭回路法求运输问题检验数是基本知识和方法,运输问题这里可以问的问题很多,可以问你表上作业法,可以问你差值法求初试基本可行解的步骤,可以问你位势法求运输问题检验数的步骤等等,需要对运输问题的表上作业法的过程非常熟悉,才能有助于解决这类问答题以及计算题。
解:详见寇伟华《运筹学》P128。
6、简述指派问题等效矩阵的方法及性质。
解析:考查指派问题的简答问答题,理解并用自己的语言组织即可。
解:详见寇伟华《运筹学》P154定理6.1。
7、简述无向图中连通图与完备图的区别。
解析:考查的是图与网络这章的基本知识的概念和区别,应理解并掌握基础知识。
解:详见寇伟华《运筹学》P216和P217完备图和连通图的概念。
8、判别可行流是最小费用流的依据是什么?解析:考查图与网络中的基本判别条件,熟练掌握了最小费用流的解题过程也就能自己组织出答案。