您可以提出什么算法来解决下一个任务? 或者其他已知的优化任务与它类似?
你有N个人(N> 2)。有些人欠其他人的钱。您需要优化它们之间的资金流动。
示例:
优化将是:
答案 0 :(得分:-1)
我想我找到了一个很好的解决方案。
计算每个人的最终状态(图中的节点)。您可以通过将所有收入值汇总到此人/节点并减去所有结果来实现此目的。在我的例子中:
以下状态:
将最小数字(永远为负数)与最大数字(始终为正数)匹配,并更新最终雕像列表。例如:
匹配
以下状态:
重复2直到所有匹配(状态列表为空)。
匹配
答案 1 :(得分:-1)
如果您仍在寻找解决方案,请参阅其他StackOverflow问题的答案,并且它在所有解决方案的可能性方面都非常深入。链接:Algorithm to simplify a weighted directed graph of debts
第一个答案给出了算法的一些想法。 但第二个答案与学术论文有关,该论文深入探讨了这一问题。