ЭМиКМ (пособие)
.pdf74
Таблица 4.6
|
ПН |
B2 |
B3 |
B4 |
B5 |
|
|
|
B1 |
Запасы |
|||||
ПО |
v1 = 2 |
v2 = 3 |
v3 = −1 |
v4 = 2 |
v5 = −3 |
||
|
A1 |
60 |
2 |
70 |
3 |
4 |
2 |
− |
4 |
|
|
|
10 |
140 |
||||
u1 = 0 |
|
|
− |
-5 |
|
+ |
-7 |
|
A2 |
− |
8 |
− |
4 |
1 |
4 |
− |
1 |
|
120 |
|
60 |
180 |
||||
u2 = 2 -4 |
|
+ 1 |
|
|
− |
-2 |
|
A3 |
− |
|
9 |
− |
|
7 |
− |
|
3 |
60 |
|
7 |
100 |
|
2 |
160 |
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|||||||
u3 = 5 |
-2 |
|
|
1 |
|
|
1 |
|
|
|
|
|
|
|
|
|
Потреб- |
60 |
|
70 |
|
120 |
|
130 |
100 |
480 |
|||||||
ности |
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Освободим клетку (2, 4), в которой стояло минимальное число, а соответ- ствующую ей переменную x24 исключим из базиса. Получаем новый опорный план ТЗ:
|
|
|
|
|
æ |
60 |
10 |
0 |
70 |
0 |
ö |
|
|
|
|
|
ç |
|
|
|
|
|
÷ |
|
|
X2 |
= ç |
0 |
60 |
120 |
0 |
0 |
÷. |
||
|
|
|
|
|
ç |
0 |
0 |
0 |
60 |
100 |
÷ |
Z( |
|
|
|
|
è |
ø |
|||||
|
2 ) = 2×60 + 3×10 + 2 ×70 |
+ 4 |
×60 +1×120 + 7 ×60 + 2 ×100 =1270. |
||||||||
X |
Среди полученных значений симплексных разностей для переменных в свободных клетках имеются положительные числа: 1 в клетках (3, 2) и (3, 3). Это означает, что найденный опорный план не является оптимальным.
Итерация 3. Для каждой занятой клетки таблицы 4.6 (с учетом сделан- ной перестановки) снова рассчитаем значения потенциалов поставщиков и по- требителей:
u1 + v1 = 2; |
u2 + v2 = 4; |
u3 + v4 = 7 ; |
u1 + v2 = 3; |
u2 + v3 =1; |
u3 + v5 = 2. |
u1 + v4 = 2;
Полагая u1 = 0, получаем v1 = 2 , v2 = 3, v4 = 2 . Подставляем получен-
ные значения в другие уравнения системы: |
|
u2 + 3 = 4; |
u2 =1; |
1+ v3 =1; |
v3 = 0 ; |
u3 + 2 = 7 ; |
u3 = 5; |
|
75 |
5 + v5 = 2; |
v5 = −3. |
Таким образом, имеем следующие значения потенциалов поставщиков и потребителей:
u1 = 0; |
u2 =1; |
u3 = 5; |
|
|
v1 = 2 ; |
v2 = 3; |
v3 = 0 ; |
v4 = 2 ; |
v5 = −3. |
Вычислим симплексные разности для остальных переменных:
13 = 0 + 0 − 4 = −4; |
15 = 0 − 3 − 4 = −7; |
|
21 =1+ 2 − 8 = −5; |
24 =1+ 2 − 4 = −1; |
|
25 |
=1− 3 −1 = −3; |
|
31 = 5 + 2 − 9 = −2; |
32 = 5 + 3 − 7 =1; |
|
33 |
= 5 + 0 − 3 = 2. |
|
Таким образом, имеем следующие значения симплексных разностей:
ij = {−2, − 7, − 5, −1, − 3, − 2,1, 2}. lk = max{ ij} = 33 = 2 ,
xlk = x33 =10.
Подставляем полученные значения в таблицу с опорным планом X2 и
получаем таблицу 4.7.
Пометим заполняемую клетку (3, 3) знаком «+», а затем поочередно клет-
ки (2, 3), (2, 2), (1, 2), (1, 4) и (3, 4) − соответственно знаками «−», «+», «−», «+»
и «−». Среди клеток, образующих цикл и помеченных знаком «−», и вычтем из чисел, стоящих в клетках, помеченных знаком «−».
Таблица 4.7
|
ПН |
B2 |
B3 |
B4 |
B5 |
|
|
|
B1 |
Запасы |
|||||
ПО |
v1 = 2 |
v2 = 3 |
v3 = 0 |
v4 = 2 |
v5 = −3 |
||
|
A1 |
60 |
2 |
3 |
4 |
2 |
− |
4 |
10 |
|
70 |
|
140 |
|||
u1 = 0 |
|
− |
-4 |
+ |
|
-7 |
|
A2 |
− |
8 |
|
60 |
4 |
120 |
1 |
|
4 |
− |
1 |
180 |
|
|
|
|
|
|
60 |
|
|
||||||
|
|
|
|
|
|
|
|||||||
u2 =1 -5 |
+ |
|
|
− |
|
-1 |
|
-3 |
|
|
A3 |
− |
9 |
− |
7 |
|
− |
3 |
7 |
100 |
2 |
|
|
|
|
60 |
160 |
|||||
u3 = 5 |
-2 |
|
1 |
|
+ |
2 |
|
− |
|
|
Потреб- |
60 |
|
70 |
|
|
120 |
|
130 |
100 |
480 |
ности |
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
76
Освободим клетку (1, 2), в которой стояло минимальное число, а соответ- ствующую ей переменную x12 исключим из базиса. Получаем новый опорный план ТЗ:
|
|
|
|
|
æ |
60 |
0 |
0 |
80 0 |
ö |
|
|
|
|
|
ç |
|
|
|
|
÷ |
|
|
X3 = |
ç |
0 |
70 |
110 0 0 |
÷. |
|||
|
|
|
|
|
ç |
0 |
0 |
10 |
50 100 |
÷ |
Z( |
|
|
|
|
è |
ø |
||||
|
3) = 2 ×60 + 2×80 + 4 |
×70 +1×110 + 3×10 + 7 ×50 + 2×100 =1250. |
||||||||
X |
Среди полученных значений симплексных разностей для переменных в свободных клетках имеются положительные числа: 1 в клетке (3, 2) и 2 в клетке (3, 3). Это означает, что найденный опорный план не является оптимальным.
76
Итерация 4. Для каждой занятой клетки таблицы 4.7 (с учетом сделан- ной перестановки) снова рассчитаем значения потенциалов поставщиков и по- требителей:
u1 + v1 = 2; |
u2 + v2 = 4 ; |
|
u3 + v3 = 3; |
||
u1 + v4 = 2; |
u2 + v3 =1; |
|
u3 + v4 = 7 ; |
||
|
|
|
|
u3 + v5 = 2. |
|
Полагая u1 = 0, получаем v1 = 2 , v4 = 2 . Подставляем полученные зна- |
|||||
чения в другие уравнения системы: |
|
|
|
|
|
u3 + 2 = 7 ; |
u3 = 5; |
3 + v2 = 4 ; |
|
v2 =1; |
|
5 + v3 = 3; |
v3 = −2; |
5 + v5 = 2; |
|
v5 = −3. |
|
u2 − 2 = 1; |
u2 = 3; |
|
|
|
|
Таким образом, имеем следующие значения потенциалов поставщиков и |
|||||
потребителей: |
|
|
|
|
|
u1 = 0; |
u2 = 3; |
u3 = 5; |
|
|
|
v1 = 2 ; |
v2 =1; |
v3 = −2; |
v4 = 2 ; |
v5 = −3. |
Вычислим симплексные разности для остальных переменных:
12
13
15
21
24
25
31
32
=u1 + v2 − c12 = 0 +1− 3 = −2;
=u1 + v3 − c13 = 0 − 2 − 4 = −6;
=u1 + v3 − c15 = 0 − 3 − 4 = −7;
=u2 + v1 − c21 = 3 + 2 − 8 = −3;
=u2 + v4 − c24 = 3 + 2 − 4 = 1;
=u2 + v5 − c25 = 3 − 3 −1 = −1;
=u3 + v1 − c31 = 5 + 2 − 9 = −2;
=u3 + v2 − c32 = 5 +1− 7 = −1.
Таким образом, имеем следующие значения симплексных разностей:
ij = {−2, − 6, − 7, − 3,1, −1, − 2, −1}. lk = max{ ij} = 24 = 1,
xlk = x24 = 50.
Подставляем полученные значения в таблицу с опорным планом X3 и
получаем таблицу 4.8.
Пометим заполняемую клетку (2, 4) знаком «+», а затем поочередно клет- ки (3, 4), (3, 3), (2, 3) − соответственно знаками «−», «+», «−». Среди клеток, об- разующих цикл и помеченных знаком «−», меньшее значение 50 содержится в клетке (3, 4). Прибавим это значение к числам, стоящим в клетках, помеченных знаком «+», и вычтем из чисел, стоящих в клетках, помеченных знаком «−».
77
Таблица 4.8
|
ПН |
B2 |
B3 |
B4 |
B5 |
|
|
|
B1 |
Запасы |
|||||
ПО |
v1 = 2 |
v2 =1 |
v3 = −2 |
v4 = 2 |
v5 = −3 |
||
|
A1 |
60 |
2 |
− |
3 |
− |
4 |
2 |
− |
4 |
|
|
|
80 |
140 |
|||||
u1 = 0 |
|
|
-2 |
|
-6 |
|
|
-7 |
|
A2 |
− |
8 |
70 |
4 |
|
1 |
4 |
− |
1 |
|
|
110 |
|
− |
180 |
||||
u2 = 3 |
-3 |
|
|
|
− |
|
+1 |
-1 |
|
|
|
|
|
|
|
|
|
|
7 |
|
|
|
|
|
|
|
7 |
|
|
|
2 |
|
|
A3 |
− |
|
|
9 |
|
− |
|
|
10 |
|
3 |
50 |
100 |
|
160 |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
u3 = 5 |
-2 |
|
|
|
|
-1 |
|
|
|
+ |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
− |
|
|
|
|
|
|
||||||||
Потреб- |
60 |
|
|
70 |
|
|
120 |
|
130 |
100 |
480 |
||||||||||||
ности |
|
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Освободим клетку (2, 4), в которой стояло минимальное число, а соответ- ствующую ей переменную x24 исключим из базиса. Получаем новый опорный план ТЗ:
|
|
|
æ |
60 |
0 |
0 |
80 0 |
ö |
|
|
|
|
ç |
|
|
|
|
|
÷ |
X4 |
= ç |
0 |
70 60 50 0 |
÷. |
|||||
|
|
|
ç |
0 |
0 |
60 0 |
100 |
÷ |
|
|
|
|
è |
ø |
Z(X4 ) = 2×60 + 2×80 + 4 ×70 +1×60 + 4 ×50 + 3×60 + 2×100 =1200.
Среди полученных значений симплексных разностей для переменных в свободных клетках имеется положительное число: 1 в клетке (2, 4).
78
Итерация 5. Для каждой занятой клетки таблицы 4.8 (с учетом сделан- ной перестановки) снова рассчитаем значения потенциалов поставщиков и по- требителей:
u1 + v1 = 2; |
u2 + v2 = 4 ; |
u3 + v3 = 3; |
u1 + v4 = 2; |
u2 + v3 =1; |
u3 + v5 = 2. |
u2 + v4 = 4 ;
Полагая u1 = 0, получаем v1 = 2 , v4 = 2 . Подставляем полученные зна- чения в другие уравнения системы:
u2 + v4 = u2 + 2 = 4; |
u2 = 2 ; |
u2 + v2 = 2 + v2 = 4; |
v2 = 2 ; |
u2 + v3 = 2 + v3 =1; |
v3 = −1; |
u3 + v3 = u3 −1 = 3; |
u3 = 4; |
u3 + v5 = 4 + v5 = 2 ; |
v5 = −2. |
Таким образом, имеем следующие значения потенциалов поставщиков и потребителей:
u1 = 0; |
u2 = 2 ; |
u3 = 4; |
|
|
v1 = 2 ; |
v2 = 2 ; |
v3 = −1; |
v4 = 2 ; |
v5 = −2. |
Вычислим симплексные разности для остальных переменных:
12 = u1 + v2 − c12 13 = u1 + v3 − c13
15 = u1 + v5 − c15
21 = u2 + v1 − c21 25 = u2 + v5 − c25 31 = u3 + v1 − c31 32 = u3 + v2 − c32 34 = u3 + v4 − c34
=0 + 2 − 3 = −1;
=0 −1− 4 = −5;
=0 − 2 − 4 = −6;
=2 + 2 − 8 = −4;
=2 − 2 −1 = −1;
=4 + 2 − 9 = −3;
=4 + 2 − 7 = −1;
=4 + 2 − 7 = −1.
Таким образом, имеем следующие значения симплексных разностей:
ij = {−1, − 5, − 6, − 4, −1, − 3, −1, −1}.
Поскольку среди найденных симплексных разностей нет положительных значений, то найденный в итерации 4 опорный план является оптимальным. Таблица, представляющая оптимальный план перевозок груза от поставщиков к потребителям, имеет следующий вид (таблица 4.9):
79
Таблица 4.9
ПН
B1 |
B2 |
B3 |
B4 |
B5 |
Запасы |
|
|
|
|
|
ПО
A1 |
2 |
3 |
4 |
2 |
|
4 |
60 |
− |
− |
80 |
− |
140 |
|
|
|
A2 |
|
8 |
|
4 |
|
1 |
|
4 |
|
|
1 |
180 |
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
− |
70 |
|
60 |
|
50 |
|
− |
|
|||||||
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A3 |
|
9 |
|
7 |
|
3 |
|
7 |
|
|
2 |
160 |
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
− |
− |
60 |
|
|
− |
100 |
|
|
|||||||
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Потреб- |
60 |
70 |
120 |
130 |
100 |
480 |
|||||||||
ности |
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Изменение суммарной стоимости перевозок по мере приближения к оп- тимальному плану показано в таблице 4.10.
|
|
|
|
|
|
|
|
|
|
Таблица 4.10 |
||
Целевая функция |
Z( |
|
1) |
Z( |
|
2 ) |
Z( |
|
3 ) |
Z( |
|
4 ) |
X |
X |
X |
X |
|||||||||
Стоимость перевозки |
1330 |
1270 |
1250 |
1200 |
Решение ТЗ, имеющих некоторые сложности в постановке
1. В некоторых реальных условиях перевозки груза из определенного пункта отправления Ai в пункт назначения Bj не могут быть осуществлены.
Для определения оптимальных планов таких задач предполагают, что стои- мость перевозки единицы груза из пункта Ai в пункт Bj является сколь угодно
большой величиной M , и при этом условии известными методами находят решение ТЗ. Такой подход к нахождению решения ТЗ называется запрещением перевозок.
2. В отдельных ТЗ дополнительным условием является обеспечение пере- возки по соответствующим маршрутам определенного количества груза. На-
пример, из пункта Ai в пункт Bj требуется обязательно перевести aij единиц
груза. Тогда в соответствующую клетку таблицы, находящуюся на пересечении i -й строки j -го столбца, записывают указанное число aij и в дальнейшем
считают эту клетку свободной со сколь угодно большой стоимостью перевозки
80
M . Для полученной таким образом новой ТЗ находят оптимальный план, ко- торый определяет оптимальный план исходной ТЗ.
3. Иногда требуется найти решение ТЗ, при котором из пункта Ai в пункт Bj должно быть перевезено не менее aij единиц груза. Для определения опти- мального плана такой задачи считают, что запасы Ai и потребности Bj меньше фактических aij единиц. После этого находят оптимальный план новой ТЗ, на
основании которого и определяют решение исходной задачи.
Примечание. При целых ai (i =1, 2,...,m) и bj ( j = 1, 2,...,n) из-за спе-
цифики ограничений ТЗ любое базисное допустимое решение является цело- численным.
81
Глава 5. Задача о назначениях
Задача о назначениях − одна из разновидностей ЗРТ, в которой для вы- полнения каждой работы требуется один и только один ресурс (один работник, один станок, одна автомашина и т. д.). Другими словами, ресурсы не делимы между работами, а работы не делимы между ресурсами. Таким образом, задача о назначениях является частным случаем ТЗ, рассматривающая назначение со- трудников на должности или работы, автомашин на маршруты, водителей на автомашины и т.п.
Экономико-математическая модель задачи о назначениях
Пусть на предприятии (или в подразделении предприятия) имеются n со- трудников S1, S2 , …, Si , …, Sn (i =1,2,...,n), которых необходимо назначить
(распределить) по n работам R1, R2 , …, Rj , …, Rn ( j = 1,2,...,n) . Каждую из
указанных работ может выполнять любой из сотрудников, однако производи- тельность их труда по видам работ различается. В результате проведенных на- блюдений и экспериментов зафиксирована производительность труда сотруд- ников по различным видам работ.
Обозначим aij − производительность i -го сотрудника по j -й работе, а xij − назначение i -го сотрудника на j -ю работу.
xij |
ì1, |
если сотрудник Si назначен на работу Rj ; |
|
|
|||||||
= í |
|
|
|
|
|
|
|
|
|
||
|
î0, в противном случае. |
|
|
|
|
|
|
||||
Условие задачи о назначениях можно представить следующем виде (таб- |
|||||||||||
лица 5.1): |
|
|
|
|
|
|
|
Таблица 5.1 |
|||
|
|
|
|
|
|
|
|
|
|
||
Сотруд- |
|
|
|
|
|
|
Работы |
|
|
|
|
ники |
|
|
R1 |
R2 |
|
… |
|
Ri |
… |
|
Rn |
S1 |
|
|
x11 |
x12 |
|
… |
|
x1 j |
… |
|
x1n |
|
|
a11 |
a12 |
|
|
a |
|
a1n |
|||
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
1 j |
|
|
|
S2 |
|
|
x21 |
x22 |
|
… |
|
x2 j |
… |
|
x2n |
|
|
a21 |
a22 |
|
|
a2 j |
|
a2n |
|||
|
|
|
|
|
|
|
|
||||
… |
|
|
… |
… |
|
… |
|
… |
… |
|
… |
Si |
|
|
xi1 |
xi2 |
|
… |
|
xij |
… |
|
xin |
|
|
ai1 |
ai2 |
|
|
a |
|
ain |
|||
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
ij |
|
|
|
… |
|
|
… |
… |
|
… |
|
… |
… |
|
… |
Sn |
|
|
xn1 |
xn2 |
|
… |
|
xnj |
… |
|
xnn |
|
|
|
an1 |
an2 |
|
|
|
|
ann |
||
|
|
|
|
|
|
|
|
|
82
anj
Из таблицы 5.1 следует, что если сотрудник Si назначен на работу Rj , то xij =1, а остальные элементы этой строки будут равны 0. Таким образом, сумма переменных xij для любой строки или столбца равна 1, т.е. можно запи- сать следующие условия:
ì n |
|
|
=1, |
(i =1, 2, ..., n); |
|
|
ï |
å x |
|
|
|||
|
ij |
|
|
|
|
|
ïi=1 |
|
|
|
|
|
|
ï |
n |
|
|
=1, |
( j =1, 2, ..., n); |
(5.1) |
í |
å x |
|
||||
ï j=1 |
ij |
|
|
|
||
ïx |
³ 0. |
|
|
|||
ï |
ij |
|
|
|
|
|
î |
|
|
|
|
|
|
В качестве целевой функции (критерия оптимальности) принимаем сум- |
||||||
марную производительность сотрудников: |
|
|||||
|
|
|
n n |
|
|
|
|
Z = ååaij xij ® max. |
(5.2) |
i=1 j =1
Таким образом, сущность задачи о назначениях состоит в отыскании та- ких неотрицательных значений xij , чтобы целевая функция (общая производи-
тельность) была максимальной.
Рассмотренная выше задача классифицируется как комбинаторная (пере- борная) задача. Пример решения подобной задачи представлен ниже [17].
Задача. На малом предприятии имеются три работника, которых необхо- димо распределить по трем различным работам. Предварительно определена производительность aij каждого работника по каждой из трех работ (см. табли-
цу ниже).
Представим условие задачи о назначениях в таблице 5.2.
|
|
|
Таблица 5.2 |
Работники |
|
Работы |
|
R1 |
R2 |
R3 |
|
S1 |
x11 |
x12 |
x13 |
|
a11 =10 |
a12 =15 |
a13 = 25 |
S2 |
x21 |
x22 |
x23 |
|
a21 = 20 |
a22 =10 |
a23 = 5 |
S3 |
x31 |
x32 |
x33 |
|
a31 =15 |
a32 =10 |
a33 =10 |