我正在使用模拟退火算法来解决矩形嵌套问题。我能够得到不错的结果,但是我得到的解决方案是离散的。即使全局最优解也不能总是被获得。
问题描述:
目标:通过改变部件放置的顺序,使无限长的板材长度(宽度为常数)最小化。
我面临的问题:
所得到的输出结果是离散的(只有15个可能的利用率%),而不是连续的(因为存在11!* 2 ^ 11种可能的解->我们期望结果是连续的)。
模拟退火算法的路径 - MATLAB输出:
与此相同的SA代码生成的预期结果:
我得到的离散输出的原因可从下图中看出。有许多可能的序列可以给出相同的长度55。
利用率从最大长度计算:
我假设如果我按如下方式更改计算利用率%的方式,我可以解决这个问题。
利用率从边缘切割长度计算:
尽管我已经找到了如何解决这个问题,但我不知道如何找到边界切割面积以找到效率。有人有找到红线下面积的方法吗?我需要避免使用“图像处理工具箱”。
FYI:
矩形存储为从每个矩形的左下位置到原点的x,y距离。我有相应的长度,宽度值在另一个变量中。
问题描述:
目标:通过改变部件放置的顺序,使无限长的板材长度(宽度为常数)最小化。
我面临的问题:
所得到的输出结果是离散的(只有15个可能的利用率%),而不是连续的(因为存在11!* 2 ^ 11种可能的解->我们期望结果是连续的)。
模拟退火算法的路径 - MATLAB输出:
与此相同的SA代码生成的预期结果:
我得到的离散输出的原因可从下图中看出。有许多可能的序列可以给出相同的长度55。
利用率从最大长度计算:
我假设如果我按如下方式更改计算利用率%的方式,我可以解决这个问题。
利用率从边缘切割长度计算:
尽管我已经找到了如何解决这个问题,但我不知道如何找到边界切割面积以找到效率。有人有找到红线下面积的方法吗?我需要避免使用“图像处理工具箱”。
FYI:
矩形存储为从每个矩形的左下位置到原点的x,y距离。我有相应的长度,宽度值在另一个变量中。