Skip to content

COIN OR Bridge and Solver

hwborchers edited this page Jan 8, 2019 · 4 revisions

Background

Explain the motivation for your coding project. What problem would it solve?

COIN-OR, the "Computational Infrastructure for Operations Research", is an initiative of the COIN-OR Foundation that provides open source software for the operations research community, especially in the area of optimization solvers. The COIN-OR Projects Web site provides links to celebrated optimization software projects,e.g., Ipopt, BONMIN, or Couenne, to name a few.

This project shall generate a procedure to make COIN-OR optimization software available for the R community, provide code to bridge to some of these solvers, and proof this concept by wrapping two solvers, preferably Ipopt and Couenne, into R packages ready to be published on CRAN.

Related work

What other R packages with similar functionality already exist? Why aren't they good enough?

There are two or three COIN-OR solvers that have been integrated with R, Symphony and CLC/CBC for example, but in general, it is still unclear how to do this efficiently for other solvers.

Details of your coding project

What exactly do you want your student to code in the 3-month deadline? What functions? What do they do? Docs? Tests? Vignettes?

The goal of this project is:

  • to make available one or two of the COIN-OR solvers for the R optimization community, preferably Ipopt and one of the Mixed-Integer Non-Linear Programs (MINLP);

  • to provide the necessary infrastructure to make it possible to more easily integrate other solvers in R;

  • to describe a procedure and document it in a vignette or article to make integrating more solvers a straightforward task.

Expected impact

Mentors, please explain how this project will produce a useful package for the R community.

COIN-OR is a lively community that produces excellent software in optimization and operations research. To have an infrastructure and procedure to allow for integrating with R will be a great step forward. One minimal goal will be to have an R package that wraps the Ipopt solver for constraint optimization.

Mentors

Students, please contact mentors below after completing at least one of the tests below.

  • Hans W. Borchers [email protected] is the maintainer of the "Optimization and Mathematical Programming" CRAN Task View.
  • To be found.

Tests

Students, please do one or more of the following tests before contacting the mentors above.

  • Go to the COIN-OR project pages and download and install one or two solvers, e.g. Ipopt and /or Couenne, on two operating systems, Windows and one Linux OS.

  • Solve several optimization test problems with the help of these installed solvers, writing the objective functions in C.

  • Find Python and/or Julia packages that wrap COIN-OR solvers, find out how they integrate these solvers and solve the test problems within these environments.

  • Look at R packages that wrap COIN-OR solvers (see above) and describe how they solve the infrastructure challenge of installing and integrating.

  • Set up a simple R package that would be able to integrate such a solver.

Solutions of tests

Students, please post a link to your test results here.

Clone this wiki locally