[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
## Re: Constrained minimization

**From**: |
Juan Pablo Carbajal |

**Subject**: |
Re: Constrained minimization |

**Date**: |
Thu, 2 Jan 2020 13:03:52 +0100 |

>* 1. Does this output vector have to be the same length as the input vector?*
>* If so, what if there are more constraints than components? Or fewer?*
>* 2. Is there supposed to be any correlation between the components of the*
>* output vector and the input vector? In other words, does output G(1) have*
>* to depend on X(1) in some manner? Or does the routine make its own*
>* determination of how the output depends on the input?*
>
>* 3. What happens if the objective function gets driven into an infeasible*
>* region, such that it produces N/A, NAN, or Inf as an output? Will the routine*
>* crash? If so, can I deal with this in a wrapper function? If so, what output*
>* should be provided -- just a very high number?*
most of your questions can be answered form the manual entry
https://octave.org/doc/interpreter/Nonlinear-Programming.html
Check the example.
If you objective returns nan, the result will be nan, but if the
singularity is isolated sqp might survive.
I have encounter more problems with sqp when the constraints have
singular jacobians even if the singularity is isolated.
>* 4. Is there any documentation of the algorithm sqp uses?*
https://en.wikipedia.org/wiki/Sequential_quadratic_programming
It is just iterated QP, see lines 415-421
http://hg.savannah.gnu.org/hgweb/octave/file/531c188e6746/scripts/optimization/sqp.m
>* 5. Are any of the other options preferable to sqp?*
when I am serious about optimization I use nlopt
https://nlopt.readthedocs.io/en/latest/ (the octave interface is
outdated, but last time I tried (5.0.0) was still working) and
sometimes
bayesopt (uses nlopt) https://github.com/rmcantin/bayesopt.
If you update nlopt interface with Octave do let the authors know,
they are (at least were!) very open to collaborations.
Regards,

**Re: Constrained minimization**,
*Juan Pablo Carbajal* **<=**