Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Двойственная задача линейного программирования.
Решим прямую задачу линейного программирования симплексным методом, с использованием симплексной таблицы.
Определим максимальное значение целевой функции F(X) = 3x1 + 4x2 + 5x3 при следующих условиях-ограничений.
3x1 + 4x2 + 5x3≥2
4x1 + 6x2 + 3x3≤5
x1 + 2x2 + 4x3≤3
Для построения первого опорного плана систему неравенств приведем к системе уравнений путем введения дополнительных переменных (переход к канонической форме).
В 1-м неравенстве смысла (≥) вводим базисную переменную x4 со знаком минус. В 2-м неравенстве смысла (≤) вводим базисную переменную x5. В 3-м неравенстве смысла (≤) вводим базисную переменную x6.
3x1 + 4x2 + 5x3-1x4 + 0x5 + 0x6 = 2
4x1 + 6x2 + 3x3 + 0x4 + 1x5 + 0x6 = 5
1x1 + 2x2 + 4x3 + 0x4 + 0x5 + 1x6 = 3
Введем искусственные переменные x: в 1-м равенстве вводим переменную x7;
3x1 + 4x2 + 5x3-1x4 + 0x5 + 0x6 + 1x7 = 2
4x1 + 6x2 + 3x3 + 0x4 + 1x5 + 0x6 + 0x7 = 5
1x1 + 2x2 + 4x3 + 0x4 + 0x5 + 1x6 + 0x7 = 3
Для постановки задачи на максимум целевую функцию запишем так:
F(X) = 3x1+4x2+5x3 - Mx7 → max
За использование искусственных переменных, вводимых в целевую функцию, накладывается так называемый штраф величиной М, очень большое положительное число, которое обычно не задается.
Полученный базис называется искусственным, а метод решения называется методом искусственного базиса.
Причем искусственные переменные не имеют отношения к содержанию поставленной задачи, однако они позволяют построить стартовую точку, а процесс оптимизации вынуждает эти переменные принимать нулевые значения и обеспечить допустимость оптимального решения.
Из уравнений выражаем искусственные переменные:
x7 = 2-3x1-4x2-5x3+x4
которые подставим в целевую функцию:
F(X) = 3x1 + 4x2 + 5x3 - M(2-3x1-4x2-5x3+x4) → max
или
F(X) = (3+3M)x1+(4+4M)x2+(5+5M)x3+(-1M)x4+(-2M) → max
Матрица коэффициентов A = a(ij) этой системы уравнений имеет вид:
3 |
4 |
5 |
-1 |
0 |
0 |
1 |
4 |
6 |
3 |
0 |
1 |
0 |
0 |
1 |
2 |
4 |
0 |
0 |
1 |
0 |
Базисные переменные это переменные, которые входят только в одно уравнение системы ограничений и притом с единичным коэффициентом.
Решим систему уравнений относительно базисных переменных:
x7, x5, x6,
Полагая, что свободные переменные равны 0, получим первый опорный план:
X1 = (0,0,0,0,5,3,2)
Базисное решение называется допустимым, если оно неотрицательно.
Базис |
B |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x7 |
2 |
3 |
4 |
5 |
-1 |
0 |
0 |
1 |
x5 |
5 |
4 |
6 |
3 |
0 |
1 |
0 |
0 |
x6 |
3 |
1 |
2 |
4 |
0 |
0 |
1 |
0 |
F(X0) |
-2M |
-3-3M |
-4-4M |
-5-5M |
1M |
0 |
0 |
0 |
Переходим к основному алгоритму симплекс-метода.
Итерация №0.
1. Проверка критерия оптимальности.
Текущий опорный план неоптимален, так как в индексной строке находятся отрицательные коэффициенты.
2. Определение новой базисной переменной.
В качестве ведущего выберем столбец, соответствующий переменной x3, так как это наибольший коэффициент по модулю.
3. Определение новой свободной переменной.
Вычислим значения Di по строкам как частное от деления: bi / ai3
и из них выберем наименьшее:
min (2 : 5 , 5 : 3 , 3 : 4 ) = 2/5
Следовательно, 1-ая строка является ведущей.
Разрешающий элемент равен (5) и находится на пересечении ведущего столбца и ведущей строки.
Базис |
B |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
min |
x7 |
2 |
3 |
4 |
5 |
-1 |
0 |
0 |
1 |
2/5 |
x5 |
5 |
4 |
6 |
3 |
0 |
1 |
0 |
0 |
12/3 |
x6 |
3 |
1 |
2 |
4 |
0 |
0 |
1 |
0 |
3/4 |
F(X1) |
-2M |
-3-3M |
-4-4M |
-5-5M |
1M |
0 |
0 |
0 |
0 |
4. Пересчет симплекс-таблицы.
Формируем следующую часть симплексной таблицы.
Вместо переменной x в план 1 войдет переменная x3 .
Строка, соответствующая переменной x3 в плане 1, получена в результате деления всех элементов строки x7 плана 0 на разрешающий элемент РЭ=5
На месте разрешающего элемента в плане 1 получаем 1.
В остальных клетках столбца x3 плана 1 записываем нули.
Таким образом, в новом плане 1 заполнены строка x3 и столбец x3 .
Все остальные элементы нового плана 1, включая элементы индексной строки, определяются по правилу прямоугольника.
Для этого выбираем из старого плана четыре числа, которые расположены в вершинах прямоугольника и всегда включают разрешающий элемент РЭ.
НЭ = СЭ - (А*В)/РЭ
СТЭ - элемент старого плана, РЭ - разрешающий элемент (5), А и В - элементы старого плана, образующие прямоугольник с элементами СТЭ и РЭ.
Представим расчет каждого элемента в виде таблицы:
B |
x 1 |
x 2 |
x 3 |
x 4 |
x 5 |
x 6 |
x 7 |
2 : 5 |
3 : 5 |
4 : 5 |
5 : 5 |
-1 : 5 |
0 : 5 |
0 : 5 |
1 : 5 |
5-(2 • 3):5 |
4-(3 • 3):5 |
6-(4 • 3):5 |
3-(5 • 3):5 |
0-(-1 • 3):5 |
1-(0 • 3):5 |
0-(0 • 3):5 |
0-(1 • 3):5 |
3-(2 • 4):5 |
1-(3 • 4):5 |
2-(4 • 4):5 |
4-(5 • 4):5 |
0-(-1 • 4):5 |
0-(0 • 4):5 |
1-(0 • 4):5 |
0-(1 • 4):5 |
(0)-(2 • (-5-5M)):5 |
(-3-3M)-(3 • (-5-5M)):5 |
(-4-4M)-(4 • (-5-5M)):5 |
(-5-5M)-(5 • (-5-5M)):5 |
(1M)-(-1 • (-5-5M)):5 |
(0)-(0 • (-5-5M)):5 |
(0)-(0 • (-5-5M)):5 |
(0)-(1 • (-5-5M)):5 |
Получаем новую симплекс-таблицу:
Базис |
B |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x3 |
2/5 |
3/5 |
4/5 |
1 |
-1/5 |
0 |
0 |
1/5 |
x5 |
34/5 |
21/5 |
33/5 |
0 |
3/5 |
1 |
0 |
-3/5 |
x6 |
12/5 |
-12/5 |
-11/5 |
0 |
4/5 |
0 |
1 |
-4/5 |
F(X1) |
2 |
0 |
0 |
0 |
-1 |
0 |
0 |
1+1M |
Итерация №1.
1. Проверка критерия оптимальности.
Текущий опорный план неоптимален, так как в индексной строке находятся отрицательные коэффициенты.
2. Определение новой базисной переменной.
В качестве ведущего выберем столбец, соответствующий переменной x4, так как это наибольший коэффициент по модулю.
3. Определение новой свободной переменной.
Вычислим значения Di по строкам как частное от деления: bi / ai4
и из них выберем наименьшее:
min (- , 34/5 : 3/5 , 12/5 : 4/5 ) = 13/4
Следовательно, 3-ая строка является ведущей.
Разрешающий элемент равен (4/5) и находится на пересечении ведущего столбца и ведущей строки.
Базис |
B |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
min |
x3 |
2/5 |
3/5 |
4/5 |
1 |
-1/5 |
0 |
0 |
1/5 |
- |
x5 |
34/5 |
21/5 |
33/5 |
0 |
3/5 |
1 |
0 |
-3/5 |
61/3 |
x6 |
12/5 |
-12/5 |
-11/5 |
0 |
4/5 |
0 |
1 |
-4/5 |
13/4 |
F(X2) |
2 |
0 |
0 |
0 |
-1 |
0 |
0 |
1+1M |
0 |
4. Пересчет симплекс-таблицы.
Формируем следующую часть симплексной таблицы.
Вместо переменной x в план 2 войдет переменная x4 .
Строка, соответствующая переменной x4 в плане 2, получена в результате деления всех элементов строки x6 плана 1 на разрешающий элемент РЭ=4/5
На месте разрешающего элемента в плане 2 получаем 1.
В остальных клетках столбца x4 плана 2 записываем нули.
Таким образом, в новом плане 2 заполнены строка x4 и столбец x4 .
Все остальные элементы нового плана 2, включая элементы индексной строки, определяются по правилу прямоугольника.
Представим расчет каждого элемента в виде таблицы:
B |
x 1 |
x 2 |
x 3 |
x 4 |
x 5 |
x 6 |
x 7 |
2/5-(12/5 • -1/5):4/5 |
3/5-(-12/5 • -1/5):4/5 |
4/5-(-11/5 • -1/5):4/5 |
1-(0 • -1/5):4/5 |
-1/5-(4/5 • -1/5):4/5 |
0-(0 • -1/5):4/5 |
0-(1 • -1/5):4/5 |
1/5-(-4/5 • -1/5):4/5 |
34/5-(12/5 • 3/5):4/5 |
21/5-(-12/5 • 3/5):4/5 |
33/5-(-11/5 • 3/5):4/5 |
0-(0 • 3/5):4/5 |
3/5-(4/5 • 3/5):4/5 |
1-(0 • 3/5):4/5 |
0-(1 • 3/5):4/5 |
-3/5-(-4/5 • 3/5):4/5 |
12/5 : 4/5 |
-12/5 : 4/5 |
-11/5 : 4/5 |
0 : 4/5 |
4/5 : 4/5 |
0 : 4/5 |
1 : 4/5 |
-4/5 : 4/5 |
(1+1M)-(12/5 • (-1)):4/5 |
(0)-(-12/5 • (-1)):4/5 |
(0)-(-11/5 • (-1)):4/5 |
(0)-(0 • (-1)):4/5 |
(-1)-(4/5 • (-1)):4/5 |
(0)-(0 • (-1)):4/5 |
(0)-(1 • (-1)):4/5 |
(1+1M)-(-4/5 • (-1)):4/5 |
Получаем новую симплекс-таблицу:
Базис |
B |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x3 |
3/4 |
1/4 |
1/2 |
1 |
0 |
0 |
1/4 |
0 |
x5 |
23/4 |
31/4 |
41/2 |
0 |
0 |
1 |
-3/4 |
0 |
x4 |
13/4 |
-13/4 |
-11/2 |
0 |
1 |
0 |
11/4 |
-1 |
F(X2) |
33/4 |
-13/4 |
-11/2 |
0 |
0 |
0 |
11/4 |
1M |
Итерация №2.
1. Проверка критерия оптимальности.
Текущий опорный план неоптимален, так как в индексной строке находятся отрицательные коэффициенты.
2. Определение новой базисной переменной.
В качестве ведущего выберем столбец, соответствующий переменной x1, так как это наибольший коэффициент по модулю.
3. Определение новой свободной переменной.
Вычислим значения Di по строкам как частное от деления: bi / ai1
и из них выберем наименьшее:
min (3/4 : 1/4 , 23/4 : 31/4 , - ) = 11/13
Следовательно, 2-ая строка является ведущей.
Разрешающий элемент равен (31/4) и находится на пересечении ведущего столбца и ведущей строки.
Базис |
B |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
min |
x3 |
3/4 |
1/4 |
1/2 |
1 |
0 |
0 |
1/4 |
0 |
3 |
x5 |
23/4 |
31/4 |
41/2 |
0 |
0 |
1 |
-3/4 |
0 |
11/13 |
x4 |
13/4 |
-13/4 |
-11/2 |
0 |
1 |
0 |
11/4 |
-1 |
- |
F(X3) |
33/4 |
-13/4 |
-11/2 |
0 |
0 |
0 |
11/4 |
1M |
0 |
4. Пересчет симплекс-таблицы.
Формируем следующую часть симплексной таблицы.
Вместо переменной x в план 3 войдет переменная x1 .
Строка, соответствующая переменной x1 в плане 3, получена в результате деления всех элементов строки x5 плана 2 на разрешающий элемент РЭ=31/4
На месте разрешающего элемента в плане 3 получаем 1.
В остальных клетках столбца x1 плана 3 записываем нули.
Таким образом, в новом плане 3 заполнены строка x1 и столбец x1 .
Все остальные элементы нового плана 3, включая элементы индексной строки, определяются по правилу прямоугольника.
Представим расчет каждого элемента в виде таблицы:
B |
x 1 |
x 2 |
x 3 |
x 4 |
x 5 |
x 6 |
x 7 |
3/4-(23/4 • 1/4):31/4 |
1/4-(31/4 • 1/4):31/4 |
1/2-(41/2 • 1/4):31/4 |
1-(0 • 1/4):31/4 |
0-(0 • 1/4):31/4 |
0-(1 • 1/4):31/4 |
1/4-(-3/4 • 1/4):31/4 |
0-(0 • 1/4):31/4 |
23/4 : 31/4 |
31/4 : 31/4 |
41/2 : 31/4 |
0 : 31/4 |
0 : 31/4 |
1 : 31/4 |
-3/4 : 31/4 |
0 : 31/4 |
13/4-(23/4 • -13/4):31/4 |
-13/4-(31/4 • -13/4):31/4 |
-11/2-(41/2 • -13/4):31/4 |
0-(0 • -13/4):31/4 |
1-(0 • -13/4):31/4 |
0-(1 • -13/4):31/4 |
11/4-(-3/4 • -13/4):31/4 |
-1-(0 • -13/4):31/4 |
(1M)-(23/4 • (-13/4)):31/4 |
(-13/4)-(31/4 • (-13/4)):31/4 |
(-11/2)-(41/2 • (-13/4)):31/4 |
(0)-(0 • (-13/4)):31/4 |
(0)-(0 • (-13/4)):31/4 |
(0)-(1 • (-13/4)):31/4 |
(11/4)-(-3/4 • (-13/4)):31/4 |
(1M)-(0 • (-13/4)):31/4 |
Получаем новую симплекс-таблицу:
Базис |
B |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x3 |
7/13 |
0 |
2/13 |
1 |
0 |
-1/13 |
4/13 |
0 |
x1 |
11/13 |
1 |
15/13 |
0 |
0 |
4/13 |
-3/13 |
0 |
x4 |
33/13 |
0 |
12/13 |
0 |
1 |
7/13 |
11/13 |
-1 |
F(X3) |
53/13 |
0 |
12/13 |
0 |
0 |
7/13 |
11/13 |
1M |
1. Проверка критерия оптимальности.
Среди значений индексной строки нет отрицательных. Поэтому эта таблица определяет оптимальный план задачи.
Окончательный вариант симплекс-таблицы:
Базис |
B |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x3 |
7/13 |
0 |
2/13 |
1 |
0 |
-1/13 |
4/13 |
0 |
x1 |
11/13 |
1 |
15/13 |
0 |
0 |
4/13 |
-3/13 |
0 |
x4 |
33/13 |
0 |
12/13 |
0 |
1 |
7/13 |
11/13 |
-1 |
F(X4) |
53/13 |
0 |
12/13 |
0 |
0 |
7/13 |
11/13 |
1M |
Оптимальный план можно записать так:
x3 = 7/13
x1 = 11/13
x4 = 33/13
F(X) = 5•7/13 + 3•11/13 = 53/13
Составим двойственную задачу к прямой задаче.
3y1 + 4y2 + y3≥3
4y1 + 6y2 + 2y3≥4
5y1 + 3y2 + 4y3≥5
2y1 + 5y2 + 3y3 → min
y1 ≤ 0
y2 ≥ 0
y3 ≥ 0
Решение двойственной задачи дает оптимальную систему оценок ресурсов.
Используя последнюю итерацию прямой задачи найдем, оптимальный план двойственной задачи.
Из теоремы двойственности следует, что Y = C*A-1.
Составим матрицу A из компонентов векторов, входящих в оптимальный базис.
Определив обратную матрицу D = А-1 через алгебраические дополнения, получим:
Как видно из последнего плана симплексной таблицы, обратная матрица A-1 расположена в столбцах дополнительных переменных .
Тогда Y = C*A-1 =
Оптимальный план двойственной задачи равен:
y1 = 0
y2 = 7/13
y3 = 11/13
Z(Y) = 2*0+5*7/13+3*11/13 = 53/13
Критерий оптимальности полученного решения. Если существуют такие допустимые решения X и Y прямой и двойственной задач, для которых выполняется равенство целевых функций F(x) = Z(y), то эти решения X и Y являются оптимальными решениями прямой и двойственной задач соответственно.
Определение дефицитных и недефицитных (избыточных) ресурсов. Вторая теорема двойственности.
Подставим оптимальный план прямой задачи в систему ограниченной математической модели:
3*11/13 + 4*0 + 5*7/13 = 53/13 > 2
4*11/13 + 6*0 + 3*7/13 = 5 = 5
1*11/13 + 2*0 + 4*7/13 = 3 = 3
1-ое ограничение выполняется как строгое неравенство, т.е. ресурс 1-го вида израсходован не полностью. Значит, этот ресурс не является дефицитным и его оценка в оптимальном плане y1 = 0.
Неиспользованный экономический резерв ресурса 1 составляет 33/13 (2-53/13).
Этот резерв не может быть использован в оптимальном плане, но указывает на возможность изменений в объекте моделирования (например, резерв ресурса можно продать или сдать в аренду).
2-ое ограничение прямой задачи выполняется как равенство. Это означает, что 2-ый ресурс полностью используется в оптимальном плане, является дефицитным и его оценка согласно второй теореме двойственности отлична от нуля (y2>0).
3-ое ограничение прямой задачи выполняется как равенство. Это означает, что 3-ый ресурс полностью используется в оптимальном плане, является дефицитным и его оценка согласно второй теореме двойственности отлична от нуля (y3>0).
Таким образом, отличную от нуля двойственные оценки имеют лишь те виды ресурсов, которые полностью используются в оптимальном плане. Поэтому двойственные оценки определяют дефицитность ресурсов.
Обоснование эффективности оптимального плана.
При подстановке оптимальных двойственных оценок в систему ограничений двойственной задачи получим:
3*0 + 4*7/13 + 1*11/13 = 3 = 3
4*0 + 6*7/13 + 2*11/13 = 412/13 > 4
5*0 + 3*7/13 + 4*11/13 = 5 = 5
1-ое ограничение двойственной задачи выполняется как равенство. Это означает, что 1-ый ресурс экономически выгодно использовать, а его использование предусмотрено оптимальным планом прямой задачи (x1>0).
2-ое ограничение выполняется как строгое неравенство, т.е. ресурс 2-го вида использовать экономически не выгодно. И действительно в оптимальном плане прямой задачи x2 = 0.
Поскольку теневая (альтернативная) цена больше рыночной цены этого продукта, то выгоднее продать ресурсы по рыночным ценам.
При этом разница между ценами (412/13 - 4 = 12/13) показывает величину изменения целевой функции F(x) при введении дополнительной единицы xi.
3-ое ограничение двойственной задачи выполняется как равенство. Это означает, что 3-ый ресурс экономически выгодно использовать, а его использование предусмотрено оптимальным планом прямой задачи (x3>0).
Влияние запасов ресурсов на оптимальное решение прямой задачи.
Величина двойственной оценки показывает, на сколько возрастает значение целевой функции F(x) при увеличении дефицитного ресурса на единицу.
Анализ устойчивости оптимального плана.
Проведем анализ устойчивости оптимального плана и оценим степень влияния изменения ресурсов на значение целевой функции.
Чувствительность решения к изменению коэффициентов целевой функции.
Так как любые изменения коэффициентов целевой функции оказывают влияние на оптимальность полученного ранее решения, то наша цель - найти такие диапазоны изменения коэффициентов в целевой функции (рассматривая каждый из коэффициентов отдельно), при которых оптимальные значения переменных остаются неизменными.
Пусть каждое значение параметра целевой функции изменится на ∆ сi. Найдем интервалы, при которых будет экономически выгодно использование ресурсов.
Допустимые диапазоны изменения коэффициентов в целевой функции определятся из соотношений:
3-ый параметр целевой функции может изменяться в пределах:
∆c3- = min [yk/d3k] для d3k>0.
∆c3+ = |max [yk/d3k]| для d3k<0.
где в знаменателе коэффициенты столбцов свободных переменных в оптимальном плане (коэффициенты структурных сдвигов, элементы обратной матрицы к базису оптимального плана).
Таким образом, 3-параметр может быть уменьшен на 23/4 или увеличен на 7
Интервал изменения равен:
(c3 - ∆c3-; c3 + ∆c3+)
[5-23/4; 5+7] = [21/4;12]
Если значение c3 будет лежать в данном интервале, то оптимальный план не изменится.
1-ый параметр целевой функции может изменяться в пределах:
∆c1- = min [yk/d1k] для d1k>0.
∆c1+ = |max [yk/d1k]| для d1k<0.
Таким образом, 1-параметр может быть уменьшен на 13/4 или увеличен на 32/3
Интервал изменения равен:
(c1 - ∆c1-; c1 + ∆c1+)
[3-13/4; 3+32/3] = [11/4;62/3]
Если значение c1 будет лежать в данном интервале, то оптимальный план не изменится.
Чувствительность решения к изменению запасов сырья.
Из теоремы об оценках известно, что колебание величины bi приводит к увеличению или уменьшению f(X).
Оно определяется величиной yi в случае, когда при изменении величин bi значения переменных уi в оптимальном плане соответствующей двойственной задачи остаются неизменными.
Поэтому необходимо найти такие интервалы изменения каждого из свободных членов системы ограничений исходной ЗЛП, в которых оптимальный план двойственной задачи не менялся бы.
Найдем интервалы устойчивости ресурсов.
2-ый запас может изменяться в пределах:
∆b2- = min [xk/dk2] для dk2>0.
∆b2+ = |max [xk/dk2]| для dk2<0.
Таким образом, 2-ый запас может быть уменьшен на 23/4 или увеличен на 7
Интервал изменения равен:
(b2 - ∆b2-; b2 + ∆b2+)
[5-23/4; 5+7] = [21/4;12]
3-ый запас может изменяться в пределах:
∆b3- = min [xk/dk3] для dk3>0.
∆b3+ = |max [xk/dk3]| для dk3<0.
Таким образом, 3-ый запас может быть уменьшен на 13/4 или увеличен на 32/3
Интервал изменения равен:
(b3 - ∆b3-; b3 + ∆b3+)
[3-13/4; 3+32/3] = [11/4;62/3]
В оптимальный план не вошла основная переменная x1, т.е. ее не выгодно использовать. Определим максимально возможное значение в рамках полученных двойственных оценок:
1-ый запас может изменяться в пределах:
0 ≤ ∆b1 ≤ 11/13
[2-11/13; 2] = [12/13;2]
Анализ оптимального плана при изменении ресурсов.
Составим субоптимальные варианты плана с учетом изменений исходных данных модели (таблицы).
Решение было получено и оформлено с помощью сервиса:
Двойственная задача линейного программирования
Вместе с этой задачей решают также:
Графический метод решения задач линейного программирования
Симплекс-метод
Двойственный симплекс-метод
Метод Гомори
Транспортная задача