Simplex solver

You can do all of this in JuMP, but it requires basic expertise in Julia and JuMP.
To change coefficients of constraints, you can wrap the model into a function and then use a loop that builds function for different sets of data before calling optimize!. Check a similar question here

You can add new variables and constraints to a model. Check the example given in the documentation:
https://jump.dev/JuMP.jl/stable/variables/

function add_component_to_model(model::JuMP.Model)
    x = model[:x]
    # ... code that uses x
end
function build_model()
    model = Model()
    @variable(model, x)
    add_component_to_model(model)
end
2 Likes