我遇到了一个优化问题,我认为这是一个已知问题的组合,但我似乎无法找到合适的算法。
问题涉及在具有障碍物的空间中添加一定数量的水平线,并最小化线的长度。线的数量,它们之间的间距以及线之间的间距和空间的边界都存在约束。
修改 输入和输出可能是什么样子来解决问题:
输入:
设计参数是起点的Y值
输出:
如果找不到满足约束的普通线的解,那么一条线可以跳过"跳过"障碍,但是当发生这种情况时,需要在障碍物下方或上方添加一条比跳过的距离更长的额外线(见示例)。
我已经考虑将空间转换为网格并使用路径查找算法,如A *。我也看过线性编程算法,比如单纯形法,但我真的不知道如何表示问题,尤其是"跳过"一部分。
有关如何表示问题或指向类似问题或有用算法的任何帮助将不胜感激。