# Documentation of objfractal

Global Index (all files) (short | long) | Local contents | Local Index (files in subdir) (short | long)

## Function Synopsis

`ObjVal = objfractal(Chrom, P1, P2)`

## Help text

``` OBJective function Fractal Mandelbrot

This function implements a fractal function and its discretization.
The Fractal function is highly multimodal and emulates noisy
real-world objective functions.

The objective function is obtained by an approximation of the
simplified real part C(x) of the Weierstrass-Mandelbrot function.
C(x) is continuous but has no derivative at any point. With the
box-dimension BoxDim (1 < BoxDim < 2) of this function the ruggedness
of the surface can be controlled. Higher values for BoxDim increase
the complexity of this objective function and vice versa.

The Weierstrass-Mandelbrot function is described in:
Mandelbrot, B.B. The fractal geometry of nature.
New York: Freeman, 1983.

Syntax: ObjVal = objfractal(Chrom, P1, P2)

Input parameters:
Chrom     - Matrix containing the chromosomes of the current
population. Each row corresponds to one individual's
string representation.
If Chrom == [NaN xxx]  or
Chrom == [NaN xxx yyy],
then special values will be returned, see Output parameters
xxx == 1 (or []) return boundaries
xxx == 2 return title
yyy == 0 return title of continuous variant
yyy == 1 return title of discrete variant
xxx == 3 return value of global minimum
P1        - (Optional) Number indicating which variant is used,
if Chrom is not NaN or [].
P1 = 1  use discrete version
P1 = 0  use continuous version
If P1 is omitted or P1 = [] the continuos version
is used (P1 = 0).
P2        - (Optional) Scalar containing the box dimension BoxDim
(1 < BoxDim < 2) of this objective function.
If P2 is omitted, empty or out of range, then the
default value BoxDim = 1.85 is used.

Output parameters:
ObjVal    - Column vector containing the objective values of the
individuals in the current population.
if called with
Chrom == [NaN xxx] or Chrom == [NaN xxx yyy],
then ObjVal contains
xxx == 1 (or []), matrix with the boundaries of
the varaibles
xxx == 2, text with the title of the function
yyy omitted: title of continuous variant
yyy = 0      title of continuous variant
yyy = 1      title of discrete variant
xxx == 3, value of global minimum

Examples:

% continuous variant of the Fractal function with default box
% dimension BoxDim = 1.85
>> objfractal(Chrom)

% discrete variant of the Fractal function with default box
% dimension BoxDim = 1.85
>> objfractal(Chrom, 1)

% discrete variant of the Fractal function with box dimension
% BoxDim = 1.4.
>> objfractal(Chrom, 1, 1.4)
```

## Cross-Reference Information

This function is called by
 GEATbx: Main page  Tutorial  Algorithms  M-functions  Parameter/Options  Example functions  www.geatbx.com

This document is part of version 3.8 of the GEATbx: Genetic and Evolutionary Algorithm Toolbox for use with Matlab - www.geatbx.com.
The Genetic and Evolutionary Algorithm Toolbox is not public domain.