主要内容

assignkbest

作业使用k-best全球最近邻

描述

(作业,unassignedrows,unassignedcolumns,成本)= assignkbest (costmatrix,costofnonassignment)返回一个表的作业,作业的检测使用Jonker-Volgenant跟踪算法。全球最近邻算法发现(GNN)解决方案,最大限度地减少总成本的作业。

每个潜在的成本分配是包含在成本矩阵,costmatrix。每个矩阵的条目代表可能的作业的成本。矩阵行代表跟踪和列代表检测。所有可能的作业成本矩阵表示。成本越低,越有可能的任务。每条曲目最多可以分配给一个检测,每个检测最多只能被分配到一个轨道。如果行数大于列的数量,有些痕迹未赋值的。如果列的数量大于的行数,有些检测未赋值的。你可以设置一个条目costmatrix禁止作业。

costofnonassignment代表离开轨道的成本或检测未赋值的。更高的值增加每个现有的对象分配的可能性。

所有输入都必须单精度或双精度。

函数返回一个未赋值的列表,unassignedrows一个列表未赋值的检测,unassignedcolumns分配的成本,成本

例子

(作业,unassignedrows,unassignedcolumns,成本)= assignkbest (costmatrix,costofnonassignment,k)还指定了号码,k的,k最好的全球最近邻作业的总成本最小化的解决方案。万博 尤文图斯除了最好的解决方案,该函数使用Murty算法找到剩下的k1解决万博 尤文图斯方案。

(作业,unassignedrows,unassignedcolumns,成本)= assignkbest (costmatrix,costofnonassignment,k,算法)还指定了算法,算法,寻找作业。

例子

全部折叠

创建一个包含禁止作业成本矩阵。然后,使用assignkbest函数来找到5最好的解决方案。万博 尤文图斯

建立成本矩阵通过插入包含一些禁止或无效作业矩阵。

costMatrix = [10 5 8 9;7正20正;21正正正;正十五17正;正正十六22];costOfNonAssignment = 100;

找到最好的5作业。

(作业,unassignedrows、unassignedcols、成本)=assignkbest (costMatrix costOfNonAssignment 5)
作业=5×1单元阵列{4 x2 uint32} {4 x2 uint32} {4 x2 uint32} {4 x2 uint32} {4 x2 uint32}
unassignedrows =5×1单元阵列{[3]}{[3]}{[3]}{[4]}{[5]}
unassignedcols =5×1单元阵列{0 x1 uint32} {0 x1 uint32} {0 x1 uint32} {0 x1 uint32} {0 x1 uint32}
成本=5×1147 151 152 153 154

输入参数

全部折叠

成本矩阵,作为指定——- - - - - -N矩阵。的数量分配和跟踪吗N是检测的数量分配。成本矩阵中的每个条目包含的成本跟踪和检测任务。矩阵可能包含一个条目,表示禁止任务。成本矩阵不能一个稀疏矩阵。

数据类型:|

non-assignment成本,指定为一个标量,双元素标量、矢量或双元素单元阵列的向量。

  • 当指定为一个标量,它代表离开轨道的成本或检测未赋值的。更高的值增加每个对象分配的可能性。不能设置为值

  • 当指定为一个双元素标量、离开检测未赋值的第一个元素代表的成本和第二个元素代表的成本跟踪未赋值的。

  • 指定为双元素向量的细胞时,第一个向量中的每一个元素代表离开特定的成本检测未赋值的和第二个向量的每个元素代表离开特定的成本跟踪未赋值的。第一个向量的长度等于检测的数量,第二个向量的长度等于跟踪的数量。

数据类型:|

最好的解决方案,指定为一个正整万博 尤文图斯数。

数据类型:|

分配算法,指定为“合资公司”Jonker-Volgenant算法,“munkres”Munkres算法,“拍卖”拍卖算法,或“matchpair”的匹配算法。当“合资公司”被选中时,定义的函数使用启发式在吗[3]提高算法的性能。

例子:“合资公司”

数据类型:字符|字符串

输出参数

全部折叠

任务跟踪检测,作为一个返回k元胞数组中。k是最好的解决方案的数量。万博 尤文图斯每个单元包含一个l2矩阵对跟踪指标和指定的检测指标。l的作业对吗th解决细胞。每个矩阵的第一列包含跟踪指数和第二列包含指定的检测指标。

未赋值的跟踪指数,作为一个返回k元胞数组中。每个细胞都是一个P向量,P=- - - - - -l未赋值的行数量吗th细胞。每个元素的索引是不指定列一行。k是最好的解决方案的数量。万博 尤文图斯

数据类型:uint32

未赋值的检测指标,作为一个返回k元胞数组中。每个细胞都是一个向量,=- - - - - -l未赋值的检测数量吗th细胞。每个元素的索引列没有行被分配。k是最好的解决方案的数量。万博 尤文图斯

数据类型:uint32

总成本的解决方案,作为一个返万博 尤文图斯回k元向量。每个元素是一个标量值总结解决方案的总成本分配问题。

数据类型:|

引用

[1]Murty Katta G。”一个排名算法的所有作业,以提高成本。“运筹学16,不。3 (1968):682 - 687。

[2]塞缪尔•布莱克曼和罗伯特Popoli。现代跟踪系统的设计与分析,1999年Artech房子。

[3]米勒,m . L。,等。”Murty的排名的优化分配方法。“IEEE航空航天和电子系统,33卷,没有。3、1997年7月,页851 - 62。DOI.org (Crossref), doi: 10.1109/7.599256。

扩展功能

C / c++代码生成
生成C和c++代码使用MATLAB®编码器™。

介绍了R2018b