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
When the solver is ipm and presolve is disabled, the primal_solution_status is reported as feasible when the model status is infeasible.
julia>using HiGHS
julia>begin
data =""" NAME ROWS N NoObj L r0 G r1 COLUMNS c0 r0 1 c0 r1 1 RHS RHS_V r1 1 BOUNDS FR BOUND c0 ENDATA"""write("/tmp/test.mps", data)
end177
julia> highs =Highs_create()
Ptr{Nothing} @0x00007fdc22de3200
julia>Highs_readModel(highs, "/tmp/test.mps")
Running HiGHS 1.7.0 (git hash:50670fd4c): Copyright (c) 2024 HiGHS under MIT licence terms
0
julia>Highs_setStringOptionValue(highs, "presolve", "off")
0
julia>Highs_setStringOptionValue(highs, "solver", "ipm")
0
julia> status =Highs_run(highs)
Coefficient ranges:
Matrix [1e+00, 1e+00]
Cost [0e+00, 0e+00]
Bound [0e+00, 0e+00]
RHS [1e+00, 1e+00]
Solving LP without presolve, or with basis, or unconstrained
IPX model has 2 rows, 1 columns and 2 nonzeros
Input
Number of variables:1
Number of free variables:1
Number of constraints:2
Number of equality constraints:0
Number of matrix entries:2
Matrix range: [1e+00, 1e+00]
RHS range: [1e+00, 1e+00]
Objective range: [0e+00, 0e+00]
Bounds range: [0e+00, 0e+00]
Preprocessing
Dualized model: no
Number of dense columns:0
Range of scaling factors: [1.00e+00, 1.00e+00]
IPX version 1.0
Interior Point Solve
Iter P.res D.res P.obj D.obj mu Time
02.67e+002.17e+000.00000000e+00-6.66666667e-013.25e+000s
15.00e-011.32e-010.00000000e+002.34465717e+004.04e-040s
25.00e-012.53e-010.00000000e+002.86284197e+074.94e+030s
Summary
Runtime:0.00s
Status interior point solve: primal infeas
Status crossover: not run
WARNING: Ipx: IPM primal infeasible
WARNING: Ipx: Crossover not run
Model status : Infeasible
IPM iterations:2
Objective value :0.0000000000e+00
HiGHS run time :0.000
julia>Highs_getModelStatus(highs) == kHighsModelStatusInfeasible
true
julia> statusP =Ref{Cint}(0)
Base.RefValue{Int32}(0)
julia>Highs_getIntInfoValue(highs, "primal_solution_status", statusP)
0
julia> statusP[] == kHighsSolutionStatusFeasible
true
When the solver is
ipm
andpresolve
is disabled, theprimal_solution_status
is reported as feasible when the model status is infeasible.The last check should clearly not be
true
.Bug found by jump-dev/HiGHS.jl#216
The text was updated successfully, but these errors were encountered: