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


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


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


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,
2 ROI.plugin.cbc
3 ROI.plugin.clp
4 ROI.plugin.cplex
5 ROI.plugin.deoptim,
6 ROI.plugin.ecos,
7 ROI.plugin.glpk
8 ROI.plugin.gurobi,
9 ROI.plugin.ipop
10 ROI.plugin.lpsolve,
11 ROI.plugin.mosek,
12 ROI.plugin.msbinlp
13 ROI.plugin.neos,
14 ROI.plugin.nloptr
15 ROI.plugin.optimx,
16 ROI.plugin.qpoases
17 ROI.plugin.quadprog
18 ROI.plugin.scs
19 ROI.plugin.symphony



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.*)


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] 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).


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.

  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         = {},