Code covered by the BSD License  

Highlights from
Many testfunctions for global optimizers

Be the first to rate this file! 22 Downloads (last 30 days) File Size: 35.96 KB File ID: #23147
image thumbnail

Many testfunctions for global optimizers

by Rody Oldenhuis

 

28 Feb 2009 (Updated 11 Feb 2010)

test functions for global optimizers

| Watch this File

File Information
Description

This is a large set of test functions, which may be used to test the effectiveness of global optimization algorithms. Some are rather easy to optimize (rosenbruck, leon, ...), others next to impossible (crosslegtable, bukin6, ...).

All the test-functions are taken from either [1], [2] or [3] (see below). All functions may be called in two ways:

[dims, lb, ub, sol, fval_sol] = fun

(e.g., no input arguments) This returns the number of dimensions of the function, the default lower and upper bounds, the solution vectors for all global minima and the corresponding function values. To calculate the function value for input X, use:

val = fun( [x1, x2, ..., xn] )

with the dimension [n] depending on the specific function [fun] (for most functions, n=2). Note the single vector argument--this is done in order to easily insert the function into a global optimizer that inserts a [N x n] matrix of trial vectors in these functions.

I also included a function to display most of the functions. This is called EZIMAGE, and can be called with a function handle argument:

ezimage(@himmelblau) (to plot the himmelblau function)
ezimage(@sinenvsin) (see screenshot)
...

or just as-is:

ezimage

which lists all functions and waits for user input. This is meant to get a first impression of what the challenges are the testfunction has to offer.

FUTURE WORK:
- constrained single-objective functions
- (constrained ) multi-objective functions

sources:
[1] Mishra, Sudhanshu. "Some new test functions for global optimization and performance of repulsive particle swarm method". MPRA, 23rd august 2006. http://mpra.ub.uni-muenchen.de/2718/

[2] Z.K. Silagadze. "Finding two-dimensional peaks". 11th mar 2004. arXiv preprint: arXiv:physics/0402085v3

[3] W. Sun, Ya-X. Yuan. "Optimization theory and Methods. Nonlinear Programming". Springer verlag, 2006. ISBN-13:978-0-387-24975-9.

Acknowledgements
This submission has inspired the following:
Another Particle Swarm Toolbox
MATLAB release MATLAB 7.9 (2009b)
Other requirements None that I know of
Tags for This File  
Everyone's Tags
Tags I've Applied
Add New Tags Please login to tag files.
Please login to add a comment or rating.
Updates
11 Feb 2010

- updated all functions to automate finding its dimensions/bounds
- cleaned up EZIMAGE() , and made it suitable for future extentions

Tag Activity for this File
Tag Applied By Date/Time
global optimization Rody Oldenhuis 02 Mar 2009 12:34:37
particle swarm Rody Oldenhuis 02 Mar 2009 12:34:37
optimization Rody Oldenhuis 11 Feb 2010 09:40:13
genetic algorithm Rody Oldenhuis 11 Feb 2010 09:40:13
differential evolution Rody Oldenhuis 11 Feb 2010 09:40:13
multimodal Rody Oldenhuis 11 Feb 2010 09:40:13
global minimum Rody Oldenhuis 11 Feb 2010 09:40:13
test function Rody Oldenhuis 11 Feb 2010 09:40:13
genetic algorithm Meidya Koeshardianto 29 Mar 2010 00:05:48

Contact us at files@mathworks.com