POI failing with Clarabel
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 52/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Tranquilla
- Stack tecnologico
- julia
- Ambito
- backend-api-design
Direzione di ricerca
Esegui prima il riproduttore Julia con POI.Optimizer, MOI.optimize! e SCS per confermare il fallimento durante la seconda ottimizzazione. Traccia il percorso di aggiornamento dei parametri fino a modify_constants(::SCS._SetConstants, ...) e determina perché l'aggiornamento viene rifiutato. Il lavoro è completato quando la modifica di POI.ParameterValue e una nuova ottimizzazione hanno esito positivo senza ModifyConstraintNotAllowed.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Observed in this environment:
Julia=1.10.1
POI=0.14.2
MOI=1.49.0
SCS=2.6.1
import MathOptInterface as MOI
import ParametricOptInterface as POI
using SCS
inner = MOI.instantiate(SCS.Optimizer; with_bridge_type = Float64, with_cache_type = Float64)
model = POI.Optimizer(inner)
MOI.set(model, MOI.Silent(), true)
x = MOI.add_variable(model)
p, _ = MOI.add_constrained_variable(model, MOI.Parameter(1.0))
f = MOI.ScalarAffineFunction(
[MOI.ScalarAffineTerm(1.0, x), MOI.ScalarAffineTerm(-1.0, p)],
0.0,
)
MOI.add_constraint(model, f, MOI.EqualTo(0.0))
MOI.set(model, MOI.ObjectiveSense(), MOI.MIN_SENSE)
MOI.set(
model,
MOI.ObjectiveFunction{MOI.ScalarAffineFunction{Float64}}(),
MOI.ScalarAffineFunction([MOI.ScalarAffineTerm(1.0, x)], 0.0),
)
println("first optimize")
MOI.optimize!(model)
println("x=", MOI.get(model, MOI.VariablePrimal(), x), " p=", MOI.get(model, POI.ParameterValue(), p))
MOI.set(model, POI.ParameterValue(), p, 2.0)
println("second optimize")
MOI.optimize!(model) # Fails here with ModifyConstraintNotAllowed + modify_constants(::SCS._SetConstants, ...)
- Lingua principale
- Julia
- Stelle
- 49
- Fork
- 8
- Merge medio
- 22h 26m
- PR unite (30g)
- 2
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/ParametricOptInterface.jl
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 28/100
jump-dev/ParametricOptInterface.jl#192 · 20 commenti ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
jump-dev/ParametricOptInterface.jl#71 · 8 commenti · 3 reazioni ·
Tutte le issue di jump-dev/ParametricOptInterface.jl
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 73/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 76/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
SciML/OrdinaryDiffEq.jl#4907 ·
I maintainer di solito rispondono entro 4 giorni
-
documentation model-weights
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
FluxML/Metalhead.jl#311 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
jump-dev/MathOptInterface.jl#3113 ·
I maintainer di solito rispondono entro 1 giorno