Исследование операций. Курс лекций. Учебное пособие
.pdfЕсли в канонической задаче положить все свободные переменные равными нулю, то базисные переменные будут равны неотрицательным свободным членам уравнений. Полученное таким способом решение ЗЛП называется базисным решением (планом) канонической задачи. При x1 = x2 = 0 из системы
(2.6) получим, что x3 = b1 ≥ 0; x4 = b2 ≥ 0 и базисное решение задачи будет иметь вид. При этом значение целевой функции Z(X )= c0 .
Из трех задач ЛП главная роль отводится канонической задаче, так как алгоритм симплекс-метода (речь о нем идет далее) непосредственно применяется к канонической задаче, а общая и основная задачи в конечном счете сводятся к канонической.
Рассмотрим ЗЛП в основном виде. Ведем более короткую запись ЗЛП в
матричной форме:
|
Z = CX → min (max) |
|
|
|
|
|
|
|
|||||||
при ограничениях |
AX = B, |
|
X ≥ 0 , |
|
|
|
|
|
|
|
|
|
|
|
|
|
a |
|
a |
|
a |
|
|
|
|
x1 |
|
b1 |
|
||
|
11 |
12 |
a |
1n |
|
|
|
|
|
|
|
|
|||
где C = (c1 ,c2 ,...,cn ); |
a |
|
a |
|
|
|
|
; |
X |
x2 |
|
b2 |
|
||
A = |
21 |
|
22 |
|
2n |
|
= |
|
; |
B = |
. |
||||
|
... |
. . . |
. |
|
|
|
|
... |
|
... |
|
||||
|
a |
m1 |
a |
m2 |
a |
|
|
|
|
x |
|
|
b |
|
|
|
|
|
|
|
mn |
|
|
|
n |
n |
|||||
Векторная форма записи ЗЛП:
|
Z(X )= CX → min (max) |
при ограничениях |
A1 x1 + A2 x2 +... + An xn = A0 ; и условии X ≥ 0 , |
где CX – скалярное произведение векторов C = (c1 ,c2 ,...,cn ) и X = (x1 , x2 ,..., xn ), век-
a |
|
|
a |
|
|
a |
|
|
b |
|
|
11 |
|
12 |
|
1n |
1 |
|
|
||||
a21 |
|
a22 |
|
a2n |
b2 |
|
(их называют векторами усло- |
||||
торы A1 = |
|
; |
A2 = |
|
; ...; An = |
|
; |
A0 = |
|
||
... |
|
... |
|
... |
|
... |
|
|
|||
a |
m1 |
|
a |
m2 |
|
a |
|
|
b |
|
|
|
|
|
|
|
mn |
n |
|
||||
вий) состоят соответственно из коэффициентов при переменных и свободных членов.
Пример. Привести к основному виду ЗЛП:
Z(X )= 3x1 + x2 + x3 → min
x |
+ 2x |
2 |
+ x |
3 |
= 7 |
|
|
1 |
|
|
|
|
|
||
x1 − x2 + 2x3 |
≤1 |
x j ≥ 0, j =1, 2,3. |
|||||
2x + x |
2 |
−2x |
3 |
≥ −2 |
|
||
|
1 |
|
|
|
|
||
|
Первое уравнение системы ограничений оставляем без изменения, во |
||||||||
второе |
|
и |
|
|
третье |
неравенства введем дополнительные переменные |
|||
x4 ≥ 0 u |
x5 ≥ 0: |
|
|
|
|||||
x |
+ 2x |
2 |
+ x |
3 |
= 7 |
|
|
|
|
1 |
|
|
|
|
|
|
|
||
x1 − x2 + 2x3 + x4 =1 |
x j ≥ 0, j =1, 2,3, 4,5 . |
||||||||
2x + x |
2 |
−2x |
3 |
− x |
5 |
= −2 |
|
||
|
1 |
|
|
|
|
|
|||
21
Целевая функция имеет вид Z(X )= 3x1 + x2 + x3 +0x4 +0x5 → min .
• Иногда возникает необходимость перейти в задаче от нахождения максимума к нахождению минимума, или наоборот. Для этого достаточно изменить знаки всех коэффициентов целевой функции на противоположные, а в остальном задачу оставить без изменения, т. е. Z → max (− Z )→ min .
Оптимальные решения полученных таким образом задач на максимум и минимум совпадают, а значения целевых функций при оптимальных решениях отличаются только знаком.
2.2. Основные теоремы линейного программирования
Теорема 1. Множество всех допустимых решений системы ограничений задачи линейного программирования является выпуклым.
В частном случае, когда в систему ограничений входят только две переменные x1 и x2 , это множество можно изобразить на плоскости. Так как речь
идет о допустимых решениях ( x1 ≥ 0 и x2 ≥ 0 ), то соответствующее множество
будет располагаться в первой четверти декартовой системы координат (рис. 2.1). Это множество может быть замкнутым (многоугольник), незамкнутым (неограниченная многогранная область), состоять из единственной точки, и наконец, система ограничений-неравенств может быть противоречивой.
|
|
|
|
в |
а |
|
б |
||
|
|
|
||
|
|
|
|
|
Рис. 2.1. Область допустимых решений:
а – неограниченная; б – замкнутая; в – противоречивая
Теорема 2. Если ЗЛП имеет оптимальное решение, то целевая функция принимает максимальное или минимальное значение (достигает экстремума) в одной из угловых точек многогранника решений. Если целевая функция принимает максимальное (минимальное) значение более чем в одной угловой точке, то она принимает его в любой точке, являющейся выпуклой линейной комбинацией этих точек.
Эта теорема является фундаментальной, так как она указывает принципиальный путь решения задач линейного программирования. Действительно, вместо исследования бесконечного множества допустимых решений для нахождения оптимального решения, надо исследовать лишь ограниченное число угловых точек многогранника решений.
22
Теорема 3. Каждому допустимому базисному решению задачи линейного программирования соответствует угловая точка многогранника решений, и наоборот, каждой угловой точке многогранника решений соответствует допустимое базисное решение.
Следствие т. 2 и т. 3: Если задача линейного программирования имеет оптимальное решение, то оно совпадает, по крайне мере, с одним из ее допустимых базисных решений.
2.3. Примеры задач линейного программирования
2.3.1. Задача об использовании ресурсов
При производстве двух видов продукции P1 и P2 используются три вида
сырья (ресурсов). Составить такой план выпуска продукции, при котором прибыль от ее реализации была бы максимальной.
Исходные данные представлены в табл. 2.1.
|
|
|
|
Таблица 2.1 |
Вид |
Запас |
|
Расход ресурса на единицу продукции |
|
ресурса |
ресурса |
|
P1 |
P2 |
S1 |
20 |
2 |
|
1 |
S2 |
12 |
1 |
|
1 |
S3 |
30 |
1 |
|
3 |
Прибыль, усл. ден. ед. |
40 |
|
50 |
|
Решение. Составим экономико-математическую модель задачи. Обозначим вектор переменных величин X (x1 , x2 ), где x1 – объем выпуска продукции 1-го
вида, x2 – объем выпуска продукции 2-го вида. Для их изготовления потребу-
ется единиц сырья в соответствии с табл. 2.1. Так как потребление ресурсов не должно превышать их запасов, то связь между запасами и потреблением сырья выразится системой неравенств (система ограничений):
2x1 + x2 ≤ 20x1 + x2 ≤12x1 +3x2 ≤ 30
По смыслу задачи переменные x1 ≥ 0; x2 ≥ 0.
Суммарная прибыль от |
реализации продукции (целевая функция): |
Z(X )=C1x1 +C2 x2 → max; |
Z(X )= 40x1 +50x2 → max . |
Итак, экономико-математическая модель задачи: найти такой план выпуска продукции X (x1 , x2 ), удовлетворяющий системе ограничений, при котором функция Z(X ) принимает максимальное значение.
Задачу легко обобщить на случай выпуска п видов продукции с использованием т видов сырья (ресурсов).
23
Обозначим x j |
(j =1, 2,..., n) – число единиц продукции Pj , запланирован- |
ной к производству; |
bi (i =1, 2,..., m) – запас ресурса Si , aij – число единиц ре- |
сурса, затрачиваемого на изготовление единицы продукции Pj (число aij часто называют технологическими коэффициентами); c j – прибыль от реализации единицы продукции Pj . Тогда экономико-математическая модель задачи об
использовании ресурсов в общей постановке примет вид:
найти такой план X (x1 , x2 ,..., xn ) выпуска продукции, удовлетворяющей системе
a |
|
x |
+ a |
|
x |
2 |
+.... + a |
|
x |
n |
≤ b |
; |
|
|||
11 |
1 |
12 |
|
|
1n |
|
|
1 |
|
|
||||||
a21 x1 + a22 x2 +.... + a2n xn |
|
≤ b2 ; |
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. . . . . . . . . . . . . . . . |
|
|
||||||||||||||
a |
|
x |
+ a |
m2 |
x |
2 |
+.... + a |
mn |
x |
n |
≤ b |
; |
||||
|
m1 1 |
|
|
|
|
|
m |
|
||||||||
и условию |
xi |
≥ 0;i =1, 2,..., n , |
|
Z(X )= C1 x1 +C2 x2 +... +Cn xn принимает макси- |
||||||||||||
при котором целевая функция |
||||||||||||||||
мальное значение. |
|
|
|
|
|
|
|
|
||||||||
2.3.2. Задача составления рациона (задача о диете, задача о смесях)
Имеются 3 вида корма, содержащие питательные вещества А, В, С. При откорме животных каждое животное ежедневно должно получать:
не менее 60 ед. питательного вещества А, не менее 50 ед. питательного вещества В, не менее 12 ед. питательного вещества С.
Содержание единиц питательного вещества в 1 кг каждого из видов корма приведены в табл. 2.2.
|
|
|
Таблица 2.2 |
Питательное |
Количество ед. питательных веществ в 1 кг корма |
||
вещество |
1-й вид |
2-й вид |
3-й вид |
А |
1 |
3 |
4 |
В |
2 |
4 |
2 |
С |
1 |
4 |
3 |
Стоимость 1 кг |
|
|
|
корма |
9 усл. ед. |
12 усл. ед. |
10 усл. ед. |
Составить дневной рацион, обеспечивающий получение необходимого количества питательных веществ при минимальных денежных затратах, если цена 1 кг корма первого вида составляет 9 усл. ед., второго вида – 12 усл. ед., третьего вида – 10 усл. ед.
Составим экономико-математическую модель задачи.
Обозначим x1; x2 ; x3 – количество кормов 1-го, 2-го и 3-го видов, входящих в
дневной рацион. Тогда этот рацион будет включать: x1 +3x2 + 4x3 – вещества А,
24
2x1 + 4x2 + 2x3 – вещества В, x1 + 4x2 + 3x3 – вещества С.
Так как содержание каждого питательного вещества должно быть соответственно не менее 60, 50 и 12 ед., то получим систему неравенств
x |
+3x |
2 |
+4x |
3 |
≥ 60; |
|
1 |
|
|
|
|
||
2x1 +4x2 +2x ≥50; |
(2.7) |
|||||
x |
+4x |
2 |
+3x ≥12. |
|
||
1 |
|
|
|
|
|
|
Кроме того, переменные x1 ≥ 0; x2 ≥ 0; x3 ≥ 0 |
(2.8) |
|||||
Общая стоимость рациона составит Z(X )= 9x1 +12x2 +10x3 .
Итак, экономико-математическая модель задачи должна составить дневной рацион X = (x1 , x2 , x3 ), удовлетворяющий системе (2.7) и условию (2 .8), при ко-
тором целевая функция Z(X )= 9x1 +12x2 +10x3 → min принимает минималь-
ное значение.
Задачу можно обобщить на любое количество переменных.
2.3.3. Задача об использовании мощностей (о загрузке оборудования)
Для производства двух видов изделий А и В используются три типа те х- нологического оборудования: S1 , S2 и S3 . Для производства единицы изделия А
оборудование первого типа используется в течение 1 ч, оборудование второго типа – 3 ч, оборудование третьего типа – 3 ч.
Для производства единицы изделия В оборудование первого типа используется в течение 2 ч, оборудование второго типа – 3 ч, оборудование третьего типа – 1 ч.
На изготовление всех изделий предприятие может использовать оборудование первого типа не более чем 32 ч, оборудование второго типа – 60 ч, оборудование третьего типа – 50 ч.
Прибыль от реализации единицы готового изделия А составляет 4 денежные единицы, а изделия В – 2 денежные единицы.
Составить план производства изделий А и В, обеспечивающий максимальную прибыль от их реализации. Исходные данные занесены в табл. 2.3.
|
|
|
|
|
Т а б л и ц а 2.3 |
Тип |
|
Общий фонд |
Затраты времени на обработку одного |
||
|
рабочего времени |
|
изделия, ч |
||
оборудования |
|
|
|||
А |
|
В |
|||
|
|
оборудования, ч |
|
||
S1 |
|
32 |
1 |
|
2 |
S2 |
|
60 |
3 |
|
3 |
S3 |
|
50 |
3 |
|
1 |
Прибыль, ден. ед. |
|
4 |
|
2 |
|
25
Составим экономико-математическую модель задачи. Под планом про-
изводства будем понимать ответ вопрос: сколько изделий А и сколько изделий В надо выпустить, чтобы прибыль была максимальна.
|
Ведем переменные задачи: пусть x1 – объем выпуска изделия А, |
x2 – объ- |
|||||
ем выпуска изделия В. |
|
|
|
||||
|
Прибыль рассчитывается по формуле: Z = 4x1 + 2x2 . |
|
|||||
|
Тогда математическая модель задачи будет иметь следующий вид. |
||||||
|
1) Система ограничений: |
|
|
||||
x |
+2x |
|
≤32; |
|
|
|
|
1 |
|
2 |
|
|
|
|
|
3x1 +3x2 ≤ 60; |
|
|
|
|
|||
|
|
|
≤50. |
|
|
|
|
3x1 + x2 |
|
|
|
|
|||
|
2) По смыслу задачи |
переменные x1 ≥ 0; x2 ≥ 0 |
(условие неотрицательно- |
||||
сти переменных). |
|
|
|
|
|||
|
3) |
Целевая |
функция |
– суммарная прибыль |
от реализации |
изделий: |
|
Z(x1 , x2 ) = 4x1 + 2x2 |
→ max . |
|
|
|
|||
Итак, экономико-математическая модель задачи: найти такой план выпуска изделий X (x1 , x2 ), удовлетворяющий системе ограничений, при котором функ-
ция Z(X ) принимает максимальное значение.
Тема 3. Геометрическая интерпретация задачи линейного программирования
В случае, когда система ограничений общей задачи ЛП содержит неравенства, связывающие только две переменные, задача допускает наглядный графический способ решения.
При n = 2 общая задача имеет вид
a |
|
x |
+ a |
|
x |
2 |
≤ b ; |
|
|
|||
11 |
1 |
12 |
|
|
|
1 |
|
|
|
|||
a21 x1 + a22 x2 ≤ b2 ; |
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
(3.1) |
... . . . ... . |
|
|
|
|||||||||
a |
|
x |
+ a |
m |
2 |
x |
2 |
≤ b |
m |
; |
|
|
|
m1 1 |
|
|
|
|
|
|
|||||
x1 ≥ 0; x2 ≥ 0. |
|
|
|
(3.2) |
||||||||
Z(X )= c1 x1 + c2 x2 |
→ max(min). |
(3.3) |
||||||||||
Каждое линейное неравенство системы (3.1) на плоскости x1 0x2 определяет полуплоскость с границей, задаваемой прямой
ai1x1 +ai2 x2 =bi ,(i =1,2,...,m); условие неотрицательности переменных x1 ≥ 0
и x2 ≥ 0 определяют полуплоскости справа от прямой x2 = 0 и вверх от прямой x1 = 0 , т. е. первую координатную четверть.
26
Если система (3.1) – (3.2) совместна, то пересечение полуплоскостей образуют выпуклый многоугольник, внутренние и граничные точки которого образуют область допустимых решений (множество планов). Этот многоугольник может быть ограниченным или представлять собой бесконечную выпуклую область.
В случае несовместности системы (3.1) – (3.2) множество решений пусто. Целевая функция Z(X )= F(x1 , x2 ) является функцией двух переменных.
Градиент функции (grad Z ) – это вектор, координатами которого являются
частные производные данной функции, т. е. grad Z = ∂Z ; ∂Z .
∂x1 ∂x2
∂Z |
= c ; |
∂Z |
= c |
2 |
, вектор |
grad Z = (c ;c |
2 |
) |
перпендикулярен к линиям уровня и |
|
|
||||||||
1 |
∂x2 |
1 |
|
||||||
∂x1 |
|
|
|
|
|
|
|||
направлен в сторону наибольшего возрастания функции.
Линии уровня функции двух переменных - множество параллельных прямых Z(X )= const , т.е. c1 x1 +c2 x2 = C , где С – произвольная постоянная.
Решение задачи (3.1) – (3.3) сводится к отысканию такой точки X * области решений, через которую проходит линия уровня Z(X )= const , соответ-
ствующая наибольшему (наименьшему) значению функции Z (X * )= Zmax (Zmin ).
Построив прямую c1 x1 +c2 x2 = const (например, при значении C = 0), параллельным переносом ее перемещают по области решений в направлении grad Z , если Z → max или в противоположном направлении, если Z → min
(рис. 3.1).
Рис. 3.1. Отыскание оптимума целевой функции
Оптимальное значение целевая функция принимает в угловых точках или на границе многоугольника решений (в соответствии со свойствами задачи ЛП).
Для нахождения координат точки, в которой целевая функция оптимальна, сначала по чертежу определяют те границы, пересечением которых является найденная точка. Затем из уравнений этих прямых составляется система уравнений, решение которой дает координаты точки.
27
Пример. Решить задачу линейного программирования графическим методом.
Математическая модель задачи:
|
x |
|
|
|
≥ |
10, |
|
1 |
−5x2 |
≤ |
525, |
||
12x1 |
||||||
|
3x |
+10x |
2 |
≥ |
210, |
|
|
1 |
|
|
|
|
|
−3x |
+5x |
2 |
≤ |
105, |
||
|
1 |
|
|
|
||
x1 ≥ 0, x2 ≥ 0;
Z1 (X )= 9x1 −10x2 → max
Z2 (X )= 6x1 +5x2 → min
Решение. Построим на плоскости (x1 0x2 ) область допустимых решений
(ОДР), описываемую системой ограничений. Каждое из неравенств определяет полуплоскость с границей, задаваемой прямой. Выпишем соответствующие уравнения прямых и пронумеруем их.
1)x1 =10;
2)12x1 −5x2 = 525;
3)3x1 +10x2 = 210;
4)−3x1 +5x2 =105.
Проведем на плоскости эти прямые (рис. 3.2).
Рис. 3.2. Область допустимых решений
28
Для того чтобы определить, какая из двух полуплоскостей является решением данного неравенства, нужно в любой из полуплоскостей выбрать пробную точку и подставить ее координаты в левую часть неравенства. Если получится верное неравенство, то содержащая пробную точку полуплоскость будет решением неравенства; если неравенство не выполняется, то решением является полуплоскость, не включающая пробной точки. Если прямая не проходит через начало координат, то в качестве пробной точки удобно брать точку (0;0) – начало координат.
Подставим в первое неравенство x1 = 0 и x2 = 0, получим неверное нера-
венство 0 ≥10 , следовательно, точка (0;0) – не принадлежит полуплоскости решений. Нужную полуплоскость можно пометить каким-либо способом (на рис. 3.2 – это стрелки).
Аналогично решаем три других неравенства.
В результате, четыре неравенства системы ограничений и условие неотрицательности переменных определяют на плоскости многоугольник АВСD.
Рис. 3.3. Решение задачи на максимум
29
Далее решим задачу на максимум:
|
x1 |
|
|
|
≥ |
10, |
12x |
−5x |
2 |
≤ |
525, |
||
|
1 |
|
|
|
|
|
|
3x1 |
+10x2 |
≥ |
210, |
||
|
||||||
−3x |
+5x |
2 |
≤ |
105, |
||
|
1 |
|
|
|
|
|
|
|
x2 |
≥ 0. |
|
|
|
x1 ≥ 0, |
|
|
||||
|
Z1 = 9x1 |
|
−10x2 |
→max |
||
Найдем grad Z1 = (9;−10), он указывает направление наискорейшего воз-
растания целевой функции.
Найдем максимальное значение целевой функции на области решений. Для этого построим произвольную линию уровня, например
Z(X )= 9x1 −10x2 = 0 (рис. 3.3).
График линии уровня (построен штриховой линией) передвигается в направлении, обозначенном стрелкой, в направлении своего градиента до тех пор, пока не достигнет граничной точки многоугольника – точки D. Эта точка является точкой пересечения линий (2) и (3). Решая систему, составленную из
данных уравнений |
12x |
−5x |
|
= 525 |
(3,4) |
|
|
1 |
|
2 |
= 210 |
(3,5) |
|
|
3x1 |
+10x2 |
||||
получаем координаты точки |
140 |
; 7 |
|
, определяющие оптимальное решение |
|||||||||||||
D |
3 |
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
задачи X |
|
140 |
; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* = |
3 |
7 . |
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
При этом значение целевой функции составит |
|
|
|
|
|||||||||||||
|
|
140 |
|
|
9 140 −10 3 = 350 . |
|
|
|
|
|
|
||||||
Z1 (X *)= Zmax |
3 |
|
; 7 = |
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Теперь решим задачу на минимум: |
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
x |
|
|
|
|
≥ |
10, |
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
−5x2 |
≤ |
525, |
|
|
|
Z |
|
= 6x |
|
+ 5x |
|
→min |
12x1 |
|
. |
x1 ≥ 0, x2 ≥ 0. |
|||||||
|
|
|
|
3x1 |
|
+10x2 |
≥ |
210, |
|||||||||
|
2 |
|
1 |
|
|
2 |
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
−3x |
|
+5x |
2 |
≤ |
105, |
|
|
||
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
Найдем grad Z2 = (6; 5), он указывает направление наискорейшего возрас-
тания целевой функции.
Найдем минимальное значение целевой функции на области решений. Для этого построим произвольную линию уровня, например Z(X )= 6x1 +5x2 = 0 . График линии уровня на рис. 3.4. показан штриховой лини-
ей, которая передвигается в направлении, противоположном обозначенному стрелкой, в направлении противоположном своему градиенту до тех пор, пока не достигнет граничной точки многоугольника – точки А. Эта точка является точкой пересечения линий (1) и (3). Решая систему, составленную из данных
30
