Chemical Equilibrium
Before this page
Getting started, and the Manual pages on Species and on ChemicalSystem and ChemicalState. Why the calculation is the right one is explained in Thermochemistry.
ChemistryLab computes a thermodynamic equilibrium as the minimum of the Gibbs energy under the element-conservation constraints, and the workflow always follows the same four steps:
Build a
ChemicalSystem(species + stoichiometric matrix).Create an initial
ChemicalState(temperature, pressure, initial amounts).Call
equilibrate(or useEquilibriumSolverexplicitly).Inspect the resulting
ChemicalState.
Minimal workflow
The convenience function equilibrate handles everything with sensible defaults. The example below computes the equilibrium state of calcite (CaCO₃) dissolving in mildly acidic water — a standard geochemical benchmark.
using Optimization, OptimizationIpopt
using ChemistryLab
using DynamicQuantities
substances = build_species(datapath("slop98-inorganic-thermofun.json"); verbose = false)
# Select the carbonate-system species, calcite and its dissolution product Ca²⁺
dict = Dict(symbol(s) => s for s in substances)
species = [dict[sym] for sym in split("H2O@ H+ OH- CO2@ HCO3- CO3-2 Ca+2 Cal")]
cs = ChemicalSystem(species, ["H2O@", "H+", "Ca+2", "CO3-2", "Zz"])┌──────────────────────────────────────────────────────────┐
│ Loading database: data/slop98-inorganic-thermofun.json │
└──────────────────────────────────────────────────────────┘
┌────────────────────┐
│ Building species │
└────────────────────┘
Progress: 13%|█████████████████████▏ | ETA: 0:00:01[K
Progress: 26%|██████████████████████████████████████████▋ | ETA: 0:00:01[K
Progress: 40%|████████████████████████████████████████████████████████████████▏ | ETA: 0:00:00[K
Progress: 53%|█████████████████████████████████████████████████████████████████████████████████████▌ | ETA: 0:00:00[K
Progress: 66%|██████████████████████████████████████████████████████████████████████████████████████████████████████████▉ | ETA: 0:00:00[K
Progress: 79%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▊ | ETA: 0:00:00[K
Progress: 90%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ | ETA: 0:00:00[K
Progress: 93%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████ | ETA: 0:00:00[K
Progress: 95%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▋ | ETA: 0:00:00[K
Progress: 99%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▊ | ETA: 0:00:00[K
Progress: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| Time: 0:00:01[KThe chemical system in full
cs8-element ChemicalSystem{Species{Int64}, AbstractReaction, StoichMatrix{Int64, Symbol, Vector{Symbol}, Matrix{Int64}, Species{Int64}}, StoichMatrix{Int64, Species{Int64}, Vector{Species{Int64}}, Matrix{Int64}, Species{Int64}}, Nothing, Nothing}:
H2O@ {Water HGK} [H2O@ ◆ H₂O@]
H+ {H+} [H+ ◆ H⁺]
OH- {OH- hydroXyl ion} [OH- ◆ OH⁻]
CO2@ {CO2,aq (+ H2O = H2CO3,aq )} [CO2@ ◆ CO₂@]
HCO3- {HCO3- bicarbonate ion} [HCO3- ◆ HCO₃⁻]
CO3-2 {CO3-2 carbonate ion} [CO3-2 ◆ CO₃²⁻]
Ca+2 {Ca+2 ion} [Ca+2 ◆ Ca²⁺]
Cal {CALCITE} [CaCO3 ◆ CaCO₃]state = ChemicalState(cs)
# 1 mmol calcite dissolved in 1 L of acidic water (initial pH ≈ 4)
set_quantity!(state, "Cal", 1e-3u"mol")
set_quantity!(state, "H2O@", 1.0u"kg")
V = volume(state)
set_quantity!(state, "H+", 1e-4u"mol/L" * V.liquid) # pH = 4
set_quantity!(state, "OH-", 1e-10u"mol/L" * V.liquid) # charge seed
state_eq = equilibrate(state)┌ Warning: Verbosity toggle: missing_second_order_ad
│ The selected optimization algorithm requires second order derivatives, but `SecondOrder` ADtype was not provided. So a `SecondOrder` with AutoForwardDiff() for both inner and outer will be created, this can be suboptimal and not work in some cases so an explicit `SecondOrder` ADtype is recommended.
└ @ OptimizationBase ~/.julia/packages/OptimizationBase/BEgWO/src/cache.jl:116The solved state in full — every species, with its amount
state_eqChemicalState{Species{Int64}, AbstractReaction, DynamicQuantities.Quantity{Float64, DynamicQuantities.SymbolicDimensions{DynamicQuantities.FRInt32}}, Float64}
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
│ T : 298.15 K │
│ P : 1.0 bar │
╞════════════════════════════════════════════════════════════════════════════════════════════════╡
│ # liquid #│ n [mol]│ m [g]│ V [cm³]│ c [mol/L]│
├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┤
│ tot. liquid│ 55.5096│ 1000.02│ 1002.96│ │
├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┤
│ H2O@│ 55.5093│ 999.999│ 1002.96│ 55.3452│
│ Ca+2│ 0.00015562│ 0.00623694│ -0.00286944│ 0.00015516│
│ HCO3-│ 0.00013426│ 0.00819199│ 0.00325055│ 0.000133863│
│ OH-│ 3.41397e-5│ 0.000580613│ -0.000160724│ 3.40388e-5│
│ CO3-2│ 2.12724e-5│ 0.00127651│ -0.000128862│ 2.12095e-5│
│ CO2@│ 8.79459e-8│ 3.87041e-6│ 2.88521e-6│ 8.7686e-8│
│ H+│ 2.96035e-10│ 2.98403e-10│ 0.0│ 2.9516e-10│
╞════════════════════════════════════════════════════════════════════════════════════════════════╡
│ # solid #│ n [mol]│ m [g]│ V [cm³]│ │
├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┤
│ tot. solid│ 0.00084438│ 0.0845106│ 0.0311863│ │
├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┤
│ Cal│ 0.00084438│ 0.0845106│ 0.0311863│ │
╞════════════════════════════════════════════════════════════════════════════════════════════════╡
│ # TOTAL #│ n [mol]│ m [g]│ V [cm³]│ │
├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┤
│ │ 55.5105│ 1000.1│ 1002.99│ │
╞════════════════════════════════════════════════════════════════════════════════════════════════╡
│ pH : 9.5274 │
│ pOH : 4.468 │
│ porosity : 0.999969 │
│ saturation : 1.0 │
└────────────────────────────────────────────────────────────────────────────────────────────────┘Quick shortcut
Calling equilibrate(state) with no extra arguments uses sensible defaults and is usually sufficient for aqueous geochemical problems.
The call above does more than it shows. equilibrate starts from every interior-point back end that is loaded — Ipopt, and the one OptimaSolver provides — refines each answer with the dual Newton method of OptimaSolver, and returns the answer whose optimality it can prove. Which back ends exist, how they compare and how one of them is imposed are described in Solving an equilibrium, together with the constraints other than a fixed temperature and pressure, the differentiation of an equilibrium with respect to its inputs, the activity models and the declaration of solid solutions. This tutorial keeps to the calculation itself.
Certifying an answer
equilibrate takes the certifying route by default, and it returns a composition together with a proof that it is the Gibbs minimum rather than the point an iteration stopped at. Why such a proof exists — the problem is convex, so the KKT conditions are sufficient and not merely necessary — what the three conditions are, and how DualEquilibriumSolver aims at them directly, are in Proving that an answer is the answer.
Driving it explicitly, when the two stages are wanted separately:
des = DualEquilibriumSolver(cs, HKFActivityModel())
ipm = equilibrate(state, OptimaOptimizer()) # into the neighborhood
dual = solve(des, ipm; b = b) # to the KKT conditions
cert = optimality_certificate(des, dual; b = b)
cert.optimal # true: a proof, for a convex problemInspecting the equilibrium state
The returned ChemicalState carries all derived thermodynamic quantities:
println("pH = ", pH(state_eq))
println("pOH = ", pOH(state_eq))
println("porosity = ", porosity(state_eq))
println("saturation = ", saturation(state_eq))pH = 9.527368995317124
pOH = 4.468026043735852
porosity = 0.999968906788299
saturation = 1.0Phase volumes and mole amounts are accessible via named tuples:
v = volume(state_eq)
println("V liquid = ", v.liquid)
println("V solid = ", v.solid)
println("V total = ", v.total)
m = moles(state_eq)
println("n liquid = ", m.liquid)
println("n solid = ", m.solid)V liquid = 0.00100296351197813 m³
V solid = 3.1186326489308636e-8 m³
V total = 0.0010029946983046193 m³
n liquid = 55.509609155105174 mol
n solid = 0.0008443799014915321 molIndividual species amounts (in mol):
cs_eq = state_eq.system
for (i, sp) in enumerate(cs_eq.species)
n_i = state_eq.n[i]
println(rpad(symbol(sp), 20), ustrip(n_i), " mol")
endH2O@ 55.50926377496003 mol
H+ 2.960347107588934e-10 mol
OH- 3.413965199962681e-5 mol
CO2@ 8.794585905450986e-8 mol
HCO3- 0.00013425976721713248 mol
CO3-2 2.1272385480188936e-5 mol
Ca+2 0.00015562009855293928 mol
Cal 0.0008443799014915321 molScaling and normalization
It is often useful to express a composition relative to a reference amount — per mole, per kilogram, or per cubic meter of system. Two mechanisms are provided.
Scalar multiplication
A ChemicalState can be multiplied or divided by a real number. All molar amounts are scaled proportionally; temperature, pressure, and the chemical system are unchanged. The operation is non-mutating — a new state is returned:
state2 = state_eq * 2.0 # double all amounts
state_m = state_eq / 1000 # millimolar scalerescale! — rescale to a target total
rescale! scales all molar amounts in-place so that the total of the matching physical quantity equals target:
target dimension | Quantity brought to target |
|---|---|
| mol | moles(state).total |
| kg (mass) | mass(state).total |
| m³ (volume) | volume(state).total |
All derived quantities (pH, porosity, volume, …) are recomputed automatically after scaling.
# Express the equilibrium composition per kilogram of total system
state_pkg = copy(state_eq)
rescale!(state_pkg, 1.0u"kg")
println("Ca²⁺ = ", moles(state_pkg, "Ca+2"), " mol/kg")
println("pH = ", pH(state_pkg)) # intensive quantities are invariantCa²⁺ = 0.00015560450898836586 mol mol/kg
pH = 9.527368995317124Intensive quantities
pH, porosity, and saturation are intensive — they are invariant under homothety and remain unchanged after rescale! or scalar multiplication.
Using EquilibriumSolver explicitly
For batch calculations where many different initial states share the same system and activity model, construct an EquilibriumSolver once and reuse it:
using Optimization, OptimizationIpopt
opt = IpoptOptimizer(
acceptable_tol = 1e-12,
dual_inf_tol = 1e-12,
acceptable_iter = 1000,
constr_viol_tol = 1e-12,
warm_start_init_point = "no",
)
solver = EquilibriumSolver(
cs,
DiluteSolutionModel(),
opt;
variable_space = Val(:linear),
abstol = 1e-10,
reltol = 1e-10,
)Once built, solver is called with any compatible ChemicalState:
state_eq2 = solve(solver, state)ChemicalState{Species{Int64}, AbstractReaction, DynamicQuantities.Quantity{Float64, DynamicQuantities.SymbolicDimensions{DynamicQuantities.FRInt32}}, Float64}
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
│ T : 298.15 K │
│ P : 1.0 bar │
╞════════════════════════════════════════════════════════════════════════════════════════════════╡
│ # liquid #│ n [mol]│ m [g]│ V [cm³]│ c [mol/L]│
├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┤
│ tot. liquid│ 55.5096│ 1000.02│ 1002.96│ │
├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┤
│ H2O@│ 55.5093│ 999.999│ 1002.96│ 55.3452│
│ Ca+2│ 0.00015562│ 0.00623692│ -0.00286943│ 0.00015516│
│ HCO3-│ 0.000134259│ 0.00819197│ 0.00325053│ 0.000133863│
│ OH-│ 3.41393e-5│ 0.000580607│ -0.000160722│ 3.40384e-5│
│ CO3-2│ 2.12722e-5│ 0.0012765│ -0.000128861│ 2.12094e-5│
│ CO2@│ 8.79874e-8│ 3.87224e-6│ 2.88657e-6│ 8.77274e-8│
│ H+│ 3.34877e-10│ 3.37556e-10│ 0.0│ 3.33888e-10│
╞════════════════════════════════════════════════════════════════════════════════════════════════╡
│ # solid #│ n [mol]│ m [g]│ V [cm³]│ │
├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┤
│ tot. solid│ 0.00084438│ 0.0845107│ 0.0311863│ │
├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┤
│ Cal│ 0.00084438│ 0.0845107│ 0.0311863│ │
╞════════════════════════════════════════════════════════════════════════════════════════════════╡
│ # TOTAL #│ n [mol]│ m [g]│ V [cm³]│ │
├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┤
│ │ 55.5105│ 1000.1│ 1002.99│ │
╞════════════════════════════════════════════════════════════════════════════════════════════════╡
│ pH : 9.5274 │
│ pOH : 4.468 │
│ porosity : 0.999969 │
│ saturation : 1.0 │
└────────────────────────────────────────────────────────────────────────────────────────────────┘Performance
The potential function μ(n, p) is compiled once during EquilibriumSolver construction. Repeated calls to solve(solver, ...) with different states reuse it, avoiding redundant compilation overhead.
Temperature dependence (10–30 °C)
Calcite solubility varies with temperature. Using the solver built above, we sweep from 10 to 30 °C and track pH, dissolved calcium and remaining solid calcite:
using Plots
temperatures = 10:30 # °C
pH_vals = Float64[]
nCa_vals = Float64[] # mmol
nCal_vals = Float64[] # mmol
i_Ca = findfirst(sp -> symbol(sp) == "Ca+2", cs.species)
i_Cal = findfirst(sp -> symbol(sp) == "Cal", cs.species)
# Start from the charged state built above, not from `ChemicalState(cs)`:
# a fresh state holds no matter at all, so every element balance would be zero
# and the sweep would return the same trivial solution at all 21 temperatures.
for θ in temperatures
s_T = deepcopy(state)
set_temperature!(s_T, (273.15 + θ) * u"K")
s_eq = solve(solver, s_T)
push!(pH_vals, pH(s_eq))
push!(nCa_vals, ustrip(s_eq.n[i_Ca]) * 1e3)
push!(nCal_vals, ustrip(s_eq.n[i_Cal]) * 1e3)
end┌ Warning: Verbosity toggle: missing_second_order_ad
│ The selected optimization algorithm requires second order derivatives, but `SecondOrder` ADtype was not provided. So a `SecondOrder` with AutoForwardDiff() for both inner and outer will be created, this can be suboptimal and not work in some cases so an explicit `SecondOrder` ADtype is recommended.
└ @ OptimizationBase ~/.julia/packages/OptimizationBase/BEgWO/src/cache.jl:116
┌ Info: Verbosity toggle: unsupported_kwargs
└ common abstol is currently not used by IpoptOptimizer(1.0e-12, 1000, 1.0e-12, 1.0e-12, 0.0001, "no", "no", "mumps", "none", "", "", "yes", "gradient-based", 100.0, "no", "no", "monotone", "quality-function", 0.1, "obj-constr-filter", "no", "exact", 6, "bfgs", "no", "filter", "no", Dict{String, Any}())
This is Ipopt version 3.14.19, running with linear solver MUMPS 5.9.0.
Number of nonzeros in equality constraint Jacobian...: 32
Number of nonzeros in inequality constraint Jacobian.: 0
Number of nonzeros in Lagrangian Hessian.............: 36
Total number of variables............................: 8
variables with only lower bounds: 0
variables with lower and upper bounds: 8
variables with only upper bounds: 0
Total number of equality constraints.................: 4
Total number of inequality constraints...............: 0
inequality constraints with only lower bounds: 0
inequality constraints with lower and upper bounds: 0
inequality constraints with only upper bounds: 0
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
0 -5.5828675e+03 3.90e-02 2.01e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0
1 -5.5792157e+03 3.01e-02 1.13e+01 -1.0 8.01e-02 - 9.90e-01 2.28e-01h 1
2 -5.5714334e+03 9.01e-03 1.03e+01 -1.0 2.14e-02 - 1.00e+00 7.01e-01h 1
3 -5.5695959e+03 4.29e-03 3.05e+01 -1.0 1.05e-02 - 1.00e+00 5.24e-01h 1
4 -5.5682518e+03 7.77e-04 2.31e+01 -1.0 3.29e-03 - 1.00e+00 8.19e-01h 1
5 -5.5680292e+03 2.01e-04 5.35e+01 -1.0 1.22e-03 - 1.00e+00 7.41e-01h 1
6 -5.5679523e+03 4.36e-18 1.86e+00 -1.0 4.30e-04 - 1.00e+00 1.00e+00f 1
7 -5.5679522e+03 1.27e-18 1.63e-02 -1.0 8.50e-05 - 1.00e+00 1.00e+00f 1
8 -5.5687692e+03 3.52e-19 3.18e-01 -2.5 3.23e-02 - 1.00e+00 1.00e+00f 1
9 -5.5688076e+03 2.17e-19 5.96e-02 -2.5 1.79e-03 - 1.00e+00 1.00e+00f 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
10 -5.5688124e+03 2.17e-19 3.70e-03 -2.5 2.45e-04 - 1.00e+00 1.00e+00f 1
11 -5.5688329e+03 2.17e-19 1.63e+00 -3.8 1.11e-03 - 1.00e+00 9.87e-01f 1
12 -5.5688357e+03 7.11e-15 6.38e+01 -3.8 3.51e-04 - 1.00e+00 1.00e+00f 1
13 -5.5688353e+03 2.17e-19 3.57e-02 -3.8 5.29e-05 - 1.00e+00 1.00e+00f 1
14 -5.5688352e+03 7.11e-15 3.20e-04 -3.8 1.54e-05 - 1.00e+00 1.00e+00f 1
15 -5.5688371e+03 7.11e-15 3.93e-01 -5.7 2.28e-04 - 7.04e-01 1.00e+00f 1
16 -5.5688375e+03 7.11e-15 7.09e-02 -5.7 1.21e-04 - 1.00e+00 1.00e+00f 1
17 -5.5688375e+03 7.11e-15 5.24e-02 -5.7 3.32e-05 - 1.00e+00 1.00e+00f 1
18 -5.5688375e+03 2.17e-19 7.51e-03 -5.7 7.89e-06 - 1.00e+00 1.00e+00f 1
19 -5.5688375e+03 0.00e+00 7.14e-05 -5.7 7.93e-07 - 1.00e+00 1.00e+00f 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
20 -5.5688375e+03 2.71e-20 7.83e-09 -5.7 1.01e-08 - 1.00e+00 1.00e+00f 1
21 -5.5688376e+03 7.11e-15 2.86e-01 -8.6 1.08e-05 - 9.89e-01 1.00e+00f 1
22 -5.5688376e+03 0.00e+00 1.17e-01 -8.6 9.70e-07 - 1.00e+00 1.00e+00f 1
23 -5.5688376e+03 0.00e+00 1.11e-01 -8.6 1.71e-07 - 1.00e+00 1.00e+00f 1
24 -5.5688376e+03 0.00e+00 3.42e-02 -8.6 5.96e-08 - 1.00e+00 1.00e+00f 1
25 -5.5688376e+03 7.11e-15 2.89e-03 -8.6 1.61e-08 - 1.00e+00 1.00e+00f 1
26 -5.5688376e+03 0.00e+00 2.81e-05 -8.6 1.74e-09 - 1.00e+00 1.00e+00h 1
27 -5.5688376e+03 0.00e+00 6.14e-09 -8.6 2.51e-11 - 1.00e+00 1.00e+00f 1
28 -5.5688376e+03 7.11e-15 1.40e-01 -11.0 1.48e-08 - 1.00e+00 1.00e+00f 1
29 -5.5688376e+03 0.00e+00 4.12e-02 -11.0 1.71e-09 - 1.00e+00 1.00e+00h 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
30 -5.5688376e+03 1.36e-20 2.83e-02 -11.0 1.92e-10 - 1.00e+00 1.00e+00f 1
31 -5.5688376e+03 7.11e-15 5.40e-03 -11.0 5.26e-11 - 1.00e+00 1.00e+00h 1
32 -5.5688376e+03 2.17e-19 2.74e-04 -11.0 9.93e-12 - 1.00e+00 1.00e+00h 1
33 -5.5688376e+03 0.00e+00 5.03e-07 -11.0 4.11e-13 - 1.00e+00 1.00e+00h 1
34 -5.5688376e+03 0.00e+00 1.91e-12 -11.0 7.98e-16 - 1.00e+00 1.00e+00 0
35 -5.5688376e+03 0.00e+00 1.27e-14 -11.0 4.18e-18 - 1.00e+00 1.00e+00T 0
Number of Iterations....: 35
(scaled) (unscaled)
Objective...............: -1.1624544665369197e+03 -5.5688375580224829e+03
Dual infeasibility......: 1.2699093237258997e-14 6.0836092430491057e-14
Constraint violation....: 0.0000000000000000e+00 0.0000000000000000e+00
Variable bound violation: 0.0000000000000000e+00 0.0000000000000000e+00
Complementarity.........: 9.0909090909090920e-12 4.3550777634191922e-11
Overall NLP error.......: 9.0909090909090920e-12 4.3550777634191922e-11
Number of objective function evaluations = 36
Number of objective gradient evaluations = 36
Number of equality constraint evaluations = 36
Number of inequality constraint evaluations = 0
Number of equality constraint Jacobian evaluations = 36
Number of inequality constraint Jacobian evaluations = 0
Number of Lagrangian Hessian evaluations = 35
Total seconds in IPOPT = 0.008
EXIT: Optimal Solution Found.
┌ Warning: Verbosity toggle: missing_second_order_ad
│ The selected optimization algorithm requires second order derivatives, but `SecondOrder` ADtype was not provided. So a `SecondOrder` with AutoForwardDiff() for both inner and outer will be created, this can be suboptimal and not work in some cases so an explicit `SecondOrder` ADtype is recommended.
└ @ OptimizationBase ~/.julia/packages/OptimizationBase/BEgWO/src/cache.jl:116
┌ Info: Verbosity toggle: unsupported_kwargs
└ common abstol is currently not used by IpoptOptimizer(1.0e-12, 1000, 1.0e-12, 1.0e-12, 0.0001, "no", "no", "mumps", "none", "", "", "yes", "gradient-based", 100.0, "no", "no", "monotone", "quality-function", 0.1, "obj-constr-filter", "no", "exact", 6, "bfgs", "no", "filter", "no", Dict{String, Any}())
This is Ipopt version 3.14.19, running with linear solver MUMPS 5.9.0.
Number of nonzeros in equality constraint Jacobian...: 32
Number of nonzeros in inequality constraint Jacobian.: 0
Number of nonzeros in Lagrangian Hessian.............: 36
Total number of variables............................: 8
variables with only lower bounds: 0
variables with lower and upper bounds: 8
variables with only upper bounds: 0
Total number of equality constraints.................: 4
Total number of inequality constraints...............: 0
inequality constraints with only lower bounds: 0
inequality constraints with lower and upper bounds: 0
inequality constraints with only upper bounds: 0
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
0 -5.5647766e+03 3.90e-02 2.01e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0
1 -5.5611352e+03 3.01e-02 1.13e+01 -1.0 8.01e-02 - 9.90e-01 2.28e-01h 1
2 -5.5533799e+03 9.01e-03 1.03e+01 -1.0 2.14e-02 - 1.00e+00 7.01e-01h 1
3 -5.5515495e+03 4.28e-03 3.05e+01 -1.0 1.05e-02 - 1.00e+00 5.24e-01h 1
4 -5.5502113e+03 7.79e-04 2.32e+01 -1.0 3.29e-03 - 1.00e+00 8.18e-01h 1
5 -5.5499886e+03 2.01e-04 5.33e+01 -1.0 1.22e-03 - 1.00e+00 7.42e-01h 1
6 -5.5499120e+03 7.11e-15 1.82e+00 -1.0 4.31e-04 - 1.00e+00 1.00e+00f 1
7 -5.5499119e+03 7.11e-15 1.66e-02 -1.0 8.52e-05 - 1.00e+00 1.00e+00f 1
8 -5.5507258e+03 5.77e-18 3.19e-01 -2.5 3.23e-02 - 1.00e+00 1.00e+00f 1
9 -5.5507641e+03 1.90e-19 5.98e-02 -2.5 1.79e-03 - 1.00e+00 1.00e+00f 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
10 -5.5507689e+03 7.11e-15 3.75e-03 -2.5 2.46e-04 - 1.00e+00 1.00e+00f 1
11 -5.5507894e+03 8.13e-20 1.64e+00 -3.8 1.11e-03 - 1.00e+00 9.87e-01f 1
12 -5.5507921e+03 2.17e-19 6.40e+01 -3.8 3.49e-04 - 1.00e+00 1.00e+00f 1
13 -5.5507917e+03 2.17e-19 3.70e-02 -3.8 5.21e-05 - 1.00e+00 1.00e+00f 1
14 -5.5507917e+03 2.17e-19 3.05e-04 -3.8 1.49e-05 - 1.00e+00 1.00e+00f 1
15 -5.5507935e+03 2.17e-19 3.94e-01 -5.7 2.28e-04 - 7.04e-01 1.00e+00f 1
16 -5.5507939e+03 7.11e-15 7.13e-02 -5.7 1.21e-04 - 1.00e+00 1.00e+00f 1
17 -5.5507939e+03 2.17e-19 5.27e-02 -5.7 3.33e-05 - 1.00e+00 1.00e+00f 1
18 -5.5507939e+03 0.00e+00 7.51e-03 -5.7 7.90e-06 - 1.00e+00 1.00e+00f 1
19 -5.5507939e+03 0.00e+00 7.20e-05 -5.7 7.90e-07 - 1.00e+00 1.00e+00f 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
20 -5.5507939e+03 2.17e-19 8.15e-09 -5.7 1.01e-08 - 1.00e+00 1.00e+00f 1
21 -5.5507940e+03 2.17e-19 2.86e-01 -8.6 1.08e-05 - 9.89e-01 1.00e+00f 1
22 -5.5507940e+03 0.00e+00 1.17e-01 -8.6 9.58e-07 - 1.00e+00 1.00e+00f 1
23 -5.5507940e+03 7.11e-15 1.11e-01 -8.6 1.74e-07 - 1.00e+00 1.00e+00f 1
24 -5.5507940e+03 2.17e-19 3.43e-02 -8.6 5.97e-08 - 1.00e+00 1.00e+00h 1
25 -5.5507940e+03 0.00e+00 2.95e-03 -8.6 1.61e-08 - 1.00e+00 1.00e+00h 1
26 -5.5507940e+03 2.17e-19 2.63e-05 -8.6 1.71e-09 - 1.00e+00 1.00e+00f 1
27 -5.5507940e+03 2.17e-19 5.38e-09 -8.6 2.39e-11 - 1.00e+00 1.00e+00h 1
28 -5.5507940e+03 7.11e-15 1.39e-01 -11.0 1.49e-08 - 1.00e+00 1.00e+00f 1
29 -5.5507940e+03 0.00e+00 4.08e-02 -11.0 1.68e-09 - 1.00e+00 1.00e+00h 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
30 -5.5507940e+03 0.00e+00 2.78e-02 -11.0 1.95e-10 - 1.00e+00 1.00e+00f 1
31 -5.5507940e+03 0.00e+00 5.21e-03 -11.0 5.32e-11 - 1.00e+00 1.00e+00f 1
32 -5.5507940e+03 0.00e+00 2.56e-04 -11.0 9.93e-12 - 1.00e+00 1.00e+00f 1
33 -5.5507940e+03 0.00e+00 4.43e-07 -11.0 3.99e-13 - 1.00e+00 1.00e+00f 1
34 -5.5507940e+03 0.00e+00 1.48e-12 -11.0 7.29e-16 - 1.00e+00 1.00e+00 0
35 -5.5507940e+03 0.00e+00 7.02e-15 -11.0 5.15e-19 - 1.00e+00 1.00e+00T 0
Number of Iterations....: 35
(scaled) (unscaled)
Objective...............: -1.1626887139031803e+03 -5.5507939662256485e+03
Dual infeasibility......: 7.0173318505406257e-15 3.3501454713722774e-14
Constraint violation....: 0.0000000000000000e+00 0.0000000000000000e+00
Variable bound violation: 0.0000000000000000e+00 0.0000000000000000e+00
Complementarity.........: 9.0909090909090920e-12 4.3400922986447902e-11
Overall NLP error.......: 9.0909090909090920e-12 4.3400922986447902e-11
Number of objective function evaluations = 36
Number of objective gradient evaluations = 36
Number of equality constraint evaluations = 36
Number of inequality constraint evaluations = 0
Number of equality constraint Jacobian evaluations = 36
Number of inequality constraint Jacobian evaluations = 0
Number of Lagrangian Hessian evaluations = 35
Total seconds in IPOPT = 0.008
EXIT: Optimal Solution Found.
┌ Warning: Verbosity toggle: missing_second_order_ad
│ The selected optimization algorithm requires second order derivatives, but `SecondOrder` ADtype was not provided. So a `SecondOrder` with AutoForwardDiff() for both inner and outer will be created, this can be suboptimal and not work in some cases so an explicit `SecondOrder` ADtype is recommended.
└ @ OptimizationBase ~/.julia/packages/OptimizationBase/BEgWO/src/cache.jl:116
┌ Info: Verbosity toggle: unsupported_kwargs
└ common abstol is currently not used by IpoptOptimizer(1.0e-12, 1000, 1.0e-12, 1.0e-12, 0.0001, "no", "no", "mumps", "none", "", "", "yes", "gradient-based", 100.0, "no", "no", "monotone", "quality-function", 0.1, "obj-constr-filter", "no", "exact", 6, "bfgs", "no", "filter", "no", Dict{String, Any}())
This is Ipopt version 3.14.19, running with linear solver MUMPS 5.9.0.
Number of nonzeros in equality constraint Jacobian...: 32
Number of nonzeros in inequality constraint Jacobian.: 0
Number of nonzeros in Lagrangian Hessian.............: 36
Total number of variables............................: 8
variables with only lower bounds: 0
variables with lower and upper bounds: 8
variables with only upper bounds: 0
Total number of equality constraints.................: 4
Total number of inequality constraints...............: 0
inequality constraints with only lower bounds: 0
inequality constraints with lower and upper bounds: 0
inequality constraints with only upper bounds: 0
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
0 -5.5468187e+03 3.90e-02 2.01e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0
1 -5.5431877e+03 3.01e-02 1.13e+01 -1.0 8.00e-02 - 9.90e-01 2.29e-01h 1
2 -5.5354592e+03 9.00e-03 1.03e+01 -1.0 2.14e-02 - 1.00e+00 7.01e-01h 1
3 -5.5336359e+03 4.28e-03 3.05e+01 -1.0 1.05e-02 - 1.00e+00 5.24e-01h 1
4 -5.5323036e+03 7.81e-04 2.33e+01 -1.0 3.29e-03 - 1.00e+00 8.18e-01h 1
5 -5.5320807e+03 2.01e-04 5.30e+01 -1.0 1.23e-03 - 1.00e+00 7.43e-01h 1
6 -5.5320044e+03 7.11e-15 1.79e+00 -1.0 4.32e-04 - 1.00e+00 1.00e+00f 1
7 -5.5320043e+03 7.32e-19 1.69e-02 -1.0 8.55e-05 - 1.00e+00 1.00e+00f 1
8 -5.5328151e+03 5.39e-18 3.19e-01 -2.5 3.23e-02 - 1.00e+00 1.00e+00f 1
9 -5.5328534e+03 7.11e-15 6.01e-02 -2.5 1.80e-03 - 1.00e+00 1.00e+00f 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
10 -5.5328582e+03 7.11e-15 3.79e-03 -2.5 2.47e-04 - 1.00e+00 1.00e+00f 1
11 -5.5328786e+03 2.17e-19 1.64e+00 -3.8 1.11e-03 - 1.00e+00 9.87e-01f 1
12 -5.5328813e+03 7.11e-15 6.43e+01 -3.8 3.48e-04 - 1.00e+00 1.00e+00f 1
13 -5.5328809e+03 7.11e-15 3.83e-02 -3.8 5.13e-05 - 1.00e+00 1.00e+00f 1
14 -5.5328809e+03 7.11e-15 2.94e-04 -3.8 1.45e-05 - 1.00e+00 1.00e+00f 1
15 -5.5328827e+03 7.11e-15 3.95e-01 -5.7 2.28e-04 - 7.04e-01 1.00e+00f 1
16 -5.5328831e+03 0.00e+00 7.17e-02 -5.7 1.21e-04 - 1.00e+00 1.00e+00f 1
17 -5.5328831e+03 1.36e-20 5.29e-02 -5.7 3.33e-05 - 1.00e+00 1.00e+00f 1
18 -5.5328831e+03 0.00e+00 7.51e-03 -5.7 7.90e-06 - 1.00e+00 1.00e+00f 1
19 -5.5328831e+03 0.00e+00 7.25e-05 -5.7 7.87e-07 - 1.00e+00 1.00e+00f 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
20 -5.5328831e+03 2.17e-19 8.49e-09 -5.7 1.01e-08 - 1.00e+00 1.00e+00f 1
21 -5.5328831e+03 7.11e-15 2.86e-01 -8.6 1.08e-05 - 9.89e-01 1.00e+00f 1
22 -5.5328831e+03 7.11e-15 1.17e-01 -8.6 9.46e-07 - 1.00e+00 1.00e+00f 1
23 -5.5328831e+03 7.11e-15 1.11e-01 -8.6 1.77e-07 - 1.00e+00 1.00e+00h 1
24 -5.5328831e+03 0.00e+00 3.45e-02 -8.6 5.99e-08 - 1.00e+00 1.00e+00h 1
25 -5.5328831e+03 2.17e-19 3.01e-03 -8.6 1.61e-08 - 1.00e+00 1.00e+00f 1
26 -5.5328831e+03 2.17e-19 2.45e-05 -8.6 1.68e-09 - 1.00e+00 1.00e+00h 1
27 -5.5328831e+03 7.11e-15 4.68e-09 -8.6 2.27e-11 - 1.00e+00 1.00e+00h 1
28 -5.5328831e+03 0.00e+00 1.38e-01 -11.0 1.49e-08 - 1.00e+00 1.00e+00h 1
29 -5.5328831e+03 7.11e-15 4.03e-02 -11.0 1.64e-09 - 1.00e+00 1.00e+00f 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
30 -5.5328831e+03 2.17e-19 2.72e-02 -11.0 1.97e-10 - 1.00e+00 1.00e+00h 1
31 -5.5328831e+03 2.17e-19 5.02e-03 -11.0 5.38e-11 - 1.00e+00 1.00e+00h 1
32 -5.5328831e+03 0.00e+00 2.39e-04 -11.0 9.92e-12 - 1.00e+00 1.00e+00h 1
33 -5.5328831e+03 0.00e+00 3.87e-07 -11.0 3.86e-13 - 1.00e+00 1.00e+00F 1
34 -5.5328831e+03 2.17e-19 1.14e-12 -11.0 6.63e-16 - 1.00e+00 1.00e+00 0
35 -5.5328831e+03 2.17e-19 8.02e-15 -11.0 1.27e-18 - 1.00e+00 1.00e+00T 0
Number of Iterations....: 35
(scaled) (unscaled)
Objective...............: -1.1629239443521717e+03 -5.5328831391045214e+03
Dual infeasibility......: 8.0179994255293066e-15 3.8147510889522429e-14
Constraint violation....: 2.1684043449710089e-19 2.1684043449710089e-19
Variable bound violation: 0.0000000000000000e+00 0.0000000000000000e+00
Complementarity.........: 9.0909090909090920e-12 4.3252130006010741e-11
Overall NLP error.......: 9.0909090909090920e-12 4.3252130006010741e-11
Number of objective function evaluations = 37
Number of objective gradient evaluations = 36
Number of equality constraint evaluations = 37
Number of inequality constraint evaluations = 0
Number of equality constraint Jacobian evaluations = 36
Number of inequality constraint Jacobian evaluations = 0
Number of Lagrangian Hessian evaluations = 35
Total seconds in IPOPT = 0.009
EXIT: Optimal Solution Found.
┌ Warning: Verbosity toggle: missing_second_order_ad
│ The selected optimization algorithm requires second order derivatives, but `SecondOrder` ADtype was not provided. So a `SecondOrder` with AutoForwardDiff() for both inner and outer will be created, this can be suboptimal and not work in some cases so an explicit `SecondOrder` ADtype is recommended.
└ @ OptimizationBase ~/.julia/packages/OptimizationBase/BEgWO/src/cache.jl:116
┌ Info: Verbosity toggle: unsupported_kwargs
└ common abstol is currently not used by IpoptOptimizer(1.0e-12, 1000, 1.0e-12, 1.0e-12, 0.0001, "no", "no", "mumps", "none", "", "", "yes", "gradient-based", 100.0, "no", "no", "monotone", "quality-function", 0.1, "obj-constr-filter", "no", "exact", 6, "bfgs", "no", "filter", "no", Dict{String, Any}())
This is Ipopt version 3.14.19, running with linear solver MUMPS 5.9.0.
Number of nonzeros in equality constraint Jacobian...: 32
Number of nonzeros in inequality constraint Jacobian.: 0
Number of nonzeros in Lagrangian Hessian.............: 36
Total number of variables............................: 8
variables with only lower bounds: 0
variables with lower and upper bounds: 8
variables with only upper bounds: 0
Total number of equality constraints.................: 4
Total number of inequality constraints...............: 0
inequality constraints with only lower bounds: 0
inequality constraints with lower and upper bounds: 0
inequality constraints with only upper bounds: 0
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
0 -5.5289925e+03 3.90e-02 2.02e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0
1 -5.5253717e+03 3.01e-02 1.13e+01 -1.0 8.00e-02 - 9.90e-01 2.29e-01h 1
2 -5.5176699e+03 9.00e-03 1.03e+01 -1.0 2.14e-02 - 1.00e+00 7.01e-01h 1
3 -5.5158536e+03 4.28e-03 3.05e+01 -1.0 1.06e-02 - 1.00e+00 5.24e-01h 1
4 -5.5145272e+03 7.83e-04 2.33e+01 -1.0 3.29e-03 - 1.00e+00 8.17e-01h 1
5 -5.5143041e+03 2.01e-04 5.28e+01 -1.0 1.23e-03 - 1.00e+00 7.44e-01h 1
6 -5.5142282e+03 4.53e-18 1.76e+00 -1.0 4.33e-04 - 1.00e+00 1.00e+00f 1
7 -5.5142281e+03 7.11e-15 1.72e-02 -1.0 8.57e-05 - 1.00e+00 1.00e+00f 1
8 -5.5150358e+03 7.11e-15 3.20e-01 -2.5 3.23e-02 - 1.00e+00 1.00e+00f 1
9 -5.5150740e+03 2.17e-19 6.03e-02 -2.5 1.80e-03 - 1.00e+00 1.00e+00f 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
10 -5.5150788e+03 7.11e-15 3.84e-03 -2.5 2.49e-04 - 1.00e+00 1.00e+00f 1
11 -5.5150992e+03 2.71e-20 1.65e+00 -3.8 1.12e-03 - 1.00e+00 9.88e-01f 1
12 -5.5151018e+03 2.71e-20 6.45e+01 -3.8 3.46e-04 - 1.00e+00 1.00e+00f 1
13 -5.5151014e+03 7.11e-15 3.95e-02 -3.8 5.06e-05 - 1.00e+00 1.00e+00f 1
14 -5.5151014e+03 0.00e+00 3.01e-04 -3.8 1.41e-05 - 1.00e+00 1.00e+00f 1
15 -5.5151032e+03 1.36e-20 3.96e-01 -5.7 2.28e-04 - 7.04e-01 1.00e+00f 1
16 -5.5151036e+03 1.36e-20 7.21e-02 -5.7 1.21e-04 - 1.00e+00 1.00e+00f 1
17 -5.5151036e+03 1.36e-20 5.32e-02 -5.7 3.34e-05 - 1.00e+00 1.00e+00f 1
18 -5.5151036e+03 0.00e+00 7.52e-03 -5.7 7.90e-06 - 1.00e+00 1.00e+00f 1
19 -5.5151036e+03 7.11e-15 7.32e-05 -5.7 7.84e-07 - 1.00e+00 1.00e+00f 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
20 -5.5151036e+03 1.36e-20 8.88e-09 -5.7 1.00e-08 - 1.00e+00 1.00e+00h 1
21 -5.5151037e+03 7.11e-15 2.86e-01 -8.6 1.08e-05 - 9.89e-01 1.00e+00f 1
22 -5.5151037e+03 7.11e-15 1.17e-01 -8.6 9.34e-07 - 1.00e+00 1.00e+00f 1
23 -5.5151037e+03 0.00e+00 1.11e-01 -8.6 1.80e-07 - 1.00e+00 1.00e+00h 1
24 -5.5151037e+03 0.00e+00 3.47e-02 -8.6 6.01e-08 - 1.00e+00 1.00e+00f 1
25 -5.5151037e+03 7.11e-15 3.07e-03 -8.6 1.61e-08 - 1.00e+00 1.00e+00f 1
26 -5.5151037e+03 7.11e-15 2.27e-05 -8.6 1.65e-09 - 1.00e+00 1.00e+00h 1
27 -5.5151037e+03 7.11e-15 4.04e-09 -8.6 2.16e-11 - 1.00e+00 1.00e+00h 1
28 -5.5151037e+03 0.00e+00 1.37e-01 -11.0 1.50e-08 - 1.00e+00 1.00e+00h 1
29 -5.5151037e+03 7.11e-15 3.98e-02 -11.0 1.60e-09 - 1.00e+00 1.00e+00f 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
30 -5.5151037e+03 1.36e-20 2.66e-02 -11.0 2.00e-10 - 1.00e+00 1.00e+00h 1
31 -5.5151037e+03 0.00e+00 4.83e-03 -11.0 5.45e-11 - 1.00e+00 1.00e+00h 1
32 -5.5151037e+03 7.11e-15 2.22e-04 -11.0 9.90e-12 - 1.00e+00 1.00e+00f 1
33 -5.5151037e+03 0.00e+00 3.36e-07 -11.0 3.73e-13 - 1.00e+00 1.00e+00h 1
34 -5.5151037e+03 0.00e+00 8.69e-13 -11.0 5.99e-16 - 1.00e+00 1.00e+00 0
35 -5.5151037e+03 2.17e-19 7.96e-15 -11.0 1.38e-18 - 1.00e+00 1.00e+00T 0
Number of Iterations....: 35
(scaled) (unscaled)
Objective...............: -1.1631601530096141e+03 -5.5151036630537546e+03
Dual infeasibility......: 7.9643346934014536e-15 3.7762754619570779e-14
Constraint violation....: 2.1684043449710089e-19 2.1684043449710089e-19
Variable bound violation: 0.0000000000000000e+00 0.0000000000000000e+00
Complementarity.........: 9.0909090909090920e-12 4.3104387558354576e-11
Overall NLP error.......: 9.0909090909090920e-12 4.3104387558354576e-11
Number of objective function evaluations = 36
Number of objective gradient evaluations = 36
Number of equality constraint evaluations = 36
Number of inequality constraint evaluations = 0
Number of equality constraint Jacobian evaluations = 36
Number of inequality constraint Jacobian evaluations = 0
Number of Lagrangian Hessian evaluations = 35
Total seconds in IPOPT = 0.008
EXIT: Optimal Solution Found.
┌ Warning: Verbosity toggle: missing_second_order_ad
│ The selected optimization algorithm requires second order derivatives, but `SecondOrder` ADtype was not provided. So a `SecondOrder` with AutoForwardDiff() for both inner and outer will be created, this can be suboptimal and not work in some cases so an explicit `SecondOrder` ADtype is recommended.
└ @ OptimizationBase ~/.julia/packages/OptimizationBase/BEgWO/src/cache.jl:116
┌ Info: Verbosity toggle: unsupported_kwargs
└ common abstol is currently not used by IpoptOptimizer(1.0e-12, 1000, 1.0e-12, 1.0e-12, 0.0001, "no", "no", "mumps", "none", "", "", "yes", "gradient-based", 100.0, "no", "no", "monotone", "quality-function", 0.1, "obj-constr-filter", "no", "exact", 6, "bfgs", "no", "filter", "no", Dict{String, Any}())
This is Ipopt version 3.14.19, running with linear solver MUMPS 5.9.0.
Number of nonzeros in equality constraint Jacobian...: 32
Number of nonzeros in inequality constraint Jacobian.: 0
Number of nonzeros in Lagrangian Hessian.............: 36
Total number of variables............................: 8
variables with only lower bounds: 0
variables with lower and upper bounds: 8
variables with only upper bounds: 0
Total number of equality constraints.................: 4
Total number of inequality constraints...............: 0
inequality constraints with only lower bounds: 0
inequality constraints with lower and upper bounds: 0
inequality constraints with only upper bounds: 0
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
0 -5.5112966e+03 3.90e-02 2.02e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0
1 -5.5076859e+03 3.01e-02 1.13e+01 -1.0 8.00e-02 - 9.90e-01 2.29e-01h 1
2 -5.5000106e+03 9.00e-03 1.03e+01 -1.0 2.14e-02 - 1.00e+00 7.01e-01h 1
3 -5.4982013e+03 4.28e-03 3.06e+01 -1.0 1.06e-02 - 1.00e+00 5.24e-01h 1
4 -5.4968808e+03 7.85e-04 2.34e+01 -1.0 3.29e-03 - 1.00e+00 8.17e-01h 1
5 -5.4966574e+03 2.00e-04 5.25e+01 -1.0 1.23e-03 - 1.00e+00 7.45e-01h 1
6 -5.4965819e+03 7.11e-15 1.73e+00 -1.0 4.34e-04 - 1.00e+00 1.00e+00f 1
7 -5.4965818e+03 7.11e-15 1.75e-02 -1.0 8.60e-05 - 1.00e+00 1.00e+00f 1
8 -5.4973864e+03 2.44e-19 3.21e-01 -2.5 3.23e-02 - 1.00e+00 1.00e+00f 1
9 -5.4974246e+03 7.11e-15 6.06e-02 -2.5 1.81e-03 - 1.00e+00 1.00e+00f 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
10 -5.4974294e+03 7.11e-15 3.89e-03 -2.5 2.50e-04 - 1.00e+00 1.00e+00f 1
11 -5.4974497e+03 7.11e-15 1.65e+00 -3.8 1.12e-03 - 1.00e+00 9.88e-01f 1
12 -5.4974523e+03 7.11e-15 6.47e+01 -3.8 3.44e-04 - 1.00e+00 1.00e+00f 1
13 -5.4974519e+03 7.11e-15 4.08e-02 -3.8 4.99e-05 - 1.00e+00 1.00e+00f 1
14 -5.4974519e+03 0.00e+00 3.07e-04 -3.8 1.37e-05 - 1.00e+00 1.00e+00f 1
15 -5.4974537e+03 2.17e-19 3.97e-01 -5.7 2.29e-04 - 7.04e-01 1.00e+00f 1
16 -5.4974541e+03 2.17e-19 7.24e-02 -5.7 1.21e-04 - 1.00e+00 1.00e+00f 1
17 -5.4974541e+03 2.17e-19 5.35e-02 -5.7 3.34e-05 - 1.00e+00 1.00e+00f 1
18 -5.4974541e+03 7.11e-15 7.52e-03 -5.7 7.90e-06 - 1.00e+00 1.00e+00f 1
19 -5.4974541e+03 2.17e-19 7.39e-05 -5.7 7.81e-07 - 1.00e+00 1.00e+00h 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
20 -5.4974541e+03 7.11e-15 9.31e-09 -5.7 1.00e-08 - 1.00e+00 1.00e+00h 1
21 -5.4974541e+03 2.17e-19 2.87e-01 -8.6 1.08e-05 - 9.89e-01 1.00e+00f 1
22 -5.4974541e+03 0.00e+00 1.16e-01 -8.6 9.23e-07 - 1.00e+00 1.00e+00f 1
23 -5.4974541e+03 1.36e-20 1.11e-01 -8.6 1.83e-07 - 1.00e+00 1.00e+00f 1
24 -5.4974541e+03 1.36e-20 3.49e-02 -8.6 6.03e-08 - 1.00e+00 1.00e+00f 1
25 -5.4974541e+03 2.17e-19 3.13e-03 -8.6 1.60e-08 - 1.00e+00 1.00e+00f 1
26 -5.4974541e+03 0.00e+00 2.10e-05 -8.6 1.62e-09 - 1.00e+00 1.00e+00h 1
27 -5.4974541e+03 1.36e-20 3.47e-09 -8.6 2.04e-11 - 1.00e+00 1.00e+00f 1
28 -5.4974541e+03 1.36e-20 1.36e-01 -11.0 1.50e-08 - 1.00e+00 1.00e+00f 1
29 -5.4974541e+03 0.00e+00 3.93e-02 -11.0 1.56e-09 - 1.00e+00 1.00e+00h 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
30 -5.4974541e+03 7.11e-15 2.61e-02 -11.0 2.03e-10 - 1.00e+00 1.00e+00f 1
31 -5.4974541e+03 2.17e-19 4.65e-03 -11.0 5.51e-11 - 1.00e+00 1.00e+00h 1
32 -5.4974541e+03 7.11e-15 2.06e-04 -11.0 9.87e-12 - 1.00e+00 1.00e+00h 1
33 -5.4974541e+03 7.11e-15 2.91e-07 -11.0 3.60e-13 - 1.00e+00 1.00e+00h 1
34 -5.4974541e+03 1.36e-20 6.52e-13 -11.0 7.24e-15 - 1.00e+00 1.00e+00 0
35 -5.4974541e+03 2.17e-19 5.08e-15 -11.0 3.55e-19 - 1.00e+00 1.00e+00T 0
Number of Iterations....: 35
(scaled) (unscaled)
Objective...............: -1.1633973350411104e+03 -5.4974541443105627e+03
Dual infeasibility......: 5.0846020304441431e-15 2.4026500373105395e-14
Constraint violation....: 2.1684043449710089e-19 2.1684043449710089e-19
Variable bound violation: 0.0000000000000000e+00 0.0000000000000000e+00
Complementarity.........: 9.0909090909090936e-12 4.2957684663772039e-11
Overall NLP error.......: 9.0909090909090936e-12 4.2957684663772039e-11
Number of objective function evaluations = 36
Number of objective gradient evaluations = 36
Number of equality constraint evaluations = 36
Number of inequality constraint evaluations = 0
Number of equality constraint Jacobian evaluations = 36
Number of inequality constraint Jacobian evaluations = 0
Number of Lagrangian Hessian evaluations = 35
Total seconds in IPOPT = 0.008
EXIT: Optimal Solution Found.
┌ Warning: Verbosity toggle: missing_second_order_ad
│ The selected optimization algorithm requires second order derivatives, but `SecondOrder` ADtype was not provided. So a `SecondOrder` with AutoForwardDiff() for both inner and outer will be created, this can be suboptimal and not work in some cases so an explicit `SecondOrder` ADtype is recommended.
└ @ OptimizationBase ~/.julia/packages/OptimizationBase/BEgWO/src/cache.jl:116
┌ Info: Verbosity toggle: unsupported_kwargs
└ common abstol is currently not used by IpoptOptimizer(1.0e-12, 1000, 1.0e-12, 1.0e-12, 0.0001, "no", "no", "mumps", "none", "", "", "yes", "gradient-based", 100.0, "no", "no", "monotone", "quality-function", 0.1, "obj-constr-filter", "no", "exact", 6, "bfgs", "no", "filter", "no", Dict{String, Any}())
This is Ipopt version 3.14.19, running with linear solver MUMPS 5.9.0.
Number of nonzeros in equality constraint Jacobian...: 32
Number of nonzeros in inequality constraint Jacobian.: 0
Number of nonzeros in Lagrangian Hessian.............: 36
Total number of variables............................: 8
variables with only lower bounds: 0
variables with lower and upper bounds: 8
variables with only upper bounds: 0
Total number of equality constraints.................: 4
Total number of inequality constraints...............: 0
inequality constraints with only lower bounds: 0
inequality constraints with lower and upper bounds: 0
inequality constraints with only upper bounds: 0
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
0 -5.4937295e+03 3.90e-02 2.02e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0
1 -5.4901289e+03 3.01e-02 1.13e+01 -1.0 7.99e-02 - 9.90e-01 2.29e-01h 1
2 -5.4824799e+03 8.99e-03 1.03e+01 -1.0 2.14e-02 - 1.00e+00 7.01e-01h 1
3 -5.4806776e+03 4.28e-03 3.06e+01 -1.0 1.06e-02 - 1.00e+00 5.24e-01h 1
4 -5.4793629e+03 7.87e-04 2.35e+01 -1.0 3.29e-03 - 1.00e+00 8.16e-01h 1
5 -5.4791393e+03 2.00e-04 5.23e+01 -1.0 1.23e-03 - 1.00e+00 7.46e-01h 1
6 -5.4790642e+03 7.11e-15 1.71e+00 -1.0 4.35e-04 - 1.00e+00 1.00e+00f 1
7 -5.4790641e+03 7.11e-15 1.78e-02 -1.0 8.62e-05 - 1.00e+00 1.00e+00f 1
8 -5.4798656e+03 2.95e-18 3.21e-01 -2.5 3.22e-02 - 1.00e+00 1.00e+00f 1
9 -5.4799037e+03 7.11e-15 6.08e-02 -2.5 1.81e-03 - 1.00e+00 1.00e+00f 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
10 -5.4799086e+03 7.11e-15 3.93e-03 -2.5 2.52e-04 - 1.00e+00 1.00e+00f 1
11 -5.4799288e+03 7.11e-15 1.66e+00 -3.8 1.12e-03 - 1.00e+00 9.88e-01f 1
12 -5.4799314e+03 7.11e-15 6.49e+01 -3.8 3.43e-04 - 1.00e+00 1.00e+00f 1
13 -5.4799310e+03 8.13e-20 4.21e-02 -3.8 4.96e-05 - 1.00e+00 1.00e+00f 1
14 -5.4799310e+03 5.42e-20 3.13e-04 -3.8 1.33e-05 - 1.00e+00 1.00e+00f 1
15 -5.4799328e+03 2.71e-20 3.98e-01 -5.7 2.29e-04 - 7.04e-01 1.00e+00f 1
16 -5.4799331e+03 0.00e+00 7.27e-02 -5.7 1.21e-04 - 1.00e+00 1.00e+00f 1
17 -5.4799332e+03 7.11e-15 5.37e-02 -5.7 3.35e-05 - 1.00e+00 1.00e+00f 1
18 -5.4799332e+03 7.11e-15 7.53e-03 -5.7 7.90e-06 - 1.00e+00 1.00e+00f 1
19 -5.4799332e+03 7.11e-15 7.46e-05 -5.7 7.77e-07 - 1.00e+00 1.00e+00h 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
20 -5.4799332e+03 1.36e-20 9.78e-09 -5.7 9.99e-09 - 1.00e+00 1.00e+00h 1
21 -5.4799332e+03 1.36e-20 2.87e-01 -8.6 1.07e-05 - 9.89e-01 1.00e+00f 1
22 -5.4799332e+03 7.11e-15 1.16e-01 -8.6 9.12e-07 - 1.00e+00 1.00e+00f 1
23 -5.4799332e+03 2.71e-20 1.11e-01 -8.6 1.86e-07 - 1.00e+00 1.00e+00h 1
24 -5.4799332e+03 7.11e-15 3.51e-02 -8.6 6.05e-08 - 1.00e+00 1.00e+00f 1
25 -5.4799332e+03 1.36e-20 3.19e-03 -8.6 1.60e-08 - 1.00e+00 1.00e+00h 1
26 -5.4799332e+03 2.17e-19 1.94e-05 -8.6 1.59e-09 - 1.00e+00 1.00e+00h 1
27 -5.4799332e+03 2.17e-19 2.95e-09 -8.6 1.92e-11 - 1.00e+00 1.00e+00h 1
28 -5.4799332e+03 2.17e-19 1.35e-01 -11.0 1.50e-08 - 1.00e+00 1.00e+00f 1
29 -5.4799332e+03 0.00e+00 3.88e-02 -11.0 1.53e-09 - 1.00e+00 1.00e+00h 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
30 -5.4799332e+03 2.17e-19 2.55e-02 -11.0 2.05e-10 - 1.00e+00 1.00e+00f 1
31 -5.4799332e+03 2.17e-19 4.46e-03 -11.0 5.57e-11 - 1.00e+00 1.00e+00h 1
32 -5.4799332e+03 7.11e-15 1.90e-04 -11.0 9.83e-12 - 1.00e+00 1.00e+00h 1
33 -5.4799332e+03 2.17e-19 2.50e-07 -11.0 3.46e-13 - 1.00e+00 1.00e+00h 1
34 -5.4799332e+03 2.17e-19 4.84e-13 -11.0 4.81e-16 - 1.00e+00 1.00e+00 0
35 -5.4799332e+03 2.17e-19 1.07e-14 -11.0 1.52e-18 - 1.00e+00 1.00e+00T 0
Number of Iterations....: 35
(scaled) (unscaled)
Objective...............: -1.1636354856516193e+03 -5.4799332086088471e+03
Dual infeasibility......: 1.0713066336080370e-14 5.0451269925170176e-14
Constraint violation....: 2.1684043449710089e-19 2.1684043449710089e-19
Variable bound violation: 0.0000000000000000e+00 0.0000000000000000e+00
Complementarity.........: 9.0909090909090936e-12 4.2812010494695141e-11
Overall NLP error.......: 9.0909090909090936e-12 4.2812010494695141e-11
Number of objective function evaluations = 36
Number of objective gradient evaluations = 36
Number of equality constraint evaluations = 36
Number of inequality constraint evaluations = 0
Number of equality constraint Jacobian evaluations = 36
Number of inequality constraint Jacobian evaluations = 0
Number of Lagrangian Hessian evaluations = 35
Total seconds in IPOPT = 0.008
EXIT: Optimal Solution Found.
┌ Warning: Verbosity toggle: missing_second_order_ad
│ The selected optimization algorithm requires second order derivatives, but `SecondOrder` ADtype was not provided. So a `SecondOrder` with AutoForwardDiff() for both inner and outer will be created, this can be suboptimal and not work in some cases so an explicit `SecondOrder` ADtype is recommended.
└ @ OptimizationBase ~/.julia/packages/OptimizationBase/BEgWO/src/cache.jl:116
┌ Info: Verbosity toggle: unsupported_kwargs
└ common abstol is currently not used by IpoptOptimizer(1.0e-12, 1000, 1.0e-12, 1.0e-12, 0.0001, "no", "no", "mumps", "none", "", "", "yes", "gradient-based", 100.0, "no", "no", "monotone", "quality-function", 0.1, "obj-constr-filter", "no", "exact", 6, "bfgs", "no", "filter", "no", Dict{String, Any}())
This is Ipopt version 3.14.19, running with linear solver MUMPS 5.9.0.
Number of nonzeros in equality constraint Jacobian...: 32
Number of nonzeros in inequality constraint Jacobian.: 0
Number of nonzeros in Lagrangian Hessian.............: 36
Total number of variables............................: 8
variables with only lower bounds: 0
variables with lower and upper bounds: 8
variables with only upper bounds: 0
Total number of equality constraints.................: 4
Total number of inequality constraints...............: 0
inequality constraints with only lower bounds: 0
inequality constraints with lower and upper bounds: 0
inequality constraints with only upper bounds: 0
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
0 -5.4762901e+03 3.90e-02 2.02e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0
1 -5.4726993e+03 3.01e-02 1.13e+01 -1.0 7.99e-02 - 9.90e-01 2.29e-01h 1
2 -5.4650765e+03 8.99e-03 1.03e+01 -1.0 2.14e-02 - 1.00e+00 7.01e-01h 1
3 -5.4632811e+03 4.28e-03 3.06e+01 -1.0 1.06e-02 - 1.00e+00 5.24e-01h 1
4 -5.4619722e+03 7.90e-04 2.36e+01 -1.0 3.28e-03 - 1.00e+00 8.15e-01h 1
5 -5.4617484e+03 2.00e-04 5.21e+01 -1.0 1.24e-03 - 1.00e+00 7.47e-01h 1
6 -5.4616736e+03 3.60e-18 1.68e+00 -1.0 4.36e-04 - 1.00e+00 1.00e+00f 1
7 -5.4616735e+03 5.83e-18 1.81e-02 -1.0 8.65e-05 - 1.00e+00 1.00e+00f 1
8 -5.4624721e+03 7.11e-15 3.22e-01 -2.5 3.22e-02 - 1.00e+00 1.00e+00f 1
9 -5.4625101e+03 2.17e-19 6.11e-02 -2.5 1.82e-03 - 1.00e+00 1.00e+00f 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
10 -5.4625150e+03 1.36e-19 3.98e-03 -2.5 2.53e-04 - 1.00e+00 1.00e+00f 1
11 -5.4625351e+03 7.11e-15 1.66e+00 -3.8 1.12e-03 - 1.00e+00 9.88e-01f 1
12 -5.4625377e+03 7.11e-15 6.51e+01 -3.8 3.41e-04 - 1.00e+00 1.00e+00f 1
13 -5.4625373e+03 2.71e-20 4.34e-02 -3.8 5.09e-05 - 1.00e+00 1.00e+00f 1
14 -5.4625373e+03 0.00e+00 3.19e-04 -3.8 1.29e-05 - 1.00e+00 1.00e+00f 1
15 -5.4625391e+03 1.36e-20 3.99e-01 -5.7 2.29e-04 - 7.04e-01 1.00e+00f 1
16 -5.4625394e+03 7.11e-15 7.30e-02 -5.7 1.21e-04 - 1.00e+00 1.00e+00f 1
17 -5.4625395e+03 7.11e-15 5.40e-02 -5.7 3.35e-05 - 1.00e+00 1.00e+00f 1
18 -5.4625395e+03 1.36e-20 7.54e-03 -5.7 7.89e-06 - 1.00e+00 1.00e+00f 1
19 -5.4625395e+03 1.42e-14 7.54e-05 -5.7 7.73e-07 - 1.00e+00 1.00e+00f 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
20 -5.4625395e+03 0.00e+00 1.03e-08 -5.7 9.98e-09 - 1.00e+00 1.00e+00h 1
21 -5.4625395e+03 7.11e-15 2.87e-01 -8.6 1.07e-05 - 9.89e-01 1.00e+00f 1
22 -5.4625395e+03 2.17e-19 1.16e-01 -8.6 9.02e-07 - 1.00e+00 1.00e+00f 1
23 -5.4625395e+03 2.17e-19 1.11e-01 -8.6 1.88e-07 - 1.00e+00 1.00e+00f 1
24 -5.4625395e+03 7.11e-15 3.53e-02 -8.6 6.07e-08 - 1.00e+00 1.00e+00f 1
25 -5.4625395e+03 7.11e-15 3.26e-03 -8.6 1.60e-08 - 1.00e+00 1.00e+00h 1
26 -5.4625395e+03 7.11e-15 1.78e-05 -8.6 1.56e-09 - 1.00e+00 1.00e+00h 1
27 -5.4625395e+03 7.11e-15 2.49e-09 -8.6 1.81e-11 - 1.00e+00 1.00e+00h 1
28 -5.4625395e+03 7.11e-15 1.34e-01 -11.0 1.51e-08 - 1.00e+00 1.00e+00h 1
29 -5.4625395e+03 7.11e-15 3.83e-02 -11.0 1.49e-09 - 1.00e+00 1.00e+00h 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
30 -5.4625395e+03 0.00e+00 2.49e-02 -11.0 2.08e-10 - 1.00e+00 1.00e+00h 1
31 -5.4625395e+03 7.11e-15 4.28e-03 -11.0 5.63e-11 - 1.00e+00 1.00e+00f 1
32 -5.4625395e+03 7.11e-15 1.75e-04 -11.0 9.78e-12 - 1.00e+00 1.00e+00h 1
33 -5.4625395e+03 0.00e+00 2.13e-07 -11.0 3.32e-13 - 1.00e+00 1.00e+00h 1
34 -5.4625395e+03 2.71e-20 3.55e-13 -11.0 4.27e-16 - 1.00e+00 1.00e+00 0
35 -5.4625395e+03 0.00e+00 1.24e-14 -11.0 2.78e-18 - 1.00e+00 1.00e+00T 0
Number of Iterations....: 35
(scaled) (unscaled)
Objective...............: -1.1638746000849387e+03 -5.4625395008405103e+03
Dual infeasibility......: 1.2367958450211353e-14 5.8047887267325180e-14
Constraint violation....: 0.0000000000000000e+00 0.0000000000000000e+00
Variable bound violation: 0.0000000000000000e+00 0.0000000000000000e+00
Complementarity.........: 9.0909090909090936e-12 4.2667354373071559e-11
Overall NLP error.......: 9.0909090909090936e-12 4.2667354373071559e-11
Number of objective function evaluations = 36
Number of objective gradient evaluations = 36
Number of equality constraint evaluations = 36
Number of inequality constraint evaluations = 0
Number of equality constraint Jacobian evaluations = 36
Number of inequality constraint Jacobian evaluations = 0
Number of Lagrangian Hessian evaluations = 35
Total seconds in IPOPT = 0.008
EXIT: Optimal Solution Found.
┌ Warning: Verbosity toggle: missing_second_order_ad
│ The selected optimization algorithm requires second order derivatives, but `SecondOrder` ADtype was not provided. So a `SecondOrder` with AutoForwardDiff() for both inner and outer will be created, this can be suboptimal and not work in some cases so an explicit `SecondOrder` ADtype is recommended.
└ @ OptimizationBase ~/.julia/packages/OptimizationBase/BEgWO/src/cache.jl:116
┌ Info: Verbosity toggle: unsupported_kwargs
└ common abstol is currently not used by IpoptOptimizer(1.0e-12, 1000, 1.0e-12, 1.0e-12, 0.0001, "no", "no", "mumps", "none", "", "", "yes", "gradient-based", 100.0, "no", "no", "monotone", "quality-function", 0.1, "obj-constr-filter", "no", "exact", 6, "bfgs", "no", "filter", "no", Dict{String, Any}())
This is Ipopt version 3.14.19, running with linear solver MUMPS 5.9.0.
Number of nonzeros in equality constraint Jacobian...: 32
Number of nonzeros in inequality constraint Jacobian.: 0
Number of nonzeros in Lagrangian Hessian.............: 36
Total number of variables............................: 8
variables with only lower bounds: 0
variables with lower and upper bounds: 8
variables with only upper bounds: 0
Total number of equality constraints.................: 4
Total number of inequality constraints...............: 0
inequality constraints with only lower bounds: 0
inequality constraints with lower and upper bounds: 0
inequality constraints with only upper bounds: 0
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
0 -5.4589768e+03 3.90e-02 2.03e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0
1 -5.4553959e+03 3.01e-02 1.13e+01 -1.0 7.99e-02 - 9.90e-01 2.29e-01h 1
2 -5.4477991e+03 8.98e-03 1.03e+01 -1.0 2.14e-02 - 1.00e+00 7.01e-01h 1
3 -5.4460106e+03 4.27e-03 3.06e+01 -1.0 1.06e-02 - 1.00e+00 5.24e-01h 1
4 -5.4447074e+03 7.92e-04 2.37e+01 -1.0 3.28e-03 - 1.00e+00 8.15e-01h 1
5 -5.4444834e+03 2.00e-04 5.18e+01 -1.0 1.24e-03 - 1.00e+00 7.48e-01h 1
6 -5.4444090e+03 7.11e-15 1.66e+00 -1.0 4.38e-04 - 1.00e+00 1.00e+00f 1
7 -5.4444089e+03 7.11e-15 1.84e-02 -1.0 8.68e-05 - 1.00e+00 1.00e+00f 1
8 -5.4452044e+03 7.32e-19 3.23e-01 -2.5 3.22e-02 - 1.00e+00 1.00e+00f 1
9 -5.4452424e+03 7.11e-15 6.13e-02 -2.5 1.82e-03 - 1.00e+00 1.00e+00f 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
10 -5.4452473e+03 7.11e-15 4.03e-03 -2.5 2.54e-04 - 1.00e+00 1.00e+00f 1
11 -5.4452673e+03 2.17e-19 1.67e+00 -3.8 1.12e-03 - 1.00e+00 9.89e-01f 1
12 -5.4452699e+03 7.11e-15 6.54e+01 -3.8 3.40e-04 - 1.00e+00 1.00e+00f 1
13 -5.4452695e+03 0.00e+00 4.47e-02 -3.8 5.21e-05 - 1.00e+00 1.00e+00f 1
14 -5.4452695e+03 7.11e-15 3.24e-04 -3.8 1.26e-05 - 1.00e+00 1.00e+00f 1
15 -5.4452713e+03 7.11e-15 4.00e-01 -5.7 2.29e-04 - 7.04e-01 1.00e+00f 1
16 -5.4452716e+03 2.17e-19 7.33e-02 -5.7 1.20e-04 - 1.00e+00 1.00e+00f 1
17 -5.4452717e+03 7.11e-15 5.42e-02 -5.7 3.35e-05 - 1.00e+00 1.00e+00f 1
18 -5.4452717e+03 1.36e-20 7.56e-03 -5.7 7.88e-06 - 1.00e+00 1.00e+00f 1
19 -5.4452717e+03 0.00e+00 7.63e-05 -5.7 7.69e-07 - 1.00e+00 1.00e+00f 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
20 -5.4452717e+03 0.00e+00 1.08e-08 -5.7 9.96e-09 - 1.00e+00 1.00e+00f 1
21 -5.4452717e+03 7.11e-15 2.87e-01 -8.6 1.07e-05 - 9.89e-01 1.00e+00f 1
22 -5.4452717e+03 7.11e-15 1.16e-01 -8.6 8.91e-07 - 1.00e+00 1.00e+00f 1
23 -5.4452717e+03 0.00e+00 1.11e-01 -8.6 1.91e-07 - 1.00e+00 1.00e+00h 1
24 -5.4452717e+03 0.00e+00 3.54e-02 -8.6 6.10e-08 - 1.00e+00 1.00e+00f 1
25 -5.4452717e+03 0.00e+00 3.32e-03 -8.6 1.59e-08 - 1.00e+00 1.00e+00f 1
26 -5.4452717e+03 2.71e-20 1.73e-05 -8.6 1.53e-09 - 1.00e+00 1.00e+00f 1
27 -5.4452717e+03 7.11e-15 2.09e-09 -8.6 1.69e-11 - 1.00e+00 1.00e+00h 1
28 -5.4452717e+03 0.00e+00 1.33e-01 -11.0 1.51e-08 - 1.00e+00 1.00e+00h 1
29 -5.4452717e+03 0.00e+00 3.78e-02 -11.0 1.45e-09 - 1.00e+00 1.00e+00f 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
30 -5.4452717e+03 7.11e-15 2.44e-02 -11.0 2.11e-10 - 1.00e+00 1.00e+00f 1
31 -5.4452717e+03 7.11e-15 4.10e-03 -11.0 5.69e-11 - 1.00e+00 1.00e+00h 1
32 -5.4452717e+03 1.36e-20 1.61e-04 -11.0 9.72e-12 - 1.00e+00 1.00e+00h 1
33 -5.4452717e+03 0.00e+00 1.81e-07 -11.0 3.17e-13 - 1.00e+00 1.00e+00h 1
34 -5.4452717e+03 1.36e-20 2.57e-13 -11.0 3.77e-16 - 1.00e+00 1.00e+00 0
35 -5.4452717e+03 0.00e+00 6.67e-15 -11.0 6.54e-19 - 1.00e+00 1.00e+00T 0
Number of Iterations....: 35
(scaled) (unscaled)
Objective...............: -1.1641146736231954e+03 -5.4452716847237998e+03
Dual infeasibility......: 6.6685671990480065e-15 3.1192940841159485e-14
Constraint violation....: 0.0000000000000000e+00 0.0000000000000000e+00
Variable bound violation: 0.0000000000000000e+00 0.0000000000000000e+00
Complementarity.........: 9.0909090909090936e-12 4.2523705767795002e-11
Overall NLP error.......: 9.0909090909090936e-12 4.2523705767795002e-11
Number of objective function evaluations = 36
Number of objective gradient evaluations = 36
Number of equality constraint evaluations = 36
Number of inequality constraint evaluations = 0
Number of equality constraint Jacobian evaluations = 36
Number of inequality constraint Jacobian evaluations = 0
Number of Lagrangian Hessian evaluations = 35
Total seconds in IPOPT = 0.008
EXIT: Optimal Solution Found.
┌ Warning: Verbosity toggle: missing_second_order_ad
│ The selected optimization algorithm requires second order derivatives, but `SecondOrder` ADtype was not provided. So a `SecondOrder` with AutoForwardDiff() for both inner and outer will be created, this can be suboptimal and not work in some cases so an explicit `SecondOrder` ADtype is recommended.
└ @ OptimizationBase ~/.julia/packages/OptimizationBase/BEgWO/src/cache.jl:116
┌ Info: Verbosity toggle: unsupported_kwargs
└ common abstol is currently not used by IpoptOptimizer(1.0e-12, 1000, 1.0e-12, 1.0e-12, 0.0001, "no", "no", "mumps", "none", "", "", "yes", "gradient-based", 100.0, "no", "no", "monotone", "quality-function", 0.1, "obj-constr-filter", "no", "exact", 6, "bfgs", "no", "filter", "no", Dict{String, Any}())
This is Ipopt version 3.14.19, running with linear solver MUMPS 5.9.0.
Number of nonzeros in equality constraint Jacobian...: 32
Number of nonzeros in inequality constraint Jacobian.: 0
Number of nonzeros in Lagrangian Hessian.............: 36
Total number of variables............................: 8
variables with only lower bounds: 0
variables with lower and upper bounds: 8
variables with only upper bounds: 0
Total number of equality constraints.................: 4
Total number of inequality constraints...............: 0
inequality constraints with only lower bounds: 0
inequality constraints with lower and upper bounds: 0
inequality constraints with only upper bounds: 0
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
0 -5.4417884e+03 3.90e-02 2.03e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0
1 -5.4382172e+03 3.01e-02 1.13e+01 -1.0 7.98e-02 - 9.90e-01 2.29e-01h 1
2 -5.4306462e+03 8.98e-03 1.03e+01 -1.0 2.14e-02 - 1.00e+00 7.01e-01h 1
3 -5.4288646e+03 4.27e-03 3.06e+01 -1.0 1.06e-02 - 1.00e+00 5.24e-01h 1
4 -5.4275671e+03 7.94e-04 2.38e+01 -1.0 3.28e-03 - 1.00e+00 8.14e-01h 1
5 -5.4273429e+03 1.99e-04 5.16e+01 -1.0 1.24e-03 - 1.00e+00 7.49e-01h 1
6 -5.4272689e+03 7.11e-15 1.64e+00 -1.0 4.39e-04 - 1.00e+00 1.00e+00f 1
7 -5.4272687e+03 7.11e-15 1.87e-02 -1.0 8.73e-05 - 1.00e+00 1.00e+00f 1
8 -5.4280613e+03 3.66e-18 3.23e-01 -2.5 3.22e-02 - 1.00e+00 1.00e+00f 1
9 -5.4280992e+03 7.11e-15 6.16e-02 -2.5 1.83e-03 - 1.00e+00 1.00e+00f 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
10 -5.4281041e+03 7.11e-15 4.07e-03 -2.5 2.56e-04 - 1.00e+00 1.00e+00f 1
11 -5.4281241e+03 7.11e-15 1.68e+00 -3.8 1.12e-03 - 1.00e+00 9.89e-01f 1
12 -5.4281266e+03 7.11e-15 6.56e+01 -3.8 3.38e-04 - 1.00e+00 1.00e+00f 1
13 -5.4281263e+03 7.11e-15 4.60e-02 -3.8 5.33e-05 - 1.00e+00 1.00e+00f 1
14 -5.4281262e+03 7.11e-15 3.29e-04 -3.8 1.23e-05 - 1.00e+00 1.00e+00f 1
15 -5.4281280e+03 7.11e-15 4.01e-01 -5.7 2.29e-04 - 7.04e-01 1.00e+00f 1
16 -5.4281284e+03 7.11e-15 7.36e-02 -5.7 1.20e-04 - 1.00e+00 1.00e+00f 1
17 -5.4281284e+03 7.11e-15 5.44e-02 -5.7 3.36e-05 - 1.00e+00 1.00e+00f 1
18 -5.4281284e+03 7.11e-15 7.57e-03 -5.7 7.86e-06 - 1.00e+00 1.00e+00f 1
19 -5.4281284e+03 7.11e-15 7.72e-05 -5.7 7.64e-07 - 1.00e+00 1.00e+00h 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
20 -5.4281284e+03 0.00e+00 1.15e-08 -5.7 1.01e-08 - 1.00e+00 1.00e+00h 1
21 -5.4281284e+03 0.00e+00 2.88e-01 -8.6 1.07e-05 - 9.89e-01 1.00e+00f 1
22 -5.4281284e+03 0.00e+00 1.16e-01 -8.6 8.81e-07 - 1.00e+00 1.00e+00f 1
23 -5.4281284e+03 0.00e+00 1.11e-01 -8.6 1.93e-07 - 1.00e+00 1.00e+00f 1
24 -5.4281284e+03 1.36e-20 3.56e-02 -8.6 6.12e-08 - 1.00e+00 1.00e+00f 1
25 -5.4281284e+03 0.00e+00 3.39e-03 -8.6 1.59e-08 - 1.00e+00 1.00e+00f 1
26 -5.4281284e+03 1.36e-20 1.82e-05 -8.6 1.49e-09 - 1.00e+00 1.00e+00f 1
27 -5.4281284e+03 0.00e+00 1.73e-09 -8.6 1.58e-11 - 1.00e+00 1.00e+00h 1
28 -5.4281284e+03 1.36e-20 1.32e-01 -11.0 1.52e-08 - 1.00e+00 1.00e+00f 1
29 -5.4281284e+03 7.11e-15 3.73e-02 -11.0 1.42e-09 - 1.00e+00 1.00e+00h 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
30 -5.4281284e+03 1.36e-20 2.38e-02 -11.0 2.14e-10 - 1.00e+00 1.00e+00h 1
31 -5.4281284e+03 7.11e-15 3.92e-03 -11.0 5.74e-11 - 1.00e+00 1.00e+00h 1
32 -5.4281284e+03 7.11e-15 1.48e-04 -11.0 9.64e-12 - 1.00e+00 1.00e+00h 1
33 -5.4281284e+03 7.11e-15 1.53e-07 -11.0 3.02e-13 - 1.00e+00 1.00e+00h 1
34 -5.4281284e+03 0.00e+00 1.83e-13 -11.0 7.19e-15 - 1.00e+00 1.00e+00 0
Number of Iterations....: 34
(scaled) (unscaled)
Objective...............: -1.1643557015863453e+03 -5.4281284424785035e+03
Dual infeasibility......: 1.8343080680789320e-13 8.5513900804037706e-13
Constraint violation....: 0.0000000000000000e+00 0.0000000000000000e+00
Variable bound violation: 0.0000000000000000e+00 0.0000000000000000e+00
Complementarity.........: 9.0909090910525060e-12 4.2381054292857002e-11
Overall NLP error.......: 9.0909090910525060e-12 4.2381054292857002e-11
Number of objective function evaluations = 35
Number of objective gradient evaluations = 35
Number of equality constraint evaluations = 35
Number of inequality constraint evaluations = 0
Number of equality constraint Jacobian evaluations = 35
Number of inequality constraint Jacobian evaluations = 0
Number of Lagrangian Hessian evaluations = 34
Total seconds in IPOPT = 0.008
EXIT: Optimal Solution Found.
┌ Warning: Verbosity toggle: missing_second_order_ad
│ The selected optimization algorithm requires second order derivatives, but `SecondOrder` ADtype was not provided. So a `SecondOrder` with AutoForwardDiff() for both inner and outer will be created, this can be suboptimal and not work in some cases so an explicit `SecondOrder` ADtype is recommended.
└ @ OptimizationBase ~/.julia/packages/OptimizationBase/BEgWO/src/cache.jl:116
┌ Info: Verbosity toggle: unsupported_kwargs
└ common abstol is currently not used by IpoptOptimizer(1.0e-12, 1000, 1.0e-12, 1.0e-12, 0.0001, "no", "no", "mumps", "none", "", "", "yes", "gradient-based", 100.0, "no", "no", "monotone", "quality-function", 0.1, "obj-constr-filter", "no", "exact", 6, "bfgs", "no", "filter", "no", Dict{String, Any}())
This is Ipopt version 3.14.19, running with linear solver MUMPS 5.9.0.
Number of nonzeros in equality constraint Jacobian...: 32
Number of nonzeros in inequality constraint Jacobian.: 0
Number of nonzeros in Lagrangian Hessian.............: 36
Total number of variables............................: 8
variables with only lower bounds: 0
variables with lower and upper bounds: 8
variables with only upper bounds: 0
Total number of equality constraints.................: 4
Total number of inequality constraints...............: 0
inequality constraints with only lower bounds: 0
inequality constraints with lower and upper bounds: 0
inequality constraints with only upper bounds: 0
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
0 -5.4247236e+03 3.90e-02 2.03e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0
1 -5.4211620e+03 3.00e-02 1.13e+01 -1.0 7.98e-02 - 9.90e-01 2.30e-01h 1
2 -5.4136167e+03 8.97e-03 1.03e+01 -1.0 2.14e-02 - 1.00e+00 7.01e-01h 1
3 -5.4118419e+03 4.27e-03 3.06e+01 -1.0 1.06e-02 - 1.00e+00 5.24e-01h 1
4 -5.4105501e+03 7.96e-04 2.39e+01 -1.0 3.28e-03 - 1.00e+00 8.14e-01h 1
5 -5.4103257e+03 1.99e-04 5.13e+01 -1.0 1.24e-03 - 1.00e+00 7.50e-01h 1
6 -5.4102520e+03 3.06e-18 1.62e+00 -1.0 4.40e-04 - 1.00e+00 1.00e+00f 1
7 -5.4102519e+03 7.11e-15 1.90e-02 -1.0 8.78e-05 - 1.00e+00 1.00e+00f 1
8 -5.4110415e+03 7.11e-15 3.24e-01 -2.5 3.22e-02 - 1.00e+00 1.00e+00f 1
9 -5.4110794e+03 7.11e-15 6.18e-02 -2.5 1.83e-03 - 1.00e+00 1.00e+00f 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
10 -5.4110843e+03 7.11e-15 4.12e-03 -2.5 2.57e-04 - 1.00e+00 1.00e+00f 1
11 -5.4111041e+03 7.11e-15 1.68e+00 -3.8 1.12e-03 - 1.00e+00 9.89e-01f 1
12 -5.4111067e+03 7.11e-15 6.58e+01 -3.8 3.37e-04 - 1.00e+00 1.00e+00f 1
13 -5.4111063e+03 2.71e-20 4.73e-02 -3.8 5.44e-05 - 1.00e+00 1.00e+00f 1
14 -5.4111063e+03 2.71e-20 3.34e-04 -3.8 1.19e-05 - 1.00e+00 1.00e+00f 1
15 -5.4111081e+03 2.17e-19 4.01e-01 -5.7 2.29e-04 - 7.04e-01 1.00e+00f 1
16 -5.4111084e+03 2.17e-19 7.39e-02 -5.7 1.20e-04 - 1.00e+00 1.00e+00f 1
17 -5.4111085e+03 0.00e+00 5.46e-02 -5.7 3.36e-05 - 1.00e+00 1.00e+00f 1
18 -5.4111085e+03 7.11e-15 7.59e-03 -5.7 7.85e-06 - 1.00e+00 1.00e+00f 1
19 -5.4111085e+03 7.11e-15 7.81e-05 -5.7 7.60e-07 - 1.00e+00 1.00e+00h 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
20 -5.4111085e+03 2.71e-20 1.21e-08 -5.7 1.02e-08 - 1.00e+00 1.00e+00h 1
21 -5.4111085e+03 0.00e+00 2.88e-01 -8.6 1.07e-05 - 9.89e-01 1.00e+00f 1
22 -5.4111085e+03 0.00e+00 1.16e-01 -8.6 8.72e-07 - 1.00e+00 1.00e+00f 1
23 -5.4111085e+03 0.00e+00 1.11e-01 -8.6 1.96e-07 - 1.00e+00 1.00e+00f 1
24 -5.4111085e+03 7.11e-15 3.58e-02 -8.6 6.15e-08 - 1.00e+00 1.00e+00f 1
25 -5.4111085e+03 7.11e-15 3.45e-03 -8.6 1.58e-08 - 1.00e+00 1.00e+00h 1
26 -5.4111085e+03 2.17e-19 1.90e-05 -8.6 1.46e-09 - 1.00e+00 1.00e+00h 1
27 -5.4111085e+03 2.17e-19 1.43e-09 -8.6 1.47e-11 - 1.00e+00 1.00e+00h 1
28 -5.4111085e+03 7.11e-15 1.31e-01 -11.0 1.52e-08 - 1.00e+00 1.00e+00f 1
29 -5.4111085e+03 1.36e-20 3.68e-02 -11.0 1.38e-09 - 1.00e+00 1.00e+00h 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
30 -5.4111085e+03 1.36e-20 2.32e-02 -11.0 2.17e-10 - 1.00e+00 1.00e+00h 1
31 -5.4111085e+03 7.11e-15 3.74e-03 -11.0 5.80e-11 - 1.00e+00 1.00e+00h 1
32 -5.4111085e+03 0.00e+00 1.35e-04 -11.0 9.56e-12 - 1.00e+00 1.00e+00h 1
33 -5.4111085e+03 1.36e-20 1.28e-07 -11.0 2.87e-13 - 1.00e+00 1.00e+00f 1
34 -5.4111085e+03 1.36e-20 1.30e-13 -11.0 2.89e-16 - 1.00e+00 1.00e+00 0
Number of Iterations....: 34
(scaled) (unscaled)
Objective...............: -1.1645976793316854e+03 -5.4111084745078460e+03
Dual infeasibility......: 1.2975846246116330e-13 6.0290100892665050e-13
Constraint violation....: 1.3552527156068805e-20 1.3552527156068805e-20
Variable bound violation: 0.0000000000000000e+00 0.0000000000000000e+00
Complementarity.........: 9.0909090910141407e-12 4.2239389702026742e-11
Overall NLP error.......: 9.0909090910141407e-12 4.2239389702026742e-11
Number of objective function evaluations = 35
Number of objective gradient evaluations = 35
Number of equality constraint evaluations = 35
Number of inequality constraint evaluations = 0
Number of equality constraint Jacobian evaluations = 35
Number of inequality constraint Jacobian evaluations = 0
Number of Lagrangian Hessian evaluations = 34
Total seconds in IPOPT = 0.008
EXIT: Optimal Solution Found.
┌ Warning: Verbosity toggle: missing_second_order_ad
│ The selected optimization algorithm requires second order derivatives, but `SecondOrder` ADtype was not provided. So a `SecondOrder` with AutoForwardDiff() for both inner and outer will be created, this can be suboptimal and not work in some cases so an explicit `SecondOrder` ADtype is recommended.
└ @ OptimizationBase ~/.julia/packages/OptimizationBase/BEgWO/src/cache.jl:116
┌ Info: Verbosity toggle: unsupported_kwargs
└ common abstol is currently not used by IpoptOptimizer(1.0e-12, 1000, 1.0e-12, 1.0e-12, 0.0001, "no", "no", "mumps", "none", "", "", "yes", "gradient-based", 100.0, "no", "no", "monotone", "quality-function", 0.1, "obj-constr-filter", "no", "exact", 6, "bfgs", "no", "filter", "no", Dict{String, Any}())
This is Ipopt version 3.14.19, running with linear solver MUMPS 5.9.0.
Number of nonzeros in equality constraint Jacobian...: 32
Number of nonzeros in inequality constraint Jacobian.: 0
Number of nonzeros in Lagrangian Hessian.............: 36
Total number of variables............................: 8
variables with only lower bounds: 0
variables with lower and upper bounds: 8
variables with only upper bounds: 0
Total number of equality constraints.................: 4
Total number of inequality constraints...............: 0
inequality constraints with only lower bounds: 0
inequality constraints with lower and upper bounds: 0
inequality constraints with only upper bounds: 0
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
0 -5.4077811e+03 3.90e-02 2.04e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0
1 -5.4042289e+03 3.00e-02 1.13e+01 -1.0 7.98e-02 - 9.90e-01 2.30e-01h 1
2 -5.3967092e+03 8.97e-03 1.03e+01 -1.0 2.14e-02 - 1.00e+00 7.02e-01h 1
3 -5.3949412e+03 4.27e-03 3.06e+01 -1.0 1.06e-02 - 1.00e+00 5.24e-01h 1
4 -5.3936550e+03 7.98e-04 2.39e+01 -1.0 3.28e-03 - 1.00e+00 8.13e-01h 1
5 -5.3934305e+03 1.99e-04 5.11e+01 -1.0 1.25e-03 - 1.00e+00 7.51e-01h 1
6 -5.3933571e+03 4.42e-18 1.60e+00 -1.0 4.41e-04 - 1.00e+00 1.00e+00f 1
7 -5.3933570e+03 4.53e-18 1.94e-02 -1.0 8.82e-05 - 1.00e+00 1.00e+00f 1
8 -5.3941437e+03 2.57e-18 3.25e-01 -2.5 3.22e-02 - 1.00e+00 1.00e+00f 1
9 -5.3941815e+03 2.44e-19 6.21e-02 -2.5 1.83e-03 - 1.00e+00 1.00e+00f 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
10 -5.3941864e+03 7.11e-15 4.17e-03 -2.5 2.58e-04 - 1.00e+00 1.00e+00f 1
11 -5.3942062e+03 7.11e-15 1.69e+00 -3.8 1.12e-03 - 1.00e+00 9.90e-01f 1
12 -5.3942087e+03 2.17e-19 6.60e+01 -3.8 3.35e-04 - 1.00e+00 1.00e+00f 1
13 -5.3942083e+03 7.11e-15 4.86e-02 -3.8 5.55e-05 - 1.00e+00 1.00e+00f 1
14 -5.3942083e+03 7.11e-15 3.38e-04 -3.8 1.16e-05 - 1.00e+00 1.00e+00f 1
15 -5.3942101e+03 2.17e-19 4.02e-01 -5.7 2.29e-04 - 7.04e-01 1.00e+00f 1
16 -5.3942104e+03 2.17e-19 7.41e-02 -5.7 1.20e-04 - 1.00e+00 1.00e+00f 1
17 -5.3942105e+03 7.11e-15 5.48e-02 -5.7 3.36e-05 - 1.00e+00 1.00e+00f 1
18 -5.3942105e+03 7.11e-15 7.61e-03 -5.7 7.83e-06 - 1.00e+00 1.00e+00f 1
19 -5.3942105e+03 7.11e-15 7.91e-05 -5.7 7.55e-07 - 1.00e+00 1.00e+00h 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
20 -5.3942105e+03 7.11e-15 1.28e-08 -5.7 1.03e-08 - 1.00e+00 1.00e+00h 1
21 -5.3942105e+03 7.11e-15 2.88e-01 -8.6 1.07e-05 - 9.89e-01 1.00e+00f 1
22 -5.3942105e+03 7.11e-15 1.16e-01 -8.6 8.62e-07 - 1.00e+00 1.00e+00f 1
23 -5.3942105e+03 0.00e+00 1.11e-01 -8.6 1.98e-07 - 1.00e+00 1.00e+00h 1
24 -5.3942105e+03 7.11e-15 3.60e-02 -8.6 6.18e-08 - 1.00e+00 1.00e+00f 1
25 -5.3942105e+03 7.11e-15 3.52e-03 -8.6 1.58e-08 - 1.00e+00 1.00e+00h 1
26 -5.3942105e+03 0.00e+00 2.00e-05 -8.6 1.42e-09 - 1.00e+00 1.00e+00h 1
27 -5.3942105e+03 0.00e+00 1.17e-09 -8.6 1.37e-11 - 1.00e+00 1.00e+00f 1
28 -5.3942105e+03 1.36e-20 1.30e-01 -11.0 1.53e-08 - 1.00e+00 1.00e+00f 1
29 -5.3942105e+03 7.11e-15 3.63e-02 -11.0 1.35e-09 - 1.00e+00 1.00e+00h 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
30 -5.3942105e+03 7.11e-15 2.26e-02 -11.0 2.20e-10 - 1.00e+00 1.00e+00h 1
31 -5.3942105e+03 7.11e-15 3.57e-03 -11.0 5.85e-11 - 1.00e+00 1.00e+00h 1
32 -5.3942105e+03 7.11e-15 1.23e-04 -11.0 9.46e-12 - 1.00e+00 1.00e+00h 1
33 -5.3942105e+03 1.36e-20 1.06e-07 -11.0 2.72e-13 - 1.00e+00 1.00e+00h 1
34 -5.3942105e+03 1.36e-20 9.02e-14 -11.0 2.50e-16 - 1.00e+00 1.00e+00 0
Number of Iterations....: 34
(scaled) (unscaled)
Objective...............: -1.1648406022533695e+03 -5.3942104990869102e+03
Dual infeasibility......: 9.0158194951556905e-14 4.1750972694942898e-13
Constraint violation....: 1.3552527156068805e-20 1.3552527156068805e-20
Variable bound violation: 0.0000000000000000e+00 0.0000000000000000e+00
Complementarity.........: 9.0909090909850456e-12 4.2098701891033193e-11
Overall NLP error.......: 9.0909090909850456e-12 4.2098701891033193e-11
Number of objective function evaluations = 35
Number of objective gradient evaluations = 35
Number of equality constraint evaluations = 35
Number of inequality constraint evaluations = 0
Number of equality constraint Jacobian evaluations = 35
Number of inequality constraint Jacobian evaluations = 0
Number of Lagrangian Hessian evaluations = 34
Total seconds in IPOPT = 0.008
EXIT: Optimal Solution Found.
┌ Warning: Verbosity toggle: missing_second_order_ad
│ The selected optimization algorithm requires second order derivatives, but `SecondOrder` ADtype was not provided. So a `SecondOrder` with AutoForwardDiff() for both inner and outer will be created, this can be suboptimal and not work in some cases so an explicit `SecondOrder` ADtype is recommended.
└ @ OptimizationBase ~/.julia/packages/OptimizationBase/BEgWO/src/cache.jl:116
┌ Info: Verbosity toggle: unsupported_kwargs
└ common abstol is currently not used by IpoptOptimizer(1.0e-12, 1000, 1.0e-12, 1.0e-12, 0.0001, "no", "no", "mumps", "none", "", "", "yes", "gradient-based", 100.0, "no", "no", "monotone", "quality-function", 0.1, "obj-constr-filter", "no", "exact", 6, "bfgs", "no", "filter", "no", Dict{String, Any}())
This is Ipopt version 3.14.19, running with linear solver MUMPS 5.9.0.
Number of nonzeros in equality constraint Jacobian...: 32
Number of nonzeros in inequality constraint Jacobian.: 0
Number of nonzeros in Lagrangian Hessian.............: 36
Total number of variables............................: 8
variables with only lower bounds: 0
variables with lower and upper bounds: 8
variables with only upper bounds: 0
Total number of equality constraints.................: 4
Total number of inequality constraints...............: 0
inequality constraints with only lower bounds: 0
inequality constraints with lower and upper bounds: 0
inequality constraints with only upper bounds: 0
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
0 -5.3909596e+03 3.90e-02 2.04e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0
1 -5.3874168e+03 3.00e-02 1.13e+01 -1.0 7.97e-02 - 9.90e-01 2.30e-01h 1
2 -5.3799225e+03 8.96e-03 1.03e+01 -1.0 2.14e-02 - 1.00e+00 7.02e-01h 1
3 -5.3781612e+03 4.27e-03 3.06e+01 -1.0 1.06e-02 - 1.00e+00 5.24e-01h 1
4 -5.3768807e+03 8.00e-04 2.40e+01 -1.0 3.28e-03 - 1.00e+00 8.12e-01h 1
5 -5.3766559e+03 1.98e-04 5.09e+01 -1.0 1.25e-03 - 1.00e+00 7.52e-01h 1
6 -5.3765829e+03 2.74e-18 1.58e+00 -1.0 4.42e-04 - 1.00e+00 1.00e+00f 1
7 -5.3765828e+03 5.15e-19 1.97e-02 -1.0 8.87e-05 - 1.00e+00 1.00e+00f 1
8 -5.3773666e+03 3.01e-18 3.25e-01 -2.5 3.22e-02 - 1.00e+00 1.00e+00f 1
9 -5.3774043e+03 2.71e-20 6.23e-02 -2.5 1.84e-03 - 1.00e+00 1.00e+00f 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
10 -5.3774092e+03 1.36e-19 4.22e-03 -2.5 2.60e-04 - 1.00e+00 1.00e+00f 1
11 -5.3774290e+03 7.11e-15 1.69e+00 -3.8 1.12e-03 - 1.00e+00 9.90e-01f 1
12 -5.3774315e+03 7.11e-15 6.62e+01 -3.8 3.34e-04 - 1.00e+00 1.00e+00f 1
13 -5.3774311e+03 2.71e-20 4.99e-02 -3.8 5.66e-05 - 1.00e+00 1.00e+00f 1
14 -5.3774311e+03 5.42e-20 3.42e-04 -3.8 1.14e-05 - 1.00e+00 1.00e+00f 1
15 -5.3774328e+03 7.11e-15 4.03e-01 -5.7 2.29e-04 - 7.04e-01 1.00e+00f 1
16 -5.3774332e+03 1.36e-20 7.44e-02 -5.7 1.20e-04 - 1.00e+00 1.00e+00f 1
17 -5.3774332e+03 7.11e-15 5.50e-02 -5.7 3.36e-05 - 1.00e+00 1.00e+00f 1
18 -5.3774332e+03 7.11e-15 7.63e-03 -5.7 7.81e-06 - 1.00e+00 1.00e+00f 1
19 -5.3774332e+03 1.36e-20 8.02e-05 -5.7 7.50e-07 - 1.00e+00 1.00e+00h 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
20 -5.3774332e+03 7.11e-15 1.36e-08 -5.7 1.05e-08 - 1.00e+00 1.00e+00h 1
21 -5.3774333e+03 0.00e+00 2.88e-01 -8.6 1.07e-05 - 9.89e-01 1.00e+00f 1
22 -5.3774333e+03 1.36e-20 1.16e-01 -8.6 8.53e-07 - 1.00e+00 1.00e+00f 1
23 -5.3774333e+03 0.00e+00 1.11e-01 -8.6 2.01e-07 - 1.00e+00 1.00e+00f 1
24 -5.3774333e+03 7.11e-15 3.61e-02 -8.6 6.21e-08 - 1.00e+00 1.00e+00f 1
25 -5.3774333e+03 0.00e+00 3.59e-03 -8.6 1.57e-08 - 1.00e+00 1.00e+00h 1
26 -5.3774333e+03 1.36e-20 2.09e-05 -8.6 1.38e-09 - 1.00e+00 1.00e+00f 1
27 -5.3774333e+03 7.11e-15 9.45e-10 -8.6 1.27e-11 - 1.00e+00 1.00e+00h 1
28 -5.3774333e+03 2.17e-19 1.29e-01 -11.0 1.53e-08 - 1.00e+00 1.00e+00h 1
29 -5.3774333e+03 7.11e-15 3.58e-02 -11.0 1.31e-09 - 1.00e+00 1.00e+00h 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
30 -5.3774333e+03 2.17e-19 2.21e-02 -11.0 2.22e-10 - 1.00e+00 1.00e+00h 1
31 -5.3774333e+03 7.11e-15 3.40e-03 -11.0 5.90e-11 - 1.00e+00 1.00e+00h 1
32 -5.3774333e+03 7.11e-15 1.11e-04 -11.0 9.35e-12 - 1.00e+00 1.00e+00h 1
33 -5.3774333e+03 0.00e+00 8.80e-08 -11.0 2.57e-13 - 1.00e+00 1.00e+00h 1
34 -5.3774333e+03 0.00e+00 6.25e-14 -11.0 2.15e-16 - 1.00e+00 1.00e+00 0
Number of Iterations....: 34
(scaled) (unscaled)
Objective...............: -1.1650844657819339e+03 -5.3774332520574226e+03
Dual infeasibility......: 6.2478947168862767e-14 2.8837082454266064e-13
Constraint violation....: 0.0000000000000000e+00 0.0000000000000000e+00
Variable bound violation: 0.0000000000000000e+00 0.0000000000000000e+00
Complementarity.........: 9.0909090909632868e-12 4.1958980891885758e-11
Overall NLP error.......: 9.0909090909632868e-12 4.1958980891885758e-11
Number of objective function evaluations = 35
Number of objective gradient evaluations = 35
Number of equality constraint evaluations = 35
Number of inequality constraint evaluations = 0
Number of equality constraint Jacobian evaluations = 35
Number of inequality constraint Jacobian evaluations = 0
Number of Lagrangian Hessian evaluations = 34
Total seconds in IPOPT = 0.008
EXIT: Optimal Solution Found.
┌ Warning: Verbosity toggle: missing_second_order_ad
│ The selected optimization algorithm requires second order derivatives, but `SecondOrder` ADtype was not provided. So a `SecondOrder` with AutoForwardDiff() for both inner and outer will be created, this can be suboptimal and not work in some cases so an explicit `SecondOrder` ADtype is recommended.
└ @ OptimizationBase ~/.julia/packages/OptimizationBase/BEgWO/src/cache.jl:116
┌ Info: Verbosity toggle: unsupported_kwargs
└ common abstol is currently not used by IpoptOptimizer(1.0e-12, 1000, 1.0e-12, 1.0e-12, 0.0001, "no", "no", "mumps", "none", "", "", "yes", "gradient-based", 100.0, "no", "no", "monotone", "quality-function", 0.1, "obj-constr-filter", "no", "exact", 6, "bfgs", "no", "filter", "no", Dict{String, Any}())
This is Ipopt version 3.14.19, running with linear solver MUMPS 5.9.0.
Number of nonzeros in equality constraint Jacobian...: 32
Number of nonzeros in inequality constraint Jacobian.: 0
Number of nonzeros in Lagrangian Hessian.............: 36
Total number of variables............................: 8
variables with only lower bounds: 0
variables with lower and upper bounds: 8
variables with only upper bounds: 0
Total number of equality constraints.................: 4
Total number of inequality constraints...............: 0
inequality constraints with only lower bounds: 0
inequality constraints with lower and upper bounds: 0
inequality constraints with only upper bounds: 0
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
0 -5.3742579e+03 3.90e-02 2.04e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0
1 -5.3707244e+03 3.00e-02 1.13e+01 -1.0 7.97e-02 - 9.90e-01 2.30e-01h 1
2 -5.3632553e+03 8.96e-03 1.03e+01 -1.0 2.14e-02 - 1.00e+00 7.02e-01h 1
3 -5.3615007e+03 4.27e-03 3.06e+01 -1.0 1.06e-02 - 1.00e+00 5.24e-01h 1
4 -5.3602258e+03 8.02e-04 2.41e+01 -1.0 3.28e-03 - 1.00e+00 8.12e-01h 1
5 -5.3600008e+03 1.98e-04 5.06e+01 -1.0 1.25e-03 - 1.00e+00 7.53e-01h 1
6 -5.3599282e+03 7.32e-19 1.56e+00 -1.0 4.43e-04 - 1.00e+00 1.00e+00f 1
7 -5.3599281e+03 7.11e-15 2.01e-02 -1.0 8.92e-05 - 1.00e+00 1.00e+00f 1
8 -5.3607090e+03 4.07e-19 3.26e-01 -2.5 3.21e-02 - 1.00e+00 1.00e+00f 1
9 -5.3607467e+03 7.11e-15 6.26e-02 -2.5 1.84e-03 - 1.00e+00 1.00e+00f 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
10 -5.3607516e+03 7.11e-15 4.26e-03 -2.5 2.61e-04 - 1.00e+00 1.00e+00f 1
11 -5.3607712e+03 1.36e-19 1.70e+00 -3.8 1.12e-03 - 1.00e+00 9.90e-01f 1
12 -5.3607737e+03 8.13e-20 6.64e+01 -3.8 3.33e-04 - 1.00e+00 1.00e+00f 1
13 -5.3607734e+03 2.71e-20 5.12e-02 -3.8 5.76e-05 - 1.00e+00 1.00e+00f 1
14 -5.3607733e+03 2.17e-19 3.46e-04 -3.8 1.11e-05 - 1.00e+00 1.00e+00f 1
15 -5.3607751e+03 7.11e-15 4.04e-01 -5.7 2.29e-04 - 7.04e-01 1.00e+00f 1
16 -5.3607754e+03 7.11e-15 7.46e-02 -5.7 1.20e-04 - 1.00e+00 1.00e+00f 1
17 -5.3607755e+03 2.17e-19 5.52e-02 -5.7 3.36e-05 - 1.00e+00 1.00e+00f 1
18 -5.3607755e+03 0.00e+00 7.65e-03 -5.7 7.78e-06 - 1.00e+00 1.00e+00f 1
19 -5.3607755e+03 2.71e-20 8.13e-05 -5.7 7.45e-07 - 1.00e+00 1.00e+00f 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
20 -5.3607755e+03 2.17e-19 1.44e-08 -5.7 1.06e-08 - 1.00e+00 1.00e+00h 1
21 -5.3607755e+03 1.36e-20 2.88e-01 -8.6 1.06e-05 - 9.89e-01 1.00e+00f 1
22 -5.3607755e+03 7.11e-15 1.16e-01 -8.6 8.45e-07 - 1.00e+00 1.00e+00f 1
23 -5.3607755e+03 1.36e-20 1.11e-01 -8.6 2.03e-07 - 1.00e+00 1.00e+00h 1
24 -5.3607755e+03 2.17e-19 3.63e-02 -8.6 6.24e-08 - 1.00e+00 1.00e+00f 1
25 -5.3607755e+03 2.17e-19 3.66e-03 -8.6 1.57e-08 - 1.00e+00 1.00e+00h 1
26 -5.3607755e+03 7.11e-15 2.20e-05 -8.6 1.34e-09 - 1.00e+00 1.00e+00h 1
27 -5.3607755e+03 0.00e+00 8.98e-10 -8.6 1.17e-11 - 1.00e+00 1.00e+00h 1
28 -5.3607755e+03 7.11e-15 1.28e-01 -11.0 1.53e-08 - 1.00e+00 1.00e+00f 1
29 -5.3607755e+03 2.17e-19 3.52e-02 -11.0 1.28e-09 - 1.00e+00 1.00e+00h 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
30 -5.3607755e+03 7.11e-15 2.15e-02 -11.0 2.25e-10 - 1.00e+00 1.00e+00h 1
31 -5.3607755e+03 2.17e-19 3.23e-03 -11.0 5.94e-11 - 1.00e+00 1.00e+00h 1
32 -5.3607755e+03 0.00e+00 1.01e-04 -11.0 9.23e-12 - 1.00e+00 1.00e+00h 1
33 -5.3607755e+03 1.36e-20 7.23e-08 -11.0 2.42e-13 - 1.00e+00 1.00e+00f 1
34 -5.3607755e+03 0.00e+00 4.14e-14 -11.0 1.84e-16 - 1.00e+00 1.00e+00 0
Number of Iterations....: 34
(scaled) (unscaled)
Objective...............: -1.1653292653838334e+03 -5.3607754865287843e+03
Dual infeasibility......: 4.1415934723543792e-14 1.9052257092721422e-13
Constraint violation....: 0.0000000000000000e+00 0.0000000000000000e+00
Variable bound violation: 0.0000000000000000e+00 0.0000000000000000e+00
Complementarity.........: 9.0909090909472457e-12 4.1820216871460501e-11
Overall NLP error.......: 9.0909090909472457e-12 4.1820216871460501e-11
Number of objective function evaluations = 35
Number of objective gradient evaluations = 35
Number of equality constraint evaluations = 35
Number of inequality constraint evaluations = 0
Number of equality constraint Jacobian evaluations = 35
Number of inequality constraint Jacobian evaluations = 0
Number of Lagrangian Hessian evaluations = 34
Total seconds in IPOPT = 0.008
EXIT: Optimal Solution Found.
┌ Warning: Verbosity toggle: missing_second_order_ad
│ The selected optimization algorithm requires second order derivatives, but `SecondOrder` ADtype was not provided. So a `SecondOrder` with AutoForwardDiff() for both inner and outer will be created, this can be suboptimal and not work in some cases so an explicit `SecondOrder` ADtype is recommended.
└ @ OptimizationBase ~/.julia/packages/OptimizationBase/BEgWO/src/cache.jl:116
┌ Info: Verbosity toggle: unsupported_kwargs
└ common abstol is currently not used by IpoptOptimizer(1.0e-12, 1000, 1.0e-12, 1.0e-12, 0.0001, "no", "no", "mumps", "none", "", "", "yes", "gradient-based", 100.0, "no", "no", "monotone", "quality-function", 0.1, "obj-constr-filter", "no", "exact", 6, "bfgs", "no", "filter", "no", Dict{String, Any}())
This is Ipopt version 3.14.19, running with linear solver MUMPS 5.9.0.
Number of nonzeros in equality constraint Jacobian...: 32
Number of nonzeros in inequality constraint Jacobian.: 0
Number of nonzeros in Lagrangian Hessian.............: 36
Total number of variables............................: 8
variables with only lower bounds: 0
variables with lower and upper bounds: 8
variables with only upper bounds: 0
Total number of equality constraints.................: 4
Total number of inequality constraints...............: 0
inequality constraints with only lower bounds: 0
inequality constraints with lower and upper bounds: 0
inequality constraints with only upper bounds: 0
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
0 -5.3576747e+03 3.90e-02 2.04e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0
1 -5.3541505e+03 3.00e-02 1.13e+01 -1.0 7.97e-02 - 9.90e-01 2.30e-01h 1
2 -5.3467064e+03 8.95e-03 1.03e+01 -1.0 2.14e-02 - 1.00e+00 7.02e-01h 1
3 -5.3449585e+03 4.26e-03 3.06e+01 -1.0 1.06e-02 - 1.00e+00 5.24e-01h 1
4 -5.3436891e+03 8.05e-04 2.42e+01 -1.0 3.28e-03 - 1.00e+00 8.11e-01h 1
5 -5.3434640e+03 1.98e-04 5.04e+01 -1.0 1.25e-03 - 1.00e+00 7.54e-01h 1
6 -5.3433917e+03 8.13e-20 1.54e+00 -1.0 4.44e-04 - 1.00e+00 1.00e+00f 1
7 -5.3433916e+03 7.11e-15 2.04e-02 -1.0 8.97e-05 - 1.00e+00 1.00e+00f 1
8 -5.3441696e+03 3.71e-18 3.27e-01 -2.5 3.21e-02 - 1.00e+00 1.00e+00f 1
9 -5.3442072e+03 7.11e-15 6.29e-02 -2.5 1.85e-03 - 1.00e+00 1.00e+00f 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
10 -5.3442122e+03 1.36e-19 4.31e-03 -2.5 2.62e-04 - 1.00e+00 1.00e+00f 1
11 -5.3442317e+03 1.36e-19 1.70e+00 -3.8 1.12e-03 - 1.00e+00 9.90e-01f 1
12 -5.3442342e+03 7.11e-15 6.67e+01 -3.8 3.31e-04 - 1.00e+00 1.00e+00f 1
13 -5.3442338e+03 7.11e-15 5.25e-02 -3.8 5.86e-05 - 1.00e+00 1.00e+00f 1
14 -5.3442338e+03 7.11e-15 3.50e-04 -3.8 1.08e-05 - 1.00e+00 1.00e+00f 1
15 -5.3442356e+03 1.36e-20 4.05e-01 -5.7 2.29e-04 - 7.05e-01 1.00e+00f 1
16 -5.3442359e+03 0.00e+00 7.48e-02 -5.7 1.19e-04 - 1.00e+00 1.00e+00f 1
17 -5.3442359e+03 2.17e-19 5.54e-02 -5.7 3.35e-05 - 1.00e+00 1.00e+00f 1
18 -5.3442360e+03 2.17e-19 7.67e-03 -5.7 7.76e-06 - 1.00e+00 1.00e+00f 1
19 -5.3442360e+03 2.17e-19 8.25e-05 -5.7 7.39e-07 - 1.00e+00 1.00e+00f 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
20 -5.3442360e+03 2.17e-19 1.53e-08 -5.7 1.08e-08 - 1.00e+00 1.00e+00h 1
21 -5.3442360e+03 7.11e-15 2.88e-01 -8.6 1.06e-05 - 9.89e-01 1.00e+00f 1
22 -5.3442360e+03 2.17e-19 1.15e-01 -8.6 8.36e-07 - 1.00e+00 1.00e+00f 1
23 -5.3442360e+03 2.17e-19 1.11e-01 -8.6 2.05e-07 - 1.00e+00 1.00e+00f 1
24 -5.3442360e+03 2.17e-19 3.65e-02 -8.6 6.27e-08 - 1.00e+00 1.00e+00f 1
25 -5.3442360e+03 7.11e-15 3.73e-03 -8.6 1.56e-08 - 1.00e+00 1.00e+00h 1
26 -5.3442360e+03 2.17e-19 2.30e-05 -8.6 1.31e-09 - 1.00e+00 1.00e+00h 1
27 -5.3442360e+03 7.11e-15 9.93e-10 -8.6 1.07e-11 - 1.00e+00 1.00e+00h 1
28 -5.3442360e+03 7.11e-15 1.26e-01 -11.0 1.54e-08 - 1.00e+00 1.00e+00h 1
29 -5.3442360e+03 2.17e-19 3.47e-02 -11.0 1.25e-09 - 1.00e+00 1.00e+00h 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
30 -5.3442360e+03 7.11e-15 2.09e-02 -11.0 2.28e-10 - 1.00e+00 1.00e+00h 1
31 -5.3442360e+03 2.17e-19 3.07e-03 -11.0 5.99e-11 - 1.00e+00 1.00e+00h 1
32 -5.3442360e+03 2.17e-19 9.09e-05 -11.0 9.10e-12 - 1.00e+00 1.00e+00h 1
33 -5.3442360e+03 7.11e-15 5.90e-08 -11.0 2.27e-13 - 1.00e+00 1.00e+00h 1
34 -5.3442360e+03 0.00e+00 2.73e-14 -11.0 7.06e-15 - 1.00e+00 1.00e+00 0
Number of Iterations....: 34
(scaled) (unscaled)
Objective...............: -1.1655749965609825e+03 -5.3442359725851584e+03
Dual infeasibility......: 2.7298755076035562e-14 1.2516653953163963e-13
Constraint violation....: 0.0000000000000000e+00 0.0000000000000000e+00
Variable bound violation: 0.0000000000000000e+00 0.0000000000000000e+00
Complementarity.........: 9.0909090909355860e-12 4.1682400129228838e-11
Overall NLP error.......: 9.0909090909355860e-12 4.1682400129228838e-11
Number of objective function evaluations = 35
Number of objective gradient evaluations = 35
Number of equality constraint evaluations = 35
Number of inequality constraint evaluations = 0
Number of equality constraint Jacobian evaluations = 35
Number of inequality constraint Jacobian evaluations = 0
Number of Lagrangian Hessian evaluations = 34
Total seconds in IPOPT = 0.008
EXIT: Optimal Solution Found.
┌ Warning: Verbosity toggle: missing_second_order_ad
│ The selected optimization algorithm requires second order derivatives, but `SecondOrder` ADtype was not provided. So a `SecondOrder` with AutoForwardDiff() for both inner and outer will be created, this can be suboptimal and not work in some cases so an explicit `SecondOrder` ADtype is recommended.
└ @ OptimizationBase ~/.julia/packages/OptimizationBase/BEgWO/src/cache.jl:116
┌ Info: Verbosity toggle: unsupported_kwargs
└ common abstol is currently not used by IpoptOptimizer(1.0e-12, 1000, 1.0e-12, 1.0e-12, 0.0001, "no", "no", "mumps", "none", "", "", "yes", "gradient-based", 100.0, "no", "no", "monotone", "quality-function", 0.1, "obj-constr-filter", "no", "exact", 6, "bfgs", "no", "filter", "no", Dict{String, Any}())
This is Ipopt version 3.14.19, running with linear solver MUMPS 5.9.0.
Number of nonzeros in equality constraint Jacobian...: 32
Number of nonzeros in inequality constraint Jacobian.: 0
Number of nonzeros in Lagrangian Hessian.............: 36
Total number of variables............................: 8
variables with only lower bounds: 0
variables with lower and upper bounds: 8
variables with only upper bounds: 0
Total number of equality constraints.................: 4
Total number of inequality constraints...............: 0
inequality constraints with only lower bounds: 0
inequality constraints with lower and upper bounds: 0
inequality constraints with only upper bounds: 0
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
0 -5.3412089e+03 3.90e-02 2.05e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0
1 -5.3376937e+03 3.00e-02 1.13e+01 -1.0 7.96e-02 - 9.90e-01 2.30e-01h 1
2 -5.3302745e+03 8.95e-03 1.03e+01 -1.0 2.14e-02 - 1.00e+00 7.02e-01h 1
3 -5.3285333e+03 4.26e-03 3.06e+01 -1.0 1.06e-02 - 1.00e+00 5.24e-01h 1
4 -5.3272695e+03 8.07e-04 2.43e+01 -1.0 3.27e-03 - 1.00e+00 8.11e-01h 1
5 -5.3270441e+03 1.97e-04 5.01e+01 -1.0 1.26e-03 - 1.00e+00 7.55e-01h 1
6 -5.3269722e+03 7.11e-15 1.53e+00 -1.0 4.45e-04 - 1.00e+00 1.00e+00f 1
7 -5.3269721e+03 1.38e-18 2.08e-02 -1.0 9.02e-05 - 1.00e+00 1.00e+00f 1
8 -5.3277473e+03 2.25e-18 3.27e-01 -2.5 3.21e-02 - 1.00e+00 1.00e+00f 1
9 -5.3277849e+03 2.44e-19 6.31e-02 -2.5 1.85e-03 - 1.00e+00 1.00e+00f 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
10 -5.3277898e+03 7.11e-15 4.36e-03 -2.5 2.63e-04 - 1.00e+00 1.00e+00f 1
11 -5.3278093e+03 8.13e-20 1.71e+00 -3.8 1.12e-03 - 1.00e+00 9.91e-01f 1
12 -5.3278117e+03 2.17e-19 6.69e+01 -3.8 3.30e-04 - 1.00e+00 1.00e+00f 1
13 -5.3278114e+03 2.17e-19 5.38e-02 -3.8 5.96e-05 - 1.00e+00 1.00e+00f 1
14 -5.3278113e+03 2.17e-19 3.53e-04 -3.8 1.05e-05 - 1.00e+00 1.00e+00f 1
15 -5.3278131e+03 4.07e-20 4.06e-01 -5.7 2.29e-04 - 7.05e-01 1.00e+00f 1
16 -5.3278134e+03 2.17e-19 7.50e-02 -5.7 1.19e-04 - 1.00e+00 1.00e+00f 1
17 -5.3278135e+03 2.71e-20 5.56e-02 -5.7 3.35e-05 - 1.00e+00 1.00e+00f 1
18 -5.3278135e+03 7.11e-15 7.69e-03 -5.7 7.73e-06 - 1.00e+00 1.00e+00f 1
19 -5.3278135e+03 7.11e-15 8.38e-05 -5.7 7.34e-07 - 1.00e+00 1.00e+00h 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
20 -5.3278135e+03 2.71e-20 1.63e-08 -5.7 1.09e-08 - 1.00e+00 1.00e+00h 1
21 -5.3278135e+03 2.71e-20 2.88e-01 -8.6 1.06e-05 - 9.89e-01 1.00e+00f 1
22 -5.3278135e+03 7.11e-15 1.15e-01 -8.6 8.28e-07 - 1.00e+00 1.00e+00f 1
23 -5.3278135e+03 7.11e-15 1.11e-01 -8.6 2.07e-07 - 1.00e+00 1.00e+00h 1
24 -5.3278135e+03 7.11e-15 3.66e-02 -8.6 6.31e-08 - 1.00e+00 1.00e+00h 1
25 -5.3278135e+03 0.00e+00 3.80e-03 -8.6 1.56e-08 - 1.00e+00 1.00e+00h 1
26 -5.3278135e+03 7.11e-15 2.41e-05 -8.6 1.27e-09 - 1.00e+00 1.00e+00f 1
27 -5.3278135e+03 7.11e-15 1.10e-09 -8.6 9.84e-12 - 1.00e+00 1.00e+00h 1
28 -5.3278135e+03 7.11e-15 1.25e-01 -11.0 1.54e-08 - 1.00e+00 1.00e+00h 1
29 -5.3278135e+03 7.11e-15 3.42e-02 -11.0 1.22e-09 - 1.00e+00 1.00e+00h 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
30 -5.3278135e+03 7.11e-15 2.04e-02 -11.0 2.31e-10 - 1.00e+00 1.00e+00h 1
31 -5.3278135e+03 1.36e-20 2.90e-03 -11.0 6.03e-11 - 1.00e+00 1.00e+00h 1
32 -5.3278135e+03 2.17e-19 8.17e-05 -11.0 8.95e-12 - 1.00e+00 1.00e+00h 1
33 -5.3278135e+03 2.17e-19 4.78e-08 -11.0 2.13e-13 - 1.00e+00 1.00e+00h 1
34 -5.3278135e+03 0.00e+00 1.75e-14 -11.0 1.32e-16 - 1.00e+00 1.00e+00 0
Number of Iterations....: 34
(scaled) (unscaled)
Objective...............: -1.1658216548503071e+03 -5.3278134969985113e+03
Dual infeasibility......: 1.7528792459324781e-14 8.0106709857664904e-14
Constraint violation....: 0.0000000000000000e+00 0.0000000000000000e+00
Variable bound violation: 0.0000000000000000e+00 0.0000000000000000e+00
Complementarity.........: 9.0909090909272399e-12 4.1545521095032061e-11
Overall NLP error.......: 9.0909090909272399e-12 4.1545521095032061e-11
Number of objective function evaluations = 35
Number of objective gradient evaluations = 35
Number of equality constraint evaluations = 35
Number of inequality constraint evaluations = 0
Number of equality constraint Jacobian evaluations = 35
Number of inequality constraint Jacobian evaluations = 0
Number of Lagrangian Hessian evaluations = 34
Total seconds in IPOPT = 0.008
EXIT: Optimal Solution Found.
┌ Warning: Verbosity toggle: missing_second_order_ad
│ The selected optimization algorithm requires second order derivatives, but `SecondOrder` ADtype was not provided. So a `SecondOrder` with AutoForwardDiff() for both inner and outer will be created, this can be suboptimal and not work in some cases so an explicit `SecondOrder` ADtype is recommended.
└ @ OptimizationBase ~/.julia/packages/OptimizationBase/BEgWO/src/cache.jl:116
┌ Info: Verbosity toggle: unsupported_kwargs
└ common abstol is currently not used by IpoptOptimizer(1.0e-12, 1000, 1.0e-12, 1.0e-12, 0.0001, "no", "no", "mumps", "none", "", "", "yes", "gradient-based", 100.0, "no", "no", "monotone", "quality-function", 0.1, "obj-constr-filter", "no", "exact", 6, "bfgs", "no", "filter", "no", Dict{String, Any}())
This is Ipopt version 3.14.19, running with linear solver MUMPS 5.9.0.
Number of nonzeros in equality constraint Jacobian...: 32
Number of nonzeros in inequality constraint Jacobian.: 0
Number of nonzeros in Lagrangian Hessian.............: 36
Total number of variables............................: 8
variables with only lower bounds: 0
variables with lower and upper bounds: 8
variables with only upper bounds: 0
Total number of equality constraints.................: 4
Total number of inequality constraints...............: 0
inequality constraints with only lower bounds: 0
inequality constraints with lower and upper bounds: 0
inequality constraints with only upper bounds: 0
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
0 -5.3248592e+03 3.90e-02 2.05e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0
1 -5.3213530e+03 3.00e-02 1.13e+01 -1.0 7.96e-02 - 9.90e-01 2.31e-01h 1
2 -5.3139586e+03 8.94e-03 1.03e+01 -1.0 2.14e-02 - 1.00e+00 7.02e-01h 1
3 -5.3122239e+03 4.26e-03 3.07e+01 -1.0 1.06e-02 - 1.00e+00 5.24e-01h 1
4 -5.3109657e+03 8.09e-04 2.44e+01 -1.0 3.27e-03 - 1.00e+00 8.10e-01h 1
5 -5.3107401e+03 1.97e-04 4.99e+01 -1.0 1.26e-03 - 1.00e+00 7.57e-01h 1
6 -5.3106686e+03 1.27e-18 1.51e+00 -1.0 4.46e-04 - 1.00e+00 1.00e+00f 1
7 -5.3106684e+03 7.11e-15 2.11e-02 -1.0 9.07e-05 - 1.00e+00 1.00e+00f 1
8 -5.3114408e+03 1.65e-18 3.28e-01 -2.5 3.21e-02 - 1.00e+00 1.00e+00f 1
9 -5.3114783e+03 7.11e-15 6.34e-02 -2.5 1.85e-03 - 1.00e+00 1.00e+00f 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
10 -5.3114832e+03 2.71e-20 4.41e-03 -2.5 2.65e-04 - 1.00e+00 1.00e+00f 1
11 -5.3115027e+03 7.11e-15 1.71e+00 -3.8 1.12e-03 - 1.00e+00 9.91e-01f 1
12 -5.3115051e+03 2.17e-19 6.71e+01 -3.8 3.29e-04 - 1.00e+00 1.00e+00f 1
13 -5.3115048e+03 7.11e-15 5.51e-02 -3.8 6.05e-05 - 1.00e+00 1.00e+00f 1
14 -5.3115047e+03 7.11e-15 3.61e-04 -3.8 1.03e-05 - 1.00e+00 1.00e+00f 1
15 -5.3115065e+03 7.11e-15 4.07e-01 -5.7 2.30e-04 - 7.05e-01 1.00e+00f 1
16 -5.3115068e+03 2.17e-19 7.52e-02 -5.7 1.19e-04 - 1.00e+00 1.00e+00f 1
17 -5.3115068e+03 7.11e-15 5.58e-02 -5.7 3.35e-05 - 1.00e+00 1.00e+00f 1
18 -5.3115068e+03 0.00e+00 7.72e-03 -5.7 7.70e-06 - 1.00e+00 1.00e+00f 1
19 -5.3115068e+03 7.11e-15 8.51e-05 -5.7 7.28e-07 - 1.00e+00 1.00e+00f 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
20 -5.3115068e+03 7.11e-15 1.73e-08 -5.7 1.11e-08 - 1.00e+00 1.00e+00h 1
21 -5.3115069e+03 7.11e-15 2.88e-01 -8.6 1.06e-05 - 9.89e-01 1.00e+00f 1
22 -5.3115069e+03 2.17e-19 1.15e-01 -8.6 8.21e-07 - 1.00e+00 1.00e+00f 1
23 -5.3115069e+03 2.17e-19 1.11e-01 -8.6 2.10e-07 - 1.00e+00 1.00e+00f 1
24 -5.3115069e+03 0.00e+00 3.68e-02 -8.6 6.34e-08 - 1.00e+00 1.00e+00f 1
25 -5.3115069e+03 7.11e-15 3.87e-03 -8.6 1.55e-08 - 1.00e+00 1.00e+00f 1
26 -5.3115069e+03 7.11e-15 2.53e-05 -8.6 1.23e-09 - 1.00e+00 1.00e+00h 1
27 -5.3115069e+03 0.00e+00 1.22e-09 -8.6 8.99e-12 - 1.00e+00 1.00e+00h 1
28 -5.3115069e+03 2.17e-19 1.24e-01 -11.0 1.55e-08 - 1.00e+00 1.00e+00f 1
29 -5.3115069e+03 7.11e-15 3.37e-02 -11.0 1.18e-09 - 1.00e+00 1.00e+00h 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
30 -5.3115069e+03 7.11e-15 1.98e-02 -11.0 2.34e-10 - 1.00e+00 1.00e+00h 1
31 -5.3115069e+03 7.11e-15 2.75e-03 -11.0 6.07e-11 - 1.00e+00 1.00e+00h 1
32 -5.3115069e+03 7.11e-15 7.31e-05 -11.0 8.80e-12 - 1.00e+00 1.00e+00h 1
33 -5.3115069e+03 7.11e-15 3.84e-08 -11.0 1.98e-13 - 1.00e+00 1.00e+00h 1
34 -5.3115069e+03 1.36e-20 1.30e-14 -11.0 7.07e-15 - 1.00e+00 1.00e+00 0
Number of Iterations....: 34
(scaled) (unscaled)
Objective...............: -1.1660692358233002e+03 -5.3115068629474181e+03
Dual infeasibility......: 1.2969939164447912e-14 5.9078756876160982e-14
Constraint violation....: 1.3552527156068805e-20 1.3552527156068805e-20
Variable bound violation: 0.0000000000000000e+00 0.0000000000000000e+00
Complementarity.........: 9.0909090909213462e-12 4.1409570326900266e-11
Overall NLP error.......: 9.0909090909213462e-12 4.1409570326900266e-11
Number of objective function evaluations = 35
Number of objective gradient evaluations = 35
Number of equality constraint evaluations = 35
Number of inequality constraint evaluations = 0
Number of equality constraint Jacobian evaluations = 35
Number of inequality constraint Jacobian evaluations = 0
Number of Lagrangian Hessian evaluations = 34
Total seconds in IPOPT = 0.008
EXIT: Optimal Solution Found.
┌ Warning: Verbosity toggle: missing_second_order_ad
│ The selected optimization algorithm requires second order derivatives, but `SecondOrder` ADtype was not provided. So a `SecondOrder` with AutoForwardDiff() for both inner and outer will be created, this can be suboptimal and not work in some cases so an explicit `SecondOrder` ADtype is recommended.
└ @ OptimizationBase ~/.julia/packages/OptimizationBase/BEgWO/src/cache.jl:116
┌ Info: Verbosity toggle: unsupported_kwargs
└ common abstol is currently not used by IpoptOptimizer(1.0e-12, 1000, 1.0e-12, 1.0e-12, 0.0001, "no", "no", "mumps", "none", "", "", "yes", "gradient-based", 100.0, "no", "no", "monotone", "quality-function", 0.1, "obj-constr-filter", "no", "exact", 6, "bfgs", "no", "filter", "no", Dict{String, Any}())
This is Ipopt version 3.14.19, running with linear solver MUMPS 5.9.0.
Number of nonzeros in equality constraint Jacobian...: 32
Number of nonzeros in inequality constraint Jacobian.: 0
Number of nonzeros in Lagrangian Hessian.............: 36
Total number of variables............................: 8
variables with only lower bounds: 0
variables with lower and upper bounds: 8
variables with only upper bounds: 0
Total number of equality constraints.................: 4
Total number of inequality constraints...............: 0
inequality constraints with only lower bounds: 0
inequality constraints with lower and upper bounds: 0
inequality constraints with only upper bounds: 0
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
0 -5.3086244e+03 3.90e-02 2.05e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0
1 -5.3051272e+03 3.00e-02 1.13e+01 -1.0 7.96e-02 - 9.90e-01 2.31e-01h 1
2 -5.2977573e+03 8.94e-03 1.03e+01 -1.0 2.14e-02 - 1.00e+00 7.02e-01h 1
3 -5.2960293e+03 4.26e-03 3.07e+01 -1.0 1.06e-02 - 1.00e+00 5.23e-01h 1
4 -5.2947765e+03 8.11e-04 2.45e+01 -1.0 3.27e-03 - 1.00e+00 8.10e-01h 1
5 -5.2945507e+03 1.96e-04 4.97e+01 -1.0 1.26e-03 - 1.00e+00 7.58e-01h 1
6 -5.2944795e+03 3.77e-18 1.50e+00 -1.0 4.47e-04 - 1.00e+00 1.00e+00f 1
7 -5.2944794e+03 5.15e-19 2.15e-02 -1.0 9.11e-05 - 1.00e+00 1.00e+00f 1
8 -5.2952490e+03 2.44e-19 3.28e-01 -2.5 3.21e-02 - 1.00e+00 1.00e+00f 1
9 -5.2952864e+03 3.52e-19 6.36e-02 -2.5 1.86e-03 - 1.00e+00 1.00e+00f 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
10 -5.2952914e+03 7.11e-15 4.46e-03 -2.5 2.66e-04 - 1.00e+00 1.00e+00f 1
11 -5.2953107e+03 7.11e-15 1.72e+00 -3.8 1.12e-03 - 1.00e+00 9.91e-01f 1
12 -5.2953131e+03 2.17e-19 6.73e+01 -3.8 3.28e-04 - 1.00e+00 1.00e+00f 1
13 -5.2953128e+03 2.71e-20 5.63e-02 -3.8 6.14e-05 - 1.00e+00 1.00e+00f 1
14 -5.2953128e+03 7.11e-15 3.68e-04 -3.8 1.01e-05 - 1.00e+00 1.00e+00f 1
15 -5.2953145e+03 1.36e-20 4.07e-01 -5.7 2.30e-04 - 7.05e-01 1.00e+00f 1
16 -5.2953148e+03 0.00e+00 7.53e-02 -5.7 1.19e-04 - 1.00e+00 1.00e+00f 1
17 -5.2953149e+03 0.00e+00 5.60e-02 -5.7 3.35e-05 - 1.00e+00 1.00e+00f 1
18 -5.2953149e+03 1.36e-20 7.75e-03 -5.7 7.66e-06 - 1.00e+00 1.00e+00f 1
19 -5.2953149e+03 1.36e-20 8.64e-05 -5.7 7.23e-07 - 1.00e+00 1.00e+00f 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
20 -5.2953149e+03 7.11e-15 1.84e-08 -5.7 1.12e-08 - 1.00e+00 1.00e+00h 1
21 -5.2953149e+03 7.11e-15 2.88e-01 -8.6 1.05e-05 - 9.89e-01 1.00e+00f 1
22 -5.2953149e+03 7.11e-15 1.15e-01 -8.6 8.13e-07 - 1.00e+00 1.00e+00f 1
23 -5.2953149e+03 7.11e-15 1.11e-01 -8.6 2.12e-07 - 1.00e+00 1.00e+00h 1
24 -5.2953149e+03 7.11e-15 3.69e-02 -8.6 6.37e-08 - 1.00e+00 1.00e+00h 1
25 -5.2953149e+03 1.36e-20 3.94e-03 -8.6 1.54e-08 - 1.00e+00 1.00e+00h 1
26 -5.2953149e+03 7.11e-15 2.64e-05 -8.6 1.18e-09 - 1.00e+00 1.00e+00h 1
27 -5.2953149e+03 7.11e-15 1.34e-09 -8.6 8.17e-12 - 1.00e+00 1.00e+00h 1
28 -5.2953149e+03 7.11e-15 1.23e-01 -11.0 1.55e-08 - 1.00e+00 1.00e+00h 1
29 -5.2953149e+03 7.11e-15 3.31e-02 -11.0 1.15e-09 - 1.00e+00 1.00e+00h 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
30 -5.2953149e+03 7.11e-15 1.92e-02 -11.0 2.37e-10 - 1.00e+00 1.00e+00h 1
31 -5.2953149e+03 0.00e+00 2.60e-03 -11.0 6.10e-11 - 1.00e+00 1.00e+00h 1
32 -5.2953149e+03 7.11e-15 6.53e-05 -11.0 8.64e-12 - 1.00e+00 1.00e+00f 1
33 -5.2953149e+03 7.11e-15 3.07e-08 -11.0 1.84e-13 - 1.00e+00 1.00e+00h 1
34 -5.2953149e+03 1.36e-20 1.64e-14 -11.0 7.13e-15 - 1.00e+00 1.00e+00 0
Number of Iterations....: 34
(scaled) (unscaled)
Objective...............: -1.1663177350855913e+03 -5.2953148897415495e+03
Dual infeasibility......: 1.6374945166240303e-14 7.4345513532922785e-14
Constraint violation....: 1.3552527156068805e-20 1.3552527156068805e-20
Variable bound violation: 0.0000000000000000e+00 0.0000000000000000e+00
Complementarity.........: 9.0909090909172507e-12 4.1274538508915142e-11
Overall NLP error.......: 9.0909090909172507e-12 4.1274538508915142e-11
Number of objective function evaluations = 35
Number of objective gradient evaluations = 35
Number of equality constraint evaluations = 35
Number of inequality constraint evaluations = 0
Number of equality constraint Jacobian evaluations = 35
Number of inequality constraint Jacobian evaluations = 0
Number of Lagrangian Hessian evaluations = 34
Total seconds in IPOPT = 0.008
EXIT: Optimal Solution Found.
┌ Warning: Verbosity toggle: missing_second_order_ad
│ The selected optimization algorithm requires second order derivatives, but `SecondOrder` ADtype was not provided. So a `SecondOrder` with AutoForwardDiff() for both inner and outer will be created, this can be suboptimal and not work in some cases so an explicit `SecondOrder` ADtype is recommended.
└ @ OptimizationBase ~/.julia/packages/OptimizationBase/BEgWO/src/cache.jl:116
┌ Info: Verbosity toggle: unsupported_kwargs
└ common abstol is currently not used by IpoptOptimizer(1.0e-12, 1000, 1.0e-12, 1.0e-12, 0.0001, "no", "no", "mumps", "none", "", "", "yes", "gradient-based", 100.0, "no", "no", "monotone", "quality-function", 0.1, "obj-constr-filter", "no", "exact", 6, "bfgs", "no", "filter", "no", Dict{String, Any}())
This is Ipopt version 3.14.19, running with linear solver MUMPS 5.9.0.
Number of nonzeros in equality constraint Jacobian...: 32
Number of nonzeros in inequality constraint Jacobian.: 0
Number of nonzeros in Lagrangian Hessian.............: 36
Total number of variables............................: 8
variables with only lower bounds: 0
variables with lower and upper bounds: 8
variables with only upper bounds: 0
Total number of equality constraints.................: 4
Total number of inequality constraints...............: 0
inequality constraints with only lower bounds: 0
inequality constraints with lower and upper bounds: 0
inequality constraints with only upper bounds: 0
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
0 -5.2925034e+03 3.90e-02 2.06e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0
1 -5.2890150e+03 3.00e-02 1.13e+01 -1.0 7.95e-02 - 9.90e-01 2.31e-01h 1
2 -5.2816696e+03 8.93e-03 1.03e+01 -1.0 2.14e-02 - 1.00e+00 7.02e-01h 1
3 -5.2799481e+03 4.26e-03 3.07e+01 -1.0 1.06e-02 - 1.00e+00 5.23e-01h 1
4 -5.2787008e+03 8.13e-04 2.46e+01 -1.0 3.27e-03 - 1.00e+00 8.09e-01h 1
5 -5.2784748e+03 1.96e-04 4.94e+01 -1.0 1.26e-03 - 1.00e+00 7.59e-01h 1
6 -5.2784040e+03 1.22e-18 1.49e+00 -1.0 4.48e-04 - 1.00e+00 1.00e+00f 1
7 -5.2784039e+03 2.71e-20 2.19e-02 -1.0 9.16e-05 - 1.00e+00 1.00e+00f 1
8 -5.2791706e+03 2.95e-18 3.29e-01 -2.5 3.21e-02 - 1.00e+00 1.00e+00f 1
9 -5.2792080e+03 2.44e-19 6.39e-02 -2.5 1.86e-03 - 1.00e+00 1.00e+00f 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
10 -5.2792130e+03 2.71e-20 4.51e-03 -2.5 2.67e-04 - 1.00e+00 1.00e+00f 1
11 -5.2792323e+03 2.17e-19 1.73e+00 -3.8 1.12e-03 - 1.00e+00 9.92e-01f 1
12 -5.2792347e+03 7.11e-15 6.75e+01 -3.8 3.27e-04 - 1.00e+00 1.00e+00f 1
13 -5.2792343e+03 7.11e-15 5.76e-02 -3.8 6.23e-05 - 1.00e+00 1.00e+00f 1
14 -5.2792343e+03 7.11e-15 3.76e-04 -3.8 9.83e-06 - 1.00e+00 1.00e+00f 1
15 -5.2792360e+03 2.71e-20 4.08e-01 -5.7 2.30e-04 - 7.05e-01 1.00e+00f 1
16 -5.2792363e+03 7.11e-15 7.55e-02 -5.7 1.18e-04 - 1.00e+00 1.00e+00f 1
17 -5.2792364e+03 7.11e-15 5.61e-02 -5.7 3.34e-05 - 1.00e+00 1.00e+00f 1
18 -5.2792364e+03 7.11e-15 7.77e-03 -5.7 7.63e-06 - 1.00e+00 1.00e+00f 1
19 -5.2792364e+03 0.00e+00 8.79e-05 -5.7 7.17e-07 - 1.00e+00 1.00e+00h 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
20 -5.2792364e+03 7.11e-15 1.96e-08 -5.7 1.14e-08 - 1.00e+00 1.00e+00f 1
21 -5.2792364e+03 7.11e-15 2.88e-01 -8.6 1.05e-05 - 9.89e-01 1.00e+00f 1
22 -5.2792364e+03 0.00e+00 1.15e-01 -8.6 8.06e-07 - 1.00e+00 1.00e+00f 1
23 -5.2792364e+03 7.11e-15 1.11e-01 -8.6 2.14e-07 - 1.00e+00 1.00e+00f 1
24 -5.2792364e+03 2.17e-19 3.71e-02 -8.6 6.41e-08 - 1.00e+00 1.00e+00h 1
25 -5.2792364e+03 1.36e-20 4.01e-03 -8.6 1.53e-08 - 1.00e+00 1.00e+00h 1
26 -5.2792364e+03 0.00e+00 2.77e-05 -8.6 1.14e-09 - 1.00e+00 1.00e+00h 1
27 -5.2792364e+03 0.00e+00 1.48e-09 -8.6 7.41e-12 - 1.00e+00 1.00e+00f 1
28 -5.2792364e+03 7.11e-15 1.22e-01 -11.0 1.55e-08 - 1.00e+00 1.00e+00f 1
29 -5.2792364e+03 7.11e-15 3.26e-02 -11.0 1.12e-09 - 1.00e+00 1.00e+00h 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
30 -5.2792364e+03 2.17e-19 1.86e-02 -11.0 2.40e-10 - 1.00e+00 1.00e+00h 1
31 -5.2792364e+03 7.11e-15 2.45e-03 -11.0 6.14e-11 - 1.00e+00 1.00e+00h 1
32 -5.2792364e+03 7.11e-15 5.80e-05 -11.0 8.46e-12 - 1.00e+00 1.00e+00h 1
33 -5.2792364e+03 2.17e-19 2.43e-08 -11.0 1.71e-13 - 1.00e+00 1.00e+00h 1
34 -5.2792364e+03 2.17e-19 5.28e-15 -11.0 7.59e-17 - 1.00e+00 1.00e+00 0
Number of Iterations....: 34
(scaled) (unscaled)
Objective...............: -1.1665671482765144e+03 -5.2792364125516769e+03
Dual infeasibility......: 5.2844521695877118e-15 2.3914501925835522e-14
Constraint violation....: 2.1684043449710089e-19 2.1684043449710089e-19
Variable bound violation: 0.0000000000000000e+00 0.0000000000000000e+00
Complementarity.........: 9.0909090909144460e-12 4.1140416449115271e-11
Overall NLP error.......: 9.0909090909144460e-12 4.1140416449115271e-11
Number of objective function evaluations = 35
Number of objective gradient evaluations = 35
Number of equality constraint evaluations = 35
Number of inequality constraint evaluations = 0
Number of equality constraint Jacobian evaluations = 35
Number of inequality constraint Jacobian evaluations = 0
Number of Lagrangian Hessian evaluations = 34
Total seconds in IPOPT = 0.008
EXIT: Optimal Solution Found.
┌ Warning: Verbosity toggle: missing_second_order_ad
│ The selected optimization algorithm requires second order derivatives, but `SecondOrder` ADtype was not provided. So a `SecondOrder` with AutoForwardDiff() for both inner and outer will be created, this can be suboptimal and not work in some cases so an explicit `SecondOrder` ADtype is recommended.
└ @ OptimizationBase ~/.julia/packages/OptimizationBase/BEgWO/src/cache.jl:116
┌ Info: Verbosity toggle: unsupported_kwargs
└ common abstol is currently not used by IpoptOptimizer(1.0e-12, 1000, 1.0e-12, 1.0e-12, 0.0001, "no", "no", "mumps", "none", "", "", "yes", "gradient-based", 100.0, "no", "no", "monotone", "quality-function", 0.1, "obj-constr-filter", "no", "exact", 6, "bfgs", "no", "filter", "no", Dict{String, Any}())
This is Ipopt version 3.14.19, running with linear solver MUMPS 5.9.0.
Number of nonzeros in equality constraint Jacobian...: 32
Number of nonzeros in inequality constraint Jacobian.: 0
Number of nonzeros in Lagrangian Hessian.............: 36
Total number of variables............................: 8
variables with only lower bounds: 0
variables with lower and upper bounds: 8
variables with only upper bounds: 0
Total number of equality constraints.................: 4
Total number of inequality constraints...............: 0
inequality constraints with only lower bounds: 0
inequality constraints with lower and upper bounds: 0
inequality constraints with only upper bounds: 0
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
0 -5.2764951e+03 3.90e-02 2.06e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0
1 -5.2730154e+03 3.00e-02 1.13e+01 -1.0 7.95e-02 - 9.90e-01 2.31e-01h 1
2 -5.2656943e+03 8.93e-03 1.03e+01 -1.0 2.14e-02 - 1.00e+00 7.02e-01h 1
3 -5.2639793e+03 4.25e-03 3.07e+01 -1.0 1.06e-02 - 1.00e+00 5.23e-01h 1
4 -5.2627374e+03 8.15e-04 2.47e+01 -1.0 3.27e-03 - 1.00e+00 8.08e-01h 1
5 -5.2625112e+03 1.96e-04 4.92e+01 -1.0 1.27e-03 - 1.00e+00 7.60e-01h 1
6 -5.2624408e+03 1.42e-14 1.48e+00 -1.0 4.49e-04 - 1.00e+00 1.00e+00f 1
7 -5.2624406e+03 7.11e-15 2.23e-02 -1.0 9.21e-05 - 1.00e+00 1.00e+00f 1
8 -5.2632046e+03 8.40e-19 3.30e-01 -2.5 3.20e-02 - 1.00e+00 1.00e+00f 1
9 -5.2632420e+03 2.17e-19 6.41e-02 -2.5 1.87e-03 - 1.00e+00 1.00e+00f 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
10 -5.2632469e+03 7.11e-15 4.55e-03 -2.5 2.68e-04 - 1.00e+00 1.00e+00f 1
11 -5.2632662e+03 2.17e-19 1.73e+00 -3.8 1.12e-03 - 1.00e+00 9.92e-01f 1
12 -5.2632685e+03 2.17e-19 6.77e+01 -3.8 3.25e-04 - 1.00e+00 1.00e+00f 1
13 -5.2632682e+03 5.42e-20 5.89e-02 -3.8 6.32e-05 - 1.00e+00 1.00e+00f 1
14 -5.2632682e+03 2.71e-20 3.84e-04 -3.8 9.61e-06 - 1.00e+00 1.00e+00f 1
15 -5.2632699e+03 0.00e+00 4.09e-01 -5.7 2.30e-04 - 7.05e-01 1.00e+00f 1
16 -5.2632702e+03 1.36e-20 7.56e-02 -5.7 1.18e-04 - 1.00e+00 1.00e+00f 1
17 -5.2632703e+03 7.11e-15 5.63e-02 -5.7 3.34e-05 - 1.00e+00 1.00e+00f 1
18 -5.2632703e+03 7.11e-15 7.80e-03 -5.7 7.59e-06 - 1.00e+00 1.00e+00f 1
19 -5.2632703e+03 0.00e+00 8.94e-05 -5.7 7.11e-07 - 1.00e+00 1.00e+00h 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
20 -5.2632703e+03 1.36e-20 2.09e-08 -5.7 1.16e-08 - 1.00e+00 1.00e+00f 1
21 -5.2632703e+03 7.11e-15 2.88e-01 -8.6 1.05e-05 - 9.89e-01 1.00e+00f 1
22 -5.2632703e+03 7.11e-15 1.15e-01 -8.6 7.99e-07 - 1.00e+00 1.00e+00f 1
23 -5.2632703e+03 2.17e-19 1.11e-01 -8.6 2.17e-07 - 1.00e+00 1.00e+00h 1
24 -5.2632703e+03 2.71e-20 3.72e-02 -8.6 6.44e-08 - 1.00e+00 1.00e+00f 1
25 -5.2632703e+03 2.71e-20 4.08e-03 -8.6 1.52e-08 - 1.00e+00 1.00e+00h 1
26 -5.2632703e+03 1.36e-20 2.90e-05 -8.6 1.10e-09 - 1.00e+00 1.00e+00h 1
27 -5.2632703e+03 0.00e+00 1.64e-09 -8.6 6.70e-12 - 1.00e+00 1.00e+00h 1
28 -5.2632703e+03 7.11e-15 1.21e-01 -11.0 1.56e-08 - 1.00e+00 1.00e+00f 1
29 -5.2632703e+03 0.00e+00 3.20e-02 -11.0 1.10e-09 - 1.00e+00 1.00e+00h 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
30 -5.2632703e+03 1.36e-20 1.81e-02 -11.0 2.43e-10 - 1.00e+00 1.00e+00f 1
31 -5.2632703e+03 7.11e-15 2.31e-03 -11.0 6.16e-11 - 1.00e+00 1.00e+00h 1
32 -5.2632703e+03 0.00e+00 5.14e-05 -11.0 8.28e-12 - 1.00e+00 1.00e+00h 1
33 -5.2632703e+03 1.36e-20 1.92e-08 -11.0 1.57e-13 - 1.00e+00 1.00e+00F 1
34 -5.2632703e+03 0.00e+00 5.75e-15 -11.0 6.22e-17 - 1.00e+00 1.00e+00 0
Number of Iterations....: 34
(scaled) (unscaled)
Objective...............: -1.1668174710686937e+03 -5.2632702821450785e+03
Dual infeasibility......: 5.7505963464764130e-15 2.5939740881064909e-14
Constraint violation....: 0.0000000000000000e+00 0.0000000000000000e+00
Variable bound violation: 0.0000000000000000e+00 0.0000000000000000e+00
Complementarity.........: 9.0909090909125526e-12 4.1007195077442948e-11
Overall NLP error.......: 9.0909090909125526e-12 4.1007195077442948e-11
Number of objective function evaluations = 36
Number of objective gradient evaluations = 35
Number of equality constraint evaluations = 36
Number of inequality constraint evaluations = 0
Number of equality constraint Jacobian evaluations = 35
Number of inequality constraint Jacobian evaluations = 0
Number of Lagrangian Hessian evaluations = 34
Total seconds in IPOPT = 0.009
EXIT: Optimal Solution Found.
┌ Warning: Verbosity toggle: missing_second_order_ad
│ The selected optimization algorithm requires second order derivatives, but `SecondOrder` ADtype was not provided. So a `SecondOrder` with AutoForwardDiff() for both inner and outer will be created, this can be suboptimal and not work in some cases so an explicit `SecondOrder` ADtype is recommended.
└ @ OptimizationBase ~/.julia/packages/OptimizationBase/BEgWO/src/cache.jl:116
┌ Info: Verbosity toggle: unsupported_kwargs
└ common abstol is currently not used by IpoptOptimizer(1.0e-12, 1000, 1.0e-12, 1.0e-12, 0.0001, "no", "no", "mumps", "none", "", "", "yes", "gradient-based", 100.0, "no", "no", "monotone", "quality-function", 0.1, "obj-constr-filter", "no", "exact", 6, "bfgs", "no", "filter", "no", Dict{String, Any}())
This is Ipopt version 3.14.19, running with linear solver MUMPS 5.9.0.
Number of nonzeros in equality constraint Jacobian...: 32
Number of nonzeros in inequality constraint Jacobian.: 0
Number of nonzeros in Lagrangian Hessian.............: 36
Total number of variables............................: 8
variables with only lower bounds: 0
variables with lower and upper bounds: 8
variables with only upper bounds: 0
Total number of equality constraints.................: 4
Total number of inequality constraints...............: 0
inequality constraints with only lower bounds: 0
inequality constraints with lower and upper bounds: 0
inequality constraints with only upper bounds: 0
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
0 -5.2605982e+03 3.90e-02 2.06e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0
1 -5.2571272e+03 3.00e-02 1.13e+01 -1.0 7.95e-02 - 9.90e-01 2.31e-01h 1
2 -5.2498302e+03 8.92e-03 1.03e+01 -1.0 2.14e-02 - 1.00e+00 7.02e-01h 1
3 -5.2481217e+03 4.25e-03 3.07e+01 -1.0 1.06e-02 - 1.00e+00 5.23e-01h 1
4 -5.2468852e+03 8.17e-04 2.47e+01 -1.0 3.26e-03 - 1.00e+00 8.08e-01h 1
5 -5.2466588e+03 1.95e-04 4.89e+01 -1.0 1.27e-03 - 1.00e+00 7.61e-01h 1
6 -5.2465887e+03 7.86e-19 1.46e+00 -1.0 4.50e-04 - 1.00e+00 1.00e+00f 1
7 -5.2465886e+03 1.17e-18 2.26e-02 -1.0 9.26e-05 - 1.00e+00 1.00e+00f 1
8 -5.2473499e+03 7.11e-15 3.30e-01 -2.5 3.20e-02 - 1.00e+00 1.00e+00f 1
9 -5.2473872e+03 8.13e-20 6.44e-02 -2.5 1.87e-03 - 1.00e+00 1.00e+00f 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
10 -5.2473921e+03 7.11e-15 4.60e-03 -2.5 2.70e-04 - 1.00e+00 1.00e+00f 1
11 -5.2474113e+03 2.17e-19 1.74e+00 -3.8 1.12e-03 - 1.00e+00 9.92e-01f 1
12 -5.2474136e+03 7.11e-15 6.80e+01 -3.8 3.24e-04 - 1.00e+00 1.00e+00f 1
13 -5.2474133e+03 2.71e-20 6.02e-02 -3.8 6.40e-05 - 1.00e+00 1.00e+00f 1
14 -5.2474133e+03 5.42e-20 3.92e-04 -3.8 9.40e-06 - 1.00e+00 1.00e+00f 1
15 -5.2474150e+03 1.36e-20 4.10e-01 -5.7 2.30e-04 - 7.05e-01 1.00e+00f 1
16 -5.2474153e+03 2.71e-20 7.58e-02 -5.7 1.18e-04 - 1.00e+00 1.00e+00f 1
17 -5.2474153e+03 1.36e-20 5.64e-02 -5.7 3.33e-05 - 1.00e+00 1.00e+00f 1
18 -5.2474153e+03 7.11e-15 7.83e-03 -5.7 7.55e-06 - 1.00e+00 1.00e+00f 1
19 -5.2474153e+03 7.11e-15 9.09e-05 -5.7 7.05e-07 - 1.00e+00 1.00e+00h 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
20 -5.2474153e+03 7.11e-15 2.22e-08 -5.7 1.17e-08 - 1.00e+00 1.00e+00h 1
21 -5.2474154e+03 7.11e-15 2.89e-01 -8.6 1.04e-05 - 9.89e-01 1.00e+00f 1
22 -5.2474154e+03 7.11e-15 1.15e-01 -8.6 7.92e-07 - 1.00e+00 1.00e+00f 1
23 -5.2474154e+03 7.11e-15 1.11e-01 -8.6 2.19e-07 - 1.00e+00 1.00e+00h 1
24 -5.2474154e+03 7.11e-15 3.74e-02 -8.6 6.48e-08 - 1.00e+00 1.00e+00h 1
25 -5.2474154e+03 7.11e-15 4.16e-03 -8.6 1.51e-08 - 1.00e+00 1.00e+00h 1
26 -5.2474154e+03 0.00e+00 3.03e-05 -8.6 1.06e-09 - 1.00e+00 1.00e+00h 1
27 -5.2474154e+03 1.36e-20 1.81e-09 -8.6 6.03e-12 - 1.00e+00 1.00e+00f 1
28 -5.2474154e+03 2.17e-19 1.20e-01 -11.0 1.56e-08 - 1.00e+00 1.00e+00f 1
29 -5.2474154e+03 2.17e-19 3.15e-02 -11.0 1.07e-09 - 1.00e+00 1.00e+00h 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
30 -5.2474154e+03 2.17e-19 1.75e-02 -11.0 2.46e-10 - 1.00e+00 1.00e+00h 1
31 -5.2474154e+03 7.11e-15 2.17e-03 -11.0 6.19e-11 - 1.00e+00 1.00e+00h 1
32 -5.2474154e+03 1.36e-20 4.54e-05 -11.0 8.08e-12 - 1.00e+00 1.00e+00h 1
33 -5.2474154e+03 0.00e+00 1.50e-08 -11.0 1.45e-13 - 1.00e+00 1.00e+00h 1
34 -5.2474154e+03 0.00e+00 7.02e-15 -11.0 5.07e-17 - 1.00e+00 1.00e+00 0
Number of Iterations....: 34
(scaled) (unscaled)
Objective...............: -1.1670686991676259e+03 -5.2474153646261902e+03
Dual infeasibility......: 7.0229681993065662e-15 3.1576916817841323e-14
Constraint violation....: 0.0000000000000000e+00 0.0000000000000000e+00
Variable bound violation: 0.0000000000000000e+00 0.0000000000000000e+00
Complementarity.........: 9.0909090909112956e-12 4.0874865443731825e-11
Overall NLP error.......: 9.0909090909112956e-12 4.0874865443731825e-11
Number of objective function evaluations = 35
Number of objective gradient evaluations = 35
Number of equality constraint evaluations = 35
Number of inequality constraint evaluations = 0
Number of equality constraint Jacobian evaluations = 35
Number of inequality constraint Jacobian evaluations = 0
Number of Lagrangian Hessian evaluations = 34
Total seconds in IPOPT = 0.008
EXIT: Optimal Solution Found.
┌ Warning: Verbosity toggle: missing_second_order_ad
│ The selected optimization algorithm requires second order derivatives, but `SecondOrder` ADtype was not provided. So a `SecondOrder` with AutoForwardDiff() for both inner and outer will be created, this can be suboptimal and not work in some cases so an explicit `SecondOrder` ADtype is recommended.
└ @ OptimizationBase ~/.julia/packages/OptimizationBase/BEgWO/src/cache.jl:116
┌ Info: Verbosity toggle: unsupported_kwargs
└ common abstol is currently not used by IpoptOptimizer(1.0e-12, 1000, 1.0e-12, 1.0e-12, 0.0001, "no", "no", "mumps", "none", "", "", "yes", "gradient-based", 100.0, "no", "no", "monotone", "quality-function", 0.1, "obj-constr-filter", "no", "exact", 6, "bfgs", "no", "filter", "no", Dict{String, Any}())
This is Ipopt version 3.14.19, running with linear solver MUMPS 5.9.0.
Number of nonzeros in equality constraint Jacobian...: 32
Number of nonzeros in inequality constraint Jacobian.: 0
Number of nonzeros in Lagrangian Hessian.............: 36
Total number of variables............................: 8
variables with only lower bounds: 0
variables with lower and upper bounds: 8
variables with only upper bounds: 0
Total number of equality constraints.................: 4
Total number of inequality constraints...............: 0
inequality constraints with only lower bounds: 0
inequality constraints with lower and upper bounds: 0
inequality constraints with only upper bounds: 0
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
0 -5.2448117e+03 3.90e-02 2.06e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0
1 -5.2413493e+03 3.00e-02 1.13e+01 -1.0 7.94e-02 - 9.90e-01 2.31e-01h 1
2 -5.2340763e+03 8.91e-03 1.03e+01 -1.0 2.14e-02 - 1.00e+00 7.03e-01h 1
3 -5.2323742e+03 4.25e-03 3.07e+01 -1.0 1.06e-02 - 1.00e+00 5.23e-01h 1
4 -5.2311431e+03 8.19e-04 2.48e+01 -1.0 3.26e-03 - 1.00e+00 8.07e-01h 1
5 -5.2309165e+03 1.95e-04 4.87e+01 -1.0 1.27e-03 - 1.00e+00 7.62e-01h 1
6 -5.2308468e+03 3.12e-18 1.45e+00 -1.0 4.51e-04 - 1.00e+00 1.00e+00f 1
7 -5.2308467e+03 1.87e-18 2.30e-02 -1.0 9.31e-05 - 1.00e+00 1.00e+00f 1
8 -5.2316052e+03 1.82e-18 3.31e-01 -2.5 3.20e-02 - 1.00e+00 1.00e+00f 1
9 -5.2316424e+03 2.98e-19 6.46e-02 -2.5 1.87e-03 - 1.00e+00 1.00e+00f 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
10 -5.2316474e+03 7.11e-15 4.65e-03 -2.5 2.71e-04 - 1.00e+00 1.00e+00f 1
11 -5.2316665e+03 7.11e-15 1.74e+00 -3.8 1.12e-03 - 1.00e+00 9.92e-01f 1
12 -5.2316688e+03 2.71e-20 6.82e+01 -3.8 3.23e-04 - 1.00e+00 1.00e+00f 1
13 -5.2316685e+03 7.11e-15 6.14e-02 -3.8 6.48e-05 - 1.00e+00 1.00e+00f 1
14 -5.2316684e+03 7.11e-15 4.01e-04 -3.8 9.19e-06 - 1.00e+00 1.00e+00f 1
15 -5.2316702e+03 7.11e-15 4.11e-01 -5.7 2.30e-04 - 7.05e-01 1.00e+00f 1
16 -5.2316705e+03 7.11e-15 7.59e-02 -5.7 1.18e-04 - 1.00e+00 1.00e+00f 1
17 -5.2316705e+03 7.11e-15 5.65e-02 -5.7 3.33e-05 - 1.00e+00 1.00e+00f 1
18 -5.2316705e+03 2.17e-19 7.86e-03 -5.7 7.51e-06 - 1.00e+00 1.00e+00f 1
19 -5.2316705e+03 2.17e-19 9.25e-05 -5.7 6.99e-07 - 1.00e+00 1.00e+00f 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
20 -5.2316705e+03 0.00e+00 2.37e-08 -5.7 1.19e-08 - 1.00e+00 1.00e+00h 1
21 -5.2316705e+03 7.11e-15 2.89e-01 -8.6 1.04e-05 - 9.89e-01 1.00e+00f 1
22 -5.2316705e+03 7.11e-15 1.15e-01 -8.6 7.86e-07 - 1.00e+00 1.00e+00f 1
23 -5.2316705e+03 7.11e-15 1.11e-01 -8.6 2.21e-07 - 1.00e+00 1.00e+00h 1
24 -5.2316705e+03 7.11e-15 3.75e-02 -8.6 6.52e-08 - 1.00e+00 1.00e+00h 1
25 -5.2316705e+03 2.17e-19 4.23e-03 -8.6 1.50e-08 - 1.00e+00 1.00e+00h 1
26 -5.2316705e+03 0.00e+00 3.17e-05 -8.6 1.02e-09 - 1.00e+00 1.00e+00h 1
27 -5.2316705e+03 7.11e-15 1.99e-09 -8.6 5.42e-12 - 1.00e+00 1.00e+00f 1
28 -5.2316705e+03 7.11e-15 1.18e-01 -11.0 1.56e-08 - 1.00e+00 1.00e+00h 1
29 -5.2316705e+03 7.11e-15 3.10e-02 -11.0 1.04e-09 - 1.00e+00 1.00e+00h 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
30 -5.2316705e+03 7.11e-15 1.70e-02 -11.0 2.49e-10 - 1.00e+00 1.00e+00h 1
31 -5.2316705e+03 0.00e+00 2.03e-03 -11.0 6.21e-11 - 1.00e+00 1.00e+00h 1
32 -5.2316705e+03 0.00e+00 3.99e-05 -11.0 7.88e-12 - 1.00e+00 1.00e+00f 1
33 -5.2316705e+03 7.11e-15 1.16e-08 -11.0 1.33e-13 - 1.00e+00 1.00e+00f 1
34 -5.2316705e+03 0.00e+00 6.43e-15 -11.0 7.12e-15 - 1.00e+00 1.00e+00 0
Number of Iterations....: 34
(scaled) (unscaled)
Objective...............: -1.1673208283112774e+03 -5.2316705411824496e+03
Dual infeasibility......: 6.4347354074140589e-15 2.8839043093211081e-14
Constraint violation....: 0.0000000000000000e+00 0.0000000000000000e+00
Variable bound violation: 0.0000000000000000e+00 0.0000000000000000e+00
Complementarity.........: 9.0909090909104765e-12 4.0743418715734215e-11
Overall NLP error.......: 9.0909090909104765e-12 4.0743418715734215e-11
Number of objective function evaluations = 35
Number of objective gradient evaluations = 35
Number of equality constraint evaluations = 35
Number of inequality constraint evaluations = 0
Number of equality constraint Jacobian evaluations = 35
Number of inequality constraint Jacobian evaluations = 0
Number of Lagrangian Hessian evaluations = 34
Total seconds in IPOPT = 0.008
EXIT: Optimal Solution Found.The figures can then be drawn.
p1 = plot(collect(temperatures), pH_vals,
xlabel = "T (°C)", ylabel = "pH", label = "pH",
marker = :circle, linewidth = 2, title = "pH")
p2 = plot(collect(temperatures), nCa_vals,
xlabel = "T (°C)", ylabel = "n (mmol)", label = "Ca²⁺",
marker = :circle, linewidth = 2, title = "Dissolved species")
plot!(p2, collect(temperatures), nCal_vals,
label = "Cal", marker = :square, linewidth = 2)
plot(p1, p2, layout = (1, 2), left_margin = 8Plots.mm, bottom_margin = 8Plots.mm, size = (900, 400))
Retrograde Kₛₚ, and yet more dissolved calcium
Calcite is retrograde soluble: its solubility product falls as temperature rises. The sweep above reproduces that — the ionic product
The dissolved calcium nevertheless increases, from 0.146 to 0.158 mmol/L. That is not a contradiction: this system is closed, with 1 mmol of total carbonate and no CO₂ reservoir. As temperature rises the pH drops from 9.83 to 9.43, which shifts carbonate to bicarbonate and takes free CO₃²⁻ from 26.5 down to 19.2 µmol/L — more than enough to offset the smaller
Reading the aqueous properties back
The activity model used so far is the default, DiluteSolutionModel; the others, and the reasons for choosing one, are in Activity models (syntax) and Activity models (theory). Whatever the model, the quantities it computes can be read back from a state.
The activity closures compute the molalities, the ionic strength and the activity coefficients on their way to the log-activities. All of it is readable off a state:
| call | returns |
|---|---|
molalities(state) | mᵢ of every solute, mol/kg of solvent |
ionic_strength(state) | I = ½ Σ mⱼ zⱼ², mol/kg |
activity_coefficients(state, model) | γᵢ of every aqueous species |
log_activities(state, model) | ln aᵢ of every species |
activities(state, model) | aᵢ of every species |
pH(state, model) | −log₁₀ a(H⁺) |
pOH(state, model) | −log₁₀ a(OH⁻) |
eq = equilibrate(state; model = HKFActivityModel())
ionic_strength(eq) # 0.212 mol/kg
molalities(eq)["K+"] # 0.146 mol/kg
activity_coefficients(eq, model)["Ca+2"]
activities(eq, model)["H2O@"] # water activity
pH(eq, model) # activity conventionmolalities and ionic_strength need no model: they are properties of the composition, and every model in the package computes the ionic strength this way. When comparing against another code, compare the ionic strength first — if it disagrees, the two are not describing the same solution, whatever their volumes happen to agree on.
Two conventions of pH, 0.2 units apart
The one-argument pH(state) and the two-argument pH(state, model) are different quantities:
pH(state)is−log₁₀ c(H⁺), a concentration in mol/L over the computed liquid volume, and in an alkaline solution it is reconstructed from OH⁻ throughpKw. It is stored on the state and needs no activity model.pH(state, model)is−log₁₀ a(H⁺), the activity on the molality scale. This is what GEM-Selektor, PHREEQC and Reaktoro report.
On a Portland cement pore solution at I ≈ 0.2 mol/kg, with γ(H⁺) ≈ 0.61, the two differ by about 0.21 units (13.31 against 13.10). Comparing the wrong one against another code means chasing a discrepancy that is a convention, not a result.
γ comes from the formula, not from a ratio
activity_coefficients evaluates the model's own expression, rather than dividing an activity by a concentration. The ratio agrees for an abundant solute — the test suite checks that it does — but a species parked at the solver's 1e-16 mol lower bound has its log-activity dominated by the closures' + ϵ regularization, and the ratio then returns values of order 1e300 for a charge class whose only members are trace. The formula depends on the ionic strength and the charge alone, so it is exact at any amount.
Relatedly, an activity is a number on a scale, and nothing in the number says which. DiluteSolutionModel puts its solutes on the molarity scale and takes ρ = 1 kg/L, so its activities coincide numerically with molalities even though the scale differs; the other two models are on the molality scale. concentration_scale is the only way to tell them apart.
Where to go next
The options this tutorial left at their defaults are gathered in Solving an equilibrium. The application pages then apply the same four steps to systems of increasing size: the aqueous cases, beginning with CO₂ dissolution and the carbonate system, are small enough to check by hand, and A CEM I from its clinker phases is the first cement. When the question is how a system evolves in time rather than where it ends, the next tutorial is Chemical Kinetics.