Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
РЦПК МОР1 / пособие МОР.doc
Скачиваний:
81
Добавлен:
10.05.2015
Размер:
3.31 Mб
Скачать

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

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

(54)

при условиях

(55)

(56)

где

и среди чисел имеются отрицательные.

В данном случае есть решение системы линейных уравнений (55).Однако это решение не является планом задачи (54) - (56),так как среди его компонент имеются отрицательные числа.

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

Определение 1.13.Решение системы линейных уравнений (55),определяемое базисом , называетсяпсевдопланомзадачи (54) - (56), еслидля любого

Теорема 1.13.Если в псевдоплане ,определяемом базисом , есть хотя бы одно отрицательное число такое, что все,то задача (54) - (56)вообще не имеет планов.

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

Сформулированные теоремы дают основание для построения алгоритма двойственного симплекс-метода.

Итак, продолжим рассмотрение задачи (54) - (56).Пусть —псевдоплан этой задачи. На основе исходных данных составляют симплекс-таблицу (табл. 15), в которой некоторые элементы столбца вектораявляются отрицательными числами. Если таких чисел нет, то в симплекс-таблице записан оптимальный план задачи (54) - (56),поскольку, по предположению, все. Поэтому для определения оптимального плана задачи при условии, что он существует, следует произвести упорядоченный переход от одной симплекс-таблицы к другой до тех пор, пока из столбца векторане будут исключены отрицательные элементы. При этом все время должны оставаться неотрицательными все элементы (т +1)-й строки, т.е.для любого

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

Пусть это минимальное значение принимается при , тогда в базис вводят векторРr.Число является разрешающим элементов. Переход к новой симплекс-таблице производят по обычным правилам симплексного метода. Итерационный процесс продолжают до тех пор, пока в столбце вектораР0не будет больше отрицательных чисел. При этом находят оптимальный план исходной задачи, а следовательно, и двойственной. Если на некотором шаге окажется, что вi-й строке симплекс-таблицы (табл. 15)в столбце вектораР0стоит отрицательное число bi, а среди остальных элементов этой строки нет отрицательных, то исходная задача не имеет решения.

Таким образом, отыскание решения задачи (54) - (56) двойственным симплекс-методом включает следующие этапы:

1.Находят псевдоплан задачи.

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

3.Выбирают разрешающую строку с помощью определения наибольшего по абсолютной величине отрицательного числа столбца вектораР0и разрешающий столбец с помощью нахождения наименьшего по абсолютной величине отношения элементов (m+1)-и строки к соответствующим отрицательным элементам разрешающей строки.

4.Находят новый псевдоплан и повторяют все действия, начиная с этапа 2.

Таблица 15

i

Базис

Cб

P0

c1

c2

ce

cm

cm+1

cr

cn

P1

Р2

Рe

Рm

Рm+1

Рr

Рn

1.16.Найти максимальное значение функции при условиях

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

Умножим второе и третье уравнения системы ограничении последней задачи на -1и переходим к следующей задаче: найти максимум функции

(57)

при условиях

(58)

(59)

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

(60)

при условиях

(61)

(62)

Выбрав в качестве базиса векторы и , составим симплексную таблицу (табл. 16) для исходной задачи (57) - (59).

Таблица 16

i

Базис

Сб

Р0

1

1

2

0

0

P1

P2

P3

p4

p5

1

2

3

4

p3

P4

p5

2

0

0

8

-4

-6

16

1

-1

-1

1

1

1

-2

1

1

0

0

0

0

1

0

0

0

0

1

0

Из этой таблицы видим, что планом двойственной задачи (57) - (59)является.При этом плане Так как в столбце вектораР0таблица 16имеются два отрицательных числа (-4и -6),а в 4-й строке отрицательных чисел нет, то в соответствии с алгоритмом двойственного симплекс-метода переходим к новой симплекс-таблице. (В данном случае это можно сделать, так как в строках векторовР4 и Р5имеются отрицательные числа. Если бы они отсутствовали, то задача была бы неразрешима.) Вектор, исключаемый из базиса, определяется наибольшим по абсолютной величине отрицательным числом, стоящим в столбце вектораР0.В данном случае это число -6. Следовательно, из базиса исключаем векторР5.Чтобы определить, какой вектор необходимо ввести в базис, находимгдеИмеем

Значит, в базис вводим векторP2.Переходим к новой симплекс-таблице (табл. 17).

Таблица 17

i

Базис

Сб

Р0

1

1

2

0

0

P1

P2

P3

p4

p5

1

2

3

4

p3

P4

p2

2

0

1

5

-7

3

13

1/2

-3/2

1/2

1/2

0

0

1

0

1

0

0

0

0

1

0

