铣削问题与有容量限制的弧路由问题算法研究
1. 离散铣削问题的近似算法与启发式算法
1.1 循环合并与近似算法
在离散铣削问题中,通过循环合并程序,可将包含 ( c ) 个循环和 ( t ) 个转弯的循环覆盖转换为具有 ( t + 2(c - 1) ) 个转弯的铣削路径。具体来说,若 ( T_1 ) 和 ( T’_2 ) 在 ( u_i ) 处相交,可重复之前的操作生成一个覆盖 ( T_1 ) 和 ( T_2 ) 且最多有两个额外转弯的循环 ( T )。由此得到的算法具有 3.75 的近似因子。
1.2 启发式算法 HEUR
对于 NP 难题,另一种常见方法是放弃理论性能保证,设计在实践中能产生良好结果的启发式算法。这里提出的 HEUR 启发式算法,也称为园丁算法,它模仿了人类解决问题的贪心策略。
- 输入与基本操作 :该算法的输入是细分多边形和位于口袋边界的一个像素(即起点)。在算法的每次迭代开始时,刀具位于像素 ( p ),从该像素计算能访问最多未覆盖像素的移动(最多有四个可能的移动,每个方向两个),并执行该移动,且总是结束于一个之前未覆盖的像素。若所有移动都导致已覆盖的像素,则刀具从 ( p ) 移动到最近的(相对于转弯成本)未覆盖像素;若所有像素都已覆盖,则移动到起点。
- 性能改进 :为提高 HEUR 的性能,借鉴了 GRASP 元启发式算法的多起点和随机化技术。多起点策略通过固定迭代次数来实现;随机化在两个步骤中引入,一是每次迭代时选择移动,二是当没有移动能到达未覆盖像素时选择要去的像素。在第一种情况下,列表大小限制为两个,元素按未覆盖像素数量单调递减排序;在第
超级会员免费看
订阅专栏 解锁全文
18

被折叠的 条评论
为什么被折叠?



