Назначение S-D с использованием лагранжевой релаксации
[ возвращает таблицу назначений, assignments,cost,solutionGap] = assignsd(costmatrix)assignmentsобнаружения дорожек путем нахождения неоптимального решения проблемы назначения S-D с использованием лагранжевой релаксации. Стоимость каждого потенциального назначения содержится в матрице затрат, costmatrix. Алгоритм завершается, когда промежуток достигает уровня ниже 0,01 (1 процент) или если число итераций достигает 100.
costmatrix - n-мерная матрица затрат, где costmatrix(i,j,k ...) определяет стоимость n-кортежа (i,j,k, ...) в задании. Индекс «» 1 «» для всех измерений в costmatrix представляет фиктивное измерение или ложную дорожку и используется для завершения задачи назначения. Индекс 1, будучи фиктивным, может быть частью нескольких n-кортежей. Индекс может быть назначен несколько раз. Типичное значение затрат для costmatrix(1,1,1,1, ...) равно 0.
Все входные данные могут иметь одну или двойную точность, но все они должны иметь одинаковую точность.
Функция также возвращает зазор решения, solutionGapи общая стоимость назначений, cost.
[ также указывает требуемый максимальный зазор, assignments,cost,solutionGap] = assignsd(costmatrix,desiredGap)desiredGap, между двойственными и выполнимыми решениями в качестве скаляра. Зазор управляет качеством решения. Значения обычно находятся в диапазоне от 0 до 1. Значение 0 означает, что двойственные и осуществимые решения одинаковы.
[ также указывает максимальное количество итераций, assignments,cost,solutionGap] = assignsd(costmatrix,desiredGap,maxIterations)maxIterations.
[ также определяет алгоритм назначения, assignments,cost,solutionGap] = assignsd(costmatrix,desiredGap,maxIterations,algorithm)algorithm.
Метод лагранжевой релаксации вычисляет неоптимальное решение задачи назначения S-D. Способ уменьшает проблему назначения S-D до проблемы назначения 2-D, используя набор множителей Лагранжа. Проблема расслабленного назначения 2-D обычно известна как двойственная задача, которая может быть решена оптимально с использованием алгоритмов, таких как алгоритм Манкра. Затем на двойное решение накладываются ограничения путем решения множества задач назначения 2-D для получения возможного решения первоначальной задачи. Стоимость двойного решения и выполнимого решения служит нижней и верхней границами для оптимальной стоимости, соответственно. Алгоритм итеративно пытается минимизировать зазор между двойственным и возможным решениями, обычно известным как двойной зазор. Итерация останавливается, когда двойной промежуток находится ниже требуемого промежутка или достигнуто максимальное число итераций.
При использовании алгоритма аукциона assignsd функция использует алгоритм эвристического обновления цены для обновления множителей Лагранжа. При использовании алгоритмов Munkres и JV функция использует алгоритм Accelerated Subgradient Update.
Для матриц затрат с четко определенными решениями, такими как пассивная связь с высокоточными датчиками, зазор решения сходится в пределах 0,05 (5 процентов) приблизительно за 100 итераций.
Поскольку оптимальное решение неизвестно, зазор в решении может быть ненулевым, даже когда возвращаемое решение является оптимальным.
[1] Деб, С., Йедданапуди, М., Паттипати, К. и Бар-Шалом, Ю. (1997). Обобщенный алгоритм назначения SD для оценки многосенсорного-многоцелевого состояния. Сделки IEEE по аэрокосмическим и электронным системам, 33 (2), 523-538.
[2] Блэкман, Сэмюэл и Роберт Пополи. Проектирование и анализ современных систем слежения. Норвуд, Массачусетс: Artech House, 1999. (1999)