Modifications
MathOptInterface.modify
— FunctionConstraint Function
modify(model::ModelLike, ci::ConstraintIndex, change::AbstractFunctionModification)
Apply the modification specified by change
to the function of constraint ci
.
An ModifyConstraintNotAllowed
error is thrown if modifying constraints is not supported by the model model
.
Examples
modify(model, ci, ScalarConstantChange(10.0))
Objective Function
modify(model::ModelLike, ::ObjectiveFunction, change::AbstractFunctionModification)
Apply the modification specified by change
to the objective function of model
. To change the function completely, call set
instead.
An ModifyObjectiveNotAllowed
error is thrown if modifying objectives is not supported by the model model
.
Examples
modify(model, ObjectiveFunction{ScalarAffineFunction{Float64}}(), ScalarConstantChange(10.0))
MathOptInterface.AbstractFunctionModification
— TypeAbstractFunctionModification
An abstract supertype for structs which specify partial modifications to functions, to be used for making small modifications instead of replacing the functions entirely.
MathOptInterface.ScalarConstantChange
— TypeScalarConstantChange{T}(new_constant::T)
A struct used to request a change in the constant term of a scalar-valued function. Applicable to ScalarAffineFunction
and ScalarQuadraticFunction
.
MathOptInterface.VectorConstantChange
— TypeVectorConstantChange{T}(new_constant::Vector{T})
A struct used to request a change in the constant vector of a vector-valued function. Applicable to VectorAffineFunction
and VectorQuadraticFunction
.
MathOptInterface.ScalarCoefficientChange
— TypeScalarCoefficientChange{T}(variable::VariableIndex, new_coefficient::T)
A struct used to request a change in the linear coefficient of a single variable in a scalar-valued function. Applicable to ScalarAffineFunction
and ScalarQuadraticFunction
.
MathOptInterface.MultirowChange
— TypeMultirowChange{T}(variable::VariableIndex, new_coefficients::Vector{Tuple{Int64, T}})
A struct used to request a change in the linear coefficients of a single variable in a vector-valued function. New coefficients are specified by (output_index, coefficient)
tuples. Applicable to VectorAffineFunction
and VectorQuadraticFunction
.