工件的安装与排序问题
毛益明 成仁仁 曾珠丽 涂文兵
摘要:本文对工件的安装与排序问题建立了3个优化模型,并给出了相应的算法,首先建立方差目标函数求出其中一组较优化的解,其次放宽目标函数的值求出其它可行解,最后对结果进行验证。
模型一:首先,以4g为重量约束上限,利用Lingo编写方差目标函数并得一种排序方案,在放宽目标函数的情况下,并且考虑到每个象限内的工件排序还有 种情况,实际得到 种排序方案;其次,结合工作经验,给出了人工简便算法,并对每次算法进一步修正,得到一组排序方案,其相邻的6个工件组的重量差对绝对值最大为4。
模型二:在模型一的基础上建立模型二,以4克为重量约束上限且以3为体积约束下限,并用Lingo软件编程实现,在利用放宽目标函数值的前提下,得到 种排序方案。
模型三:利用第二组数据对模型二进行检验和修正,对于不满足条件的奇异数据本文按照方差和均值分析法更新数据且较精确的确定相应取值范围即第个工件的体积,使新数据在这范围内满足模型要求和求解,结果见模型三的表三。
关键字:安装排序 方差分析 0-1规划 优化理论 目标函数
一、 问题重述
某设备由24个工件组成,安装时需要按工艺要求重新排序。
Ⅰ.设备的24个工件均匀分布在等分成六个扇形区域的一圆盘的边缘上,放在每个扇形区域的4个工件总重量与相邻区域的4个工件总重量之差不允许超过一定值(如4g)。
Ⅱ.工件的排序不仅要对重量差有一定的要求,还要满足体积的要求,即两相邻工件的体积差应尽量大,使得相邻工件体积差不小于一定值(如3 );
Ⅲ.当工件确实不满足上述要求时,允许更换少量工件。
问题1.按重量排序算法;
问题2.按重量和体积排序算法;
问题3.当工件不满足要求时,指出所更换工件及新工件的重量和体积值范围,并输出排序结果。
二、 模型假设
1、24个工件均匀分布在一圆盘上
2、在满足条件Ⅰ、Ⅱ的前提下,考虑每个象限内的工件排序
3、在满足条件Ⅰ的基础上不考虑工件其他条件的约束
4、工件排序不仅要保证重量差,两工件组体积尽量大,使相邻工件组体积差不小于一定值(3)
5、只考虑满足重量差不大于某定植(4克),体积差不小于某定植(3)即可
三、符号约定
:第i区内的第j个工件的重量
:第i个工件的重量
:0-1变量,第 个工件被选为1,否则为0
;第i个工件的体积
:0-1变量,第 个工件被选为1,否则为0
:第i个区内工件的总重量
:第i个区内工件的总体积
:数据的平均值
:数据方差
:数据标准差
四、 问题分析
对问题一:解题思想简单。根据模型的假设和要求,要解决问题一,只需要考虑各区内工件的重量差不超过某一定值(4克)即可,不需要考虑其他约束条件;首先建立重量目标函数即模型一,其次利用Lingo编程算出一种解,再次放宽目标值求出多钟解,最后对结果进行验证。
对问题二:在解决问题一的基础上对模型二进行求解,并且再加入一个体积约束条件,当然这里需要考虑24个工件的排序;
对问题三:要解决问题三,只要根据方差分析,逐一找出离均值较远的数或数的集合,进行逐一调整,然后在调整的基础上,找到数据调整的范围即可。
鉴于Lingo优化算法比较复杂。针对要解决问题一和问题二,工件的排序情况绝对不止一种或几种,一方面,应该穷举出所有满足约束条件的排序方案;另一方面,就是因为排序方案很多,所以如果只需找到某一个或某几个排序方案,只要用简便的算法人工就可以解决了。如果换一下数据和定植的大小,又是另一种情况,人工排序未必能够解决,并且不利于模型的进一步推广。基于以上分析,应该进一步探索出对问题一和问题二的计算机搜索的算法。针对要解决问题三,基于上面的考虑,要逐步找出需要调整的数,并要在此基础上确定重量与体积的允许波动范围,步骤较繁。
基于上述综合分析,对问题一本文只考虑重量约束问题,建立模型一,探索出搜索所有所有可能排序方案的算法,并给出相应的简便算法,人工对工件进行排序,可贡参考;针对问题二,本文考虑重量及体积双重约束,建立模型二,这是对模型一中的算法进行进一步修正而探索出适合模型二的算法;针对问题三,建立模型三,建立方差分析模型,在用 选择剔除奇异值的基础上,逐一找出要调整的数据,最终确定调整数据的范围。
五、 模型的建立与求解
5.1模型一的建立
5.1.1模型的建立
根据模型的假设和问题分析,为了计算方便,对数据进行初步处理,分别把每组数据减去该组数据中的最小值,得到新的数值不影响排序结果,据此,得到新的数据如表一:
序号 |
重量-327.5 |
体积-94 |
序号 |
重量-327.5 |
体积-94 |
序号 |
重量-339.5 |
体积-95.1 |
序号 |
重量-339.5 |
体积-95.1 |
1 |
20.5 |
7.5 |
13 |
21 |
10.5 |
1 |
19 |
7.9 |
13 |
18 |
7.4 |
2 |
24.5 |
8 |
14 |
19.5 |
3 |
2 |
18 |
7.9 |
14 |
15.5 |
7.9 |
3 |
19.5 |
10 |
15 |
19 |
3 |
3 |
15.5 |
7.9 |
15 |
14 |
8.4 |
4 |
21.5 |
0 |
16 |
20.5 |
5 |
4 |
11.5 |
8.4 |
16 |
17 |
8.4 |
5 |
20 |
4 |
17 |
20 |
4 |
5 |
16 |
7.9 |
17 |
16.5 |
8.4 |
6 |
19.5 |
6.5 |
18 |
20.5 |
2.5 |
6 |
17.5 |
6.9 |
18 |
13 |
8.9 |
7 |
2.5 |
4.5 |
19 |
5.5 |
0.5 |
7 |
1.5 |
0.9 |
19 |
3 |
2.9 |
8 |
1.5 |
4 |
20 |
2.5 |
7.5 |
8 |
2.5 |
1.4 |
20 |
4.5 |
1.4 |
9 |
1.5 |
5 |
21 |
5 |
8 |
9 |
0.5 |
0.4 |
21 |
0 |
2.9 |
10 |
0 |
10.5 |
22 |
4 |
10 |
10 |
4.5 |
1.9 |
22 |
2 |
0.9 |
11 |
1.5 |
10.5 |
23 |
4 |
0 |
11 |
3 |
0 |
23 |
1.5 |
0.9 |
12 |
4 |
10 |
24 |
4.5 |
4 |
12 |
4 |
1.4 |
24 |
5.5 |
1.9 |
表一:经初步处理的工件数据