jump-dev / jump-dev/MathOptInterface.jl

MatrixOfConstraints and IndexMap

Abierto
#1,772 6 comentarios 0 reacciones 0 asignados Ver en GitHub
Submodule: Utilities
Lenguaje dominante
Julia
Estrellas
504
Forks
101
Merge medio
6 h 26 min
PR fusionados (30 d)
22

Descripción

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 the index map is identity.

When using `OrderedProductOfSets`, the solver will need to keep the product of set as a field after `copy_to` to handle the mapping of indices to ranges, such mapping is needed for conic solvers anyway.

For linear solvers, there is also the choice of using `MixOfScalarSets` for which the mapping is trivial so no need to keep the product of set as a field.

Since that would make many solvers use `identity_index_map`, it gives incentive to make this function cheaper. One option is to make `CleverDict` even more clever with a bool `is_identity` and only start using `vector` when the mapping starts being non-trivial. That would also benefit to solvers not using `identity_index_map` but for which the mapping is trivial most of the time.

See https://github.com/jump-dev/Cbc.jl/pull/189#discussion_r818105943

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.