Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лекция№10

.doc
Скачиваний:
10
Добавлен:
04.11.2018
Размер:
665.6 Кб
Скачать

Лекция №10

Графический метод решения ЗЛП

Рассмотрим ЗЛП в канонической форме: .

Пусть - ненулевой вектор, тогда линейная форма задачи задает в пространстве семейство параллельных гиперплоскостей линейной формы , нормальным вектором которых является вектор C. Если - фиксированное значение, то гиперплоскость делит все пространство на два полупространства: нижнее и верхнее .

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

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

Для того чтобы решить графически ЗЛП необходимо выполнить следующие действия.

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

  2. Построить вектор С с началом в некоторой точке .

  3. Построить гиперплоскость линейной формы (линию уровня) проходящую через точку .

  4. Передвигать гиперплоскость линейной формы параллельно самой себе в направлении вектора C (так как вектор задает направление возрастания F(X)) до получения опорной гиперплоскости.

Замечание. В случае непустого множества допустимых планов возможны три типовых ситуации:

а) опорная гиперплоскость касается множества допустимых планов в одной точке (задача имеет единственное решение);

б) опорная гиперплоскость касается множества допустимых планов вдоль стороны многоугольника (задача имеет бесконечное множество решений);

в) опорная гиперплоскость не определяется (задача не имеет решения).

Пример 10.1. Решить графически двумерную задачу линейного программирования:

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

2. Построим вектор , с началом в некоторой точке D с координатами (100; 100). Очевидно, что вектор С, в силу линейности функции будет перпендикулярен линиям уровня.

