我写了一个程序来解决旅行商问题,最小化旅行距离。 现在我正在尝试创建一个权重函数,该函数采用距离和时间并输出一个我可以使用的值而不是 TSP 的距离。 我的想法是让用户输入一个百分比(比如 70%)并以某种方式对距离和时间进行加权。
问题是我不知道如何比较以米为单位的距离和以秒为单位的时间。
最佳答案
一种方法是指定广义成本函数,即您确定一个距离单位的成本(以货币单位表示)和一个时间单位的成本。例如,如果您的旅行推销员是真正的旅行推销员,则 costs_per_time_unit 可以近似为 wage_per_time_unit,cost_per_distance_unit 可以近似为 fuel_cost_per_distance_unit + ...
这会产生 c_generalized = cost_per_time_unit * time + cost_per_distance_unit * distance,你就完成了。
关于algorithm - 如何为旅行商算法定义时间距离函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26098362/