数学建模第二章 整数规划2
整数规划和动态规划-数学建模
(1.13), (1.14)
max z = ∑ (0.487xi1 + 0.520 xi2 + 0.613 xi3 + 0.720 xi 4 + 0.487 xi 5 + 0.520 xi 6 + 0.640 xi 7 )
i =1
2
于是成为一个有 13 个不等式约束 14 个自然条件的整数线性规划模型,目标是函数 的最大化. (3)问题求解 1) 此模型可用分枝定界法,割平面法求最优解,但用部分枚举法比较便当. 部分枚举法————隐枚举法(Implicit Enumeration) 2) 用 Lingo 软件求解 max=0.487*x11+0.520*x12+0.613*x13+0.720*x14+0.487*x15+0.520*x16+0.640*x17+ 0.487*x21+0.520*x22+0.613*x23+0.720*x24+0.487*x25+0.520*x26+0.640*x27; x11+x21<=8; x12+x22<=7; x13+x23<=9; x14+x24<=6; x15+x25<=6; x16+x26<=4; x17+x27<=8; 2*x11+3*x12+x13+0.5*x14+4*x15+2*x16+x17<=40;
西安理工大学理学院
王秋萍
x13 + x23 ≤ 9 x14 + x24 ≤ 6 x15 + x25 ≤ 6 x16 + x26 ≤ 4 x17 + x27 ≤ 8
02-整数规划数学模型及其解法-4h
− x1 − x 2 − x 3 < − 3 + My i − 3 x − 2 x − x < − 5 + My i 1 2 3 x 1 < 10 + My i 则有 (M 为任意大的正数) x 2 < 4 + My i x 3 < 11 + My i y1 + y 2 + L + y 5 ≥ 2
(1) (2)
25
4.用以表达含固定费用的函数
如用xj代表产品j的生产数量,其生产费用函数通 常可表示为: ( x j > 0) K j + c j x j C j (x j ) = ( x j = 0) 0 式中kj是同产量无关的生产准备费用。 问题的目标是使所有产品的总生产费用为最小。 n 即:
7
引例2-3
各点的设备投资及年获利预测表
A1 A2 A3 A4 A5 A6 A7 A8 A9 A10
投 资 100 120 150 80 70 90 80 140 160 180 额 利 36 40 50 22 20 30 25 48 58 61 润 投资总额不能超过720万元。 问应选择哪几个点,可使年利润为最大?
10
整数规划的图解
有人认为,对整数规划问题的求解可以 先不考虑对变量的整数约束,作为一般 线性规划问题来求解,当解为非整数时 可用四舍五人或凑整方法寻找最优解。 当然在变量取值很大时,用上述方法得 到的解与最优解差别不大。但当变量取 值较小时,得到的解就可能与实际整数 最优解差别很大。再者当问题规模较大 时,用凑整办法来算工作量很大。
j =1
n
K j + c j x j ( x j > 0) C j (x j ) = ( x j = 0) 0
数学建模-整数规划
算例
max 3x1 5x2 4x3
2x1 3x2 1500
s.t.32xx12
4x3 2x2
800 5x3
2000
x1
,
x2
,
x3
0,
x1 , x3为整数
max 3 x1+5 x2+4 x3 subject to 2 x1+3 x2<=1500 2 x2+4 x3<=800 3 x1+2 x2 +5 x3<=2000 end gin x1 gin x3
注解
该问题本质上是个整数规划问题, 放松的线性规划的最优解是个整数 解,所以两规划等价。
定义整数变量用函数@gin(x1)…… @gin(x7); 0-1整数变量为@bin(x1)
应急选址问题
某城市要在市区设置k个应急服务中心, 经过初步筛选确定了m个备选地,现已 知共有n个居民小区,各小区到个备选地 的距离为 d ij , i 1,2,..., n, j 1,2,..., m,为了使 得各小区能及时得到应急服务,要求各 小区到最近的服务中心的距离尽可能的 短,试给出中心选址方案。
问题分析
为了便于说明问题引入间接变量,第i 小区是否由第j个中心服务
yij 0,1, i 1,2,..., n, j 1,2,..., m,
以及最远的距离 z,
约束条件
小区服务约束
yij x j , i 1,2,..., n, j 1,2,..., m,
m
yij 1, i 1,2,..., n,
方案 确定每天工作的人数,由于连续休息2天,当确定每 个人开始休息的时间就等于知道工作的时间,因而确定 每天开始休息的人数就知道每天开始工作的人数,从而 求出每天工作的人数。
数学建模整数规划PPT学习教案
已知三工厂每月的经营费用 di (与 产量无关)分别为 100、90、120 .问如 何选址使每月经营和运输费用最低 .
x11 x21 x31 40
x12 x22 x32 60
x13 x23 x33 45
y1 y2 y3 2
Solution:
1、 先检查最大上界(极大化问题)的活问题
优点:检 查子问 题较其 他规则 为少;
缺点:计算机储存量较大 .
2、 先检查最新产生的最大上界的活问题 优点:计算机储存量较少 ;
缺点:需要更多的分支运算 .
选择的不 同,提 供了发 挥的余 地
第13页/共30页
第五章去掉整数约整束数为3<规x 划<4 之间无整数解P Example4
0123456789
x1第14页/共30页
P6 (x2≥5)
x1=0、x2=5 Z6=40
*
§2 整 数 规 划 的解 法 Example 5 (投资方案的最优选择)
投资 年度
项目
A1 A2 A3
投资 额度
1 042 5
某公司欲对三个项目进行投资, 根据预算 四年内 的投资 额、三 个项目 每年所需投资额以及所创利润如表. 问应对哪 几个项 目进行 投资, 可获利 最大?
整数规划
物品 重量 aj
1
3
2
4
3
3
4
3
5
15
6
13
7
16
价值 cj 12 12 9 15 90 26 112
Solution: 这是一个 0-1 规划问题.
1 x j 0
如果带第 j 件物品 否则 j = 1~7
数学建模线性规划和整数规划实验
1、线性规划和整数规划实验1、加工奶制品的生产计划(1)一奶制品加工厂用牛奶生产A1, A2两种奶制品,1桶牛奶可以在甲车间用12小时加工成3千克A1产品,或者在乙车间用8小时加工成4千克A2 产品.根据市场需求,生产的A1、A2产品全部能售出,且每千克A1产品获利24元,每千克A2产品获利16元.现在加工厂每天能得到50桶牛奶的供应,每天正式工人总的劳动时间为480小时,并且甲车间的设备每天至多能加工100 千克A1产品,乙车间的设备的加工能力可以认为没有上限限制.试为该厂制订一个生产计划,使每天获利最大,并进一步讨论以下3个附加问题: (i)若用35元可以买到1桶牛奶,是否应作这项投资?若投资,每天最多购买多少桶牛奶?(ii)若可以聘用临时工人以增加劳动时间,付给临时工人的工资最多是每小时几元?(iii)由于市场需求变化,每千克A1产品的获利增加到30元,是否应改变生产计划?(2)进一步,为增加工厂获利,开发奶制品深加工技术.用2小时和3元加工费,可将1千克A1加工成0.8千克高级奶制品B1,也可将1千克A2加工成0.75千克高级奶制品B2,每千克B1可获44元,每千克B2可获32元.试为该厂制订一个生产销售计划,使每天获利最大,并进一步讨论以下问题:(i)若投资30元可增加供应1桶牛奶,投资3元可增加1小时劳动时间,是否应作这项投资?若每天投资150元,或赚回多少?(ii)每千克高级奶制品B1, B2的获利经常有10%的波动,对制订的生产销售计划有无影响?若每千克B1的获利下降10%,计划是否应作调整?解:由已知可得1桶牛奶,在甲车间经过十二小时加工完成可生产3千克的A1,利润为72元;在乙车间经八小时加工完成可生产四千克的A2,利润为64元。
利用lingo软件,编写如下程序:model:max=24*3*x1+16*4*x2;s.t.12*x1+8*x2≤480;x1+x2≤50;3*x1≤100;X1≥0,x2≥0end求解结果及灵敏度分析为:Objective value: 3360.000Total solver iterations: 2Variable Value Reduced CostX1 20.00000 0.000000X2 30.00000 0.000000Row Slack or Surplus Dual Price1 3360.000 1.0000002 0.000000 2.0000003 0.000000 48.000004 40.00000 0.000000Objective Coefficient RangesCurrent Allowable Allowable Variable Coefficient Increase DecreaseX1 72.00000 24.00000 8.000000X2 64.00000 8.000000 16.00000Righthand Side RangesRow Current Allowable AllowableRHS Increase Decrease2 480.0000 53.33333 80.000003 50.00000 10.00000 6.6666674 100.0000 INFINITY 40.00000 分析结果:1)从结果可以看出在供应甲车间20桶、乙车间30桶的条件下,获利可以达到最大3360元。
数学建模(整数规划)
整数规划模型实际问题中x x x x f z Max Min Tn "),(),()(1==或的优化模型mi x g t s i ",2,1,0)(..=≤x ~决策变量f (x )~目标函数g i (x )≤0~约束条件多元函数决策变量个数n 和数线性规划条件极值约束条件个数m 较大最优解在可行域学规非线性规划解的边界上取得划整数规划Programming+Integer所有变量都取整数,称为纯整数规划;有一部分取整数,称为混合整数规划;限制取0,1称为0‐1型整数规划。
型整数规划+整数线性规划max(min) nz c x =1j jj n=∑1s.t. (,) 1,2,,ij j i j a x b i m=≤=≥=∑"12 ,,,0 ()n x x x ≥"且为整数或部分为整数+例:假设有m 种不同的物品要装入航天飞机,它们的重量和体积分别为价值为w j 和v j ,价值为c j ,航天飞机的载重量和体积限制分别为W 和V ,如何装载使价值最大化?m1⎧1max j jj c y =∑ 1 0j j y =⎨被装载 s.t. mj j v y V≤∑0j ⎩没被装载1j m=1j j j w y W=≤∑ 0 or 1 1,2,,j y j m=="(Chicago)大学的Linus Schrage教授于1980年美国芝加哥(Chi)Li S h前后开发, 后来成立LINDO系统公司(LINDO Systems Inc.),网址:I)网址htt//li dLINDO: Interactive and Discrete Optimizer (V6.1) Linear(V61) LINGO: Linear Interactive General Optimizer (V8.0) LINDO——解决线性规划LP—Linear Programming,整数规划IP—Integer Programming问题。
数学建模整数规划
整数规划前面介绍的线性规划问题中,只要求决策变量非负,也就是说决策变量可以取小数,然而在许多经济管理的实际问题中,决策变量只有取非负的整数才有实际意义。
如果一个线性规划问题要求全部的决策变量都取整数,那么这样的线性规划问题称为全整数规划或纯整数规划问题。
如果只要求一部分决策变量取整数,那么这样的线性规划问题称为混合整数规划问题。
如果决策变量只能取0或者1,那么就称为0-1规划问题 整数规划在实际中的应用: 1. 指派问题:某公司人事部门欲安排四个人去做四项不同的工作,每个人只能完成一项工作,一项工作只能由一个人完成。
每个人完成各项工作所消耗的时间(单位:分钟)如下表所示,(2) 如果把(1)中的消耗时间数据看成创造效益的数据,那么应该如何指派,可以使得总的效益最大?(3) 如果在(1)中再增加一项工作E ,甲 、乙、丙、丁四人完成工作E 的时间分别为17,20,15,16分钟,那么应该指派这四个人干哪四项工作,可使得这四个总的消耗时间为最少?解:(1) 引入0-1变量ij x ,并令⎩⎨⎧=项工作时个人不做第当第项工作时个人去做第当第j i j i x ij 01,于是这个分派问题的数学模型为:⎪⎪⎪⎪⎪⎪⎪⎩⎪⎪⎪⎪⎪⎪⎪⎨⎧====+++=+++=+++=+++=+++=+++=+++=++++++++++++++++++=4,3,2,1,4,3,2,1101111111119242017181516262027241828201920min 443424144333231342322212413121114443424134333231242322211413121144434241343332312423222114131211j i x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x xx x x x x x x x x x x x x x x Z ij ,或 用管理运筹学2.0软件求解结果如下:**********************最优解如下*************************目标函数最优值为 : 71变量 最优解 ------- --------x1 0 x2 1 x3 0 x4 0 x5 1 x6 0 x7 0 x8 0 x9 0 x10 0 x11 1 x12 0 x13 0 x14 0 x15 0 x16 1 约束 松弛/剩余 ------- ---------1 02 03 04 05 06 07 08 0 这就说明112=x ,121=x ,133=x ,144=x所以应该让甲去做B 工作,让乙去做A 工作,让丙去做C 工作,让丁去做D 工作,这时总的消耗时间为71分钟。
计算机仿真-数学建模
§2 对偶理论与灵敏度分析
• 2.1 原始问题和对偶问题
1.对偶问题 考虑下列一对线性规划模型:
max cT x s.t. Ax b, x 0 (P) min bT y 和 s.t. AT y c, y 0 (D)
称(P)为原始问题,(D)为它的对偶问题。 不太严谨地说,对偶问题可被看作是原始问题的“行列转置”:原始
1.1 线性规划的实例与定义
例1 某机床厂生产甲、乙两种机床,每台销售后的利润 分别为4000元与3000元。生产甲机床需用 机器加工, 加工时间分别为每台2小时和1小时;生产乙机床需用 三 种机器加工,加工时间为每台各一小时。若每天可用于 加工的机器时数分别为 机器10小时、 机器8小时和 机器 7小时,问该厂应生产甲、乙机床各几台,才能使总利润 最大?
为线性函数,故被称x为1,线x2性规0 划问题。
1.2线性规划的Matlab标准形式
• 线性规划的目标函数可以是求最大值,也可以是求最
小值,约束条件的不等号可以是小于号也可以是大于
号。为了避免这种形式多样性带来的不便,Matlab中
规定线性规划的标准形式为
min cT x such that Ax b
问题中的第 列系数与其对偶问题中的第 行的系数相同;原始目标函数的 各个系数行与其对偶问题右侧的各常数列相同;原始问题右侧的各常数 列与其对偶目标函数的各个系数行相同;在这一对问题中,不等式方向 和优化方向相反。
对偶问题的基本性质
14、 可对行称解性是:最对优偶解问时题的的性对质偶:是设原问是题原。问题的可行解, 2是、对弱偶对问偶题性的:可若行解是,原当问题时的,可是行最解优,解是。对偶问题的可 行5、解对。偶则定存理在:。若原问题有最优解,那么对偶问题也有最 3优、解无;界且性目:标若函原数问值题相(同对。偶问题)为无界解,则其对偶 问6、题互(补原松问弛题性):无若可分行别解是。原问题和对偶问题的最优解。
数学建模-数学规划
(4)图上作业与表上作业法
前一种是50年代由我国数学工作者提出的,后者是1950年 Dantzing提出的; 这二种方法主要是为解决运输问题(特殊的线性规划)而设计的。 据统计在用线性规划解决的实际问题中,70%以上属于运输问题类 型。
3. 线性规划问题的软件解法
求解线性规划的常用方法是1947年G.B.Dantzig提出的单 纯形法。
min f 5x1 5x2 8x3 2x4 6x5 3x6 s.t x1 x2 x3 x4 x5 x6 140
0.45x1 0.45x2 1.05x3 0.40x4 0.50x5 0.50x6 6 10x1 28x2 59x3 25x4 22x5 75x6 25 415x1 9065x2 2550x3 75x4 15x5 235x6 17500 8x1 3x2 53x3 27x4 5x5 8x6 245 0.30x1 0.35x2 0.60x3 0.15x4 0.25x5 0.80x6 5
n
max f (x1, x2,..., xn ) c j x j
n
j 1
s.t.gi (x1,..., xn ) aij x j bi ,i 1,..., m
j 1
x j 0, j 1,..., n
• 约束条件的意义是:每种原料生产n种产品所需要的资源总量不能超 过该种资源的库存量;每种产品的生产计划数不能为负。
约束条件: (1)铁的需求量至少6个单位数:
0.45x1 0.45x2 1.05x3 0.40x4 0.50x5 0.50x6 6
(2)磷的需求量至少25个单位数:
10x1 28x2 59x3 25x4 22x5 75x6 25
(3)维生素A的需求量至少17500个单位:
数学模型课程教学大纲
《数学模型》课程教学大纲课程编码:ZB0240121课程类别:专业核心必修适用专业及层次:信息与计算科学(本科)学分:4理论学时:48实践学时:32先修课程:数学分析,高等代数,数学实验,概率论等。
一、课程的性质、目的和任务本课程是信息与计算科学专业(本科)的一门专业核心必修课.也是学生参加数学建模竞赛的基础课程.数学模型是一门重要的数学技术课,目标在于培养学生利用数学知识及相关专业知识建立数学模型分析、解决实际问题的能力,并从中培养和提高学生的创新意识、创新能力及综合应用能力.设置该课程的目的是要向学生介绍数学模型的数学理论和方法,使学生了解并初步掌握应用所学的数学知识建立数学模型的基本方法和基本过程,从而培养学生应用数学的思维、知识、方法解决实际问题的意识和能力.二、课程教学的基本要求通过本课程的学习(课堂讲授、上机实习和作业),应达到目的和要求如下:1、培养学生运用数学工具解决现实生活中实际问题的能力。
2、用数学方法解决问题的能力以及用自己的研究结果解释、指导实际问题的能力,从无到有的创新能力以及写作能力。
3、通过本课程的学习,使学生了解数学建模是利用数学知识构造刻画客观事物原型的数学模型,利用计算机解决实际问题的一种科学方法。
掌握数学建模的基本步骤,即从实际问题出发,遵循“实践一一认识一一实践”的辩证唯物主义认识规律,紧紧围绕建模的目的,运用观察力、想象力和逻辑思维,对实际问题进行抽象、简化、反复探索、逐步完善,直到构造出一个能够用于分析、研究和解决实际问题的数学模型。
会利用数学知识和计算机解决问题,并能够撰写符合要求的数学建模论文。
三、课程教学内容第一章线性规划【授课学时】2【教学内容】第一节线性规划问题第二节投资的收益和风险【教学要求】通过本章学习,掌握求解线性规划问题的方法和一般步骤、投资的收益和风险.【教学重难点】建立数学规划的步骤,常见处理约束条件的方法技巧。
第二章整数规划【授课学时】2【教学内容】第一节概论第二节0-1型整数规划第三节蒙特卡洛法【教学要求】通过本章学习,掌握整形规划和线性规划的区别和联系、整形规划问题的类型和常用的求解方法.【教学重难点】常见处理约束条件的方法技巧,整形规划问题的计算机求解。
数学建模-整数规划
整数规划
Integer Programming
数信学院 任俊峰
2012-4-15
数学建模之整数规划
整数规划模型(IP)
如果一个数学规划的某些决策变量或全部决策 变量要求必须取整数,则称这样的问题为整数规 划问题,其模型称为整数规划模型。 如果整数规划的目标函数和约束条件都是线性 的,则称此问题为整数线性规划问题.
松弛问题最优解满足整数要求,则该最优解为整数 规划最优解;
数学建模之整数规划
整数线性规划的求解方法
从数学模型上看整数规划似乎是线性规划的 一种特殊形式,求解只需在线性规划的基础上,通 过舍入取整,寻求满足整数要求的解即可。 但实际上两者却有很大的不同,通过舍入得到
的解(整数)也不一定就是最优解,有时甚至不能
1 xj 0
选中第j个项目投资 不 选中第j个项目投资
max Z 160 x 1 210 x 2 60 x 3 80 x 4 180 x 5 210 x 1 300 x 2 150 x 3 130 x 4 260 x 5 600 x x2 x3 1 1 x3 x4 1 x x 1 5 x1 , x 2 , x 3 , x 4 , x 5 0 或 1
1 2
14 x1 9 x 2 51 6 x1 3 x 2 1 x1 , x 2 0
数学建模之整数规划
用图解法求出最优解 x1=3/2, x2 = 10/3 且有 z = 29/6 现求整数解(最优解): 如用“舍入取整法”可得到4 个点即(1,3) (2,3) (1,4) (2,4)。显然,它们都不可能 是整数规划的最优解。
数学建模之整数规划
例5 固定费用问题
数学建模案例之整数规划
内容: 如何建立整数规划模型举例 整数规划模型的求解方法 要求: 掌握整数规划模型的建立方法 掌握利用数学软件求解整数规划问题的方法 理解分支定界法的思想和实施步骤 重点、难点: 重点: 整数规划模型的建立和软件求解 难点: 整数规划问题的理论求解方法__分支定界法
简介
最优化问题中的所有变量均为整数时,这类问题称 为整数规划问题 如果线性规划中的所有变量均为整数时,称这类问 题为整数线性规划问题 整数规划可分为整数线性规划和整数非线性规划, 以及混合整数规划等 混合整数规划指部分变量可以取非整数的整数规划 (混合整数线性规划问题还没有统一的解法)
模型求解:
Lindo 程序(总根数最小)
min x1+x2+x3+x4+x5+x6+x7 s.t. 4x1+3x2+2x3+x4+x5>=50 x2+2x4+x5+3x6>=20 x3+x5+2x7>=15 end gin 7
计算结果(总根数最小)
OBJECTIVE FUNCTION VALUE 1) 25.00000 VARIABLE VALUE REDUCED COST X1 0.000000 1.000000 X2 15.000000 1.000000 X3 0.000000 1.000000 X4 0.000000 1.000000 X5 5.000000 1.000000 X6 0.000000 1.000000 X7 5.000000 1.000000 ROW SLACK OR SURPLUS DUAL PRICES 2) 0.000000 0.000000 3) 0.000000 0.000000 4) 0.000000 0.000000
整数规划2
6 3 7
为便于计算,常列出表格配合上述作图过程同时进行, 为便于计算,常列出表格配合上述作图过程同时进行,见下表
由上表知问题的最优解 即 ,代入原问题目标函数中,有max z = 4 代入原问题目标函数中,
某公司准备在五种畅销的货物中采购100万元的货物, 某公司准备在五种畅销的货物中采购100万元的货物, 100万元的货物 采购各种货物所需的金额和购进后所能获得的利润如下表所示。 采购各种货物所需的金额和购进后所能获得的利润如下表所示。 应采购哪几种货物才能使总获利最大。 应采购哪几种货物才能使总获利最大。
式中Kj 是同产量无关的生产准备费用。目标是使所有产品的总 是同产量无关的生产准备费用。 生产费用和为最小。 生产费用和为最小。 为表达生产费用函数, 为表达生产费用函数,需有一个逻辑变量yj , =0时 0时 当xj =0时,yj =0 ;当xj > 0时,yj =1 。 为此引进一个特殊的约束条件: 为此引进一个特殊的约束条件: 将生产费用函数表达为: 将生产费用函数表达为:
引进人工变量yi ,设
运送货物到各个销售点的总费用为: 则从仓库i 运送货物到各个销售点的总费用为:
引进一个特殊的约束条件: 引进一个特殊的约束条件: 来说, 上式对具体的i 来说,当 个仓库被租用, 即第i 个仓库被租用,其费用为 当 可能为0 时,yi可能为0或1。 只能为1, 时,yi只能为1,
人 工作 1 2 3 4 人 工作 1 2 3 4 5 甲 乙 丙 丁 戊
10 5 15 20 甲
2 10 5 15 乙
3 15 14 13 丙
15 2 7 6 丁
9 4 15 8 戊
10 5 15 20 M
三.逻辑变量与数学模型
数学建模中的整数规划问题研究论文
XX大学毕业论文数学建模中的整数规划问题研究院系名称:专业:学生姓名:学号:指导老师:XX大学制二〇一年月日1.引言应用数学学科的一项重要任务是从自然科学、社会科学、工程技术以及现代化管理中提出问题和解决问题。
这就要求我们学会如何将实际问题经过分析、简化,转化为一个数学问题,然后用适当的数学方法解决,即建立数学模型。
随着科学技术的发展,特别是计算机技术的发展,数学的应用领域已由传统的物理领域迅速的扩展到非物理领域。
数学在发展高科技、提高生产力水平和实现现代化管理等方面的作用越来越明显。
正是这样的背景下,数学模型这个词汇越来越多的出现在现代化生产、工作和社会生活中。
数学模型的分类方法有很多种,例如按照建模所用的数学方法的不同,可分为:初等模型、运筹学模型、微分方程模型、概率统计模型、控制论模型等。
而运筹学模型中的规划模型又可分为非线性规划模型和线性规划模型,本文通过实例剖析线性规划中整数规划方法在数学模型种的应用2.主要结果2.1数学建模中的整数规划问题在研究线性规划的问题中,一般问题的最优解都是非整数,即为分数或小数,但对于实际中的具体问题的解常常要求必须取整数.例如问题的解表示是人数、机器设备的台数、机械车辆数等都是整数.为了求整数解,我们设想把所求得的非整数解采用“舍人取整”的方法处理,似乎是变成了整数解,但事实上这样得到的结果未必可行.因为取整以后就不一定是原问题的可行解了,或者虽然是可行解,但也不一定是最优解.因此,对于要求最优整数解的问题,需要寻求直接的求解方法,这就是整数规划方法.2.2整数规划的基本概念]1[整数规划的一般模型为:()()()⎪⎩⎪⎨⎧=≥=≥=≤=∑∑==,,,2,1,0,,,2,1),(..,minmax11njxxmibxat sxcjjnjijijnjjjz为整数(2.1)整数规划求解方法总的基本思想是:松弛问题(2.1)中的约束条件(譬如去掉整数约束条件),使构成易于求解的新问题——松弛问题(A),如果这个问题(A)的最优解是元问题(2.1)的可行解,则就是原问题(2.1)的最优解;否则,在保证不改变松弛问题(A)的可行性的条件下,修正松弛问题(A)的可行域(增加新的约束),变成新的问题(B),再求问题(B)的解,重复这一过程直到修正问题的最优解在原问题(2.1)的可行域内为止,即得到了原问题的最优解.2.3整数规划的解法2.3.1整数规划的分枝定界法分枝定界法的基本思想:将原问题(2.1)中的整数约束去掉变为问题(A),求出问题(A)的最优解,如果它不是原问题的可行解,则通过附加线性不等式约束,将问题(A)分枝变为若干子问题(iB)(i=1,2,…,I),即对每一个非整数变量附加两个互相排斥(不交叉)的整型约束,即可得到两个子问题,继续求解定界,重复这一过程,知道得到最优解为止。
最优化模型2——线性整数规划
实际不需要列出所有的可行组合。
兴趣----使目标函数最优的变量的可行组合。
1. 按目标函数值从优到劣(本例,从大到小),顺序 列出变量的组合;
2. 逐个检验变量组合的可行性,最先满足所有约束条 件的变量组合就是最优解; 过滤性条件
3. 而劣于最优解的组合即使可行,也不用列出和检验;
4. 相当于把枚举法得出的所有非优组合隐去不算了, 故称为隐枚举法。
可行域OABD内整数点,放弃整数要求后,最优解 B(9.2,2.4) Z0=58.8,而原整数规划最优解I(2,4) Z0=58,实际上B附近四个整点(9,2)(10,2)(9,3)(10,3) 都不是原规划最优解。
x2
5
D
I(2,4)
4
3 B(9.2,2.4)
2
1
O 1 2 3 4 5 6 7 A8 9 10
2x1+5x2≤13
(3)
x1,x2≥0
(4)
x1,x2为整数
(5)
1
2012/3/17
它和线性规划问题的区别在于条件(5)。
分析:是不是可通过把不考虑整数要求得到的最 优解经过“化整”得到满足整数要求的最优解呢?
此例可解得x1=4.8,x2=0,凑整为x1=5,x2=0,这 就破坏了条件(2),因而不是可行解;如截断小数 变为x1=4,x2=0,这当然满足所有约束条件,但不 是 最 优 解 , 因 为 对 x1=4,x2=0 有 z = 80 , 而 对 x1=4,x2=1(也是可行解)有z=90。因此要专门研 究整数规划的解法。
x1
3 线性整数规划的解法
•枚举法 仅仅对极小规模的问题有效
•分支定界法 应用比较广泛,对中小规模问题
•割平面法 应用比较广泛,对中小规模问题
(数学建模教材)2第二章整数规划
第二章 整数规划§1 概论1.1 定义 规划中的变量(部分或全部)限制为整数时,称为整数规划。
若在线性规划模型中,变量限制为整数,则称为整数线性规划。
目前所流行的求解整数规划的方法,往往只适 用于整数线性规划。
目前还没有一种方法能有效地求解一切整数规划。
1.2 整数规划的分类如不加特殊说明,一般指整数线性规划。
对于整数线性规划模型大致可分为两类: 1o 变量全限制为整数时,称纯(完全)整数规划。
2o 变量部分限制为整数的,称混合整数规划。
1.2 整数规划特点 (i ) 原线性规划有最优解,当自变量限制为整数后,其整数规划解出现下述情况: ①原线性规划最优解全是整数,则整数规划最优解与线性规划最优解一致。
②整数规划无可行解。
例 1 原线性规划为min z = x 1 + x 22x 1 + 4x 2 = 5, x 1 ≥ 0, x 2 ≥ 05 5 其最优实数解为: x 1 = 0, x 2 = , min z = 。
4 4③有可行解(当然就存在最优解),但最优解值变差。
例 2 原线性规划为min z = x 1 + x 22x 1 + 4x 2 = 6, x 1 ≥ 0, x 2 ≥ 03 3 其最优实数解为: x 1 = 0, x 2 = , min z = 。
2 2若限制整数得: x 1 = 1, x 2 = 1, min z = 2 。
(ii ) 整数规划最优解不能按照实数最优解简单取整而获得。
1.3 求解方法分类:(i )分枝定界法—可求纯或混合整数线性规划。
(ii )割平面法—可求纯或混合整数线性规划。
(iii )隐枚举法—求解“0-1”整数规划: ①过滤隐枚举法; ②分枝隐枚举法。
(iv )匈牙利法—解决指派问题(“0-1”规划特殊情形)。
(v )蒙特卡洛法—求解各种类型规划。
下面将简要介绍常用的几种求解整数规划的方法。
§2 分枝定界法对有约束条件的最优化问题(其可行解为有限数)的所有可行解空间恰当地进行系 统搜索,这就是分枝与定界内容。
数学建模之整数规划PPT文档78页
▪
28、知之者不如好之者,好之者不如乐之者。——孔子
▪
29、勇猛、大胆和坚定的决心能够抵得上武器的精良。——达·芬奇
▪
30、意志是一个强壮的盲人,倚靠在明眼的跛子肩上。——叔本华
谢谢!
78
数学建模之整数规划
51、没有哪个社会可以制订一部永远 适用的 宪法, 甚至一 条永远 适用的 法律。 ——杰 斐逊 5人们通常会发现,法律就是这样 一种的 网,触 犯法律 的人, 小的可 以穿网 而过, 大的可 以破网 而出, 只有中 等的才 会坠入 网中。 ——申 斯通 54、法律就是法律它是一座雄伟的大 夏,庇 护着我 们大家 ;它的 每一块 砖石都 垒在另 一块砖 石上。 ——高 尔斯华 绥 55、今天的法律未必明天仍是法律。 ——罗·伯顿
▪
26、要使整个人生都过得舒适、愉快,这是不可能的,因为人类必须具备一种能应付逆境的态度。——卢梭
▪
27、只有把抱怨环境的心情,化为上进的力量,才是成功的保证。——罗曼·罗兰
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章 整数规划
数学建模
2.1 概论
2.1.1 定义 规划中的变量(部分或全部)限制为整数时,称为整 数规划。若在线性规划模型中,变量限制为整数,则称为 整数线性规划。目前所流行的求解整数规划的方法,往往 只适用于整数线性规划。目前还没有一种方法能有效地求 解一切整数规划。 2.1.2 整数规划的分类 如不加特殊说明,一般指整数线性规划。对于整数线性规 划模型大致可分为两类: 1. 变量全限制为整数时,称纯(完全)整数规划。 2. 变量部分限制为整数的,称混合整数规划。
数学建模
求解指派问题的匈牙利算法实用条件:
模型求最小值,且系数矩阵C每一元素都为非负数。 如果求最大值,m ax z cijxij ,要转化为求最小值问 i j 题,转化方法为: M m ax cij 令
i,j
C M cij
mi n z ci jx i j i j
数学建模
数学建模
2.3 蒙特卡洛法
例2.6 已知非线性整数规划为:
如果用显枚举法试探,共需计算 ( 100 ) 5 个点,其计 算量非常之大。然而应用蒙特卡洛去随机计算106个点, 便可找到满意解,
数学建模
随机取样采集6 个点计算时,应用概率理论来估计一下可 信度。 不失一般性,假定一个整数规划的最优点不是孤立的奇 点。假设目标函数落在高值区的概率分别为0.01,0.00001, 则当计算106个点后,有任一个点能落在高值区的概率分别为
数学建模
2.5 分枝定界法
对有约束条件的最优化问题(其可行解为有限数)的 所有可行解空间恰当地进行系统搜索,这就是分枝与定 界内容。通常,把全部可行解空间反复地分割为越来越 小的子集,称为分枝;并且对每个子集内的解集计算一 个目标下界(对于最小值问题),这称为定界。在每次 分枝后,凡是界限超出已知可行解集目标值的那些子集 不再进一步分枝,这样,许多子集可不予考虑,这称剪 枝。这就是分枝定界法的主要思路。
数学建模
例来说明:
解 (i)先不考虑整数限制,即解相应的线性规划B ,得最 优解为:
数学建模
可见它不符合整数条件。这时z 是问题A的最优目标函数值 z*的上界,记作 。而x1=0, x2 = 0 显然是问题A的一个 整数可行解,这时z = 0,是z*的一个下界,记作 , 即0 ≤ z* ≤ 356。
(i)首先编写子函数M 文件mente.m 定义目标函数f 和 约束向量函数g,程序如下: function [f,g]=mengte(x); f=x(1)^2+x(2)^2+3*x(3)^2+4*x(4)^2+2*x(5)-8*x(1)2*x(2)-3*x(3)-x(4)-2*x(5);
数学建模
(ii)因为 x1, x2当前均为非整数,故不满足整数要求, 任选一个进行分枝。设选x1进行分枝,把可行集分成2 个子集:
因为 4 与5 之间无整数,故这两个子集的整数解必与原 可行集合整数解一致。这一步称为分枝。这两个子集的 规划及求解如下:
数学建模
数学建模
再定界: (iii)对问题B1再进行分枝得问题 B11和B12 ,它们的最优解 为
数学建模
2.1.4 求解方法分类: (i)分枝定界法—可求纯或混合整数线性规划。 (ii)割平面法—可求纯或混合整数线性规划。 (iii)隐枚举法—求解“0-1”整数规划: ①过滤隐枚举法; ②分枝隐枚举法。 (iv)匈牙利法—解决指派问题(“0-1”规划特殊情形)。 (v)蒙特卡洛法—求解各种类型规划。
数学建模
2.1.3 整数规划特点 (1)原线性规划有最优解,当自变量限制为整数后,其 整数规划解出现下述情况: ①原线性规划最优解全是整数,则整数规划最优解与 线性规划最优解一致。 ②整数规划无可行解。
数学建模
③有可行解(当然就存在最优解),但最优解值变差。
(2) 整数规划最优解不能按照实数最优解简单取整而获得。
数学建模
2.2 0 −1 型整数规划 0 −1 型整数规划是整数规划中的特殊情形,它的变量 x j 仅取值0 或1。这时xj称为0 − 1变量 约束条件: 此种情况对应实际问题
2.2.1 相互排斥的约束条件
例1: 有两种运输方式可选,但只能用其中一种, 用车的约束条件 用船的约束条件 为了统一在一个问题中,引入 0 − 1变量y,约束条件 可改写为:
数学建模
数学建模
求解指派问题,其系数矩阵为
数学建模
解 将第一行元素减去此行中的最小元素15,同样,第二行元 素减去17,第三行元素减去17,最后一行的元素减去16,得
再将第 3 列元素各减去1,得
数学建模
以 B2为系数矩阵的指派问题有最优指派
0 1 X 0 0
1 0 0 0 0 0 0 1 0 0 0 1
数学建模
数学建模
对于指派问题等 0 − 1整数规划问题,可以直接利用 Matlab 的函数bintprog 进行求解。 例2.7 求解下列指派问题,已知指派矩阵为
数学建模
%解:编写Matlab 程序如下: c=[3 8 2 10 3;8 7 2 9 7;6 4 2 7 5 8 4 2 3 5;9 10 6 9 10]; c=c(:); a=zeros(10,25); for i=1:5 a(i,(i-1)*5+1:5*i)=1; a(5+i,i:5:25)=1; end b=ones(10,1); [x,y]=bintprog(c,[],[],a,b); x=reshape(x,[5,5]),y %求得最优指派方案为 x51 =x44= x32 =x23= x15 = 1 最优值为21。
数学建模
数学建模
if p0<=f x0=X;p0=f; end end end end end end end x0,p0 toc
数学建模
2.4 指派问题的计算机求解 指派问题的数学模型 拟分配n 人去干n 项工作,每人干且仅干一项工作,若分 配第i 人去干第j项工作,需花费cij单位时间,问应如何分 配工作才能使工人花费的总时间最少? 要给出一个指派问题的实例,只需给出矩阵 C(ij) = c ,C 被称为指派问题的系数矩阵。 引入变量 xij ,若分配i干j工作,则取xij =1 ,否则取xij = 0 。 上述指派问题的数学模型为
例2.3 某工厂为了生产某种产品,有几种不同的生产方式 可供选择,如选定的生产方式投资高(选购自动化程度高的 设备),由于产量大,因而分配到每件产品的变动成本就降 低;反之,如选定的生产方式投资低,将来分配到每件产品 的变动成本可能增加。 所以必须全面考虑。今设有三种方式可供选择,令 xj表示采用第j 种方式时的产量; cj表示采用第j 种方式时每件产品的变动成本; kj表示采用第j 种方式时的固定成本。
数学建模
其中M为充分大的数。y=0为用车,1为用船
例2:把相互排斥的约束条件改成普通约束条件
数学建模
例3:M个相互排斥的约束条件 如果有m 个互相排斥的约束条件:
为了保证这m 个约束条件只有一个起作用,我们引入m 个 0 − 1变量 yi ( i=1, 2 , ….m ) 和一个充分大的常数M ,则 变为
数学建模
分枝定界法可用于解纯整数或混合的整数规划问题。 在本世纪六十年代初由 Land Doig 和Dakin 等人提出的。由 于这方法灵活且便于用计算机求解,所以现在它已是解 整数规划的重要方法。目前已成功地应用于求解生产进度 问题、旅行推销员问题、工厂选址问题、背包问题及分配 问题等。 设有最大化的整数规划问题 A ,与它相应的线性规 划为问题B ,从解问题B 开始,若其最优解不符合A的 整数条件,那么B的最优目标函数必是A的最优目标函 数z*的上界,记作 ,而A的任意可行解的目标函数 值将是z*的一个下界 分枝定界法就是将B的可行域分成子区域的方法。 逐步减小 和增大 最终求到z*。现用下
m 个yi中只有一个能取0 值
数学建模
2.2.2 关于固定费用的问题(Fixed Cost Problem)
在讨论线性规划时,有些问题是要求使成本为最小。那 时总设固定成本为常数,并在线性规划的模型中不必明显列 出。但有些固定费用(固定成本)的问题不能用一般线 性规划来描述,但可改变为混合整数规划来解决,见下例。
数学建模
if p0<=f x0=x1;p0=f; end end [f,g]=mengte(x2); if sum(g<=0)==4 if p0<=f x0=x2;p0=f; end end end x0,p0 toc
枚举法 p0=0; X=[]; tic for i1=0:99 X(1,1)=i1; for i2=0:99 X(2,1)=i2; for i3=0:99 X(3,1)=i3; for i4=0:99 X(4,1)=i4; for i5=0:99 X(5,1)=i5; [f,g]=mengte(X); if sum(g<=0)==4
数学建模
分析:
采各种生产方式的总成本分别为
在构成目标函数时,为了统一在一个问题中讨论,现引入 0 − 1变量yj
于是目标函数
数学建模
对应的3个线性约束条件
其中ε是一个充分小的正常数,M 是个充分大的正常数
2.2.3指派问题 例2.4 拟分配n 人去干n 项工作,每人干且仅干一项工作, 若分配第i 人去干第j项工作,需花费 cij单位时间,问应如何 分配工作才能使工人花费的总时间最少? 分析 要给出一个指派问题的实例,只需给出矩阵 C= ( cij), C 被称为指派问题的系数矩阵。 引入变量 xij ,若分配i 干j 工作,则取xij = 1 ,否则取xij = 0 。上述指派问题的数学模型为
数学建模
数学建模
例如
数学建模
0 − 1整数规划问题,可以直接利用Matlab 的函数bintprog 进行求解。 例如max=193*x1+191*x2+187*x3+186*x4+180*x5+185*x6; %f st.. x5+x6>=1; x3+x5>=1; x1+x2<=1; x2+x6<=1; x4+x6<=1; x1+x2+x3+x4+x5+x6=3 代码如下 c=[-193;-191;-187;-186;-180;-185]; a=[0,0,0,0,-1,-1;0,0,-1,0,-1,0;1,1,0,0,0,0;0,1,0,0,0,1;0,0,0,1,0,1]; b=[-1,-1,1,1,1]'; aeq=[1,1,1,1,1,1]; beq=[3]; x=bintprog(c,a,b,aeq,beq)