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

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

Go to download

A library of composable components enabling simpler Computational Intelligence

There is a newer version: 0.8
Show 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;

/**
 * 

The Salomon Function.

* *

Reference: R. Salomon Re-evaluating genetic algorithm performance under coordinate rotation of benchmark functions. A survey of some * theoretical and practical aspects of genetic algorithms, * Biosystems, 1996

* *

Minimum: *

    *
  • ƒ(x*) = 0
  • *
  • x* = (0, 0, ...., 0)
  • *
  • for xi in [-600, 600]
  • *
*

*

* Characteristics: *

    *
  • Multimodal
  • *
  • Non-separable
  • *
*

* f(x) = 0; x = (0,0,...,0); x_i e (-600,600) * * R(-600, 600)^30 * */ public class Salomon implements ContinuousFunction { private static final long serialVersionUID = -6002240316648057218L; /** * {@inheritDoc} */ @Override public Double apply(Vector input) { double sumSquares = 0.0; for (int i = 0; i < input.size(); i++) { sumSquares += input.doubleValueOf(i) * input.doubleValueOf(i); } return -(Math.cos(2 * Math.PI * Math.sqrt(sumSquares))) + (0.1 * Math.sqrt(sumSquares)) + 1; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy