The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.

ROI HIGHS Interface

This repository contains an R interface to the HiGHS solver. The HiGHS solver, is a high-performance open-source solver for solving linear programming (LP), mixed-integer programming (MIP) and quadratic programming (QP) optimization problems.

Installation

remotes::install_gitlab("roigrp/solver/roi.plugin.highs")

Basic usage

library("ROI")

LP

# Minimize
#  x_0 +  x_1 + 3
# Subject to
#                 x_1 <= 7
#  5 <=   x_0 + 2 x_1 <= 15
#  6 <= 3 x_0 + 2 x_1
#  0 <=   x_0         <= 4
#  1 <=           x_1
op <- OP(
  objective = L_objective(c(1.0, 1)),
  constraints = L_constraint(
    L = rbind(c(0, 1), c(1, 2), c(1, 2), c(3, 2)),
    dir = c("<=", ">=", "<=", ">="),
    rhs = c(7, 5, 15, 6)
  ),
  bounds = V_bound(lb = c(0, 1), ub = c(4, Inf))
)

s <- ROI_solve(op, "highs")
solution(s)
#> [1] 0.50 2.25

QP

# Minimize
#  2 x_0^2 + x_1^2 + x_0 x_1 + x_1 + x_2
# Subject to
#  x_0 + x_1 = 1
#  x_0, x_1 >= 0
op <- OP(
  objective = Q_objective(rbind(c(2, .5), c(.5, 1)), c(1, 1)),
  constraints = L_constraint(
    L = rbind(c(1, 1)),
    dir = "==",
    rhs = 1
  )
)

s <- ROI_solve(op, "highs")
solution(s)
#> [1] 0.25 0.75

For additional information on the HiGHS solver see the HiGHS homepage, for additional information on ROI see the ROI homepage.

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.