Mathieu Tanneau

Results 52 comments of Mathieu Tanneau

> I wrote this function to easily print out conflicting constraints I use this: ```julia """ print_conflict!(model) Compute and print a conflict for an infeasible `model`. """ function print_conflict!(model) JuMP.compute_conflict!(model)...

Again for pointers: * [COSMO](https://github.com/oxfordcontrol/COSMO.jl/blob/master/src/kktsolver_pardiso.jl) * [MadNLP](https://github.com/sshin23/MadNLP.jl/blob/master/src/LinearSolvers/pardiso.jl) * [Hypatia](https://github.com/chriscoey/Hypatia.jl/blob/master/src/linearalgebra/Pardiso.jl)

I am a little uncomfortable with doing this. If, for some reason, `T` is a mutable type, then we end up with the same reference in two different places in...

Now that I write this, I realize that the code underlying `tzeros` and `tones` does just that... and it's used extensively throughout Tulip. https://github.com/ds4dm/Tulip.jl/blob/2b055fd48424f7e39a9c419cffe1c4e8f4e43832/src/utils.jl#L27-L28 šŸ¤”

@nsajko have you seen the [`MutableArithmetics`](https://github.com/jump-dev/MutableArithmetics.jl/) package? they have done a lot of work to speed-up some operations (especially linear algebra) when the eltype is mutable. There may be tricks...

You don't need to procure a license if you use `MUMPS_jll` (which I would recommend). For pointers: https://github.com/sshin23/MadNLP.jl/tree/master/src/LinearSolvers They have an interface for MUMPS, similar to what would be needed...

I think it makes sense to eventually break things off into smaller packages, especially if several projects use it. At this point, Tulip's presolve is almost self-contained in `src/Presolve`. It...

Internally, the presolve code works with an LP representation ``` min c'x + cā‚€ s.t. lr ≤ Ax ≤ ur lc ≤ x ≤ uc ``` where `A` is stored...

I suggest we take the discussion over to... 🚧 [MathOptPresolve.jl](https://github.com/mtanneau/MathOptPresolve.jl) 🚧

First of all: thanks for using Tulip (or at least trying) :) The occurs because JuMP (always) builds problems in `Float64` arithmetic, while a `Tulip.Optimizer{BigFloat}` requires `BigFloat` input. Unless you're...