01型整数规划模型

01型整数规划模型
01型整数规划模型

甲乙公司不合作即竞争下所争取到的不同名专业推广者所建立的不同动态规划模 型的组合方案如下:其中X 为可能竞争到的专业推广者人数,即动态规划模型中第一天的

专业推广者推

广能力的份数,Y 为第二天需要的专业推广者推广能力的份数,即第三天安排从事推广 工作的专业推广者的人数;Z 为第三天需要的专业推广者推广能力的份数,即第三天安排从事推广工作的专业推广者的人数;a 为x 名专业推广者累计从事培训工作出来的兼职推广者的批数(每批20 人),其中,有多种组合方案;甲公司雇佣这些兼职推广者均工作一天,从事推广工作,第二天辞退a ?b 批兼职推广员,其余的b 批继续从事推广工作一天后辞退,即兼职宣传员总共最多雇佣2 天;cost 为花费的成本,即资金的使用数量;F 为不同方案下所达到的总推广效益。上表可以提供给甲公司做决策依据,根据效益的大小甲公司可以决策的目标方向顺序是从①--⑧,即不合作的情况下甲公司可以尽量争取到9 人,如若

不行,考虑争取4 人。

§5.4 0—1型整数规划模型

1、 0—1型整数规划模型概述

整数规划指的是决策变量为非负整数值的一类线性规划,在实际问题的应用中,整数规划模型对应着大量的生产计划或活动安排等决策问题,整数规划的解法主要有分枝定界解法及割平面解法(这里不作介绍,感兴趣的读者可参考相关书籍)。在整数规划问题中,0—1型整数规划则是其中较为特殊的一类情况,它要求决策变量的取值仅为0或1,在实际问题的讨论中,0—1型整数规划模型也对应着大量的最优决策的活动与安排讨论,我们将列举一些模型范例,以说明这个事实。

0—1型整数规划的的数学模型为:

目标函数 n n x c x c x c z M i n M a x

+++= 2211)( 约束条件为:

????

??

?==≥≤++=≥≤++=≥≤++1

| 0 ) ,() ,() ,(2211222221211

1212111n m n mn m m n n n n x x x b x a x a x a b x a x a x a b x a x a x a , , ,21

这里,0 | 1表示0或1。

2、0—1型整数规划模型的解法

0—1型整数规划模型的解法一般为穷举法或隐枚举法,穷举法指的是对决策变量n x x x , , ,21 的每一个0或1值,均比较其目标函数值的大小,以从中求出最优解。这种方法一般适用于决策变量个数n 较小的情况,当n 较大时,由于n 个0、1的可能组合数为n

2,故此时即便用计算机进行穷举来求最优解,也

几乎是不可能的。隐枚举法是增加了过滤条件的一类穷举法,该法虽能减少运算次数,但有的问题并不使用。此时,就只能用穷举法了。

3. 应用实例

例1 工程上马的决策问题 1)问题的提出

某部门三年内有四项工程可以考虑上马,每项工程的期望收益和年度费用(千元)如下表所示:假定每一项已选定的工程要在三年内完成,是确定应该上马哪些工程,方能使该部门可能的期望收益最大。

2)模型分析与变量的假设

这是工程上马的决策问题,对任一给定的工程而言,它只有两种可能,要么上马,要么不上马,这两种情况分别对应二进制数中的1、0,大凡这样的实际背景所对应的工程问题,大都可考虑用0—1型整数规划模型建立其相应的模型。

设)

,4 ,3 ,2 ,1( ,1 ,0=???=j j j x j 项工程不上马第项工程可上马第

因每一年的投资不超过所能提供的可用资金数25千元,故该0—1型整数规划问题的约束条件为:

??????

?==≤+++≤+++≤+++4

,3 ,2 ,1 ,1|02410210822697188345432143214321j x x x x x x x x x x x x x i

由于期望收益尽可能大,故目标函数为:

432130204020ax x x x x z m +++=

3)模型的建立与求解

至此,我们得到该问题的0—1型整数规划模型为:

432130204020ax x x x x z m +++=

约束条件为:

??????

?==≤+++≤+++≤++++4 ,3 ,2 ,1 ,1|0(3)

24102108(2) 22697(1) 188345432143214321j x x x x x x x x x x x x x i

下面用隐枚举法求其最优解。易知,该0—1型整数规划模型有一可行解(0,0,0,1),它对应的目标函数值为:30=z 。自然,该模型的最优解所对应的目标函数值应不小于30,于是,我们增加一过滤条件为:

30302040204321≥+++x x x x (4)

在此过滤条件(过滤条件可不唯一)下,用隐枚举法求0—1型整数规划模型的最优解的步骤为:

(1)先判断第一枚举点所对应的目标函数值是否满足过滤条件,若不满足,则转下一步;若满足,再判断该枚举点是否满足各约束条件,若有一个约束条件不满足,则转下一步,若均满足,则将该枚举点所对应的目标函数值z1(本例中,z130≥)作为新的目标值,并修改过滤条件为:

1432130204020z x x x x ≥+++,再转下一步;

(2) 再判断第二枚举点所对应的目标函数值是否满足新的过滤条件,若不满足,则转下一步;若满足,接着判断该枚举点是否满足各约束条件,若有一个约束条件不满足,则转下一步,若均满足,则将该枚举点所对应的目标函数值z2(z2 ≥z1)作为新的目标值,并修改过滤条件为: 2432130204020z x x x x ≥+++,

再转下一步;

(3) 重复步骤(2),直至所有的枚举点均比较结束为止。

由隐枚举法的求解步骤,我们可给出该问题的求解过程如下表所示,并得到最优解为:)1 ,1 ,1 ,0() , , ,(4321 x x x x ,相应的目标值为90(千元)。故应上马的工程为2号、3号、4号工程。

注:在该表中,√表示满足相应条件,×表示不满足相应条件。

例2 工序的流程安排问题 1)问题的提出

一条装配线由一系列工作站组成,被装配或制造的产品在装配线上流动的过程中,每站都要完成一道或几道工序,假定一共有六道工序,这些工序按先后次序在各工作站上完成,关于这些工序有如下的数据:

