matchpairs
Atribuição ótima de linhas a colunas de uma matriz de custos.
Categoria: Mathematics > Elementary Math
Sintaxe
M = matchpairs(Cost, costUnmatched)
Retorna os pares linha/coluna da correspondência de custo mínimo.
[M, uR, uC] = matchpairs(Cost, costUnmatched)
Também retorna os índices das linhas e colunas que ficaram sem par.
Descrição
É o problema de atribuição linear com a opção de deixar itens de fora. Um par só é aceito se seu custo for menor que deixar os dois sem parceiro, de modo que um costUnmatched pequeno produz menos pares. O custo total minimizado é a soma das entradas escolhidas mais costUnmatched para cada linha ou coluna sem par.
Usos típicos são rastrear objetos entre quadros, casar duas listas de pontos e atribuir trabalhadores a tarefas.
Argumentos de entrada
Cost- Matriz em que
Cost(i, j)é o custo de parear a linhaicom a colunaj. costUnmatched- Escalar positivo: a penalidade paga por deixar uma linha ou uma coluna sem parceira.
Argumentos de saída
M- Matriz de duas colunas; cada linha
[i j]pareia a linhaicom a colunaj. uR, uC- Vetores coluna com as linhas e as colunas sem par.
Exemplo
Uma linha sem par
C = [1 5; 6 2; 9 9];
[M, uR, uC] = matchpairs(C, 4)
Saída
M = 2×2
1 1
2 2
uR = 3
uC = 0×1 empty double column vector