Identifying equality and inequality constraints

MathProgIncidence.get_equality_constraintsFunction
get_equality_constraints(model::JuMP.Model)::Vector{JuMP.ConstraintRef}

Return a vector of equality constraints in the provided model.

Example

julia> using JuMP

julia> import MathProgIncidence

julia> m = Model();

julia> @variable(m, v);

julia> @constraint(m, v == 1);

julia> eq_cons = MathProgIncidence.get_equality_constraints(m);

julia> display(eq_cons)
1-element Vector{ConstraintRef}:
 eq_con_1 : v = 1.0
MathProgIncidence.get_inequality_constraintsFunction
get_inequality_constraints(model::JuMP.Model)::Vector{JuMP.ConstraintRef}

Return the inequality constraints in the provided model.

Example

julia> using JuMP

julia> import MathProgIncidence

julia> m = Model();

julia> @variable(m, x[1:2] >= 0);

julia> @constraint(m, x[1]*x[2] == 1);

julia> @constraint(m, x[1] + x[2] >= 4);

julia> MathProgIncidence.get_inequality_constraints(m)
3-element Vector{ConstraintRef}:
 x[1] + x[2] ≥ 4
 x[1] ≥ 0
 x[2] ≥ 0

Note that variable-in-set constraints are included.

MathProgIncidence.is_equalityFunction
is_equality(constraint::JuMP.ConstraintRef)::Bool

Detect whether a constraint is an equality constraint.

MathProgIncidence.set_implies_equalityFunction
set_implies_equality(set::MOI.AbstractSet)

Detect whether the set defines an equality constraint, i.e. is a singleton.

Implementation

Methods are defined for the following MathOptInterface.Sets:

  • MathOptInterface.EqualTo
  • MathOptInterface.Interval

If a MathOptInterface.AbstractVectorSet is provided, an error is raised. For any other type of set, false is returned. To support additional types of constraints in is_equality and get_equality_constraints, additional methods of set_implies_equality should be defined.

MathProgIncidence.set_implies_inequalityFunction
set_implies_inequality(set::MOI.AbstractSet)

Detect whether the set defines an inequality constraint.

This function is defined for scalar sets. Calling with a vector set will result in a TypeError.

MathProgIncidence.is_activeFunction
is_active(con::JuMP.ConstraintRef; tolerance = 0.0)

Return whether the constraint is active within tolerance.

Methods

is_active is supported for constraints with the following set types:

  • MOI.GreaterThan
  • MOI.LessThan
  • MOI.Interval