另外工艺流程特别要求,在任一给定的工作站上,不管完成哪些工序,可用的总时间不能超过10分钟,如何将这些工序分配给各工作站,以使所需的工作站数为最少?

2)模型分析与变量的假设

下面,我们先讨论工序与工作站的关系,并试图建立起该问题的0—1型整数规划模型。

对任一工序而言,它要么属于工作站j ,要么不属于工作站j ,故决策变量可定义为:

??

?=行 运 上 j 不在工作站 若工序

0行 运 上 在工作站 若工序

1i j i x ij 这种定义,使我们能根据最优解中ij

x 的值来很快确定工序i 与工作站j 之间

的隶属关系。

又因工序1,2,3所需的工作时间不超过10分钟,故工序1,2,3的工作可以在一个工作站上完成,此时,工序4,5,6只能分别在各自的工作站上工作,该可行解对应的工作站数为4个。也就是说,对最优解而言,该装配线上所需的工作站个数不会多于4个。因此,我们再定义变量如下:

??

?=j j w j 作站 工 要 需 不 中 解 优 若在最

0 站 作 工 要 需 中 解 优 若在最

1 至此,我们得到所需的目标函数为:

4321 max w w w w z +++=

再考虑该模型的约束条件:

(1) 每道工序均隶属于一个工作站,且每一工序都必须完成,故有以下六个约束:

6) 5, 4, 3, 2, ,1( 14321==+++i x x x x i i i i

(2)在任一工作站上完成隶属工序所用的时间不能超过10分钟,故有以下四个约束:

4)

3, 2, 1,(j 10386253654321=≤+++++j j j j j j x x x x x x

(3)最后,我们再考虑各道工序所受的先后次序约束的条件。

先考察工序2与工序3的关系,因工序2在工序33隶属于工作站4,则工序2无论属于那个工作站均可;若工序3隶属于工作站3,则工序2可属于工作站1或2或3;此时,变量3)

2, ,1( 2=j x j 应满足的约束条

件为:

33232221x x x x ≥++;

同理,若工序3隶属于工作站2或1,则变量3)

2, ,1( 2=j x j 应

满足的约束条件为:

322221x x x ≥+ 3121x x ≥

同理,根据其它工序的优先关系,可仿此法给出其相应的约束条件,由上图知,六个工序之间有五个优先关系,故这类约束条件共有15个。

另外,在最优解中,若有一个工作站4)

3, 2, 1,(=p w p 不用(即

p

w =0),则

隶属于该工作站的全部6)

5, 4, 3, 2, 1,(=i x ip 必须为0,于是,有以下四个约束

条件:

4)

3, 2, 1,( 6654321=≤+++++i w x x x x x x j j j j j j j

3)模型的建立与求解

至此,我们得到了该问题的0—1型整数规划模型,它共包含28个变量,29个约束条件,这样的模型用枚举法求解,人工计算是很难胜任的,这时,只能求助于计算机求解了。我们给出该问题的模型如下,求解的过程望感兴趣的读者自

己完成之。

该问题的目标函数为:

4321 max w w w w z +++=

约束条件为:

6) 5, 4, 3, 2, ,1( 14321==+++i x x x x i i i i

4)

3, 2, 1,(j 10386253654321=≤+++++j j j j j j x x x x x x

33232221x x x x ≥++; 322221x x x ≥+; 3121x x ≥ 53232221x x x x ≥++; 522221x x x ≥+; 5121x x ≥; 43131211x x x x ≥++; 421211x x x ≥+; 4111x x ≥; 43333231x x x x ≥++; 423231x x x ≥+; 4131x x ≥;

63434241x x x x ≥++; 624241x x x ≥+; 6141x x ≥;

4)

3, 2, 1,( 6654321=≤+++++i w x x x x x x j j j j j j j

10

987654321max w w w w w w w w w w f +++++++++=

5101100

1

10*2600*<∑∑==i j ij

a

4.0*10*2556.0*)100

*

5002

101*100**

