ScalarAffine sensitivity on a VectorAffine constraint
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 38/100
- Issue-Typ
- Bug
- Klarheit
- Muss geklärt werden
- Aktivitätsstatus
- Ruhig
- Tech-Stack
- julia
- Bereich
- backend-api-design
Rechercherichtung
Reproduziere das Julia-Beispiel im Issue, beginnend mit MOI.set und DiffOpt.forward_differentiate!. Lies den nachfolgenden Kontext in #287 und den darin verlinkten Kommentar, um den Fehler bei der ScalarAffine-Sensitivität für die VectorAffine-Nebenbedingung zu verstehen. Als abgeschlossen gilt die Aufgabe, wenn die gezeigte Differenzierungssequenz diesen Fall erfolgreich behandelt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Followup of #287
model = Model(() -> DiffOpt.diff_optimizer(SCS.Optimizer))
@variable(model, x[1:7])
@test num_variables(model) == 7
c1 = @constraint(model, -sum(x[i] for i in 1:6) + 10 ≥ 0)
c2 = [
@constraint(model, x[i] ≥ 0)
for i in 1:6
]
α = 0.8
δ = 0.9
c3 = @constraint(
model,
LinearAlgebra.Symmetric(hcat(
[((δ/2)*x[1] + α*x[2] + δ*x[3] + (δ/4)*x[4] + (δ/8)*x[5] - 1.0*x[7]) # a11
((-(δ/(2*√2)))*x[1] - (δ/4)*x[2] - (δ/(8*√2))*x[5])],
[((-(δ/(2*√2)))*x[1] - (δ/4)*x[2] - (δ/(8*√2))*x[5])
((δ/2)*x[1] + (δ - α)*x[2] + 0.0*x[3] + (δ/8)*x[5] + (δ/4)*x[6] - x[7])])
) in PSDCone()
)
@objective(model, Max, x[7])
optimize!(model)
MOI.set.(
model,
DiffOpt.ForwardConstraintFunction(),
c3,
sum(x) + 1,
)
DiffOpt.forward_differentiate!(model)
The issue is a ScalarAffine sensitivity on a VectorAffine constraint: https://github.com/jump-dev/DiffOpt.jl/pull/287#issuecomment-2816109383
- Vorherrschende Sprache
- Julia
- Sterne
- 146
- Forks
- 21
- Ø Merge
- 1 Std. 25 Min.
- Gemergte PRs (30 T.)
- 2
Entwicklungsumgebung
Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus jump-dev/DiffOpt.jl
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 55/100
jump-dev/DiffOpt.jl#362 · 1 Kommentar ·
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
jump-dev/DiffOpt.jl#358 · 2 Kommentare ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 55/100
jump-dev/DiffOpt.jl#348 ·
-
good first issue
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 48/100
jump-dev/DiffOpt.jl#336 · 4 Kommentare ·
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
jump-dev/DiffOpt.jl#331 · 1 Kommentar ·
Alle Issues in jump-dev/DiffOpt.jl
Ähnliche Issues
-
View of a view is brokenEvtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 85/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 67/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
JuliaPy/pyjuliapkg#102 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
JuliaMath/Polynomials.jl#641 ·