You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-`verbose`: Control output verbosity (overrides Ipopt's `print_level`)
56
74
-`false` or `0`: No output
57
75
-`true` or `5`: Standard output
58
-
- Integer values 0-12: Different verbosity levels (maps to `print_level`)
59
-
-`hessian_approximation`: Method for Hessian computation
60
-
-`"exact"` (default): Use exact Hessian
61
-
-`"limited-memory"`: Use L-BFGS approximation
76
+
- Integer values 0-12: Different verbosity levels
62
77
63
-
### Advanced Ipopt Options
78
+
### IpoptOptimizer Constructor Options
64
79
65
-
Any Ipopt option can be passed directly as keyword arguments. The full list of available options is documented in the [Ipopt Options Reference](https://coin-or.github.io/Ipopt/OPTIONS.html). Common options include:
80
+
Ipopt-specific options are passed to the `IpoptOptimizer` constructor. The most commonly used options are available as struct fields:
2.**Initial Points**: Provide good initial guesses when possible. Ipopt is a local optimizer and the solution quality depends on the starting point.
251
320
252
-
3.**Hessian Approximation**: For large problems or when Hessian computation is expensive, use `hessian_approximation = "limited-memory"`.
321
+
3.**Hessian Approximation**: For large problems or when Hessian computation is expensive, use `hessian_approximation = "limited-memory"` in the `IpoptOptimizer` constructor.
253
322
254
323
4.**Linear Solver Selection**: The choice of linear solver can significantly impact performance. For large problems, consider using HSL solvers (ma27, ma57, ma86, ma97). Note that HSL solvers require [separate installation](https://github.com/jump-dev/Ipopt.jl?tab=readme-ov-file#linear-solvers) - see the Ipopt.jl documentation for setup instructions. The default MUMPS solver works well for small to medium problems.
255
324
256
325
5.**Constraint Formulation**: Ipopt handles equality constraints well. When possible, formulate constraints as equalities rather than pairs of inequalities.
257
326
258
-
6.**Warm Starting**: When solving a sequence of similar problems, use the solution from the previous problem as the initial point for the next.
327
+
6.**Warm Starting**: When solving a sequence of similar problems, use the solution from the previous problem as the initial point for the next. You can enable warm starting with `IpoptOptimizer(warm_start_init_point = "yes")`.
0 commit comments