Software
Large-Scale Nonlinear Optimization
- Our inexact interior-point algorithm for large-scale nonlinear optimization with inexact step computations has been implemented in Ipopt and can be used along with the iterative linear system solver in Pardiso. Please use the Ipopt option inexact_algorithm yes and e-mail me with any questions, bug reports, comments, or suggestions — they would be greatly appreciated!.
Infeasibility Detection in Nonlinear Optimization Algorithms
- PIPAL 1.2 (zip): Penalty-Interior-Point Algorithm.
A prototype code for smooth constrained optimization. The optimization problem is reformulated as a penalty-interior-point subproblem (with only equality constraints) and a Newton method is applied. The slack variables are effectively eliminated during the solution process and a line search is employed for global convergence. The penalty and interior-point parameters are updated using an adaptive strategy (a conservative strategy is also implemented as an alternative) in order to achieve rapid convergence to an optimal solution or, if no feasible solution can be found, an infeasible stationary point. The code accepts AMPL input. Note that this is only a prototype implementation. Please e-mail me with any bug reports, comments, or suggestions — they would be greatly appreciated!
Nonsmooth Optimization
- SLQP-GS 1.2 (zip): Sequential Linear or Quadratic Programming with Gradient Sampling.
A prototype code for nonconvex, nonsmooth constrained optimization. The search direction computation is performed by minimizing a local linear or quadratic model of the objective subject to a linearization of the constraints. Gradients for each problem function are sampled to make the search direction computation effective in nonsmooth regions. The user has the option of choosing between SLP-GS or SQP-GS modes, and has the option of tuning various input parameters for each application. The code for a sample problem is provided in order to illustrate how other problems can be formulated and solved with the code. Note that this is only a prototype implementation. Please e-mail me if you use the code or with any bug reports, comments, or suggestions — they would be greatly appreciated!
