[Bridges] MultirowChange in set_map.jl drops zero coefficients
Les mainteneurs répondent en général sous 1 jour
@odow y travaille déjà.
Depuis le 16/10/2026.
Évaluation
Cette issue n'a pas encore été évaluée.
Description
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.
- Langage dominant
- Julia
- Étoiles
- 506
- Forks
- 103
- Merge moyen
- 1 j 1 h
- PR mergées (30 j)
- 9
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de jump-dev/MathOptInterface.jl
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
jump-dev/MathOptInterface.jl#3113 ·
Les mainteneurs répondent en général sous 1 jour
-
Precision loss in Hessian computationPeut-être pris @blegat l’a pris il y a 7 jours. Ouverte
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 15/100
jump-dev/MathOptInterface.jl#3104 · 11 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Layer instantiatorOuverte
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
jump-dev/MathOptInterface.jl#2986 · 3 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Differentiable Optimization APIOuverte
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
jump-dev/MathOptInterface.jl#2969 · 2 commentaires · 1 réaction ·
Les mainteneurs répondent en général sous 1 jour
-
Add Batched{S} setOuverteType: Set Request
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
jump-dev/MathOptInterface.jl#2904 · 15 commentaires · 7 réactions ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de jump-dev/MathOptInterface.jl
Issues similaires
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 73/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 76/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
SciML/OrdinaryDiffEq.jl#4907 ·
Les mainteneurs répondent en général sous 4 jours
-
documentation model-weights
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
FluxML/Metalhead.jl#311 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 83/100
JuliaMath/Polynomials.jl#647 ·