You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
R version: 4.3.1 (2023-06-16)
OSQP version: 0.6.3.2
I noticed that osqp has problems reaching convergence when the upper limit is considered to be Inf.
I am not sure what the problem is due to, and it does not always occur. It occurs mostly when the variable x in my problem contains very high values.
I leave an example to reproduce it.
library("osqp")
x<- c(24347.5410, 7743.3586, 4957.3505, 5588.0308, 1445.2660, 3002.4793, 643.5833, 240.3561)
A<-matrix(c(1,-1,-1,-1,-1,-1,-1,-1,
0, 1, 0, 0, 0, 0, 0, 0), 2, byrow=TRUE)
# constraints: Ax => x[1] = x[2] + x[3] + x[4] + x[5] + x[6] + x[7] + x[8]# x[2] >= 0W<- diag(c(2280147, 428471, 184644, 472915, 45151, 124546, 25157, 30286))
P<- solve(W)
q<- (-1) * t(P) %*% as.vector(x)
rec1<- solve_osqp(P, q, A, c(0, rep(0, NROW(A)-1)), c(0, rep(Inf, NROW(A)-1)))
#> -----------------------------------------------------------------#> OSQP v0.6.3 - Operator Splitting QP Solver#> (c) Bartolomeo Stellato, Goran Banjac#> University of Oxford - Stanford University 2021#> -----------------------------------------------------------------#> problem: variables n = 8, constraints m = 2#> nnz(P) + nnz(A) = 17#> settings: linear system solver = qdldl,#> eps_abs = 1.0e-03, eps_rel = 1.0e-03,#> eps_prim_inf = 1.0e-04, eps_dual_inf = 1.0e-04,#> rho = 1.00e-01 (adaptive),#> sigma = 1.00e-06, alpha = 1.60, max_iter = 4000#> check_termination: on (interval 25),#> scaling: on, scaled_termination: off#> warm start: on, polish: off, time_limit: off#> #> iter objective pri res dua res rho time#> 1 -1.9594e+02 1.16e-03 2.17e-02 1.00e-01 6.53e-05s#> 25 -1.0000e+30 9.16e-07 2.01e-02 1.00e-01 1.17e-04s#> #> status: dual infeasible#> number of iterations: 25#> run time: 1.61e-04s#> optimal rho estimate: 7.87e-06rec2<- solve_osqp(P, q, A, c(0, rep(0, NROW(A)-1)), c(0, rep(9e25, NROW(A)-1)))
#> -----------------------------------------------------------------#> OSQP v0.6.3 - Operator Splitting QP Solver#> (c) Bartolomeo Stellato, Goran Banjac#> University of Oxford - Stanford University 2021#> -----------------------------------------------------------------#> problem: variables n = 8, constraints m = 2#> nnz(P) + nnz(A) = 17#> settings: linear system solver = qdldl,#> eps_abs = 1.0e-03, eps_rel = 1.0e-03,#> eps_prim_inf = 1.0e-04, eps_dual_inf = 1.0e-04,#> rho = 1.00e-01 (adaptive),#> sigma = 1.00e-06, alpha = 1.60, max_iter = 4000#> check_termination: on (interval 25),#> scaling: on, scaled_termination: off#> warm start: on, polish: off, time_limit: off#> #> iter objective pri res dua res rho time#> 1 -1.9594e+02 1.16e-03 2.17e-02 1.00e-01 6.67e-05s#> 50 -3.6796e+02 7.30e-04 1.70e-09 7.87e-06 1.25e-04s#> #> status: solved#> number of iterations: 50#> optimal objective: -367.9584#> run time: 1.58e-04s#> optimal rho estimate: 1.05e-05
The text was updated successfully, but these errors were encountered:
danigiro
changed the title
Dual infeasible problem when using Inf as upper limits
Dual infeasible problem when using Inf as upper limit
Nov 25, 2023
R version: 4.3.1 (2023-06-16)
OSQP version: 0.6.3.2
I noticed that
osqp
has problems reaching convergence when the upper limit is considered to beInf
.I am not sure what the problem is due to, and it does not always occur. It occurs mostly when the variable x in my problem contains very high values.
I leave an example to reproduce it.
The text was updated successfully, but these errors were encountered: