@@ -1256,35 +1256,36 @@ function init_optimization!(
1256
1256
end
1257
1257
end
1258
1258
Jfunc, ∇Jfunc!, gfuncs, ∇gfuncs! = get_optim_functions (estim, optim)
1259
- @operator (optim, J, nZ̃, Jfunc)
1259
+ @operator (optim, J, nZ̃, Jfunc, ∇Jfunc! )
1260
1260
@objective (optim, Min, J (Z̃var... ))
1261
1261
nV̂, nX̂ = estim. He* estim. nym, estim. He* estim. nx̂
1262
1262
if length (con. i_g) ≠ 0
1263
+ i_base = 0
1263
1264
for i in eachindex (con. X̂0min)
1264
1265
name = Symbol (" g_X̂0min_$i " )
1265
1266
optim[name] = JuMP. add_nonlinear_operator (
1266
- optim, nZ̃, gfuncs[i]; name
1267
+ optim, nZ̃, gfuncs[i_base + i], ∇gfuncs![i_base + i]; name
1267
1268
)
1268
1269
end
1269
- i_end_X̂min = nX̂
1270
+ i_base = nX̂
1270
1271
for i in eachindex (con. X̂0max)
1271
1272
name = Symbol (" g_X̂0max_$i " )
1272
1273
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
1274
1275
)
1275
1276
end
1276
- i_end_X̂max = 2 * nX̂
1277
+ i_base = 2 * nX̂
1277
1278
for i in eachindex (con. V̂min)
1278
1279
name = Symbol (" g_V̂min_$i " )
1279
1280
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
1281
1282
)
1282
1283
end
1283
- i_end_V̂min = 2 * nX̂ + nV̂
1284
+ i_base = 2 * nX̂ + nV̂
1284
1285
for i in eachindex (con. V̂max)
1285
1286
name = Symbol (" g_V̂max_$i " )
1286
1287
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
1288
1289
)
1289
1290
end
1290
1291
end
0 commit comments