100(8101100

1

101100

1

>+∑∑∑∑====i j ij

i j ij

a

a

10

1

010ij i a =<≤∑

100

1

0100ij j a =<≤∑

12100...10(1,2...10)i i i i a a a w i +++≤=

整数规划的两种数学模型解法

规划模型求解 指导老师: 组员: 组员分工 实际的内容: 1·简要介绍线性规划的历史 线性规划是运筹学中最基本、应用最广泛的分支。规划模型是一类有着广泛应用的确定性的系统优化模型,1939年,苏联数学家康托洛维奇出版《生产组织和计划中的数学方法》一书. 1947年,美国数学家丹兹格提出了线性规划问题的单纯形求解方法. 1951年,美国经济学家库普曼斯(J.C.Koopmans,1910—1985)出版《生产与配置的活动分析》一书. 1950~1956年,线性规划的对偶理论出现. 1960年,丹兹格与沃尔夫(P.Wolfe)建立大规模线性规划问题的分解算法. 1975年,康托洛维奇与库普曼斯因“最优资源配置理论的贡献”荣获诺贝尔经济学奖. 1978年,苏联数学家哈奇扬(L.G.Khachian)提出求解线性规划问题的多项式时间算法(内点算法),具有重要理论意义. 1984年,在美国贝尔实验室工作的印度裔数学家卡玛卡(N.Karmarkar)提出可以有效求解实际线性规划问题的多项式时间算法——Karmarkar算法.

线性规划的基本点就是在满足一定约束条件下,使预定的目标达到最优. 现在线性规划已不仅仅是一种数学理论和方法,而且成了现代化管理的重要手段,是帮助管理者与经营者做出科学决策的一个有效的数学技术. 历史表明,重要数学概念对数学发展的作用是不可估量的,函数概念对数学发展的影响,可以说是贯穿古今、旷日持久、作用非凡,回顾函数概念的历史发展,看一看 函数概念不断被精炼、深化、丰富的历史过程,是一件十分有益的事情,它不仅有助于我们提高对函数概念来龙去脉认识的清晰度,而且更能帮助我们领悟数学概念 对数学发展,数学学习的巨大作用。 2·线性规划的原理:线性规划是合理利用、调配资源 的一种应用数学方法。它的基本思路就是在满足一定的约束条件下,使预定的目标达到最优。它的研究内容可归纳为两个方面:一是系统的任务已定,如何合理筹划,精细安排,用最少的资源(人力、物力和财力)去实现这个任务;二是资源的数量已定,如何合理利用、调配,使任务完成的最多。前者是求极小,后者是求极大。线性规划是在满足企业内、外部的条件下,实现管理目标和极值(极小值和极大值)问题,就是要以尽少的资源输入来实现更多的社会需要的产品的产出。因此,线性规划是辅助企业“转轨”、“变型”的十分有利的工具,它在辅助企业经营决策、计划优化等方面具有重要的作用。其一般形式为: n n n n n n b x a x a x a b x a x a x a x c x c x c x f =+++=+++→+++= 2 2222121112121112211min )(

MATLAB求解线性规划含整数规划和01规划问题.pdf

MATLAB 求解线性规划(含整数规划和0-1规划)问题 线性规划是数学规划中的一类最简单规划问题,常见的线性规划是一个有约束的,变量范围为有理数的线性规划。如: max 712z x y =+ 9430045200s.t 310300,0 x y x y x y x y +≤??+≤??+≤??≥? 对于这类线性规划问题,数学理论已经较为完善,可以有多种方法求解此类问题。但写这篇文章的目的并不是为了介绍数学理论,我们这里主要讲解如果利用工具求解这一类线性规划问题。 最著名,同时也是最强大的数学最优化软件是LINGO/LINDO 软件包,它能够求解多种的数学规划问题,同时还提供了多种的分析能力。但LINGO 软件并不容易上手,同时,应用LINGO 的场合一般是大规模的线性规划问题,小小的线性规划完全可以不使用它。一个更受科研人员欢迎的数学软件是MATLAB ,它以功能强大而称著,并有数学软件中的“航空母舰”之称。我们这里就是要学习使用MATLAB 软件求解线性规划(含整数规划和0-1规划)问题。 为了使得不熟悉MATLAB 的人员也能够使用MATLAB 进行线性规划问题求解,本文将对MATALB 中使用到的函数和过程以及结果进行详细的分析,最后会对每一个问题都给出一个可以完全“套用”的MATLAB 程序。 我们首先从上面的线性规划问题开始,为了便于表达,将上面的式子写成矩阵形式: max 712z x y =+ 9430045200s.t 310300,0x y x y ???????? ? ??≤? ? ? ???? ? ???????≥? 于是约束就表达为了一个Ax b ≤不等式。 求解MATLAB 线性规划时,最常用的函数是linprog 函数,下面来介绍一下这个函数的使用。 打开MATLAB 帮助文档(PS:帮助文档的内容是最全的,只要你的英文过了专业8级),可以看到linprog 函数求解的是具有如下标准形式的线性规划:

(完整word版)整数规划的数学模型及解的特点

整数规划的数学模型及解的特点 整数规划IP (integer programming):在许多规划问题中,如果要求一部分或全部决策变量必须取整数。例如,所求的解是机器的台数、人数、车辆船只数等,这样的规划问题称为整数规划,简记IP 。 松弛问题(slack problem):不考虑整数条件,由余下的目标函数和约束条件构成的规划问题称为该整数规划问题的松弛问题。 若松弛问题是一个线性规化问题,则该整数规划为整数线性规划(integer linear programming)。 一、整数线性规划数学模型的一般形式 ∑==n j j j x c Z 1 min)max(或 中部分或全部取整数n j n j i j ij x x x m j n i x b x a t s ,...,,...2,1,...,2,10 ),(.211 ==≥=≥≤∑= 整数线性规划问题可以分为以下几种类型 1、纯整数线性规划(pure integer linear programming):指全部决策变量都必须取整数值的整数线性规划。有时,也称为全整数规划。

2、混合整数线性规划(mixed integer liner programming):指决策变量中有一部分必须取整数值,另一部分可以不取整数值的整数线性规划。 3、0—1型整数线性规划(zero —one integer liner programming):指决策变量只能取值0或1的整数线性规划。 1 解整数规划问题 0—1型整数规划 0—1型整数规划是整数规划中的特殊情形,它的变量仅可取值0或1,这时的 ???? ? ????≥≤+≥+≤-+=且为整数0,5210453233max 2121212121x x x x x x x x x x z

01型整数规划模型

甲乙公司不合作即竞争下所争取到的不同名专业推广者所建立的不同动态规划模 型的组合方案如下:其中X 为可能竞争到的专业推广者人数,即动态规划模型中第一天的

专业推广者推 广能力的份数,Y 为第二天需要的专业推广者推广能力的份数,即第三天安排从事推广 工作的专业推广者的人数;Z 为第三天需要的专业推广者推广能力的份数,即第三天安排从事推广工作的专业推广者的人数;a 为x 名专业推广者累计从事培训工作出来的兼职推广者的批数(每批20 人),其中,有多种组合方案;甲公司雇佣这些兼职推广者均工作一天,从事推广工作,第二天辞退a ?b 批兼职推广员,其余的b 批继续从事推广工作一天后辞退,即兼职宣传员总共最多雇佣2 天;cost 为花费的成本,即资金的使用数量;F 为不同方案下所达到的总推广效益。上表可以提供给甲公司做决策依据,根据效益的大小甲公司可以决策的目标方向顺序是从①--⑧,即不合作的情况下甲公司可以尽量争取到9 人,如若 不行,考虑争取4 人。 §5.4 0—1型整数规划模型 1、 0—1型整数规划模型概述 整数规划指的是决策变量为非负整数值的一类线性规划,在实际问题的应用中,整数规划模型对应着大量的生产计划或活动安排等决策问题,整数规划的解法主要有分枝定界解法及割平面解法(这里不作介绍,感兴趣的读者可参考相关书籍)。在整数规划问题中,0—1型整数规划则是其中较为特殊的一类情况,它要求决策变量的取值仅为0或1,在实际问题的讨论中,0—1型整数规划模型也对应着大量的最优决策的活动与安排讨论,我们将列举一些模型范例,以说明这个事实。 0—1型整数规划的的数学模型为: 目标函数 n n x c x c x c z M i n M a x +++= 2211)( 约束条件为: ???? ?? ?==≥≤++=≥≤++=≥≤++1 | 0 ) ,() ,() ,(2211222221211 1212111n m n mn m m n n n n x x x b x a x a x a b x a x a x a b x a x a x a , , ,21 这里,0 | 1表示0或1。 2、0—1型整数规划模型的解法

数学建模(整数规划)

整数规划模型

实际问题中 x x x x f z Max Min T n "),(),()(1==或的优化模型 m i 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) n z c x =1j j j n =∑1 s.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 ,如何装载使价值最大化? m 1?1 max j j j c y =∑ 1 0j j y =?被装载 s.t. m j j v y V ≤∑0 j ?没被装载1 j m =1 j 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.),网址:https://www.360docs.net/doc/1417383400.html, I)网址htt//li d LINDO: Interactive and Discrete Optimizer (V6.1) Linear(V61) LINGO: Linear Interactive General Optimizer (V8.0) LINDO——解决线性规划LP—Linear Programming,整数规划IP—Integer Programming问题。 LINGO——解决线性规划LP—Linear Programming,非线性规划NLP—Nonlinear Programming,整数规划IP—Integer Programming g g整划g g g 问题。

整数规划

整数规划

若某钻井队要从以下10个可供选择的井位中确定5个钻井探油。使总的钻探费用为最小。若10个井位的代号为S 1,S 2.…,S 10相应的钻探费用为C 1 ,C 2 ,… C 10,并且井位选择要满足下列限制条件: (1) 在s 1,s 2,S 4中至多只能选择两个; (2)在S 5,s 6中至少选择一个;(3)在s 3,s 6,S 7,S 8中至少选择两个。 试建立这个问题的整数规划模型 解:设x j (j=1,…,10)为钻井队在第i 个井位探油 minZ=j j j x c ∑=10 1 背包问题:一个登山队员,他需要携带的物品有:食品、氧气、冰镐、绳索、帐篷、照相器材、通信器材等。每种物品的重量合重要性系数如表所示。设登山队员可携带的最大重量为25kg,试选择该队员所应携带的物品。 序号 1 2 3 4 5 6 7 物品 食品 氧气 冰镐 绳索 帐篷 照相器材 通信设备 重量/Kg 5 5 2 6 12 2 4 重要性系数 20 15 18 14 8 4 10 解:引入0—1变量x i , x i =1表示应携带物品i ,,x i =0表示不应携带物品I ?? ?==≤++++++++++++=7 ,...,2,1,10254212625510481418152076543217654321i x x x x x x x x x x x x x x x naxz i 或 集合覆盖和布点问题 某市消防队布点问题。该市共有6个区,每个区都可以建消防站,市政府希望设置的消防站最少,但必须满足在城市任何地区发生火警时,消防车要在15min 内赶到现场。据实地测定,各区之间消防车行驶的时间见表,请制定一个布点最少的计划。 地区1 地区2 地区3 地区4 地区5 地区6 地区1 地区2 地区3 地区4 地区5 地区6 0 10 16 28 27 20 10 0 24 32 17 10 16 24 0 12 27 21 28 32 12 0 15 25 27 17 27 15 0 14 20 10 21 25 14 0

整数线性规划理论

整数线性规划理论 §1 概论 1.1 定义 规划中的变量(部分或全部)限制为整数时,称为整数规划。若在线性规划模型整数线性规划。目前所流行的求解整数规划的方法,往 1.2 如不加特殊说明,一般指整数线性规划。对于整数线性规划模型大致可分为两类: 1o 变量全限制为整数时,称纯(完全)整数规划。 2o 变量部分限制为整数的,称混合整数规划。 1.3 整数规划特点 (i ) 原线性规划有最优解,当自变量限制为整数后,其整数规划解出现下述情况: ①原线性规划最优解全是整数,则整数规划最优解与线性规划最优解一致。 ②整数规划无可行解。 例1 原线性规划为 21min x x z += 0,0,5422121≥≥=+x x x x 其最优实数解为:4 5min ,4 5,021===z x x 。LINGO1.lg4 LINGO11.lg4 ③有可行解(当然就存在最优解),但最优解值变差。 例2 原线性规划为 21m i n x x z += 0,0,6422121≥≥=+x x x x 其最优实数解为:2 3min ,23,021===z x x 。 若限制整数得:2min ,1,121===z x x 。LINGO2.lg4 LINGO21.lg4 (ii ) 整数规划最优解不能按照实数最优解简单取整而获得。 1.4 求解方法分类: (i )分枝定界法—可求纯或混合整数线性规划。 (ii )割平面法—可求纯或混合整数线性规划。 (iii )隐枚举法—求解“0-1”整数规划: ①过滤隐枚举法; ②分枝隐枚举法。 (iv )匈牙利法—解决指派问题(“0-1”规划特殊情形)。 (v )蒙特卡洛法—求解各种类型规划。 下面将简要介绍常用的几种求解整数规划的方法。 §2 分枝定界法 对有约束条件的最优化问题(其可行解为有限数)的所有可行解空间恰当地进行

01型整数规划模型

§5.4 0—1型整数规划模型 1、 0—1型整数规划模型概述 整数规划指的是决策变量为非负整数值的一类线性规划,在实际问题的应用中,整数规划模型对应着大量的生产计划或活动安排等决策问题,整数规划的解法主要有分枝定界解法及割平面解法(这里不作介绍,感兴趣的读者可参考相关书籍)。在整数规划问题中,0—1型整数规划则是其中较为特殊的一类情况,它要求决策变量的取值仅为0或1,在实际问题的讨论中,0—1型整数规划模型也对应着大量的最优决策的活动与安排讨论,我们将列举一些模型范例,以说明这个事实。 0—1型整数规划的的数学模型为: 目标函数 n n x c x c x c z Min Max +++=ΛΛ2211)( 约束条件为: ???? ?? ?==≥≤++=≥≤++=≥≤++1 | 0 ) ,() ,() ,(2211222221211 1212111n m n mn m m n n n n x x x b x a x a x a b x a x a x a b x a x a x a , , ,2 1ΛΛΛΛΛΛΛΛΛΛΛΛ 这里,0 | 1表示0或1。 2、0—1型整数规划模型的解法 0—1型整数规划模型的解法一般为穷举法或隐枚举法,穷举法指的是对决策变量 n x x x , , ,21ΛΛ的每一个0或1值,均比较其目标函数值的大小,以从中 求出最优解。这种方法一般适用于决策变量个数n 较小的情况,当n 较大时,由于n 个0、1的可能组合数为n 2,故此时即便用计算机进行穷举来求最优解,也 几乎是不可能的。隐枚举法是增加了过滤条件的一类穷举法,该法虽能减少运算次数,但有的问题并不使用。此时,就只能用穷举法了。 3. 应用实例 例1 工程上马的决策问题

整数线性规划word版

第三章 整数线性规划 本章, 我们介绍三种解决整数线性规划问题的软件: 第一种: MATLAB 中的optimization toolbox 中的若干程序; 第二种: LINDO 软件; 第二种: LINGO 软件. 1. MATLAB 程序说明 程序名: intprogram, L01p_e, L01p_ie, transdetobi, biprogram intprogram 是利用分支定界法解决整数规划问题, 是全部的整数规划问题; L01p_e 是利用枚举法解决0-1规划问题, 变量要求全部为0或者1; L01p_ie 是利用隐枚举法解决0-1规划问题, 变量要求全部为0或者1; Transdetobi 是枚举法和隐枚举法中利用到的将十进制数转化为二进制数的函数; Biprogram 是MATLAB6.5以上版本中有的求解0-1规划的函数的程序. intprogram 执行实例1: 12 121212max 2010s.t.5424 2513 ,0, f x x x x x x x x =++≤+≤≥ 且为整数 在命令窗口的程序执行过程和结果如下: >> c=[-20,-10]; %将最大转化为最小; >> a=[5,4;2,5]; >> b=[24;13]; >> [x,f]=intprogram(c,a,b,[0;0],[inf;inf],[],0,0.0001) % c,a,b 之后[0;0] is the value of low bound;[inf;inf] is the value of up bound;[] is the initialization;0 is the number of the equation constraints; 0.0001 is the concise rate. x = 4.0000 1.0000 f = -90 intprogram 执行实例2: 书中例题3.3.1 在命令窗口的程序执行过程和结果如下: >> c=[-1,-1]; >> a=[-4,2;4,2;0,-2]; >> b=[-1;11;-1];

第六章整数规划

第五章整数规划 一、填空题 1.用分枝定界法求极大化的整数规划问题时,任何一个可行解的目标函数值是该问题目标函数值的()。 2.在分枝定界法中,若选Xr=4/3进行分支,则构造的约束条件应为()。 3.已知整数规划问题P0,其相应的松驰问题记为P0’,若问题P0’无可行解,则问题P。()。 4.在0 - 1整数规划中变量的取值可能是()或()。 5.对于一个有n项任务需要有n个人去完成的分配问题,其解中取值为1的变量数为()个。 6.分枝定界法和割平面法的基础都是用()求解整数规划。 7.若在对某整数规划问题的松驰问题进行求解时,得到最优单纯形表中,由X。所在行得X1+1/7x3+2/7x5=13/7,则以X1行为源行的割平面方程为()。 8.在用割平面法求解整数规划问题时,要求全部变量必须都为()。 9.用()求解整数规划问题时,若某个约束条件中有不为整数的系数,则需在该约束两端扩大适当倍数,将全部系数化为整数。 10.求解纯整数规划的方法是割平面法。求解混合整数规划的方法是()。 11.求解0—1整数规划的方法是隐枚举法。求解分配问题的专门方法是()。 12.在应用匈牙利法求解分配问题时,最终求得的分配元应是()。 13.分枝定界法一般每次分枝数量为()个. 二、单选题 1.整数规划问题中,变量的取值可能是()。 A.整数B.0或1C.大于零的非整数D.以上三种都可能 2.在下列整数规划问题中,分枝定界法和割平面法都可以采用的是A()。 A.纯整数规划B.混合整数规划C.0—1规划D.线性规划 3.下列方法中用于求解分配问题的是()。 A.单纯形表B.分枝定界法C.表上作业法D.匈牙利法 三、多项选择

整数线性规划

整数线性规划 【数学模型】 m in T x f x st. A x b ?≤ A eq x b eq ?= lb x ub ≤≤ i x 取值为整数 其中f , x , b , beq , lb 和ub 为向量,A 和Aeq 为矩阵。 【函数】 intprog 【说明】 在Matlab 中无求解整数线性规划的现成函数,利用Matlab 的线性规划函数linprog 来编写整数线性规划函数,输入与输出与linprog 类似,采用分枝定界法来实现。 Matlab 主程序intprog 如下: function [x,fval,status] = intprog(f,A,B,I,Aeq,Beq,lb,ub,e) %整数规划求解函数 intprog() % 其中 f 为目标函数向量 % A 和B 为不等式约束 Aeq 与Beq 为等式约束 % I 为整数约束 % lb 与ub 分别为变量下界与上界 % x 为最优解,fval 为最优值 % 控制输入参数 if nargin < 9, e = 0.00001; if nargin < 8, ub = []; if nargin < 7, lb = []; if nargin < 6, Beq = []; if nargin < 5, Aeq = []; if nargin < 4, I = [1:length(f)]; end , end , end , end , end , end %求解整数规划对应的线性规划,判断是否有解 options = optimset('display','off'); [x0,fval0,exitflag] = linprog(f,A,B,Aeq,Beq,lb,ub,[],options); if exitflag < 0 disp('没有合适整数解'); x = x0; fval = fval0; status = exitflag; return ; else %采用分支定界法求解

整数规划割平面法

割平面法 求解整数规划问题: Max Z=3x1+2x2 2x1+3x2?14 4x1+2x2?18 x1,x2?0,且为整数 解:首先,将原问题的数学模型标准化,这里标准化有两层含义:(1)将不等式转化为等式约束,(2)将整数规划中所有非整数系数全部转化为整数,以便于构造切割平面。从而有:Max Z=3x1+2x2 2x1+3x2+x3=14 2x1+x2+x4=9 x1,x2?0,且为整数 利用单纯形法求解,得到最优单纯形表,见表1: 表1

最优解为:x1=13/4, x2=5/2, Z=59/4 根据上表,写出非整数规划的约束方程,如:x2+1/2x3-1/2x4=5/2 (1) 将该方程中所有变量的系数及右端常数项均改写成“整数与非负真分数之和”的形式,即:(1+0)x2+(0+1/2)x3+(-1+1/2)x4=2+1/2 把整数及带有整数系数的变量移到方程左边,分数及带有分数系数的变量称到方程右边,得:x2 - x4-2 =1/2-(1/2x3+1/2x4) (2) 由于原数学模型已经“标准化”,因此,在整数最优解中,x2和x4也必须取整数值,所以(2)式左端必为整数或零,因而其右端也必须是整数。又因为x3,x4?0,所以必有: 1/2-(1/2x3+1/2x4)<1 由于(2)式右端必为整数,于是有: 1/2-(1/2x3+1/2x4)?0 (3) 或 x3+x4?1 (4) 这就是考虑整数约束的一个割平面约束方程,它是用非基变量表示的,如果用基变量来表示割平面约束方程,则有: 2x1+2x2?11 (5)

从图1中可以看出,(5)式所表示的割平面约束仅割去线性规划可行域中不包含整数可行解的部 分区域,使点E(3.5,2)成为可行域的一个极点。 图1 在(3)式中加入松弛变量x5,得: -1/2x3-1/2x4+x5=-1/2 (6) 将(6)式增添到问题的约束条件中,得到新的整数规划问题: Max Z=3x1+2x2 2x1+3x2+x3=14 2x1+x2+x4=9 -1/2x3-1/2x4+x5=-1/2 x i?0,且为整数,i=1,2,…,5 该问题的求解可以在表1中加入(6)式,然后运用对偶单纯形法求出最优解。具体计算过程见表2: 表2

整数规划和多目标规划模型

1 整数规划的MATLAB 求解方法 (一) 用MATLAB 求解一般混合整数规划问题 由于MATLAB 优化工具箱中并未提供求解纯整数规划和混合整数规划的函数,因而需要自行根据需要和设定相关的算法来实现。现在有许多用户发布的工具箱可以解决该类问题。这里我们给出开罗大学的Sherif 和Tawfik 在MATLAB Central 上发布的一个用于求解一般混合整数规划的程序,在此命名为intprog ,在原程序的基础上做了简单的修改,将其选择分枝变量的算法由自然序改造成分枝变量选择原则中的一种,即:选择与整数值相差最大的非整数变量首先进行分枝。intprog 函数的调用格式如下: [x,fval,exitflag]=intprog(c,A,b,Aeq,beq,lb,ub,M,TolXInteger) 该函数解决的整数规划问题为: ????? ??????∈=≥≤≤=≤=) 取整数(M j x n i x ub x lb b x A b Ax t s x c f j i eq eq T ) ,,2,1(0 ..min 在上述标准问题中,假设x 为n 维设计变量,且问题具有不等式约束1m 个,等式约束2m 个,那么:c 、x 均为n 维列向量,b 为1m 维列向量,eq b 为2m 维列向量,A 为n m ?1维矩阵,eq A 为n m ?2维矩阵。 在该函数中,输入参数有c,A,b,A eq ,b eq ,lb,ub,M 和TolXInteger 。其中c 为目标函数所对应设计变量的系数,A 为不等式约束条件方程组构成的系数矩阵,b 为不等式约束条件方程组右边的值构成的向量。Aeq 为等式约束方程组构成的系数矩阵,b eq 为等式约束条件方程组右边的值构成的向量。lb 和ub 为设计变量对应的上界和下界。M 为具有整数约束条件限制的设计变量的序号,例如问题中设计变量为621,,,x x x ,要求32,x x 和6x 为整数,则M=[2;3;6];若要求全为整数,则M=1:6,或者M=[1;2;3;4;5;6]。TolXInteger 为判定整数的误差限,即若某数x 和最邻近整数相差小于该误差限,则认为x 即为该整数。

整数规划习题

第五章 整数规划习题 5.1 考虑下列数学模型 )()(m in 2211x f x f z += 且满足约束条件 (1)或101≥x ,或102≥x ; (2)下列各不等式至少有一个成立: ??? ??≥+≥+≥+15 215152212121x x x x x x (3)021=-x x 或5或10 (4)01≥x ,02≥x 其中 )(11x f =?? ?=>+0,0 0,520111x x x 如如 =)(2 2x f ?? ?=>+0,00,612222x x x 如如 将此问题归结为混合整数规划的模型。 解:2211612510m in x y x y z +++= ? ? ?????????????? ????=≥≥=+++++-+-=-≤++-≥+-≥+-≥+?--≥?-≥?≤?≤),,=(或,)()()(;)(11.110;00)4(1 11105503215215152)1(1010102111 1098711109872165462152142132312211i y x x y y y y y y y y y y x x y y y M y x x M y x x M y x x M y x M y x M y x M y x i 5.2 试将下述非线性的0-1规划问题转换成线性的0-1规划问题 3 3 3221max x x x x z -+= ?? ?==≤++-) ,(或3,2,110332321j x x x x j

解:令=y ???==否则,当,01132x x 故有y x x =32,又21x ,3 1x 分别与1x ,3x 等价,因此题中模型可转换为 31m ax x y x z -+= ? ???? ?? ??-+≤+≤≤≤++-变量均为10,,,1 3 323213 23 2321y x x x y x x x y x y x x x 5.3 某科学实验卫星拟从下列仪器装置中选若干件装上。有关数据资料见表5-1 要求:(1)装入卫星的仪器装置总体积不超过V ,总质量不超过W ;(2)A 1与A 3中最多安装一件;(3)A 2与A 4中至少安装一件;(4)A 5同A 6或者都安上,或者都不安。总的目的是装上取的仪器装置使该科学卫星发挥最大的实验价值。试建立这个问题的数学模型。 解: j j j x c z ∑==6 1 max ??? ?? ?????????????==≥+≤+≤≤∑∑==否则 仪器安装,0,111 654231 6 1 6 1j j j j j j j j A x x x x x x x W x w V x v 5.4 某钻井队要从以下10个可供选择的井位中确定5个钻井探油,使总的钻探费用最小。若10个井位的代号为s 1 ,s 2,…s 10,相应的钻探费用为c 1 ,c 2,…,c 10,并且井位选择上要满足下列限制条件:

第11章 整数规划方法

·166 · 第十一章 整数规划方法 11.1 整数规划的模型 如果一个数学规划的某些决策变量或全部决策变量要求必须取整数,则这样的问题称为整数规划问题,其模型称为整数规划模型。 如果整数规划的目标函数和约束都是线性的,则称此问题为整数线性规划问题。在里我们只就整数线性规划问题进行讨论,整数线性规划的一般模型为: ????????=≥???=≥=≤=∑∑==) ,,2,1(,0),,2,1(),(..max(min)1 1 n j x x m i b x a t s x c z j j i n j j ij n j j j 为整数 (11.1) 对于实际中的某些整数规划问题,我们有时候可以想到先略去整数约束的条件,即视为 一个线性规划问题,利用单纯形法求解,然后对其最优解进行取整处理。实际上,这样得到的解未必是原整数规划问题的最优解,因此,这种方法是不可取的,但可借鉴于这种思想。 整数规划求解方法总的基本思想是:松弛问题(11.1)中的约束条件(譬如去掉整数约束条件),使构成易于求解的新问题――松弛问题(A),如果这个问题(A)的最优解是原问题(11.1)的可行解,则就是原问题(11.1)的最优解;否则,在保证不改变松弛问题(A)的可行性的条件下,修正松弛问题(A)的可行域(增加新的约束),变成新的问题(B ),再求问题(B)的解,重复这一过程直到修正问题的最优解在原问题(11.1)的可行域内为止,即得到了原问题的最优解。 注意到: 如果每个松弛问题的最优解不是原问题的可行解时,则这个解对应的目标函数值z 一定是原问题最优值* z 的上界(最大化问题),即z z ≤*,或下界(最小化问题),即z z ≥* 。 11.2 整数规划的分枝定界法 11.2.1. 分枝定界法的基本思想 将原问题(11.1)中整数约束去掉变为问题(A ),求出问题(A )的最优解,如果它不是原问题(11.1)的可行解,则通过附加线性不等式约束(整数),将问题(A )分枝变为若干子问题),,2,1)((I i B i ???=,即对每一个非整变量附加两个互相排斥(不交叉)的整型约束,就得两个子问题,继续求解定界,重复下去,直到得到最优解为止。

0-1型整数线性规划模型理论

0-1型整数线性规划模型理论 (1) 0-1型整数线性规划 0-1型整数线性规划是一类特殊的整数规划,它的变量仅取值0或1.其模型如下: T min ..01(1,2, ,)j f s t x j n =??=?c x Ax =b 取或 其中()T 12,,,,n c c c =c ()T 12,,,,n x x x =x (),ij m n a ?=A ()T 12,,,.m b b b =b 称此时的决策变量为0-1变量,或称二进制变量.在实际问题中,如果引进0-1变量,就可以把各种需要分别讨论的线性(或非线性)规划问题统一在一个问题中讨论了. (2) 求解0-1型整数线性规划的分支界定法Matlab 指令 x = bintprog(f,A,b): 求解0-1型整数线性规划,用法类似于linprog. x = bintprog(f,A,b,Aeq,beq): 求解下述线性规划问题: T min ,z =f x ≤Ax b ,≤Ax b ,?≤Aeq x beq ,x 分量取0或1. x = bintprog(f,A,b,Aeq,beq,x0): 指迭代初值x0,如果没有不等式约束,可用[]代替A,b 表示默认,如果没有等式约束,可用[]代替Aeq 和beq 表示默认;用[x,fval]代替上述各命令行中左边的x,则可得到最优解处的函数值fval. 例如:求解0-1型整数线性规划模型: 1min n i i Z x ==∑ ()()() 123453568946791234712567 5812923 2200..20 0020 01(1,2,,9)j x x x x x x x x x x x x x x x x x x x s t x x x x x x x x x x x j ?-++++≤-?-++++≤-??-+++≤-??--+≤?-≤??--+≤??-≤?-+≤??--+≤??==? 或 用Matlab 软件编程可解得1236791x x x x x x ======,其他变量为0,共六门课,满足

数学建模中的整数规划问题研究论文

XX大学 毕业论文 数学建模中的整数规划问题研究 院系名称: 专业: 学生姓名: 学号: 指导老师: XX大学制 二〇一年月日

1.引言 应用数学学科的一项重要任务是从自然科学、社会科学、工程技术以及现代化管理中提出问题和解决问题。这就要求我们学会如何将实际问题经过分析、简化,转化为一个数学问题,然后用适当的数学方法解决,即建立数学模型。随着科学技术的发展,特别是计算机技术的发展,数学的应用领域已由传统的物理领域迅速的扩展到非物理领域。数学在发展高科技、提高生产力水平和实现现代化管理等方面的作用越来越明显。正是这样的背景下,数学模型这个词汇越来越多的出现在现代化生产、工作和社会生活中。数学模型的分类方法有很多种,例如按照建模所用的数学方法的不同,可分为:初等模型、运筹学模型、微分方程模型、概率统计模型、控制论模型等。而运筹学模型中的规划模型又可分为非线性规划模型和线性规划模型,本文通过实例剖析线性规划中整数规划方法在数学模型种的应用 2.主要结果 2.1数学建模中的整数规划问题 在研究线性规划的问题中,一般问题的最优解都是非整数,即为分数或小数,但对于实际中的具体问题的解常常要求必须取整数.例如问题的解表示是人数、机器设备的台数、机械车辆数等都是整数.为了求整数解,我们设想把所求得的非整数解采用“舍人取整”的方法处理,似乎是变成了整数解,但事实上这样得到的结果未必可行.因为取整以后就不一定是原问题的可行解了,或者虽然是可行解,但也不一定是最优解.因此,对于要求最优整数解的问题,需要寻求直接的求解方法,这就是整数规划方法. 2.2整数规划的基本概念]1[

整数规划的一般模型为: () () () ? ? ? ? ? = ≥ = ≥ = ≤ = ∑ ∑ = = , , ,2,1 ,0 , , ,2,1 ) , ( .. , min max 1 1 n j x x m i b x a t s x c j j n j i j ij n j j j z 为整数 (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)分枝变为若干子问题( i B)(i=1,2,…,I),即对每一个非整数变量附加两个互相排斥(不交叉)的整型约束,即可得到两个子问题,继续求解定界,重复这一过程,知道得到最优解为止。 分枝定界法的一般步骤: (1)将原整数规划问题(2.1)去掉所有的整数约束变为线性规划问题(A),用线性规划的方法求解问题(A),则有下列情况: 1)问题(A)无可行解,则原问题(2.1)也无可行解,停止计算: 2)问题(A)有最优解* X,并不是原问题(2.1)的可行解,则此解就是(A)的最优解,计算结束; 3)问题(A)有最优解* X,但不是原问题(2.1)的可行解,转下一步。

