![]() |
![]() |
All the program is compressed in the file EDA_discreto.tar.gz or EDA.zip. It is written in standard C++, and it can be compiled directly using Visual Studio under Windows, although we mainly use it under Solaris and compile it with GNU gcc. A Makefile file is included for compiling easier the whole EDA package. The source code files included in the distribution are described as follows:
In order to apply EDAs to any particular problem, simply the file Problem.cc has to be modified since it contains the specification of the problem. Other example Problem_*.cc files are also distributed for substituting the Problem.cc file and try EDAs with other types of problems. The file Problem.cc defines the size of individuals as well as the number of values that each variable can take, and also the fitness function which measures the fitness of each individual (we call it Metric). The rest is "simply" all the different discrete EDAs as described in our book in more detail. To start with, execute only EDA and you will have on the screen the whole list of parameters and options accepted by the program. For instance, a typical execution, with UMDA, would be started in the following way: EDA -l0 -o out.dat which would leave the results in the file out.dat, although these will also appear on the screen. |
Todo el programa está comprimido en el fichero EDA_discreto.tar.gz o EDA.zip . Está hecho con C++ standard, y debería compilar incluso con Visual Studio, pero nosotros lo utilizamos con Solaris y lo compilamos con GNU gcc. Se incluye un fichero Makefile para compilar todo el paquete. Los ficheros que contienen el código fuente se describen a continuación:
Para poder utilizarlo con cualquier problema, simplemente se debe de cambiar el fichero Problem.cc ya que es el que contiene la especificación. Se adjuntan otros ejemplos de definiciones de problemas en ficheros Problem_*.cc que pueden utilizarse para sustituir el fichero original Problem.cc y aplicar los EDAs a otro tipo de problemas. En el fichero Problem.cc se definen las inicializaciones, el tamaño de los individuos junto con los valores que puede coger por cada variable, y la función objetivo o de fitness (le llamamos Metric). El resto es "simplemente" toda la batería de algoritmos discretos que tenemos implementados y que están explicados en nuestro libro con detalle. Ejecuten simplemente EDA y les aparecerá la lista de parámetros. Una ejecución típica, con UMDA, se lanzaría de la siguiente manera: EDA -l0 -o out.dat que dejaría los resultados en el fichero out.dat, aunque también aparecen los mensajes en pantalla. |