Квадратичная задача о назначениях

Материал из testwiki
Версия от 06:17, 6 апреля 2022; imported>InternetArchiveBot (Спасено источников — 3, отмечено мёртвыми — 0. Сообщить об ошибке. См. FAQ.) #IABot (v2.0.8.7)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску

Квадрати́чная зада́ча о назначе́ниях (КЗН, Шаблон:Lang-en, QAP) — одна из фундаментальных задач комбинаторной оптимизации в области оптимизации или исследования операций, принадлежащая категории задач размещения объектов.

Задача моделирует следующую задачу из реальной жизни:

Есть множество n предприятий, которые могут быть расположены в n местах. Для каждой пары мест задано расстояние и для каждой пары производств задан вес или поток (т. e. количество материала (сырья или продукции), перевозимого между двумя производствами). Требуется расставить производства по местам (два производства нельзя размещать в одном месте) таким образом, что сумма расстояний, умноженных на соответствующие потоки, будет минимальной.

Интуитивно понятно, что предприятия с большим потоком следует размещать ближе друг к другу.

Формулировка задачи похожа на формулировку задачи о назначениях, различаются они целевой функцией — в квадратичной задаче она квадратична, что и отражает название.

Формальное математическое определение

Формальное определение квадратичной задачи о назначениях следующее:

Заданы два множества, P («производства») и L («точки размещения») равных размеров вместе с весовой функцией w : P × PR и функцией расстояний d : L × LR. Требуется найти биекцию f : PL («назначение»), такую, что значение целевой функции:
a,bPw(a,b)d(f(a),f(b))
будет минимально.

Обычно веса и расстояния рассматриваются как квадратные вещественные матрицы, так что целевую функцию можно выписать следующим образом:

a,bPwa,bdf(a),f(b)

В матричной форме:

minXΠntrace(WXDXT), где Πn — матрицы перестановок, W — матрица весов, а D — матрица расстояний.

Вычислительная сложность

Задача является NP-трудной, так что не существует алгоритма, решающего задачу за полиномиальное время, и даже маленькие задачи могут потребовать большого времени вычисления. Также было доказано, что задача не имеет аппроксимирующего алгоритма, работающего за полиномиальное время для любого (постоянного) множителя, если только не P = NP Шаблон:Sfn. Задачу коммивояжёра можно рассматривать как специальный случай КЗН, если требовать, чтобы потоки связывали все производства в одном цикле с одним и тем же ненулевым значением потока. Многие другие стандартные задачи комбинаторной оптимизации могут быть записаны в этой форме.

Приложения

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

См. также

Примечания

Шаблон:Примечания

Литература

Ссылки

Шаблон:Rq