Задача о назначениях
Задача о назначениях используется для количественного анализа ситуаций, когда требуется назначить рабочих на выполнение различных операций и учесть при этом эффективность выполнения данной операции каждым рабочим. Распределение следует осуществить либо по критерию эффективности выполнения операций (задача максимизации), либо минимизировать суммарные затраты на выполнение всей работы в целом.
С математической точки зрения задача о назначениях — это частный случай транспортной задачи, в которой число поставщиков (например, число рабочих, или, иначе, поставщиков рабочей силы) в точности равно числу потребителей («работ», различных технологических операций). Поэтому таблица «транспортных издержек» (аналогом которых может выступать любая мера эффективности выполнения той или иной операции данным работником) должна быть квадратной.
Кроме того, в задаче о назначениях от каждого поставщика к каждому потребителю поставляется только одна единица «груза» (например, только одного рабочего можно назначить для выполнения данной работы) или ни одной. Поэтому все «запасы» и все «заказы» равны 1.
Понятно, что все переменные решения в задаче о назначениях могут принимать только значения 1 или 0. На первый взгляд, это похоже на задачи целочисленного линейного программирования. Однако в силу особенностей структуры ограничений транспортной задачи явно требовать целочисленность переменных решения (как их равенства только нулю или единице) не требуется. Такие значения получаются при решении автоматически.
Пусть требуется назначить п работников для выполнения п типовых операций. Из данных исследований эффективности труда известно, насколько эффективно каждый работник выполняет конкретную операцию (например, сколько времени ему требуется на ее выполнение или сколько стоит его труд). Как распределить работников по операциям, чтобы суммарные затраты рабочего времени были минимальны? Конкретный пример будет рассмотрен Вами на практических занятиях.
В заключение данного учебного вопроса еще раз отметим, что транспортная задача обязательно должна обладать свойством сбалансированности: сумма запасов производителей должна быть равна сумме заказов потребителей. Если это условие в реальности не выполняется, необходимо сбалансировать задачу, а именно:
■ если сумма запасов превышает сумму заказов, в таблицы издержек и перевозок нужно ввести лишнюю строку «фиктивного потребителя», который «заказывает» весь реальный избыток запасов поставщиков. При этом транспортные издержки при перевозке запаса от любого реального поставщика к «фиктивному потребителю» должны быть равны нулю. Перевозки, «доставленные» к «фиктивному потребителю» от каждого поставщика, означают, что эти запасы реально остались на складах поставщиков;
■ если сумма заказов превышает сумму запасов, в таблицы издержек и перевозок нужно ввести лишний столбец «фиктивного поставщика», который «предлагает» покрыть весь дефицит запасов реальных поставщиков. При этом транспортные издержки при перевозке запаса от «фиктивного поставщика» к любому реальному потребителю должны быть равны нулю. Перевозки, «доставленные» от «фиктивного поставщика» каждому реальному потребителю, означают величину недопоставленного запаса этому потребителю.
При решении транспортной задачи с помощью процедуры MS-Excel Поиск решения она автоматически выберет специальные эффективные алгоритмы решения и обеспечит целочисленность решения (без специального требования целочисленности), если организация данных и введенные ограничения соответствуют транспортной задаче.
Задача о назначениях представляет собой частный случай транспортной задачи с числом строк (поставщиков), равным числу столбцов (потребителей). Каждый «поставщик» (это может быть рабочий) предлагает самого себя одному из «потребителей» (это может быть операция, станок или напарник). Поэтому все «запасы» и «заказы» в задаче о назначениях равны 1.
Дата добавления: 2016-07-18; просмотров: 2304;