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