【发布时间】:2015-07-26 02:49:53
【问题描述】:
我有很多元素,比如说[a, b, c, d],对于每个配对组合我都有一个分数:
[['d-a', 0], ['a-b', 0], ['b-a', 0],
['a-c', 2], ['c-a', 0], ['a-d', 2],
['d-b', 1], ['b-c', 2], ['c-b', 0],
['b-d', 2], ['d-c', 2], ['c-d', 2]]
我正在寻找一种在 Python 中将这些元素按连续顺序排列的方法,以使这些分数的总和最小化。每个单元必须出现一次且仅出现一次。请注意,两个元素的连续性也很重要,即'd-a' = 0 而'a-d' = 2。
我将非常感谢您的回答。
谢谢
西蒙
【问题讨论】:
-
对不起,我不清楚任务。请提供一些示例输出并向我们展示您到目前为止所做的尝试!
-
如果我理解得很好,你想找到一个
['a', 'b', 'c', 'd']的排列,它可以最小化分数的总和。而['c', 'b', 'd', 'a']的分数之和,例如,score('c', 'b') + score('c', 'd') + score('c', 'a') + score('b', 'd') + score('b', 'a') + score('d', 'a')。是这样吗?
标签: python optimization mathematical-optimization