【发布时间】:2016-01-06 11:23:55
【问题描述】:
我正在研究一种看似非常简单的问题的算法,但我找不到有效的算法。问题如下: 我有一个数字列表(0-50)和一个起始位置,并且必须在最小化总行驶距离的同时访问其中的每一个。有些地点要求我先去另一个地点(所以要访问 29,我必须先在 26 上取点东西)。但是,如果不生成每个选项,我似乎无法弄清楚如何做到这一点。有什么想法吗?
例如我们有以下
startLocation=25;
targetPairs=[[1,5],[7,12],[22,23]]
visitLocations=[4,6,8,2]
这意味着我们必须在 5 之前访问 1、在 12 之前访问 7 和在 23 之前访问 22。我们还必须访问位置 4、6、8 和 2。 开始的一个选择是太 1(距离 24)然后去 4(距离 3 总共 27)然后去 5(距离 1 总共 28)然后我们可以继续到 6(距离 1 总共 29)或全套 (7(30),8(31),12(35),22(45),23(46))。
从逻辑上讲,我们必须访问的地点数量限制为 50 对和 50 个地点。
【问题讨论】:
-
对更好的名字有什么想法吗?为什么要接近投票?
-
你能举一些例子吗?而一维意味着所有点都在Ox轴上?
-
我添加了一个例子来说明我的意思。
-
所以我们必须访问所有
targetPairs加上visitLocations? -
是的,没错。
标签: algorithm scheduling