1. A computer program product comprising: a non-transitory computer readable medium having computer usable program code for simulating a manufacturing process, the computer program medium comprising: a first program module, wherein the first program module creates a discrete event simulation model from process definition data and runs simulations using the discrete event simulation model, wherein the discrete event simulation model includes a current schedule; a second program module, wherein the second program module analyzes task information to generate a schedule; and a third program module, wherein the third program module receives the process definition data for a manufacturing process, sends the process definition data to the first program module to initiate creation of the discrete event simulation model, initiates running of a first simulation using the discrete event simulation model to produce results, determines whether the results meet a threshold, sends information from the results and the discrete event simulation model to the second program module to cause the second module to generate a new schedule in response to a determination that the results meet a threshold, sends the new schedule to the first program module to cause creation of a new discrete event simulation model including the new schedule, determines whether the new schedule meets a desired threshold of reduction in time compared to the current schedule, and initiates running of a second simulation using the first program module to generate new results in response to a determination that the new schedule does not meet the desired threshold of reduction in time of the process compared to the current schedule.