1. A user directed search method for optimizing a model having input and output parameters, where the steps of the method are performed using a computer having a memory device and the computer executes at least one executable program that simulates the model and the input and output parameters are inputs and outputs to the at least one executable program, and the steps comprise the following: a. Creating a dependency table stored in the memory device, where the dependency table correlates the input parameters to the output parameters of the model and the dependency table indicates how input parameter values should be permutated and the table is at least partially created by a user based on empirical data available to the user and based on user-defined goals; b. For a selected output parameter, specifying a group of input parameters, including some but not all of the inputs to the model, that influence the selected output parameter; c. Repeating step (b) for a plurality of the output parameters; d. For each output parameter of the plurality of output parameters, permutating values for the input parameters in the group of input parameters that influence the selected output parameter; e. Solving the model using the permutated values as the input parameters to the model by executing on the computer the at least one executable program using the permutated values as input values to the program; f. Optimizing the model by repeating steps (d) and (e) iteratively in accordance with one or more of the goals; g. Ending the optimization step (f) after an incremental gain in advancing the solution toward the goal is less than a predetermined minimal gain, and h. Outputting an optimized solution to the model after step (g).