In this paper, we have examined the problem of embedding a cycle of n vertices onto a given set of n points inside a simple polygon. The goal of the problem is that the cycle must be embedded without bends and does not intersect itself and the polygon. This problem is a special case of the open problem of finding a (s, X, t) - simple Hamiltonian path inside a simple polygon that does not intersect itself and the sides of the polygon. The complexity of the problem is examined in this paper is open, but it has been proved that similar problems are NP-complete. We have presented a metaheuristic algorithm based on a genetic algorithm for straight-line embedding of a cycle with the minimum numbers of intersections, onto a given set of points inside simple polygons. The efficiency of the proposed genetic algorithm is due to the definition of the mutation operation, which removes it if there is an intersection between the embedded edges of the cycle. The experimental results show that the results of the version of the algorithm that uses this mutation operation are much more efficient than the version that uses only the usual two-points mutation operation.
翻译:在本文中,我们研究了在简单多边形的一组n点中嵌入一个圆形的螺旋循环的问题。 问题的目标是, 循环必须嵌入, 而不弯曲, 而不相互交错和多边形。 这个问题是一个特殊的例子, 即发现一个( s, X, t) - 简单的汉密尔顿路径在简单的多边形中存在一个( s, X, t) - 简单的汉密尔顿路径, 它不会相互交叉和多边形的侧面。 问题的复杂性在本文中是开放的, 但已经证明类似的问题是NP- 完整的。 我们展示了一种美经算法, 其基础是: 直线嵌入一个具有最小交叉数的周期的直线嵌入, 在简单多边形中存在一个特定的一组点。 拟议遗传算法的效率是由于变异操作的定义, 如果嵌入的边缘之间有交叉点, 它就会消失。 实验结果显示, 使用这种变异操作的算法版本比只使用通常的两点的版本有效得多。