Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


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




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

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

1. Математическая модель прямой задачи линейного программирования должна быть в стандартной форме записи. В противном случае ее надо привести к стандартной форме записи.

2. Для прямой задачи составляется двойственная.

3. Обе задачи приводят к каноническому виду.

4. Выражают базисные переменные обеих задач через основные переменные.

5. Находят исходное решение прямой и двойственной задач и проверяют его на оптимальность. Для этого заполняют симплекс-таблицу двойственного симплекс-метода. Строки таблицы 1-го шага (верхние части клеток) заполняют по данным системы ограничений и целевой функции прямой задачи. Столбцы таблицы 1-го шага (верхние части клеток) заполняют по данным системы ограничений и целевой функции двойственной задачи.

Симплексная таблица двойственного симплекс-метода имеет следующий вид:

  yбаз ym+1 ym+2 ¼ ym+n  
yсв xсв xбаз - x1 - x2 ¼ - xn bi  
y1 xn+1 h11 h12 ¼ h1n l1  
 
y2 xn+2 h21 h22 ¼ h2n l2  
¼ ¼ ¼ ¼ ¼ ¼ ¼  
ym xn+m hm1 hm2 ¼ hmn lm  
cj - c1 - c2 ¼ - cn  

 

Решение является оптимальным, если в строке и столбце bi нет отрицательных элементов.

В противном случае следует провести изменения в базисных переменных.

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

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

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

Если среди полученных отношений нет отрицательных, то ПЗЛП не имеет решения, ДЗЛП не имеет смысла или решения.

На пересечении разрешающей строки и разрешающего столбца получен разрешающий элемент.

8. Заполнение нижних частей клеток таблицы. Под разрешающим элементом всегда ставят «1». Остальные элементы разрешающей строки переписываются без изменений. Остальные элементы разрешающего столбца переписываются с противоположным знаком. Остальные элементы таблицы находят по правилу прямоугольника: искомый элемент умножают на разрешающий и из этого произведения вычитают произведение элементов, расположенных на противоположной диагонали прямоугольника, образуемого искомым и разрешающим элементами (все элементы из верхних клеток).

9. Построение новой симплекс-таблицы. Изменяют базисные переменные: меняют местами переменные из разрешающей строки и разрешающего столбца. Элементы из нижних клеток предыдущей симплекс-таблицы делят на верхний разрешающий элемент и записывают на соответствующие места в верхние клетки новой симплекс-таблицы.

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

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

Если в строке есть нулевой элемент, то это признак альтернативного оптимума для ПЗЛП. Для нахождения альтернативного решения выполняется еще один шаг симплекс-метода: Столбец с нулевым элементом в строке выбирается за разрешающий. Находят неотрицательные отношения столбца свободных членов к соответствующим элементам разрешающего столбца. Из полученных отношений выбирают минимальное неотрицательное отношение – это разрешающая строка, разрешающий элемент найден. Затем выполняют еще один шаг симплекс-метода.

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

Рассмотрим решение задачи из п. 4.3 двойственным симплекс-методом.

Канонический вид:

Выразим базисные переменные через свободные:

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

х1 y4 х2 y5 х3 y1 х4 y2 х5 y3

 

Составим симплекс-таблицу

  yбаз y4 y5
yсв xсв xбаз - x1 - x2 bi
y1 x3   2 4
y2 x4 «1»    
y3 x5   1 8
cj - 3 - 4 0

 

Решение ПЗЛП выписывается по строкам, значения базисных переменных берутся из столбца bi, если переменная с соответствующим индексом не входит в базис, то ее значение равно нулю: = (0, 0, 4, 3, 8), = 0.

Решение ДЗЛП выписывается по столбцам, значения базисных переменных берутся из строки cj, если переменная с соответствующим индексом не входит в базис, то ее значение равно нулю: = (0, 0, 0, -3, -4), = 0.

Данное решение не является оптимальным, поскольку решение не допустимое (не выполнено условие неотрицательности переменных), ему соответствуют отрицательные элементы в строке .

