Skip to content

NUMERICAL_ERROR with GLPK for detecting lineartiy #257

@blegat

Description

@blegat
julia> h = hrep([HalfSpace([-0.3241379310344826, -0.32413793103448274], 0.0), HalfSpace([0.11428571428571432, 0.6857142857142857], 0.0), HalfSpace([0.3241379310344826, 0.32413793103448274], 0.0)])
H-representation Polyhedra.Intersection{Float64, Vector{Float64}, Int64}:
3-element iterator of HalfSpace{Float64, Vector{Float64}}:
 HalfSpace([-0.3241379310344826, -0.32413793103448274], 0.0)
 HalfSpace([0.11428571428571432, 0.6857142857142857], 0.0)
 HalfSpace([0.3241379310344826, 0.32413793103448274], 0.0)

julia> detecthlinearity(h, GLPK.Optimizer)
glp_simplex: initial basis is singular
ERROR: Solver returned NUMERICAL_ERROR when detecting new linearity (you may need to activate presolve for some solvers, e.g. by replacing `GLPK.Optimizer` with `optimizer_with_attributes(GLPK.Optimizer, "presolve" => GLPK.GLP_ON)`). Solver specific status: Unable to start the search, because the basis matrix corresponding to the initial basis is singular within the working precision.
Stacktrace:
 [1] error(::String, ::MathOptInterface.TerminationStatusCode, ::String, ::String, ::String, ::String)
   @ Base ./error.jl:42
 [2] _unknown_status(model::MathOptInterface.Bridges.LazyBridgeOptimizer{GLPK.Optimizer}, status::MathOptInterface.TerminationStatusCode, message::String)
   @ Polyhedra ~/.julia/packages/Polyhedra/heXmQ/src/opt.jl:159
 [3] is_feasible(model::MathOptInterface.Bridges.LazyBridgeOptimizer{GLPK.Optimizer}, message::String)
   @ Polyhedra ~/.julia/packages/Polyhedra/heXmQ/src/opt.jl:173
 [4] detect_new_linearities(rep::Polyhedra.Intersection{Float64, Vector{Float64}, Int64}, solver::Type; verbose::Int64)
   @ Polyhedra ~/.julia/packages/Polyhedra/heXmQ/src/linearity.jl:171
 [5] _detect_linearity(rep::Polyhedra.Intersection{Float64, Vector{Float64}, Int64}, solver::Type; verbose::Int64)
   @ Polyhedra ~/.julia/packages/Polyhedra/heXmQ/src/linearity.jl:237
 [6] #detecthlinearity#83
   @ ~/.julia/packages/Polyhedra/heXmQ/src/linearity.jl:257 [inlined]
 [7] detecthlinearity(hr::Polyhedra.Intersection{Float64, Vector{Float64}, Int64}, solver::Type)
   @ Polyhedra ~/.julia/packages/Polyhedra/heXmQ/src/linearity.jl:257
 [8] top-level scope
   @ REPL[62]:1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions