From cfff62e6d2dc9b624ae7a1833e29a43699d422c9 Mon Sep 17 00:00:00 2001
From: Michiel Cottaar <michiel.cottaar@ndcn.ox.ac.uk>
Date: Tue, 20 Feb 2024 19:01:01 +0000
Subject: [PATCH] apply constraints to NamedTuple variables

---
 src/variables.jl | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/variables.jl b/src/variables.jl
index 061e768..fdbbdd1 100644
--- a/src/variables.jl
+++ b/src/variables.jl
@@ -328,6 +328,11 @@ apply_simple_constraint!(variable, ::Val{:max}) = @objective global_model() Min
 apply_simple_constraint!(variable, value::VariableType) = @constraint global_model() variable == value
 apply_simple_constraint!(variable::AbstractVector, value::AbstractVector) = [apply_simple_constraint!(v1, v2) for (v1, v2) in zip(variable, value)]
 apply_simple_constraint!(variable::Number, value::Number) = @assert variable ≈ value "Variable set to multiple incompatible values."
+function apply_simple_constraint!(variable::NamedTuple, value::NamedTuple)
+    for key in keys(value)
+        apply_simple_constraint!(variable[key], value[key])
+    end
+end
 
 
 """
-- 
GitLab