Skip to content

NUMERICAL_ERROR with GLPK for detecting lineartiy #257

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