Open Source Solver Resources
Solvers are the basis for all optimization modeling. There are four major types, according to the type of problem that the particular software can solve:
- Linear integer, otherwise known as "mixed integer"
- Non-linear integer
Most pricing problems in finance are either quadratic or nonlinear, so the non-linear solvers will be listed first.
- Ipopt is an open source solver designed for constrained non-linear problems. It was originally written by Andreas Wachter while at IBM, and is currently released under the Eclipse Public License. It is probably the most robust of the available open source solvers.
- Excel has a built-in non-linear integer solver, but it is limited to 300 variables; since some of these are used for internal variables that are not present in the spreadsheet as cells, the problems that it can handle are really pretty small, but it can be useful if your problem fits into 300 variables.
Linear, Integer and Quadratic
- Clp is a linear solver that was written by John Forrest while at IBM, and is currently released under the Eclipse Public License. It is has a reputation as the most robust of the available open source solvers, and is considered to be competitive with commercial solvers for all but very large problems. It is unusual among open source linear solvers in that it can handle quadratic objective functions.
- Cbc is a mixed integer solver that was written by John Forrest while at IBM, and is currently released under the Eclipse Public License. It is has a reputation as the most robust of the available open source solvers, and is considered to be competitive with commercial solvers for all but very large problems.
- GLPK is a mixed integer solver written by Andrew O. Makhorin (Андрей Олегович Махорин) while at the Moscow Aviation Institute. It is widely used due to the inclusion of the GNU Linear Programming Language that is essentially a subset of the commercially available AMPL language. The modeling language is much slower than AMPL and does not allow order sets (among many other things), but it can be useful when you don't have an AMPL license available. It is significantly slower than commercial solvers, especially on integer programs.
- lp_solve is a linear solver that was probably the first widely used open source solver and which has a reputation as being useful for problems larger than GLPK can handle, but smaller than Clp can handle.
- Written by Bruce Moore
- Hits: 5690
R - Open Source Statistical Software
While working on my praxis during my Doctor of Engineering program, I tried to do a multiple linear regression in Excel--and discovered Excel's limitations. Since I didn't have budget money for SAS and couldn't move the data to the university's computers for confidentiality reasons. I started frantically surfing the web: "open source" "free" "statistics" "linear" "regression".
I downloaded several programs, most of which had even more problems than Excel. I finally downloaded a program called "R" and was able to install it, load my data, and run my regression in less than an hour. Although the language was very different from all of the languages that I knew (or for that matter know), it worked reliably, and did what I needed.
More than 12 years later, I am still an R user and have attended the UseR! conferences in Ames (2007), Dortmund (2008), Rennes (2009), Coventry (2011) and Albacete (2013). The links that follow provide a few resources for this great statistical package. R is now used in a number of Fortune 500 firms, including Google (which does its own internal distribution) and a number of pharmaceutical companies.
- R project web site Provides links to mirrors for downloading.
- Revolution Analytics is a commercial vendor that distributes a supported version of R and it's related packages. The Revolution Analytics interpreter has some proprietary features that are of use for parallel computing and large datasets.
- RStudio offers a wonderful free integrated development environment for R, and various educational offerings. Hadley Wickham is one of the most prolific and respected package writers.
- RMetrics is a project to develop R packages for the financial engineering. This user group has its own conference, and most of the finance crowd goes to this conference rather than the general UseR! conference.
- RGeo is a project to develop geospatial analysis packages for R.
- BioConductor is a very large project to develop software for genomic and pharmalogical research. Pharmaceutical firms were among the first to adopt R.
Important Blogs for R
R User Groups
- Dallas Ft. Worth R User Group
- Houston R User Group
- Austin R User Group
- San Antonio R User Group
- Atlanta R User Group
- Burlington R User Group
- List of world-wide R user groups
- Written by Bruce Moore
- Hits: 8088