ROI

The R Optimization Infrastructure (ROI) package provides an extensible infrastructure to model linear, quadratic, conic and general nonlinear optimization problems in a consistent way.

library(ROI)

Furthermore, the infrastructure administers many different solvers, reformulations, problem collections and functions to read and write optimization problems in various formats.

Extensions

ROI provides the modeling capabilities and manages the plugins, the plugins add the solvers to ROI.

Plugins

plugins <- ROI_available_solvers()[,c("Package", "Repository")]
plugins <- aggregate(Repository ~ Package,  data = plugins, 
                     FUN = paste, collapse = ", ")
knitr::kable(plugins, row.names = TRUE)
Package Repository
1 ROI.plugin.alabama https://CRAN.R-project.org, http://R-Forge.R-project.org
2 ROI.plugin.cbc https://github.com/dirkschumacher
3 ROI.plugin.clp https://CRAN.R-project.org, https://github.com/datastorm-open
4 ROI.plugin.cplex https://CRAN.R-project.org, http://R-Forge.R-project.org
5 ROI.plugin.deoptim https://CRAN.R-project.org, http://R-Forge.R-project.org
6 ROI.plugin.ecos https://CRAN.R-project.org, http://R-Forge.R-project.org
7 ROI.plugin.glpk https://CRAN.R-project.org, http://R-Forge.R-project.org
8 ROI.plugin.gurobi http://R-Forge.R-project.org, https://github.com/Fl0Sch
9 ROI.plugin.ipop https://CRAN.R-project.org, http://R-Forge.R-project.org
10 ROI.plugin.lpsolve https://CRAN.R-project.org, http://R-Forge.R-project.org
11 ROI.plugin.mosek http://R-Forge.R-project.org, https://github.com/Fl0Sch
12 ROI.plugin.msbinlp https://CRAN.R-project.org, http://R-Forge.R-project.org
13 ROI.plugin.neos https://CRAN.R-project.org, http://R-Forge.R-project.org
14 ROI.plugin.nloptr https://CRAN.R-project.org, http://R-Forge.R-project.org
15 ROI.plugin.optimx https://CRAN.R-project.org, http://R-Forge.R-project.org
16 ROI.plugin.qpoases https://CRAN.R-project.org, http://R-Forge.R-project.org
17 ROI.plugin.quadprog https://CRAN.R-project.org, http://R-Forge.R-project.org
18 ROI.plugin.scs https://CRAN.R-project.org, http://R-Forge.R-project.org
19 ROI.plugin.symphony https://CRAN.R-project.org, http://R-Forge.R-project.org

Models

Installation

The Installation page contains information to assist with the installation of ROI and its companion packages.

Additional resources

Additional to this web page there exist several resources:

Planed extensions

Planed plugins (ROI.plugin.*)

Planed models (ROI.model.*)

Contribute

There are several possible ways to contribute to the ROI project.

  • Since ROI was designed to allow decentralized development anyone is free and invited to extend ROI by creating a new plugin or model collection.
  • The source code of this page is stored on GitHub modifications to this page can be suggested by raising an issue or creating a pull request.
  • If you find ROI useful we would be happy to add your particular use case to the Use Cases page. To do so you can again raise and issue or create a pull request on GitHub, or send an e-mail to roi[at]shared-files.de. The use case should be either written in Sweave, knitr or R Markdown and contain an author and a license (e.g. GNU General Public License version 3).

Citation

Theu├čl, Stefan and Schwendinger, Florian and Hornik, Kurt (2017) ROI: The R Optimization Infrastructure Package. Research Report Series / Department of Statistics and Mathematics, 133. WU Vienna University of Economics and Business, Vienna.

@techreport{epubwu5858,
  number      = {133},
  month       = {October},
  author      = {Stefan Theu{\ss}l and Florian Schwendinger and Kurt Hornik},
  address     = {Vienna},
  title       = {ROI: The R Optimization Infrastructure Package},
  type        = {Research Report Series / Department of Statistics and Mathematics},
  institution = {WU Vienna University of Economics and Business},
  year        = {2017},
  url         = {http://epub.wu.ac.at/5858/},