2024年9月21日发(作者:古韦)
汽车公司的生产计划与决策
摘要
本文是针对汽车生产计划的安排对总利润的影响问题,通过对题目的分析,运用运
筹学的知识,给出成本在最低的时候能获得最大利润的生产方案。
针对问题一:根据经济学意义,建立成本函数:
Cc
0
e
i
d
j
w
k
和预计销售
利润函数:
R(PC).*Q
,利用
Matlab
程序,得到每一种车型的生产成本和预计销售
利润。
针对问题二:首先根据成本和预计销售函数,建立模型一:最大预计销售利润模型
max R=
x
i
r
i
,方法一:利用
Lingo
软件编程得出:生产
NH16
和
HA16
两种车型,总
18
利润为
684
万元;方法二:运用
winQSB
的
LPILP
计算得出:生产
NA18
和
NH16
两种
车型,总利润为
684
万元;然后基于
0-1
整数规划的思想,建立模型二:生产安排模型,
运用
Lingo
编程得出具体生产方案,最后基于目标函数和题中的约束条件,建立模型三:
最优生产方案模型,运用
Lingo
进行编程得出:生产
NA18
、
NH16
和
HA16
三种车型,
总利润为
684
万元;生产线安排为:用一条生产线生产6辆
NA18
;用7条生产线生产
20辆
NH16
,一条生产线生产10辆
NH16
,一条生产线生产6辆
HA16
,一条生产15
辆,两条生产24辆,五条生产6辆。最后综合三种方案,其最优值相同,为了产品的
多样性,我们认为第三种方案更可行。
针对问题三:首先根据
dynasearch
算法,建立模型四:排序模型,运用
Lingo
编写
程序得出最优解为:生产
HA20
;然后为计算出生产
HA20
具体的量,根据规划思想,,
运用
Lingo
编程得出生产
HA20
300
辆时得到最大利润为
930
万元。
针对问题四:首先根据销售量的概率分布,建立模型五:最大期望获利模型,然后
利用
Lingo
软件计算得出:生产304辆HA20型号车,最大利润为912万元。但由于概率
是一个预测值,通过
Matlab
随机产生概率值进行运算得出:最优解在
EH18
的销售量小
于等于293时会发生改变,因此此生产方案不具有稳定性。
针对问题五:基于问题四所建立的最大期望获利模型,改变约束条件,计算得出:
生产
NH16
和
HA16
两种车型,同样由于概率是一个预测值,通过
Matlab
随机产生概率
进行运算得出最优解和最优值的大小相同,因此此生产方案具有稳定性。
i1
关键词:
成本函数 预计销售利润函数 最优解模型 最大期望获利模型
一. 问题重述
某汽车公司拟生产一批新款式的轿车,初步确定有以下几种配置方案可供选择(括
号内为成本价):
发动机E 2.0L(e
1
=2.1万元),1.8 L(e
2
=1.7万元),1.6L(e
3
=1.5万元)
换挡D 手动(d
1
=1.3万元) 自动(d
2
=2.2万元)
天窗W 无天窗(w
1
=0万元) 手动天窗(w
2
=0.5万元),电动天窗(w
3
=0.8万元)
整车的其他成本是 C
0
=8万元。
(1) 各种车型的预计售价和市场需求量如表1,试确定每一种车型的生产成本和预计
销售利润。
(2) 如果该汽车公司有10条生产线,每条生产线每天工作8小时,试问应该如何安
排生产计划可使每月(按30天计算)所获利润最大?
(3) 公司市场情报部门预测到未来一段时期各种车型的市场需求量会增加一倍,故考
虑将生产线由原来的10条增加到15条,此外,考虑到同时生产两种或两种以上
配置的轿车的成本较高,公司决定只选择一种配置车型进行生产,同时将生产线
由10条增加到15条,此时应该如何安排生产计划可使每月(按30天计算)所
获利润最大?
(4) 由于问题(3)中的市场需求是一个预测值,随着市场行情的变化,实际需求量
与该值可能有一定的误差。因此按预测数据做出的生产计划可能有一定的风险因
素。进一步考虑预期市场的销售量是按一定的概率分布来实现的,具体的概率分
布如表2所示。在这种情况下,如果公司有15生产线,并且只考虑生产一种型
号的轿车,那么按照最大期望效益的准则应该如何安排每月的生产计划是的获利
最大?
(5) 在问题(4)的条件下,如果生产两种型号的轿车,则应如何制定生产计划使得
获利最大?
二.问题分析
针对问题一:根据问题要求需要确定每一种车型的生产成本和预计销售利润,根据
表1各种车型的预计售价和市场需求量,利用
Matlab
建立成本模型和预计销售利润模
型,求出每一种车型的生产成本和预计销售利润。
针对问题二:根据问题要求需要合理安排生产计划使所获利润最大,这是典型的线
型规划问题,运用解决线型规划问题的
Lingo
软件建立最大预计销售利润模型,可以得
出生产某几种型号的车辆,由于
Lingo
只显示找到的第一组最优解,于是运用
winQSB
的
LPILP
对其再一次进行求解,由于要制定生产计划,我们需要计算出每条生产线生产
那种产品,于是建立0-1模型计算出每条生产线生产那种产品,制定出生产计划。为了
探究该题是否还存在其他的最优解,再次运用
Lingo
进行编程,在编程的过程中加入各
1
个车型应该在哪一条生产线上生产的元素,求出每种车型是在哪一条生产线上生产出来
的。
针对问题三:根据该公司决定
10
条生产线增加至
15
条生产线,并且只选择一种配置
车型进行生产,于是通过
dynasearch
算法建立排序模型,找到公司最应该生产的一种配
置车型,然后通过
Lingo
编程得出该车型应该生产多少辆和进行该种生产所获利润最大
为多少。
针对问题四:用每一种车型的预计销量乘以相应的预计的概率得出期望销量,然后
用
lingo
编程计算出应该生产某种车型和生产多少辆该种车型的车,但是由于题中所给
出的概率为预测的概率,真实的概率不一定与预测值相符,为了考虑概率变化后生产计
划是否发生改变,我们用
Matlab
随机产生每个车型的每种预计销量的概率,然后用新的
概率在
Lingo
中进行编程、运算,若最优解相同则概率变化不影响生产计划的安排,若
最优解不同则生产计划的安排受到概率变化的影响。
针对问题五:运用与问题四同样的方法计算出期望销量和概率对生产计划的制定是
否有影响,评价出生产方案是具有稳定性。
三.模型的假设
(1)假设成本不因为其他的社会因素影响
(2)假设在这几个月内的物价不变
(3)假设该公司的生产线完好,不存在生产跟不上的情况
(4)假设该公司的员工每天都能按时上下班,不存在缺勤的情况
(5)假设该公司的设备完好无损
(6)假设一条生产线上只能生产一种型号的车
(7)假设各条生产线不独立相互联系即各条生产线可以合作完成一个产品
四.符号说明
w
k
天窗的价格
一辆车的生产成本
整车的其他成本
发动机价格
换挡价格
一辆车的销售价格
一种车型的销售量
2
C
c
0
e
i
d
j
P
Q
r
R
t
i
一辆车的利润
一种车型的预计销售利润
第
i
种车的生产时间
第
i
种车型的产量
第
i
种车的单车利润
第
i
种车的预计销售额
车辆完成时间的满意程度
每种车型在一个月内能销售的期望值
车辆
i
在
j
生产线上生产
目标函数
x
i
前面的系数
约束条件中
x
i
前面的系数
对第
j
种车型的生产的满意度
第
i
种车型的生产时间
车辆的排序
最大期望获利
x
i
r
i
Q
i
(C)
E
i
x
ij
c
a
i
i
p
j
i
R
m
五.模型的建立与求解
5.1问题一的模型建立与求解
5.1.1生产成本和预计销售利润函数的建立
为了计算出每一种车型的生产成本和预计销售利润,结合表
1
中
18
种不同型号车
的配置建立成本模型为:
Cc
0
e
i
d
j
w
k
(i=1、2、3,j=1、2,k1、2、3)
,
e
i
分别为
2.1
、
1.7
、
1.5
,
d
j
分别为
1.3
、
1.5
,
w
k
分别为
0
、
0.5
、
0.8,
同时预计销售利润模型为:
R(PC).*Q
对题目中表
1
进行量化分别到,
e
i
、
d
j
、
w
k
3
表一:组件成本表
e
i
d
j
w
k
P
14
15.2
14.7
15.9
15
16.2
13.5
14.7
14.2
15.4
14.5
15.7
13.4
14.2
13.9
15
14.3
15.3
Q
2.1
2.1
2.1
2.1
2.1
2.1
1.7
1.7
1.7
1.7
1.7
1.7
1.5
1.5
1.5
1.5
1.5
1.5
1.3
2.2
1.3
2.2
1.3
2.2
1.3
2.2
1.3
2.2
1.3
2.2
1.3
2.2
1.3
2.2
1.3
2.2
0
0
0.5
0.5
0.8
0.8
0
0
0.5
0.5
0.8
0.8
0
0
0.5
0.5
0.8
0.8
155
145
140
155
150
135
150
150
140
150
140
145
150
150
140
155
140
145
5.1.2函数的求解
根据数据,利用
Matlab
编程(程序见附录),得到结果:
表二:成本利润表
型号
NH20
NA20
HH20
HA20
EH20
EA20
NH18
NA18
HH18
HA18
EH18
EA18
NH16
NA16
售价
P
14
15.2
14.7
15.9
15
16.2
13.5
14.7
14.2
15.4
14.5
15.7
13.4
14.2
生产成本
C
11.4
12.3
11.9
12.8
12.2
13.1
11
11.9
11.5
12.4
11.8
12.7
10.8
11.7
4
利润
r
预计销售利润
R
403
420.5
392
480.5
420
418.5
375
420
378
450
378
435
390
375
2.6
2.9
2.8
3.1
2.8
3.1
2.5
2.8
2.7
3
2.7
3
2.6
2.5
HH16
HA16
EH16
EA16
13.9
15
14.3
15.3
11.3
12.2
11.6
12.5
2.6
2.8
2.7
2.8
364
434
378
406
5.2问题二模型建立与求解
5.2.1模型一中方法一的建立
首先,假设各条生产线不独立相互联系即各条生产线可以合作完成一个产品,根据
问题二的题意,要计算出10条生产线30天的生产计划使得利润最大化,各种车型的型
号分别为NH20,NA20,HH20,HA20,EH20,EA20,NH18,NA18 HH18,HA18,
EH18,EA18,NH16,NA16,HH16,HA16,EH16,EA16,设其相对应的产量分别为:
在该汽车公司有十条生产线,每条生产线每天工作8小时,在每月30天的有限时
间的条件下建立模型一:最大利润销售模型
利润最大化目标函数:
x
1
,x
2
,x
3
,x
4
,x
5
,x
6
,x
7
,x
8
,x
9
,x
10
,x
11
,x
12
,x
13
,x
14
,x
15
,x
16
,x
17
,x
18
max R=
x
i
r
i
i1
18
其中
x
i
为第
i
种车型的产量,
r
i
为第
i
种车的单车利润。
目标函数:
maxR2.6x
1
2.9x
2
2.8x
3
3.1x
4
2.8x
5
3.1x
6
2.5x
7
2.8x
8
2.7x
9
3x
10
2.7x
11
3x
12
2.6x
13
2.5x
14
2.6
x
15
2.8x
16
2.7x
17
2.8x
18
;
限制条件:
18
xt2400;
ii
i1
x
i
Q
i
;
x0,且x为整数
i
i
其中
t
i
为第
i
种车的生产时间,
Q
i
为第
i
种车的预计销售额
5.2.2方法一的求解
利用
Lingo
软件求解出答案:
表三:生产数量表
型号
发动机
换挡
NH16
1.5
HA16
1.5
1.3
2.2
天窗
其他成本
售价
市场需求
工时
预计销售利润
生产成本
产量
最大利润
0
0.5
8
8
13.4
15
150
155
9
10
390
434
10.8
150
12.2
105
648
5
x
13
=
150,
x
16
=
105,
即第十三种和十六种型号的车分别生产
150
辆、
105
辆,在这种
生产情况下最大利润为:
R=648
(万)(具体程序见附录二)。
5.2.3
模型二中方法二的建立
由于
Lingo
软件只显示所找到的第一种最优解,所以为了验证答案是否具有多样性,
根据表一中的数据,运用
winQSB
运筹学软件中的
LPILP
进行运算,得出的结果如下
表所示:
表四:
QSB
表
6
从
winQSB
所得出的答案可以得知优选方案为:第八种车型生产105辆,第十三种车型
生产150辆,得到的最大利润为684万元。
5.2.4模型二的建立
根据题意公司决定只选择一种配置车型进行生产,同时将生产线由10条增加到15
条,要确定具体安排哪种车型在哪一条生产线上生产,我们建立模型二:
01
整数规划
模型。
整数规划指的是决策变量为非负整数值的一类线性规划,在实际问题的应用中,整
数规划模型对应着大量的生产计划或活动安排等决策问题,整数规划的解法主要有分枝
定界解法及割平面解法,在整数规划问题中,
0-1
型整数规划则是其中较为特殊的一类
情况,它要求决策变量的取值仅为0或1,在实际问题的讨论中,
0-1
型整数规划模型也
对应着大量的最优决策的活动与安排讨论,我们建立
0-1
型整数规划的
的
数学模型为:
目标函数:
max(min)Zc
1
x
1
c
2
x
2
Lc
n
x
n
约束条件为:
7
a
11
x
1
a
12
x
2
La
1n
x
n
(,)b
1
axaxLax(,)b
2112222nn2
L
axaxLax(,)b
mnnm
m11m22
x
1
,x
2
,L,x
n
0或1
0-1
型整数规划模型的解法如下:
0-1
型整数规划模型的解法一般为穷举法或隐枚举法,穷举法指的是对决策变量
x
1
x
2
Lx
n
的每一个0或1值,均比较其目标函数值的大小,以从中求出最优解。这种方
法一般适用于决策变量个数
n
较小的情况,当
n
较大时,由于
n
个0、1的可能组合数为
2
n
,故此时即便用计算机进行穷举来求最优解,也几乎是不可能的。隐枚举法是增加了
过滤条件的一类穷举法,该法虽能减少运算次数,但有的问题并不使用。此时,就只能
用穷举法了。
模型分析与变量的假设
我们先讨论工序与工作站的关系,并试图建立起该问题的
0-1
型整数规划模型。
对任一型号车辆
x
而言,它要么属于生产线
j
,要么不属于生产线
j
,故决策变量可定
义为:
1
x
ij
0
若车辆i在生产线j上生产
若车辆i不在生产线j上生产
这种定义,使我们能根据最优解中
x
ij
的值来很快确定车辆
i
与生产线
j
之间的隶属
关系。
又因每条生产线的工作时间不超过240小时,故车型
1,2,L,18
的生产可以在一条生
产线上完成,此时,其他的所有车型都不生产,该可行解对应的生产线条数为15条。
也就是说,对最优解而言,该装配线上所需的生产线个数不会多于15条。因此,我们
再定义变量如下:
1
w
j
0
若在最优解中需要生产线j
若在最优解中不需要生产线j
至此,我们得到所需的目标函数为:
maxZw
1
w
2
Lw
15
再考虑该模型的约束条件:
8
(1)每种型号的车辆均隶属于一条生产线,且每种型号的车辆都必须完成生产,故有
以下18个约束:
x
i1
x
i2
Lx
i15
1(i1,2,L,18)
(2)在任一条生产线上完成隶属车辆生产所用的时间不能超过240小时,故有以下15
个约束:
11x
1j
11x
2j
12x
3j
12x
4j
13x
5j
13x
6j
10x
7j
10x
8j
11x
9j
11x
10j
12x
11j
12x
12j
9x
13j
9x
14j
10x
15j
10x
16j
11x
17j
11x
18j
240(j1,2,L15)
(3) 另外,在最优解中,若有一个工作站
w
p
p1,2,L15
不用(即
w
p
0
),则隶属于
该工作站的全部
x
ip
i1,2,L18
必须为0,于是,有以下15个约束条件:
x
1j
x
2j
x
3j
Lx
18j
18w
p
i1,2,L,15
至此,我们得到了该问题的
01
型整数规划模型,它共包含270个变量,48个约束
条件,这样的模型用枚举法求解,人工计算是很难胜任的,这时,只能求助于计算机求
解了。
5.2.5模型二的求解
经过计算我们得出了如下的生产安排:
当生产的是NH16和HA16型号的车时,经过计算得出:前18天用9条生产线生产
NH16型号的车,一条生产线生产HA16型号的车,第19天用8条生产线生产NH16型号
的车,两条生产线生产HA16型号的车,第20天到30天用全部的生产线来生产HA16型
号的车。
当生产的是NA18和NH16型号的车时,经过计算得出:前18天用九条生产线生产
NH16型号的车,一条生产线生产NA18型号的车,第19天用8条生产线生产NH16型号
的车,两条生产线生产NA18型号的车,第20天到30天用全部的生产线来生产NA18型
号的车。
5.2.6.模型三的建立与求解
为了计算出该问题的多种最优解,我们再一次运用
Lingo
进行编程,但这次我们将
各种不同车型在哪一生产线生产的问题也考虑入编程中(程序见附录),编程得出的结
果为
NA18
在第5条生产线上生产6辆车;
NH16
分别在第1,2,5,6,7,8,9,10八条生
产线上对应生产20,10,20,20,20,20,20,20辆车;
HA16
分别在1,2,3,4,6,7,8,9,10
九条生产线上对应生产6,15,24,24,6,6,6,6,6辆车。
从以上的模型中我们得出在拥有同样的利润的情况下有三种不同的生产方案,生产
9
厂家可以根据自己的生产情况来合理的安排生产。
5.3.问题三模型建立与求解
5.3.1
模型四的建立
根据题意该公司决定只选择一种配置车型进行生产,通过
dynasearch
算法建立模
型四:最优解模型
当车辆的完成时间小于或等于车辆的完工期,就认为满意;当车辆的完成时间大于
完工期即发生拖期,就不满意.这种情况可以用下面的函数来表示
1,Cd
u(C)
0,Cd
这表明对车辆完成时间的满意程度是突变的。总加权满意度最大化单机调度问题的
模型为:
n
个工件
J,J,L,J
要在一条生产线上加工,一条生产线每次只能加工一种车
12n
辆,车辆之间不具有优先关系,在开始阶段所有的车辆都可以加工,并且车辆一旦被加
工,不允许中断,车辆的加工时间依次为
P,P,L,P
,车辆规定的完成时间依次
12n
d
1
,d
2
,L,d
n
,乐观完成时间
d
1
e
1
,d
2
e
2
,L,d
n
e
n
,权值依次为
w
1
,w
2
,L,w
n
,完成时间
为
C,C,L,C
,则车辆完成时间的满意程度的隶属函数,或称为满意程度、满意水平定
12n
义为
1
Cd
j
j
(C
j
)
1
j
e
j
0
C
j
d
j
d
j
C
j
d
j
e
j
d
j
e
j
C
j
目标函数是总的加权满意程度最大化,即
max
w
j
(C
j
)
j1
n
n
如果令
f(C
j
)1
(C
j
)
,那么,
max
w
j
(C
j
)
就转化为
min
w
j
f(C
j
)
。
j1j1
n
在一个车辆的排序
[
(1),
(2),,
(n)]
中,对于相邻两辆车
(i)
和
(j)
,其中
ji1
且
C
k
d
k
e
k
,
k(k1,2,L,n)
。如果
w
i
e
i
p
i
(1
d
i
tp
i
p
j
)
w
j
e
j
p
j
(1
d
jtp
j
p
i
)
10
成立,则车辆
(i)
应该排在
(j)
之前;否则,车辆
(j)
应该排在
(i)
之前,其中
t
为第
i
辆车开始加工时间。
在排序中,如果
d
i
d
,
p
i
p(i1,2,L,n)
,当相邻两车
(i)
和
(j)
(j1,2,L,n)
满足
(i1)pde
i
且
w
i
w
j
时,车辆
(i)
应该排在
(j)
之前。
e
i
e
j
说明:条件
(i1)pde
i
(i1,2,L,n1)
是非常重要的,如果这个条件不满足,则不成
立。
同时也可以运用插入点方法来进行排序
在这种领域下
dynasearch
算法应用最有改进策略,即当
dynasearch
与插入结合时,
一个最优
dynasearch
插入等于最好的一系列相互独立的插入之和。为了能够从车辆次序
的
dynasearch
插入领域中找到最优的
dynasearch
插入,用动态规划来解决这个问题。
这种算法是在当前的车辆的部分序列后追加一辆并可能做左单向插入。对于一个部分序
列,如果它可以从一个部分序列
(1),
(2),L,
(j)
应用一系列相互独立的插入得到,称
之为状态
(j,
)(j0,1,L,n)
。为了在序列
的
dynasearch
插入的领域中找到最好的可能
的序列,按照定义应该是在状态
(n,
)
中,找到所有序列中具有最大目标函数的那个序
列。
设
*
j
表示状态
(j,
)
的部分序列中的车辆
(1),
(2),L,
(j)
满足相互独立插入条件
*
的具有最大加权满意程度之和的一个部分最优序列,并用
S(
*
j
)
表示
j
的目标值。则
*
j
(0jn)
一定是在先前某一状态
(i,
)
的中具有最大目标函数值的最优次序
i
*
(0ij)
添加车辆
(j)(ij1)
或者是先添加车辆
(j)
后在做而得到的。对于这两种
情况,分别做如下讨论。
(1)
ij1
,在这种情况下,车辆
(j)
直接添加在
*
j1
之后而得到,所以,
*
*
j
(
j1
,
(j))
,相应的有
*
S(
*
)S(
)w(j)
(j)
jj1
(2)
0ij1
,在这种情况下,车辆
(j)
插在车辆
(i1)
之前,其他车辆的位置
11
依次后移一个位置,这时有
*
*
j
[
j1
,
(j),
(i1),
(i2),L
(j1)]
对应的目标函数值为
S(
)S(
其中
(j)
的完成时间为
C
(k)p
(j),
(k)(ki1,L,j1)
*
j
*
j1
j1
)w
(j)
(j)
ki1
(w
(k)
(k))
的完成时间为
C
(k)p
(j)
从而,得到动态规划的递归方程为初始方程
S(
j
)0
S(
1
*
)w
(1)
(1)
对于
j2,L,n
方程
S(
*
j1
)w
(j)
(j)
*
S(
i
)w
(j)
(j)
S(
*
)max
j
j1
0
max
ij2
w(k)
(k)
ki1
*
则最优解即是
n
,通过回溯可以得到相应的最优次序
5.3.2
模型四的求解
经过
dynasearch
计算,得出第四种车型最好,因此该公司应该只生产第四种车型,
即型号为
HA20
的车,然后根据
Lingo
中的
01
整数规划思想进行编程得出:
表五:
HA20
概况表
型号
发动机
换挡
天窗
其他成本
售价
市场需求
工时
利润
预计销售利润
生产成本
最大利润
产量
HA20
2.1
2.2
0.5
8
15.9
155
12
3.1
480.5
12.8
930
300
同时将其他车型的利润列出如下表:
表六:其他车型利润表
型号
售价
NH2NA2HH2HA2EH2EA2NH1NA1HH1HA1EH1EA1NH1NA1HH1HA1EH1EA1
0
0
0
0
0
0
8
8
8
8
8
8
6
6
6
6
6
6
14
15.2
14.7
15.9
15
16.2
13.5
14.7
14.2
15.4
14.5
15.7
13.4
14.2
13.9
15
14.3
15.3
12
12.2
13.1
11
11.9
11.5
12.4
11.8
12.7
10.8
11.7
11.3
12.2
11.6
12.5
生产成本
11.4
12.3
11.9
12.8
利润
预计销售利
润
2.6
2.9
2.8
3.1
2.8
3.1
2.5
2.8
2.7
3
2.7
3
2.6
2.5
2.6
2.8
2.7
2.8
403
420.
5
392
480.
5
420
418.
5
375
420
378
450
378
435
390
375
364
434
378
406
与其他型号的轿车相比较得出
HA20
型号的轿车的预计销售利润最大,故生产
HA20
型号的轿车
300
辆,由于只能选择生产一种车型,所以每一条生产线都生产该种
车型,同时并计算出生产
HA20
车型的最大预计利润为
930
万元。
5.4问题四的模型建立与求解
5.4.1模型五的建立
由于问题三中的市场需求是一个预测值,随着市场行情的变化,实际需求量与该值
可能有一定的误差。因此按预测数据做出的生产计划可能有一定的风险因素。进一步考
虑预期市场的销售量是按一定的概率分布来实现的,改变概率的分布进行求解,具体的
概率分布如表2(见附录四)所示。
在这种情况下,如果公司有15条生产线,且只考虑生产一种型号的轿车,根据销
售量的概率分布建立模型五:最大期望获利模型
maxR
m
x
m
r
i
,根据表2所给的18
m1
18
种型号的轿车销售量的概率利用
Matlab
编程计算出每一种型号的车辆的预期销售量和
预期销售利润为:
表七:预计销售量表
序号
1
2
3
4
5
6
7
8
9
10
11
车型
NH20
NA20
HH20
HA20
EH20
EA20
NH18
NA18
HH18
HA18
EH18
期望值
E
i
293
290
285.5
283.5
292
278.5
287.5
283.5
290
304
282.5
13
单位利润
(万元)
2.6
2.9
2.8
3.1
2.8
3.1
2.5
2.8
2.7
3
2.7
期望效益
(万元)
761.8
841
799.4
878.85
817.6
863.35
718.75
793.8
783
912
762.75
12
13
14
15
16
17
18
EA18
NH16
NA16
HH16
HA16
EH16
EA16
279.5
294.5
295
292.5
290.5
287.5
290.5
3
2.6
2.5
2.6
2.8
2.7
2.8
838.5
765.7
737.5
760.5
813.4
776.25
813.4
利用表中数据建立模型:
目标函数:
MaxZ2.6x
1
2.9x
2
2.8x
3
3.1x
4
2.8x
5
3.1x
6
2.5x
7
2.8x
8
2.7x
9
3x
10
2.7x
11
3x
12
2.6x
13
2.5x
14
2.6x
15
2.8x
16
2.7x
17
2.8x
18
限制条件:
18
x
i
r
i
3600;
i1
x
i
E
i
;
x0,且x为整数
i
i
E
i
为每种车型在一个月内能销售的期望值。
在
Lingo
软件中编程(见附录五)可得
R912
(万元),
x
10
=304,其余都为0。此结
果说明:十五条生产线总共生产304辆型号为
HA18
的汽车时可使利润达到最大为912
万元。
5.4.2对模型五的检验
由于题中给出的概率值是一个预测值,为了检验模型五的稳定性,我们在模型四的
基础上改变每种型号轿车的生产概率,而目标函数的设置与模型五相同,则只改变了期
望销售量的值,在
Lingo
软件中编程(见附录六)经过多次的概率改变进行
Lingo
运算
得出:改变了概率后我们所得的最优解也由先前的生产的
x
10
改为生产
x
4
,因此概率的
改变对结果的选择有很大的影响,所以我们再一次运用
Lingo
软件探究当其概率值发生
怎样的变换后才会导致最优解发生改变。经过多次的
Lingo
运算,得出当概率变换使得
(
x
10
的需求量<293)时,最优解由
x
10
变为
x
4
,即
x
10
的需求量的临界值为293,只要
x
10
14
的需求量大于或等于293,那么就会无条件的只生产
x
10
,并且
x
10
的预计销售利润最大,
因此改变概率的大小会对在一定范围内(当改变完概率后
x
10
的值小于293时)对结果造
成影响,因此该模型不稳定,厂商在作出计划时应该注意考虑概率变化对生产计划带来
的影响。
5.5问题五的模型建立与求解
5.5.1最高利润模型函数的建立
在模型四的基础上,其他的条件不变,轿车的生产增加一种型号的生产,改变约束
条件构建新的函数:最高利润模型
maxR
m
x
m
r
i
。
m1
18
建立目标函数:
maxZ2.6x
1
2.9x
2
2.8x
3
3.1x
4
2.8x
5
3.1x
6
2.5x
7
2.8x
8
2.7x
9
3x
10
2.7x
11
3x
12
2.6x
13
2.5x
14
2.6x
15
2.8x
16
2.7x
17
2.8x
18
;
限制条件:
18
x
i
r
i
3600;
i1
x
i
E
i
;
x0,且x为整数
i
i
5.5.2函数的求解
在
Lingo
软件中编程(见附录七)可得
R
m
1031.2
(万元),
x
13
=290,
x
16
=99其余都
为0。.结果说明:十五条生产线总共生产290辆型号为
NH16
的轿车和99辆型号为
HA16
的轿车,在生产被安排为以上的情况时,可使利润达到最大,且最大利润为1031.2万
元。
5.5.3函数的检验
由于题中给出的概率值是一个预测值,为了检验改变条件后的模型五的稳定性,我
们在模型五的基础上改变每种型号轿车的生产概率,而目标函数的设置与模型五相同,
则只改变了期望销售量的值,根据改变生产每种轿车销售量的概率建立相同目标函数,
将经过概率改变后的概率在
Lingo
软件中编程(见附录七)进行
Lingo
运算,经过多次
运算后发现虽然改变各种型号不同的轿车销售量的概率,但得出的最优解、最优值相同,
结果都是只生产车辆型号为
NH16
的轿车和型号为
HA16
的轿车,最优值都是
1031.2
万
元,因此认为该模型是稳定的,即使概率不准确或发生变化的情况下也不会对结果造成
太大的影响,因此该模型的可行性较强。厂商可以不必考虑概率的小幅度变化对制定生
产计划会产生影响。
15
六.模型的评价
线性问题可以用
Lingo
软件建立目标函数和约束条件来求解,
Lingo
求解线性问题
的特色在于允许决策变量是整数(即整数规划,包括
01整数规划
)方便灵活,且执行
数度快,并且贴近实际的生产和生活,但是对于多目标的线性规划问题
Lingo
不能解决
必须使用
Matlab
来进行求解。单机调度问题可以描述为
n
项相互独立的任务需要在系统
中的一台机器上序贯处理,每项任务都有加工时间、交货期等参数,此外还要满足一些
调度环境和约束条件的要求,调度目标就是要找到一个最优的任务序列是得系统总成本
最小。在本题中使用
dynasearch
算法建立的最优解模型就是将在同一时间段只选择生产
一种车型的汽车看作是一个单机调度问题,随后的求解不仅解决了生产方案的最优化,
而且是的符合实际的。
七.模型的推广
在解决本题的过程中应用
Lingo
软件与
Matlab
软件进行线性规划问题的求解,在实
际应用中,线性规划问题还可解决下料、运输、指派、货郎担等问题,同时线性规划在
寿险的精算以及企业的生产决策中都有应用,尤其在寿险的精算中,由于在实际中存在
着多种多样的利率,为了能够在多种利率条件下测算寿险费率,就可以根据收支相等的
原则建立一个线性规划模型,从而准确计算最大保险利益此作为费率测算的依据,该方
法与传统的单一预定利率下的精算方法相比更为合理、普遍,也更加符合实际,可以大
力推广。但是对于多目标的问题如企业在生产产品时既希望其利润最大,又希望产量高、
消耗低、质量好等就必须通过
Matlab
来建立多目标、多约束的性规划模型来求解,此时
所得的结果既考虑了社会因素的单一影响,又考虑了社会因素的交互影响,更为贴近实
际,是帮助企业进行生产规划的良好方法。
八.参考文献
[1] 门田安弘.新丰田生产方式[M].第3 版.王瑞珠,李莹译.石家庄:河北大学出版社
,2008,1-118.
[2] 胡宗武.工业工程-原理方法与应用[M].上海:上海交通大学出版社,2005,116-178.
[3] 刘德武,高淳.企业物流[M].北京:电子工业出版社,2006,63-113.
16
[4] 陈章跃.精益物流在我国企业的应用研究[J].商品储运与养护,2008,19-21.
[5] 苏杭,曾盛绰.B/S 模式下多层架构的仓储管理信息系统设计[J].物流工程与管
理,2009,36-38.
[6] 于鑫,宣兆龙.条形码技术在仓库管理中的应用[J].商品储运与养护,1999,28-29.
[7] 全国大学生数学建模竞赛网/index_;
[8] 百度文库:/view/;
17
十.附录
附录一:
e=[2.1 2.1 2.1 2.1 2.1 2.1 1.7 1.7 1.7 1.7 1.7 1.7 1.5 1.5 1.5 1.5 1.5 1.5];
d=[1.3 2.2 1.3 2.2 1.3 2.2 1.3 2.2 1.3 2.2 1.3 2.2 1.3 2.2 1.3 2.2 1.3 2.2];
w=[0 0 0.5 0.5 0.8 0.8 0 0 0.5 0.5 0.8 0.8 0 0 0.5 0.5 0.8 0.8];
c0=[8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8];
P=[14 15.2 14.7 15.9 15 16.2 13.5 14.7 14.2 15.4
14.5 15.7 13.4 14.2 13.9 15 14.3 15.3];
Q=[155 145 140 155 150 135 150 150 140 150 140 145 150 150 140 155 140 145];
C=e+d+w+c0
r=P-C
R=Q.*r
答案:C =
Columns 1 through 8
11.4000 12.3000 11.9000 12.8000 12.2000 13.1000 11.0000
11.9000
Columns 9 through 16
11.5000 12.4000 11.8000 12.7000 10.8000 11.7000 11.3000
12.2000
Columns 17 through 18
11.6000 12.5000
r=
Columns 1 through 8
2.6000 2.9000 2.8000 3.1000 2.8000 3.1000 2.5000
2.8000
Columns 9 through 16
2.7000 3.0000 2.7000 3.0000 2.6000 2.5000 2.6000
2.8000
Columns 17 through 18
2.7000 2.8000
R =
Columns 1 through 8
403.0000 420.5000 392.0000 480.5000 420.0000 418.5000 375.0000
420.0000
18
Columns 9 through 16
378.0000 450.0000 378.0000 435.0000 390.0000 375.0000 364.0000
434.0000
Columns 17 through 18
378.0000 406.0000
附录二:
max=2.6*x1+2.9*x2+2.8*x3+3.1*x4+2.8*x5+3.1*x6+2.5*x7+2.8*x8+2.7*x9+3*x10+2.
7*x11+3*x12+2.6*x13+2.5*x14+2.6*x15+2.8*x16+2.7*x17+2.8*x18;
11*(x1+x2+x9+x10+x17+x18)+12*(x3+x4+x11+x12)+13*(x5+x6)+10*(x7+x8+x15+x16)+
9*(x13+x14)<=2400;x1<=155; x1<=155;x2<=145;x3<=140;x4<=155;x5<=150;
x6<=135;x7<=150;x8<=150;x9<=140;x10<=150;x11<=140;x12<=145;x13<=150;
x14<=150;x15<=140;x16<=155;x17<=140;x18<=145;
@gin(x1);@gin(x2);@gin(x3);@gin(x4);@gin(x5);@gin(x6);@gin(x7);
@gin(x8);@gin(x9);@gin(x10);@gin(x11);@gin(x12);@gin(x13);@gin(x14);
@gin(x15);@gin(x16);@gin(x17);@gin(x18);
附录三
model:
sets:
bh/1..18/:b;
bl/1..10/;
hl(bh,bl):a,c,x;
endsets
max=@sum(hl:a*x);
@for(bh(i):@sum(bl(j):x(i,j))<=b(i));
@for(bl(j):@sum(bh(i):c(i,j)*x(i,j))<=240);
@for(hl(i,j):@gin(x(i,j)));
data:
a=2.6 2.6 2.6 2.6 2.6 2.6 2.6 2.6 2.6 2.6
2.9 2.9 2.9 2.9 2.9 2.9 2.9 2.9 2.9 2.9
2.8 2.8 2.8 2.8 2.8 2.8 2.8 2.8 2.8 2.8
3.1 3.1 3.1 3.1 3.1 3.1 3.1 3.1 3.1 3.1
2.8 2.8 2.8 2.8 2.8 2.8 2.8 2.8 2.8 2.8
3.1 3.1 3.1 3.1 3.1 3.1 3.1 3.1 3.1 3.1
2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5
2.8 2.8 2.8 2.8 2.8 2.8 2.8 2.8 2.8 2.8
2.7 2.7 2.7 2.7 2.7 2.7 2.7 2.7 2.7 2.7
3 3 3 3 3 3 3 3 3 3
2.7 2.7 2.7 2.7 2.7 2.7 2.7 2.7 2.7 2.7
3 3 3 3 3 3 3 3 3 3
2.6 2.6 2.6 2.6 2.6 2.6 2.6 2.6 2.6 2.6
2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5
2.6 2.6 2.6 2.6 2.6 2.6 2.6 2.6 2.6 2.6
19
2.8 2.8 2.8 2.8 2.8 2.8 2.8 2.8 2.8 2.8
2.7 2.7 2.7 2.7 2.7 2.7 2.7 2.7 2.7 2.7
2.8 2.8 2.8 2.8 2.8 2.8 2.8 2.8 2.8 2.8;
b=155 145 140 155 150 135 150 150 140 150
140 145 150 150 140 155 140 145;
c=11 11 11 11 11 11 11 11 11 11
11 11 11 11 11 11 11 11 11 11
12 12 12 12 12 12 12 12 12 12
12 12 12 12 12 12 12 12 12 12
13 13 13 13 13 13 13 13 13 13
13 13 13 13 13 13 13 13 13 13
10 10 10 10 10 10 10 10 10 10
10 10 10 10 10 10 10 10 10 10
11 11 11 11 11 11 11 11 11 11
11 11 11 11 11 11 11 11 11 11
12 12 12 12 12 12 12 12 12 12
12 12 12 12 12 12 12 12 12 12
9 9 9 9 9 9 9 9 9 9
9 9 9 9 9 9 9 9 9 9
10 10 10 10 10 10 10 10 10 10
10 10 10 10 10 10 10 10 10 10
11 11 11 11 11 11 11 11 11 11
11 11 11 11 11 11 11 11 11 11;
enddata
Global optimal solution found.
Objective value: 684.0000
Objective bound: 684.0000
Infeasibilities: 0.000000
Extended solver steps: 0
Total solver iterations: 954
Variable Value Reduced Cost
X( 8, 5) 6.000000 -2.800000
X( 13, 1) 20.00000 -2.600000
X( 13, 2) 10.00000 -2.600000
X( 13, 5) 20.00000 -2.600000
X( 13, 6) 20.00000 -2.600000
X( 13, 7) 20.00000 -2.600000
X( 13, 8) 20.00000 -2.600000
X( 13, 9) 20.00000 -2.600000
X( 13, 10) 20.00000 -2.600000
20
X( 16, 1) 6.000000 -2.800000
X( 16, 2) 15.00000 -2.800000
X( 16, 3) 24.00000 -2.800000
X( 16, 4) 24.00000 -2.800000
X( 16, 6) 6.000000 -2.800000
X( 16, 7) 6.000000 -2.800000
X( 16, 8) 6.000000 -2.800000
X( 16, 9) 6.000000 -2.800000
X( 16, 10) 6.000000 -2.800000
Row Slack or Surplus Dual Price
1 684.0000 1.000000
2 155.0000 0.000000
3 145.0000 0.000000
4 140.0000 0.000000
5 155.0000 0.000000
6 150.0000 0.000000
7 135.0000 0.000000
8 150.0000 0.000000
9 144.0000 0.000000
10 140.0000 0.000000
11 150.0000 0.000000
12 140.0000 0.000000
13 145.0000 0.000000
14 0.000000 0.000000
15 150.0000 0.000000
16 140.0000 0.000000
17 56.00000 0.000000
18 140.0000 0.000000
19 145.0000 0.000000
附录四
a=[0.10 0.15 0.25 0.35 0.15;
0.10 0.15 0.50 0.15 0.10;
0.20 0.35 0.25 0.10 0.10;
0.35 0.25 0.10 0.30 0.00;
0.15 0.10 0.25 0.40 0.10;
0.50 0.25 0.15 0.10 0.00;
0.10 0.45 0.15 0.20 0.10;
0.25 0.45 0.10 0.10 0.10;
0.05 0.20 0.45 0.30 0.00;
21
0.00 0.00 0.10 0.40 0.50;
0.20 0.45 0.25 0.10 0.00;
0.20 0.65 0.15 0.00 0.00;
0.10 0.25 0.15 0.10 0.40;
0.10 0.10 0.15 0.50 0.15;
0.20 0.15 0.15 0.20 0.30;
0.10 0.25 0.35 0.10 0.20;
0.00 0.55 0.15 0.30 0.00;
0.20 0.25 0.15 0.10 0.30];
b=[270 280 290 300 310];
x=a*b'
x = 293.0000 290.000 285.5000 283.5000 292.0000 278.500 287.5000 283.5000
290.0000 304.0000 282.5000 279.5000 294.5000 295.0000 292.5000 290.5000
287.5000 290.5000
附录五
max=2.6*x1+2.9*x2+2.8*x3+3.1*x4+2.8*x5+3.1*x6+2.5*x7+2.8*x8+2.7*x9+3*x10+2.
7*x11+3*x12+2.6*x13+2.5*x14+2.6*x15+2.8*x16+2.7*x17+2.8*x18;
11*(x1+x2+x9+x10+x17+x18)+12*(x3+x4+x11+x12)+13*(x5+x6)+10*(x7+x8+x15+x16)+
9*(x13+x14)<=3600;x1<=293*y1;x2<=290*y2;x3<=285*y3;x4<=283*y4;x5<=292*y5;x6
<=278*y6;x7<=287*y7;x8<=283*y8;x9<=290*y9;x10<=304*y10;x11<=282*y11;x12<=27
9*y12;x13<=294*y13;x14<=295*y14;x15<=292*y15;x16<=290*y16;x17<=287*y17;
x18<=290*y18;
y1+y2+y3+y4+y5+y6+y7+y8+y9+y10+y11+y12+y13+y14+y15+y16+y17+y18=1;
@gin(x1);@gin(x2);@gin(x3);@gin(x4);@gin(x5);@gin(x6);
@gin(x7);@gin(x8);@gin(x9);@gin(x10);@gin(x11);@gin(x12);
@gin(x13);@gin(x14);@gin(x15);@gin(x16);@gin(x17);@gin(x18);
@bin(y1);@bin(y2);@bin(y3);@bin(y4);@bin(y5);@bin(y6);
@bin(y7);@bin(y8);@bin(y9);@bin(y10);@bin(y11);@bin(y12);
@bin(y13);@bin(y14);@bin(y15);@bin(y16);@bin(y17);@bin(y18);
Global optimal solution found.
Objective value: 912.0000
Objective bound: 912.0000
Infeasibilities: 0.000000
Extended solver steps: 0
Total solver iterations: 30
Model Class: PILP
Total variables: 36
Nonlinear variables: 0
Integer variables: 36
Total constraints: 21
Nonlinear constraints: 0
Total nonzeros: 90
Nonlinear nonzeros: 0
22
Variable Value Reduced Cost
X10 304.0000 -3.000000
Y10 1.000000 0.000000
Row Slack or Surplus Dual Price
1 912.0000 1.000000
2 256.0000 0.000000
附录六:
(4)(改变1)
max=2.6*x1+2.9*x2+2.8*x3+3.1*x4+2.8*x5+3.1*x6+2.5*x7+2.8*x8+2.7*x9+3*x10+2.
7*x11+3*x12+2.6*x13+2.5*x14+2.6*x15+2.8*x16+2.7*x17+2.8*x18;
11*(x1+x2+x9+x10+x17+x18)+12*(x3+x4+x11+x12)+13*(x5+x6)+10*(x7+x8+x15+x16)+
9*(x13+x14)<=3600;x1<=290*y1;x2<=285*y2;x3<=283*y3;x4<=292*y4;x5<=278*y5;x6
<=287*y6;x7<=283*y7;x8<=290*y8;x9<=304*y9;x10<=282*y10;x11<=279*y11;x12<=29
4*y12;x13<=295*y13;x14<=292*y14;x15<=290*y15;x16<=287*y16;x17<=290*y17;x18<
=287*y18;
y1+y2+y3+y4+y5+y6+y7+y8+y9+y10+y11+y12+y13+y14+y15+y16+y17+y18=1;
@gin(x1);@gin(x2);@gin(x3);@gin(x4);@gin(x5);@gin(x6);
@gin(x7);@gin(x8);@gin(x9);@gin(x10);@gin(x11);@gin(x12);
@gin(x13);@gin(x14);@gin(x15);@gin(x16);@gin(x17);@gin(x18);
@bin(y1);@bin(y2);@bin(y3);@bin(y4);@bin(y5);@bin(y6);
@bin(y7);@bin(y8);@bin(y9);@bin(y10);@bin(y11);@bin(y12);
@bin(y13);@bin(y14);@bin(y15);@bin(y16);@bin(y17);@bin(y18);
Global optimal solution found.
Objective value: 905.2000
Objective bound: 905.2000
Infeasibilities: 0.000000
Extended solver steps: 0
Total solver iterations: 30
Model Class: PILP
Total variables: 36
Nonlinear variables: 0
Integer variables: 36
Total constraints: 21
Nonlinear constraints: 0
Total nonzeros: 90
Nonlinear nonzeros: 0
Variable Value Reduced Co
X4 292.0000 -3.100000
Y4 1.000000 0.000000
23
Row Slack or Surplus Dual Price
1 905.2000 1.000000
2 96.00000 0.000000
(改变2)
max=2.6*x1+2.9*x2+2.8*x3+3.1*x4+2.8*x5+3.1*x6+2.5*x7+2.8*x8+2.7*x9+3*x10+2.
7*x11+3*x12+2.6*x13+2.5*x14+2.6*x15+2.8*x16+2.7*x17+2.8*x18;
11*(x1+x2+x9+x10+x17+x18)+12*(x3+x4+x11+x12)+13*(x5+x6)+10*(x7+x8+x15+x16)+
9*(x13+x14)<=3600;x1<=283*y1;x2<=292*y2;x3<=278*y3;x4<=287*y4;x5<=283*y5;x6
<=290*y6;x7<=285*y7;x8<=290*y8;x9<=304*y9;x10<=282*y10;x11<=279*y11;x12<=29
4*y12;x13<=295*y13;x14<=292*y14;x15<=290*y15;x16<=287*y16;x17<=290*y17;x18<
=287*y18;
y1+y2+y3+y4+y5+y6+y7+y8+y9+y10+y11+y12+y13+y14+y15+y16+y17+y18=1;
@gin(x1);@gin(x2);@gin(x3);@gin(x4);@gin(x5);@gin(x6);
@gin(x7);@gin(x8);@gin(x9);@gin(x10);@gin(x11);@gin(x12);
@gin(x13);@gin(x14);@gin(x15);@gin(x16);@gin(x17);@gin(x18);
@bin(y1);@bin(y2);@bin(y3);@bin(y4);@bin(y5);@bin(y6);
@bin(y7);@bin(y8);@bin(y9);@bin(y10);@bin(y11);@bin(y12);
@bin(y13);@bin(y14);@bin(y15);@bin(y16);@bin(y17);@bin(y18);
Global optimal solution found.
Objective value: 889.7000
Objective bound: 889.7000
Infeasibilities: 0.000000
Extended solver steps: 0
Total solver iterations: 30
Model Class: PILP
Total variables: 36
Nonlinear variables: 0
Integer variables: 36
Total constraints: 21
Nonlinear constraints: 0
Total nonzeros: 90
Nonlinear nonzeros: 0
Variable Value Reduced Cost
X4 287.0000 -3.100000
Y4 1.000000 0.000000
Row Slack or
Surplus Dual Price
1 889.7000 1.000000
2 156.0000 0.000000
(改变3)
max=2.6*x1+2.9*x2+2.8*x3+3.1*x4+2.8*x5+3.1*x6+2.5*x7+2.8*x8+2.7*x9+3*x10+2.
7*x11+3*x12+2.6*x13+2.5*x14+2.6*x15+2.8*x16+2.7*x17+2.8*x18;
24
11*(x1+x2+x9+x10+x17+x18)+12*(x3+x4+x11+x12)+13*(x5+x6)+10*(x7+x8+x15+x16)+
9*(x13+x14)<=3600;x1<=283*y1;x2<=292*y2;x3<=278*y3;x4<=290*y4;x5<=283*y5;
x6<=287*y6;x7<=285*y7;x8<=290*y8;x9<=304*y9;x10<=279*y10;x11<=282*y11;x12<=
294*y12;x13<=295*y13;x14<=287*y14;x15<=290*y15;x16<=292*y16;x17<=290*y17;x1
8<=287*y18;
y1+y2+y3+y4+y5+y6+y7+y8+y9+y10+y11+y12+y13+y14+y15+y16+y17+y18=1;
@gin(x1);@gin(x2);@gin(x3);@gin(x4);@gin(x5);@gin(x6);
@gin(x7);@gin(x8);@gin(x9);@gin(x10);@gin(x11);@gin(x12);
@gin(x13);@gin(x14);@gin(x15);@gin(x16);@gin(x17);@gin(x18);
@bin(y1);@bin(y2);@bin(y3);@bin(y4);@bin(y5);@bin(y6);
@bin(y7);@bin(y8);@bin(y9);@bin(y10);@bin(y11);@bin(y12);
@bin(y13);@bin(y14);@bin(y15);@bin(y16);@bin(y17);@bin(y18);
Global optimal solution found.
Objective value: 899.0000
Objective bound: 899.0000
Infeasibilities: 0.000000
Extended solver steps: 0
Total solver iterations: 30
Model Class: PIL
Total variables: 36
Nonlinear variables: 0
Integer variables: 36
Total constraints: 21
Nonlinear constraints: 0
Total nonzeros: 90
Nonlinear nonzeros: 0
Variable Value Reduced Cost
X4 290.0000 -3.100000
X5 0.000000 -2.800000
X6 0.000000 -3.100000
Y4 1.000000 0.000000
Row Slack or
Surplus Dual Price
1 899.0000 1.000000
2 120.0000 0.000000
临界点的求解
max=2.6*x1+2.9*x2+2.8*x3+3.1*x4+2.8*x5+3.1*x6+2.5*x7+2.8*x8+2.7*x9+3*x10+2.
7*x11+3*x12+2.6*x13+2.5*x14+2.6*x15+2.8*x16+2.7*x17+2.8*x18;
11*(x1+x2+x9+x10+x17+x18)+12*(x3+x4+x11+x12)+13*(x5+x6)+10*(x7+x8+x15+x16)+
9*(x13+x14)<=3600;x1<=293*y1;x2<=290*y2;x3<=285*y3;x4<=283*y4;x5<=292*y5;
x6<=278*y6;x7<=287*y7;x8<=283*y8;x9<=290*y9;x10<=292*y10;x11<=282*y11;x12<=
279*y12;x13<=294*y13;x14<=295*y14;x15<=292*y15;x16<=290*y16;x17<=287*y17;x1
8<=290*y18;
25
y1+y2+y3+y4+y5+y6+y7+y8+y9+y10+y11+y12+y13+y14+y15+y16+y17+y18=1;
@gin(x1);@gin(x2);@gin(x3);@gin(x4);@gin(x5);@gin(x6);
@gin(x7);@gin(x8);@gin(x9);@gin(x10);@gin(x11);@gin(x12);
@gin(x13);@gin(x14);@gin(x15);@gin(x16);@gin(x17);@gin(x18);
@bin(y1);@bin(y2);@bin(y3);@bin(y4);@bin(y5);@bin(y6);
@bin(y7);@bin(y8);@bin(y9);@bin(y10);@bin(y11);@bin(y12);
@bin(y13);@bin(y14);@bin(y15);@bin(y16);@bin(y17);@bin(y18);
Global optimal solution found.
Objective value: 877.3000
Objective bound: 877.3000
Infeasibilities: 0.000000
Extended solver steps: 0
Total solver iterations: 30
Model Class: PILP
Total variables: 36
Nonlinear variables: 0
Integer variables: 36
Total constraints: 21
Nonlinear constraints: 0
Total nonzeros: 90
Nonlinear nonzeros: 0
Variable Value Reduced Cost
X4 283.0000 -3.100000
Y4 1.000000 0.000000
Row Slack or Surplus Dual Price
1 877.3000 1.000000
2 204.0000 0.000000
(x10为292就生产x4)
临界(x10=293)
max=2.6*x1+2.9*x2+2.8*x3+3.1*x4+2.8*x5+3.1*x6+2.5*x7+2.8*x8+2.7*x9+3*x10+2.
7*x11+3*x12+2.6*x13+2.5*x14+2.6*x15+2.8*x16+2.7*x17+2.8*x18;
11*(x1+x2+x9+x10+x17+x18)+12*(x3+x4+x11+x12)+13*(x5+x6)+10*(x7+x8+x15+x16)+
9*(x13+x14)<=3600;x1<=293*y1;x2<=290*y2;x3<=285*y3;x4<=283*y4;x5<=292*y5;
x6<=278*y6;x7<=287*y7;x8<=283*y8;x9<=290*y9;x10<=293*y10;x11<=282*y11;x12<=
279*y12;x13<=294*y13;x14<=295*y14;x15<=292*y15;x16<=290*y16;x17<=287*y17;
x18<=290*y18;
y1+y2+y3+y4+y5+y6+y7+y8+y9+y10+y11+y12+y13+y14+y15+y16+y17+y18=1;
@gin(x1);@gin(x2);@gin(x3);@gin(x4);@gin(x5);@gin(x6);
@gin(x7);@gin(x8);@gin(x9);@gin(x10);@gin(x11);@gin(x12);
@gin(x13);@gin(x14);@gin(x15);@gin(x16);@gin(x17);@gin(x18);
@bin(y1);@bin(y2);@bin(y3);@bin(y4);@bin(y5);@bin(y6);
@bin(y7);@bin(y8);@bin(y9);@bin(y10);@bin(y11);@bin(y12);
26
@bin(y13);@bin(y14);@bin(y15);@bin(y16);@bin(y17);@bin(y18);
Global optimal solution found.
Objective value: 879.0000
Objective bound: 879.0000
Infeasibilities: 0.000000
Extended solver steps: 0
Total solver iterations: 30
Model Class: PILP
Total variables: 36
Nonlinear variables: 0
Integer variables: 36
Total constraints: 21
Nonlinear constraints: 0
Total nonzeros: 90
Nonlinear nonzeros: 0
Variable Value Reduced Cost
X10 293.0000 -3.000000
Y10 1.000000 0.000000
Row Slack or Surplus Dual Price
1 879.0000 1.000000
2 377.0000 0.000000
附录七
(5题原始)
max=2.6*x1+2.9*x2+2.8*x3+3.1*x4+2.8*x5+3.1*x6+2.5*x7+2.8*x8+2.7*x9+3*x10+2.
7*x11+3*x12+2.6*x13+2.5*x14+2.6*x15+2.8*x16+2.7*x17+2.8*x18;
11*(x1+x2+x9+x10+x17+x18)+12*(x3+x4+x11+x12)+13*(x5+x6)+10*(x7+x8+x15+x16)+
9*(x13+x14)<=3600;x1<=293*y1;x2<=290*y2;x3<=285*y3;x4<=283*y4;x5<=292*y5;x=
278*y6;x7<=287*y7;x8<=283*y8;x9<=290*y9;x10<=304*y10;x11<=282*y11;x12<=279*
y12;x13<=294*y13;x14<=295*y14;x15<=292*y15;x16<=290*y16;x17<=287*y17;
x18<=290*y18;
y1+y2+y3+y4+y5+y6+y7+y8+y9+y10+y11+y12+y13+y14+y15+y16+y17+y18=2;
@gin(x1);@gin(x2);@gin(x3);@gin(x4);@gin(x5);@gin(x6);
@gin(x7);@gin(x8);@gin(x9);@gin(x10);@gin(x11);@gin(x12);
@gin(x13);@gin(x14);@gin(x15);@gin(x16);@gin(x17);@gin(x18);
@bin(y1);@bin(y2);@bin(y3);@bin(y4);@bin(y5);@bin(y6);
@bin(y7);@bin(y8);@bin(y9);@bin(y10);@bin(y11);@bin(y12);
@bin(y13);@bin(y14);@bin(y15);@bin(y16);@bin(y17);@bin(y18
Objective value: 1031.200
Objective bound: 1031.200
Infeasibilities: 0.000000
Extended solver steps: 0
Total solver iterations: 61
27
Model Class: PILP
Total variables: 36
Nonlinear variables: 0
Integer variables: 36
Total constraints: 21
Nonlinear constraints: 0
Total nonzeros: 90
Nonlinear nonzeros: 0
Variable Value Reduced Cost
X13 290.0000 -2.600000
X16 99.00000 -2.800000
Y13 1.000000 0.000000
Y16 1.000000 0.000000
Row Slack or Surplus Dual Price
1 1031.200 1.000000
15 4.000000 0.000000
18 191.0000 0.000000
(5改变1)
max=2.6*x1+2.9*x2+2.8*x3+3.1*x4+2.8*x5+3.1*x6+2.5*x7+2.8*x8+2.7*x9+3*x10+2.
7*x11+3*x12+2.6*x13+2.5*x14+2.6*x15+2.8*x16+2.7*x17+2.8*x18;
11*(x1+x2+x9+x10+x17+x18)+12*(x3+x4+x11+x12)+13*(x5+x6)+10*(x7+x8+x15+x16)+
9*(x13+x14)<=3600;x1<=283*y1;x2<=292*y2;x3<=278*y3;x4<=290*y4;x5<=283*y5;x6
<=287*y6;x7<=285*y7;x8<=290*y8;x9<=304*y9;x10<=279*y10;x11<=282*y11;x12<=29
4*y12;x13<=295*y13;x14<=287*y14;x15<=290*y15;x16<=292*y16;x17<=290*y17;
x18<=287*y18;
y1+y2+y3+y4+y5+y6+y7+y8+y9+y10+y11+y12+y13+y14+y15+y16+y17+y18=2;
@gin(x1);@gin(x2);@gin(x3);@gin(x4);@gin(x5);@gin(x6);
@gin(x7);@gin(x8);@gin(x9);@gin(x10);@gin(x11);@gin(x12);
@gin(x13);@gin(x14);@gin(x15);@gin(x16);@gin(x17);@gin(x18);
@bin(y1);@bin(y2);@bin(y3);@bin(y4);@bin(y5);@bin(y6);
@bin(y7);@bin(y8);@bin(y9);@bin(y10);@bin(y11);@bin(y12);
@bin(y13);@bin(y14);@bin(y15);@bin(y16);@bin(y17);@bin(y18);
Global optimal solution found.
Objective value: 1031.200
Objective bound: 1031.200
Infeasibilities: 0.000000
Extended solver steps: 0
Total solver iterations: 97
Model Class: PILP
Total variables: 36
Nonlinear variables: 0
Integer variables: 36
28
Total constraints: 21
Nonlinear constraints: 0
Total nonzeros: 90
Nonlinear nonzeros: 0
Variable Value Reduced Cost
X13 290.0000 -2.600000
X16 99.00000 -2.800000
Y13 1.000000 0.000000
Y16 1.000000 0.000000
Row Slack or Surplus Dual Price
1 1031.200 1.000000
15 5.000000 0.000000
18 193.0000 0.000000
(5改变2)
max=2.6*x1+2.9*x2+2.8*x3+3.1*x4+2.8*x5+3.1*x6+2.5*x7+2.8*x8+2.7*x9+3*x10+2.
7*x11+3*x12+2.6*x13+2.5*x14+2.6*x15+2.8*x16+2.7*x17+2.8*x18;
11*(x1+x2+x9+x10+x17+x18)+12*(x3+x4+x11+x12)+13*(x5+x6)+10*(x7+x8+x15+x16)+
9*(x13+x14)<=3600;x1<=287*y1;x2<=292*y2;x3<=278*y3;x4<=279*y4;x5<=283*y5;
x6<=304*y6;x7<=285*y7;x8<=290*y8;x9<=287*y9;x10<=290*y10;x11<=294*y11;
x12<=282*y12;x13<=295*y13;x14<=287*y14;x15<=292*y15;x16<=292*y16;x17<=290*y
17;x18<=283*y18;
y1+y2+y3+y4+y5+y6+y7+y8+y9+y10+y11+y12+y13+y14+y15+y16+y17+y18=2;
@gin(x1);@gin(x2);@gin(x3);@gin(x4);@gin(x5);@gin(x6);
@gin(x7);@gin(x8);@gin(x9);@gin(x10);@gin(x11);@gin(x12);
@gin(x13);@gin(x14);@gin(x15);@gin(x16);@gin(x17);@gin(x18);
@bin(y1);@bin(y2);@bin(y3);@bin(y4);@bin(y5);@bin(y6);
@bin(y7);@bin(y8);@bin(y9);@bin(y10);@bin(y11);@bin(y12);
@bin(y13);@bin(y14);@bin(y15);@bin(y16);@bin(y17);@bin(y18);
Global optimal solution found.
Objective value: 1031.200
Objective bound: 1031.200
Infeasibilities: 0.000000
Extended solver steps: 0
Total solver iterations: 57
Model Class: PILP
Total variables: 36
Nonlinear variables: 0
Integer variables: 36
Total constraints: 21
Nonlinear constraints: 0
Total nonzeros: 90
Nonlinear nonzeros: 0
Variable Value Reduced Cost
X13 290.0000 -2.600000
29
X16 99.00000 -2.800000
Y13 1.000000 0.000000
Y16 1.000000 0.000000
Row Slack or Surplus Dual Price
1 1031.200 1.000000
15 5.000000 0.000000
18 193.0000 0.000000
30
2024年9月21日发(作者:古韦)
汽车公司的生产计划与决策
摘要
本文是针对汽车生产计划的安排对总利润的影响问题,通过对题目的分析,运用运
筹学的知识,给出成本在最低的时候能获得最大利润的生产方案。
针对问题一:根据经济学意义,建立成本函数:
Cc
0
e
i
d
j
w
k
和预计销售
利润函数:
R(PC).*Q
,利用
Matlab
程序,得到每一种车型的生产成本和预计销售
利润。
针对问题二:首先根据成本和预计销售函数,建立模型一:最大预计销售利润模型
max R=
x
i
r
i
,方法一:利用
Lingo
软件编程得出:生产
NH16
和
HA16
两种车型,总
18
利润为
684
万元;方法二:运用
winQSB
的
LPILP
计算得出:生产
NA18
和
NH16
两种
车型,总利润为
684
万元;然后基于
0-1
整数规划的思想,建立模型二:生产安排模型,
运用
Lingo
编程得出具体生产方案,最后基于目标函数和题中的约束条件,建立模型三:
最优生产方案模型,运用
Lingo
进行编程得出:生产
NA18
、
NH16
和
HA16
三种车型,
总利润为
684
万元;生产线安排为:用一条生产线生产6辆
NA18
;用7条生产线生产
20辆
NH16
,一条生产线生产10辆
NH16
,一条生产线生产6辆
HA16
,一条生产15
辆,两条生产24辆,五条生产6辆。最后综合三种方案,其最优值相同,为了产品的
多样性,我们认为第三种方案更可行。
针对问题三:首先根据
dynasearch
算法,建立模型四:排序模型,运用
Lingo
编写
程序得出最优解为:生产
HA20
;然后为计算出生产
HA20
具体的量,根据规划思想,,
运用
Lingo
编程得出生产
HA20
300
辆时得到最大利润为
930
万元。
针对问题四:首先根据销售量的概率分布,建立模型五:最大期望获利模型,然后
利用
Lingo
软件计算得出:生产304辆HA20型号车,最大利润为912万元。但由于概率
是一个预测值,通过
Matlab
随机产生概率值进行运算得出:最优解在
EH18
的销售量小
于等于293时会发生改变,因此此生产方案不具有稳定性。
针对问题五:基于问题四所建立的最大期望获利模型,改变约束条件,计算得出:
生产
NH16
和
HA16
两种车型,同样由于概率是一个预测值,通过
Matlab
随机产生概率
进行运算得出最优解和最优值的大小相同,因此此生产方案具有稳定性。
i1
关键词:
成本函数 预计销售利润函数 最优解模型 最大期望获利模型
一. 问题重述
某汽车公司拟生产一批新款式的轿车,初步确定有以下几种配置方案可供选择(括
号内为成本价):
发动机E 2.0L(e
1
=2.1万元),1.8 L(e
2
=1.7万元),1.6L(e
3
=1.5万元)
换挡D 手动(d
1
=1.3万元) 自动(d
2
=2.2万元)
天窗W 无天窗(w
1
=0万元) 手动天窗(w
2
=0.5万元),电动天窗(w
3
=0.8万元)
整车的其他成本是 C
0
=8万元。
(1) 各种车型的预计售价和市场需求量如表1,试确定每一种车型的生产成本和预计
销售利润。
(2) 如果该汽车公司有10条生产线,每条生产线每天工作8小时,试问应该如何安
排生产计划可使每月(按30天计算)所获利润最大?
(3) 公司市场情报部门预测到未来一段时期各种车型的市场需求量会增加一倍,故考
虑将生产线由原来的10条增加到15条,此外,考虑到同时生产两种或两种以上
配置的轿车的成本较高,公司决定只选择一种配置车型进行生产,同时将生产线
由10条增加到15条,此时应该如何安排生产计划可使每月(按30天计算)所
获利润最大?
(4) 由于问题(3)中的市场需求是一个预测值,随着市场行情的变化,实际需求量
与该值可能有一定的误差。因此按预测数据做出的生产计划可能有一定的风险因
素。进一步考虑预期市场的销售量是按一定的概率分布来实现的,具体的概率分
布如表2所示。在这种情况下,如果公司有15生产线,并且只考虑生产一种型
号的轿车,那么按照最大期望效益的准则应该如何安排每月的生产计划是的获利
最大?
(5) 在问题(4)的条件下,如果生产两种型号的轿车,则应如何制定生产计划使得
获利最大?
二.问题分析
针对问题一:根据问题要求需要确定每一种车型的生产成本和预计销售利润,根据
表1各种车型的预计售价和市场需求量,利用
Matlab
建立成本模型和预计销售利润模
型,求出每一种车型的生产成本和预计销售利润。
针对问题二:根据问题要求需要合理安排生产计划使所获利润最大,这是典型的线
型规划问题,运用解决线型规划问题的
Lingo
软件建立最大预计销售利润模型,可以得
出生产某几种型号的车辆,由于
Lingo
只显示找到的第一组最优解,于是运用
winQSB
的
LPILP
对其再一次进行求解,由于要制定生产计划,我们需要计算出每条生产线生产
那种产品,于是建立0-1模型计算出每条生产线生产那种产品,制定出生产计划。为了
探究该题是否还存在其他的最优解,再次运用
Lingo
进行编程,在编程的过程中加入各
1
个车型应该在哪一条生产线上生产的元素,求出每种车型是在哪一条生产线上生产出来
的。
针对问题三:根据该公司决定
10
条生产线增加至
15
条生产线,并且只选择一种配置
车型进行生产,于是通过
dynasearch
算法建立排序模型,找到公司最应该生产的一种配
置车型,然后通过
Lingo
编程得出该车型应该生产多少辆和进行该种生产所获利润最大
为多少。
针对问题四:用每一种车型的预计销量乘以相应的预计的概率得出期望销量,然后
用
lingo
编程计算出应该生产某种车型和生产多少辆该种车型的车,但是由于题中所给
出的概率为预测的概率,真实的概率不一定与预测值相符,为了考虑概率变化后生产计
划是否发生改变,我们用
Matlab
随机产生每个车型的每种预计销量的概率,然后用新的
概率在
Lingo
中进行编程、运算,若最优解相同则概率变化不影响生产计划的安排,若
最优解不同则生产计划的安排受到概率变化的影响。
针对问题五:运用与问题四同样的方法计算出期望销量和概率对生产计划的制定是
否有影响,评价出生产方案是具有稳定性。
三.模型的假设
(1)假设成本不因为其他的社会因素影响
(2)假设在这几个月内的物价不变
(3)假设该公司的生产线完好,不存在生产跟不上的情况
(4)假设该公司的员工每天都能按时上下班,不存在缺勤的情况
(5)假设该公司的设备完好无损
(6)假设一条生产线上只能生产一种型号的车
(7)假设各条生产线不独立相互联系即各条生产线可以合作完成一个产品
四.符号说明
w
k
天窗的价格
一辆车的生产成本
整车的其他成本
发动机价格
换挡价格
一辆车的销售价格
一种车型的销售量
2
C
c
0
e
i
d
j
P
Q
r
R
t
i
一辆车的利润
一种车型的预计销售利润
第
i
种车的生产时间
第
i
种车型的产量
第
i
种车的单车利润
第
i
种车的预计销售额
车辆完成时间的满意程度
每种车型在一个月内能销售的期望值
车辆
i
在
j
生产线上生产
目标函数
x
i
前面的系数
约束条件中
x
i
前面的系数
对第
j
种车型的生产的满意度
第
i
种车型的生产时间
车辆的排序
最大期望获利
x
i
r
i
Q
i
(C)
E
i
x
ij
c
a
i
i
p
j
i
R
m
五.模型的建立与求解
5.1问题一的模型建立与求解
5.1.1生产成本和预计销售利润函数的建立
为了计算出每一种车型的生产成本和预计销售利润,结合表
1
中
18
种不同型号车
的配置建立成本模型为:
Cc
0
e
i
d
j
w
k
(i=1、2、3,j=1、2,k1、2、3)
,
e
i
分别为
2.1
、
1.7
、
1.5
,
d
j
分别为
1.3
、
1.5
,
w
k
分别为
0
、
0.5
、
0.8,
同时预计销售利润模型为:
R(PC).*Q
对题目中表
1
进行量化分别到,
e
i
、
d
j
、
w
k
3
表一:组件成本表
e
i
d
j
w
k
P
14
15.2
14.7
15.9
15
16.2
13.5
14.7
14.2
15.4
14.5
15.7
13.4
14.2
13.9
15
14.3
15.3
Q
2.1
2.1
2.1
2.1
2.1
2.1
1.7
1.7
1.7
1.7
1.7
1.7
1.5
1.5
1.5
1.5
1.5
1.5
1.3
2.2
1.3
2.2
1.3
2.2
1.3
2.2
1.3
2.2
1.3
2.2
1.3
2.2
1.3
2.2
1.3
2.2
0
0
0.5
0.5
0.8
0.8
0
0
0.5
0.5
0.8
0.8
0
0
0.5
0.5
0.8
0.8
155
145
140
155
150
135
150
150
140
150
140
145
150
150
140
155
140
145
5.1.2函数的求解
根据数据,利用
Matlab
编程(程序见附录),得到结果:
表二:成本利润表
型号
NH20
NA20
HH20
HA20
EH20
EA20
NH18
NA18
HH18
HA18
EH18
EA18
NH16
NA16
售价
P
14
15.2
14.7
15.9
15
16.2
13.5
14.7
14.2
15.4
14.5
15.7
13.4
14.2
生产成本
C
11.4
12.3
11.9
12.8
12.2
13.1
11
11.9
11.5
12.4
11.8
12.7
10.8
11.7
4
利润
r
预计销售利润
R
403
420.5
392
480.5
420
418.5
375
420
378
450
378
435
390
375
2.6
2.9
2.8
3.1
2.8
3.1
2.5
2.8
2.7
3
2.7
3
2.6
2.5
HH16
HA16
EH16
EA16
13.9
15
14.3
15.3
11.3
12.2
11.6
12.5
2.6
2.8
2.7
2.8
364
434
378
406
5.2问题二模型建立与求解
5.2.1模型一中方法一的建立
首先,假设各条生产线不独立相互联系即各条生产线可以合作完成一个产品,根据
问题二的题意,要计算出10条生产线30天的生产计划使得利润最大化,各种车型的型
号分别为NH20,NA20,HH20,HA20,EH20,EA20,NH18,NA18 HH18,HA18,
EH18,EA18,NH16,NA16,HH16,HA16,EH16,EA16,设其相对应的产量分别为:
在该汽车公司有十条生产线,每条生产线每天工作8小时,在每月30天的有限时
间的条件下建立模型一:最大利润销售模型
利润最大化目标函数:
x
1
,x
2
,x
3
,x
4
,x
5
,x
6
,x
7
,x
8
,x
9
,x
10
,x
11
,x
12
,x
13
,x
14
,x
15
,x
16
,x
17
,x
18
max R=
x
i
r
i
i1
18
其中
x
i
为第
i
种车型的产量,
r
i
为第
i
种车的单车利润。
目标函数:
maxR2.6x
1
2.9x
2
2.8x
3
3.1x
4
2.8x
5
3.1x
6
2.5x
7
2.8x
8
2.7x
9
3x
10
2.7x
11
3x
12
2.6x
13
2.5x
14
2.6
x
15
2.8x
16
2.7x
17
2.8x
18
;
限制条件:
18
xt2400;
ii
i1
x
i
Q
i
;
x0,且x为整数
i
i
其中
t
i
为第
i
种车的生产时间,
Q
i
为第
i
种车的预计销售额
5.2.2方法一的求解
利用
Lingo
软件求解出答案:
表三:生产数量表
型号
发动机
换挡
NH16
1.5
HA16
1.5
1.3
2.2
天窗
其他成本
售价
市场需求
工时
预计销售利润
生产成本
产量
最大利润
0
0.5
8
8
13.4
15
150
155
9
10
390
434
10.8
150
12.2
105
648
5
x
13
=
150,
x
16
=
105,
即第十三种和十六种型号的车分别生产
150
辆、
105
辆,在这种
生产情况下最大利润为:
R=648
(万)(具体程序见附录二)。
5.2.3
模型二中方法二的建立
由于
Lingo
软件只显示所找到的第一种最优解,所以为了验证答案是否具有多样性,
根据表一中的数据,运用
winQSB
运筹学软件中的
LPILP
进行运算,得出的结果如下
表所示:
表四:
QSB
表
6
从
winQSB
所得出的答案可以得知优选方案为:第八种车型生产105辆,第十三种车型
生产150辆,得到的最大利润为684万元。
5.2.4模型二的建立
根据题意公司决定只选择一种配置车型进行生产,同时将生产线由10条增加到15
条,要确定具体安排哪种车型在哪一条生产线上生产,我们建立模型二:
01
整数规划
模型。
整数规划指的是决策变量为非负整数值的一类线性规划,在实际问题的应用中,整
数规划模型对应着大量的生产计划或活动安排等决策问题,整数规划的解法主要有分枝
定界解法及割平面解法,在整数规划问题中,
0-1
型整数规划则是其中较为特殊的一类
情况,它要求决策变量的取值仅为0或1,在实际问题的讨论中,
0-1
型整数规划模型也
对应着大量的最优决策的活动与安排讨论,我们建立
0-1
型整数规划的
的
数学模型为:
目标函数:
max(min)Zc
1
x
1
c
2
x
2
Lc
n
x
n
约束条件为:
7
a
11
x
1
a
12
x
2
La
1n
x
n
(,)b
1
axaxLax(,)b
2112222nn2
L
axaxLax(,)b
mnnm
m11m22
x
1
,x
2
,L,x
n
0或1
0-1
型整数规划模型的解法如下:
0-1
型整数规划模型的解法一般为穷举法或隐枚举法,穷举法指的是对决策变量
x
1
x
2
Lx
n
的每一个0或1值,均比较其目标函数值的大小,以从中求出最优解。这种方
法一般适用于决策变量个数
n
较小的情况,当
n
较大时,由于
n
个0、1的可能组合数为
2
n
,故此时即便用计算机进行穷举来求最优解,也几乎是不可能的。隐枚举法是增加了
过滤条件的一类穷举法,该法虽能减少运算次数,但有的问题并不使用。此时,就只能
用穷举法了。
模型分析与变量的假设
我们先讨论工序与工作站的关系,并试图建立起该问题的
0-1
型整数规划模型。
对任一型号车辆
x
而言,它要么属于生产线
j
,要么不属于生产线
j
,故决策变量可定
义为:
1
x
ij
0
若车辆i在生产线j上生产
若车辆i不在生产线j上生产
这种定义,使我们能根据最优解中
x
ij
的值来很快确定车辆
i
与生产线
j
之间的隶属
关系。
又因每条生产线的工作时间不超过240小时,故车型
1,2,L,18
的生产可以在一条生
产线上完成,此时,其他的所有车型都不生产,该可行解对应的生产线条数为15条。
也就是说,对最优解而言,该装配线上所需的生产线个数不会多于15条。因此,我们
再定义变量如下:
1
w
j
0
若在最优解中需要生产线j
若在最优解中不需要生产线j
至此,我们得到所需的目标函数为:
maxZw
1
w
2
Lw
15
再考虑该模型的约束条件:
8
(1)每种型号的车辆均隶属于一条生产线,且每种型号的车辆都必须完成生产,故有
以下18个约束:
x
i1
x
i2
Lx
i15
1(i1,2,L,18)
(2)在任一条生产线上完成隶属车辆生产所用的时间不能超过240小时,故有以下15
个约束:
11x
1j
11x
2j
12x
3j
12x
4j
13x
5j
13x
6j
10x
7j
10x
8j
11x
9j
11x
10j
12x
11j
12x
12j
9x
13j
9x
14j
10x
15j
10x
16j
11x
17j
11x
18j
240(j1,2,L15)
(3) 另外,在最优解中,若有一个工作站
w
p
p1,2,L15
不用(即
w
p
0
),则隶属于
该工作站的全部
x
ip
i1,2,L18
必须为0,于是,有以下15个约束条件:
x
1j
x
2j
x
3j
Lx
18j
18w
p
i1,2,L,15
至此,我们得到了该问题的
01
型整数规划模型,它共包含270个变量,48个约束
条件,这样的模型用枚举法求解,人工计算是很难胜任的,这时,只能求助于计算机求
解了。
5.2.5模型二的求解
经过计算我们得出了如下的生产安排:
当生产的是NH16和HA16型号的车时,经过计算得出:前18天用9条生产线生产
NH16型号的车,一条生产线生产HA16型号的车,第19天用8条生产线生产NH16型号
的车,两条生产线生产HA16型号的车,第20天到30天用全部的生产线来生产HA16型
号的车。
当生产的是NA18和NH16型号的车时,经过计算得出:前18天用九条生产线生产
NH16型号的车,一条生产线生产NA18型号的车,第19天用8条生产线生产NH16型号
的车,两条生产线生产NA18型号的车,第20天到30天用全部的生产线来生产NA18型
号的车。
5.2.6.模型三的建立与求解
为了计算出该问题的多种最优解,我们再一次运用
Lingo
进行编程,但这次我们将
各种不同车型在哪一生产线生产的问题也考虑入编程中(程序见附录),编程得出的结
果为
NA18
在第5条生产线上生产6辆车;
NH16
分别在第1,2,5,6,7,8,9,10八条生
产线上对应生产20,10,20,20,20,20,20,20辆车;
HA16
分别在1,2,3,4,6,7,8,9,10
九条生产线上对应生产6,15,24,24,6,6,6,6,6辆车。
从以上的模型中我们得出在拥有同样的利润的情况下有三种不同的生产方案,生产
9
厂家可以根据自己的生产情况来合理的安排生产。
5.3.问题三模型建立与求解
5.3.1
模型四的建立
根据题意该公司决定只选择一种配置车型进行生产,通过
dynasearch
算法建立模
型四:最优解模型
当车辆的完成时间小于或等于车辆的完工期,就认为满意;当车辆的完成时间大于
完工期即发生拖期,就不满意.这种情况可以用下面的函数来表示
1,Cd
u(C)
0,Cd
这表明对车辆完成时间的满意程度是突变的。总加权满意度最大化单机调度问题的
模型为:
n
个工件
J,J,L,J
要在一条生产线上加工,一条生产线每次只能加工一种车
12n
辆,车辆之间不具有优先关系,在开始阶段所有的车辆都可以加工,并且车辆一旦被加
工,不允许中断,车辆的加工时间依次为
P,P,L,P
,车辆规定的完成时间依次
12n
d
1
,d
2
,L,d
n
,乐观完成时间
d
1
e
1
,d
2
e
2
,L,d
n
e
n
,权值依次为
w
1
,w
2
,L,w
n
,完成时间
为
C,C,L,C
,则车辆完成时间的满意程度的隶属函数,或称为满意程度、满意水平定
12n
义为
1
Cd
j
j
(C
j
)
1
j
e
j
0
C
j
d
j
d
j
C
j
d
j
e
j
d
j
e
j
C
j
目标函数是总的加权满意程度最大化,即
max
w
j
(C
j
)
j1
n
n
如果令
f(C
j
)1
(C
j
)
,那么,
max
w
j
(C
j
)
就转化为
min
w
j
f(C
j
)
。
j1j1
n
在一个车辆的排序
[
(1),
(2),,
(n)]
中,对于相邻两辆车
(i)
和
(j)
,其中
ji1
且
C
k
d
k
e
k
,
k(k1,2,L,n)
。如果
w
i
e
i
p
i
(1
d
i
tp
i
p
j
)
w
j
e
j
p
j
(1
d
jtp
j
p
i
)
10
成立,则车辆
(i)
应该排在
(j)
之前;否则,车辆
(j)
应该排在
(i)
之前,其中
t
为第
i
辆车开始加工时间。
在排序中,如果
d
i
d
,
p
i
p(i1,2,L,n)
,当相邻两车
(i)
和
(j)
(j1,2,L,n)
满足
(i1)pde
i
且
w
i
w
j
时,车辆
(i)
应该排在
(j)
之前。
e
i
e
j
说明:条件
(i1)pde
i
(i1,2,L,n1)
是非常重要的,如果这个条件不满足,则不成
立。
同时也可以运用插入点方法来进行排序
在这种领域下
dynasearch
算法应用最有改进策略,即当
dynasearch
与插入结合时,
一个最优
dynasearch
插入等于最好的一系列相互独立的插入之和。为了能够从车辆次序
的
dynasearch
插入领域中找到最优的
dynasearch
插入,用动态规划来解决这个问题。
这种算法是在当前的车辆的部分序列后追加一辆并可能做左单向插入。对于一个部分序
列,如果它可以从一个部分序列
(1),
(2),L,
(j)
应用一系列相互独立的插入得到,称
之为状态
(j,
)(j0,1,L,n)
。为了在序列
的
dynasearch
插入的领域中找到最好的可能
的序列,按照定义应该是在状态
(n,
)
中,找到所有序列中具有最大目标函数的那个序
列。
设
*
j
表示状态
(j,
)
的部分序列中的车辆
(1),
(2),L,
(j)
满足相互独立插入条件
*
的具有最大加权满意程度之和的一个部分最优序列,并用
S(
*
j
)
表示
j
的目标值。则
*
j
(0jn)
一定是在先前某一状态
(i,
)
的中具有最大目标函数值的最优次序
i
*
(0ij)
添加车辆
(j)(ij1)
或者是先添加车辆
(j)
后在做而得到的。对于这两种
情况,分别做如下讨论。
(1)
ij1
,在这种情况下,车辆
(j)
直接添加在
*
j1
之后而得到,所以,
*
*
j
(
j1
,
(j))
,相应的有
*
S(
*
)S(
)w(j)
(j)
jj1
(2)
0ij1
,在这种情况下,车辆
(j)
插在车辆
(i1)
之前,其他车辆的位置
11
依次后移一个位置,这时有
*
*
j
[
j1
,
(j),
(i1),
(i2),L
(j1)]
对应的目标函数值为
S(
)S(
其中
(j)
的完成时间为
C
(k)p
(j),
(k)(ki1,L,j1)
*
j
*
j1
j1
)w
(j)
(j)
ki1
(w
(k)
(k))
的完成时间为
C
(k)p
(j)
从而,得到动态规划的递归方程为初始方程
S(
j
)0
S(
1
*
)w
(1)
(1)
对于
j2,L,n
方程
S(
*
j1
)w
(j)
(j)
*
S(
i
)w
(j)
(j)
S(
*
)max
j
j1
0
max
ij2
w(k)
(k)
ki1
*
则最优解即是
n
,通过回溯可以得到相应的最优次序
5.3.2
模型四的求解
经过
dynasearch
计算,得出第四种车型最好,因此该公司应该只生产第四种车型,
即型号为
HA20
的车,然后根据
Lingo
中的
01
整数规划思想进行编程得出:
表五:
HA20
概况表
型号
发动机
换挡
天窗
其他成本
售价
市场需求
工时
利润
预计销售利润
生产成本
最大利润
产量
HA20
2.1
2.2
0.5
8
15.9
155
12
3.1
480.5
12.8
930
300
同时将其他车型的利润列出如下表:
表六:其他车型利润表
型号
售价
NH2NA2HH2HA2EH2EA2NH1NA1HH1HA1EH1EA1NH1NA1HH1HA1EH1EA1
0
0
0
0
0
0
8
8
8
8
8
8
6
6
6
6
6
6
14
15.2
14.7
15.9
15
16.2
13.5
14.7
14.2
15.4
14.5
15.7
13.4
14.2
13.9
15
14.3
15.3
12
12.2
13.1
11
11.9
11.5
12.4
11.8
12.7
10.8
11.7
11.3
12.2
11.6
12.5
生产成本
11.4
12.3
11.9
12.8
利润
预计销售利
润
2.6
2.9
2.8
3.1
2.8
3.1
2.5
2.8
2.7
3
2.7
3
2.6
2.5
2.6
2.8
2.7
2.8
403
420.
5
392
480.
5
420
418.
5
375
420
378
450
378
435
390
375
364
434
378
406
与其他型号的轿车相比较得出
HA20
型号的轿车的预计销售利润最大,故生产
HA20
型号的轿车
300
辆,由于只能选择生产一种车型,所以每一条生产线都生产该种
车型,同时并计算出生产
HA20
车型的最大预计利润为
930
万元。
5.4问题四的模型建立与求解
5.4.1模型五的建立
由于问题三中的市场需求是一个预测值,随着市场行情的变化,实际需求量与该值
可能有一定的误差。因此按预测数据做出的生产计划可能有一定的风险因素。进一步考
虑预期市场的销售量是按一定的概率分布来实现的,改变概率的分布进行求解,具体的
概率分布如表2(见附录四)所示。
在这种情况下,如果公司有15条生产线,且只考虑生产一种型号的轿车,根据销
售量的概率分布建立模型五:最大期望获利模型
maxR
m
x
m
r
i
,根据表2所给的18
m1
18
种型号的轿车销售量的概率利用
Matlab
编程计算出每一种型号的车辆的预期销售量和
预期销售利润为:
表七:预计销售量表
序号
1
2
3
4
5
6
7
8
9
10
11
车型
NH20
NA20
HH20
HA20
EH20
EA20
NH18
NA18
HH18
HA18
EH18
期望值
E
i
293
290
285.5
283.5
292
278.5
287.5
283.5
290
304
282.5
13
单位利润
(万元)
2.6
2.9
2.8
3.1
2.8
3.1
2.5
2.8
2.7
3
2.7
期望效益
(万元)
761.8
841
799.4
878.85
817.6
863.35
718.75
793.8
783
912
762.75
12
13
14
15
16
17
18
EA18
NH16
NA16
HH16
HA16
EH16
EA16
279.5
294.5
295
292.5
290.5
287.5
290.5
3
2.6
2.5
2.6
2.8
2.7
2.8
838.5
765.7
737.5
760.5
813.4
776.25
813.4
利用表中数据建立模型:
目标函数:
MaxZ2.6x
1
2.9x
2
2.8x
3
3.1x
4
2.8x
5
3.1x
6
2.5x
7
2.8x
8
2.7x
9
3x
10
2.7x
11
3x
12
2.6x
13
2.5x
14
2.6x
15
2.8x
16
2.7x
17
2.8x
18
限制条件:
18
x
i
r
i
3600;
i1
x
i
E
i
;
x0,且x为整数
i
i
E
i
为每种车型在一个月内能销售的期望值。
在
Lingo
软件中编程(见附录五)可得
R912
(万元),
x
10
=304,其余都为0。此结
果说明:十五条生产线总共生产304辆型号为
HA18
的汽车时可使利润达到最大为912
万元。
5.4.2对模型五的检验
由于题中给出的概率值是一个预测值,为了检验模型五的稳定性,我们在模型四的
基础上改变每种型号轿车的生产概率,而目标函数的设置与模型五相同,则只改变了期
望销售量的值,在
Lingo
软件中编程(见附录六)经过多次的概率改变进行
Lingo
运算
得出:改变了概率后我们所得的最优解也由先前的生产的
x
10
改为生产
x
4
,因此概率的
改变对结果的选择有很大的影响,所以我们再一次运用
Lingo
软件探究当其概率值发生
怎样的变换后才会导致最优解发生改变。经过多次的
Lingo
运算,得出当概率变换使得
(
x
10
的需求量<293)时,最优解由
x
10
变为
x
4
,即
x
10
的需求量的临界值为293,只要
x
10
14
的需求量大于或等于293,那么就会无条件的只生产
x
10
,并且
x
10
的预计销售利润最大,
因此改变概率的大小会对在一定范围内(当改变完概率后
x
10
的值小于293时)对结果造
成影响,因此该模型不稳定,厂商在作出计划时应该注意考虑概率变化对生产计划带来
的影响。
5.5问题五的模型建立与求解
5.5.1最高利润模型函数的建立
在模型四的基础上,其他的条件不变,轿车的生产增加一种型号的生产,改变约束
条件构建新的函数:最高利润模型
maxR
m
x
m
r
i
。
m1
18
建立目标函数:
maxZ2.6x
1
2.9x
2
2.8x
3
3.1x
4
2.8x
5
3.1x
6
2.5x
7
2.8x
8
2.7x
9
3x
10
2.7x
11
3x
12
2.6x
13
2.5x
14
2.6x
15
2.8x
16
2.7x
17
2.8x
18
;
限制条件:
18
x
i
r
i
3600;
i1
x
i
E
i
;
x0,且x为整数
i
i
5.5.2函数的求解
在
Lingo
软件中编程(见附录七)可得
R
m
1031.2
(万元),
x
13
=290,
x
16
=99其余都
为0。.结果说明:十五条生产线总共生产290辆型号为
NH16
的轿车和99辆型号为
HA16
的轿车,在生产被安排为以上的情况时,可使利润达到最大,且最大利润为1031.2万
元。
5.5.3函数的检验
由于题中给出的概率值是一个预测值,为了检验改变条件后的模型五的稳定性,我
们在模型五的基础上改变每种型号轿车的生产概率,而目标函数的设置与模型五相同,
则只改变了期望销售量的值,根据改变生产每种轿车销售量的概率建立相同目标函数,
将经过概率改变后的概率在
Lingo
软件中编程(见附录七)进行
Lingo
运算,经过多次
运算后发现虽然改变各种型号不同的轿车销售量的概率,但得出的最优解、最优值相同,
结果都是只生产车辆型号为
NH16
的轿车和型号为
HA16
的轿车,最优值都是
1031.2
万
元,因此认为该模型是稳定的,即使概率不准确或发生变化的情况下也不会对结果造成
太大的影响,因此该模型的可行性较强。厂商可以不必考虑概率的小幅度变化对制定生
产计划会产生影响。
15
六.模型的评价
线性问题可以用
Lingo
软件建立目标函数和约束条件来求解,
Lingo
求解线性问题
的特色在于允许决策变量是整数(即整数规划,包括
01整数规划
)方便灵活,且执行
数度快,并且贴近实际的生产和生活,但是对于多目标的线性规划问题
Lingo
不能解决
必须使用
Matlab
来进行求解。单机调度问题可以描述为
n
项相互独立的任务需要在系统
中的一台机器上序贯处理,每项任务都有加工时间、交货期等参数,此外还要满足一些
调度环境和约束条件的要求,调度目标就是要找到一个最优的任务序列是得系统总成本
最小。在本题中使用
dynasearch
算法建立的最优解模型就是将在同一时间段只选择生产
一种车型的汽车看作是一个单机调度问题,随后的求解不仅解决了生产方案的最优化,
而且是的符合实际的。
七.模型的推广
在解决本题的过程中应用
Lingo
软件与
Matlab
软件进行线性规划问题的求解,在实
际应用中,线性规划问题还可解决下料、运输、指派、货郎担等问题,同时线性规划在
寿险的精算以及企业的生产决策中都有应用,尤其在寿险的精算中,由于在实际中存在
着多种多样的利率,为了能够在多种利率条件下测算寿险费率,就可以根据收支相等的
原则建立一个线性规划模型,从而准确计算最大保险利益此作为费率测算的依据,该方
法与传统的单一预定利率下的精算方法相比更为合理、普遍,也更加符合实际,可以大
力推广。但是对于多目标的问题如企业在生产产品时既希望其利润最大,又希望产量高、
消耗低、质量好等就必须通过
Matlab
来建立多目标、多约束的性规划模型来求解,此时
所得的结果既考虑了社会因素的单一影响,又考虑了社会因素的交互影响,更为贴近实
际,是帮助企业进行生产规划的良好方法。
八.参考文献
[1] 门田安弘.新丰田生产方式[M].第3 版.王瑞珠,李莹译.石家庄:河北大学出版社
,2008,1-118.
[2] 胡宗武.工业工程-原理方法与应用[M].上海:上海交通大学出版社,2005,116-178.
[3] 刘德武,高淳.企业物流[M].北京:电子工业出版社,2006,63-113.
16
[4] 陈章跃.精益物流在我国企业的应用研究[J].商品储运与养护,2008,19-21.
[5] 苏杭,曾盛绰.B/S 模式下多层架构的仓储管理信息系统设计[J].物流工程与管
理,2009,36-38.
[6] 于鑫,宣兆龙.条形码技术在仓库管理中的应用[J].商品储运与养护,1999,28-29.
[7] 全国大学生数学建模竞赛网/index_;
[8] 百度文库:/view/;
17
十.附录
附录一:
e=[2.1 2.1 2.1 2.1 2.1 2.1 1.7 1.7 1.7 1.7 1.7 1.7 1.5 1.5 1.5 1.5 1.5 1.5];
d=[1.3 2.2 1.3 2.2 1.3 2.2 1.3 2.2 1.3 2.2 1.3 2.2 1.3 2.2 1.3 2.2 1.3 2.2];
w=[0 0 0.5 0.5 0.8 0.8 0 0 0.5 0.5 0.8 0.8 0 0 0.5 0.5 0.8 0.8];
c0=[8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8];
P=[14 15.2 14.7 15.9 15 16.2 13.5 14.7 14.2 15.4
14.5 15.7 13.4 14.2 13.9 15 14.3 15.3];
Q=[155 145 140 155 150 135 150 150 140 150 140 145 150 150 140 155 140 145];
C=e+d+w+c0
r=P-C
R=Q.*r
答案:C =
Columns 1 through 8
11.4000 12.3000 11.9000 12.8000 12.2000 13.1000 11.0000
11.9000
Columns 9 through 16
11.5000 12.4000 11.8000 12.7000 10.8000 11.7000 11.3000
12.2000
Columns 17 through 18
11.6000 12.5000
r=
Columns 1 through 8
2.6000 2.9000 2.8000 3.1000 2.8000 3.1000 2.5000
2.8000
Columns 9 through 16
2.7000 3.0000 2.7000 3.0000 2.6000 2.5000 2.6000
2.8000
Columns 17 through 18
2.7000 2.8000
R =
Columns 1 through 8
403.0000 420.5000 392.0000 480.5000 420.0000 418.5000 375.0000
420.0000
18
Columns 9 through 16
378.0000 450.0000 378.0000 435.0000 390.0000 375.0000 364.0000
434.0000
Columns 17 through 18
378.0000 406.0000
附录二:
max=2.6*x1+2.9*x2+2.8*x3+3.1*x4+2.8*x5+3.1*x6+2.5*x7+2.8*x8+2.7*x9+3*x10+2.
7*x11+3*x12+2.6*x13+2.5*x14+2.6*x15+2.8*x16+2.7*x17+2.8*x18;
11*(x1+x2+x9+x10+x17+x18)+12*(x3+x4+x11+x12)+13*(x5+x6)+10*(x7+x8+x15+x16)+
9*(x13+x14)<=2400;x1<=155; x1<=155;x2<=145;x3<=140;x4<=155;x5<=150;
x6<=135;x7<=150;x8<=150;x9<=140;x10<=150;x11<=140;x12<=145;x13<=150;
x14<=150;x15<=140;x16<=155;x17<=140;x18<=145;
@gin(x1);@gin(x2);@gin(x3);@gin(x4);@gin(x5);@gin(x6);@gin(x7);
@gin(x8);@gin(x9);@gin(x10);@gin(x11);@gin(x12);@gin(x13);@gin(x14);
@gin(x15);@gin(x16);@gin(x17);@gin(x18);
附录三
model:
sets:
bh/1..18/:b;
bl/1..10/;
hl(bh,bl):a,c,x;
endsets
max=@sum(hl:a*x);
@for(bh(i):@sum(bl(j):x(i,j))<=b(i));
@for(bl(j):@sum(bh(i):c(i,j)*x(i,j))<=240);
@for(hl(i,j):@gin(x(i,j)));
data:
a=2.6 2.6 2.6 2.6 2.6 2.6 2.6 2.6 2.6 2.6
2.9 2.9 2.9 2.9 2.9 2.9 2.9 2.9 2.9 2.9
2.8 2.8 2.8 2.8 2.8 2.8 2.8 2.8 2.8 2.8
3.1 3.1 3.1 3.1 3.1 3.1 3.1 3.1 3.1 3.1
2.8 2.8 2.8 2.8 2.8 2.8 2.8 2.8 2.8 2.8
3.1 3.1 3.1 3.1 3.1 3.1 3.1 3.1 3.1 3.1
2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5
2.8 2.8 2.8 2.8 2.8 2.8 2.8 2.8 2.8 2.8
2.7 2.7 2.7 2.7 2.7 2.7 2.7 2.7 2.7 2.7
3 3 3 3 3 3 3 3 3 3
2.7 2.7 2.7 2.7 2.7 2.7 2.7 2.7 2.7 2.7
3 3 3 3 3 3 3 3 3 3
2.6 2.6 2.6 2.6 2.6 2.6 2.6 2.6 2.6 2.6
2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5
2.6 2.6 2.6 2.6 2.6 2.6 2.6 2.6 2.6 2.6
19
2.8 2.8 2.8 2.8 2.8 2.8 2.8 2.8 2.8 2.8
2.7 2.7 2.7 2.7 2.7 2.7 2.7 2.7 2.7 2.7
2.8 2.8 2.8 2.8 2.8 2.8 2.8 2.8 2.8 2.8;
b=155 145 140 155 150 135 150 150 140 150
140 145 150 150 140 155 140 145;
c=11 11 11 11 11 11 11 11 11 11
11 11 11 11 11 11 11 11 11 11
12 12 12 12 12 12 12 12 12 12
12 12 12 12 12 12 12 12 12 12
13 13 13 13 13 13 13 13 13 13
13 13 13 13 13 13 13 13 13 13
10 10 10 10 10 10 10 10 10 10
10 10 10 10 10 10 10 10 10 10
11 11 11 11 11 11 11 11 11 11
11 11 11 11 11 11 11 11 11 11
12 12 12 12 12 12 12 12 12 12
12 12 12 12 12 12 12 12 12 12
9 9 9 9 9 9 9 9 9 9
9 9 9 9 9 9 9 9 9 9
10 10 10 10 10 10 10 10 10 10
10 10 10 10 10 10 10 10 10 10
11 11 11 11 11 11 11 11 11 11
11 11 11 11 11 11 11 11 11 11;
enddata
Global optimal solution found.
Objective value: 684.0000
Objective bound: 684.0000
Infeasibilities: 0.000000
Extended solver steps: 0
Total solver iterations: 954
Variable Value Reduced Cost
X( 8, 5) 6.000000 -2.800000
X( 13, 1) 20.00000 -2.600000
X( 13, 2) 10.00000 -2.600000
X( 13, 5) 20.00000 -2.600000
X( 13, 6) 20.00000 -2.600000
X( 13, 7) 20.00000 -2.600000
X( 13, 8) 20.00000 -2.600000
X( 13, 9) 20.00000 -2.600000
X( 13, 10) 20.00000 -2.600000
20
X( 16, 1) 6.000000 -2.800000
X( 16, 2) 15.00000 -2.800000
X( 16, 3) 24.00000 -2.800000
X( 16, 4) 24.00000 -2.800000
X( 16, 6) 6.000000 -2.800000
X( 16, 7) 6.000000 -2.800000
X( 16, 8) 6.000000 -2.800000
X( 16, 9) 6.000000 -2.800000
X( 16, 10) 6.000000 -2.800000
Row Slack or Surplus Dual Price
1 684.0000 1.000000
2 155.0000 0.000000
3 145.0000 0.000000
4 140.0000 0.000000
5 155.0000 0.000000
6 150.0000 0.000000
7 135.0000 0.000000
8 150.0000 0.000000
9 144.0000 0.000000
10 140.0000 0.000000
11 150.0000 0.000000
12 140.0000 0.000000
13 145.0000 0.000000
14 0.000000 0.000000
15 150.0000 0.000000
16 140.0000 0.000000
17 56.00000 0.000000
18 140.0000 0.000000
19 145.0000 0.000000
附录四
a=[0.10 0.15 0.25 0.35 0.15;
0.10 0.15 0.50 0.15 0.10;
0.20 0.35 0.25 0.10 0.10;
0.35 0.25 0.10 0.30 0.00;
0.15 0.10 0.25 0.40 0.10;
0.50 0.25 0.15 0.10 0.00;
0.10 0.45 0.15 0.20 0.10;
0.25 0.45 0.10 0.10 0.10;
0.05 0.20 0.45 0.30 0.00;
21
0.00 0.00 0.10 0.40 0.50;
0.20 0.45 0.25 0.10 0.00;
0.20 0.65 0.15 0.00 0.00;
0.10 0.25 0.15 0.10 0.40;
0.10 0.10 0.15 0.50 0.15;
0.20 0.15 0.15 0.20 0.30;
0.10 0.25 0.35 0.10 0.20;
0.00 0.55 0.15 0.30 0.00;
0.20 0.25 0.15 0.10 0.30];
b=[270 280 290 300 310];
x=a*b'
x = 293.0000 290.000 285.5000 283.5000 292.0000 278.500 287.5000 283.5000
290.0000 304.0000 282.5000 279.5000 294.5000 295.0000 292.5000 290.5000
287.5000 290.5000
附录五
max=2.6*x1+2.9*x2+2.8*x3+3.1*x4+2.8*x5+3.1*x6+2.5*x7+2.8*x8+2.7*x9+3*x10+2.
7*x11+3*x12+2.6*x13+2.5*x14+2.6*x15+2.8*x16+2.7*x17+2.8*x18;
11*(x1+x2+x9+x10+x17+x18)+12*(x3+x4+x11+x12)+13*(x5+x6)+10*(x7+x8+x15+x16)+
9*(x13+x14)<=3600;x1<=293*y1;x2<=290*y2;x3<=285*y3;x4<=283*y4;x5<=292*y5;x6
<=278*y6;x7<=287*y7;x8<=283*y8;x9<=290*y9;x10<=304*y10;x11<=282*y11;x12<=27
9*y12;x13<=294*y13;x14<=295*y14;x15<=292*y15;x16<=290*y16;x17<=287*y17;
x18<=290*y18;
y1+y2+y3+y4+y5+y6+y7+y8+y9+y10+y11+y12+y13+y14+y15+y16+y17+y18=1;
@gin(x1);@gin(x2);@gin(x3);@gin(x4);@gin(x5);@gin(x6);
@gin(x7);@gin(x8);@gin(x9);@gin(x10);@gin(x11);@gin(x12);
@gin(x13);@gin(x14);@gin(x15);@gin(x16);@gin(x17);@gin(x18);
@bin(y1);@bin(y2);@bin(y3);@bin(y4);@bin(y5);@bin(y6);
@bin(y7);@bin(y8);@bin(y9);@bin(y10);@bin(y11);@bin(y12);
@bin(y13);@bin(y14);@bin(y15);@bin(y16);@bin(y17);@bin(y18);
Global optimal solution found.
Objective value: 912.0000
Objective bound: 912.0000
Infeasibilities: 0.000000
Extended solver steps: 0
Total solver iterations: 30
Model Class: PILP
Total variables: 36
Nonlinear variables: 0
Integer variables: 36
Total constraints: 21
Nonlinear constraints: 0
Total nonzeros: 90
Nonlinear nonzeros: 0
22
Variable Value Reduced Cost
X10 304.0000 -3.000000
Y10 1.000000 0.000000
Row Slack or Surplus Dual Price
1 912.0000 1.000000
2 256.0000 0.000000
附录六:
(4)(改变1)
max=2.6*x1+2.9*x2+2.8*x3+3.1*x4+2.8*x5+3.1*x6+2.5*x7+2.8*x8+2.7*x9+3*x10+2.
7*x11+3*x12+2.6*x13+2.5*x14+2.6*x15+2.8*x16+2.7*x17+2.8*x18;
11*(x1+x2+x9+x10+x17+x18)+12*(x3+x4+x11+x12)+13*(x5+x6)+10*(x7+x8+x15+x16)+
9*(x13+x14)<=3600;x1<=290*y1;x2<=285*y2;x3<=283*y3;x4<=292*y4;x5<=278*y5;x6
<=287*y6;x7<=283*y7;x8<=290*y8;x9<=304*y9;x10<=282*y10;x11<=279*y11;x12<=29
4*y12;x13<=295*y13;x14<=292*y14;x15<=290*y15;x16<=287*y16;x17<=290*y17;x18<
=287*y18;
y1+y2+y3+y4+y5+y6+y7+y8+y9+y10+y11+y12+y13+y14+y15+y16+y17+y18=1;
@gin(x1);@gin(x2);@gin(x3);@gin(x4);@gin(x5);@gin(x6);
@gin(x7);@gin(x8);@gin(x9);@gin(x10);@gin(x11);@gin(x12);
@gin(x13);@gin(x14);@gin(x15);@gin(x16);@gin(x17);@gin(x18);
@bin(y1);@bin(y2);@bin(y3);@bin(y4);@bin(y5);@bin(y6);
@bin(y7);@bin(y8);@bin(y9);@bin(y10);@bin(y11);@bin(y12);
@bin(y13);@bin(y14);@bin(y15);@bin(y16);@bin(y17);@bin(y18);
Global optimal solution found.
Objective value: 905.2000
Objective bound: 905.2000
Infeasibilities: 0.000000
Extended solver steps: 0
Total solver iterations: 30
Model Class: PILP
Total variables: 36
Nonlinear variables: 0
Integer variables: 36
Total constraints: 21
Nonlinear constraints: 0
Total nonzeros: 90
Nonlinear nonzeros: 0
Variable Value Reduced Co
X4 292.0000 -3.100000
Y4 1.000000 0.000000
23
Row Slack or Surplus Dual Price
1 905.2000 1.000000
2 96.00000 0.000000
(改变2)
max=2.6*x1+2.9*x2+2.8*x3+3.1*x4+2.8*x5+3.1*x6+2.5*x7+2.8*x8+2.7*x9+3*x10+2.
7*x11+3*x12+2.6*x13+2.5*x14+2.6*x15+2.8*x16+2.7*x17+2.8*x18;
11*(x1+x2+x9+x10+x17+x18)+12*(x3+x4+x11+x12)+13*(x5+x6)+10*(x7+x8+x15+x16)+
9*(x13+x14)<=3600;x1<=283*y1;x2<=292*y2;x3<=278*y3;x4<=287*y4;x5<=283*y5;x6
<=290*y6;x7<=285*y7;x8<=290*y8;x9<=304*y9;x10<=282*y10;x11<=279*y11;x12<=29
4*y12;x13<=295*y13;x14<=292*y14;x15<=290*y15;x16<=287*y16;x17<=290*y17;x18<
=287*y18;
y1+y2+y3+y4+y5+y6+y7+y8+y9+y10+y11+y12+y13+y14+y15+y16+y17+y18=1;
@gin(x1);@gin(x2);@gin(x3);@gin(x4);@gin(x5);@gin(x6);
@gin(x7);@gin(x8);@gin(x9);@gin(x10);@gin(x11);@gin(x12);
@gin(x13);@gin(x14);@gin(x15);@gin(x16);@gin(x17);@gin(x18);
@bin(y1);@bin(y2);@bin(y3);@bin(y4);@bin(y5);@bin(y6);
@bin(y7);@bin(y8);@bin(y9);@bin(y10);@bin(y11);@bin(y12);
@bin(y13);@bin(y14);@bin(y15);@bin(y16);@bin(y17);@bin(y18);
Global optimal solution found.
Objective value: 889.7000
Objective bound: 889.7000
Infeasibilities: 0.000000
Extended solver steps: 0
Total solver iterations: 30
Model Class: PILP
Total variables: 36
Nonlinear variables: 0
Integer variables: 36
Total constraints: 21
Nonlinear constraints: 0
Total nonzeros: 90
Nonlinear nonzeros: 0
Variable Value Reduced Cost
X4 287.0000 -3.100000
Y4 1.000000 0.000000
Row Slack or
Surplus Dual Price
1 889.7000 1.000000
2 156.0000 0.000000
(改变3)
max=2.6*x1+2.9*x2+2.8*x3+3.1*x4+2.8*x5+3.1*x6+2.5*x7+2.8*x8+2.7*x9+3*x10+2.
7*x11+3*x12+2.6*x13+2.5*x14+2.6*x15+2.8*x16+2.7*x17+2.8*x18;
24
11*(x1+x2+x9+x10+x17+x18)+12*(x3+x4+x11+x12)+13*(x5+x6)+10*(x7+x8+x15+x16)+
9*(x13+x14)<=3600;x1<=283*y1;x2<=292*y2;x3<=278*y3;x4<=290*y4;x5<=283*y5;
x6<=287*y6;x7<=285*y7;x8<=290*y8;x9<=304*y9;x10<=279*y10;x11<=282*y11;x12<=
294*y12;x13<=295*y13;x14<=287*y14;x15<=290*y15;x16<=292*y16;x17<=290*y17;x1
8<=287*y18;
y1+y2+y3+y4+y5+y6+y7+y8+y9+y10+y11+y12+y13+y14+y15+y16+y17+y18=1;
@gin(x1);@gin(x2);@gin(x3);@gin(x4);@gin(x5);@gin(x6);
@gin(x7);@gin(x8);@gin(x9);@gin(x10);@gin(x11);@gin(x12);
@gin(x13);@gin(x14);@gin(x15);@gin(x16);@gin(x17);@gin(x18);
@bin(y1);@bin(y2);@bin(y3);@bin(y4);@bin(y5);@bin(y6);
@bin(y7);@bin(y8);@bin(y9);@bin(y10);@bin(y11);@bin(y12);
@bin(y13);@bin(y14);@bin(y15);@bin(y16);@bin(y17);@bin(y18);
Global optimal solution found.
Objective value: 899.0000
Objective bound: 899.0000
Infeasibilities: 0.000000
Extended solver steps: 0
Total solver iterations: 30
Model Class: PIL
Total variables: 36
Nonlinear variables: 0
Integer variables: 36
Total constraints: 21
Nonlinear constraints: 0
Total nonzeros: 90
Nonlinear nonzeros: 0
Variable Value Reduced Cost
X4 290.0000 -3.100000
X5 0.000000 -2.800000
X6 0.000000 -3.100000
Y4 1.000000 0.000000
Row Slack or
Surplus Dual Price
1 899.0000 1.000000
2 120.0000 0.000000
临界点的求解
max=2.6*x1+2.9*x2+2.8*x3+3.1*x4+2.8*x5+3.1*x6+2.5*x7+2.8*x8+2.7*x9+3*x10+2.
7*x11+3*x12+2.6*x13+2.5*x14+2.6*x15+2.8*x16+2.7*x17+2.8*x18;
11*(x1+x2+x9+x10+x17+x18)+12*(x3+x4+x11+x12)+13*(x5+x6)+10*(x7+x8+x15+x16)+
9*(x13+x14)<=3600;x1<=293*y1;x2<=290*y2;x3<=285*y3;x4<=283*y4;x5<=292*y5;
x6<=278*y6;x7<=287*y7;x8<=283*y8;x9<=290*y9;x10<=292*y10;x11<=282*y11;x12<=
279*y12;x13<=294*y13;x14<=295*y14;x15<=292*y15;x16<=290*y16;x17<=287*y17;x1
8<=290*y18;
25
y1+y2+y3+y4+y5+y6+y7+y8+y9+y10+y11+y12+y13+y14+y15+y16+y17+y18=1;
@gin(x1);@gin(x2);@gin(x3);@gin(x4);@gin(x5);@gin(x6);
@gin(x7);@gin(x8);@gin(x9);@gin(x10);@gin(x11);@gin(x12);
@gin(x13);@gin(x14);@gin(x15);@gin(x16);@gin(x17);@gin(x18);
@bin(y1);@bin(y2);@bin(y3);@bin(y4);@bin(y5);@bin(y6);
@bin(y7);@bin(y8);@bin(y9);@bin(y10);@bin(y11);@bin(y12);
@bin(y13);@bin(y14);@bin(y15);@bin(y16);@bin(y17);@bin(y18);
Global optimal solution found.
Objective value: 877.3000
Objective bound: 877.3000
Infeasibilities: 0.000000
Extended solver steps: 0
Total solver iterations: 30
Model Class: PILP
Total variables: 36
Nonlinear variables: 0
Integer variables: 36
Total constraints: 21
Nonlinear constraints: 0
Total nonzeros: 90
Nonlinear nonzeros: 0
Variable Value Reduced Cost
X4 283.0000 -3.100000
Y4 1.000000 0.000000
Row Slack or Surplus Dual Price
1 877.3000 1.000000
2 204.0000 0.000000
(x10为292就生产x4)
临界(x10=293)
max=2.6*x1+2.9*x2+2.8*x3+3.1*x4+2.8*x5+3.1*x6+2.5*x7+2.8*x8+2.7*x9+3*x10+2.
7*x11+3*x12+2.6*x13+2.5*x14+2.6*x15+2.8*x16+2.7*x17+2.8*x18;
11*(x1+x2+x9+x10+x17+x18)+12*(x3+x4+x11+x12)+13*(x5+x6)+10*(x7+x8+x15+x16)+
9*(x13+x14)<=3600;x1<=293*y1;x2<=290*y2;x3<=285*y3;x4<=283*y4;x5<=292*y5;
x6<=278*y6;x7<=287*y7;x8<=283*y8;x9<=290*y9;x10<=293*y10;x11<=282*y11;x12<=
279*y12;x13<=294*y13;x14<=295*y14;x15<=292*y15;x16<=290*y16;x17<=287*y17;
x18<=290*y18;
y1+y2+y3+y4+y5+y6+y7+y8+y9+y10+y11+y12+y13+y14+y15+y16+y17+y18=1;
@gin(x1);@gin(x2);@gin(x3);@gin(x4);@gin(x5);@gin(x6);
@gin(x7);@gin(x8);@gin(x9);@gin(x10);@gin(x11);@gin(x12);
@gin(x13);@gin(x14);@gin(x15);@gin(x16);@gin(x17);@gin(x18);
@bin(y1);@bin(y2);@bin(y3);@bin(y4);@bin(y5);@bin(y6);
@bin(y7);@bin(y8);@bin(y9);@bin(y10);@bin(y11);@bin(y12);
26
@bin(y13);@bin(y14);@bin(y15);@bin(y16);@bin(y17);@bin(y18);
Global optimal solution found.
Objective value: 879.0000
Objective bound: 879.0000
Infeasibilities: 0.000000
Extended solver steps: 0
Total solver iterations: 30
Model Class: PILP
Total variables: 36
Nonlinear variables: 0
Integer variables: 36
Total constraints: 21
Nonlinear constraints: 0
Total nonzeros: 90
Nonlinear nonzeros: 0
Variable Value Reduced Cost
X10 293.0000 -3.000000
Y10 1.000000 0.000000
Row Slack or Surplus Dual Price
1 879.0000 1.000000
2 377.0000 0.000000
附录七
(5题原始)
max=2.6*x1+2.9*x2+2.8*x3+3.1*x4+2.8*x5+3.1*x6+2.5*x7+2.8*x8+2.7*x9+3*x10+2.
7*x11+3*x12+2.6*x13+2.5*x14+2.6*x15+2.8*x16+2.7*x17+2.8*x18;
11*(x1+x2+x9+x10+x17+x18)+12*(x3+x4+x11+x12)+13*(x5+x6)+10*(x7+x8+x15+x16)+
9*(x13+x14)<=3600;x1<=293*y1;x2<=290*y2;x3<=285*y3;x4<=283*y4;x5<=292*y5;x=
278*y6;x7<=287*y7;x8<=283*y8;x9<=290*y9;x10<=304*y10;x11<=282*y11;x12<=279*
y12;x13<=294*y13;x14<=295*y14;x15<=292*y15;x16<=290*y16;x17<=287*y17;
x18<=290*y18;
y1+y2+y3+y4+y5+y6+y7+y8+y9+y10+y11+y12+y13+y14+y15+y16+y17+y18=2;
@gin(x1);@gin(x2);@gin(x3);@gin(x4);@gin(x5);@gin(x6);
@gin(x7);@gin(x8);@gin(x9);@gin(x10);@gin(x11);@gin(x12);
@gin(x13);@gin(x14);@gin(x15);@gin(x16);@gin(x17);@gin(x18);
@bin(y1);@bin(y2);@bin(y3);@bin(y4);@bin(y5);@bin(y6);
@bin(y7);@bin(y8);@bin(y9);@bin(y10);@bin(y11);@bin(y12);
@bin(y13);@bin(y14);@bin(y15);@bin(y16);@bin(y17);@bin(y18
Objective value: 1031.200
Objective bound: 1031.200
Infeasibilities: 0.000000
Extended solver steps: 0
Total solver iterations: 61
27
Model Class: PILP
Total variables: 36
Nonlinear variables: 0
Integer variables: 36
Total constraints: 21
Nonlinear constraints: 0
Total nonzeros: 90
Nonlinear nonzeros: 0
Variable Value Reduced Cost
X13 290.0000 -2.600000
X16 99.00000 -2.800000
Y13 1.000000 0.000000
Y16 1.000000 0.000000
Row Slack or Surplus Dual Price
1 1031.200 1.000000
15 4.000000 0.000000
18 191.0000 0.000000
(5改变1)
max=2.6*x1+2.9*x2+2.8*x3+3.1*x4+2.8*x5+3.1*x6+2.5*x7+2.8*x8+2.7*x9+3*x10+2.
7*x11+3*x12+2.6*x13+2.5*x14+2.6*x15+2.8*x16+2.7*x17+2.8*x18;
11*(x1+x2+x9+x10+x17+x18)+12*(x3+x4+x11+x12)+13*(x5+x6)+10*(x7+x8+x15+x16)+
9*(x13+x14)<=3600;x1<=283*y1;x2<=292*y2;x3<=278*y3;x4<=290*y4;x5<=283*y5;x6
<=287*y6;x7<=285*y7;x8<=290*y8;x9<=304*y9;x10<=279*y10;x11<=282*y11;x12<=29
4*y12;x13<=295*y13;x14<=287*y14;x15<=290*y15;x16<=292*y16;x17<=290*y17;
x18<=287*y18;
y1+y2+y3+y4+y5+y6+y7+y8+y9+y10+y11+y12+y13+y14+y15+y16+y17+y18=2;
@gin(x1);@gin(x2);@gin(x3);@gin(x4);@gin(x5);@gin(x6);
@gin(x7);@gin(x8);@gin(x9);@gin(x10);@gin(x11);@gin(x12);
@gin(x13);@gin(x14);@gin(x15);@gin(x16);@gin(x17);@gin(x18);
@bin(y1);@bin(y2);@bin(y3);@bin(y4);@bin(y5);@bin(y6);
@bin(y7);@bin(y8);@bin(y9);@bin(y10);@bin(y11);@bin(y12);
@bin(y13);@bin(y14);@bin(y15);@bin(y16);@bin(y17);@bin(y18);
Global optimal solution found.
Objective value: 1031.200
Objective bound: 1031.200
Infeasibilities: 0.000000
Extended solver steps: 0
Total solver iterations: 97
Model Class: PILP
Total variables: 36
Nonlinear variables: 0
Integer variables: 36
28
Total constraints: 21
Nonlinear constraints: 0
Total nonzeros: 90
Nonlinear nonzeros: 0
Variable Value Reduced Cost
X13 290.0000 -2.600000
X16 99.00000 -2.800000
Y13 1.000000 0.000000
Y16 1.000000 0.000000
Row Slack or Surplus Dual Price
1 1031.200 1.000000
15 5.000000 0.000000
18 193.0000 0.000000
(5改变2)
max=2.6*x1+2.9*x2+2.8*x3+3.1*x4+2.8*x5+3.1*x6+2.5*x7+2.8*x8+2.7*x9+3*x10+2.
7*x11+3*x12+2.6*x13+2.5*x14+2.6*x15+2.8*x16+2.7*x17+2.8*x18;
11*(x1+x2+x9+x10+x17+x18)+12*(x3+x4+x11+x12)+13*(x5+x6)+10*(x7+x8+x15+x16)+
9*(x13+x14)<=3600;x1<=287*y1;x2<=292*y2;x3<=278*y3;x4<=279*y4;x5<=283*y5;
x6<=304*y6;x7<=285*y7;x8<=290*y8;x9<=287*y9;x10<=290*y10;x11<=294*y11;
x12<=282*y12;x13<=295*y13;x14<=287*y14;x15<=292*y15;x16<=292*y16;x17<=290*y
17;x18<=283*y18;
y1+y2+y3+y4+y5+y6+y7+y8+y9+y10+y11+y12+y13+y14+y15+y16+y17+y18=2;
@gin(x1);@gin(x2);@gin(x3);@gin(x4);@gin(x5);@gin(x6);
@gin(x7);@gin(x8);@gin(x9);@gin(x10);@gin(x11);@gin(x12);
@gin(x13);@gin(x14);@gin(x15);@gin(x16);@gin(x17);@gin(x18);
@bin(y1);@bin(y2);@bin(y3);@bin(y4);@bin(y5);@bin(y6);
@bin(y7);@bin(y8);@bin(y9);@bin(y10);@bin(y11);@bin(y12);
@bin(y13);@bin(y14);@bin(y15);@bin(y16);@bin(y17);@bin(y18);
Global optimal solution found.
Objective value: 1031.200
Objective bound: 1031.200
Infeasibilities: 0.000000
Extended solver steps: 0
Total solver iterations: 57
Model Class: PILP
Total variables: 36
Nonlinear variables: 0
Integer variables: 36
Total constraints: 21
Nonlinear constraints: 0
Total nonzeros: 90
Nonlinear nonzeros: 0
Variable Value Reduced Cost
X13 290.0000 -2.600000
29
X16 99.00000 -2.800000
Y13 1.000000 0.000000
Y16 1.000000 0.000000
Row Slack or Surplus Dual Price
1 1031.200 1.000000
15 5.000000 0.000000
18 193.0000 0.000000
30