整数线性规划理论(优选.)

最新文件---------------- 仅供参考--------------------已改成-----------word 文本 --------------------- 方便更改 赠人玫瑰,手留余香。 整数线性规划理论 §1 概论 1.1 定义 规划中的变量(部分或全部)限制为整数时,称为整数规划。若在线性规划模型中,变量限制为整数,则称为整数线性规划。目 前还没有一种方法能有效地求解一切整数规划。 1.2 整数规划的分类 如不加特殊说明,一般指整数线性规划。对于整数线性规划模型大致可分为两类: 1o 变量全限制为整数时,称纯(完全)整数规划。 2o 变量部分限制为整数的,称混合整数规划。 1.3 整数规划特点 (i ) 原线性规划有最优解,当自变量限制为整数后,其整数规划解出现下述情况: ①原线性规划最优解全是整数,则整数规划最优解与线性规划最优解一致。 ②整数规划无可行解。 例1 原线性规划为 21m in x x z +=

0,0,5422121≥≥=+x x x x 其最优实数解为:4 5min ,45 ,021===z x x 。LINGO1.lg4 LINGO11.lg4 ③有可行解(当然就存在最优解),但最优解值变差。 例2 原线性规划为 21m in x x z += 0,0,6422121≥≥=+x x x x 其最优实数解为:2 3min ,23 ,021===z x x 。 若限制整数得:2m in ,1,121===z x x 。LINGO2.lg4 LINGO21.lg4 (ii ) 整数规划最优解不能按照实数最优解简单取整而获得。 1.4 求解方法分类: (i )分枝定界法—可求纯或混合整数线性规划。 (ii )割平面法—可求纯或混合整数线性规划。 (iii )隐枚举法—求解“0-1”整数规划: ①过滤隐枚举法; ②分枝隐枚举法。 (iv )匈牙利法—解决指派问题(“0-1”规划特殊情形)。 (v )蒙特卡洛法—求解各种类型规划。 下面将简要介绍常用的几种求解整数规划的方法。 §2 分枝定界法 对有约束条件的最优化问题(其可行解为有限数)的所有可行

