Skip to content

Column generation #2004

@dourouc05

Description

@dourouc05

For now, if you want to use column generation, the common advice seems to be staying on JuMP 0.18. I will need this feature in the near future, and I'm not willing to go back to an old JuMP.

In MOI, everything seems plumbed (https://github.com/JuliaOpt/MathOptInterface.jl/blob/master/docs/src/apimanual.md#column-generation). If I'm not mistaken, what would be required in JuMP? The old interface was just inside @variable (https://github.com/JuliaOpt/JuMP.jl/blob/v0.18.6/doc/probmod.rst):

@variable(m, 0 <= z <= 1, objective = 10, inconstraints = [con], coefficients = [1.0])

Would there be any problem to carry over this notation? Maybe inconstraints and coefficients could be merged in a dictionary, so that the generation of the coefficients would be simpler (you would have dict[constraint] = coeff instead of updating two lists: push!(ls, constraint) and push!(lc, coeff)).

Is there any design considerations before I sketch something? I could not find anything in this repository or on Discourse.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions