Файл: пензенский государственный университет политехнический институт.docx
Добавлен: 30.11.2023
Просмотров: 215
Скачиваний: 4
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
СОДЕРЖАНИЕ
Основные положения, выносимые на защиту:
Эквивалентные преобразования моделей задач линейного программирования
Анализ моделей и алгоритмов решения задач о назначениях
Анализ эквивалентных преобразований моделей задач о назначениях
Модель и алгоритм решения задачи с приоритетными назначениями
i1 j1
xij
i1
n
xij
j1
1,
1,
j 1, n,
i 1, n,
где
xij{0,1}, i, j 1, n,
ij
Ql (ql) – матрица затрат l-й задачи с недопустимыми назначениями,
l 1, L.
Матрица затрат Ql
образом:
получается из исходной матрицы С следующим
– в каждой комбинации Rн. к. ,
k
k
k1, K, фиксируется пара индексов,
обозначим ее как
(i, j)* ;
– в матрице затрат на данное место ставится штраф, в качестве
которого можно взять число
M n maxсij.
Для определенности будем полагать
получаем
M 2n max сij. В результате
M, если (i, j) Rн. к.,
(i, j) (i, j)* , k 1, K;
ij
ql
cij
kk
иначе.
Определим количество Lполученных задач. Зафиксировать пару
индексов в комбинации
индексов в комбинации
н. к. 1
R
R
н. к. 2
можно
можно
н. к. 1
R
R
н. к. 2
способами, зафиксировать пару
способами и т.д. По основному
правилу комбинаторики получаем
L | Rн. к. | | Rн. к. | ... | Rн. к. | .
1 2 K
Каждую из полученных задач можно решить венгерским методом или методом Мака. Оптимальным решением является та матрица назначений,
которой соответствует минимальное значение целевой функции
l 1, L.
l(X) ,
Эквивалентное преобразование задачи с недопустимыми комбинациями в совокупность L простейших линейных задач с формулируется так:
-
найти размер штрафа
M 2n max сij;
-
k
R
последовательно фиксируя в каждой комбинации индексов (i, j)* , построить Lпростейших линейных задач
н. к. k
пару
nn l(X) qlxij min, ij i1 j1 n | (43) |
xij 1, j 1, n, i1 n | (44) |
xij 1, i 1, n, | (45) |
j1
xij{
0,1}, i, j 1, n, | (46) |
l1, L, | (47) |
где
L | Rн. к. | | Rн. к. | ... | Rн. к. |;
1 2 K
ql M, если (i, j) Dk,
(i, j) (i, j)* , k 1, K;
k
c
ij
ij
иначе.
Тогда алгоритм решения задачи о назначениях (38) – (42) имеет вид.
-
Применить к модели (38) – (42) эквивалентное преобразование задачи с недопустимыми комбинациями. Результатом является получение L простейших линейных задач вида (43) – (47). -
Решить L задач, описываемых соотношениями (43) – (47), венгерским методом или методом Мака.
-
Найти
min l(X). Матрица назначений X , соответствующая
l1, L
min l(X), является оптимальным решением задачи с недопустимыми
l1, L
комбинациями назначений.
Разработана программа для нахождения решения задачи с недопустимыми комбинациями назначений средствами математического пакета Mathcad. Рассмотрим работу программы на исходных данных, представленных на рисунке 8.
Рисунок 8 – Исходные данные задачи с недопустимыми комбинациями назначений
Применяя описанный выше алгоритм, находим оптимальное решение (рисунок 9).
Рисунок 9 – Результаты поиска оптимального решения задачи с недопустимыми комбинациями назначений
При заданных матрице затрат и множестве недопустимых комбинаций целевая функция задачи с недопустимыми комбинациями назначений достигает минимального значения, равного 112.
Важно отметить, что в общем случае учет недопустимых комбинаций назначений ведет к увеличению значение целевой функции. На рисунке 10 приведено решение простейшей линейной задачи о назначениях, матрица
затрат C которой совпадает с матрицей затрат задачи с недопустимыми комбинациями назначений:
Рисунок 10 – Результаты поиска оптимального решения простейшей линейной задачи с матрицей затрат С
Как видно из рисунка, при одинаковой матрице затрат минимальное значение целевой функции простейшей линейной задачи о назначениях меньше минимального значения целевой функции задачи с недопустимыми комбинациями назначений.
Наложим на задачу (38) – (42) дополнительное ограничение. Будем считать, что в искомом решении может присутствовать не более одного назначения из каждой недопустимой комбинации. Эквивалентное преобразование будет иметь отличие лишь в части правила размещения
штрафов в матрицах Ql:
M, если (i, j) Rн. к.,
(i, j) (i, j)* , k 1, K;
ij
ql
cij
kk
иначе.
где
l 1, L,
L | Rн. к. | | Rн. к. | ... | Rн. к. | .
1 2 K
Такой способ построения матриц затрат позволит исключить из искомого решения все назначения из недопустимой комбинации, кроме
одного. В общем случае, полагая, что в искомом решении может
присутствовать hназначений из каждой недопустимой комбинации,
h min| Rн. к. |,| Rн. к. |,...,| Rн. к. |., штрафы будут последовательно
1 2 K
накладываться на размещения из hэлементов комбинации
Rн. к. .
k