A system for optimizing the control of a train, comprising: an interface for receiving data representing a set of operational parameters for a train that will traverse a predetermined route; a server interconnected to interface that is programmed to generate a first scenario based on the set of operational parameters and a first set of control parameters and at least a second scenario based on the set of operational parameters and a second set of control parameters that are different than the first set of control parameters; a simulator programmed to simulate the operation of the train traversing the predetermined route according to the first scenario and to simulate the operation of the train traversing the predetermined route according to the second scenario; wherein the server is further programmed to select an optimal set of control parameters as whichever of the first set of control parameters and the second set of control parameters should be used to achieve the predetermined performance metric based on which of the first scenario and the second scenario best achieves a predetermined performance metric over the predetermined route; wherein the server is programmed to provide the optimal set of control parameters to a train control system; wherein the set of operational parameters includes a track profile and locomotive consist information; wherein the simulator comprises a plurality of simulation module operating in parallel; wherein the server is programmed to determine which of the first set of control parameters and the second set of control parameters should be used to achieve the predetermined performance metric by scoring each of the first scenario and the second scenario according to how closely the predetermined performance metric is achieved; and wherein the server is programmed to determine which of the first set of control parameters and the second set of control parameters should be used to achieve the predetermined performance metric by preparing a first plurality of new scenarios using the set of operational parameters and a plurality of new sets of control parameters that are variations of the set of control parameters that were identified as best achieving the predetermined performance metric. an interface for receiving data representing a set of operational parameters for a train that will traverse a predetermined route; a server interconnected to interface that is programmed to generate a first scenario based on the set of operational parameters and a first set of control parameters and at least a second scenario based on the set of operational parameters and a second set of control parameters that are different than the first set of control parameters; a simulator programmed to simulate the operation of the train traversing the predetermined route according to the first scenario and to simulate the operation of the train traversing the predetermined route according to the second scenario; wherein the server is further programmed to select an optimal set of control parameters as whichever of the first set of control parameters and the second set of control parameters should be used to achieve the predetermined performance metric based on which of the first scenario and the second scenario best achieves a predetermined performance metric over the predetermined route; wherein the server is programmed to provide the optimal set of control parameters to a train control system; wherein the set of operational parameters includes a track profile and locomotive consist information; wherein the simulator comprises a plurality of simulation module operating in parallel; wherein the server is programmed to determine which of the first set of control parameters and the second set of control parameters should be used to achieve the predetermined performance metric by scoring each of the first scenario and the second scenario according to how closely the predetermined performance metric is achieved; and wherein the server is programmed to determine which of the first set of control parameters and the second set of control parameters should be used to achieve the predetermined performance metric by preparing a first plurality of new scenarios using the set of operational parameters and a plurality of new sets of control parameters that are variations of the set of control parameters that were identified as best achieving the predetermined performance metric.