Benoît Legat
Benoît Legat
For implemented an operation `op` on polynomials, we are always tempted to do ```julia op(p::AbstractPolynomialLike, q::AbstractPolynomialLike) = op(promote(p, q)...) ``` and then only define `op` for two polynomials `p` and...
If a bridge adds a constraint that needs a bridge that `need_final_touch` then it will modify the `needs_final_touch` being iterated over https://github.com/jump-dev/MathOptInterface.jl/blob/95a73a074c08a2e46820cae4a6522b34de6bb460/src/Bridges/Constraint/map.jl#L321-L334 In that case, we might not call `final_touch`...
Updated list | Constraint Bridge | ConstraintPrimal | ConstraintDual | | ----------------- | ---------------- | -------------- | | GreaterToIntervalBridge | x | x | | LessToIntervalBridge | x | x...
The wrappers of nonlinear solvers like Ipopt and NLopt are quite complicated because the solvers only expect gradient, jacobian, hessian callbacks and they also support linear and quadratic objective and...
It was recently brought up on Gitter (both with @freemin7 on 29th of November, and with @chriscoey on 3rd of November). We could define a bridge `NumberConversionBridge{T,S}` converting constraints with...
```julia struct Box{T} lower::Vector{T} upper::Vector{T} end ``` which is a cartesian product if `Interval{T}` so `lower` and `upper` are allowed to have infinite values. This has been requested by @migarstka...
This is needed for Mosek as it uses the `Bridges.Constraint.ZeroOneBridge`.
We discussed with @ccoffrin, @harshangrjn and @kaarthiksundar about what the next-generation NLP could look like. Here is a gist of the idea: We create two new function types. First `NonlinearExpressionFunction`...
```julia julia> f = 1 * MOI.VariableIndex(1) MathOptInterface.ScalarAffineFunction{Int64}(MathOptInterface.ScalarAffineTerm{Int64}[MathOptInterface.ScalarAffineTerm{Int64}(1, MathOptInterface.VariableIndex(1))], 0) julia> g = 1.0 * f MathOptInterface.ScalarAffineFunction{Float64}(MathOptInterface.ScalarAffineTerm{Float64}[MathOptInterface.ScalarAffineTerm{Float64}(1.0, MathOptInterface.VariableIndex(1))], 0.0) julia> promote(f, g) ERROR: promotion of types MathOptInterface.ScalarAffineFunction{Int64} and MathOptInterface.ScalarAffineFunction{Float64} failed...
Document that solvers can rely on the fact that `MatrixOfConstraints` does not implement deletion of rows and columns and hence, the `OptimizerCache` can be done in a way such that...