@@ -9,7 +9,7 @@ function model_fixed_cgc(optimizer, auxdata)
99 A = auxdata. edges. A
1010 Apos = auxdata. edges. Apos
1111 Aneg = auxdata. edges. Aneg
12- Lj = param . Lj
12+ Lj = graph . Lj
1313 m = param. m # 1:param.N: Vector of weights on each goods flow for aggregate congestion term
1414 psigma = (param. sigma - 1 ) / param. sigma
1515 beta_nu = (param. beta + 1 ) / param. nu
@@ -30,19 +30,19 @@ function model_fixed_cgc(optimizer, auxdata)
3030 set_parameter_value .(kappa_ex, kappa_ex_init)
3131
3232 # Defining Utility Funcion: from cj + parameters (by operator overloading)
33- @expression (model, uj, ((cj / param. alpha) .^ param. alpha .* (param . hj / (1 - param. alpha)) .^ (1 - param. alpha)) .^ (1 - param. rho) / (1 - param. rho))
34- @expression (model, U, sum (param . omegaj .* param . Lj .* uj)) # Overall Utility
33+ @expression (model, uj, ((cj / param. alpha) .^ param. alpha .* (graph . hj / (1 - param. alpha)) .^ (1 - param. alpha)) .^ (1 - param. rho) / (1 - param. rho))
34+ @expression (model, U, sum (graph . omegaj .* graph . Lj .* uj)) # Overall Utility
3535 @objective (model, Max, U)
3636
3737 # Create the matrix B_direct (resp. B_indirect) of transport cost along the direction of the edge (resp. in edge opposite direction)
3838 B_direct = @expression (model, ((Qin_direct .^ param. nu) * m) .^ beta_nu ./ kappa_ex)
3939 B_indirect = @expression (model, ((Qin_indirect .^ param. nu) * m) .^ beta_nu ./ kappa_ex)
4040 # Final good constraints
4141 @expression (model, Dj, sum (Djn .^ psigma, dims= 2 ) .^ (1 / psigma))
42- @constraint (model, cj .* param . Lj + Apos * B_direct + Aneg * B_indirect - Dj .<= - 1e-8 )
42+ @constraint (model, cj .* graph . Lj + Apos * B_direct + Aneg * B_indirect - Dj .<= - 1e-8 )
4343
4444 # Balanced flow constraints
45- @expression (model, Yjn, param . Zjn .* (Ljn .^ param. a))
45+ @expression (model, Yjn, graph . Zjn .* (Ljn .^ param. a))
4646 @constraint (model, Pjn, Djn + A * Qin_direct - A * Qin_indirect - Yjn .<= - 1e-8 )
4747
4848 # Local labor availability constraints ( sum Ljn <= Lj )
@@ -61,12 +61,12 @@ function recover_allocation_fixed_cgc(model, auxdata)
6161 results[:Yjn ] = value .(model_dict[:Yjn ])
6262 results[:Yj ] = dropdims (sum (results[:Yjn ], dims= 2 ), dims = 2 )
6363 results[:Ljn ] = value .(model_dict[:Ljn ])
64- results[:Lj ] = param . Lj
64+ results[:Lj ] = graph . Lj
6565 results[:Djn ] = value .(model_dict[:Djn ]) # Consumption per good pre-transport cost
6666 results[:Dj ] = dropdims (value .(model_dict[:Dj ]), dims = 2 )
6767 results[:cj ] = value .(model_dict[:cj ])
68- results[:Cj ] = results[:cj ] .* param . Lj
69- results[:hj ] = ifelse .(results[:Lj ] .== 0 , 0.0 , param . Hj ./ results[:Lj ])
68+ results[:Cj ] = results[:cj ] .* graph . Lj
69+ results[:hj ] = ifelse .(results[:Lj ] .== 0 , 0.0 , graph . Hj ./ results[:Lj ])
7070 results[:uj ] = value .(model_dict[:uj ])
7171 # Prices
7272 results[:Pjn ] = shadow_price .(model_dict[:Pjn ])
0 commit comments