ДВОЙСТВЕННЫЙ СИМПЛЕКСНЫЙ МЕТОД (СМ)



Использование идеи двойственности в сочетании с общей идеей СМ позволило разработать еще один метод решения задач линейного программирования: двойственный СМ или метод последовательного уточнения оценок.

Оказывается полезным в ряде случаев:

a. с его помощью можно решить задачу без использования искусственных переменных;

b. облегчается решение ряда вопросов, например, анализ на чувствительность.

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

 

АЛГОРИТМ ДВОЙСТВЕННОГО СИМПЛЕКСНОГО МЕТОДА.

1. Определяется возможность применения двойственного СМ.

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

  1. Проверяется полученное базисное решение на оптимальность:

1) если вектор b≥0, то получено оптимальное решение;

2) если имеется отрицательная правая часть для некоторого i, но все  в этой строке неотрицательные. В этом случае задача неразрешимая;

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

4) определяется переменная, которая должна быть включена в базис, т.е. разрешающий столбец. Для этого берется отношения симплексных разностей к разрешающей строки - , p - номер выбранной разрешающей строки, причем рассматриваются, только те отношения, для которых < 0. Из допустимых отношений выбирается минимальное.

3. Замена базиса и переход к шагу 2.

Пример 1:

 

Можно применить СМ:

- базисная переменная = -2 < 0;

- симплексные разности на начальном этапе неотрицательны,

 

 

      0 0 -1 -1 -1
0 -2 1 0 -1 1 -1
0 1 0 1 -1 -1 1
    0 0 0 1 1 1
          -1   -1

 

Все ∆ не отрицательные (-2, 1, 0, 0, 0)

      0 0 -1 -1 -1
-1 -2 -1 0 1 -1 1
0 3 -1 1 0 -2 2
    -2 1 0 0 2 0

 

 

(0, 3, 2, 0, 0) – оптимальное базисное решение, так как все правые части положительные.

 

Если решать эту задачу простым СМ, то пришлось бы вводить искусственные переменные.

Основное отличие простого СМ от двойственного СМ в том, что в простом СМ сначала определяется вектор, вводимый в базис, а затем вектор, исключаемый из базиса, а в двойственном СМ этот порядок обратный.

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

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

2. При решении простым СМ на промежуточном этапе имеются отрицательные симплексные разности, т.е. мы оперируем допустимыми решениями исходной задачи и недопустимыми решениям двойственной задачи.

При решении простым СМ мы стремимся избавиться от отрицательных симплексных разностей, т.е. стремимся в ОДР двойственной задачи, но при этом остаемся в ОДР исходной задачи. Как только нам удается найти допустимое решение двойственной задачи при допустимом решении исходной задачи, мы получаем оптимальное решение.

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

Простой симплексный критерий обуславливает нахождение в ОДР исходной задачи (правые части положительные).

Двойственный симплексный критерий обуславливает нахождение в ОДР двойственной задачи (контроль ∆ >0).

 

Задачи для самостоятельного решения.

Решить двойственным симплексным методом[3].

       1)

    

       2)        

       

Преобразуем:

3)

                              

         

 

         4)

                              

 

Пример.

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

Max f =

Так как прямая задача – задача максимизации, то все ограничения должны иметь знак “≤”, поэтому умножаем первое ограничение на (-1):

Теперь можно записать двойственную задачу:

Min z = - y1 + y2

 

Решим прямую задачу:

Max f = 16/5x1 + x2 + 8x3

 

 

 

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

Для получения начального базиса в первое ограничение вводим еще одну искусственную переменную :

В целевую функцию балансовые переменные входят с нулевым коэффициентом, а искусственные с очень большим коэффициентом (-М):

max f = 16/5x1 + x2 + 8x3 + 0(x4+x5) – Mx6.

Таблица 1.

 

базис

 

B

C 16/5 1 8 0 0 - М
CБ А1 А2 А3 А4 А5 А6
  X6   1   - М   1   3   1   -1   0   1
  X5   1     0   1     1     2   0   1   0
  ∆     - М       -М -16/5   -3М - 1   -М-8   -М     0   0

 

  X2   1/3     1   1/3   1   1/3   -1/3   0   1/3
  X5   2/3     0   2/3     0     5/3   1/3   1   -1/3
  ∆     1/3       -43/5   0   -23/3   -1/3   0   1/3+M

 

базис

 

B

