Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КЛ_МиМ в экономике_текст.doc
Скачиваний:
80
Добавлен:
05.11.2018
Размер:
16.27 Mб
Скачать

Задача о назначении (проблема выбора, задача о женихах и невестах)

Она является исторически первой задачей дискретного программирования (опубликована венгерским математиком Е. Эгервари в 1932 г. как задача транспортного типа).

Имеется n исполнителей, которые могут выполнять n различных работ. Известна полезность сij, связанная с выполнением i-м исполнителем j-й работы (i,j=).

Необходимо так назначить исполнителей на работы, чтобы добиться максимальной полезности при условии, что каждый исполнитель может быть назначен только на одну работу и за каждой работой должен быть закреплен только один исполнитель.

Для составления математической модели задачи обозначим через xij факт назначения или не назначения i-го исполнителя на j-ю работу. Так как количество исполнителей равно количеству работ и каждый из них может быть назначен только на одну работу, то хij должны принимать только два значения: 1 или 0. Такие переменные называют булевыми. Итак,

(9)

Приходим к задаче: найти план назначения xij, который максимизирует суммарную полезность назначений:

(10)

при следующих ограничениях. Каждый исполнитель назначается только на одну работу:

(11)

На каждую работу назначается только один исполнитель:

(12)

Условия неотрицательности и целочисленности (булевости):

(13)

Легко видеть, что задача о назначении - частный случай транспортной задачи при аi=1, bj=1. Однако с учетом специфики задачи для ее решения разработаны специальные, более эффективные алгоритмы.

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

Если в задаче о назначениях число исполнителей равно числу работ, то говорят о закрытой модели, в противном случае - об открытой модели задачи о назначениях. Если число m меньше числа исполнителей n (m<n), то вводят n-m фиктивных работ. Считается, что с назначением на фиктивные работы исполнителей не связаны затраты, т.е. соответствующие коэффициенты матрицы потерь равны нулю. В случае же m>n вводят m-n фиктивных исполнителей. Соответствующие элементы сij матрицы потерь можно полагать очень большими (“блокируют бесконечностью”).

Если по каким-либо причинам запрещается выполнение какой-либо работы каким-либо исполнителем, то и в этом случае соответствующую клетку “блокируют бесконечностью” (ставят большую стоимость М).

8.2.Краткая классификация математических моделей дискретного программирования

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

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

(19)

при ограничениях:

(20)

(21)

(22)

Если n1=n, то задачу называют полностью целочисленной, если же n1<n - частично целочисленной.