Microsoft Solver Foundation

It sounds very interesting, indeed. Given that I spend some time getting C# to talk to Excel 2007, I would be interested to see the applications to this.
However, this is way too new to see if it works. There is no example code to play with. I'm the 48th people who downloaded it (it just came out today) so it's gonna be a long way.
This is the blog of one of the developers' http://conceptualorigami.blogspot.com/2008/08/microsoft-solver-foundation-its-here.html
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 aids quantitative analysts (quants), business modelers, and line of business programmers in making feasible, near-optimal, and optimal decisions in business critical settings via applications or Office-based solutions

We'll be publishing a complete guide for programmers and solver users shortly. It will include complete coverage of using C#, IronPython, and other CLS-compatible languages to leverage Solver Foundation. Expect it in about 1.5 months. It will be a big announcements.
 
If you're not buying into vaporware, this has been existing for a while and proven on large projects. It supports the world's best optimization engines, it's embedded in Java and supported under Eclipse, and comes with extensive documentation and samples library: http://www.ateji.com/optimj

What is important in having an embedded declarative modeling language is that it requires very little learning (we have seen Java developers running their first optimization model in 15 minutes), that it removes the pain and the bugs of translating data formats back and forth, and that you benefit from the existing libraries and productivity tools from the underlying platform.

In the case of OptimJ, you would typically use, directly from your optimization model, JDBC or Hibernate for database access, JExcelAPI for reading/writing spreadsheets, SWT or Swing for graphical interfaces, JavaDoc for automated documentation, JUnit for regression testing, and so on. The same obviously applies for MSF and the .NET platform.

Additionally, OptimJ provides concise and powerful bulk data manipulation primitives, because typically 80% of model code happens to deal with input data formatting and cleaning.
 


Write your reply...
Back
Top Bottom