Skip to main content

Package for benchmark for the 100 digit competition on the IEEE Congress on Evolutionary Computation CEC'2019

Project description

This is a Python wrapping using the C++ Implementation of the test suite for the Special Session on Large Scale Global Optimization at 2019 IEEE Congress on Evolutionary Computation http://cec2019.org/programs/competitions.html#cec-06.

http://www.ntu.edu.sg/home/epnsugan/index_files/CEC2019/CEC2019.htm

Note

If you are to use any part of this code, please cite the following publications:

K. V. Price, N. H. Awad, M. Z. Ali, P. N. Suganthan, “Problem Definitions and Evaluation Criteria for the 100-Digit Challenge Special Session and Competition on Single Objective Numerical Optimization,” Technical Report, Nanyang Technological University, Singapore, November 2018.

http://web.mysites.ntu.edu.sg/epnsugan/PublicSite/Shared%20Documents/Forms/AllItems.aspx?RootFolder=%2fepnsugan%2fPublicSite%2fShared%20Documents%2fCEC%2d2019&FolderCTID=&View=%7bDAF31868%2d97D8%2d4779%2dAE49%2d9CEC4DC3F310%7d

Requirements

  • GNU Make

  • GNU G++

  • Python

  • Cython

Testing Environment

  • Debian GNU/Linux jessie/sid

  • GNU Make 3.81

  • g++ (Debian 4.7.3-4) 4.7.3

  • Python 2.7 and Python 3.2

  • numpy 1.8.1

  • cython 0.20.1

Instalation

It is pending to submit to pip, when it is ready.

Very easy, pip install cec2019comp100digit ;-).

You can also download from https://github.com/dmolina/cec2019comp100digit, and do python setup.py install [–user]. (the option –user is for installing the package locally, as a normal user (interesting when you want to run the experiments in a cluster/server without administration permissions).

To compile the source code in C++

The source code in C++ is also available. If you want to compile only the C++ version type in ‘make’ in the root directory of source code.

There are two equivalents demo executables: demo and demo2.

REMEMBER: To run the C++ version the directory input_data must be available in the working directory. In the python version, these files are included in the packages, so it is not needed.

Quickstart

The package is very simple to use. There is a package cec2019comp100digit with three functions:

  • init(fun_id, Dim) Init the function for the dimension selected.

  • eval(sol) Eval the solution, when sol is a numpy (or array) of dimension Dim.

  • end() Free resources.

Init function

>>> from cec2019comp100digit import cec2019comp100digit
>>> bench = cec2019comp100digit
>>> bench.init(3, 10) # Init function 3

Create a random solution

>>> import numpy as np
>>> sol = np.random.rand(10)

Evaluate a solution

>>> bench.eval(sol)
18010038.104525752

Freeing resources

>>> bench.end()

Contact

Python package

Daniel Molina @ Computer Science Deparment, University of Granada Please feel free to contact me at <dmolina@decsai.ugr.es> for any enquiries or suggestions.

Last Updated

  • C++ version <2018-12-08>

  • Python wrapping <2018-12-08>

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cec2019comp100digit-0.5.tar.gz (25.9 kB view details)

Uploaded Source

File details

Details for the file cec2019comp100digit-0.5.tar.gz.

File metadata

  • Download URL: cec2019comp100digit-0.5.tar.gz
  • Upload date:
  • Size: 25.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.6

File hashes

Hashes for cec2019comp100digit-0.5.tar.gz
Algorithm Hash digest
SHA256 87f1edeb6eb70747ac9eb2874962ff8beb53bb59624982bd516244ee2daefe5f
MD5 4b4ddece62f7b1af4920a35919e2bc57
BLAKE2b-256 6e995f88812280d0901cd1254825f4eea7b71ed5c497b31b3ad793e2c58de973

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page