Benoît Legat

Results 290 issues of 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`...

Submodule: Bridges

Updated list | Constraint Bridge | ConstraintPrimal | ConstraintDual | | ----------------- | ---------------- | -------------- | | GreaterToIntervalBridge | x | x | | LessToIntervalBridge | x | x...

Submodule: Bridges

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...

Project: next-gen nonlinear support

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...

Submodule: Bridges
Project: generic number support

```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...

Type: Set Request

This is needed for Mosek as it uses the `Bridges.Constraint.ZeroOneBridge`.

Submodule: Bridges

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`...

Project: next-gen nonlinear support

```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...

Project: generic number support

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...

Submodule: Utilities