The next release of Solver Foundation, Microsoft Solver Foundation 3.1, will be released next month. The feature set for 3.1 is the result of feedback from numerous partners and customers. This post summarizes some of the improvements.

Improved Nonlinear Programming

Microsoft Solver Foundation 3.1 provides a new NelderMeadSolver class to support nonlinear programming. NelderMeadSolver is suitable for unconstrained or variable-constrained models, and is capable of handling nonconvex or nondifferentiable goals. NelderMeadSolver is the new default nonlinear programming solver for Microsoft Solver Foundation. Microsoft Solver Foundation 3.1 also provides improvements to the hybrid local search solver. Using the HybridLocalSearchModel.CreateNaryFunction you can build models using user-defined functions that contain arbitrary calculations.

SFS and OML Modeling Improvements

Solver Foundation Services (SFS) provides several new methods to make it easier to build large parameterized models. The Set class includes a SetBinding method to make it easier to create sets based on external data. New overloads for SetBinding provide better performance and flexibility. The OML modeling language has been extended to support inline Set definition.

Performance Improvements

Numerous SFS performance improvements have been made to reduce the amount of time and memory consumed, particularly for large and sparse models.

Excel Add-In Improvements

The Excel add-in for Solver Foundation 3.1 includes several new features. The directives tab now supports third-party solvers. You can configure third-party solvers the same way as Solver Foundation’s built-in solvers. You can provide initial values for decisions, improving performance for solvers with warm start capabilities. The Excel add-in now provides sparse parameter support. Previously, values needed to be specified for all possible indexes. This change means that you only need to specify nonzero values. Finally, support for binding to named ranges in Excel has been extended. Finally, the Excel add-in provides more control over what is displayed during a solve operation through the new options dialog.

Gurobi 4.5 Support

Solver Foundation 3.1 includes the Gurobi 4.5 solver. Gurobi 4.5 is the default mixed integer programming (MIP) and mixed integer quadratic programming (MIQP) solver.

Additional Samples

Solver Foundation 3.1 provides additional samples, including a logistic regression solver based on the CompactQuasiNewtonSolver class.