Линейное программирование: чтение 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.