Линейное программирование: чтение LP из текста и его решение с использованием симплекс-метода

Я хочу спроектировать консольное приложение (в Visual Studio 2010 C#), которое может читать LP из текстового файла и затем решать его, используя симплекс-метод.

Пример текстового файла:

"макс 4 5"

"9 8 <= 45"

"5 1 <= 29"

"1 7 <= 15"

Числа представляют коэффициенты переменных решения (например, 6 7 8 будет представлять 6x1 + 7x2 + 8x3)

Затем следует записать / создать выходной файл, содержащий оптимальное решение и значения переменных решения.

Я думал об использовании двумерного массива.

Любые мысли о том, как "импортировать" LP из текстового файла в программу и преобразовать уравнения в стандартную форму, готовую для вставки в 2D-массив, который будет действовать как моя таблица.

1 ответ

Вы как бы заново изобретаете колесо.

Формат MPS является стандартом де-факто.

Я лично предпочитаю формат CPLEX LP.

См. Также форматы файлов ILOG CPLEX или справочное руководство по форматам файлов для других форматов.

Я знаю, что, кажется, легко и просто реализовать метод симплекс-табу. Если вы не делаете это для развлечения и для обучения, я серьезно советую вам не делать этого.

Требуются годы и значительный опыт для внедрения симплексного метода качества продукции. Я бы вместо этого использовал симплексный решатель, например GLPK, SoPlex, Clp или lpsolve.

Другие вопросы по тегам