0

1/2

1/2

-1/2

1/2

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

Так как в столбце вектора Р0таблицы 17стоит отрицательное число -7,то рассмотрим элементы 2-й строки. Среди этих чисел есть одно отрицательное -3/2.Если бы такое число отсутствовало, то исходная задача была бы неразрешима. В данном случая переходим к новой симплекс-таблице (табл. 18).

Таблица 18

i

Базис

Сб

Р0

1

1

2

0

0

P1

P2

P3

p4

p5

1

2

3

4

p3

P1

p2

2

1

1

8/3

14/3

2/3

32/3

0

1

0

0

0

0

1

0

1

0

0

0

1/3

-2/3

1/3

1/3

2/3

-1/3

-1/3

2/3

Как видно из таблицы 18,найдены оптимальные планы исходной и двойственной задач. Ими являются и .При этих планах значения линейных форм исходной и двойственной задач равны:

1.17.Найти максимальное значение функциипри условиях

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

Взяв в качестве базиса векторы Р3, Р4иР5, составляем симплекс-таблицу (табл. 19).

Таблица 19

i

Базис

Сб

Р0

2

3

0

5

0

P1

P2

P3

p4

p5

1

2

3

4

p3

P4

p5

0

5

0

-12

10

-18

50

2

1

-3

3

-1

2

2

7

1

0

0

0

0

1

0

0

0

0

1

0

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

Таблица 20

i

Базис

Сб

Р0

2

3

0

5

0

P1

P2

P3

p4

p5

1

2

3

4

p3

P4

p1

0

5

2

-24

4

6

32

0

0

1

0

1/3

8/3

-2/3

9

1

0

0

0

0

1

0

0

2/3

1/3

-1/3

1

Так как в строке вектора Р3нет отрицательных чисел, то исходная задача не имеет решения.

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

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

Задачи занятия:

- изучение формы моделей задачи линейного программирования (ЗЛП);

- получение навыка решения ЗЛП в среде EXCEL

Методические указания

.

R=

В ячейке А1 введем целевую функцию, в ячейках С1-5 задавая неизвестные пока значения переменных целевой функции:

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

Через СЕРВИС/НАДСТРОЙКИ установить Поиск решения:

Через СЕРВИС/ПОИСК РЕШЕНИЯ открыть окно поиска решения и выбрать А1 целевой ячейкой:

В окне «Изменяя ячейки» выбираем С1-С5 и вводим ограничения (кнопка ДОБАВИТЬ):

Нажав кнопку ВЫПОЛНИТЬ, получим решение:

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

Задачи:

- изучение алгоритма графического метода решения ЗЛП;

- получение практического навыка решения ЗЛП графическим методом.

Методические указания

Рассмотрим следующую задачу линейного программирования1:

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

Рис. 4.1. Геометрическая интерпретация решения задачи

Геометрическую интерпретацию имеют ЗЛП с двумя переменными.

Исследуем целевую функцию 30х1 + 40х2. Данной целевой функции соответствует семейство прямых 30х1 + 40х2 = L, представляющих собой множество параллельных прямых, каждая из которых соответствует определенному значению параметра L. Тогда задачу линейного программирования можно сформулировать следующим образом. Найти такое максимальное значение L, при котором прямая 30х1 + 40х2 = L пересекает допустимое множество.

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

Для нахождения экстремального значения целевой функции при графическом решении ЗЛП используют вектор-градиент целевой функции Ñf(`X) на плоскости Х1ОХ2. Этот вектор показывает направление наискорейшего изменения целевой функции, он равен

,

где и- единичные векторы по осям ОХ1 и ОХ2 соответственно. Таким образом, Ñf(`X) = (f/x1, (f/x2). Координатами вектора-градиента целевой функции Ñf(`X) являются коэффициенты целевой функции f(`X).

В рассматриваемом примере, если двигать прямую 30х1 + 40х2 = L из начала координат по направлению вектора-градиента целевой функции, то точкой, в которой достигается самая верхняя линия уровня является точка М пересечения прямых 5x1 + 2x2 = 1000 и x1 + 2x2 = 4000 с координатами x1 = 1500 и x2 = 1250. Таким образом, оптимальное решение достигается в точке М (1500; 1250). При этом значение целевой функции составит f(`X*) =30 * 1500 + 40 * 1250 = 95000.

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

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

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

(7)

1)Форма записиозначает, чтоjпринимает последовательно значения 1, 2, 3

1Михайлова Э.А., Смирнов А.О. Методы нахождения оптимального управления экономическими системами: пособие для практических занятий / РГАТА. Кафедра экономики. - Рыбинск, 1998. - 42 с.

37

Соседние файлы в папке РЦПК МОР1