Файл: пензенский государственный университет политехнический институт.docx
Добавлен: 30.11.2023
Просмотров: 217
Скачиваний: 4
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
СОДЕРЖАНИЕ
Основные положения, выносимые на защиту:
Эквивалентные преобразования моделей задач линейного программирования
Анализ моделей и алгоритмов решения задач о назначениях
Анализ эквивалентных преобразований моделей задач о назначениях
Модель и алгоритм решения задачи с приоритетными назначениями
Модель и алгоритм решения задачи с порядком назначений
Добавим к простейшей линейной задаче (1) – (4) дополнительное требование. Будем полагать, что на некоторые работы в силу, например, их важности или срочности, необходимо сделать назначения в первую очередь, и только потом распределять другие работы.
Пусть имеется nработ и nисполнителей. Известны трудовые затраты
Модель и алгоритм решения задачи с порядком назначений
Добавим к простейшей линейной задаче (1) – (4) дополнительное требование. Будем полагать, что на некоторые работы в силу, например, их важности или срочности, необходимо сделать назначения в первую очередь, и только потом распределять другие работы.
Пусть имеется nработ и nисполнителей. Известны трудовые затраты
cij
на выполнение i-м исполнителем j-й работы ( i 1,n,
j 1, n). Каждый
исполнитель может быть назначен только на одну работу, каждая работа может быть выполнена только одним исполнителем. Установлен порядок назначений, состоящий в том, сначала делаются назначения на выделенные работы, затем на остальные. Требуется распределить работы так, чтобы они были исполнены с минимальными затратами и с учетом порядка назначений.
Рассмотрим множество
I {1,2,.., n}
индексов работ. Пусть
P I–
подмножество индексов работ, распределяемых в первую очередь,
| P| k.
Без ограничения общности можно полагать, что
P {1,2,.., k}. Очевидно,
этого всегда можно добиться переупорядочиванием столбцов. Пары (i, j)
такие, что
i1, n,
j 1, k,
подлежат распределению назначений в первую
очередь. Обозначим отношение порядка распределения назначений через
пр.
.
Тогда математическая модель задачи с порядком назначений принимает вид:
nn
1 | cij | xij | |
, | j | 1, n |
f(X)
i1 j
xij 1
i1
n
xij 1, i1, n, j1 | (50) |
xij{0,1}, i1, n, j 1, n, | (51) |
пр. (i, j) (i, j*) , i1, n, j k1, n, j* 1, k. | (52) |
Представим данную задачу в виде совокупности двух последовательно решаемых задач – о назначениях на работы из множества Pи о назначениях
на работы из множества I\ P. Очевидно, что первая задача представляет
собой открытую задачу о назначениях, математическая модель которой имеет вид:
nk 1(Y) cijyij min, i1 j1 |
n yij 1, j 1, k, i1 |
k yij 1, i1, n, j1 |
yij{0,1}, i1, n, j 1, k, |
где
Y ( yij)
– матрица бинарного отношения, описывающего назначение
исполнителю работы из множества P.
Используя эквивалентное преобразование прямоугольной матрицы затрат в квадратную, эту модель можно привести к простейшей линейной модели вида:
nn (Y) q1 yij min, 1 ij i1 j1 | (53) |
n yij 1, j 1, n, i1 | (54) |
y yij 1, i 1, n, j1 | (55) |
xij{0,1}, i, j 1, n, | (56) |
где
q1 cij, i 1, n, j 1, k;
ij
0, i 1, n, j k1, n.
Оптимальное решение задачи (53) – (56) можно найти венгерским методом или методом Мака. Обозначим оптимальное решение задачи
(53) – (56) через
Y* ( y* ) .
ij
Теперь надо сделать назначения по оставшиеся работы. Очевидно, что нельзя назначать тех исполнителей, которые уже заняты на работах из множества P, также нельзя делать назначения на работы из множества P.
Таким образом, задача назначений на работы из множества представляет собой задачу с недопустимыми назначениями.
I\ P
Обозначим через
Iн. I
подмножество индексов строк, на которые
сделаны назначения,
Iн. {i| yij
1}. На множестве Iустановим бинарное
отношение допустимых назначений
Rд. н. {(i, j) | i Iн., j P},
и наложим на неизвестные
zij, представляющие назначение исполнителя iна
работу jиз множества I\ P, дополнительное ограничение:
где i 1,..., n,
j 1,..., n.
zij
0, если (i, j) Rд. н. ,
Тем самым математическая модель задачи о назначениях на работы из
множества
I\ P
принимает вид:
nn 2 (Z) cijzij min, i1 j1 |
n zij 1, j 1, n, i1 |
n zij 1, i1, n, j1 |
zij 0 , (i, j) Rд. н., |
zij{0,1}, (i, j) Rд. н., |
где
Z (zij)
– матрица бинарного отношения, описывающего назначение
исполнителю работы из множества I\ P.
Применив эквивалентное преобразование недопустимых назначений, данную модель можно привести к простейшей линейной вида:
nn (Z) q2 zij min, 2 ij i1 j1 | (57) |
n zij 1, j 1, n, i1 | (58) |
n zij 1, i1, n, j1 | (59) |
zij{0,1}, i, j 1, n, | (60) |
где
2 cij, если (i, j) Rд. н.,
qijM, если (i, j) R:
M 2n max сij.
i, j1,n
д. н.
Задача (57) – (60) – простейшая линейная. Значит, ее оптимальное решение можно найти венгерским методом или методом Мака. Обозначим
оптимальное решение задачи (57) – (60) через
Z* (z* ) .
ij