0-1整数规划

5.4 0—1型整数规划模型 1. 0—1型整数规划模型概述 整数规划指的是决策变量为非负整数值的一类线性规划,在实际问题的应用中,整数规划模型对应着大量的生产计划或活动安排等决策问题,整数规划的解法主要有分枝定界解法及割平面解法(这里不作介绍,感兴趣的读者可参考相关书籍)。在整数规划问题中,0—1型整数规划则是其中较为特殊的一类情况,它要求决策变量的取值仅为0或1,在实际问题的讨论中,0—1型整数规划模型也对应着大量的最优决策的活动与安排讨论,我们将列举一些模型范例,以说明这个事实。 0—1型整数规划的的数学模型为: 目标函数 n n x c x c x c z Min Max +++= 2211)( 约束条件为:???? ?? ?==≥≤++=≥≤++=≥≤++1 | 0 ) ,() ,() ,(22112222212111212111n m n mn m m n n n n x x x b x a x a x a b x a x a x a b x a x a x a , , ,21 这里,0 | 1表示0或1。 2. 0—1型整数规划模型的解法 0—1型整数规划模型的解法一般为穷举法或隐枚举法,穷举法指的是对决策变量n x x x , , ,21 的每一个0或1值,均比较其目标函数值的大小,以从中求出最优解。这种方法一般适用于决策变量个数n 较小的情况,当n 较大时,由于n 个0、1的可能组合数为n 2,故此时即便用计算机进行穷举来求最优解,也几乎是不可能的。隐枚举法是增加了过滤条件的一类穷举法,该法虽能减少运算次数,但有的问题并不使用。此时,就只能用穷举法了。 3. 应用实例 例1 工程上马的决策问题 1)问题的提出 某部门三年内有四项工程可以考虑上马,每项工程的期望收益和年度费用(千元)如下表所示:假定每一项已选定的工程要在三年内完成,是确定应该上马哪些工程,方能使该部门可能的期望收益最大。

相关文档
最新文档