F# Optimization Modeling Language Sample Utilizing Microsoft Solver Foundation


The first version of the F# Optimization Domain Specific Language (ODSL) sample is now available, built with the new Microsoft Solver Foundation.

Solver Foundation is a framework of solvers and modeling services enabling planning, risk modeling, and scheduling for .NET developers. It is integrated with the full power of the NETfx 3.5+ platform including LINQ for declarative binding to enterprise databases. Solver Foundation is delivered in a single, compact, CLS-compliant library. This managed code library may be used from any modern CLS-compatible language (F#, C#, C++, IronPython, etc.). It aides quantitative analysts, modelers, and programmers in making feasible, near-optimal, and optimal decisions in business critical settings via applications or Office-based solutions. Solver Foundation ships with several production grade solvers and provides easy third party solver integration.

In this sample, a Solver Foundation program is a declarative model either built programatically using the Solver API or embedded declaratively in F#. The model is solved by application of numerical and symbolic solvers, meta-heuristics, constraint processing algorithms, and advanced local search techniques. Included in this release are model pre-solve and validity checking. These Solver Foundation services may be leveraged by any of the solvers and provide a rich set of tools to aide to modeling, solving, and post-optimality analysis. Solver Foundation provides these scalable and performance-driven solvers and services while supporting integration with industry standard modeling and serialization formats. This permits users to leverage existing modeling investments directly within Solver Foundation-based solutions.

Comments (3)

  1. visual-studio says:

    I would love to utilize the MS Solver Foundation for developing optimization models using other .NET languages like VB.NET/C#.

    (a) Where can I find F# and/or non-F# documentation on using/implementing Microsoft.Solver.Foundation.dll?

    (b) Is the "solver" a brand new implementation by Microsoft?

  2. Eugene Zak says:

    The provided information is too cryptic. Why this project originated? How is this new product related to the existing modeling languages such as AIMMS, GAMS, AMPL, MPL, OPL, etc, and solvers: CPLEX, XPRESS, LINDO, Excel Solver, etc?  

Skip to main content