Так как проблема присвоения может быть создана в форме единственной матрицы, я задаюсь вопросом, имеет ли NumPy функцию для решения такой матрицы. До сих пор я не нашел ни один. Возможно, один из Вас, которых знают парни, имеет ли NumPy/SciPy функцию assignment-problem-solve?
Править: В это время я нашел Python (не NumPy/SciPy) реализацией по http://software.clapper.org/munkres/. Тем не менее я предполагаю, что внедрение NumPy/SciPy могло быть намного быстрее, правильно?
Нет , NumPy не содержит такой функции. Комбинаторная оптимизация выходит за рамки NumPy. Возможно, это удастся сделать с помощью одного из оптимизаторов в scipy.optimize
, но я чувствую, что ограничения могут не относиться к правильная форма.
NetworkX , вероятно, также включает алгоритмы для задач назначения.
Существует реализация алгоритма Мункреса в виде модуля расширения Python, который имеет поддержку numpy. Я успешно использовал его на своем старом ноутбуке. Однако на моей новой машине это не работает - я предполагаю, что существует проблема с "новыми" версиями numpy (или 64-битной архитектурой).