【ML算法基础】LAPJV算法理解与实现

前言

 

示例

>> a=[0.1 0.6; 0.3 0.2; 0.1 0.5];
>> [rowsol,cost,v,u,costMat] = lapjv(a);
>> rowsol

rowsol =

     3     2

 rowsol表示行分配索引,具体地讲,

a表示输入的代价矩阵,如果行数小于列数,则rowsol对应的代价矩阵不变,如果行数大于列数,则rowsol对应的代价矩阵为原矩阵的转置;

a的size是3行2列,行数大于列数,需要转置a',变为2行3列的矩阵B,对于rowsol表示矩阵B的第一行分配给第三列,第二行分配给第二列;

cost表示匹配完成需要的最小代价;costMat表示减少后的代价矩阵。

 

 

参考

1. LAPJV_algorithm_c;

2. A Shortest Augmenting Path Algorithm for Dense and Sparse Linear Assignment Problems

3. LAPJV_matlab;

4. lecture_8_assignment_algorithms

5. lap.lapjv使用方法

6. LAPJV算法详解;

posted on 2022-09-30 14:47  鹅要长大  阅读(701)  评论(0编辑  收藏  举报

导航