Главная > Энциклопедия кибернетики. Т.2
<< Предыдущий параграф Следующий параграф >>
Пред.
След.
Макеты страниц

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

Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике

СИМПЛЕКС-МЕТОД

— метод решения задачи линейного программирования, в котором осуществляется направленное движение по опорным планам до нахождения оптимального решения: С.-м. наз. еще методом последовательного улучшения плана.

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

где вектор переменных, — заданные векторы, Т — знак транспонирования, отличные от нуля компоненты опорного плана, расположенные для простоты изложения на первых местах вектора базис этого плана. Тогда

где значение линейной формы на данном плане. Т. к. вектор-столбцы матрицы А линейно независимы, любой из векторов условий имеет по ним единственное разложение:

где коэфф. разложения. Система условий

при заданном к определяет в пространстве переменных задачи луч, исходящий из точки, которая соответствует рассматриваемому опорному плану. Пусть значение переменной при движении по этому лучу равно 0, тогда значение базисных переменных равны . В этих обозначениях ур-ние (5) представимо в виде

Умножив ур-ние (3) на 0 при и вычтя из ур-ния (1), получим

Из ур-ний (7—8) получаем

Т. к. (0) при определяют план задачи, то наибольшее 0, не нарушающее ограничений определяется из условия

где .

В силу невырожденности задачи минимум достигается не больше, чем для одного Значение линейной формы при определяется из ур-ний (9), (4), (2)

где . Очевидно, для т.

Пусть начальный базис из единичных векторов. Все данные задачи записываются в виде симплекс-таблицы (первой итерации вычислительного процесса). Симплекс-алгоритм решения задачи линейного программирования составляется из выполнения следующих операций: 1) найти .

Если рассматриваемый план оптимален; если вектор А к вводится в базис; 2) найти для которого из формулы (10). Если пустое мн-во, линейная форма неограничена сверху; если

Симплекс-алгоритм (первая итерация вычислительного процесса)

(табл. см. скан)

, вектор выводится из базиса; 3) по найденным I, к вычислить новые значения элементов таблицы по формулам

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

при ограничениях

которая содержит единичный базис, состоящий из векторов Этим векторам соответствуют искусственные переменные со значениями . Если в оптим. решении этой задачи исходная задача не имеет решения. Если же и задача невырождена, оптим. базис состоит только из векторов исходной задачи, крторые по формулам (12) преобразованы в единичную матрицу. Если задача обладает вырожденными планами, значение может не увеличиваться на ряде итераций. Это происходит из-за того, что значение соответствующих равно нулю и определяется неоднозначно. В таких случаях монотонность метода нарушается и может произойти зацикливание, т. е. возврат к уже пройденному базису. Небольшое изменение вектора ограничений задачи, которое заключается в замене величин на где достаточно малы, при подходящем выборе не изменяет множества векторов оптим. опорного плана исходной задачи и делает ее невырожденной.

Описанный выше алгоритм наз. первым (или прямым) алгоритмом Широко известен также второй алгоритм (алгоритм с обратной матрицей). В нем преобразовывается лишь матрица обратная базисной матрице.

Лит. см. к Программирование линейное.

В. А. Трубин.

Categories

1
Оглавление
email@scask.ru