MatrixOfConstraints and IndexMap
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 25/100
- Type d'issue
- Documentation
- Clarté
- Plutôt claire
- Activité
- À l'abandon
- Stack technique
- julia
- Domaine
- backend-api-design, performance
Piste de recherche
Commencez par examiner les relations entre MatrixOfConstraints, OptimizerCache, OrderedProductOfSets, copy_to, identity_index_map, MixOfScalarSets et CleverDict, puis lisez la discussion Cbc.jl liée. Le travail est considéré comme terminé lorsque les hypothèses du solver concernant les index-maps et la gestion proposée des ensembles produits et des mappings d’identité sont documentées, et que le périmètre de l’implémentation est convenu.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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
- Langage dominant
- Julia
- Étoiles
- 506
- Forks
- 103
- Merge moyen
- 1 j 10 min
- PR mergées (30 j)
- 12
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de jump-dev/MathOptInterface.jl
-
[Bridges] MultirowChange in set_map.jl drops zero coefficientsPeut-être pris @odow l’a pris il y a 6 jours. Ouverte
jump-dev/MathOptInterface.jl#3106 · 2 commentaires · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
-
Precision loss in Hessian computationPeut-être pris @blegat l’a pris il y a 7 jours. Ouverte
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 15/100
jump-dev/MathOptInterface.jl#3104 · 11 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Layer instantiatorOuverte
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
jump-dev/MathOptInterface.jl#2986 · 3 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Differentiable Optimization APIOuverte
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
jump-dev/MathOptInterface.jl#2969 · 2 commentaires · 1 réaction ·
Les mainteneurs répondent en général sous 1 jour
-
Add Batched{S} setOuverteType: Set Request
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
jump-dev/MathOptInterface.jl#2904 · 15 commentaires · 7 réactions ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de jump-dev/MathOptInterface.jl
Issues similaires
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 83/100
JuliaMath/Polynomials.jl#647 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
OpenSourceAWE/SymbolicAWEModels.jl#431 ·
Les mainteneurs répondent en général sous 1 jour
-
Make PDAQP an optional extraOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 66/100
-
`@fastmath` reductions are 2–5× slower: no `neutral_element` for `Base.FastMath.max_fast` and co.Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 86/100
JuliaGPU/GPUArrays.jl#833 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 89/100
Les mainteneurs répondent en général sous 4 jours