Convex.jl: How to print full variable ID

I’m trying to debug an issue with the formulation of an optimization problem using Convex.jl, and I got the following tree print of a constraint (using Convex.MAXDEPTH[] = 12 and Convex.MAXWIDTH[] = 120), but all the “real variable id” are abbreviated to 155...166. I would like to know if those IDs are all the same; is there a way to print the ID in full?

Example tree print:

│    │  ├─ qol_elem (convex; positive)
│    │  │  ├─ + (affine; real)
│    │  │  │  ├─ * (affine; real)
│    │  │  │  │  ├─ 0.5
│    │  │  │  │  └─ + (affine; real)
│    │  │  │  │     ├─ index (affine; real)
│    │  │  │  │     │  └─ index (affine; real)
│    │  │  │  │     │     └─ reshape (affine; real)
│    │  │  │  │     │        └─ * (affine; real)
│    │  │  │  │     │           ├─ 23716×19686 SparseArrays.SparseMatrixCSC{Float64,Int64}
│    │  │  │  │     │           └─ index (affine; real)
│    │  │  │  │     │              └─ reshape (affine; real)
│    │  │  │  │     │                 └─ 154×154 real variable (id: 155…166)
│    │  │  │  │     ├─ index (affine; real)
│    │  │  │  │     │  └─ index (affine; real)
│    │  │  │  │     │     └─ reshape (affine; real)
│    │  │  │  │     │        └─ * (affine; real)
│    │  │  │  │     │           ├─ 23716×19686 SparseArrays.SparseMatrixCSC{Float64,Int64}
│    │  │  │  │     │           └─ index (affine; real)
│    │  │  │  │     │              └─ reshape (affine; real)
│    │  │  │  │     │                 └─ 154×154 real variable (id: 155…166)
│    │  │  │  │     ├─ index (affine; real)
│    │  │  │  │     │  └─ index (affine; real)
│    │  │  │  │     │     └─ reshape (affine; real)
│    │  │  │  │     │        └─ * (affine; real)
│    │  │  │  │     │           ├─ 23716×19686 SparseArrays.SparseMatrixCSC{Float64,Int64}
│    │  │  │  │     │           └─ index (affine; real)
│    │  │  │  │     │              └─ reshape (affine; real)
│    │  │  │  │     │                 └─ 154×154 real variable (id: 155…166)
│    │  │  │  │     └─ index (affine; real)
│    │  │  │  │        └─ index (affine; real)
│    │  │  │  │           └─ reshape (affine; real)
│    │  │  │  │              └─ * (affine; real)
│    │  │  │  │                 ├─ 23716×19686 SparseArrays.SparseMatrixCSC{Float64,Int64}
│    │  │  │  │                 └─ index (affine; real)
│    │  │  │  │                    └─ reshape (affine; real)
│    │  │  │  │                       └─ 154×154 real variable (id: 155…166)
│    │  │  │  └─ -25.4551

Looking at the sources, this seems to be hard-coded; I have opened a PR to make this settable:
https://github.com/JuliaOpt/Convex.jl/pull/379

1 Like