Skip to content

Commit bdbb84f

Browse files
committed
Using 1.5 as default value for nu (eta), adding uprimeinvprime, and enabling duality by default.
1 parent 226419d commit bdbb84f

1 file changed

Lines changed: 5 additions & 4 deletions

File tree

src/main/init_parameters.jl

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ Returns a `param` dict with the model parameters. These are independent of the g
1616
- `N::Int64=1`: Number of goods traded in the economy (used for checks in `create_graph()`)
1717
- `labor_mobility::Any=false`: Switch for labor mobility (true/false or 'partial')
1818
- `cross_good_congestion::Bool=false`: Switch for cross-good congestion
19-
- `nu::Float64=1`: Elasticity of substitution b/w goods in transport costs if cross-good congestion
19+
- `nu::Float64=1.5`: Elasticity of substitution b/w goods in transport costs if cross-good congestion
2020
- `m::Vector{Float64}=ones(N)`: Vector of weights Nx1 in the cross congestion cost function
2121
- `annealing::Bool=true`: Switch for the use of annealing at the end of iterations (only if gamma > beta)
2222
- `verbose::Bool=true`: Switch to turn on/off text output (from Ipopt or other optimizers)
@@ -40,9 +40,9 @@ param = init_parameters(K = 10, labor_mobility = true)
4040
```
4141
"""
4242
function init_parameters(; alpha = 0.5, beta = 1, gamma = 1, K = 1, sigma = 5, rho = 2, a = 0.8, N = 1,
43-
labor_mobility = false, cross_good_congestion=false, nu = 1, m = ones(N),
43+
labor_mobility = false, cross_good_congestion=false, nu = 1.5, m = ones(N),
4444
annealing=true,
45-
verbose = true, duality = false, warm_start = true,
45+
verbose = true, duality = true, warm_start = true,
4646
kappa_min = 1e-5, min_iter = 20, max_iter = 200, tol = 1e-5, kwargs...)
4747
param = Dict()
4848

@@ -93,7 +93,8 @@ function init_parameters(; alpha = 0.5, beta = 1, gamma = 1, K = 1, sigma = 5, r
9393
param[:u] = (c, h) -> ((c / alpha)^alpha * (h / (1 - alpha))^(1 - alpha))^(1 - rho) / (1 - rho)
9494
param[:uprime] = (c, h) -> ((c / alpha)^alpha * (h / (1 - alpha))^(1 - alpha))^-rho * ((c / alpha)^(alpha - 1) * (h / (1 - alpha))^(1 - alpha))
9595
param[:usecond] = (c, h) -> -rho * ((c / alpha)^alpha * (h / (1 - alpha))^(1 - alpha))^(-rho - 1) * ((c / alpha)^(alpha - 1) * (h / (1 - alpha))^(1 - alpha))^2 + (alpha - 1) / alpha * ((c / alpha)^alpha * (h / (1 - alpha))^(1 - alpha))^-rho * ((c / alpha)^(alpha - 2) * (h / (1 - alpha))^(1 - alpha))
96-
param[:uprimeinv] = (x, h) -> alpha * x^(-1 / (1 + alpha * (rho - 1))) * (h / (1 - alpha))^-((1 - alpha) * (rho - 1) / (1 + alpha * (rho - 1)))
96+
param[:uprimeinv] = (x, h) -> alpha * x^(-1 / (1 + alpha * (rho - 1))) * (h / (1 - alpha))^((1 - alpha) * (1 - rho) / (1 + alpha * (rho - 1)))
97+
param[:uprimeinvprime] = (x, h) -> -alpha / (1 + alpha * (rho - 1)) * x^(-1 / (1 + alpha * (rho - 1)) - 1) * (h / (1 - alpha))^((1 - alpha) * (1 - rho) / (1 + alpha * (rho - 1)))
9798

9899
# Define production function
99100
param[:F] = (L, a) -> L^a

0 commit comments

Comments
 (0)