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
I am slightly puzzled by this. I am reading a model from a cbf using JuMP and setting the direct method to :faer. Unfortunately something happens and the solver bails with a NumericalError.
using JuMP, ClarabelRs
path_to_file =joinpath(@__DIR__,path_to_files, file_name)
model_faer =read_from_file(path_to_file)
set_optimizer(model_faer, ClarabelRs.Optimizer)
set_attribute(model_faer, "direct_solve_method", :faer)
optimize!(model_faer)
-------------------------------------------------------------
Clarabel.rs v0.9.0- Clever Acronym
(c) Paul Goulart
University of Oxford, 2022-------------------------------------------------------------
problem:
variables =86778
constraints =112351nnz(P) =0nnz(A) =580925
cones (total) =8251: Zero =1, numel =58738: Nonnegative =2, numel = (1,4124)
: PSDTriangle =8248, numel = (6,6,6,6,...,6)
settings:
linear algebra: direct / faer, precision:64 bit
max iter =200, time limit =Inf, max step =0.990
tol_feas =1.0e-8, tol_gap_abs =1.0e-8, tol_gap_rel =1.0e-8,
static reg : on, ϵ1 =1.0e-8, ϵ2 =4.9e-32
dynamic reg: on, ϵ =1.0e-13, δ =2.0e-7
iter refine: on, reltol =1.0e-13, abstol =1.0e-12,
max iter =10, stop ratio =5.0
equilibrate: on, min_scale =1.0e-4, max_scale =1.0e4
max iter =10
iter pcost dcost gap pres dres k/t μ step
---------------------------------------------------------------------------------------------0+9.2749e-01+9.2749e-011.99e-131.34e-012.21e-021.00e+005.72e+01------1-2.6265e+01-2.0492e+012.82e-016.95e-021.10e-026.28e+003.43e+015.22e-012-5.2928e+04-5.2918e+041.87e-041.62e-023.85e-031.05e+013.42e+015.27e-023-2.0302e+05-2.0300e+059.90e-055.32e-031.29e-032.09e+012.91e+012.45e-014-3.0882e+05-3.0879e+059.61e-053.69e-038.97e-043.05e+012.55e+012.20e-015-5.1792e+05-5.1788e+058.41e-052.22e-035.39e-044.44e+011.98e+013.30e-016-7.7519e+05-7.7514e+057.13e-051.37e-033.32e-045.60e+011.45e+013.72e-017-8.6242e+05-8.6237e+056.44e-051.10e-032.66e-045.62e+011.21e+012.38e-018-8.7572e+05-8.7566e+055.90e-059.33e-042.26e-045.23e+011.03e+012.35e-019-8.7381e+05-8.7377e+055.12e-057.88e-041.91e-044.52e+018.64e+002.13e-0110-8.0331e+05-8.0328e+053.94e-055.53e-041.34e-043.20e+015.77e+004.97e-0111-7.6529e+05-7.6526e+053.36e-054.20e-041.01e-042.59e+014.25e+004.44e-0112-7.4962e+05-7.4961e+052.49e-052.95e-047.11e-051.88e+012.94e+004.23e-0113-7.5090e+05-7.5089e+052.17e-052.05e-044.95e-051.64e+012.03e+006.92e-0114-7.4220e+05-7.4219e+051.34e-051.17e-042.83e-059.98e+001.15e+006.79e-0115-7.3116e+05-7.3116e+057.48e-066.46e-051.55e-055.50e+006.25e-015.42e-0116-7.2435e+05-7.2434e+053.51e-062.90e-056.97e-062.55e+002.78e-017.46e-0117-7.2435e+05-7.2434e+053.51e-062.90e-056.97e-062.55e+002.78e-010.00e+00---------------------------------------------------------------------------------------------
Terminated with status = NumericalError
solve time =4.263004331s
What I find puzzling is that if I save the model to a json file and then load the model from said json file it seems as no NumericalError is encountered even though the initial iterations are exactly the same?
json_file =joinpath(@__DIR__,path_to_files, file_name)[1:end-4] *".json"
ClarabelRs.write_to_file(unsafe_backend(model_faer).solver,json_file)
json_solver = ClarabelRs.read_from_file(json_file)
ClarabelRs.solve!(json_solver)
-------------------------------------------------------------
Clarabel.rs v0.9.0- Clever Acronym
(c) Paul Goulart
University of Oxford, 2022-------------------------------------------------------------
problem:
variables =86778
constraints =112351nnz(P) =0nnz(A) =580925
cones (total) =8251: Zero =1, numel =58738: Nonnegative =2, numel = (1,4124)
: PSDTriangle =8248, numel = (6,6,6,6,...,6)
settings:
linear algebra: direct / faer, precision:64 bit
max iter =200, time limit =Inf, max step =0.990
tol_feas =1.0e-8, tol_gap_abs =1.0e-8, tol_gap_rel =1.0e-8,
static reg : on, ϵ1 =1.0e-8, ϵ2 =4.9e-32
dynamic reg: on, ϵ =1.0e-13, δ =2.0e-7
iter refine: on, reltol =1.0e-13, abstol =1.0e-12,
max iter =10, stop ratio =5.0
equilibrate: on, min_scale =1.0e-4, max_scale =1.0e4
max iter =10
iter pcost dcost gap pres dres k/t μ step
---------------------------------------------------------------------------------------------0+9.2749e-01+9.2749e-012.02e-131.34e-012.21e-021.00e+005.72e+01------1-2.6265e+01-2.0492e+012.82e-016.95e-021.10e-026.28e+003.43e+015.22e-012-5.2928e+04-5.2918e+041.87e-041.62e-023.85e-031.05e+013.42e+015.27e-023-2.0302e+05-2.0300e+059.90e-055.32e-031.29e-032.09e+012.91e+012.45e-014-3.0882e+05-3.0879e+059.61e-053.69e-038.97e-043.05e+012.55e+012.20e-015-5.1792e+05-5.1788e+058.41e-052.22e-035.39e-044.44e+011.98e+013.30e-016-7.7519e+05-7.7514e+057.13e-051.37e-033.32e-045.60e+011.45e+013.72e-017-8.6242e+05-8.6237e+056.44e-051.10e-032.66e-045.62e+011.21e+012.38e-018-8.7572e+05-8.7566e+055.90e-059.33e-042.26e-045.23e+011.03e+012.35e-019-8.7381e+05-8.7377e+055.12e-057.88e-041.91e-044.52e+018.64e+002.13e-0110-8.0331e+05-8.0328e+053.94e-055.53e-041.34e-043.20e+015.77e+004.97e-0111-7.6529e+05-7.6526e+053.36e-054.20e-041.01e-042.59e+014.25e+004.44e-0112-7.4962e+05-7.4961e+052.49e-052.95e-047.11e-051.88e+012.94e+004.23e-0113-7.5090e+05-7.5089e+052.17e-052.05e-044.95e-051.64e+012.03e+006.92e-0114-7.4220e+05-7.4219e+051.34e-051.17e-042.83e-059.98e+001.15e+006.79e-0115-7.3116e+05-7.3116e+057.48e-066.46e-051.55e-055.50e+006.25e-015.42e-0116-7.2435e+05-7.2434e+053.51e-062.90e-056.97e-062.55e+002.78e-017.46e-0117-7.1920e+05-7.1920e+051.74e-061.42e-053.41e-061.26e+001.35e-016.34e-0118-7.1909e+05-7.1909e+051.63e-061.33e-053.19e-061.18e+001.26e-012.01e-0119-7.1601e+05-7.1600e+057.13e-075.74e-061.38e-065.14e-015.44e-027.54e-0120-7.1424e+05-7.1424e+052.61e-072.09e-065.01e-071.87e-011.97e-028.37e-0121-7.1373e+05-7.1373e+051.37e-071.10e-062.64e-079.86e-021.04e-028.37e-0122-7.1341e+05-7.1341e+056.61e-085.29e-071.27e-074.74e-024.98e-036.06e-0123-7.1320e+05-7.1320e+052.16e-081.73e-074.14e-081.55e-021.62e-038.38e-0124-7.1315e+05-7.1315e+059.32e-097.45e-081.79e-086.69e-037.01e-049.90e-0125-7.1312e+05-7.1312e+053.67e-092.93e-087.04e-092.63e-032.76e-048.70e-0126-7.1311e+05-7.1311e+051.52e-091.22e-082.92e-091.09e-031.14e-047.66e-0127-7.1311e+05-7.1311e+058.49e-106.79e-091.63e-096.09e-046.37e-057.22e-01---------------------------------------------------------------------------------------------
Terminated with status = Solved
solve time =6.56012246s
The text was updated successfully, but these errors were encountered:
I have observed this as well and don't have a convincing explanation. We do not store the data as provided by the user, but only the data in its post-equilibrated form. We then undo that equilibration when saving to json, so in principle it is possible for the problem data to be perturbed by that process just enough to produce a different result. Does the same thing happen if you save the problem with equilibration disabled, and then import with it enabled again (this would have to be done manually for now I guess). If that still produces weird behaviour then maybe something else is going on.
I just tried to follow your suggestion. When equilibration is disabled the problem is solved directly on the first go, i.e. no NumericalError is encountered. So your hunch of it being related to the equilibration must be correct.
Hi there,
I am slightly puzzled by this. I am reading a model from a
cbf
using JuMP and setting the direct method to:faer
. Unfortunately something happens and the solver bails with aNumericalError
.What I find puzzling is that if I save the model to a json file and then load the model from said json file it seems as no
NumericalError
is encountered even though the initial iterations are exactly the same?The text was updated successfully, but these errors were encountered: