Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

POI failing with Clarabel

Aperta
#201 17 commenti 0 reazioni 0 assegnatari Vedi su GitHub

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

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

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di jump-dev/ParametricOptInterface.jl

Tutte le issue di jump-dev/ParametricOptInterface.jl

Issue simili

Altre issue su Julia

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.