Introduction

Case Organization

Design Variables &
Constraints

Search Engines
(Multilevel)

Evaluation Scripts

Parallel Evaluations

Run & Results

Results Desktop





Introduction

EASY is a generic optimization software that can be used any single- or multi- objective problem. EASY is based on Evolutionary Algorithms as the main search tool, optionally assisted by built-in surrogate evaluation models. It also supports hierarchical and/or distributed Evolutionary Algorithms, with or without surrogate modeling. The user should provide the "evaluation tool(s)" in executable form and link them with EASY as it will be explained below.

General notes

  • EASY is capable of handling minimization problems. Should a maximization problem appear, the user should transform it to a minimization one before using EASY. EASY may handle positive and negative objective functions.
  • Alphanumeric strings that appear on the EASY panel can be selected and copied to clipboard by pressing ctrl-c. Then, ctrl-v pastes the current contents of the clipboard.
  • The location where the settings file (*.easy) is opened and saved specifies the working directory.
  • On Microsoft Windows platforms, double clicking on a settings file (*.easy) starts EASY and opens the settings file.

Communication between EASY and the evaluation tool

To facilitate the EASY users and provide a flexible communication between EASY and evaluation tools, the latter are defined as script or batch files which determine the evaluation process for each and every individual. This approach introduces a negligible overhead due to the creation of new processes as well as the parsing of the script file each time a candidate solution is evaluated. To perform an evaluation, EASY writes and saves the ASCII text file "task.dat" in the current directory. This file contains N+1 lines. The first line contains the integer N, i.e. the number of the design variables (including those who have been fixed by the user, which however need to be communicated to the evaluation tool). The remaining N lines contain the arithmetic values of the design variables (one value per line). The N values in the "task.dat" file are listed according to the sequence of design variables declared by the user in the Design Variables & Constraints panel. In each level of the hierarchical scheme, the EA executes a batch file defined in Evaluation Scripts tab and selected in Level Settings Search-Engines tab (or by default: "task.bat" for one level), and waits for it to finish. Expects to read a plain ASCII text file called "task.res" with as many lines as the number of objectives -no comments are allowed in this file-. If the file does not exist or is incomplete the currently evaluated solution is considered as failed. Of course the order of objectives in "task.res" must always be the same. In case of a constrained problem, the algorithm also expects to read a plain ASCII text file called "task.cns" with as many lines as the number of constraints imposed on Design Variables & Constraints tab. Therefore, the user has to provide the batch file along with the executable file(s) it calls and any other required files. The executable file(s) called by the batch file should at least read the file "task.dat" with the optimization variables and at the end write a file called "task.res" with the objective(s). Usually the first line of the batch file clears the working directory from intermediate files created during the previous evaluation. A typical the batch file has the following form:


delete other intermediate files
preprocess.exe reads "task.dat" and provides a suitable input file for the next executable
evaluate.exe it is usually a commercial or in-house simulation tool
postprocess.exe reads the results of evaluate.exe and provides a value per objective in "task.res" and, in case of constrainted problems a value per constraint in "task.cns"

While creating a new batch file, input and output redirections (eg. evaluated.exe < input > output) are often useful for the execution of the batch file without any intervention. If no path to the executable files is specified (like the example above), they must reside in the current working directory or in a directory in the PATH environment variable, for the reason that these are the places where the operating system looks for executable files.