1. A method of optimizing processor requirements for a system, the method comprising: formulating a set of system configuration constraints as a set of linear inequalities and an objective function; forming a convex polytope from the set of linear inequalities; optimizing the objective function over the convex polytope using mixed integer linear programming means to obtain an optimal solution; and determining processor requirements for the system based on the optimal solution.