-
-
Notifications
You must be signed in to change notification settings - Fork 411
Closed
Labels
Status: Help WantedHelp is welcome on this issueHelp is welcome on this issueType: Error MessagesCan be fixed with better error messageCan be fixed with better error messagegood first issueThis issue is recommended for new users, it does not require a thorough understanding of the packageThis issue is recommended for new users, it does not require a thorough understanding of the package
Description
The error message below is not friendly or helpful for new users. (It came up on Discourse, and it is one of the more frequent questions we get asked.)
Perhaps something like:
`MOI.ScalarQuadraticFunction{Float64}`-in-`MOI.EqualTo{Float64}` constraints are
not supported by this solver.
If you expected the solver to support your problem, you may have an error in
your formulation. Otherwise, consider using a different solver.
The list of available solvers, along with the problem types they support, is
available at https://jump.dev/JuMP.jl/stable/installation/#Supported-solvers.
For advanced users, you can view the attempts we made at bridging this
constraint by calling
`JuMP.debug(model, MOI.ScalarQuadraticFunction{Float64}, MOI.EqualTo{Float64})`.Current error messsage
julia> using JuMP, Cbc
julia> m = Model(Cbc.Optimizer)
A JuMP Model
Feasibility problem with:
Variables: 0
Model mode: AUTOMATIC
CachingOptimizer state: EMPTY_OPTIMIZER
Solver name: COIN Branch-and-Cut (Cbc)
julia> @variable(m, x1)
x1
julia> @variable(m, x2)
x2
julia> @constraint(m, constraint1, x1 * x2 == 1)
ERROR: `MOI.ScalarQuadraticFunction{Float64}`-in-`MOI.EqualTo{Float64}` constraints are not supported and cannot be bridged into supported constrained variables and constraints. See details below:
[1] constrained variables in `MOI.RotatedSecondOrderCone` are not supported because:
Cannot use `MOIB.Variable.RSOCtoSOCBridge{Float64}` because:
[2] constrained variables in `MOI.SecondOrderCone` are not supported
Cannot use `MOIB.Variable.RSOCtoPSDBridge{Float64}` because:
[5] constrained variables in `MOI.PositiveSemidefiniteConeTriangle` are not supported
Cannot add free variables and then constrain them because:
(9) `MOI.VectorOfVariables`-in-`MOI.RotatedSecondOrderCone` constraints are not supported
[2] constrained variables in `MOI.SecondOrderCone` are not supported because:
Cannot use `MOIB.Variable.SOCtoRSOCBridge{Float64}` because:
[1] constrained variables in `MOI.RotatedSecondOrderCone` are not supported
Cannot add free variables and then constrain them because:
(11) `MOI.VectorOfVariables`-in-`MOI.SecondOrderCone` constraints are not supported
[5] constrained variables in `MOI.PositiveSemidefiniteConeTriangle` are not supported because no added bridge supports bridging it.
Cannot add free variables and then constrain them because:
(18) `MOI.VectorOfVariables`-in-`MOI.PositiveSemidefiniteConeTriangle` constraints are not supported
(1) `MOI.ScalarQuadraticFunction{Float64}`-in-`MOI.EqualTo{Float64}` constraints are not supported because:
Cannot use `MOIB.Constraint.VectorizeBridge{Float64, MOI.VectorQuadraticFunction{Float64}, MOI.Zeros, MOI.ScalarQuadraticFunction{Float64}}` because:
(2) `MOI.VectorQuadraticFunction{Float64}`-in-`MOI.Zeros` constraints are not supported
Cannot use `MOIB.Constraint.SplitIntervalBridge{Float64, MOI.ScalarQuadraticFunction{Float64}, MOI.EqualTo{Float64}, MOI.GreaterThan{Float64}, MOI.LessThan{Float64}}` because:
(7) `MOI.ScalarQuadraticFunction{Float64}`-in-`MOI.GreaterThan{Float64}` constraints are not supported
(5) `MOI.ScalarQuadraticFunction{Float64}`-in-`MOI.LessThan{Float64}` constraints are not supported
(2) `MOI.VectorQuadraticFunction{Float64}`-in-`MOI.Zeros` constraints are not supported because:
Cannot use `MOIB.Constraint.ScalarizeBridge{Float64, MOI.ScalarQuadraticFunction{Float64}, MOI.EqualTo{Float64}}` because:
(1) `MOI.ScalarQuadraticFunction{Float64}`-in-`MOI.EqualTo{Float64}` constraints are not supported
Cannot use `MOIB.Constraint.SplitIntervalBridge{Float64, MOI.VectorQuadraticFunction{Float64}, MOI.Zeros, MOI.Nonnegatives, MOI.Nonpositives}` because:
(3) `MOI.VectorQuadraticFunction{Float64}`-in-`MOI.Nonnegatives` constraints are not supported
(4) `MOI.VectorQuadraticFunction{Float64}`-in-`MOI.Nonpositives` constraints are not supported
(3) `MOI.VectorQuadraticFunction{Float64}`-in-`MOI.Nonnegatives` constraints are not supported because:
Cannot use `MOIB.Constraint.NonnegToNonposBridge{Float64, MOI.VectorQuadraticFunction{Float64}, MOI.VectorQuadraticFunction{Float64}}` because:
(4) `MOI.VectorQuadraticFunction{Float64}`-in-`MOI.Nonpositives` constraints are not supported
Cannot use `MOIB.Constraint.ScalarizeBridge{Float64, MOI.ScalarQuadraticFunction{Float64}, MOI.GreaterThan{Float64}}` because:
(7) `MOI.ScalarQuadraticFunction{Float64}`-in-`MOI.GreaterThan{Float64}` constraints are not supported
Cannot use `MOIB.Constraint.VectorSlackBridge{Float64, MOI.VectorQuadraticFunction{Float64}, MOI.Nonnegatives}` because:
(2) `MOI.VectorQuadraticFunction{Float64}`-in-`MOI.Zeros` constraints are not supported
(4) `MOI.VectorQuadraticFunction{Float64}`-in-`MOI.Nonpositives` constraints are not supported because:
Cannot use `MOIB.Constraint.NonposToNonnegBridge{Float64, MOI.VectorQuadraticFunction{Float64}, MOI.VectorQuadraticFunction{Float64}}` because:
(3) `MOI.VectorQuadraticFunction{Float64}`-in-`MOI.Nonnegatives` constraints are not supported
Cannot use `MOIB.Constraint.ScalarizeBridge{Float64, MOI.ScalarQuadraticFunction{Float64}, MOI.LessThan{Float64}}` because:
(5) `MOI.ScalarQuadraticFunction{Float64}`-in-`MOI.LessThan{Float64}` constraints are not supported
Cannot use `MOIB.Constraint.VectorSlackBridge{Float64, MOI.VectorQuadraticFunction{Float64}, MOI.Nonpositives}` because:
(2) `MOI.VectorQuadraticFunction{Float64}`-in-`MOI.Zeros` constraints are not supported
(5) `MOI.ScalarQuadraticFunction{Float64}`-in-`MOI.LessThan{Float64}` constraints are not supported because:
Cannot use `MOIB.Constraint.LessToIntervalBridge{Float64, MOI.ScalarQuadraticFunction{Float64}}` because:
(6) `MOI.ScalarQuadraticFunction{Float64}`-in-`MOI.Interval{Float64}` constraints are not supported
Cannot use `MOIB.Constraint.LessToGreaterBridge{Float64, MOI.ScalarQuadraticFunction{Float64}, MOI.ScalarQuadraticFunction{Float64}}` because:
(7) `MOI.ScalarQuadraticFunction{Float64}`-in-`MOI.GreaterThan{Float64}` constraints are not supported
Cannot use `MOIB.Constraint.VectorizeBridge{Float64, MOI.VectorQuadraticFunction{Float64}, MOI.Nonpositives, MOI.ScalarQuadraticFunction{Float64}}` because:
(4) `MOI.VectorQuadraticFunction{Float64}`-in-`MOI.Nonpositives` constraints are not supported
Cannot use `MOIB.Constraint.ScalarSlackBridge{Float64, MOI.ScalarQuadraticFunction{Float64}, MOI.LessThan{Float64}}` because:
(1) `MOI.ScalarQuadraticFunction{Float64}`-in-`MOI.EqualTo{Float64}` constraints are not supported
Cannot use `MOIB.Constraint.QuadtoSOCBridge{Float64}` because:
(8) `MOI.VectorAffineFunction{Float64}`-in-`MOI.RotatedSecondOrderCone` constraints are not supported
(6) `MOI.ScalarQuadraticFunction{Float64}`-in-`MOI.Interval{Float64}` constraints are not supported because:
Cannot use `MOIB.Constraint.ScalarSlackBridge{Float64, MOI.ScalarQuadraticFunction{Float64}, MOI.Interval{Float64}}` because:
(1) `MOI.ScalarQuadraticFunction{Float64}`-in-`MOI.EqualTo{Float64}` constraints are not supported
Cannot use `MOIB.Constraint.SplitIntervalBridge{Float64, MOI.ScalarQuadraticFunction{Float64}, MOI.Interval{Float64}, MOI.GreaterThan{Float64}, MOI.LessThan{Float64}}` because:
(7) `MOI.ScalarQuadraticFunction{Float64}`-in-`MOI.GreaterThan{Float64}` constraints are not supported
(5) `MOI.ScalarQuadraticFunction{Float64}`-in-`MOI.LessThan{Float64}` constraints are not supported
(7) `MOI.ScalarQuadraticFunction{Float64}`-in-`MOI.GreaterThan{Float64}` constraints are not supported because:
Cannot use `MOIB.Constraint.GreaterToIntervalBridge{Float64, MOI.ScalarQuadraticFunction{Float64}}` because:
(6) `MOI.ScalarQuadraticFunction{Float64}`-in-`MOI.Interval{Float64}` constraints are not supported
Cannot use `MOIB.Constraint.GreaterToLessBridge{Float64, MOI.ScalarQuadraticFunction{Float64}, MOI.ScalarQuadraticFunction{Float64}}` because:
(5) `MOI.ScalarQuadraticFunction{Float64}`-in-`MOI.LessThan{Float64}` constraints are not supported
Cannot use `MOIB.Constraint.VectorizeBridge{Float64, MOI.VectorQuadraticFunction{Float64}, MOI.Nonnegatives, MOI.ScalarQuadraticFunction{Float64}}` because:
(3) `MOI.VectorQuadraticFunction{Float64}`-in-`MOI.Nonnegatives` constraints are not supported
Cannot use `MOIB.Constraint.ScalarSlackBridge{Float64, MOI.ScalarQuadraticFunction{Float64}, MOI.GreaterThan{Float64}}` because:
(1) `MOI.ScalarQuadraticFunction{Float64}`-in-`MOI.EqualTo{Float64}` constraints are not supported
Cannot use `MOIB.Constraint.QuadtoSOCBridge{Float64}` because:
(8) `MOI.VectorAffineFunction{Float64}`-in-`MOI.RotatedSecondOrderCone` constraints are not supported
(8) `MOI.VectorAffineFunction{Float64}`-in-`MOI.RotatedSecondOrderCone` constraints are not supported because:
Cannot use `MOIB.Constraint.VectorSlackBridge{Float64, MOI.VectorAffineFunction{Float64}, MOI.RotatedSecondOrderCone}` because:
[1] constrained variables in `MOI.RotatedSecondOrderCone` are not supported
Cannot use `MOIB.Constraint.RSOCBridge{Float64, MOI.VectorAffineFunction{Float64}, MOI.VectorAffineFunction{Float64}}` because:
(10) `MOI.VectorAffineFunction{Float64}`-in-`MOI.SecondOrderCone` constraints are not supported
Cannot use `MOIB.Constraint.RSOCtoPSDBridge{Float64, MOI.VectorAffineFunction{Float64}, MOI.VectorAffineFunction{Float64}}` because:
(17) `MOI.VectorAffineFunction{Float64}`-in-`MOI.PositiveSemidefiniteConeTriangle` constraints are not supported
(9) `MOI.VectorOfVariables`-in-`MOI.RotatedSecondOrderCone` constraints are not supported because:
Cannot use `MOIB.Constraint.VectorFunctionizeBridge{Float64, MOI.RotatedSecondOrderCone}` because:
(8) `MOI.VectorAffineFunction{Float64}`-in-`MOI.RotatedSecondOrderCone` constraints are not supported
Cannot use `MOIB.Constraint.RSOCBridge{Float64, MOI.VectorAffineFunction{Float64}, MOI.VectorOfVariables}` because:
(10) `MOI.VectorAffineFunction{Float64}`-in-`MOI.SecondOrderCone` constraints are not supported
Cannot use `MOIB.Constraint.RSOCtoPSDBridge{Float64, MOI.VectorAffineFunction{Float64}, MOI.VectorOfVariables}` because:
(17) `MOI.VectorAffineFunction{Float64}`-in-`MOI.PositiveSemidefiniteConeTriangle` constraints are not supported
(10) `MOI.VectorAffineFunction{Float64}`-in-`MOI.SecondOrderCone` constraints are not supported because:
Cannot use `MOIB.Constraint.VectorSlackBridge{Float64, MOI.VectorAffineFunction{Float64}, MOI.SecondOrderCone}` because:
[2] constrained variables in `MOI.SecondOrderCone` are not supported
Cannot use `MOIB.Constraint.SOCRBridge{Float64, MOI.VectorAffineFunction{Float64}, MOI.VectorAffineFunction{Float64}}` because:
(8) `MOI.VectorAffineFunction{Float64}`-in-`MOI.RotatedSecondOrderCone` constraints are not supported
(11) `MOI.VectorOfVariables`-in-`MOI.SecondOrderCone` constraints are not supported because:
Cannot use `MOIB.Constraint.VectorFunctionizeBridge{Float64, MOI.SecondOrderCone}` because:
(10) `MOI.VectorAffineFunction{Float64}`-in-`MOI.SecondOrderCone` constraints are not supported
Cannot use `MOIB.Constraint.SOCRBridge{Float64, MOI.VectorAffineFunction{Float64}, MOI.VectorOfVariables}` because:
(8) `MOI.VectorAffineFunction{Float64}`-in-`MOI.RotatedSecondOrderCone` constraints are not supported
(17) `MOI.VectorAffineFunction{Float64}`-in-`MOI.PositiveSemidefiniteConeTriangle` constraints are not supported because:
Cannot use `MOIB.Constraint.VectorSlackBridge{Float64, MOI.VectorAffineFunction{Float64}, MOI.PositiveSemidefiniteConeTriangle}` because:
[5] constrained variables in `MOI.PositiveSemidefiniteConeTriangle` are not supported
(18) `MOI.VectorOfVariables`-in-`MOI.PositiveSemidefiniteConeTriangle` constraints are not supported because:
Cannot use `MOIB.Constraint.VectorFunctionizeBridge{Float64, MOI.PositiveSemidefiniteConeTriangle}` because:
(17) `MOI.VectorAffineFunction{Float64}`-in-`MOI.PositiveSemidefiniteConeTriangle` constraints are not supported
Stacktrace:
[1] error(s::String)
@ Base ./error.jl:33
[2] moi_add_constraint(model::MathOptInterface.Utilities.CachingOptimizer{MathOptInterface.AbstractOptimizer, MathOptInterface.Utilities.UniversalFallback{MathOptInterface.Utilities.GenericModel{Float64, MathOptInterface.Utilities.ModelFunctionConstraints{Float64}}}}, f::MathOptInterface.ScalarQuadraticFunction{Float64}, s::MathOptInterface.EqualTo{Float64})
@ JuMP ~/.julia/packages/JuMP/b3hGi/src/constraints.jl:524
[3] add_constraint(model::Model, con::ScalarConstraint{QuadExpr, MathOptInterface.EqualTo{Float64}}, name::String)
@ JuMP ~/.julia/packages/JuMP/b3hGi/src/constraints.jl:559
[4] macro expansion
@ ~/.julia/packages/JuMP/b3hGi/src/macros.jl:677 [inlined]
[5] top-level scope
@ REPL[7]:1nickrobinson251
Metadata
Metadata
Assignees
Labels
Status: Help WantedHelp is welcome on this issueHelp is welcome on this issueType: Error MessagesCan be fixed with better error messageCan be fixed with better error messagegood first issueThis issue is recommended for new users, it does not require a thorough understanding of the packageThis issue is recommended for new users, it does not require a thorough understanding of the package