@@ -164,16 +164,16 @@ end
164164Construct the appropriate model based on the parameters and auxiliary data.
165165
166166# Arguments
167- - `param`: A named tuple containing the model parameters.
168167- `auxdata`: Auxiliary data required for constructing the model.
169168
170169# Returns
171170- `model`: The constructed model.
172171- `recover_allocation`: A function to recover the allocation from the model solution.
173172"""
174- function get_model (param, auxdata)
173+ function get_model (auxdata)
174+ param = auxdata. param
175+ graph = auxdata. graph
175176 optimizer = get (param, :optimizer , Ipopt. Optimizer)
176- param = dict_to_namedtuple (param)
177177
178178 if haskey (param, :model )
179179 model = param. model (optimizer, auxdata)
@@ -182,47 +182,47 @@ function get_model(param, auxdata)
182182 end
183183 recover_allocation = param. recover_allocation
184184 elseif param. mobility == 1 && param. cong
185- if all (sum (param . Zjn .> 0 , dims = 2 ) .<= 1 ) # Armington case
185+ if all (sum (graph . Zjn .> 0 , dims = 2 ) .<= 1 ) # Armington case
186186 model = model_mobility_cgc_armington (optimizer, auxdata)
187187 recover_allocation = recover_allocation_mobility_cgc_armington
188188 else
189189 model = model_mobility_cgc (optimizer, auxdata)
190190 recover_allocation = recover_allocation_mobility_cgc
191191 end
192192 elseif param. mobility == 0.5 && param. cong
193- if all (sum (param . Zjn .> 0 , dims = 2 ) .<= 1 ) # Armington case
193+ if all (sum (graph . Zjn .> 0 , dims = 2 ) .<= 1 ) # Armington case
194194 model = model_partial_mobility_cgc_armington (optimizer, auxdata)
195195 recover_allocation = recover_allocation_partial_mobility_cgc_armington
196196 else
197197 model = model_partial_mobility_cgc (optimizer, auxdata)
198198 recover_allocation = recover_allocation_partial_mobility_cgc
199199 end
200200 elseif param. mobility == 0 && param. cong
201- if all (sum (param . Zjn .> 0 , dims = 2 ) .<= 1 ) # Armington case
201+ if all (sum (graph . Zjn .> 0 , dims = 2 ) .<= 1 ) # Armington case
202202 model = model_fixed_cgc_armington (optimizer, auxdata)
203203 recover_allocation = recover_allocation_fixed_cgc_armington
204204 else
205205 model = model_fixed_cgc (optimizer, auxdata)
206206 recover_allocation = recover_allocation_fixed_cgc
207207 end
208208 elseif param. mobility == 1 && ! param. cong
209- if all (sum (param . Zjn .> 0 , dims = 2 ) .<= 1 ) # Armington case
209+ if all (sum (graph . Zjn .> 0 , dims = 2 ) .<= 1 ) # Armington case
210210 model = model_mobility_armington (optimizer, auxdata)
211211 recover_allocation = recover_allocation_mobility_armington
212212 else
213213 model = model_mobility (optimizer, auxdata)
214214 recover_allocation = recover_allocation_mobility
215215 end
216216 elseif param. mobility == 0.5 && ! param. cong
217- if all (sum (param . Zjn .> 0 , dims = 2 ) .<= 1 ) # Armington case
217+ if all (sum (graph . Zjn .> 0 , dims = 2 ) .<= 1 ) # Armington case
218218 model = model_partial_mobility_armington (optimizer, auxdata)
219219 recover_allocation = recover_allocation_partial_mobility_armington
220220 else
221221 model = model_partial_mobility (optimizer, auxdata)
222222 recover_allocation = recover_allocation_partial_mobility
223223 end
224224 elseif param. mobility == 0 && ! param. cong
225- if all (sum (param . Zjn .> 0 , dims = 2 ) .<= 1 ) # Armington case
225+ if all (sum (graph . Zjn .> 0 , dims = 2 ) .<= 1 ) # Armington case
226226 model = model_fixed_armington (optimizer, auxdata)
227227 recover_allocation = recover_allocation_fixed_armington
228228 elseif param. beta <= 1 && param. a < 1 && param. duality
0 commit comments