Над минимальным отрицательным элементом «-4» в строке выбираем положительный, например «1», в строке x4, следовательно, эта строка – разрешающая (выделена жирным шрифтом).

Находим максимальное отношение среди отношений элементов в строке целевой функции к соответствующим элементам разрешающей строки

.

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

Разрешающий элемент «1» находится на пересечении разрешающей строки и разрешающего столбца.

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

клетка на пересечении первой строки и второго столбца:

  2
«1»  

2×1 - 1×1 = 1;

клетка на пересечении третьей строки и второго столбца:

«1»  
  1

1×1 - 2×1 = -1;

клетка на пересечении четвертой строки и второго столбца:

«1»  
¼ ¼
- 3 - 4

- 4×1 - (-3)×1 = -1;

клетка на пересечении первой строки и третьего столбца:

  ¼ 4
«1» ¼  

4×1 - 3×1 = 1;

клетка на пересечении третьей строки и третьего столбца:

«1» ¼  
  ¼ 8

8×1 - 3×2 = 2;

клетка на пересечении четвертой строки и третьего столбца:

«1» ¼  
¼ ¼ ¼
- 3 ¼ 0

0×1 - 3×(-3) = 9;

Таким образом, получаем следующую таблицу:

  yбаз y4 y5
yсв xсв xбаз - x1 - x2 bi
y1 x3 -1 2 1 4 1
y2 x4 «1»    
y3 x5 -2 1 -1 8 2
cj - 3 - 4 -1 0 9

 

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

  yбаз y2 y5
yсв xсв xбаз - x4 - x2 bi
y1 x3 -1   1
y3 x1 1   3
y3 x5 -2 -1 2
cj 3 -1 9

 

Решение ПЗЛП на втором шаге двойственного симплекс-метода также выписывается по строкам: = (3, 0, 1, 0, 2), = 9, решение ДЗЛП выписывается по столбцам: = (0, 3, 0, 0, -1), = 9. Данное решение также не оптимальное, поскольку еще остался отрицательный элемент «-1». Необходим еще один шаг двойственного симплекс-метода.

Над отрицательным элементом «-1» в строке выбираем положительный, предпочтительнее «1», в строке x3, поскольку вторая строка была выбрана на предыдущем шаге метода, следовательно, первая строка – разрешающая (выделена жирным шрифтом).

Находим максимальное отношение среди отношений элементов в строке целевой функции к соответствующим элементам разрешающей строки

.

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

Разрешающий элемент «1» находится на пересечении разрешающей строки и разрешающего столбца.

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

  yбаз y2 y5
yсв xсв xбаз - x4 - x2 bi
y1 x3 -1 -1 «1» 1
y3 x1 1 2 -1 3 2
y3 x5 -2 -3 -1 1 2 3
cj 3 2 -1 1 9 10

 

Переходим к следующей симплекс-таблице. При этом в базис включается пара переменных х2, у5, соответствующих разрешающему столбцу, а из базиса выводится пара переменных х3, у2, соответствующая разрешающей строке. В следующей таблице данные пары переменных меняются местами. Клетки следующей таблицы заполняются элементами, полученными в результате деления соответствующих элементов из предыдущей таблицы в нижних частях клеток на разрешающий элемент «1». Поскольку в нижних частях клеток таблицы все элементы положительные и разрешающий элемент также положительный, то в следующей таблице будет получено оптимальное решение и нет необходимости делить на две части клетки в последней таблице:

  yбаз y2 y1
yсв xсв xбаз - x4 - x3 bi
y5 x2 -1 1 1
y3 x1 2 -1 2
y3 x5 -3 1 3
cj 2 1 10

 

Оптимальное решение ПЗЛП: = (2, 1, 0, 0, 3), = 10, оптимальное решение ДЗЛП: = (1, 2, 0, 0, 0), = 10.

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





Поделиться с друзьями:


Дата добавления: 2016-10-30; Мы поможем в написании ваших работ!; просмотров: 871 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Свобода ничего не стоит, если она не включает в себя свободу ошибаться. © Махатма Ганди
==> читать все изречения...

2307 - | 2069 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.008 с.