Search Wiki:

13nov08: We removed our Customer Technology Preview (CTP) download to prepare for our V1 launch tomorrow (14nov08). Please visit this page then.

-John Oberon

Cannot resolve link: [image:sfarch.gif]

Solver Foundation is a .NET library for mathematical programming and optimization. Solver Foundation provides powerful libraries for .NET developers seeking to use optimization in their solutions, making it possible for non-experts to define and solve models in their applications.

Solver Foundation is designed with one focused goal in mind: to help businesses make (near) optimal, strategic decisions. We refer to this as applied decisioneering. The possible applications cover a vast range: real-time supply chain optimization, data center energy profile management, online advertizing profit maximization, logistics of large conference scheduling, and risk analysis of investment portfolios. There are also direct applications to graphics and machine learning where Solver Foundation acts as a runtime for such systems. All of these decisions are encoded in Solver Foundation through a declarative model specification, one which focuses the modeler and developer of stating the "what" rather than the "how" of the business decision to be made. This rapidly accelerates solution engineering and increases the degrees what-if? analysis possible. The goal is the same in all cases: using advanced algorithms, modeling and services to make the "right" decisions when and where it counts the most.

Building a model is 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 to MSF.

Solver Foundation consists of a series of layered services that efficiently divide the work of modeling and solving. This allows for maximal separation of concerns in the design and future proofs Solver Foundation. 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
  • Solver Foundation Services for model interchange, feasibility analysis, and declarative parallel solving
  • Solver Runtime and Extensibility Services for third party solver integration and coordination

A Solver Foundation program is a declarative model embedded in familiar NETfx design patterns and development environments (Visual Studio 2008). The model is embeddable in any supported Solver Foundation context, from Excel 2007 to C#, F#, or any other CLS compliant programs. This leverage of models allows for rapid workflow of business decision making from quantitative analysts (quants) to line of business programmers with one modeling system and specification language. The modeling language is surfaced as a type-safe domain-specific language (DSL) in both C# and F# further easing the burden of developing accurate and performance-minded solutions. The model itself is solved by application of numerical and symbolic solvers, meta-heuristics, constraint processing algorithms, and advanced local search techniques at runtime.

Solver Foundation is delivered with a complete range of solvers written in managed code. These solvers cover several families of numerical and symbolic programming, including:

  • Revised, Simplex Linear and Mixed Integer Programming (Primal and Dual Simplex)
  • Interior Point Method Linear and Quadratic Programming
  • Constraint Programming with Exhaustive Tree and Local Search Techniques
  • Compact, Quasi-Newton (L-BFGS) Nonlinear Programming

The solvers are unique in that the entire set was co-designed and co-developed by the same team with an eye for integration and coordination within the Solver Foundation. This affords Solver Foundation users a repertoire of solvers to use immediately in their projects without having to license specialized, third party solvers in addition to modeling and programming frameworks.

Included in this release are model pre- and post-solve services, validity checking, and transparent parallel solving via Solver Foundation directives. These directives isolate the details of scheduling and coordination from solution developers. Solver Foundation Services may be leveraged by any of the solvers and provide a rich set of tools to aide in modeling, solving, and post-optimality analysis. Solver Foundation provides scalable and performance-driven solvers while supporting integration with industry standard modeling and serialization formats. This permits users to leverage existing modeling investments directly within Solver Foundation-based solutions.

With the advent of multi- and many-core hardware, Solver Foundation is automatically used to efficiently utilize those resources for parallel computation of solutions. This automatic parallelism is both declarative and transparent. No changes to the model or host application are required. Any changes to the runtime are communicated via the directives mechanism thereby totally isolating the model developer from any knowledge of multi-threaded, concurrent programming. Solver Foundation is designed to run out-of-box with self-tuning heuristics for selection of solvers and their configurations - removing the burden on developers in creating solutions and speeding time to market.

We are pleased to announce our Customer Technology Preview edition of Microsoft Solver Foundation. Please visit the downloads area for a free evaluation copy.
Last edited Nov 14 2008 at 2:11 AM  by joberon, version 24
Kirby wrote  Nov 7 2010 at 3:30 AM  

Page view tracker