1. A computer-implemented method for selecting a product markdown plan, comprising: receiving, by one or more data processors, candidate data corresponding to a plurality of candidate markdown sets that detail schedules for marking down prices of one or more products; receiving, by the one or more data processors, constraints data, wherein the constraints data includes individual constraints that apply to a single candidate markdown set, and wherein the constraints data includes a linking constraint that applies to the plurality of candidate markdown sets; generating, by the one or more data processors, candidate markdown schedules for each of the candidate markdown sets, wherein each candidate markdown schedule conforms to applicable individual constraints; generating, by the one or more data processors, one or more class sets, wherein each class set includes a candidate markdown schedule, and wherein each class set conforms to the linking constraint; evaluating, by the one or more data processors, the one or more class sets, wherein the evaluations are iterative, and wherein each evaluation iteration includes computing an expected revenue value for a class set; computing, by the one or more data processors, a revenue upper bound using the candidate markdown schedules and the linking constraint; terminating, by the one or more data processors, the evaluation when a threshold number of iterations is reached, wherein the terminating includes determining a class set with a highest expected revenue value within a threshold of the revenue upper bound; and selecting, by the one or more data processors, a product markdown plan, wherein the product markdown plan includes the class set with the highest expected revenue value.