寻求一个面板切割最优解的算法,可以用C、C++或Java编写。寻求高手帮助,如果算法正确高效,将再补10分 50
已知有多种不同尺寸的面板M1、M2、M3……每种面板的数目分别为N1、N2、N3,且这些面板都是矩形。现在希望从中找出合适的面板进行裁剪,形成多个小尺寸的面板t1、t2、...
已知有多种不同尺寸的面板M1、M2、M3……每种面板的数目分别为N1、N2、N3,且这些面板都是矩形。现在希望从中找出合适的面板进行裁剪,形成多个小尺寸的面板t1、t2、t3、t4……每种尺寸的面板数目分别为n1、n2、n3、n4,裁剪过程中,会产生部分余料,当剩余面板的宽度或高度小于s时,则这部分余料会被废弃;否则,余料可作为新的面板进行裁剪。另外,每次裁剪时,宽度或高度允许有少量的误差w,当裁剪后的区域的宽度或高度与实际值的差值小于w时,认为裁剪的区域属于合法区域。需要设计一个算法,计算如何进行裁剪才能使废弃的余料最少?
注意:面板裁剪时,需要整块进行裁剪,不能进行区域剪切。如下图示:
当希望从整块面板上裁剪下区域ABCO时,有两种做法:
沿连线CX进行剪切,然后沿AO剪切。这样形成余料区域分别为EAOX和XCGF
沿连线AY进行剪切,然后沿CO剪切。这样形成余料区域分别为AEFY和COYG
验证算法时,取值可遵循如下规则:(注:长度单位为厘米)
待裁剪区域面板M1等的宽度和高度取值范围为[30.0, 300.0]
裁剪后形成的面板t1等的宽度和高度取值范围为[30.0, 300.0]
被认为废弃的边界值s取值范围为[0, 30.0)
宽度高度误差值w取值范围为[0, 0.4] 展开
注意:面板裁剪时,需要整块进行裁剪,不能进行区域剪切。如下图示:
当希望从整块面板上裁剪下区域ABCO时,有两种做法:
沿连线CX进行剪切,然后沿AO剪切。这样形成余料区域分别为EAOX和XCGF
沿连线AY进行剪切,然后沿CO剪切。这样形成余料区域分别为AEFY和COYG
验证算法时,取值可遵循如下规则:(注:长度单位为厘米)
待裁剪区域面板M1等的宽度和高度取值范围为[30.0, 300.0]
裁剪后形成的面板t1等的宽度和高度取值范围为[30.0, 300.0]
被认为废弃的边界值s取值范围为[0, 30.0)
宽度高度误差值w取值范围为[0, 0.4] 展开
3个回答
2015-04-06
展开全部
这时一个多目标组合优化问题,NP完全问题,没有那么简单,属于世界性的难题。可以使用遗传算法扰核、粒子群算法等模拟演化算法求解得到一个行李启近优解,没有算法能档如保证得到一个最优解。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C,我不写,fentaishao
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
写这么一个算法太累了- -怎么也得一天。。
追问
能够给我一个算法的思路或者用伪语言也可以
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询