瓦片排列算法

时间:2011-04-04 07:06:44

标签: algorithm

我需要在一个可能完全装满瓷砖的空间内安排相同尺寸的方形瓷砖。某些瓷砖可能会锁定到位。瓷砖来自组,每组应位于一起(如果可能,可能不是由于锁定)。还有一些其他次要和更多个人(不仅仅是按组)偏好。

哪些算法有用?我试图把它变成一个线性的(实际上是MIP)编程问题,但我不确定我是否能做到这一点。

1 个答案:

答案 0 :(得分:3)

组合优化问题(如果你想“最大化”对二级和更多个体偏好的拟合)通常可以通过分支定界或随机搜索来解决,例如:模拟退火或禁忌搜索。

在分支定界中,您搜索部分解决方案,并跟踪到目前为止已达到的最佳完整解决方案。无论何时达到部分解决方案,您可以证明无法完成解决方案而不是达到目前为止达到的最佳解决方案,您可以立即回溯。

随机搜索很可能更适合您的问题。它的工作原理是从随机的磁贴放置开始,然后是随机地交换到平铺,放置更喜欢的移动,导致更高的满意度(更高的偏好得分),在您的情况下,这将意味着更多连接的平铺,更适合次要偏好。细节不同。参见