======================================================================== PISA (www.tik.ee.ethz.ch/pisa/) ======================================================================== Computer Engineering (TIK) ETH Zurich ======================================================================== HypE - Hypervolume Estimation Algorithm for Multiobjective Optimization Implementation in C for the selector side. Documentation author: Johannes Bader, johannes.bader@tik.ee.ethz.ch last change: 22.10.2008 ======================================================================== The Optimizer ============= HypE is an hypervolume-based multiobjective evolutionary algorithm and has been proposed by Johannes Bader and Eckart Zitzler at the ETH Zurich. Here, we present a PISA-implementation of the algorithm based on the cited paper @TECHREPORT{bz2008a, author = {J. Bader and E. Zitzler}, title = {{HypE: Fast Hypervolume-Based Multiobjective Search Using Monte Carlo Sampling}}, institution = {{Institut f\"ur Technische Informatik und Kommunikationsnetze, ETH Z\"urich}}, year = {2006}, type = {TIK Report}, number = {286}, month = oct } The Parameters ============== HypE uses the following values for the common parameters. These parameters are specified in 'PISA_cfg'. alpha (population size) mu (number of parent individuals) lambda (number of offspring individuals) dim (number of objectives) HypE takes two local parameter which is given in a parameter file. The name of this parameter file is passed to HypE as command line argument. (See 'HypE_param.txt' for an example.) seed (seed for the random number generator) tournament (tournament size for mating selection) mating (if set to 1, HypE performes mating selection based on the proposed fitness scheme. If set to 0, uniform mating selection is used instead) bound (upper bound defining the reference point as r = (bound, ..., bound) ) nrOfSamples (number of samples to be used to estimate the fitness values. If set to -1, the exakt calculation is used instead of sampling.) Recommended choices are tournament = 5 mating = 1 bound = (as tight as possible) nrOfSamples = 10000 if dim > 3, -1 otherwise Source Files ============ The source code for HYPE is divided into four files: 'hype.h' is the header file. 'hype.c' contains the main function and implements the control flow. 'hype_io.c' implements the file i/o functions. 'hype_functions.c' implements all other functions including the selection. Additionally a Makefile, a PISA_configuration file with common parameters and a PISA_parameter file with local parameters are contained in the tar file. Depending on whether you compile on Windows or on Unix (any OS having ) uncomment the according '#define' in the 'hype.h' file. Usage ===== Start HypE with the following arguments: HypE paramfile filenamebase poll paramfile: specifies the name of the file containing the local parameters (e.g. HypE_param.txt) filenamebase: specifies the name (and optionally the directory) of the communication files. The filenames of the communication files and the configuration file are built by appending 'sta', 'var', 'sel','ini', 'arc' and 'cfg' to the filenamebase. This gives the following names for the 'PISA_' filenamebase: PISA_cfg - configuration file PISA_ini - initial population PISA_sel - individuals selected for variation (PISA_ PISA_var - variated individuals (offspring) PISA_arc - individuals in the archive Caution: the filenamebase must be consistent with the name of the configuration file and the filenamebase specified for the HypE module. poll: gives the value for the polling time in seconds (e.g. 0.5). This polling time must be larger than 0.01 seconds. Limitations =========== None limitations are known so far. Stopping and Resetting ====================== The behaviour in state 5 and 9 is not determined by the interface but by each variator module specifically. HypE behaves as follows: state 5 (= variator terminated): set state to 6 (terminate as well). state 9 (= variator resetted): set state to 10 (reset as well).