All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.sourceforge.cilib.functions.continuous.unconstrained.Chichinadze Maven / Gradle / Ivy

Go to download

A library of composable components enabling simpler Computational Intelligence

The newest version!
/**           __  __
 *    _____ _/ /_/ /_    Computational Intelligence Library (CIlib)
 *   / ___/ / / / __ \   (c) CIRG @ UP
 *  / /__/ / / / /_/ /   http://cilib.net
 *  \___/_/_/_/_.___/
 */
package net.sourceforge.cilib.functions.continuous.unconstrained;

import net.sourceforge.cilib.functions.ContinuousFunction;
import net.sourceforge.cilib.type.types.container.Vector;

import com.google.common.base.Preconditions;

/**
 * 

Chichinadze.

* *

Reference: S.K. Mishra, , Technical report, North-Eastern Hill University, India, 2006

* *

Minimum: *

    *
  • ƒ(x*) = -43.31586206998933
  • *
  • x* = (5.90133, 0.5)
  • *
  • for xi in [-30,30]
  • *
*

* *

Characteristics: *

    *
  • Only defined for 2 dimensions
  • *
  • Multimodal
  • *
  • Seperable
  • *
  • Regular
  • *
*

* R(-30, 30)^2 */ public class Chichinadze extends ContinuousFunction { @Override public Double f(Vector input) { Preconditions.checkArgument(input.size() == 2, "Chichinadze function is only defined for 2 dimensions"); double x1 = input.get(0).doubleValue(); double x2 = input.get(1).doubleValue(); double cos = Math.cos(Math.PI * x1 / 2); double sin = Math.sin(5*Math.PI*x1); double ePow = Math.exp(-0.5 * ((x2 - 0.5) * (x2 - 0.5))); return (x1*x1) - 12 * (x1) + 11 + 10*cos + 8 * sin - Math.pow((1/5.0), 0.5)* ePow; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy