1. A storage medium operable by a processing device to dynamically assign a plurality of resources to a plurality of targets, the storage medium comprising: a first processing sequence to receive target information representing characteristics of the plurality of targets and to store the information in the storage medium; a data structure comprising a plurality of particle data corresponding to a particle population, each particle data including a velocity and a position of a particle of the particle population; a second processing sequence updating the plurality of particle data according to a predetermined formula and generating a plurality of fitness values based on the information, the plurality of fitness values corresponding to a plurality of potential solutions; a third processing sequence iteratively invoking the second processing sequence to improve the plurality of potential solutions by comparing fitness values in preceding and succeeding iterations; a fourth processing sequence defining a decision criterion to select from the improved plurality of solutions a best solution which satisfies the decision criterion, the best solution from the improved plurality of solutions comprising assignments for the plurality of resources; and a fifth processing sequence to communicate the assignments to the plurality of resources when the storage medium is communicatively coupled to the processing device and the plurality of resources; and a sixth processing sequence to invoke the third processing sequence independently at least twice thereby generating at least a first best solution and a second best solution corresponding to a first particle population and a second particle population, wherein the fourth processing sequence selects an overall best solution from at least the first best solution and the second best solution, and wherein the first, second, third, fourth, fifth and sixth processing sequences are operable to receive the target information, select an overall best solution and communicate the assignments at least once each second.