Introduction
Design Variables &
|
IntroductionEASY 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
Communication between EASY and the evaluation toolTo 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:
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. |