Квадратичная задача о назначениях ( QAP ) является одной из фундаментальных задач комбинаторной оптимизации в области оптимизации или исследования операций в математике , из категории задач размещения объектов, впервые введенных Купмансом и Бекманном. [1]
Задача моделирует следующую реальную проблему:
Интуитивно функция затрат подсказывает, что объекты с высоким потоком между ними следует размещать близко друг к другу.
Постановка задачи напоминает задачу о назначениях , за исключением того, что функция стоимости выражается через квадратичные неравенства, отсюда и название.
Формальное определение квадратичной задачи о назначениях выглядит следующим образом:
Обычно функции веса и расстояния рассматриваются как квадратные действительные матрицы , поэтому функция стоимости записывается как:
В матричной записи:
где — набор матриц перестановок, — матрица весов, — матрица расстояний.
Задача является NP-трудной , поэтому не существует известного алгоритма для решения этой задачи за полиномиальное время, и даже небольшие примеры могут потребовать длительного времени вычислений. Было также доказано, что задача не имеет алгоритма приближения, работающего за полиномиальное время для любого (постоянного) фактора, если только P = NP. [2] Задача коммивояжера ( TSP) может рассматриваться как частный случай QAP, если предположить, что потоки соединяют все объекты только вдоль одного кольца, все потоки имеют одинаковое ненулевое (постоянное) значение и все расстояния равны соответствующим расстояниям примера TSP. Многие другие задачи стандартных задач комбинаторной оптимизации могут быть записаны в этой форме.
В дополнение к оригинальной формулировке местоположения завода, QAP представляет собой математическую модель для задачи размещения взаимосвязанных электронных компонентов на печатной плате или микрочипе , что является частью этапа размещения и маршрутизации автоматизированного проектирования в электронной промышленности.
QAP также использовался для моделирования стоимости размещения символов на клавиатуре. В этом случае местоположениями являются клавиши на клавиатуре, а их парные расстояния соответствуют времени, необходимому для нажатия данной пары клавиш. Объектами являются символы, а их веса пропорциональны частоте появления данной пары символов в текстовом корпусе. Этот тип модели QAP использовался при разработке французского стандарта клавиатуры (NF Z71-300). [3]