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