Add Batched{S} set
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Da chiarire
- Stato di attività
- Tranquilla
- Stack tecnologico
- julia
- Ambito
- backend-api-design
Direzione di ricerca
Inizia dagli entry point MOI.set, ConstraintSet e ConstraintIndex descritti nell’issue, quindi esamina come sono rappresentati i valori di Parameter e result_count. Il lavoro è completato quando il progetto ha concordato e implementato un approccio batched-set con lunghezze dei batch coerenti e il comportamento del risultato indicato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
@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
- Lingua principale
- Julia
- Stelle
- 506
- Fork
- 103
- Merge medio
- 1g 10m
- PR unite (30g)
- 12
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di jump-dev/MathOptInterface.jl
-
[Bridges] MultirowChange in set_map.jl drops zero coefficientsForse già presa @odow l’ha presa 5 giorni fa. Aperta
jump-dev/MathOptInterface.jl#3106 · 2 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
Precision loss in Hessian computationForse già presa @blegat l’ha presa 5 giorni fa. Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 15/100
jump-dev/MathOptInterface.jl#3104 · 11 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Layer instantiatorAperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
jump-dev/MathOptInterface.jl#2986 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
jump-dev/MathOptInterface.jl#2969 · 2 commenti · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
Performance problem with deeply nested nonlinear expressionsForse già presa @blegat l’ha presa 456 giorni fa. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
jump-dev/MathOptInterface.jl#3065 · 11 commenti ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di jump-dev/MathOptInterface.jl
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
bug help wanted
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
JuliaGeometry/Meshes.jl#1469 ·
I maintainer di solito rispondono entro 1 giorno
-
distributed 🕸️
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
CliMA/Oceananigans.jl#6295 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
CI: two jobs fail on the new ubuntu-latest (Ubuntu 26.04) runner imageForse già presa @bjarthur l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 63/100
mojaie/MolecularGraph.jl#151 ·