Skip to content

Commit 2fee62f

Browse files
authored
Merge pull request #20 from oxfordcontrol/v0.11.1
Version 0.11.1 update
2 parents 82b1e21 + 4017b8d commit 2fee62f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

59 files changed

+22392
-1027
lines changed

.Rbuildignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,4 @@
1616

1717
^src/rust/.cargo$
1818
^src/Makevars$
19+
^cran-comments\.md$

DESCRIPTION

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
11
Package: clarabel
22
Type: Package
33
Title: Interior Point Conic Optimization Solver
4-
Version: 0.10.1
4+
Version: 0.11.1
55
Authors@R: c(person("Balasubramanian", "Narasimhan", role = c("aut", "cre"),
66
email = "naras@stanford.edu"),
77
person("Paul", "Goulart", role = c("aut", "cph")),
88
person("Yuwen", "Chen", role = c("aut")),
99
person("Hiroaki", "Yutani", role = c("ctb"),
1010
comment = "For vendoring/Makefile hints/R scripts for generating crate authors/licenses"),
1111
person("David", "Zimmermann-Kollenda", role = c("ctb"),
12-
comment = "For configure scripts and tools/msvr.R lifted from rtitoken package"),
12+
comment = "For configure scripts and tools/msvr.R lifted from rtiktoken package"),
1313
person(given = "The authors of the dependency Rust crates", role = c("ctb"),
1414
comment = "see inst/AUTHORS file for details"))
1515
Description: A versatile interior point solver that solves linear programs (LPs), quadratic programs (QPs), second-order cone programs (SOCPs), semidefinite programs (SDPs), and problems with exponential and power cone constraints (<https://clarabel.org/stable/>). For quadratic objectives, unlike interior point solvers based on the standard homogeneous self-dual embedding (HSDE) model, Clarabel handles quadratic objective without requiring any epigraphical reformulation of its objective function. It can therefore be significantly faster than other HSDE-based solvers for problems with quadratic objective functions. Infeasible problems are detected using using a homogeneous embedding technique.
1616
License: Apache License (== 2.0)
1717
Encoding: UTF-8
1818
Roxygen: list(markdown = TRUE)
19-
RoxygenNote: 7.3.2
19+
RoxygenNote: 7.3.3
2020
URL: https://oxfordcontrol.github.io/clarabel-r/
2121
BugReports: https://github.com/oxfordcontrol/clarabel-r/issues
2222
Suggests:

NEWS.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,12 @@
1+
# clarabel 0.11.1
2+
3+
- Synced up to v0.11.1 of `Clarabel.rs`
4+
- Fixed `flang` issues shown on CRAN for fedora-clang-rdevel
5+
6+
# clarabel 0.10.1
7+
8+
- Minor fixes to fix CRAN issues
9+
110
# clarabel 0.10.0
211

312
- Synced up to v0.10.0 of `Clarabel.rs`

R/clarabel.R

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#' @title Interface to 'Clarabel', an interior point conic solver
1+
#' Interface to 'Clarabel', an interior point conic solver
22
#'
33
#' @description
44
#'
@@ -80,7 +80,7 @@
8080
#' cone of size 2, followed by a zero cone of size 3, and finally a second-order
8181
#' cone of size 3. Generalized power cones parameters have to specified as named lists, e.g., `list(z = 2L, gp1 = list(a = c(0.3, 0.7), n = 3L), gp2 = list(a = c(0.5, 0.5), n = 1L))`.
8282
#'
83-
#' _Note that when `strict_cone_order = FALSE`, types of cone parameters such as integers, reals have to be explicit since the parameters are directly passed to the Rust interface with no sanity checks.!_
83+
#' _Note that when `strict_cone_order = FALSE`, types of cone parameters such as integers, reals have to be explicit since the parameters are directly passed to the Rust interface with no sanity checks!_
8484
#'
8585
#' @examples
8686
#' A <- matrix(c(1, 1), ncol = 1)
@@ -175,7 +175,7 @@ clarabel <- function(A, b, q, P = NULL, cones, control = list(),
175175
#' @param equilibrate_max_scaling maximum equilibration scaling allowed (`1e+4`)
176176
#' @param linesearch_backtrack_step linesearch backtracking (`0.8`)
177177
#' @param min_switch_step_length minimum step size allowed for asymmetric cones with PrimalDual scaling (`1e-1`)
178-
#' @param min_terminate_step_length minimum step size allowed for symmetric cones && asymmetric cones with Dual scaling (`1e-4`)
178+
#' @param min_terminate_step_length minimum step size allowed for symmetric cones && asymmetric cones with Dual scaling (`1e-4`)
179179
#' @param max_threads maximum solver threads for multithreaded KKT solvers, 0 lets the solver choose for itself (`0L`)
180180
#' @param direct_kkt_solver use a direct linear solver method (required true) (`TRUE`)
181181
#' @param direct_solve_method direct linear solver (`"qdldl"`, `"mkl"` or `"cholmod"`) (`"qdldl"`)
@@ -191,11 +191,14 @@ clarabel <- function(A, b, q, P = NULL, cones, control = list(),
191191
#' @param iterative_refinement_max_iter iterative refinement maximum iterations (`10L`)
192192
#' @param iterative_refinement_stop_ratio iterative refinement stalling tolerance (`5.0`)
193193
#' @param presolve_enable whether to enable presolvle (`TRUE`)
194+
#' @param input_sparse_dropzeros explicitly drop structural zeros from sparse data inputs (`FALSE`); see details
194195
#' @param chordal_decomposition_enable whether to enable chordal decomposition for SDPs (`FALSE`)
195196
#' @param chordal_decomposition_merge_method chordal decomposition merge method, one of `'none'`, `'parent_child'` or `'clique_graph'`, for SDPs (`'none'`)
196197
#' @param chordal_decomposition_compact a boolean flag for SDPs indicating whether to assemble decomposed system in _compact_ form for SDPs (`FALSE`)
197198
#' @param chordal_decomposition_complete_dual a boolean flag indicating complete PSD dual variables after decomposition for SDPs
198199
#' @return a list containing the control parameters.
200+
#' @details
201+
#' Setting `input_sparse_dropzeros` to `TRUE` will disable parametric updating functionality. See documentation of ‘dropzeros’ in Rust `struct CscMatrix` for dropping structural zeros before passing to the solver.
199202
#' @export clarabel_control
200203
clarabel_control <- function(
201204
## Main algorithm settings
@@ -246,6 +249,7 @@ clarabel_control <- function(
246249
iterative_refinement_max_iter = 10L,
247250
iterative_refinement_stop_ratio = 5.0,
248251
presolve_enable = TRUE,
252+
input_sparse_dropzeros = FALSE,
249253
chordal_decomposition_enable = FALSE,
250254
chordal_decomposition_merge_method = c('none', 'parent_child', 'clique_graph'),
251255
chordal_decomposition_compact = FALSE,
@@ -263,6 +267,7 @@ clarabel_control <- function(
263267
## Rust has strict type and length checks, so try to avoid panics
264268
bool_params <- c("verbose", "equilibrate_enable", "direct_kkt_solver", "static_regularization_enable",
265269
"dynamic_regularization_enable", "iterative_refinement_enable", "presolve_enable",
270+
"input_sparse_dropzeros",
266271
"chordal_decomposition_enable", "chordal_decomposition_compact",
267272
"chordal_decomposition_complete_dual")
268273

_pkgdown.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,15 @@
1+
template:
2+
bootstrap: 5
3+
14
destination: docs
5+
6+
url: https://oxfordcontrol.github.io/clarabel-r/
7+
28
authors:
39
Balasubramanian Narasimhan:
410
href: https://naras.su.domains/
511
Paul Goulart:
612
href: https://users.ox.ac.uk/~engs1373/
713
Yuwen Chen:
14+
href: https://yuwenchen95.github.io/
815

cleanup

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/sh
2+
3+
rm -rf src/*.o src/*.so src/*.dll src/*.a src/rust/vendor src/rust/target

cran-comments.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
## R CMD check results
2+
3+
- Note `Size of tarball is: 5875906 bytes`: This is due to vendored Rust sources (size 5.5Mb)
4+

docs/404.html

Lines changed: 47 additions & 79 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)