- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
-
- PAGE 1 -
134476633.doc
————最优切割问题魏 炜
一:问题的提出
某些工业部门(如贵重石才的加工等)采用截断切割的加工方式。这里“截断切割”是指将物体沿某个切割平面分成两个部分。从一个长方体中加工出一个已知尺寸位置预定的长 方体(这个长方体的对应表面是平行的),通常要经过6次截断切割。
设水平切割单位面积的费用是垂直切割单位面积的r倍,且当先后两次垂直切割的平面
(不管它们之间是否穿插水平切割)不平行时,因调整刀具需额外费用e。试为这些部门设计一种安排个面加工次序的方法。
待加工的长方体和成品的长,宽,高分别为10,14.5,19和3,2,4两者左侧面,正面,底面之间的距离分别为6 ,7,9(单位均为厘米)垂直切割的费用为每平方厘米1元。r和e数据如下(a)r=1,e=0 (b)r=1.5 e=2
二:问题的分析
刚拿到这个题目时,还是很茫然的,不知应该用什么样的方法进行解答,当学到图与网络分析的时候,突然觉得这道题是不是可以用最短路的来求解呢?抱着试试看的心里,我将问题成功的转换成了求一个图的最短路的问题,而我们要求最短路就是要先求出每一条边所表示的权重。
三:问题的解决
设待加工体的长、宽、高分别为 a0、b0、c0。六个切割面分别位于左、右、前后、上下相应为S1、S2、S3、S4、S5、S6。这六个面与成品的相应外测面的距离分别为d1、d2、d3、d4、d5、d6。不失一般性设d1=d2、d3=d4、d5=d6。故可以只考虑S1 在 S2 前、S3 在 S4 前、S5 在 S6 前被切割的方式。
I:e=0 r=1 的情形。
先考虑如何建立图形。将切割问题转化为求图的最短路径问题。赋权网络图 G*的建立。由于共计切 6 刀,因此我们想到要建立一个三维网络图:
134476633.doc
-
- PAGE 2 -
① 图形的解释。
图中各个点表示每个切割状态。例如 v
1
(0,0,0) 表示最初状态, v
27
(2,2,2) 表示已经
切割完毕。v (1,2,0) 表示左前被切一刀,前后各被切一刀,上下没有被切。
8
② 求权*的过程。
G 的边( v , v ) 表示石材被切割的一个过程。若两个定点之间有弧,当且仅当
i j
x ? y
i i
? z ? 1 ? x
i j
y ? z
j j
的时候,则我们把相应的弧上的权看成是切割过程的费用。
w(v , v
i j
) ? (x
j
? x ) *(b
i i
* c ) ? ( y
i j
? y ) *(a
i i
* c ) ? (z
i j
? z ) *(b
i i
a ) * r 。
i
当我们得到这个计算方法时,看到图形有27 个点,需要计算很多权。因为我们要用图中 Dijkstra 算法*。这个看似很繁琐,但当我们做了每两点之间的权后,发现是有规律可循的,其规律如下:
v (x
i i
, y , z
i i
) ? v
j
(x , y , z )
j j j
总有两个参量是不变的, 因此我们总能得到关于一个参量的结果。 如果
v (x , y
i i
) ? v
j
(x , y
j
) 没有变化,且满足 x ? y
i i
? z ? 1 ? x
i j
y ? z
j j
,因此剩余变量
差总为 1 , 后面为不变量两者相应的长、 宽、 高中的两者相乘即可, 所以得
w ? a * b
i i
r。而(a , b
i i
) 到底是怎么样得一个状态呢?其实也是有规律可以遵循的,例
如: v(2,1,2) , v(2,0,2) 首先第一和第三变量不变,因此权为w ? ai * ci 而相应数均为 2, 因此均已完成切割,所以w ? (a0 ? d1 ? d 2 ) * c0 ? d5 ? d6 ) 。
同理可以计算出权,这些均为算法的进行奠定了基础。
d1dd23ddd456我们知道待加工长方体长、宽、高分别为 10、14.5、19,成品为 3、2、4。因此两者各侧面的距离如下:(即d1
d
1
d
d
2
3
d
d
d
4
5
6
6
6
1
7
5.5
6
9
算法已经成型,因此在这里我们在 PASCAL 平台上进行编程实现便可以得到我们想要的最优切割的排列路径为:
v ? v
1 10
? v ? v
13 14
? v ? v ? v ? v
23 24 26 27
其权为 374,程序见附录。
II:e=2 r=1.5 的情形。
从上面的分析可以看出,若还用上一个网络赋权图,显然达不到要求,因为有些边上的权是要增加的,而某些边的权即可不变。显然我们应该寻找一个新的图来进行求解。
由于问题的要求,不
文档评论(0)