Add Batched{S} set
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
- 35/100
- Type d'issue
- Fonctionnalité
- Clarté
- À clarifier
- Activité
- Calme
- Stack technique
- julia
- Domaine
- backend-api-design
Piste de recherche
Commencez par les points d’entrée MOI.set, ConstraintSet et ConstraintIndex décrits dans l’issue, puis examinez la représentation des valeurs de Parameter et de result_count. Le travail est terminé lorsque le projet s’est accordé sur une approche de mise en lot avec des longueurs de lots cohérentes et le comportement de résultat indiqué, et l’a implémentée.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
@amontoison wants this. There are also some folks in the GPU/cvxpy domain sniffing around this (https://github.com/cvxpy/cvxpy/issues/2485).
We have almost everything we need. There's just a choice between two approaches.
First, we could set the value of Parameter to a vector of sets:
MOI.set(
::Optimizer,
::MOI.ConstraintSet,
::MOI.ConstraintIndex{MOI.VariableIndex,MOI.Parameter{T}},
::Vector{MOI.Parameter{T}},
)
But this might be hard to get through the various MOI layers.
The easier alternative is to add a new Batched{S<:MOI.AbstractSet} set.
If there are multiple batched sets, they all must have the same length. Then the results are returned via result_count and we don't support returning multiple solutions within a batch.
Then a solver could choose to natively support batched parameters. And we could have a fallback optimizer like:
using JuMP
import Ipopt
import MathOptBatchOptimizer as MOBO
model = Model(() -> MOBO.Optimizer(Ipopt.Optimizer))
@variable(model, x)
@variable(model, p in Parameter(1))
set_parameter_value(p, 1:100) # <-- set as a vector, not a scalar
@objective(model, Min, x)
@constraint(model, x >= p)
optimize!(model)
@assert result_count(model) == 100
- 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 4 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 5 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
-
Performance problem with deeply nested nonlinear expressionsPeut-être pris @blegat l’a pris il y a 456 jours. Ouverte
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
jump-dev/MathOptInterface.jl#3065 · 11 commentaires ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de jump-dev/MathOptInterface.jl
Issues similaires
-
View of a view is brokenPeut-être pris Une pull request liée à cette issue est ouverte ou déjà fusionnée. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 85/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 67/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
JuliaPy/pyjuliapkg#102 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
JuliaMath/Polynomials.jl#641 ·