- •1. Постановка и свойства транспортной задачи
- •2. Методические указания по решению задач транспортного типа
- •1. Задача о перевозке груза (транспортная задача)
- •1.1. Построение начального опорного плана методом северо-западного угла
- •1.2. Нахождение оптимального плана методом потенциалов
- •2. Задача о распределении механизмов между участками
- •3. Задача о назначении напарников
- •Решение задачи о назначениях венгерским методом
2. Задача о распределении механизмов между участками
Имеются четыре типа механизмов: Механизм 1, Механизм 2, Механизм 3 и Механизм 4, которые необходимо распределить между тремя участками работ A, B и C. Количество механизмов каждого типа составляет 74, 53, 45 и 24 штуки соответственно. Известны потребности в механизмах каждого участка: 90, 61 и 45 штук, а также производительность каждого типа механизма на каждом участке работ (в единицах работы/единицу времени).
Исходные данные задачи представлены в нижеследующей таблице.
Тип механизма |
Производительность на участке |
Парк механизмов |
Спрос участка |
||
A |
B |
C |
|||
Механизм 1 |
3 |
5 |
3 |
74 |
Уч-ка A 90 |
Механизм 2 |
7 |
3 |
7 |
53 |
Уч-ка B 61 |
Механизм 3 |
6 |
3 |
5 |
45 |
Уч-ка C 45 |
Механизм 4 |
8 |
5 |
5 |
24 |
|
Требуется найти такое распределение механизмов между участками работ, при котором их суммарная производительность является максимальной.
Решение
Задача о распределении механизмов между участками работ по своему характеру не имеет ничего общего с транспортировкой груза, однако ее можно представить как задачу транспортного типа.
Пусть xij – количество механизмов i-го вида, распределенное на j-й участок работы. Известны величины cij – производительность i-го механизма при работе на j-м участке.
Проведем аналогию данной задачи с транспортной задачей. Поставщики и объемы их производства в транспортной задаче – это типы механизмов и их наличное количество, потребители и объемы их потребностей – это наименования участков и их потребности в определенном количестве механизмов.
В задаче о распределении механизмов по участкам работ ставится цель: максимизировать суммарную производительность всех механизмов, работающих на участках. Сама целевая функция S имеет вид:
S = 3x11 + 5x12 + 3x13 + 7x21 + 3x22 + 7x23 + 6x31 + 3x32 + 5x33 + 8x41 + 5x42 + 5x43.
В транспортной задаче целевая функция минимизируется. Поэтому, чтобы решить рассматриваемую задачу как транспортную, нужно умножить все значения коэффициентов функции S (производительностей механизмов) на -1. Целевая функция примет вид:
P = -S = -3x11 – 5x12 – 3x13 – 7x21 – 3x22 – 7x23 – 6x31 – 3x32 – 5x33 – 8x41 – 5x42 – 5x43
и нужно будет найти ее минимум.
Проверим, является ли рассматриваемой задача закрытой. Для этого вычислим общее количество механизмов: = 196 и потребности всех участков работ в механизмах: =196. Так как = , то задача является закрытой.
Экономико-математическая модель задачи имеет вид:
x11 + x12 + x13 = 74, (2.1)
x21 + x22 + x23 = 53, (2.2)
x31 + x32 + x33 = 45, (2.3)
x41 + x42 + x43 = 24, (2.4)
x11 + x21 + x31 + x41 = 90, (2.5) x12 + x22 + x32 + x42 = 61, (2.6)
x13 + x23 + x33 + x43 = 45, (2.7)
xij 0, i = ; j = , (2.8)
P = –3x11 – 5x12 – 3x13 – 7x21 – 3x22 – 7x23 – 6x31 – 3x32 – – 5x33 – 8x41 – 5x42 – 5x43 min. (2.9)
Таким образом, задача (2.1) – (2.9) представляет собой задачу транспортного типа и в дальнейшем используется терминология транспортной задачи.
2.1. Для нахождения начального опорного плана используем метод минимального элемента. Кратко опишем схему этого метода.
В транспортной таблице находится клетка с минимальным тарифом. Если таких клеток несколько, то берется любая из них. Пусть это клетка (i, j). Тогда сравниваются запасы поставщика ai и потребность потребителя bj. В качестве перевозки берется величина xij = min{ai, bj}. Если ai < bj, то закрывается строка i; если же ai > bj, то закрывается столбец j. Если ai = bj, то закрываются одновременно и строка, и столбец, а в одну из клеток, расположенных в этой строке или столбце, заносится 0 (нулевая перевозка). Затем среди оставшихся клеток таблицы выбирается клетка с наименьшим тарифом, и в нее записывается максимально возможная перевозка. Процесс продолжается до тех пор, пока не будет получен опорный план перевозок, возможно, вырожденный.
Применим этот метод к транспортной таблице решаемой задачи (см. табл. 2.0). Ищем минимальный элемент (наименьший транспортный тариф): c41 = – 8. В клетку (4, 1): помещаем перевозку x41 = min{a1, b1} = min{24, 90} = 24. Четвертая строка закрывается, так как запас четвертого поставщика исчерпан.
В оставшейся части таблицы снова находим минимальный элемент: c21 = –7. Определим поставку, которую нужно занести в клетку (2,1). Предложение второго поставщика a2 = 53 единицы, а спрос первого потребителя b1 частично уже удовлетворен предыдущей поставкой x41. Он теперь равен b1′ = b1 – x41 = 90 – 24 = 66 единиц. Отсюда x21 = min{a2, b1′} = min{53, 66} = 53. Вторая строка закрывается, так как исчерпан запас второго поставщика.
Находим в оставшейся части таблицы наименьший элемент: c31 = –6. Определим поставку, которую нужно занести в клетку (3, 1). Запас третьего поставщика a3 = 45 единиц, а спрос b1′ у первого потребителя уменьшился на величину предыдущей поставки x21 и стал равен b 1′′ = b1′ – х21 = 66 – 53 = 13 единиц. Отсюда, х31 = min{45, 13} = 13. Первый столбец закрывается, так как спрос первого потребителя полностью удовлетворён.
Среди оставшихся тарифов наименьшим будет с33 = –5. Определим поставку, которую нужно занести в клетку (3, 3). У третьего поставщика неиспользованный запас составляет a3 – х31 = 45 – 13 = 32 единицы. У третьего потребителя объём потребности b3 = 45, значит х33 = min {32, 45} = 32 единицы. Этой поставкой полностью исчерпано предложение третьего поставщика, поэтому третья строка закрывается.
Среди оставшихся клеток выбираем минимальный элемент: с12 = –5. Следовательно, в клетку (1, 2) отправляется поставка х12 = min{a1, b2} = min{74, 61} = 61. Второй столбец закрывается, поскольку спрос второго потребителя полностью удовлетворён этой поставкой.
Среди оставшихся клеток выбираем минимальный элемент с13 = –3 и определяем величину поставки в клетку (1, 3): х13 = min{a1′, b3′}. Так как предложение первого поставщика a1 = 74 уменьшилось на величину предыдущей поставки х12 = 61, то оставшийся запас a1′ = a1 – х12 = 74 – 61 = 13. В то же время спрос третьего потребителя b3 = 45 уменьшился за счёт поставки х33 = 32 и составляет на данный момент величину b3′ = b3 – х33 = 45 – 32 = 13. Таким образом, х13 = min{13, 13} = 13.
Полученный опорный план Х0 содержит 6 занятых клеток с положительными поставками и, следовательно, является невырожденным (m + n – 1 = 4 + 3 – 1 = 6).
Обычно в смысле близости к оптимальному решению опорный план, построенный этим методом лучше плана, полученного методом северо-западного угла.
Таблица 2.0
bj ai |
90 |
61 |
45 |
Ui |
74 |
-3 |
-5 61 |
-3 13 |
0 |
53 |
- 7 – 53 |
-3
|
-7 + |
3 |
45 |
-6 13 + |
-3
|
-5 32 – |
2 |
24 |
-8 24 |
-5 |
-5 |
4 |
Vj |
-4 |
-5 |
-3 |
P0 = -1145 |
Получен первоначальный опорный план Х0 методом минимального элемента, для которого значение целевой функции P0 = –1145.
– 61 13
Х0 = 53 – – , Р0 = –1145.
13 – 32
24 – –
2.2. Дальнейшее решение продолжим методом потенциалов.
Шаг 1. Используем условие (6) критерия оптимальности плана транспортной задачи (см. стр. 6) для задачи (2.1) – (2.9). Пусть U1 = 0. Тогда
V2 = U1 + C12 = 0 – 5 = –5,
V3 = U1 + C13 = 0 – 3 = –3,
U3 = V3 – C33 = –3 – (–5) = 2,
V1 = U3 + C31 = 2 – 6 = –4,
U2 = V1 – C22 = – 4 – (–7) = 3,
U4 = V1 – C41 = – 4 – (–8) = 4.
Далее рассчитываются значения ∆ij = Vj – Ui – Cj для всех свободных клеток по условию (7) критерия оптимальности:
∆11 = –4 + 3 = –1,
∆22 = –5 – 3 + 3 = –5,
∆23 = –3 – 3 + 7 = 1,
∆32 = –5 – 2 + 3 = –4,
∆42 = –5 – 4 + 5 = –4,
∆43 = –3 – 4 + 5 = –2.
Анализ значений ∆ij показывает, что условие оптимальности для плана Х0 не выполнено, т.к. имеется значение ∆23 = +1. Необходима корректировка плана.
Составляем цикл, включающий клетки: (2, 3), (3, 3), (3, 1), (2, 1). Среди значений, стоящих в минусовых клетках, выбирается минимальное. Это и будет корректирующая величина θ = 32. Свободная клетка (2, 3) заполняется значением 32, а клетка (3, 3) освобождается. В соответствии со знаком клетки меняются значения в клетках цикла: в клетку (3,1) заносится число 45 (13 + θ = 13 + 32 = 45), а в клетку (2,1) — число 21 (53 – θ = 53 – 32 = 21).
Таким образом, начальный план скорректирован и получен новый опорный план Х1 со значением целевой функции Р1 = Р0 – ∆23 θ = –1145 – 1 × 32 = –1177. Этот план представлен в таблице 2.1.
– 61 13
Х1 = 21 – 32 , Р1 = –1177.
45 – –
24 – –
Шаг 2. Опорный план X1 проверяется на оптимальность. Рассчитаем для него значения потенциалов строк Ui и столбцов Vj. Определим значение ∆ij для всех свободных клеток:
∆11 = –3 + 3 = 0,
∆22 = –5 – 4 + 3 = –6,
∆32 = –5 – 3 + 3 = –5,
∆33 = –3 – 3 + 5 = –1,
∆42 = –5 – 5 + 5 = –5,
∆43 = –3 – 5 + 5 = –3.
Таблица 2.1
bj ai |
90 |
61 |
45 |
Ui |
74 |
-3
|
-5 61 |
-3 13 |
0 |
53 |
-7 21 |
-3
|
-7 32 |
4 |
45 |
-6 45 |
-3
|
-5
|
3 |
24 |
-8 24 |
-5 |
-5 |
5 |
Vj |
-3 |
-5 |
-3 |
P1 = -1177 |
План, представленный в таблице 2.1, оптимален, т.к. выполнено условие (2) оптимальности плана транспортной задачи: все ∆ij ≤ 0; значит, получено окончательное решение задачи. Умножив значение P1 на –1, получим максимальное значение целевой функции.
Наличие ∆11 = 0 говорит о том, что при заданных исходных данных в этой задаче существует ещё одно оптимальное распределение механизмов по участкам работ с тем же значением целевой функции.
О твет:
– 61 13
Х * = 21 – 32 , Р* = 1177.
45 – –
24 – –
Экономическая интерпретация оптимального решения задачи распределения механизмов между участками работ
Для получения максимальной производительности всех механизмов на всех участках работ в размере 1177 (единиц работы/единицу времени) необходимо распределить их следующим образом:
механизм 1 — на участок В (61 единицы) и участок С (13 единиц);
механизм 2 — на участок А (21 единицы) и участок С (32 единицы);
механизм 3 — на участок А (45 единиц);
механизм 4 — на участок А (24 единиц).