3. Построим линию уровня, проходящую через выбранную точку D. Подставим координаты точки D в целевую функцию : . Уравнение линии уровня, соответствующей данному значению будет иметь следующий вид . Построим полученную прямую (на рис.10.1 она обозначена (3')).

Рис.10.1.

4. Перемещая гиперплоскость линейной формы (линию уровня) из начального положения по направлению вектора С находим крайнее положение, определяющее опорную гиперплоскость. Поскольку полученная нами опорная гиперплоскость пересекается с множеством М в точке В, то наша задача имеет единственное решение.

Точка расположена на пересечении двух прямых (1') и (2'), поэтому, чтобы найти ее координаты необходимо решить следующую систему уравнений:

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

Пример 10.2. Решим графически двумерную задачу линейного программирования:

1. Окрашенная область ОАВС на рис.10.2 – множество допустимых планов ЗЛП.

2. Построим вектор С с началом в точке принадлежащей множеству допустимых планов, например, в точке D с координатами (1; 1).

3. Уравнение линии уровня проходящей через точку D будет иметь вид: . Построим полученную прямую (на рис.10.2 она обозначена (3')).

Рис 10.2.

4. Перемещая гиперплоскость линейной формы (линию уровня) из начального положения (3') по направлению вектора С находим крайнее положение, определяющее опорную гиперплоскость. Поскольку полученная нами гиперплоскость пересекается с множеством М по ребру АВ, то наша задача имеет бесконечное множество решений. А именно, все точки отрезка АВ являются оптимальными планами задачи, на которых достигается максимальное значение линейной формы .

Метод последовательного улучшения плана

Метод основан на упорядоченном переборе угловых точек множества планов задачи в сторону увеличения (или уменьшения) линейной формы и содержит три существенных момента.

Во-первых, указывается способ вычисления опорного плана. Во-вторых, устанавливается, признак, который позволяет проверить, является ли выбранный опорный план оптимальным. В третьих приводится способ, позволяющий по выбранному неоптимальному опорному плану построить другой опорный план, более близкий к оптимальному.

Переход от одного опорного плана к другому опорному плану

Рассмотрим ЗЛП в канонической форме

, (10.1)

где - матрица условий размером

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

. (10.2)

Так как вектора составляющие базис - линейно независимы, то существуют не все равные нулю, такие что

Разложим вектор по базису .

(10.3)

Умножим обе части последнего соотношения на некоторую величину , и результат вычтем из (10.2)

. (10.4)

Отсюда следует, что точка

удовлетворяет ограничениям типа равенств задачи (10.1). Чтобы эта точка являлась планом задачи необходимо выполнение условий неотрицательности её координат

(10.5)

При этом,

  • если все , то (10.5) выполняется при любом

  • если же существует , то (10.5) будет выполняться не при любом значении .

Решая неравенства относительно , получим

.

Ясно что, таких чисел может быть больше одного. Выберем наименьшее из них и обозначим его , т.е.

.

Так как план невырожденный и следовательно, , то . Итак, чтобы точка принадлежала множеству планов ЗЛП , нужно брать из полуинтервала . Однако при точка содержит положительных координат и, следовательно, не является угловой. План может быть опорным лишь при таком , при котором одна из его компонент обратиться в ноль. Очевидно, это произойдет при .

Пусть для определенности

Тогда первая координата обратиться в ноль

,

т.е. имеет ровно положительных координат.

Покажем, что - опорный план ЗЛП. Для этого нужно показать, что столбцы образуют линейно – независимую систему векторов.

Допустим противное, т.е., что вектора - линейно зависимы. Тогда существует

. (10.6)

С другой стороны, мы уже знаем, что

(10.7)

Подставим выражение (10.7) в предыдущее равенство (10.6)

(10.8)

Так как система - линейно независима равенство (10.8) возможно только в случае, когда все коэффициенты линейной комбинации равны нулю

Учитывая, что , то из последних соотношений получаем , , что противоречит предположению о линейной зависимости, а значит, - опорный план ЗЛП (10.1).

Базис этого опорного плана получился, очевидно, из базиса исходного опорного плана путем введения в него вектора и удаления вектора . Таким образом, мы перешли от одного опорного плана к другому опорному плану . Этот переход был выполнен с помощью процедуры однократного замещения, т.е. из старого базиса был выведен вектор-столбец и введен .

Рис 10.3.

Ребро, соединяющее соседние угловые точки и . определяется угловой точкой и вводимым в базис вектором . Если бы вместо ввели бы другой вектор, то получили бы другое ребро, а, следовательно, и другую угловую точку (рис 10.3).

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

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

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

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

Признак оптимальности опорного плана

Пусть дана задача:

(10.9)

(10.10)

(10.11)

Пусть известен некоторый опорный план, т.е. существует с базисом . Вычислим значения линейной формы и ограничений в точке

, (10.12)

Умножим равенство слева на и получим

(10.13)

Условие (10.10) можно записать

,

т.е.

Умножая последнее равенство слева на получим

(10.14)

Разложим вектор по базису и полученное выражение умножим слева на

Перепишем (10.14) с учетом (10.13)

.

(10.15)

Подсчитаем значение линейной формы в точке :

или

,

где

(10.16)

- оценки векторов относительно базиса .

Теорема 10.1. (необходимое условие оптимальности опорного плана). Для того, чтобы опорный план ЗЛП был оптимальным необходимо, чтобы оценки всех векторов условий относительно базиса этого опорного плана были неотрицательны ().

Д о к а з а т е л ь с т в о. Пусть - оптимальный опорный план с базисом . Выберем вектор , тогда

,

т.е. . Оценка вектора относительно базиса

Таким образом, оценка базисного вектора относительно того же базиса равна нулю.

Теперь рассмотрим вектор () не принадлежащий базису . Допустим, что оценка вектора отрицательна. Перейдем к новому опорному плану так как было проделано выше при рассмотрении процедуры однократного замещения.

Вычислим значение линейной формы в точке :

С учетом того, что и

,

чего быть не может.

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

Применение признака оптимальности опорного плана заключается, таким образом, в вычислении оценок всех небазисных векторов . Двум различным способам вычисления соответствует два вычислительных алгоритма симплекс - метода.

Первый способ состоит в вычислении коэффициентов разложения векторов по базису рассматриваемого опорного плана по формулам

и, затем, в вычислении оценок

Второй способ состоит в вычислении вектора-строки

и последующем вычислении оценок , .

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

Связь между параметрами последовательных итераций

Выведем формулы пересчёта коэффициентов разложения вектора по базисам двух соседних опорных планов.

Пусть известен опорный план с базисом .

Произведём операцию однократного замещения, а именно введем в базис вектор , и выведем из вектор , , т.е. мы предполагаем, что достигается на -ой позиции:

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