C 16/5 1 8 0 0 - М
CБ А1 А2 А3 А4 А5 А6
  X2   0   1   0   1   -1/2   -1/2   -1/2   1/2
  X1   1   16/5   1   0   5/2   1/2   3/2   -1/2
  ∆   16/5     0   0   -1/2   11/10   43/10   —

 

  X2   1/5   1   1/5   1   0   -2/5   -1/5   —
  X3   2/5   8   2/5   0   1   1/5   3/5   -1/5
  ∆   17/5     1/5   0   0   6/5   23/5   —

 

Оптимальное решение прямой задачи:

Искомое значение целевой функции:

По последней таблице находим оптимальное решение двойственной задачи. Оно находится в индексной строке таблицы, в столбцах балансовых переменных А4, А5.

Значение целевой функции двойственной задачи:

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

 

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

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

Первое ограничение выполняется, как равенство, поэтому .

Второе ограничение выполняется, как равенство, поэтому .

Как видим, теорема 3 выполняется.

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

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

Аналогично для второго ограничения:

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

Третье ограничение:

выполняется, как равенство, поэтому оптимальное значение соответствующей переменной

.

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


 

ВАРИАНТЫ ЗАДАНИЙ

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

Задача 1.

17x1-5x2+x3+x4-8x5→max,

3x1-x2-x3+4x4+7x5≤11,

x1-5x2-5x3+x4+2x5≥-8,

x1+x2+x3+3x4-x5=4,

x1≥0, x4≥0.

 

Задача 2.

4x1-6x2-2x3+3x4+x5→min,

x1+2x2-3x3+x4-3x5≥-5,

2x1-3x2+x3+x4+2x5≥1,

-2x1-x2-x4-x5≤3.

 

Задача 3.

3x2-2x3+x4→min,

-x1+x3-x4=5,

2x1+x2-2x3+2x4≤7,

x1+x2+x3+3x4-x5=4,

x1≥0, x2≥0, x3≥0,x4≥0.

 

         Задача 4.

4x1+x2+x3+2x4+x5→max,

4x1+x2-x3-x4+x5≥9,

x1+x2-x3+x4+6x5=10,

-x1-3x2+5x3≤1,

x1≥0, x2≥0, x3≥0,x4≥0.

 

Задача 5.

 11x1+44x2 →max

3x1+5x2≥18,

X1+9x2≥30,

2x1+7x2≥27,

X1≥0, x2≥0

 

Задача 6.

5x1+7x2+13x3 →min

2x1+x2+4x3≥22,

X1+x2+x3=9,

X1+2x2+2x3≤18,

X1≥0, x2≥0, x3 не имеет ограничений в знаке

 

Задача 7.

X1+2x2→max,

3x1-4x2[A]1,

5x1+6x2[B]2,

-7x1+8x2[C]3,

X2≥0.


 

  A B C   A B C
1 = 11
2 12 =
3 13 =
4 = 14 =
5 = 15 =
6 = 16 = =
7 17 =
8 18 =
9 19 = =
10 = 20 =

 

Задача 8.

7x1+x3-4x4→max,

x1-x2+2x3-x4≤6,

2x1+x2-x3≤-1,

x1,x2,x3,x4≥0.

 

Задача 9.

x1+x3+x5→max,

x1+2x2+3x3-x4-x5≤6,

x1-x2-2x3+x4+x5≤5,

x1,x2,x3,x4,x5≥0.

 

 

Задача 10.

4x1+5x2+2x3+x4+x5→min,

-3x1+5x2+4x3+2x4+2x5=1,

-4x1-6x2-x3+x4+3x5=-1,

x1,x2,x3,x4,x5≥0.

 

Задача 11.

6x1+3x2-x3-2x4→max,

3x1+2x2+x3+x4≤0,

2x1+2x2-x3-x4=1,

x2≥0,x3≥0,x4≥0.


СПИСОК ЛИТЕРАТУРЫ

1. Вентцель Е.С. Исследование операций. Задачи, принципы, методология: Учеб.пособие для вузов.-М.: Дрофа, 2007.

2. Зайченко Ю.П. Исследование операций.-К.: Выща шк., 2007.

3. Зайченко Ю.П. Исследование операций. Сборник задач.-К.: Выща шк., 2007.

4. Куликов Ю.Г., Шеховцова Н.Ф., Зикеева Л.П. Экономико-математические методы и модели (раздел «Линейное программирование»): Учебное пособие для практических занятий.-М.: Московский психолого-социальный институт, 2006.

 

 


Дата добавления: 2018-04-15; просмотров: 895; Мы поможем в написании вашей работы!

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






Мы поможем в написании ваших работ!