1. A method for optimizing output data for a population, the method comprising: allowing a user to define, via a computing device processor, the output data to be optimized; allowing a user to define, via a computing device processor, one or more input constraints based on which the output data is to be optimized; optimizing, via a computing device processor, subject to the input constraints, the output data for the population by: ordering the population based on the input constraints; generating a table based on the ordering step; partitioning, via a computing device processor, the population into a first number of partitions based on the ordering step; optimizing, via a computing device processor, output data for each partition by: selecting, via a computing device processor, an object from each partition based on a first selection routine, wherein the first selection routine determines a flag associated with the object, and wherein the flag indicates whether the object is selected; and generating, via a computing device processor, optimized output data for the population, wherein the table comprises an identifier associated with the object, a partition assigned to the object, and the flag associated with the object.