help-octave
[Top][All Lists]
Advanced

[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,



reply via email to

[Prev in Thread] Current Thread [Next in Thread]