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 linha i com a coluna j.
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 linha i com a coluna j.
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

Veja também

min sortrows unique