西南交大经管院《运筹学》运输与整数规划
- 格式: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软件的菜单有了一定的了解和熟悉,掌握了线性规划求解的基本方法,了解灵敏度分析的步骤和内容;掌握了运输问题的模型,概念,求解方法;掌握了整数规划的算法。