Solver Foundation is a pure, managed code runtime for mathematical programming, modeling, and optimization. This .NET/CLR based framework provides a rich set of tools, services, and engines to aid companies in their continuous quest for operational efficiency, profit maximization, and risk management. Solver Foundation is designed to help businesses make strategic decisions. It affords its users the advantage of easy to use tools, numerically stable solver technologies and deep integration with ubiquitous information worker systems like Microsoft Office.
Solver Foundation uses a declarative programming model, consisting of simple compatible elements that are solved by application of solvers, meta-heuristics, search techniques, and combinatorial optimization mechanisms to accelerate the solution finding process. Building a model in Solver Foundation is as simple as specifying the decisions to be made, constraints to be respected, the goals to be used to evaluate candidate proposals (solutions) and the data to be processed by the model (historical or projected parameters). This can be done from any CLS-compatible language and the modeler does not need to understand anything about the details of solver technologies or search strategies. The separation of concerns is total, providing a high degree of modularity.
Solver Foundation consists of a series of layered services that efficiently divide the work of modeling and solving. The following system diagram describes the extensible architecture.
As innovations in solver technology emerge, they can be transparently and easily integrated into the runtime and framework without refactoring or recompilation. The service layers include programming and modeling services for NETfx Developers and Excel 2007 users, services for model interchange, feasibility analysis, declarative parallel solving, and extensibility services for third party solver integration.
The main developer interface is the Solver Foundation Services (SFS): essentially a runtime API that augments the capabilities of individual solvers with framework-level model analysis and meta-heuristics. In short, we abstract the complexities of optimization so users can focus on modeling and solving their decision problems. Key features in the SFS include:
Easy data binding. SFS allows easy LINQ data binding of model parameters and delivery of results in multiple formats
Solver/Capability Selection. SFS will automatically analyze models and determine which solver is most appropriate. Advanced Modelers can optionally choose specific solvers, and solver attributes
Transparent Parallelism. SFS will manage all threading, many-core, synchronization, and scheduling around the solvers and model execution
Solver Plug-in Capability. Solver Foundation allows new or existing 3rd party solvers to plug into the SFS directly, avoiding the need to learn a new modeling language or the significant overhead in managing solver specific solutions. In v1.1, we included a collection of certified partner wrappers for Gurobi and Mosek ™. In addition, we included reference wrappers for CPLEX ® , Xpress-MP ™, and lp_solve
Model/Solver Reports and Analysis. SFS can report information about solver behavior and results, and provide additional information about solutions, including sensitivity
Type safe version of the Optimization Modeling Language (OML). The SFS interface provides the same facilities as OML, but adds type checking and higher-level constructs
Simulation. We introduced stochastic programming through our OML and SFS layers to provide Monte Carlo simulation capabilities
Solver Foundation also comes with a Microsoft Office add-in via Excel that combines the power of Solver Foundation and Excel to provide a complete modeling environment. Key features in the Excel add-in include:
Modeling Editor. We integrated a modeling pane to vastly simplify the modeling experience. We have also included a modeling syntax checker and other similar features exposed through our ribbon bar for Excel
Excel Cell Binding. Range binding of static or dynamic data to and from the model
Automatic Results and Report generation. All results, reports, and sensitivity details are displayed on separate Excel sheets for easy viewing or integration into workflow systems
Leverages the SFS. By leveraging the SFS, Solver Foundation for excel will continue to see functional parity. All solvers currently enabled within the SFS are exposed through the Add-in
Import/Export capabilities. Solver Foundation for excel supports MPS, QPS, and OML formats
Deployement capabilities. Solver Foundation allows a user to export directly to SharePoint (via our script-safe OMLX format) or Visual Studio C# application
At the base of Solver Foundation is a collection of solvers: engines embodying numerical, symbolic and search algorithms. Use of the solvers does not require advanced training and they are designed to be used from the Solver Foundation Services and Modeling layers of the system. Low-level access to the solvers is also provided. Solver Foundation’s intrinsic solvers are written in managed code , covering several families of numerical and symbolic programming.
Revised Simplex Linear Programming (Primal and Dual Simplex)
Interior Point Method Linear, Quadratic, and Second Order Conic Programming
Constraint Programming with Exhaustive Tree Search, Local Search, and Metaheuristic Techniques
Compact, Quasi-Newton (L-BFGS), Unconstrained Nonlinear Programming
Mixed Integer Programming.
Gurobi Mixed Integer Programming Solver. We partnered with Gurobi Optimization, a premeir Solver Foundation partner, to provide their Mixed Integer Programming solver through our Solver plug-in SDK. The Gurobi MIP solver is included in this release as the default MIP solver
Stochastic Programming
An extensive set of documentation and samples are included in each edition of Solver Foundation – please refer to the specific installation instructions for more details.
Solver Foundation Team
© 2009 Microsoft Corporation. All Rights Reserved. | Terms of Use | Trademarks | Privacy Statement