蒙克雷斯
匈牙利方法是一种组合优化算法,可以解决分配问题O(N ^ 3)。 该库包装了Java代码,供使用
用法
将此添加到您的project.clj :dependencies
[munkres "0.5.0"]
从您的源代码中要求它
( ns my-ns
( :require [munkres :as m]))
并这样称呼它:
( m/minimize-weight [[ 2 1 ] [ 3 4 ]]
[ :agent1 :agent2 ]
[ :task1 :task2 ])
这将导致分配:
{ :assignments { :agent1 :task2
:agent2 :task1 }
:weight 4.0 }
有关更多详细信息,请参见minimize-w