1. A method of tracking at least one object, comprising: receiving sensor reports from at least one sensor over a window comprised of multiple time scans; formulating individuals in a GA population as permutations of the sensor reports; using each permutation to construct a hypothesis containing at least one track by a process of: taking each sensor report in turn in the order determined by the permutation; calculating for each sensor report the cost of assigning the sensor report to each of the tracks already formed (if any) and a start of a new track; making the lowest cost assignment available of the sensor reports until all of the sensor reports have been assigned to tracks; scoring each of the hypotheses; searching through a portion of the possible hypotheses, using a GA, to find a good hypothesis; and determining the state of the tracked object.