assignsd

Назначение 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.

Примеры

свернуть все

Использование assignsd для выполнения строгого присвоения без индекса 1.

Отсутствие фиктивного индекса означает, что никакая сущность не остается неназначенной. Поэтому определите матрицу затрат, которая будет равномерной.

costMatrix = rand(6,6,6);

Инициализируйте fullmatrix ко всем Inf. The fullmatix один размер больше матрицы затрат во всех размерностях.

fullMatrix = inf(7,7,7);

Установите внутреннюю матрицу в costMatrix, чтобы заставить назначения с индексом 1 иметь бесконечные затраты.

fullMatrix(2:end,2:end,2:end) = costMatrix;
fullMatrix(1,1,1) = 0;
[assignments,cost,gapAchieved] = assignsd(fullMatrix,0.01,100);

Восстановите фактические индексы.

assignments = assignments - 1
assignments = 6x3 uint32 matrix

   1   6   6
   2   4   3
   3   3   4
   4   1   2
   5   2   1
   6   5   5

Входные параметры

свернуть все

Матрица затрат, заданная как n-мерный массив, где costmatrix(i,j,k ...) определяет стоимость n-кортежа (i,j,k, ...) в назначении. Индекс ' 1 ' всех размерностей в costmatrix представляет фиктивное измерение или ложную дорожку и используется для выполнения задачи назначения. Индекс 1, являющийся манекеном, может быть частью нескольких n-кортежей. Индекс можно назначить более одного раза. Типичное значение затрат для costmatrix(1,1,1,1, ...) равен 0.

Типы данных: single | double

Желаемая максимальная погрешность между двойственным и возможными решениями, заданная как неотрицательный скаляр.

Пример: 0.05

Типы данных: single | double

Максимальное количество итераций, заданное как положительное целое число.

Пример: 50

Типы данных: single | double

Алгоритм назначения для решения задачи назначения 2-D, заданный как 'munkres' для алгоритма Мункреса, 'jv' для алгоритма Йонкера-Вольгенанта, или 'auction' для алгоритма аукциона.

Пример: 'jv'

Выходные аргументы

свернуть все

Назначения треков обнаружениям, возвращенные как P -by - N список назначений. Назначения типа [1 1 Q 1] из четырехмерной матрицы затрат можно рассматривать как Q-1 сущность из размерности 3, который был оставлен неназначенным. Стоимость, значение в (1,1,Q,1) определяет стоимость неприсоединения (Q -1)th сущность из размерности 3.

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

Типы данных: single | double

Погрешность решения, возвращенная как положительная скалярная величина. Разрыв в решении - это разрыв двойственности, достигнутый между допустимым и двойственным решением. Значение погрешности около нуля указывает на качество решения.

Типы данных: single | double

Алгоритмы

  • Метод релаксации Лагранжа вычисляет неоптимальное решение задачи назначения S-D. Метод расслабляет задачу назначения S-D к задаче назначения 2-D с помощью множества лагранжевых умножителей. Задача расслабленного назначения 2-D обычно известна как двойственная задача, которая может быть решена оптимально с помощью алгоритмов, подобных алгоритму Мункреса. Ограничения затем налагаются на двойственное решение путем решения нескольких задач назначения 2-D, чтобы получить возможное решение исходной задачи. Стоимость двойного решения и возможное решение служат более низкими и верхними границами оптимальной стоимости, соответственно. Алгоритм итеративно пытается минимизировать разрыв между двумя и возможными решениями, обычно известными как двойная погрешность. Итерация останавливается, когда двойной промежуток ниже желаемой погрешности или достигнуто максимальное количество итераций.

  • При использовании алгоритма аукциона assignsd функция использует алгоритм Эвристического Обновления Цены, чтобы обновить множители Лагранжа. При использовании алгоритмов Munkres и JV функция использует алгоритм Accelerated Subgradient Update.

  • Для матриц затрат с четко определенными решениями, такими как пассивная ассоциация с высокоточными датчиками, зазор решения сходится в пределах 0,05 (5 процентов) приблизительно за 100 итераций.

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

Ссылки

[1] Deb, S., Yeddanapudi, M., Pattipati, K., and Bar-Shalom, Y. (1997). Обобщенный алгоритм назначения SD для оценки состояния мультисенсор-мультитаргет. Транзакции IEEE по аэрокосмическим и электронным системам, 33 (2), 523-538.

[2] Блэкман, Сэмюэль и Роберт Пополи. Проект и анализ современных систем слежения. Norwood, MA: Artech House, 1999. (1999)

Расширенные возможности

.
Введенный в R2018b
Для просмотра документации необходимо авторизоваться на сайте