1. A method of managing data to solve a Dynamic Stochastic Programming problem, the method comprising providing an integrated suite of components that allow the problem to be iteratively solved wherein the components comprise a generator component, a solver component, a simulation component and a visualisation component each arranged to process data structures wherein: i. the generator component is arranged to generate a Dynamic Stochastic Program (DSP) from a dynamic mathematical model input thereto and, during the solving process, to read scenarios generated by the simulation component and generate data structures for the solver component therefrom for processing by the solver component; ii. the generator invoking the solver and writing to and reading from the internal data structures of the solver component; iii. the simulation component being arranged to simulate stochastic processes for processing by the generator component; iv. the solver component being arranged to process the DSP; and v. the visualisation component having access to the internal data structures of the generator component and providing an output of the input model and the results generated by the solver component.