package optimizacion;

/**
 * <p>Title: Ejemplo de uso de la clase geneticos</p>
 * <p>Description: Minimiza una funcion utilizando algoritmos geneticos</p>
 * <p>Copyright: Copyright (c) 2005</p>
 * <p>Company: UMSNH</p>
 * @author Dr. Felix Calderon Solorio
 * @version 1.0
 */

public class ejemplo_03 extends geneticos {

     public static void main(String[] args) {
        double r[][] = {{-2,2}, {-2,2}};
        ejemplo_03 aplica = new ejemplo_03(10, 2, 3, r);
        aplica.Itera();
    }

    /**
     * Constructor local
     * @param poblacion int Tama�o de la poblaci�n
     * @param parametros int N�mero de par�metros de la funci�n
     * @param iter int n�mero de generaciones
     * @param Ran double[][] Rangos de busqueda
     */

    ejemplo_03(int poblacion, int parametros, int iter, double Ran[][])
    {
        super(poblacion, parametros, iter, Ran);
    }

    /**
     * Funci�n a minimiza
     * @param x double[]
     * @return double
     */

    public double funcion(double x[]) {
        double f, x1 = x[0], x2 = x[1];

        f = (x1 - 2.0) * (x1 - 2.0) * (x1 - 2.0) * (x1 - 2.0) +
            (x1 - 2.0) * (x1 - 2.0) * x2 * x2 +
            (x2 + 1) * (x2 + 1);

        return f;
    }
}
