2009-08-26 5 views
11

Мне нужен надежный исходный код C++ для симплекс-алгоритма (является популярным алгоритмом для численного решения проблемы линейного программирования).LP Алгоритм Simplex в C++

Пожалуйста, никаких ссылок на wikipedia. Мне нужен хороший исходный код на C++, используя шаблоны, понятные пользовательские имена и работайте очень хорошо.

Предпочтительно алгоритм должен проверять неустойчивый расчет с плавающей запятой.

+2

Покажите нам, что вы сделали до сих пор, и с чем вы столкнулись. –

+1

Итак, сколько вы готовы заплатить за кого-нибудь, чтобы написать это для вас? – Bombe

+2

Надеюсь, что существует такой бесплатный код для такого известного алгоритма. –

ответ

8

Эта библиотека C++: http://soplex.zib.de. Но лицензия имеет некоторые ограничения в отношении коммерческого использования.

У этого есть либеральная лицензия, но находится в C: http://aldebaran.devinci.fr/~cagnol/promotion2007/cs302/gsl/multimin/simplex.c.html Возможно, вы можете написать тонкую обертку.

+1

Последнее не является симплексным алгоритмом для решения задач линейного программирования, но алгоритм нелинейной оптимизации [Nelder and Mead] (http://en.wikipedia.org/wiki/Simplex_algorithm) – marton78

6

Вычислительная инфраструктура для исследований операций (COIN-OR) предоставляет программное обеспечение с открытым исходным кодом для исследовательского сообщества операций, особенно в области численной оптимизации. Проект CLP, управляемый Джоном Форрестом из IBM, реализует симплекс-алгоритм для линейного программирования на C++.

+0

Отличный ресурс там, спасибо! – patjbs

+0

Я знаю, что он немного старый, но просто хотел сказать, что ссылка мертва. –

4

Рассмотрите возможность использования библиотеки C lpsolve. Это не в C++, но это самый стабильный и известный бесплатный линейный программный решатель на основе симплексного метода.

Смежные вопросы