Class Cobyla


  • public class Cobyla
    extends java.lang.Object
    Constrained Optimization BY Linear Approximation in Java. COBYLA2 is an implementation of Powell's nonlinear derivative-free constrained optimization that uses a linear approximation approach. The algorithm is a sequential trust-region algorithm that employs linear approximations to the objective and constraint functions, where the approximations are formed by linear interpolation at n + 1 points in the space of the variables and tries to maintain a regular-shaped simplex over iterations. It solves non-smooth NLP with a moderate number of variables (about 100). Inequality constraints only. The initial point X is taken as one vertex of the initial simplex with zero being another, so, X should not be entered as the zero vector.
    Author:
    Anders Gustafsson, Cureos AB.
    • Constructor Summary

      Constructors 
      Constructor Description
      Cobyla()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static CobylaExitStatus FindMinimum​(Calcfc calcfc, int n, int m, double[] x, double rhobeg, double rhoend, int iprint, int maxfun, boolean[] terminate)
      Minimizes the objective function F with respect to a set of inequality constraints CON, and returns the optimal variable array.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • Cobyla

        public Cobyla()
    • Method Detail

      • FindMinimum

        public static CobylaExitStatus FindMinimum​(Calcfc calcfc,
                                                   int n,
                                                   int m,
                                                   double[] x,
                                                   double rhobeg,
                                                   double rhoend,
                                                   int iprint,
                                                   int maxfun,
                                                   boolean[] terminate)
                                            throws IllegalActionException
        Minimizes the objective function F with respect to a set of inequality constraints CON, and returns the optimal variable array. F and CON may be non-linear, and should preferably be smooth.
        Parameters:
        calcfc - Interface implementation for calculating objective function and constraints.
        n - Number of variables.
        m - Number of constraints.
        x - On input initial values of the variables (zero-based array). On output optimal values of the variables obtained in the COBYLA minimization.
        rhobeg - Initial size of the simplex.
        rhoend - Final value of the simplex.
        iprint - Print level, 0 <= iprint <= 3, where 0 provides no output and 3 provides full output to the console.
        maxfun - Maximum number of function evaluations before terminating.
        terminate - An array of booleans indicating whether to terminate.
        Returns:
        Exit status of the COBYLA2 optimization.
        Throws:
        IllegalActionException - If thrown by the cobylb() method.