Skip to content

Latest commit

 

History

History
156 lines (132 loc) · 2.53 KB

standard_form.md

File metadata and controls

156 lines (132 loc) · 2.53 KB
CurrentModule = MathOptInterface
DocTestSetup = quote
    import MathOptInterface as MOI
end
DocTestFilters = [r"MathOptInterface|MOI"]

Standard form

Functions

AbstractFunction
output_dimension
constant

Scalar functions

AbstractScalarFunction
VariableIndex
ScalarAffineTerm
ScalarAffineFunction
ScalarQuadraticTerm
ScalarQuadraticFunction
ScalarNonlinearFunction

Vector functions

AbstractVectorFunction
VectorOfVariables
VectorAffineTerm
VectorAffineFunction
VectorQuadraticTerm
VectorQuadraticFunction
VectorNonlinearFunction

Sets

AbstractSet
AbstractScalarSet
AbstractVectorSet

Utilities

dimension
dual_set
dual_set_type
constant(s::EqualTo)
supports_dimension_update
update_dimension

Scalar sets

List of recognized scalar sets.

GreaterThan
LessThan
EqualTo
Interval
Integer
ZeroOne
Semicontinuous
Semiinteger
Parameter

Vector sets

List of recognized vector sets.

Reals
Zeros
Nonnegatives
Nonpositives
NormInfinityCone
NormOneCone
NormCone
SecondOrderCone
RotatedSecondOrderCone
GeometricMeanCone
ExponentialCone
DualExponentialCone
PowerCone
DualPowerCone
RelativeEntropyCone
NormSpectralCone
NormNuclearCone
SOS1
SOS2
Indicator
Complements
HyperRectangle
Scaled

Constraint programming sets

AllDifferent
BinPacking
Circuit
CountAtLeast
CountBelongs
CountDistinct
CountGreaterThan
Cumulative
Path
Reified
Table

Matrix sets

Matrix sets are vectorized to be subtypes of AbstractVectorSet.

For sets of symmetric matrices, storing both the (i, j) and (j, i) elements is redundant. Use the AbstractSymmetricMatrixSetTriangle set to represent only the vectorization of the upper triangular part of the matrix.

When the matrix of expressions constrained to be in the set is not symmetric, and hence additional constraints are needed to force the equality of the (i, j) and (j, i) elements, use the AbstractSymmetricMatrixSetSquare set.

The Bridges.Constraint.SquareBridge can transform a set from the square form to the triangular_form by adding appropriate constraints if the (i, j) and (j, i) expressions are different.

AbstractSymmetricMatrixSetTriangle
AbstractSymmetricMatrixSetSquare
side_dimension
triangular_form

List of recognized matrix sets.

PositiveSemidefiniteConeTriangle
PositiveSemidefiniteConeSquare
HermitianPositiveSemidefiniteConeTriangle
LogDetConeTriangle
LogDetConeSquare
RootDetConeTriangle
RootDetConeSquare