[Bridges] MultirowChange in set_map.jl drops zero coefficients
Maintainer antworten meist innerhalb von 1 Tag
@odow arbeitet bereits daran.
Seit 16.10.2026.
Bewertung
Dieses Issue wurde noch nicht bewertet.
Beschreibung
The MOI.modify method for MultirowChange in src/Bridges/Constraint/set_map.jl drops zeros after mapping the new coefficients (the !iszero filter added in #2662). In both examples the variable is in one row, so the change is the whole column.
With JuMP and SCS the constraint goes through SetDotScalingBridge:
using JuMP, LinearAlgebra, SCS
model = Model(SCS.Optimizer)
set_silent(model)
@variable(model, x)
@constraint(model, x <= 2)
@constraint(model, c, Symmetric([1 x; x 1]) in PSDCone())
@objective(model, Max, x)
optimize!(model)
value(x) # 1.0
set_normalized_coefficient(c, x, [(2, 0.0)])
optimize!(model)
value(x) # still 1.0, should be 2.0
In MOI, this is test_modify_MultirowChange from test/Bridges/Constraint/test_NormOneConeToNormConeBridge.jl with 0.0 instead of 2.0:
import MathOptInterface as MOI
inner = MOI.Utilities.Model{Float64}()
model = MOI.Bridges.Constraint.NormOneConeToNormCone{Float64}(inner)
x = MOI.add_variables(model, 2)
c = MOI.add_constraint(model, MOI.Utilities.vectorize(1.0 .* x), MOI.NormOneCone(2))
MOI.modify(model, c, MOI.MultirowChange(x[2], [(2, 0.0)]))
MOI.get(model, MOI.ConstraintFunction(), c) # row 2 is still 1.0 x[2]
This is on MOI 1.54.0 and master, with JuMP 1.32.1 and SCS 2.7.0.
- Vorherrschende Sprache
- Julia
- Sterne
- 506
- Forks
- 103
- Ø Merge
- 1 T. 1 Std.
- Gemergte PRs (30 T.)
- 9
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/MathOptInterface.jl
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
jump-dev/MathOptInterface.jl#3113 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Precision loss in Hessian computationEvtl. vergeben @blegat hat das vor 7 Tagen übernommen. Offen
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 15/100
jump-dev/MathOptInterface.jl#3104 · 11 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
Layer instantiatorOffen
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
jump-dev/MathOptInterface.jl#2986 · 3 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
jump-dev/MathOptInterface.jl#2969 · 2 Kommentare · 1 Reaktion ·
Maintainer antworten meist innerhalb von 1 Tag
-
Add Batched{S} setOffenType: Set Request
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
jump-dev/MathOptInterface.jl#2904 · 15 Kommentare · 7 Reaktionen ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in jump-dev/MathOptInterface.jl
Ähnliche Issues
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 73/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 76/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
SciML/OrdinaryDiffEq.jl#4907 ·
Maintainer antworten meist innerhalb von 4 Tagen
-
documentation model-weights
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
FluxML/Metalhead.jl#311 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 83/100
JuliaMath/Polynomials.jl#647 ·