From 06621f1b36fee2833f54db9f685fd903530afd8c Mon Sep 17 00:00:00 2001 From: lb Date: Tue, 29 Aug 2023 15:29:37 +0200 Subject: [PATCH] add support for sparse axis arrays --- src/mcp.jl | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/mcp.jl b/src/mcp.jl index 8d23612..12d32a0 100644 --- a/src/mcp.jl +++ b/src/mcp.jl @@ -447,11 +447,15 @@ macro complementarity(m, F, var) else # isa($var, JuMP.JuMPArray) && length(($var).indexsets) == 1 or > 1 # when var is a multi-dimensional JuMP variable array - ex = :(Base.product()) - for i in 1:length($var.axes) - push!(ex.args, $var.axes[i]) - end - var_idx_list = collect(eval(ex)) + if isa($var,JuMP.Containers.SparseAxisArray) + var_idx_list = collect(keys($var.data)) + else + ex = :(Base.product()) + for i in 1:length($var.axes) + push!(ex.args, $var.axes[i]) + end + var_idx_list = collect(eval(ex)) + end if isa($F,JuMP.Containers.SparseAxisArray)