2015-11-16 6 views
-1

У меня есть масштабируемая проблема квадратичного программирования, которая имеет около 50-1000 переменных с линейными ограничениями. Я пытаюсь найти для этого эффективный решатель. Решение Matlab qp может решить только оптимальность для 100 переменных для моей проблемы. Будет ли cplex лучше? Есть ли другие инструменты, которые я могу использовать.Квадратичное программирование больших масштабов

+0

Как насчет GLPK? Я не уверен, что он делает квадратичное программирование. –

ответ

1

CPLEX определенно будет лучше. Все зависит от среды, в которой вы работаете. Если вам не нужно писать программу на C++, вы можете попробовать проекты COIN-OR, в частности Couenne http://www.coin-or.org/projects/Couenne.xml для нелинейных MIP и IPOPT http://www.coin-or.org/projects/Ipopt.xml; для любителей Python у них есть Coopr, DilPy, GrumPy и другие проекты. Вы также можете попробовать GAMS https://www.gams.com/, это отлично подходит для любой задачи оптимизации. Это не решатель, скорее система моделирования с большим количеством встроенных коммерческих и open-source решателей. Это бесплатно, если у вашей проблемы не более 50 переменных и 50 ограничений (насколько я помню).

0

Вы можете попробовать Opti Toolbox: http://www.i2c2.aut.ac.nz/Wiki/OPTI/

Он имеет интерфейс для различных решателей, которые вы можете использовать в Matlab. (Precompiled mex files.) Он может решать квадратичные задачи.