@@ -1256,35 +1256,36 @@ function init_optimization!(
12561256 end
12571257 end
12581258 Jfunc, ∇Jfunc!, gfuncs, ∇gfuncs! = get_optim_functions (estim, optim)
1259- @operator (optim, J, nZ̃, Jfunc)
1259+ @operator (optim, J, nZ̃, Jfunc, ∇Jfunc! )
12601260 @objective (optim, Min, J (Z̃var... ))
12611261 nV̂, nX̂ = estim. He* estim. nym, estim. He* estim. nx̂
12621262 if length (con. i_g) ≠ 0
1263+ i_base = 0
12631264 for i in eachindex (con. X̂0min)
12641265 name = Symbol (" g_X̂0min_$i " )
12651266 optim[name] = JuMP. add_nonlinear_operator (
1266- optim, nZ̃, gfuncs[i]; name
1267+ optim, nZ̃, gfuncs[i_base + i], ∇gfuncs![i_base + i]; name
12671268 )
12681269 end
1269- i_end_X̂min = nX̂
1270+ i_base = nX̂
12701271 for i in eachindex (con. X̂0max)
12711272 name = Symbol (" g_X̂0max_$i " )
12721273 optim[name] = JuMP. add_nonlinear_operator (
1273- optim, nZ̃, gfuncs[i_end_X̂min + i]; name
1274+ optim, nZ̃, gfuncs[i_base + i], ∇gfuncs![i_base + i]; name
12741275 )
12751276 end
1276- i_end_X̂max = 2 * nX̂
1277+ i_base = 2 * nX̂
12771278 for i in eachindex (con. V̂min)
12781279 name = Symbol (" g_V̂min_$i " )
12791280 optim[name] = JuMP. add_nonlinear_operator (
1280- optim, nZ̃, gfuncs[i_end_X̂max + i]; name
1281+ optim, nZ̃, gfuncs[i_base + i], ∇gfuncs![i_base + i]; name
12811282 )
12821283 end
1283- i_end_V̂min = 2 * nX̂ + nV̂
1284+ i_base = 2 * nX̂ + nV̂
12841285 for i in eachindex (con. V̂max)
12851286 name = Symbol (" g_V̂max_$i " )
12861287 optim[name] = JuMP. add_nonlinear_operator (
1287- optim, nZ̃, gfuncs[i_end_V̂min + i]; name
1288+ optim, nZ̃, gfuncs[i_base + i], ∇gfuncs![i_base + i]; name
12881289 )
12891290 end
12901291 end
0 commit comments