数学规划模型(三):整数规划模型

整数规划模型的基本知识

线性规划模型的决策变量取值能够是任意非负实数,但许多实际问题的建模中,只有当决策变量的取值为整数时才有意义。例如,产品的件数、机器的台数、装货的车数、完成工做的人数等,分数或小数解显然是不合理的。要求所有或部分决策变量的取值为整数的线性规划模型,称为整数规划模型web

所有决策变量的取值都为整数的整数规划模型,称为纯整数规划模型;仅要求部分决策变量的取值为整数的整数规划模型,称为混合整数规划模型;要求决策变量只能取0或1值的整数规划模型,则称为0-1规划模型算法

**纯整数规划模型**的通常形式为:
在这里插入图片描述
在这里插入图片描述
0-1规划模型的通常形式为:
在这里插入图片描述
在这里插入图片描述
整数规划模型的求解比线性规划模型的求解要可贵多,整数规划模型求解的困难在于
模型的维数(决策变量与约束条件的个数)增长时,计算量将爆炸性(即按指数规律)增长
svg

下面是一些**有关整数规划模型经常使用的求解方法**:函数

(1)枚举法与隐枚举法:经常使用于0-1规划模型的求解,但模型的维数高时不可行。
(2)分枝定界法:对纯整数规划模型和混合整数规划模型的求解均适用,比较可行。
(3)割平面法:对纯整数规划模型和混合整数规划模型的求解均适用,比较可行。.net

以上求解整数规划模型的详细算法,请参见清华大学编《运筹学》教材。在实际建模中,可借助于LINGO、MATLAB等数学软件对整数规划模型进行求解。设计

指派问题

问题: 设有项任务要派我的去完成,但因为任务的性质和我的专长不一样,每一个人去完成不一样任务的效率(或所用时间)有所不一样。试问应当派哪一个人去完成哪项任务,使总的效率最高(或所用的总时间最少)?这类问题称为指派问题。3d

解答: 设表示第人完成第项任务所需的时间,表示所用总时间。决策变量设置以下:
在这里插入图片描述
因为问题的要求,每项任务均要有人去完成,即有
在这里插入图片描述
又每人均要被分派任务,即有
在这里插入图片描述
以所用总时间在这里插入图片描述做为目标函数,指派问题的解决归结为以下0-1规划模型:
在这里插入图片描述
在这里插入图片描述
对于指派问题的求解,已有较成熟的匈牙利算法(参见清华大学编《运筹学》教材)。在实际建模中,可用LINGO、MATLAB等数学软件进行求解。code

整数规划建模示例

两辆平板车装载问题
有七种规格的包装箱要装到两节铁路平板车上去。包装箱的宽和高是同样的,但厚度(t,以cm 计)及重量(w,以kg计)是不一样的。表6-5给出了每种包装箱的厚度、重量以及数量。每节平板车有10.2m 长的地方可用来装包装箱(像面包片那样),载重为40吨。因为当地货运的限制,对于C5, C6, C7 类包装箱的总数有一个特别的限制:这类箱子所占的空间(厚度)不能超过302.7cm。 试设计一种装车方案,使得浪费的空间最小。
在这里插入图片描述xml

1. 模型假设
(1)各类规格的包装箱的宽和高是同样的,且知足装车的宽、高要求,平板车能装包装箱的数量只与包装箱的厚度与重量有关;
(2)每件包装箱不能拆分装车;
(3)每种包装箱能够分布在不一样的平板车上;
(4)不一样的包装箱能够放在同一个平板车上,而且能够保证不留空隙。
2. 模型创建
(1)决策变量
xij(i=1,2,...,7; j=1,2)表示在第j节车上装载第i种包装箱的数量,以xij为决策变量,xij只能取非负整数值。
(2)约束条件
ni表示第i种包装箱可用装车的件数,两节车的装箱数不能超过可用装车的件数,故有:
在这里插入图片描述
lj表示第j节车可用装箱的长度,ti表示第i种包装箱的厚度,每节车可装的长度不能超过车能提供的长度,故有:
在这里插入图片描述
wi表示第i种包装箱的重量,Wj表示第j节车的载重量,每节车可装的重量不能超过车可以承受的载重量,故有:
在这里插入图片描述
对于C5, C6, C7类包装箱的总数的特别限制记为S(S=302.7cm),故有:
在这里插入图片描述
(3)目标函数
浪费的空间最小,即所装包装箱的总厚度最大。以所装包装箱的总厚度为目标函数,所装包装箱的总厚度表达式为:
在这里插入图片描述
综合上述分析,两辆平板车装载问题的数学模型为以下整数规划模型:
在这里插入图片描述
在这里插入图片描述
3. 模型求解
运用LINGO软件获得最优解:
在这里插入图片描述
最优目标值在这里插入图片描述,即按此最优装车方案两辆平板车共剩余空间0.6cm。blog

另外,此模型彻底适用于两辆平板车的载重量和可用装载空间不一样的情形。

接上两篇文章:
数学规划模型(一)
数学规划模型(二):线性规划模型

后面更新数学规划模型的后一种规划模型。。。请持续关注。。。。