Итеративный алгоритм для задачи о назначении
Авторы: Тизик Александр Петрович, Кузовлев Дмитрий Игоревич, Тресков Юрий Павлович
Рубрика: 1. Информатика и кибернетика
Опубликовано в
международная научная конференция «Технические науки: теория и практика» (Чита, апрель 2012)
Статья просмотрена: 406 раз
Библиографическое описание:
Тизик, А. П. Итеративный алгоритм для задачи о назначении / А. П. Тизик, Д. И. Кузовлев, Ю. П. Тресков. — Текст : непосредственный // Технические науки: теория и практика : материалы I Междунар. науч. конф. (г. Чита, апрель 2012 г.). — Чита : Издательство Молодой ученый, 2012. — С. 41-43. — URL: https://moluch.ru/conf/tech/archive/7/2160/ (дата обращения: 19.12.2024).
- Предложен новый метод решения задачи о назначении, основанный на
декомпозиции исходной задачи на ряд двумерных оптимизационных задач.
Целочисленность и монотонность по целевой функции итерационного
процесса решения обеспечивает конечность алгоритма. В результате
может получиться или единственное оптимальное решение исходной
задачи о назначении, или система ограничений, из которой можно
получить все оптимальные решения.
- Введение. В данной работе метод последовательных изменений параметров функционала для транспортных задач [1] конкретизируется для задачи о назначении (см., например, [2]). Специфика задачи о назначении выявляет особенности применения данного алгоритма. Булевость переменных приводит к более простым формулам, а интерпретация при вырождении является более прозрачной.
1. Предварительные рассмотрения. Имеется следующая классическая задача о назначении (см., например, [2]):
- Предположим, что
- чётные неотрицательные числа при всех
, что не ограничивает общности рассмотрения.
- Здесь используется известная интерпретация. Имеются
работ и
исполнителей.
- количество рабочих часов, которые затрачивает
-й исполнитель на
-ю работу. Целью является минимизация суммы рабочего времени на выполнение всех
работ .
- Здесь используется известная интерпретация. Имеются
Вычислим
и составим
оптимизационных задач с ограничениями (1.1):
Составим также ещё
оптимизационных задач с ограничениями (1.2) и (1.6):
- Задачи вида (1.1), (1.5), (1.6), и (1.2), (1.6), (1.7) решаются
простым выбором наименьших коэффициентов целевой функции, а именно,
пусть в задаче вида (1.1), (1.5), (1.6)
, тогда
- Точно так же решаются и задачи (1.2), (1.6), (1.7).
- Предположим, что все
задач (1.1), (1.5), (1.6) и (1.2), (1.6), (1.7) решены. Объединение оптимальных решений всех
одномерных задач назовём псевдорешением исходной задачи о назначении, а соответствующую сумму значений целевых функций значением целевой функции псевдорешения. Очевидно, что значение целевой функции псевдорешения не превосходит значения целевой функции оптимального решения исходной задачи (1.1) – (1.4), причём этот факт не зависит от способа разбиения каждого
на два слагаемых.
- Теорема 1. Если объединение оптимальных решений всех
задач (1.1), (1.5), (1.6) и (1.2), (1.6), (1.7) - (псевдорешение исходной задачи о назначении) является допустимым решением задачи исходной задачи (1.1) – (1.4), то оно является оптимальным решением задачи (1.1) – (1.4).
2. Конструкции алгоритма. Пусть объединение оптимальных
решений
задач (1.1), (1.5), (1.6) и (1.2), (1.6), (1.7) не является
допустимым решением исходной задачи (1.1) – (1.4). В этом
случае строим пошаговый процесс решения следующих двумерных
оптимизационных задач. На первом шаге выпишем первое ограничение из
(1.1), (
),
и первое ограничение из (1.2), (
):
Составим целевую функцию:
и рассмотрим задачу (1.6), (2.1) – (2.3).
При решении задачи (1.6), (2.1) – (2.3) могут иметь место три случая.
Первый случай:
Тогда полагаем
и задача (1.6), (2.1) – (2.3) решена. После решения задачи
(1.6), (2.1) – (2.3) найдём новые
и
сначала из системы уравнений
Затем, при необходимости, округлим
до ближайшего целого в меньшую сторону, а
- в большую сторону.
Второй случай:
Пусть
Тогда обозначим
и
,
вместо решения выписываем ограничения
,
.
Вычисляем новые значения
и
.
Третий случай:
Тогда, очевидно, что
,
и задача (1.6), (2.1) – (2.3) решена. Далее, найдём новые
и
из системы уравнений
Округлим до целого так же, как и во втором случае. Сформируем с
новыми значениями
и
две одномерные задачи. Первая задача
при ограничениях (1.6), (2.1) и вторая задача
при ограничениях (1.6), (2.2).
Имеет место следующее утверждение.
Теорема 2. Во всех вышеперечисленных случаях (выполняется
соотношение (2.4), (2.5) или (2.6)) объединение оптимальных решений
одномерных задач (1.6), (2.1), (2.7) и (1.6), (2.2), (2.8) с новыми
значениями
и
является оптимальным решением двумерной задачи (1.6), (2.1) –
(2.3).
- Теорема 3. Объединение решений одномерных задач является
оптимальным решением исходной задачи о назначении (1.1) –
(1.4).
- Теорема 4. Любое допустимое решение редуцированной задачи о назначении, полученной в результате пошагового процесса есть её оптимальное решение.
- Итак, оптимальное решение исходной задачи о назначении есть объединение значений переменных, определённых однозначно в итоге пошагового процесса с произвольным допустимым решением редуцированной задачи о назначении.
- Рассмотрим, наконец, случай когда в результате пошагового процесса для некоторых переменных в одной из одномерных задач получено некоторое значение, а в другой – ограничение совместно с другими переменными. В этом случае допустимое решение исходной задачи может быть ещё не достигнуто. Возможна ситуация, когда система итоговых ограничений формирует ограничения задачи о назначении с запретами, которая может не иметь допустимых решений. Это будет рассмотрено после примера 1. Верно, однако, следующее утверждение.
- Лемма. Оптимальное решение задачи о назначении не изменится, если при сохранении неотрицательности продолжительности выполнения работ изменить на одну и ту же величину все продолжительности выполнения работ одного исполнителя или продолжительность выполнения одной работы всеми исполнителями.
- Дальнейшие конструкции алгоритма будут использовать результаты леммы. Они направлены на увеличение количества переменных, входящих в ограничения за счёт переменных с найденным значением. В итоге все переменные окажутся записанными в ограничениях или же оставшиеся переменные с найденным значением не нарушают допустимого решения исходной задачи.
- Итак, пусть в результате пошагового процесса допустимое решение исходной задачи о назначении (оно же и оптимальное) не получено. Пусть, для простоты и определённости превышено ограничение первой группы с номером
, в котором имеет место
, но в ограничениях второй группы имеют место равенства
,
,
,
- и, кроме того
. (2.9)
- Обозначим через
=
для
в ограничении
, а так же
в ограничении
и, наконец,
в ограничении
. При этом, очевидно.
=0,
=0,
=0. Вычислим
=
, где
и
- переменные, попавшие в ограничения по итогам итерационного процесса (т.е. рассматриваемые на предмет присвоения им положительных значений), и по аналогии обозначим
и
.
- Далее пусть
=
. Тогда очевидно, что, если, пользуясь утверждением Леммы, передать из целевой функции одномерной задачи (возможно увеличив её предварительно на достаточную величину) с номером ограничения
величину
в одномерные задачи с номерами
,
и
соответственно, то, по крайней мере, в одной из пар задач с номерами ограничений
,
(
,
или
,
) в ограничениях появится ещё одна переменная, которая может быть больше нуля, и тем самым неравенство (2.9) станет содержать больше переменных. После некоторого (заведомо меньшего, чем
) количества таких процедур будет получено оптимальное решение исходной транспортной задачи.
- Литература:
- 1. Тизик А.П., Цурков В.И. Метод последовательных изменений параметров функционала в задаче о назначении // Автоматика и телемеханика. 2011. №12.
- 2. Гольштейн Е.Г., Юдин Д.Б. Задачи линейного программирования транспортного типа, М.: Наука, 1969 г.
- Теорема 4. Любое допустимое решение редуцированной задачи о назначении, полученной в результате пошагового процесса есть её оптимальное решение.