Identifying equality and inequality constraints
MathProgIncidence.get_equality_constraints
— Functionget_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_constraints
— Functionget_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_equality
— Functionis_equality(constraint::JuMP.ConstraintRef)::Bool
Detect whether a constraint is an equality constraint.
MathProgIncidence.is_inequality
— Functionis_inequality(constraint::JuMP.ConstraintRef)
Detect whether a constraint is an inequality constraint.
MathProgIncidence.set_implies_equality
— Functionset_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.Set
s:
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_inequality
— Functionset_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_active
— Functionis_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