Skip to content

Commit 3cec892

Browse files
committed
Minors tidying.
1 parent 2937564 commit 3cec892

1 file changed

Lines changed: 7 additions & 6 deletions

File tree

src/models/solve_allocation_by_duality_cgc.jl

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ function solve_allocation_by_duality_cgc(x0, auxdata, verbose=true)
5353

5454
# Set Ipopt options
5555
Ipopt.AddIpoptStrOption(prob, "hessian_approximation", "exact")
56-
Ipopt.AddIpoptIntOption(prob, "max_iter", 3000)
56+
Ipopt.AddIpoptIntOption(prob, "max_iter", 200)
5757
Ipopt.AddIpoptIntOption(prob, "print_level", verbose ? 5 : 0)
5858

5959
if haskey(param, :optimizer_attr)
@@ -184,7 +184,7 @@ function hessian_duality_cgc(
184184
G = (Pjn[j, n] / PCj[j])^(-sigma)
185185
if jd == j # 0 for P^n_k
186186
Gprime = sigma * (Pjn[j, n] * Pjn[j, nd])^(-sigma) * PCj[j]^(2*sigma-1)
187-
Cprime = Lj[j]/omegaj[j] * (PCj[j] / Pjn[j, nd])^sigma / param.usecond(res.cj[j], graph.hj[j]) # * param.uprimeinvprime(PCj[j]/omegaj[j], graph.hj[j])
187+
Cprime = Lj[j]/omegaj[j] * (PCj[j] / Pjn[j, nd])^sigma * param.uprimeinvprime(PCj[j]/omegaj[j], graph.hj[j]) # / param.usecond(res.cj[j], graph.hj[j])
188188
if nd == n
189189
Gprime -= sigma / PCj[j] * G^((sigma+1)/sigma)
190190
end
@@ -194,8 +194,9 @@ function hessian_duality_cgc(
194194
# Now terms sum_k(Q^n_{jk} - Q^n_{kj}) as well as T'G + TG'
195195
for k in neighbors
196196
diff = Pjn[k, n] - Pjn[j, n]
197-
if diff >= 0 # Flows in the direction of k
197+
if diff > 0 # Flows in the direction of k
198198
tmp = Qjkn[j, k, n]
199+
T = Qjk[j, k]^(1+beta) / kappa[j, k]
199200
PK0 = PCj[j] * (1 + beta) / kappa[j, k]
200201
KPABprimemQjkn = cons * ((Pjn[k, nd] - Pjn[j, nd])/m[nd])^n1dnum1 * Qjk[j, k]^(-nu*beta*n1dnum1) * PK0^(nu*n1dnum1)
201202
if jd == j
@@ -205,14 +206,14 @@ function hessian_duality_cgc(
205206
term -= tmp * n1dnum1 / diff # KPA'B
206207
end
207208
term += tmp * KPABprimemQjkn # KPAB'
208-
term += Qjk[j, k]^(1+beta) / kappa[j, k] * ((1+beta)*KPprimeABmQjkn + cons2 * KPABprimemQjkn) * G # T'G
209-
term += Qjk[j, k]^(1+beta) / kappa[j, k] * Gprime # TG'
209+
term += T * ((1+beta)*KPprimeABmQjkn + cons2 * KPABprimemQjkn) * G # T'G
210+
term += T * Gprime # TG'
210211
elseif jd == k
211212
if nd == n
212213
term += tmp * n1dnum1 / diff # KPA'B [A'(k) has opposite sign]
213214
end
214215
term -= tmp * KPABprimemQjkn # KPAB' [B'(k) has opposite sign]
215-
term -= Qjk[j, k]^(1+beta) / kappa[j, k] * cons2 * KPABprimemQjkn * G # T'G [B'(k) has opposite sign]
216+
term -= T * cons2 * KPABprimemQjkn * G # T'G [B'(k) has opposite sign]
216217
end
217218
else # Flows in the direction of j
218219
tmp = Qjkn[k, j, n]

0 commit comments

Comments
 (0)