From 7079d229e76ff74420f56eba47edaf36ff367002 Mon Sep 17 00:00:00 2001 From: "St. Elmo" <stelmozors@gmail.com> Date: Thu, 6 May 2021 10:25:32 +0200 Subject: [PATCH] changed coupling extension --- src/base/solver.jl | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/src/base/solver.jl b/src/base/solver.jl index 56d67f7b3..3cb5c5bd4 100644 --- a/src/base/solver.jl +++ b/src/base/solver.jl @@ -20,23 +20,10 @@ function make_optimization_model(model::MetabolicModel, optimizer; sense = MOI.M @constraint(optimization_model, lbs, xl .<= x) # lower bounds @constraint(optimization_model, ubs, x .<= xu) # upper bounds - return optimization_model -end - -function make_optimization_model(model::CoreModelCoupled, optimizer; sense = MOI.MAX_SENSE) - # coupled models have specific structure - m, n = size(stoichiometry(model)) - xl, xu = bounds(model) + C = coupling(model) # empty if no coupling cl, cu = coupling_bounds(model) - - optimization_model = COBREXA.JuMP.Model(optimizer) - @variable(optimization_model, x[i = 1:n]) - @objective(optimization_model, sense, objective(model)' * x) - @constraint(optimization_model, mb, stoichiometry(model) * x .== balance(model)) # mass balance - @constraint(optimization_model, lbs, xl .<= x) # lower bounds - @constraint(optimization_model, ubs, x .<= xu) # upper bounds - @constraint(optimization_model, c_lbs, cl .<= coupling(model) * x) # coupling lower bounds - @constraint(optimization_model, c_ubs, coupling(model) * x .<= cu) # coupling upper bounds + isempty(C) || @constraint(optimization_model, c_lbs, cl.<= coupling(model)*x) # coupling lower bounds + isempty(C) || @constraint(optimization_model, c_ubs, coupling(model)*x .<= cu) # coupling upper bounds return optimization_model end -- GitLab