Справка по симплексному методу/линейному программированию

Перед программированием алгоритма, реализующего симплекс-метод, я подумал, что решу проблему до того, как начнется фактическая работа по программированию.

По какой-то причине я НИКОГДА не могу получить правильный ответ. Я понял этот метод, но проблема заключается в операциях со строками - когда вы пытаетесь получить столбец со всеми значениями 0, кроме элемента поворота, который имеет значение «1».

Чтобы сделать это, я играю со строками, выполняя R1-R2, R2+5R1 и т. д. Мне всегда удается получить сводную колонку равной 1, а остальные 0, однако мои ответы никогда не совпадают с правильными. Я сузил это до проблемы с операциями со строками - есть ли какие-либо правила, связанные с этим, или я могу просто играть со строками столько, сколько мне нравится? Кроме того, могу ли я смешивать старые картины с текущими?

Спасибо


person simplex    schedule 15.05.2011    source источник
comment
Вы можете следовать этому, например, zweigmedia.com/RealWorld/tutorialsf4/framesSimplex. html, и если бы вы могли конкретно указать, над чем вы работаете, возможно, было бы легче ответить на ваш вопрос.   -  person James Black    schedule 16.05.2011


Ответы (1)


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

Вы определенно не должны использовать старые таблицы в своем решении. Каждая итерация должна включать только текущую таблицу.

Вы реализуете это для образовательного проекта? Если нет, то существует множество хорошо настроенных библиотек для решения линейных программ.

person japreiss    schedule 14.09.2011