LINCOA

From HandWiki

LINCOA (LINearly Constrained Optimization Algorithm) is a numerical optimization algorithm by Michael J. D. Powell. It is also the name of Powell's Fortran 77 implementation of the algorithm. LINCOA and all the other derivative-free optimization solvers of Powell's are included in PDFO, which provides MATLAB and Python interfaces for using these solvers on Linux, Mac, and Windows. LINCOA solves linearly constrained optimization problems without using derivatives of the objective function, which makes it a derivative-free algorithm. The algorithm solves the problem using a trust region method that forms quadratic models by interpolation. One new point is computed on each iteration, usually by solving a trust region subproblem subject to the linear constraints, or alternatively, by choosing a point to replace an interpolation point that may be too far away for reliability. In the second case, the new point may not satisfy the linear constraints.

The same as NEWUOA, LINCOA constructs the quadratic models by the least Frobenius norm updating [1] technique. A model function is determined by interpolating the objective function at [math]\displaystyle{ m }[/math] (an integer between [math]\displaystyle{ n+2 }[/math] and [math]\displaystyle{ (n+1)(n+2)/2 }[/math]) points; the remaining freedom, if any, is taken up by minimizing the Frobenius norm of the change to the model's Hessian (with respect to the last iteration).

LINCOA software was released on December 6, 2013.[2] In the comment of the source code,[3] it is said that LINCOA is not suitable for very large numbers of variables (which is typically true for algorithms not using derivatives), but "a few calculations with 1000 variables, however, have been run successfully overnight, and the performance of LINCOA is satisfactory usually for small numbers of variables."[3] It is also pointed out that the author's typical choices of [math]\displaystyle{ m }[/math] are [math]\displaystyle{ n+6 }[/math] and [math]\displaystyle{ 2n+1 }[/math], the latter "being recommended for a start", and "larger values tend to be highly inefficent when the number of variables is substantial, due to the amount of work and extra difficulty of adjusting more points."[3]

The trust region subproblem is solved by the truncated conjugate gradient method described in Powell's report,[4] but Powell did not write a report on the other details of LINCOA.

The LINCOA software is distributed under The GNU Lesser General Public License (LGPL).[3]

See also

References

  1. Powell, M. J. D. (2004). "Least Frobenius norm updating of quadratic models that satisfy interpolation conditions". Mathematical Programming (Springer) 100: 183–215. doi:10.1007/s10107-003-0490-7. 
  2. "A repository of Professor M. J. D. Powell's software". http://zhangzk.net/software.html#powell_software. Retrieved 2014-01-18. 
  3. 3.0 3.1 3.2 3.3 "Source code of LINCOA software". http://zhangzk.net/software.html#lincoa. Retrieved 2014-01-18. 
  4. Powell, M. J. D. (August 2014). On fast trust region methods for quadratic models with linear constraints (Report). Department of Applied Mathematics and Theoretical Physics, Cambridge University. DAMTP 2014/NA02. http://www.damtp.cam.ac.uk/user/na/NA_papers/NA2014_02.pdf. Retrieved 2014-08-29. 

External links