![](/user_photo/2706_HbeT2.jpg)
- •Математическое программирование
- •Часть 2
- •30 Мая 2013, протокол № 10
- •Тема 2 транспортная задача линейного программирования (тз) 4
- •Закрытая и открытая модели транспортной задачи
- •2.2 Решение транспортной задачи
- •Алгоритм решения транспортной задачи
- •Нахождение начального опорного плана методом «минимального элемента»
- •Нахождение начального опорного плана методом «северо-западного угла»
- •Нахождение начального опорного плана методом Фогеля
- •Проверка на оптимальность невырожденного опорного плана методом потенциалов
- •Переход к новому опорному плану
- •Цикл пересчета
- •Тема 3 задача о назначениях
- •3.1 Математическая модель задачи о назначениях
- •Закрытая и открытая модели задачи назначениях
- •3.2 Решение задачи о назначениях
- •Алгоритм венгерского метода решения задачи о назначениях
- •Тема 4 динамическое программирование
- •4.1 Задача оптимального распределения ресурсов
- •I этап. Условная оптимизация.
- •II этап. Безусловная оптимизация.
- •4.1.11–4.1.16
- •4.2. Задача об оптимальной стратегии замены оборудования
- •I этап. Условная оптимизация.
- •II этап. Безусловная оптимизация.
- •4.2.1–4.2.10
- •Список использованной литературы
- •Математическое программирование
- •220114, Минск, ф.Скорины, 8/2
Тема 3 задача о назначениях
3.1 Математическая модель задачи о назначениях
Имеется nисполнителей (машин, механизмов, людей
и т. п.),
которые могут выполнятьnработ
.
Известна полезность (производительность,
прибыль) или затраты
от выполнения
-ым
(
)
исполнителем
-ой
(
)
работы.
Требуется так назначить исполнителей на работы, чтобы добиться максимальной полезности или минимальных затрат при условии, что каждый исполнитель может быть назначен только на одну работу, и за каждой работой должен быть закреплен только один исполнитель.
Для наглядности, условие задачи о назначениях можно представить таблицей (таблица 3.1).
Таблица 3.1
Исполнители |
Работы |
Число исполнителей | |||
|
|
... |
| ||
|
|
|
... |
|
1 |
|
|
|
... |
|
1 |
... |
... |
... |
... |
... |
... |
|
|
|
... |
|
1 |
Число работ |
1 |
1 |
... |
1 |
|
Составим математическую модель задачи о назначениях.
Введем переменные
– факт назначения
-го
исполнителя на
-ую
работу (
,
если назначается и
,
если не назначается).
Матрицу
будем называтьматрицей назначений.
Цель задачи о назначениях – добиться максимальной полезности или минимальных затрат при назначении исполнителей на работы, следовательно, целевая функция будет иметь вид:
(3.1)
Составим систему ограничений (3.2) в случае, когда число исполнителей равно количеству работ.
(3.2)
Задача о назначениях
– частный случай транспортной задачи
при
и
,
.
Закрытая и открытая модели задачи назначениях
Модель задачи о назначениях называют закрытой (сбалансированной), если число исполнителей равно числу работ. В противном случае модель задачи называютоткрытой (несбалансированной).
Для составления математической модели и для решения задачи о назначениях с открытой моделью необходимо преобразовать ее в закрытую модель.
Так, если меньше
число работ, то необходимо ввести
фиктивную работу
,
при этом в матрице задачи добавляется
столбец, причем
.
Если переменная
,
то исполнитель
не будет выполнять работ.
Аналогично, если
меньше число исполнителей, то необходимо
ввести фиктивного исполнителя
,
при этом в матрице задачи добавляется
строка, причем
.
Если переменная
,
то работа
не будет выполнена.
Целевая функция (3.1) и система ограничений (3.2) являются математической моделью сбалансированной задачи о назначениях.
3.2 Решение задачи о назначениях
Элементы матрицы называются независимыми, если никакие два из них не лежат на одной линии (строке, столбце).
Таким образом задача сводится к определению nнезависимых элементов матрицы полезности (затрат), так чтобы сумма их была максимальной (минимальной). Места расположения этих элементов определяют оптимальное решение.
Учитывая специфику задачи (в решении только nпеременных имеют значение 1), разработаны специальные алгоритмы ее решения. Одним из них, наиболее эффективным,является венгерский метод.