1. A method for automatically determining values for a plurality of Map Reduce parameters, the method comprising: identifying a plurality of parameters that affect performance of a Map Reduce job; determining a relationship between each of the identified parameters and a maximization of resource utilization for a plurality of computing resources configured for executing the Map Reduce job; representing a workflow for the Map Reduce job based upon one or more supply-demand relationships among the plurality of computing resources; modeling an execution cost for the Map Reduce job as a function of the plurality of identified parameters; formulating a mixed-integer non-linear programming problem to minimize the execution cost for the Map Reduce job; reformulating the mixed-integer non-linear programming problem as a mixed-integer linear programming problem; and solving the mixed-integer linear programming problem to determine a combination of parameter values for the plurality of identified parameters that minimizes the execution cost for the Map Reduce job.