Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lektsii_po_Perepelkinu.doc
Скачиваний:
201
Добавлен:
22.05.2015
Размер:
1.56 Mб
Скачать

9. Двойственный симплекс – метод.

Стандартный (прямой) симплекс – метод производит направленный перебор допустимых базисных решений исходной задачи, при котором возрастает значение целевой функции.

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

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

Рассмотрим следующий пример.

переход к, где

Определить

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

()

Соответствующая двойственная задача имеет вид:

Найти

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

()

Перепишем ограничения обеих задач в виде неравенств.

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

Составим расширенную симплекс – таблицу исходной задачи:

Номер

итерации

F,и базовая переменная

Значения

1

F

0

1

3

6

10

0

0

-1

1

1

-1

-2

1

0

-2

-1

-2

-1

-1

0

1

() ()

Выбранное базисное решение является недопустимым, т. к. =-1 и=-2, т. е. отрицательным.

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

Установим соответствие между переменными исходной и двойственной задач:

Для допустимого базисного решения двойственной задачи значения переменных:

=0;=0;=1;=3;=6;=10.

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

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

Так как =-1 и=-2, то для перевода из базисных в свободные выбираем.

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

Для выбора свободной переменнойисходной задачи,которая должна стать базисной, продолжается рассмотрение двойственной задачи.

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

Учитывая, что =0 (свободная переменная), получим значения,при которых соответствующие переменные,,,станут равными нулю.

Следовательно, для перевода из базисных переменных в свободные для двойственной задачи нужно выбрать переменную .

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

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

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

В нашем примере это переменная (см таблицу).

Замечание: Если все коэффициенты строкиявляются неотрицательными, т. е.для всехj, то оптимальное решение не существует, т. к. целевая функцияисходной задачи не ограничена сверху (или целевая функциядвойственной задачи не ограничена снизу).

После выбора необходимых переменных производится смена базиса (как и в прямом симплекс – методе) и переход к следующей итерации.

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

Продолжая решение примера получим:

() ()

Номер

итерации

F,и базовая переменная

Значения

1

F

0

1

3

6

10

0

0

-1

1

1

-1

-2

1

0

-2

-1

-2

-1

-1

0

1

2

F

-2

0

1

5

9

0

1

-3

0

-1

-2

-3

1

1

2

1

2

1

1

0

-1

3

F

-5

0

0

3

6

1

2

3

0

1

2

3

-1

-1

-4

1

0

-3

-5

2

1

4

F

-9

1

0

0

1

3

3

1

0

-

-

-

0

1

-

-

В результате получено оптимальное решение исходной задачи:

;;;;;, для которогоF=-9.

Оптимальное значение целевой функции двойственной задачи =-9 при базисном решении:

;;;;;.

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

Например:

1) при решении задачи , где(). Здесь можно получить эквивалентную

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

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

Подобные случаи возникают очень часто при решении задач целочисленного ЛП.

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

1) С помощью двойственногосимплекс – метода исключаются все отрицательные базисные переменные(или);

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

На первом этапе при использовании двойственного симплекс – метода изменяется правило выбора ведущего столбца:

Среди отрицательных коэффициентов ведущей строки выбрать элемент, для которого отношение

Пример:

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

()

Переходим к канонической форме ограничений:

()

Умножаем на (-1) первое и второе уравнения:

Симплекс – таблица имеет вид:

Номер

итерации

F,и базовая переменная

Значения

1

F

0

-8

-2

5

-6

1

-2

-1

1

-3

-1

2

-2

1

2

2

1

-1

1

2

F

-30

-3

-12

0

5

6

-1

2

1

-1

9

-3

6

0

-2

1

8

1

3

0

1

1

3

F

-12

-9

0

0

1

2

0

3

0

0

1

-

-

0

1

0

-

0

0

0

0

1

4

F

0

0

0

1

3

0

0

1

-

-

0

0

1

0

-

1

0

0

0

-

Замечание:отношенияи;не рассматриваются, т.к. знаменатель

Оптимальное решение:

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