МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ Восточно-Сибирский государственный технологический университет
И.В.Корыто...
11 downloads
172 Views
328KB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ Восточно-Сибирский государственный технологический университет
И.В.Корытов С.С.Дашиева
ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ в примерах и задачах
Симплекс-метод Метод искусственного базиса Двойственные задачи Решение двойственной задачи с использованием теорем двойственности Типовой расчет (задания из 20 вариантов)
Улан-Удэ 2002
Введение Пособие содержит материал, относящийся к основным вопросам темы «Линейное программирование». Здесь рассматривается только алгебраический подход к решению задач. Предполагается, что студент знаком с теоретическими сведениями, касающимися излагаемых вопросов, и умеет решать основную задачу линейного программирования геометрическим методом. Основным математическим аппаратом решаемых ниже задач являются элементарные преобразования матриц, применяемые в виде метода Жордана – Гаусса с выбором ведущего элемента. Пособие посвящено практическому решению задач. Ход решения построен с выделением этапов и шагов, снабженных необходимыми комментариями, и может одновременно служить образцом оформления при выполнении студентом самостоятельной работы. Разбираемые примеры подобраны в определенной последовательности по схеме: решение исходной задачи линейного программирования – составление условий двойственной задачи – решение двойственной задачи двумя способами. Метод искусственного базиса с точки зрения вычислительных процедур не отличается от стандартного симплекс-метода, дополнительные действия связаны с видоизменением целевой функции путем добавления специального слагаемого, называемого штрафной функцией. Смысл этих действий понятен из примера, поэтому метод искусственного базиса рассматривался не под отдельным заголовком, а в ходе решения одной из задач. Задания типового расчета составлены таким образом, что одна из взаимно двойственных задач решается обычным симплекс-методом, а другая – методом искусственного базиса. Пособие адресовано студентам третьего курса экономических специальностей. 2
Решение задачи линейного программирования симплекс-методом Пример 1. Решить задачу линейного программирования симплекс-методом, введя при необходимости искусственный базис. F = 3 x1 + 5 x2 → min ⎧2 x1 + 4 x2 ≥ 12 ⎪ 3 x + 2 x ≥ 10 ⎪ 1 2 ⎨ x ≤ 6 2 ⎪ ⎪⎩ x1 ≤ 5 x1 ≥ 0, x2 ≥ 0
Приведение условия к каноническому виду Так как система ограничений состоит из неравенств, для приведения условия к каноническому виду нужно ввести в каждое неравенство балансовые переменные x3 , x 4 , x5 , x 6 : ⎧2 x1 ⎪3x ⎪ 1 ⎨ ⎪ ⎪⎩ x1
+ 4 x2 + 2 x2 x2
− x3 − x4 + x5 + x6
= 12 = 10 = 6 = 5
x j ≥ 0, j = 1,K ,6 Матрица системы ограничений
3
⎛2 ⎜ ⎜3 ⎜0 ⎜ ⎜1 ⎝
4 −1 0 0 2 0 −1 0 1 0 0 1 0 0 0 0
0 12 ⎞ ⎟ 0 10 ⎟ 0 6⎟ ⎟ 1 5 ⎟⎠
F = 3x1 + 5 x 2 + M (22 − 5 x1 − 6 x6 + x3 + x 4 ) =
= (3 − 5M ) x1 + (5 − 6M ) x 2 + Mx3 + Mx 4 + 22 M .
не содержит в себе единичную матрицу, следовательно балансовые переменные не образуют базиса. Умножение на − 1 обеих частей первого и второго уравнений приведет к недопустимому базисному решению. Поэтому необходимо ввести в эти уравнения искусственные переменные r1 и r2 :
⎧2 x1 ⎪3x ⎪ 1 ⎨ ⎪ ⎪⎩ x1
+ 4 x2 + 2 x2 x2
− x3
+ r1 − x4
+ r2 + x5 + x6
= 12 = 10 = 6 = 5
x j ≥ 0, j = 1,K,6; r1 ≥ 0, r2 ≥ 0
Выражение искусственных переменных через свободные: r1 = 12 − 2 x1 − 4 x 2 + x3 , r2 = 10 − 3 x1 − 2 x 2 + x 4 .
Составление штрафной функции: M (r1 + r2 ) = M (12 − 2 x1 − 4 x2 + x3 + 10 − 3x1 − 2 x2 + x4 ) =
= M (22 − 5 x1 − 6 x6 + x3 + x4 ). В задаче минимизации штрафная функция вводится в целевую функцию со знаком «+»1: 1
Условие задачи с искусственным базисом в каноническом виде: F − (3 − 5M ) x1 − (5 − 6 M ) x 2 − Mx3 − Mx 4 = 22M
⎧2 x1 ⎪3x ⎪ 1 ⎨ ⎪ ⎪⎩ x1
+ 4 x2 + 2 x2 x2
− x3
+ r1 − x4
+ r2 + x5 + x6
= 12 = 10 = 6 = 5
x j ≥ 0, j = 1,K ,6; r1 ≥ 0, r2 ≥ 0
Расширенная матрица задачи линейного программирования: ⎛ 1 5M − 3 6 M − 5 − M − M 0 0 0 ⎜ −1 2 4 0 0 0 1 ⎜0 ⎜0 −1 0 0 0 3 2 0 ⎜ 0 1 0 0 1 0 0 ⎜0 ⎜0 1 0 0 0 0 1 0 ⎝
0 22M ⎞ ⎟ 0 12 ⎟ 1 10 ⎟ ⎟ 0 6⎟ 0 5 ⎟⎠
В матрице отделены сплошными линиями: столбец, соответствующий переменной F , строка коэффициентов целевой функции и столбец свободных членов. Пунктирной линией отделены столбцы единичной матрицы. Ранг расширенной матрицы rang = 5 , следовательно, количество базисных переменных равно пяти. Базисные переменные: F , x5 , x6 , r1 , r2 .
В задаче максимизации, соответственно, со знаком «–».
4
5
Свободные переменные: x1 , x 2 , x3 , x 4 . Шаг 1. Составление первой симплекс-таблицы В задаче с искусственным базисом первая симплекстаблица соответствует первому искусственному базисному решению.
Симплекс-таблица 1 БП
F
F r1
1
x1
x2
x3 x 4
5M-3 6M-5 -M -M
x5 x6
Реше r1 r2 ние Отношение
0
0
0
0
22M
0
2
4
-1
0
0
0
1
0
12
12:4=3
r2 x5
0
3
2
0
-1
0
0
0
1
10
10:2=5
0
0
1
0
0
1
0
0
0
6
6:1=6
x6
0
1
0
0
0
0
1
0
0
5
5:0 → ∞
Выбор включаемой в базис переменной: наибольший положительный коэффициент с 2 = 6 M − 5 при переменной x2 . Проверка критерия допустимости: среди оценочных отношений (последний столбец таблицы) встречаются конечные положительные, следовательно, возможен выбор исключаемой из базиса переменной. Выбор исключаемой переменной: среди оценочных отношений минимальным является отношение, соответствующее переменной r1 , которая и будет исключена из базиса на этом шаге. Ведущим элементом при пересчете будет элемент, стоящий на пересечении строки, соответствующей исключаемой переменной r1 (ведущей строки), и столбца, соответствующего включаемой переменной x 2 (ведущего столбца). В таблице ведущий элемент обведен рамкой.
Комментарий к симплекс-таблице 1.
Пересчет таблицы в матричной записи.
Решение (искусственное базисное) в 8-мерном пространстве X =(0,0,0,0,6,5,12,10). Решение в двумерном (по количеству исходных переменных в условии задачи) пространстве X =(0,0). Данная точка находится за пределами многоугольника решений. Значение целевой функции F (0,0)=22 M – «штрафное», так как точка не принадлежит многоугольнику решений. Проверка критерия оптимальности: задача на минимизацию, в строке целевой функции имеются положительные коэффициенты при свободных переменных x1 и x 2 , следовательно, оптимальное решение не достигнуто. Необходимо выбрать среди свободных включаемую в базис переменную.
Элементы ведущей строки делятся на ведущий элемент:
6
⎛ ⎜ 1 5M − 3 6 M − 5 − M − M 0 0 0 ⎜ 1 1 1 ⎜0 1 − 0 0 0 ⎜ 2 4 4 ⎜ 3 2 0 −1 0 0 0 ⎜0 ⎜ ⎜0 0 1 0 0 1 0 0 ⎜ ⎜ 1 0 0 0 0 1 0 ⎜0 ⎝
⎞ 0 22 M ⎟ ⎟ 0 3⎟ ⎟ ⎟ 1 10 ⎟ ⎟ 0 6⎟ ⎟ ⎟ 0 5⎟ ⎠
7
Далее выполняются элементарные преобразования над строками матрицы, в результате которых на месте ведущего столбца окажется столбец единичной матрицы: 1 1 5 3 5 ⎞ ⎛ 0 0 4M + 15 ⎟ M− −M 0 0 − M + ⎜ 1 2M − 2 2 4 2 4 ⎟ ⎜ 1 1 1 ⎜0 1 0 0 0 0 3⎟ − ⎟ ⎜ 2 4 4 ⎟ ⎜ 1 1 2 0 1 4⎟ −1 0 0 − ⎜0 2 2 ⎟ ⎜ 1 1 1 ⎜0 0 0 1 0 0 3⎟ − − ⎟ ⎜ 2 4 4 ⎟ ⎜ 1 0 0 0 0 1 0 0 5⎟ ⎜0 ⎠ ⎝
Базисные переменные: F , x 2 , x5 , x 6 , r2 . Свободные переменные: x1 , x3 , x 4 , r1 . Шаг 2. Составление следующей симплекс-таблицы Так как в базисе осталась еще одна искусственная переменная, то новая таблица соответствует второму искусственному базисному решению.
Симплекс-таблица 2 БП F
x1
F 1
2M −
x2 1 2
0
x3
x 4 x5 x6
1 5 M− -M 0 2 4 1 − 0 0 4
0
r1 −
3 5 M+ 2 4 1 4
x2 0
1 2
1
r2 0
2
0
1 2
-1
0
0
−
0
1 4
0
1
0
−
0
0
0
0
1
x5 0 x6 0 8
−
1 2
1
0
Отношеr2 Решение ние 0 4M + 15 0
3
1 2
1
4
1 4
0
3
0
5
0
3:
1 =6 2
4:2=2 3: −
1 0 y 2 >0 y 3 =0 y 4 =0 Знаки компонент оптимального решения двойственной задачи Использование второй теоремы двойственности Вторая теорема двойственности позволяет найти оставшиеся ненулевые значения компонент оптимального решения двойственной задачи. Вторая теорема двойственности. Компоненты оптимального решения одной из двойственных задач равны
23
абсолютным значениям коэффициентов при соответствующих переменных, находящихся в сроке целевой функции симплекс-таблицы, содержащей оптимальное решение другой задачи. Согласно второй теореме двойственности таблицу соответствия значений и знаков переменных можно дополнить значениями переменных y1 и y 2 :
мальное решение двойственной задачи, базисными будут принимающие ненулевое значение переменные y1 и y 2 . Строки в последней симплекс-таблице исходной задачи удобнее переставить таким образом, чтобы они следовали в порядке возрастания номеров соответствующих переменных двойственной задачи, а строка целевой функции находилась внизу таблицы:
Компоненты оптимального решения исходной задачи x1 =2 x 2 =2 x3 =0 x 4 =0 x5 =4 x6 =3 9 1 y 5 =0 y 6 =0 y 3 =0 y1 = y2 = y 4 =0 8 4 Компоненты оптимального решения двойственной задачи Эта таблица и содержит окончательное решение двой9 1 ственной задачи Y =( , ,0,0). 8 4 Таким образом, первая теорема двойственности дает оптимальное значение целевой функции, а вторая теорема двойственности – значения всех компонент оптимального плана двойственной задачи. Эти значения, как видно, совпадают со значениями, полученными с помощью симплексметода (см. пример 3). Восстановление последней симплекс-таблицы двойственной задачи Решение двойственной задачи уже получено, однако, его можно представить более наглядно, а именно в виде симплекс-таблицы, соответствующей оптимальному решению двойственной задачи. Согласно теореме и таблице соответствия переменных, а также условию, в симплекс-таблице, содержащей опти-
24
БП F
x1 x 2
y 3 x5 0
0
0
y 4 x6 0
0
0
y 5 x1 0
1
0
y6 x2 0
0
1
F 1
0
0
x 4 x5 x6 Решение
x3
1 4 1 2 1 − 2 1 4 1 − 4
3 8 1 − 4 1 4 3 − 8 9 − 8
1
0
4
0
1
3
0
0
2
0
0
2
0
0
16
Затем нужно подготовить бланк таблицы двойственной задачи с таким же порядком расположения строк и с учетом количества ограничений и, следовательно, базисных переменных:
x3 x4
БП
Z
y1
y2
y1 y2 Z
0 0 1
1 0 0
0 1 0
y3
y4
y5
y 6 Решение
Далее транспонируются «неединичные» столбцы измененной последней симплекс-таблицы исходной задачи: 25
БП
Z
y1
y2
y1
0
1
0
y2
0
0
1
Z
1
0
0
y3
3 8 1 − 4 4
y 6 Решение 1 1 3 9 − − 4 4 8 8 1 1 1 1 − 2 2 4 4 3 2 2 16 y4
y5
Для окончательного получения последней симплекстаблицы двойственной задачи остается умножить элементы столбцов y 3 , y 4 , y 5 и y 6 во всех строках, кроме строки целевой функции2, на (–1): БП
Z
y1
y2
y1
0
1
0
y2
0
0
1
Z
1
0
0
y3
3 8 1 4 4
−
y 6 Решение 1 3 9 1 − 4 4 8 8 1 1 1 1 − − 2 2 4 4 3 2 2 16 y4
y5
В результате получилась такая же симплекс-таблица, как и после применения симплекс-метода в примере 3.
Типовой расчет «Основная задача линейного программирования» Задание для самостоятельной работы Дано условие задачи линейного программирования. Требуется: 1) Решить исходную задачу графическим методом. 2) Решить исходную задачу симплекс-методом, введя при необходимости искусственный базис. 3) Составить условие задачи, двойственной к данной. 4) Решить двойственную задачу симплекс-методом, введя при необходимости искусственный базис. 5) Решить двойственную задачу с использованием теорем двойственности. Индивидуальные условия (в 20 вариантах)
Вариант 1 F = x1 − 3x 2 → max
⎧ x1 ⎪ ⎨− x1 ⎪ x ⎩ 1
+ x2 + 2 x2 + x2
≥ 2 ≤ 4 ≤ 8
x1 ≥ 0, x 2 ≥ 0
Вариант 2 F = 2 x1 − x 2 → min
⎧ x1 ⎪ ⎨− x1 ⎪ x ⎩ 1
+ x2 + 2 x2 + 2 x2
≥ 4 ≤ 2 ≤ 10
x1 ≥ 0, x 2 ≥ 0
2
Коэффициенты в строке целевой функции умножаются на (–1) в двойственной задаче на минимизацию, в нашем примере двойственная задача – на максимизацию.
26
27
Вариант 3 F = x1 − 3x 2 → min
≥ 4 ≥ 2 ≤ 10
x1 ≥ 0, x 2 ≥ 0
Вариант 5 F = x1 − x 2 → max
Вариант 6 F = x1 + x 2 → max
Вариант 11 F = x1 + 3 x 2 → max
+ x2 + 2 x2 + x2
≤ 2 ≥ 8 ≤ 5
⎧ x1 ⎪ ⎨2 x1 ⎪ x ⎩ 1
⎧− 3x1 ⎪ ⎨ 3x1 ⎪ x 1 ⎩
+ 2 x2 + x2
≤ 2 ≥ 3 ≤ 3
x1 ≥ 0, x 2 ≥ 0
x1 ≥ 0, x 2 ≥ 0
Вариант 7 F = 3 x1 + x 2 → min
Вариант 8 F = x1 + 3x 2 → max
⎧ x1 + x 2 ≥ 2 ⎪ ⎨ x1 − x 2 ≤ 0 ⎪ x2 ≤ 4 ⎩ x1 ≥ 0, x 2 ≥ 0
28
+ x2 − x2 + 2 x2
x1 ≥ 0, x 2 ≥ 0
⎧− 2 x1 ⎪ ⎨ − x1 ⎪ x 1 ⎩
≤ 4 ≥ 0 ≥ 4
Вариант 9 F = x1 − x 2 → min
⎧ x1 + x 2 ≥ 3 ⎪ ⎨ x1 + x 2 ≤ 7 ⎪ x2 ≤ 4 ⎩ x1 ≥ 0, x 2 ≥ 0
⎧ x1 ⎪ ⎨3x1 ⎪ x ⎩ 1
− 4 x2 − x2 + x2
Вариант 4 F = 2 x1 − x 2 → max
⎧ x1 + 4 x 2 ⎪ + x2 ⎨ x1 ⎪ x2 ⎩ x1 ≥ 0, x 2
≥ 4 ≤ 6 ≤ 2 ≥0
⎧ ⎪ ⎨ x1 ⎪3x ⎩ 1
x2 + 2 x2 + x2
≤ 5 ≤ 12 ≤ 21
x1 ≥ 0, x 2 ≥ 0 Вариант 13 F = x1 + 4 x 2 → max
⎧ ⎪ ⎨ x1 ⎪3x ⎩ 1
x2 + x2 + x2
≤ 6 ≤ 8 ≤ 18
x1 ≥ 0, x 2 ≥ 0
Вариант 10 F = 3x1 − 4 x 2 → max
⎧ x1 − 2 x 2 ⎪ ⎨ x1 + 2 x 2 ⎪ x2 ⎩ x1 ≥ 0, x 2
≥ 2 ≥ 2 ≤ 3 ≥0
Вариант 12 F = 2 x1 + x 2 → max
⎧ x1 ⎪ ⎨3x1 ⎪ x ⎩ 1
+ 3x2 + 2 x2
≤ 21 ≤ 21 ≤ 5
x1 ≥ 0, x 2 ≥ 0 Вариант 14 F = x1 + x 2 → max
⎧ x1 ⎪ ⎨3x1 ⎪ x ⎩ 1
+ 2 x2 + 4 x2
≤ 12 ≤ 26 ≤ 6
x1 ≥ 0, x 2 ≥ 0
29
Вариант 15 F = x1 + 2 x 2 → max
⎧ ⎪ ⎨3x1 ⎪3x ⎩ 1
x2 + 2 x2 + x2
≤ 6 ≤ 21 ≤ 18
⎧ x1 ⎪ ⎨2 x1 ⎪ x ⎩ 1
+ 3x2 + x2
≤ 21 ≤ 12 ≤ 5
x1 ≥ 0, x 2 ≥ 0
x1 ≥ 0, x 2 ≥ 0
Вариант 17 F = x1 + 2 x 2 → max
Вариант 18 F = 4 x1 + x 2 → max
⎧ ⎪ ⎨2 x1 ⎪3x ⎩ 1
x2 + 3x2 + x2
≤ 5 ≤ 21 ≤ 21
x1 ≥ 0, x 2 ≥ 0 Вариант 19 F = x1 + x 2 → max
⎧ ⎪ ⎨4 x1 ⎪2 x ⎩ 1
x2 + 3x2 + x2
≤ 6 ≤ 26 ≤ 12
x1 ≥ 0, x 2 ≥ 0
30
Вариант 16 F = 3 x1 + x 2 → max
⎧ x1 ⎪ ⎨ x1 ⎪x ⎩ 1
+ 3x2 + x2
≤ 18 ≤ 8 ≤ 6
x1 ≥ 0, x 2 ≥ 0 Вариант 20 F = 2 x1 + x 2 → max
⎧ x1 ⎪ ⎨2 x1 ⎪ x ⎩ 1
+ 3x2 + 3x2
Литература
1. Вентцель Е.С. Исследование операций. – М.: Советское радио, 1972. 2. Данко П.Е., Попов А.Г., Кожевникова Т.Я. Высшая математика в примерах и задачах. В 2-х ч. Ч.2: Учеб. пособие для втузов. – М.: Высшая школа, 1999. 3. Исследование операций в экономике / Н.Ш. Кремер, Б.А.Путко и др.; под ред. Н.Ш.Кремера. – М.: Банки и биржи, ЮНИТИ, 1997. 4. Кузнецов Ю.Н., Кузубов В.И., Волощенко А.Б. Математическое программирование. – М.: Высшая школа, 1986. 5. Сборник задач по математике для втузов. Ч.4. Методы оптимизации. Уравнения в частных производных. Интегральные уравнения / Вуколов Э.А., Ефимов А.В. и др.; под ред. А.В.Ефимова. – М.: Наука, 1990. 6. Солодовников А.С., Бабайцев В.А., Браилов А.В. Математика в экономике: Учебник: В 2-х ч. Ч.1. – М.: Финансы и статистика, 1999.
≤ 18 ≤ 21 ≤ 6
x1 ≥ 0, x 2 ≥ 0
31