Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lektsii_po_lineynomu_programmirovaniyu.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.78 Mб
Скачать

1.10 Задача о назначениях

Требуется распределить работ по станкам. Работа , выполнимая на станке , связана с затратами . Задача состоит в таком распределении работ по станкам ( одна работа выполняется одним станком ), которое соответствует минимуму суммарных затрат. Такая задача известна как задача о назначениях.

Эту задачу можно рассматривать как частный случай транспортной задачи. Здесь работы представляют «исходные пункты», а станки – «пункты назначения». Предложение в каждом исходном пункте равно 1, т.е. . Аналогично спрос в каждом пункте назначения равен 1, т.е. . Стоимость «перевозки» (прикрепления) работы к станку равна . Если какую-либо работу нельзя выполнить на некотором станке, то соответствующая стоимость берётся равной очень большому числу .

Общая структура задачи о назначениях имеет вид:

В случае существования дисбаланса, добавив фиктивные работы или станки в зависимости от начальных условий, можно его ликвидировать. Поэтому без потери общности можно положить .

Задачу о назначениях можно представить следующим образом. Пусть

Теперь задача будет формулироваться как

Заметим, что оптимальное решение задачи о назначениях не изменится, если к любой строке или столбцу матрицы стоимостей прибавить (или вычесть) постоянную величину. В самом деле, если и вычитаются из ой строки и го столбца, то новые стоимости имеют вид . Отсюда получается новая целевая функция

Поскольку , то . Следовательно, минимизация исходной целевой функции приводит к такому же решению, как минимизация . Приведённое соображение показывает, что если можно построить новую матрицу с нулевыми элементами и эти нулевые элементы соответствуют допустимому решению, то такое решение будет оптимальным, поскольку стоимость не может быть отрицательной.

Специфическая структура задачи о назначениях позволяет разработать эффективный метод её решения. Покажем, как реализуется этот метод на примере.

Рассмотрим задачу о назначениях с тремя работами и тремя станками.

Возвращаясь к первоначальному варианту и учитывая последнее распределение, оптимальный план распределения будет выглядеть следующим образом:

Однако, не всегда удаётся определить допустимое назначение столь просто, как в приведённом примере. Поэтому требуются другие правила для нахождения оптимального решения. Рассмотрим эти правила на примере.

Процедура вычёркивания состоит в проведении Если на последнем шаге оптимальное решение

минимального числа прямых через некоторые не достигнуто, то процедуру проведения

строки и столбцы, с тем чтобы все нули оказа- прямых следует повторять до тех пор, пока

лись вычеркнутыми. Затем выбирается наименьший не будет получено допустимое решение.

невычеркнутый элемент (в нашем примере 1),

вычитается из каждого невычеркнутого элемента

и прибавляется к каждому элементу, стоящему на

пересечении проведённых прямых.

Возвращаясь к первоначальному варианту и учитывая последнее распределение, оптимальный план распределения будет выглядеть следующим образом:

Презентация решения задачи о назначениях

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]