每个矩形和一个点具有最小距离的二维装箱快速算法

Rev*_*nzo 5 language-agnostic algorithm

这类似于装箱问题,但有一些变化.

我所拥有的是带注释数据的时间序列,当我绘制图表时,我想将注释放在总体上最小化与注释点的距离的位置.

这张图表(无偿地被盗)显示了我想做的事情:.

我知道这是一个优化问题,但我不知道从哪里开始.我首先做的是将它放在相应的x上,然后向上/向下移动y以找到可用的位置并保存已绘制的区域.虽然这有效,但它并没有真正充分利用可用空间,我想知道是否有更好的东西.

我想知道是否有任何已知的算法可以攻击这个或类似的问题?

补充说明:它不需要是最佳的,但绝对需要快速.这是在渲染期间完成的,因此在执行时会阻止UI.

Ted*_*opp 4

解决这个难题有多种方法。我建议从维基百科关于自动标签放置的文章开始。您还可能从基于力的图形绘制算法领域获得一些想法。