13. A processing device comprising: at least one processor; and a memory connected to the processor, the memory comprising: instructions for transforming statements in a common-language-specification compliant modeling language, for defining a model, to an intermediate format, the common-language-specification compliant modeling language ensures interoperability by defining a set of features that solver developers can rely on to be available, instructions for providing the intermediate format, defining a model, to a solver, instructions for providing a standardized application program interface for creating and defining a model, instructions for binding modeling input to a data source, instructions for binding modeling output to a data sink, and instructions for reporting a solution produced by a solver.
13. A processing device comprising: at least one processor; and a memory connected to the processor, the memory comprising: instructions for transforming statements in a common-language-specification compliant modeling language, for defining a model, to an intermediate format, the common-language-specification compliant modeling language ensures interoperability by defining a set of features that solver developers can rely on to be available, instructions for providing the intermediate format, defining a model, to a solver, instructions for providing a standardized application program interface for creating and defining a model, instructions for binding modeling input to a data source, instructions for binding modeling output to a data sink, and instructions for reporting a solution produced by a solver. 17. The processing device of claim 13 , wherein the memory further comprises: instructions for automatically configuring individual solvers based on one or more provided directives, the one or more provided directives providing at least one hint to the individual solvers regarding how to configure the individual solvers to solve a problem.