Nothing
## ----include = FALSE----------------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
## -----------------------------------------------------------------------------
library(CVXR)
x <- Variable(2, name = "x")
prob <- Problem(Minimize(sum_squares(x)), list(x >= 1))
opt_val <- psolve(prob, solver = "CLARABEL")
opt_val
value(x)
status(prob)
## -----------------------------------------------------------------------------
result <- solve(prob, solver = "CLARABEL")
result$value
result$status
## -----------------------------------------------------------------------------
installed_solvers()
## ----eval = FALSE-------------------------------------------------------------
# psolve(prob, solver = "SCS")
## -----------------------------------------------------------------------------
available_solvers()
exclude_solvers("SCS")
available_solvers()
include_solvers("SCS")
## -----------------------------------------------------------------------------
x <- Variable(pos = TRUE, name = "x")
y <- Variable(pos = TRUE, name = "y")
obj <- Minimize(x * y)
constr <- list(x * y >= 40, x <= 20, y >= 2)
prob <- Problem(obj, constr)
cat("Is DGP:", is_dgp(prob), "\n")
opt_val <- psolve(prob, gp = TRUE, solver = "CLARABEL")
cat("Optimal:", opt_val, " x =", value(x), " y =", value(y), "\n")
## -----------------------------------------------------------------------------
x <- Variable(name = "x")
prob <- Problem(Minimize(ceil_expr(x)), list(x >= 0.7, x <= 1.5))
cat("Is DQCP:", is_dqcp(prob), "\n")
opt_val <- psolve(prob, qcp = TRUE, solver = "CLARABEL")
cat("Optimal:", opt_val, " x =", value(x), "\n")
## -----------------------------------------------------------------------------
n <- 5
x <- Variable(n, name = "x")
lam <- Parameter(nonneg = TRUE, name = "lambda", value = 1.0)
set.seed(42)
A <- matrix(rnorm(10 * n), 10, n)
b <- rnorm(10)
prob <- Problem(Minimize(sum_squares(A %*% x - b) + lam * p_norm(x, 1)))
cat("Is DPP:", is_dpp(prob), "\n")
psolve(prob, solver = "CLARABEL")
value(x)
## -----------------------------------------------------------------------------
value(lam) <- 10.0
psolve(prob, solver = "CLARABEL")
value(x)
## -----------------------------------------------------------------------------
x <- Variable(3, integer = TRUE, name = "x")
prob <- Problem(Minimize(sum(x)), list(x >= 0.5, x <= 3.5))
psolve(prob, solver = "HIGHS")
value(x)
## -----------------------------------------------------------------------------
z <- Variable(2, complex = TRUE, name = "z")
prob <- Problem(Minimize(p_norm(z, 2)), list(z[1] == 1 + 2i))
psolve(prob, solver = "CLARABEL")
value(z)
## -----------------------------------------------------------------------------
b1 <- Variable(boolean = TRUE, name = "b1")
b2 <- Variable(boolean = TRUE, name = "b2")
## implies() returns an Expression; compare with == 1 to make a constraint
prob <- Problem(Maximize(b1 + b2),
list(implies(b1, b2) == 1, b1 + b2 <= 1))
psolve(prob, solver = "HIGHS")
cat("b1 =", value(b1), " b2 =", value(b2), "\n")
## ----eval = FALSE-------------------------------------------------------------
# pd <- problem_data(prob, solver = "CLARABEL")
# chain <- pd$chain
#
# # In a loop:
# raw <- solve_via_data(chain, warm_start = FALSE, verbose = FALSE)
# result <- problem_unpack_results(prob, raw$solution, chain, raw$inverse_data)
## -----------------------------------------------------------------------------
x <- Variable(3, name = "x")
prob <- Problem(Minimize(p_norm(x, 1) + sum_squares(x)),
list(x >= -1, sum(x) == 1))
visualize(prob)
## ----eval = FALSE-------------------------------------------------------------
# visualize(prob, html = "my_problem.html")
## -----------------------------------------------------------------------------
x <- Variable(3, name = "x")
abs(x) # elementwise absolute value
sqrt(x) # elementwise square root
sum(x) # sum of entries
max(x) # maximum entry
norm(x, "2") # Euclidean norm
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.