1. A system for providing mathematical modeling in an object-oriented software environment, comprising: a processor operable to execute instructions contained in computer program code; and at least one computer readable medium including instructions in an object-oriented programming language that, when executed by the processor, cause the processor to: provide at least one library including a model class that when instantiated as a model object provides an interface allowing user interaction with a mathematical programming model, the mathematical programming model configured for generating a solution for a mathematical decision making problem; generate a numerical model, based on instance data associated with one or more parameters and one or more index sets of the mathematical programming model; solve the mathematical programming model using a selected solver running in the object-oriented programming language; and output a result of the solving process, wherein the model class instantiated as a user interface object comprises a set of methods to allow a user to add/remove mathematical expressions, constraints, or objective functions to/from the mathematical programming model, pass the instance data to a selected solver for solving the mathematical programming model, solve the numerical model through the solver and return the solution, and update the mathematical programming model with at least one incremental change to be passed to the selected solver.