Лучший Смешанный Целочисленный Решатель Оптимизации с открытым исходным кодом [закрывается]

Вот реализация one , но независимо от того, за что вы находитесь, невозможно сказать, потому что вы не указали, что, по вашему мнению, ответ должен быть :

let answer = zip(array1, array2).map {$0.0 == $0.1}

Это дает вам список значений Bool, true, если ответ соответствует правильному ответу, false, если это не так.

Но скажем, что вы хотели был списком индексов тех ответов, которые являются правильными. Затем вы можете сказать:

let answer = zip(array1, array2).enumerated().filter() {
    $1.0 == $1.1
}.map{$0.0}

Если вы хотите, чтобы список индексов тех ответов, которые не правильные, просто измените == на !=.

48
задан Zach Scrivena 2 February 2009 в 05:20
поделиться

6 ответов

Я лично нашел GLPK лучше (т.е. быстрее), чем LP_SOLVE. Это поддерживает различные форматы файлов, и дальнейшим преимуществом является свой интерфейс библиотеки, который позволяет беспрепятственную интеграцию с Вашим приложением.

20
ответ дан David Hanak 7 November 2019 в 22:23
поделиться

Я рекомендую проверить проект COIN. COIN OR

Здесь много хороших решателей, включая ipOPT для нелинейных задач и пара решатели смешанных целых чисел.

10
ответ дан 26 November 2019 в 18:41
поделиться

100k переменных - большая проблема. Многие библиотеки с открытым исходным кодом плохо работают с таким количеством переменных. Из того, что я читал, lp_solve был протестирован только для 30k переменных. Единственным выбором может быть использование коммерческой системы.

2
ответ дан 26 November 2019 в 18:41
поделиться

Еще одно подтверждение для COIN-OR . Мы обнаружили, что компонент линейного оптимизатора (Clp) был очень сильным, а смешанный целочисленный компонент (Cbc) можно было довольно хорошо настроить с помощью некоторого анализа. Мы сравнили LP-Solve и GLPK.

Для действительно сложных задач подходящим решением является коммерческое решение.

19
ответ дан 26 November 2019 в 18:41
поделиться

Не с открытым исходным кодом, но если у вас есть лицензия Microsoft Academic Alliance, включается корпоративная версия Microsoft Solver Foundation (MSF). Gurobi также бесплатен для академических целей, я использовал его в своих диссертационных исследованиях.

0
ответ дан 26 November 2019 в 18:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: