2011D天然肠衣搭配的的优化模型与求解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2011D 天然肠衣搭配问题讲稿提要
题目:天然肠衣(以下简称肠衣)制作加工是我国的一个传统产业,出口量占世界首位。肠衣经过清洗整理后被分割成长度不等的小段(原料),进入组装工序。传统的生产方式依靠人工,边丈量原料长度边心算,将原材料按指定根数和总长度组装出成品(捆)。
原料按长度分档,通常以0.5米为一档,如:3-3.4米按3米计算,3.5米-3.9米按3.5米计算,其余的依此类推。表1是几种常见成品的规格,长度单位为米,∞表示没有上限,但实际长度小于26米。
为了提高生产效率,公司计划改变组装工艺,先丈量所有原料,建立一个原料表。表2为某批次原料描述。
根据以上成品和原料描述,设计一个原料搭配方案,工人根据这个方案“照方抓药”进行生产。
公司对搭配方案有以下具体要求:
(1) 对于给定的一批原料,装出的成品捆数越多越好;
(2) 对于成品捆数相同的方案,最短长度最长的成品越多,方案越好;
(3) 为提高原料使用率,总长度允许有± 0.5米的误差,总根数允许比标准少1根;
(4) 某种规格对应原料如果出现剩余,可以降级使用。如长度为14米的原料可以和长度介于7-13.5米的进行捆扎,成品属于7-13.5米的规格;
(5) 为了食品保鲜,要求在30分钟内产生方案。
请建立上述问题的数学模型,给出求解方法,并对表1、表2给出的实际数据进行求解,给出搭配方案。
解答:
我们将上种类型的成品分别称作小尺寸、中尺寸、大尺寸。其定义见表3。
由于满足大规格的的原料可以降级作中规格,满足中规格的的原料可以降级作小规格。因此我们先考虑大规格产品的搭配,再考中规格产品的搭配,最后考虑规格小规格产品的搭配。
一、考虑大规格产品的搭配
这里采用两种不同的方法求解。
方法一:直接法
设长度为14,14.5,15,15.5,16,16.5,17,17.5,18,18.5,19,19.5,20,
20.5,21,21.5,22,22.5,23.5,25.5的20种肠衣分成K 组,设第i 种长度的原料分到第
j 组为ij x 根。
设第i 种长度的原料有i a 根,1,2,...,24i =。
其中a =35,29,30,42,28,42,45,49,50,64,52,63,49,35,27,16,12,2,,6,1。 第i 种长度的原料分到所有K 组的根数不能超过i a 根。则有:
11,2, (20)
ij
i
j x
a i =≤=∑
每组的根数为5根,由(3)知也可以为4根,因此对每组的根数满足:
20
1
45
1,2,...,ij i x j K =≤≤=∑
设第i 种长度的原料的长度为i l 米。
其中l =14,14.5,15,15.5,16,16.5,17,17.5,18,18.5,19,19.5,20,20.5,21,
21.5,22,22.5,23.5,25.5。
每组的长度为89米,由(3) 知可以± 0.5米的误差,因此每组的总长度满足:
20
1
88.589.5
1,2,...,i ij i l x j K =≤≤=∑
为考虑中规格中利用大规格产品中的剩余,我们求出大规格产品中每种长度原料的
剩余。设第i 种长度的原料的剩余根数为,1,2,...,20i r i =。则有:
1
K
i i ij j r a x ==-∑
我们建立目标函数。(1)要求对于给定的一批原料,装出的成品捆数越多越好,因此我们的第一目标为:
1max Z K =
(2)要求对于成品捆数相同的方案,最短长度最长的成品越多,方案越好。
我们设法建立第二目标。
令min{|0,1,2,...,20}j ij i x i τ=>=,1,2,...,j K =。该序列表示各列最短长度的序号。
令max j j
u τ=,表示所有组中最短长度的序号最大值。
令{|}j S j u τ==,表示取得最短长度最大值的序号集。 第二目标函为各列最短长度最大的捆数最多,则有:
2max Z S =
其中S 表示集合S 的元素个数
为说明我们的方法,下面采用一个例子说明。如某分配方案如表4,其中i a 为单调增序列。
则有各列最短长度的行序号τ={1,3,3,4,4,2}, 其最大值4u =,τ中取得最大值的序号
{4,5}S =。
则计算出22Z S ==
即该分配方案中最短长度最长为4a ,总共有2捆成品。
因此总的模型为: 1m a x Z K = 2m a x Z S =
1
20120111,2,...,2045
1,2,...,88.589.5
1,2,...,..1,2,...,20min{|0,1,2,...,20}max {|},1,2,...,20;1,2,...,K
ij i
j ij i i ij i K i i ij
j j ij j
j
j ij x a i x j K l x j K s t r a x i i x i u S j u x i j K
τττ====⎧≤=⎪⎪⎪
≤==⎪⎪
⎪
≤≤=⎪⎪⎪⎨=-=⎪⎪
⎪=>======⎩∑∑∑∑取整⎪
⎪⎪
⎪⎪⎪
其中l =14,14.5,15,15.5,16,16.5,17,17.5,18,18.5,19,19.5,20,20.5,21, 21.5,22,22.5,23.5,25.5。
a =35,29,30,42,28,42,45,49,50,64,52,63,49,35,27,16,12,2,,6,1。
评价:该模型容易想到,也容易建立。但该模型求解困难。在确定第一目标K 最大时,需要尝试不同的K ,而在给定K 进行求解时,利用Lingo12求解极其耗时,通常会1小时以上。而在求解第二目标,由于是非线性,求解就更困难,采用Lingo 几乎没法求解,即使求解成功,也是局部最优解。鉴于此,我们采用另外的方法建模求解。
讲解时进行LINGO 程序展示。
方法二:模式法
我们首先求出20种肠衣根据原料可搭配成捆的所有模式,然后建立线性规划模型求解。 在这种方法里,我们首先利用编制Matlab 程序求出20种肠衣根据原料可搭配成捆的所有模式,然后在模式中选择最佳的搭配。 先对问题进行分析:
2.1 最大捆数分析: