Файл: пензенский государственный университет политехнический институт.docx
Добавлен: 30.11.2023
Просмотров: 213
Скачиваний: 4
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
СОДЕРЖАНИЕ
Основные положения, выносимые на защиту:
Эквивалентные преобразования моделей задач линейного программирования
Анализ моделей и алгоритмов решения задач о назначениях
Анализ эквивалентных преобразований моделей задач о назначениях
Модель и алгоритм решения задачи с приоритетными назначениями
Зная оптимальное решение
Y* ( y* )
ij
задачи (53) – (56) и оптимальное
решение
Z* (z* )
ij
задачи (57) – (60), можно найти оптимальное решение
X* задачи (48) – (52):
y* , i 1, n, j 1, k;
x* ij
ijz* , i 1, n, j k1, n.
ij
Таким образом, задачи с порядком назначений (48) – (52) эквивалентна совокупности двух последовательно решаемых задач – открытой задаче и задаче с недопустимыми назначениями. Для каждой из этих задач существует эквивалентная простейшая модель. Следовательно, задача с порядком назначений (48) – (52) эквивалентна совокупности двух
последовательно решаемых простейших линейных задач – задаче (53) – (56) и задаче (57) – (60).
Эквивалентное преобразование задачи с порядком назначений в совокупность двух последовательно решаемых простейших линейных задач формулируется так:
-
построить задачу (53) – (56); -
решить задачу (53) – (56) венгерским методом или методом Мака,
найти оптимальное решение
Y* ( y* ) ;
ij
-
построить задачу (57) – (60).
Таким образом, можно сформулировать алгоритм решения задачи о назначениях (48) – (52) .
-
Применить эквивалентное преобразование задачи с порядком назначений в совокупность двух последовательно решаемых простейших линейных задач. -
Решить задачу (57) – (60) венгерским методом или методом
Мака. Найти оптимальное решение
Z* (z* ) .
ij
-
Найти оптимальное решение X* задачи (48) – (52):
y* , i 1, n, j 1, k;
x* ij
ijz* , i 1, n, j k1, n.
ij
Разработана программа поиска оптимального решения задачи с порядком назначений средствами математического пакета «Mathcad» (приложение Г). Исходные данные задачи (рисунок 11) формируются случайным образом.
Рисунок 11 – Исходные данные задачи с порядком назначений
На рисунке 12 представлены результаты работы программы.
Рисунок 12 – Результаты поиска оптимального решения задачи с порядком назначений
При заданной матрице затрат и установленном порядке назначений целевая функция задачи достигает минимального значения, равного 128.
Следует отметить, что необходимость учета порядка назначений в общем случае приводит к росту значений целевой функции. Ниже представлено решение простейшей линейной задачи о назначениях, матрица затрат С которой совпадает с матрицей затрат задачи с порядком назначений (рисунок 13).
Рисунок 13 – Результаты поиска оптимального решения простейшей линейной задачи с матрицей затрат С
Как видно, при одинаковой матрице затрат минимальное значение целевой функции простейшей линейной задачи о назначениях меньше минимального значения целевой функции задачи порядком назначений.
- 1 ... 5 6 7 8 9 10 11 12 ... 21
Модель и алгоритм решения задачи с приоритетными назначениями
Добавим к простейшей линейной задаче (1) – (4) дополнительное требование. Будем полагать, что некоторые назначения имеют приоритет перед другими. Данная ситуация имеет место, когда для некоторых работ выделен предпочтительный состав исполнителей. Примером также является случай, когда исполнители имеют свои предпочтения по выбору работы, которые желательно учесть [70].
Пусть имеется nработ и nисполнителей. Известны трудовые затраты
cij
на выполнение i-м исполнителем j-й работы ( i 1,n,
j 1, n). Каждый
исполнитель может быть назначен только на одну работу, каждая работа может быть выполнена только одним исполнителем, при этом некоторые
назначения имеют приоритет перед другими. Требуется распределить работы так, чтобы они были исполнены с минимальными затратами и с учетом приоритетности назначений.
На множестве
приоритета
I {1,2,.., n}
индексов установим бинарное отношение
Rпр. {(i, j) | назначение (i, j)
имеет приоритет}.
Пары
(i, j) Rпр.
подлежат распределению назначений в первую
очередь. Обозначим отношение порядка распределения назначений через
пр.
.
Тогда математическая модель задачи с недопустимыми комбинациями назначений принимает вид:
nn
f(X) cijxij min, i1 j1 n | (61) |
xij 1, j 1, n, i1 n | (62) |
xij 1, i1, n, j1 | (63) |
xij{0,1}, i1, n, j 1, n, | (64) |
пр. (i, j) (i*, j*) , (i*, j*) Rпр. | (65) |
Rпр.
Введем в рассмотрение матрицу затрат таким образом:
Qnn, связанную с отношением
где M– штраф.
qij
cij, если (i, j) Rпр.,
cij M, если (i, j) Rпр.,
Введение матрицы Q обосновано следующими соображениями. Классические методы решения задачи о назначениях основаны на идее выбора в каждой строке матрицы затрат минимального элемента.
Неизвестная
xij, такая, что
(i, j) Rпр. , будет «штрафоваться» путем ввода в
целевую функцию выражения
(сij M)xij, что обеспечит учет
приоритетности выделенных назначений. Вместе с тем очевидно, что положения оптимального выбора среди назначений, не имеющих приоритета, не изменятся, если к каждому элементу матрицы затрат добавить одно и то
же число. Для определенности будем полагать
M 2n max сij.
Эквивалентное преобразование задачи с приоритетными назначениями в простейшую линейную задачу формулируется так:
-
найти размер штрафа
M 2n max сij;