[Bridges] MultirowChange in set_map.jl drops zero coefficients
Maintainer thường phản hồi trong vòng 1 ngày
@odow đang làm issue này rồi.
Từ ngày 16/10/2026.
Đánh giá
Issue này chưa được đánh giá.
Mô tả
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.
- Ngôn ngữ chính
- Julia
- Star
- 506
- Fork
- 103
- Merge trung bình
- 1 ngày 1 giờ
- Pull request đã merge (30 ngày)
- 9
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của jump-dev/MathOptInterface.jl
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
jump-dev/MathOptInterface.jl#3113 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Precision loss in Hessian computationCó thể đã có người làm @blegat đã nhận 7 ngày trước. Đang mở
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 15/100
jump-dev/MathOptInterface.jl#3104 · 11 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Layer instantiatorĐang mở
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
jump-dev/MathOptInterface.jl#2986 · 3 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Differentiable Optimization APIĐang mở
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
jump-dev/MathOptInterface.jl#2969 · 2 bình luận · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Add Batched{S} setĐang mởType: Set Request
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
jump-dev/MathOptInterface.jl#2904 · 15 bình luận · 7 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của jump-dev/MathOptInterface.jl
Issue tương tự
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 73/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 76/100
-
documentation model-weights
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
FluxML/Metalhead.jl#311 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 83/100
JuliaMath/Polynomials.jl#647 ·
-
reactant ☣
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 79/100
NumericalEarth/Breeze.jl#1110 ·
Maintainer thường phản hồi trong vòng 1 ngày