Geeks With Blogs
Josh Reuben
 
 
The 2 main tools that this book leveraged were the Data Analysis Pack and Excel Solver. I had previously been aquanted with Microsoft Solver Foundation - this is a full fledged API for solving optimization problems, and went beyond being a mere Excel plugin - it exposed a C# programmatic interface for in process and a web service interface for out of process integration.
were they the same? apparently not!
 
2 different solver frameworks for Excel:
I contacted both vendors to get their perspectives.
 
Heres what the Excel Solver guys had to say:
 
"The Solver Foundation requires you to learn and use a very specific modeling language (OML).
The Excel solver allows you to formulate your optimization problems without learning any new language simply by entering the formulas into cells on the Excel spreadsheet, something that nearly everyone is already familiar with doing.
 
The Excel Solver also allows you to seamlessly upgrade to products that combine Monte Carlo Simulation capabilities (our Risk Solver Premium and Risk Solver Platform products) which allow you to include uncertainty into your models when appropriate.
 
Our advanced Excel Solver Products also have a number of built in reporting tools for advanced analysis of the your model and it's results"

 

And Heres what the Microsoft Solver Foundation guys had to say:
 

With the release of Solver Foundation 3.0, Solver Foundation has the same kinds of solvers (plus a few more) than what is found in Excel Solver. I think there are two main differences:
 
1.      Problems are described differently. In Excel Solver the goals and constraints are specified inside the spreadsheet, in formulas. In Solver Foundation they are described either in .Net code that uses the Solver Foundation Services API, or using the OML modeling language in Excel.
2.      Solver Foundation’s primary strength is on solving large linear, mixed integer, and constraint models. That is, models that contain arbitrary nonlinear functions (such as trig functions, IF(), powers, etc) are handled a bit better by the Excel Solver at this point.
"
 
 
 
 
 

 

Posted on Tuesday, February 1, 2011 11:00 PM Numerical Computing | Back to top


Comments on this post: Excel Solver vs Solver Foundation

# re: Excel Solver vs Solver Foundation
Requesting Gravatar...
I'm the founder of Frontline Systems, the "Excel Solver guys." I was the original architect of the Excel Solver (a long time ago), and the person spearheading our cooperative efforts with Solver Foundation (more recently). I am not sure who exactly within my company, or who on the Solver Foundation team responded to your question. But both comments make the essential point about the differences in how models are defined.

These two tools serve different groups of people, with different skills and preferences: The Excel Solver is used by people who are comfortable creating spreadsheet models in Excel, and who want to apply optimization to these models. Solver Foundation is used by people who are comfortable programming in C# or another .NET language, or learning a new language syntax such as OML, and who want to apply optimization to models defined in this form.

Many other tools are also used to define optimization models, including other specialized languages such as GAMS and AMPL, other programming languages such as C++ and Java, and matrix languages such as MATLAB and Mathematica, to name a few. The choice of language is often dictated by what is familiar (or learned first), and what is being used to create the overall application in which an optimization model is usually embedded.

Note that the formulation of the model is separate from the data (parameter values etc.) used to "instantiate" and solve a specific instance of the model. Virtually all of these modeling tools can pull data from an Excel spreadsheet, a database, a Web page, or another source. In terms of UI, both the Excel Solver, and an Excel add-in included with Solver Foundation, can display a "window" inside Excel, but in the Excel Solver the model is defined via spreadsheet formulas, whereas in Solver FOudnation the model is defined via OML statements. These can both be used at the same time if desired.

Of course you also need a Solver or optimization algorithm to actually find an optimal solution, and different Solvers are needed for different classes of problems: linear, smooth nonlinear, or non-smooth, convex or non-convex, with/without integer variables, with/without stochastic elements. One piece of good news is that all the same Solvers (12 different Solver Engines) are available for use with both the Excel Solver (and its extensions from Frontline Systems), and for Solver Foundation. There is a "Solver plug-in" interface library that we worked on together, that ships with both Solver Foundation 3.0 and our Solver Platform SDK, that connects these two products for both linear and nonlinear problems.

Solver Foundation also works with other third-party Solvers from different vendors, such as Gurobi and KNITRO, and our Solver Platform SDK also works with other languages and operating systems, such as Java and MATLAB, and Mac OSX and Linux. But we are certainly trying to make them play together well. So it's not really one versus the other, it's a pair of entries in a wider field, where you can choose what's best for your specific situation.
Left by Daniel Fylstra on Feb 02, 2011 10:38 AM

# re: Excel Solver vs Solver Foundation
Requesting Gravatar...
I'm the guy at Microsoft that Josh talked to regarding Solver Foundation. As Dan says, Excel Solver and Frontline's Solver Platform SDK and Microsoft Solver Foundation are complementary. We worked together to build a plug-in that allows Solver Foundation users to use Frontline's solvers. We're really pleased with the result and we encourage everyone to go out and try Solver Foundation 3.0 and Solver Platform SDK together.

Depending on the situation, these offerings can be used independently of one another, or together. The point is to provide maximum flexibility to those who want to create and solve optimization models - whether in Excel, or in code.
Left by Nathan Brixius on Feb 04, 2011 7:14 PM

# re: Excel Solver vs Solver Foundation
Requesting Gravatar...
If you are used to building models with Excel's built-in Solver, but want to use a different optimisation engine, then the free OpenSolver, http://opensolver.org, may be of interest. This uses the COIN-OR integer and linear programming optimiser to solve optimisation models built using Excel's Solver. OpenSolver also provides some new model visualisation tools that we have found useful for checking large models. Hope this helps, Andrew
Left by Andrew on Aug 16, 2011 3:21 PM

# re: Excel Solver vs Solver Foundation
Requesting Gravatar...
So if I have a complex piece of code on SQL Server, which solution should I use? It sounds like I could use the solver foundation API and CLR stored procedures to do my optimization. If Excel Solver is based in Excel, is it feasible to get interface with it from Sql Server?
Left by RL on May 03, 2012 11:40 PM

# re: Excel Solver vs Solver Foundation
Requesting Gravatar...
I've been using both. Both are really good and extremely useful tools. Excel Solver is easier to use and more convenient if you want to add functionality to your spreadsheets. It is even better if you run it from VBA.

Solver Foundation is (I think) better in performance for larger problems, and has more options, but my impression is that Excel add-in is built with the idea to use spreadsheets just as input/output environment. It requires the knowledge of a new language, OML, or some of .Net framework languages.
Left by MS on Sep 28, 2012 11:39 AM

# re: Excel Solver vs Solver Foundation
Requesting Gravatar...
Both have advantages and disadvantages in some aspects. - Morgan Exteriors
Left by Sean Roberts on Dec 29, 2016 8:31 PM

Your comment:
 (will show your gravatar)


Copyright © JoshReuben | Powered by: GeeksWithBlogs.net