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

Differentiation of problems with Almost Locally Solved termination status

Aperta
#336 4 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
48/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla
Stack tecnologico
julia
Ambito
tooling

Direzione di ricerca

Esegui prima l'esempio minimo funzionante di Julia, quindi traccia DiffOpt.forward_differentiate! e la gestione dello stato di terminazione Almost Locally Solved. Il lavoro è completato quando l'esempio completa con successo la differenziazione in avanti per quello stato.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

good first issue

DiffOpt seems to not suppoer problems with the termination status Almost Locally Solved. Below is a minimum working example.

using JuMP
using Ipopt
using DiffOpt

# Create differentiable model with loose tolerances
diff_optimizer = optimizer_with_attributes(
    Ipopt.Optimizer,
    "print_level" => 3,
    "tol" => 1e-2,
    "acceptable_tol" => 1e-1,
    "max_iter" => 5,
    "acceptable_iter" => 2
)

model = Model(() -> DiffOpt.diff_optimizer(diff_optimizer))

# Decision variables
@variable(model, x >= 0)
@variable(model, y >= 0)

# Parameters (weights in objective)
w = [0.1, 0.1]  # Initial parameter values
weight = w
weight = JuMP.@variable(
    model,
    [j in keys(w)] in MOI.Parameter(w[j]),
    base_name = "weight")

@constraint(model, x + y >= 10)
@constraint(model, 2x + y >= 15)

@objective(model, Min, weight[1]*x + weight[2]*y)

optimize!(model)

println("\nStatus: $(termination_status(model))")

for (i, key) in enumerate(keys(weight))
    perturbation = i
    DiffOpt.set_forward_parameter(model, weight[key], perturbation)
end

# Solve perturbed problem
optimize!(model)

# Compute forward derivatives
DiffOpt.forward_differentiate!(model)


Lingua principale
Julia
Stelle
146
Fork
21
Merge medio
1h 25m
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/DiffOpt.jl

Tutte le issue di jump-dev/DiffOpt.jl

Issue simili

Altre issue su Julia

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.