1. A system for tracking objects comprising: means for repeatedly scanning a region containing a set of at least one moving object; means for generating M sequential images or data-sets of said region using an output from said means for repeatedly scanning, wherein a plurality of points in said images or data-sets provide positional information for said at least one object in said set; means for providing at least one track in a collection of tracks, wherein said at least one track tracks said at least one object in said set; means for defining first optimization problem having a computational complexity, M dimensions and a first objective function, wherein said first objective function is specified using a plurality of costs for extending said at least one track using said points; means for reducing said computational complexity of said first optimization problem to a second optimization problem, wherein a said second optimization problem is m-dimensional, where 2&lt;=m&lt;M; means for solving said second optimization problem; means for defining third optimization problem using a solution of said second optimization problem wherein said third optimization problem has M-m+1 dimensions; means for solving said third optimization problem; and means for recovering an optimal or near-optimal solution to said first optimization problem using a solution to said third optimization problem.