对于我的一个项目,我正在尝试创建一个求解器,给定一组具有加权路径的随机加权节点,它将找到具有有限移动次数的最高得分路径。我创建了一个视觉对象来帮助描述问题。
为了完整起见,此示例显示了所有连接边。边上的数字是遍历成本,节点内的数字是分数。一个节点只有在遍历到它时才被计算在内,并且不能从它自己遍历到它自己。
正如您从图像中的描述中看到的那样,有一个开始/结束节点,其中包含随机放置的节点,每个节点都有一个任意分数。每个节点都连接到所有其他节点,并且每个连接都具有从剩余移动单元总数中减去的任意权重。为简单起见,您可以假设连接的权重是距离的函数。节点可以多次移动,并且再次应用它们的分数。目标是找到在给定移动限制下得分最高的循环路径。
求解器永远不会处理超过 30 个节点,通常处理 10-15 个节点。我仍然需要尝试让它尽可能快。
除了纯粹的蛮力方法之外,关于算法或方法的任何想法可以帮助我解决这个问题吗?