Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КАЛИЖАНОВА_ПОЛН.ВЕРСИЯ_ПОСОБИЯ..docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
2.06 Mб
Скачать

1.3. Симплексный метод решения задачи линейного программирования

Построение опорных планов. Доказано, что оптимальное решение задачи линейного программирования связано с угловыми точками многогранника решений, т. е. с опорными планами, каждый из которых определяется системой m линейно независимых векторов, содержащихся в данной системе из n векторов А1, А2, ..., Аn. Верхняя граница количества опорных планов, содержащихся в данной задаче, определяется числом сочетаний Сnm. При больших m и n найти оптимальный план, перебирая все опорные планы задачи, очень трудно. Поэтому необходимо иметь схему, позволяющую осуществлять упорядоченный переход от одного опорного плана к другому. Такой схемой является симплексный метод, который позволяет, исходя из известного опорного плана задачи, за конечное число шагов получить ее оптимальный план. Каждый из шагов (или итераций) состоит в нахождении нового плана, которому соответствует меньшее значение линейной функции, чем значение этой же функции в предыдущем плане. Процесс продолжают до получения оптимального плана. Если задача не обладает планами или ее линейная функция не ограничена на многограннике решений, то симплексный метод позволяет установить это в процессе решения.

1. Построение опорных планов

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

Найти минимальное значение функции Z = C1x1 + C2x2 + … + Cnxn при ограничениях:

где bi ³і 0 (I=1,2,…,m).

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

(1.11)

При ограничениях:

(1.12)

(1.13)

Запишем систему в векторной форме:

(1.14)

где

Векторы А1, А2, …, Аm – линейно независимые единичные векторы m-мерного пространства. Они и образуют базис этого пространства. Поэтому в разложении (1.14) за базисные неизвестные выбираем х1, х2, ..., хm, свободные неизвестные хm+1,..., хn приравниваем нулю и, учитывая, что bi ³і 0 (i=1,2,…,m), а векторы А1, А2,..., Аm – единичные, получаем первоначальный план:

Плану соответствует разложение

(1.15)

где векторы А12,…,Аm линейно независимы, следовательно, построенный первоначальный план является и опорным.

Рассмотрим, как, исходя из первоначального опорного плана, можно построить второй опорный план. Векторы А12,…,Аm образуют базис в m-мерном пространстве, поэтому каждый из данных векторов соотношения можно разложить по векторам базиса, причем единственным образом:

Предположим, что для некоторого вектора, не входящего в базис, например для вектора Аm+1, является положительным хотя бы один из коэффициентов хi,m+1 в разложении

(1.16)

Зададимся некоторой величиной qq > 0 (пока неизвестной), умножим на нее обе части равенства (1.16) и вычтем результат почленно из равенства (1.15). Получаем

Таким образом, вектор

является планом, если его компоненты неотрицательны.

Так как qq>0, то все компоненты вектора Х1, в которые входят неположительные xi,m+1, неотрицательны. Поэтому надо рассмотреть только компоненты, включающие положительные хi,m+1 (i=1, 2, ...,m), т. е. необходимо определить такое qq>0, при котором для всех хi, m+1³і0.

Из неравенства хi-qq xi,m+1³і0 получаем qq£Јxi/xi,m+1, следовательно, вектор xi является планом задачи для любого qq, удовлетворяющего условию

(1.17)

где минимум берется по i, для которых xi,m+1>0.

Опорный план не может содержать (m + 1) положительных компонент, поэтому в плане Х1 необходимо обратить в нуль по крайней мере одну из компонент. Положим в (1.17), что

тогда компонента плана X1, для которой достигается минимум, обращается в нуль. Пусть эта компонента стоит на первом месте, т. е.

Подставляя значение qq0 в (7), получаем разложение

которому, соответствует новый опорный план:

где хi' = xi - qq0xi,m+1 (i = 2, 3, ..., m), х'm+1 = qq0.

Исключение одного вектора из базиса и включение вместо него другого с помощью qq0 соответствуют переходу от одного базиса к другому с помощью метода Жордана – Гаусса, поэтому система векторов А2, А3,…, Аm, Аm+1 линейно независима и является новым базисом.

Для определения следующего опорного плана необходимо любой вектор, не входящий в базис А2, А3, ..., Аm, Аm+1, разложить по векторам этого базиса, а затем определить такое qq0 > 0, при котором исключался бы один из векторов этого базиса.

Таким образом, процесс получения новых опорных планов заключается в выборе вектора, который подлежит включению в базис, и определении вектора, подлежащего исключению из базиса. Критерий, используемый для определения вектора, который включается в базис, является одним из основных элементов симплексного метода. Заметим, что если вектор Аm+1 подлежит включению в базис, а в его разложении все xi,m+1£Ј0, то, очевидно, нельзя выбрать такое qq > 0, которое исключало бы один из векторов разложения. В этом случае план Х1 содержит m + 1 положительных компонент, а система векторов А1, А2, А3, ..., Аm, Аm+1 является линейно зависимой и определяет не угловую, а внутреннюю точку многогранника решений, в которой линейная функция не может достигать минимального значения. Это указывает на то, что гиперплоскость, соответствующая линейной функции, не может стать опорной к многограннику решений, как бы далеко ни перемещать ее в направлении, обратном вектору N, т. е. линейная функция не ограничена на многограннике решений.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]