www.pudn.com > trackingdemos.zip > auction_2D.m
% auction_2D.m
% 2-D auction algorithm, modified version of Yanhua Ruan's auc.m
function [q,omiga,assign] = auction_2D(cost)
[m, n] = size(cost);
assign = zeros(m,1);
if m>n
[q,omiga,assign_t]=auc(cost');
omiga = omiga';
for ind=1:m
if assign_t(ind) > 0
if cost(ind, assign_t(ind)) > 0
assign(assign_t(ind)) = ind;
else
q = q - cost(ind, assign_t(ind));
omiga(ind, assign_t(ind)) = 0;
end
end
end
else
[q,omiga,assign_t]=auc(cost);
for ind=1:n
if assign_t(ind) ~= 0
if cost(assign_t(ind), ind) > 0
assign(ind) = assign_t(ind);
else
q = q - cost(assign_t(ind), ind);
omiga(assign_t(ind), ind) = 0;
end
end
end
end