Adaptador: Cambia interfaz
Usado para adaptar operadores en EO
Estrategia: encapsula el esqueleto de un algoritmo
Usado en los algoritmos, habitualmente.
Patrones de software II
Lenguajes de programación: C++
Usado por su velocidad y su madurez
EO (http://eodev.sourceforge.net)
Desarrollada por Maarten Keijzer, March Schoenauer y otros.
La más completa y flexible.
GAlib: (http://lancet.mit.edu/ga/)
Más usada que EO, menos flexible
El más popular últimamente.
Estable, bien conocido, comunicación fácil, portable.
ECJ 7
ES, GP, GA
Groovy Java Genetic Programming
JDEAL
Lenguajes de programación: Java
Lenguajes de programación: alternativos
Python: dirigido a objetos, popular en la Web. Librería GAS, JGRP.
PERL: más popular; diversos módulos.
Visual Basic for Applications: GAPPT puede ejecutarse desde PowerPoint.
Mutación y crossover
XSLT: lenguaje de transformación de documentos XML.
Http://geneura.ugr.es/cgi-bin/ga-xsl/ga-xsl.cgi
JavaScript: se ejecuta dentro del navegador.
Eiffel, Delphi, Objective C…
Lenguajes de programación: alternativos II
Tecnologías I: Algoritmos genéticos distribuidos
DGA dan mejores resultados que los serie; se consiguen speedup superlineales.
PVM (parallel virtual machine) o MPI (message passing interface),
Otras tecnologías: RMI (remote method invocation, Java), RPC, sockets.
Agentes ? código móvil.
Generalmente basados en Java.
Permiten cálculo distribuido y anónimo: P2P
DREAM:
http://dr-ea-m.sourceforge.net
Tecnologías II: Agentes
Interfaz para computación evolutiva.
Applets en Java: se pueden usar como "clientes de cálculo".
Aplicaciones:
Layout página web.
Asignación servidores.
Navegación sitio web.
Tecnologías III: Web
Simple Object Access Protocol: Convierte la internet en una galaxia de servicios.
Más allá de RPC: acceso a objetos remotos. Similar a CORBA y COM.
Usa cualquier transporte, y la mayoría de los lenguajes.
Tecnologías IV: SOAP
El nuevo conjunto de estándares de internet.
Estructuras de datos.
Documentos de intercambio entre librerías CE.
Generación de código.
Especificación experimental.
Tecnologías V: XML
Aplicaciones
Inclusión en los sistemas operativos, para tareas de optimización básicas
Scheduler para Linux
Optimizador de queries para PostgreSQL
Generación automática de código.
EASEA
Futuro
Programación Visual
CE transparente: integrada en dispositivos y programas.
Integración con XML.
Grid computing: uso de recursos computacionales diversos, desde un solo interfaz.
Futuro II
Reuso de código: librerías de componentes para CE.
Estandarización, y uso en aplicaciones industriales.
Implementación en hardware, usando FPGAs o similares
DGENESIS
Descripción:
DGENESIS es una implementación distribuida de un Algoritmo Genético Paralelo. Está basado en GENESIS 5.0 de John Grefenstette. Cada población es manejada por un proceso UNIX y las comunicaciones se realizan mediante sockets BSD. El usuario puede configurar varios aspectos de la migración y la topología usada en las comunicaciones entre las diversas poblaciones.
Plataforma:
Código fuente C/C++
Tipo:
Freeware
Desarrollador:
Erick Cantu-Paz
Dirección: Instituto Tecnologico Autonomo de Mexico
E-mail: ecantu@lamport.rhon.itam.mx
Mas información:
Download Dgenesis ftp://www.aic.nrl.navy.mil/pub/galist/src/dgenesis-1.0.tar.Z
EA Visualizer
Descripción:
EA Visualizer es tanto un framework general como un entorno de desarrollo para la visualización interactiva de algoritmos evolutivos. Para lograr un framework general para los algoritmos evolutivos se ha obtado por la ruptura del algoritmo en 12 componentes. Cada uno de esos componentes pueden ser editadas de forma separada del resto mediante el uso del editor del programa.
Plataforma:
Código Java
Tipo:
Freeware
Desarrollador:
Peter Bosman
Dirección: Utrecht University
E-mail: peterb@cs.uu.nl
Mas información:
Página Principal http://www.cs.uu.nl/people/peterb/computer/ea/eavisualizer/EAVisualizer.html
EO
Descripción:
EO es una biblioteca sobre la Computación Evolutiva, escrita en ANSI-C++ y basada en templates. Contiene clases para la mayoría de paradigmas de la Computación Evolutiva. Al estar basada en componentes, si no se encuentra la clase que se necesita, será muy fácil realizar una nueva clase que herede de alguna de las ya existentes.
Plataforma:
Código fuente ANSI-C++
Tipo:
GNU
Desarrollador:
J. J. Merelo
Dirección: Universidad de Granada
E-mail: merelo@users.sourceforge.net
Mas información:
Página Principal de la Biblioteca
http://eodev.sourceforge.net/
ESCaPaDE
Descripción:
ESCaPaDE es un entorno software que permite la ejecuación de pruebas con varios algoritmos evolutivos, como por ejemplo las estrategias evolutivas.
Plataforma:
Windows
Tipo:
Freeware
Desarrollador:
Frank Hoffmeister
Dirección: University of Dortmund
E-mail: hoffmeister@ls11.informatik.uni-dortmund.de
Mas información:
Para obtenerlo debe enviarse un mensaje al correo que se muestra más arriba. Como Asunto se debe indicar 'help' o 'get ESCaPaDE' (cualquier menaje que no tenga ese asunto será ignorado)
GAGA
Descripción:
GAGA (GA for General Application) es una función autocontenida y reentrante que puede ser adaptada para la minimización de varias funciones de coste "difíciles".
Plataforma:
Linux, Unix
Tipo:
Freeware
Desarrollador:
Jon Crowcroft
Dirección: University College London
E-mail: jon@cs.ucl.ac.uk
Mas información:
Download GAGA
ftp://cs.ucl.ac.uk/darpa/gaga.shar
GAlib
Descripción:
GAlib es una biblioteca de funciones en C++ que proporciona al programador de aplicaciones un conjunto de objetos para el desarrollo de algoritmos genéticos. Usando Galib es posible resolver problemas de optimización mediante la construcción de una algoritmo genético, usando estructuras de datos y operadores estándar o específicos de selección, cruce y mutación, escalado y criterios de finalización
Plataforma:
Unix, Windows y MacOS
Tipo:
Freeware
Desarrollador:
Matthew Wall
E-mail: mbwall@mit.edu
Mas información:
Página de la libreria Download GAlib
http://lancet.mit.edu/ga/
Genesis
Descripción:
Genesis es un GA generacional escrito en C por John Grefenstette. Como fue el primer programa sobre GA ampliamente distribuido, Genesis ha servido como base a otros paquetes sobre GA.
Plataforma:
Código C
Tipo:
Freeware
Desarrollador:
John Grefenstette
Mas información:
Download GENESIS
ftp://ftp.aic.nrl.navy.mil/pub/galist/src/genesis.tar.Z
GENITOR
Descripción:
GENITOR es un paquete modular de GAs que contiene ejemplos de representaciones reales, enteras y binarias. Entre sus características se incluyen tanto operadores secuenciales como operadores que funcionan sobre varias subpoblaciones.
Plataforma:
Código ANSI-C
Tipo:
Freeware
Desarrollador:
Darrell Whitley
Dirección: Colorado State University.
Mas información:
Download Genitor
ftp://ftp.cs.colostate.edu/pub/GENITOR.tar
GP
Descripción:
Implementación del paradigma de la programación genética en el lenguaje C, siguiendo el código original en LISP descrito en Koza, J. R. (1990) Genetic Programming. MIT Press: Cambridge (MA) Koza (1990).
Plataforma:
Código fuente ANSI C para PC, SUN y VAX minis.
Tipo:
Freeware
Desarrollador:
M. A. Pollatschek
E-mail: bani@ie.technion.ac.il
Mas información:
Página del autor Download GP
ftp://ftp.technion.ac.il/pub/supported/ie/bani/gp.zip
LEAP
Descripción:
LEAP (Library for Evolutionary Algorithm Programming) es una biblioteca que implementa un framework par los Algoritmos Evolutivos. Incluye diferentes técnicas, como los algoritmos genéticos y la programación genética, en un único framework.
Plataforma:
Código fuente C++
Tipo:
Freeware
Desarrollador:
Jano van Hemert y Bart CraenenDirección: Leiden University
E-mail: jvhemert@wi.leidenuniv.nl, bcraenen@cs.vu.nl
Mas información:
Página Principal Download LEAP
http://www.wi.leidenuniv.nl/%7Ejvhemert/leap/
JGDSystem
Descripción:
Java Geographically Distributed System es un sitema Java que permite resolver de manera geográficamente distribuido problemas de optimización mediante el uso de Algoritmos Genéticos
Plataforma:
Cualquiera con una JVM
Tipo:
Freeware
Desarrollador:
Victor Cuenca Veláquez y Enrique Alba TorresDirección: Universidad de Málaga
E-mail: vicuva@navegalia.com, eat@lcc.uma.es
Mas información:
Página Principal
http://neo.lcc.uma.es/JGDS/Home-page.html
NEOS
Descripción:
En la actualidad NEOS puede resolver problemas en las siguientes áreas : Programación Lineal, Optimización sin restricciones, Programación lineal estocástica, Optimización lineal en grafos
Plataforma:
El servidor NEOS permite el acceso general a través de internet.
Tipo:
Freeware
Desarrollador:
Argonne National Laboratory y Northwestern University
Mas información:
Página Principal
http://www-neos.mcs.anl.gov/
PGAPack
Descripción:
PGAPACK (Parallel Genetic Algorithm PACKage) es una bibliotecade algoritmos genéticos en paralelo de propósito general desarrollado por Argonne National Laboratory. La versión beta V0.2 tiene las siguientes características:Enlazable con aplicaciones Fortran o C. Tipos de datos binarios, enteros y reales. Estructuras de datos orientadas a objetos. Población de reemplazo controlable de forma paramétrica. Múltiples elecciones para los operadores de selección, cruce y mutación. Fácil integración de heurísticas de descenso.Totalmente extensible para la inclusión de operadores de usuario y nuevos tipos de datos.
Plataforma:
Numerosas estaciones de trabajo de 32 bits con compiladores ANSI C (Desarrollado en C++)
Tipo:
Freeware
Desarrollador:
David Levine
E-mail: pgapack@mcs.anl.gov
Mas información:
Download PGAPack
ftp://info.mcs.anl.gov/pub/pgapack
ssGA
Description:
ssGA es un Algoritmo Genético de estado estacionario desarrollado en Java y muy fácil de utilizar. Entre sus caracteríscas principales de implementación caben destacar la selección por Torneo, el cruce SPX y el reemplazo de los peores individuos.
Plataforma:
Código fuente Java
Tipo:
Freeware
Desarrolladores:
Enrique Alba y Antonio Nebro
Dirección: Universidad de Málaga
E-mail: eat@lcc.uma.es, antonio@lcc.uma.es
Mas información:
Download ssGA
http://neo.lcc.uma.es/Software/code_zip/ssGA.zip
LEDA
Descripción:
LEDA (A Library of Efficient Data Types and Algorithms) es una biblioteca de tipos de datos y algoritmos para computación combinatoria. Se implementa mediante una Liberia de clases en C++. LEDA no es estrictamente de dominio público, pero puede usarse libremente para la investigación y la enseñanza.
Plataforma:
Disponible para la mayoría de compiladores de C++ (cfront2.1, cfront3.0, g++, borland,zortech)
Tipo:
Libre para investigación y enseñanza
Desarrollador:
Stefan Naeher
E-mail: stefan@mpi-sb.mpg.de
Mas información:
Download LEDA
ftp://ftp.mpi-sb.mpg.de/pub/LEDA
BUGS
Descripción:
BUGS es un programa interactivo para mostrar el comportamiento de un Algoritmo Genético mostrando los Operadores Genéticos básicos (selección, cruce y mutación).
Plataforma:
Código fuente C con X Windows
Tipo:
Freeware
Desarrollador:
Joshua Smith
Dirección: Williams College, MIT Media Lab, Cambridge, MA 02139, U.S.A.
E-mail: jrs@media.mit.edu
Mas información:
Download BUGS
ftp://www.aic.nrl.navy.mil/pub/galist/src/BUGS.tar.Z
GA Demo 1
Descripción:
Applet de Java que permite ver una representación gráfica del funcionamiento de un Algoritmo Genético. Permite cambiar la configuración del algoritmo
Plataforma:
Navegador que permita ejecutar Applets de Java
Tipo:
Freeware
Desarrollador:
Marshall C. Ramsey
Dirección: University of Arizona.
E-mail: mramsey@bpa.arizona.edu
Mas información:
Página del Applet
http://ai.bpa.arizona.edu/%7Emramsey/ga.html
GA Demo 2
Descripción:
Applet de Java que permite ver una representación gráfica del funcionamiento de un Algoritmo Genético. Permite cambiar la configuración del algoritmo y la función de fitness a optimizar.
Plataforma:
Navegador que permita ejecutar Applets de Java
Tipo:
Freeware
Desarrollador:
Enrique Alba y Carlos Cotta
Dirección: Universidad de Málaga
E-mail: eat@lcc.uma.es, ccottap@lcc.uma.es
Mas información:
Página del Applet
http://neo.lcc.uma.es/TutorialEA/semEC/appsim/appsim.html
ACE
Descripción:
ACE (o ADAPTIVE Communication Environment) es un framework gratuito y orientado a objeto que implementa varios patrones para las comunicaciones y la ejecución paralela de programas.
Plataforma:
Independiente de laplataforma
Tipo:
Freeware
Mas información:
Página Principal
http://www.cs.wustl.edu/%7Eschmidt/ACE.html
CORBA
Descripción:
CORBA define la infraestructura para la arquitectura OMA (Object Management Arquitecture) de OMG, especificando los estándares necesarios para la invocación de métodos sobre objetos en entornos heterogéneos.
Mas información:
Página Principal
http://www.corba.org/
Globus
Descripción:
Globus desarrolla todas las técnicas necesarias para la computación en grids. Los Grids son entornos persistente que permiten a las aplicaciones software integrar diferentes tipos de recursos (computacionales, de información, …) y posiblemente estos recursos esten administrados por diferentes organizaciones en un diferentes lugares.
Mas información:
Página Principal
http://www.globus.org/
Java RMI
Descripción:
Java Remote Method Invocation (RMI) permite al programador crear software distribuido basado en la tecnología Java, en el cual se puede invorvar a los métodos de objetos Java remotos que se ejecutan en otras JVM, que se encuentran posiblimente en diferentes ordenadores.
Plataforma:
Independiente de la plataforma
Tipo:
Freeware
Mas información:
Página Principal
http://java.sun.com/products/jdk/rmi/
MPICH
Descripción:
MPICH es una implementación portable y de libre disposición de la biblioteca estándar de Paso de Mensajes MPI.
Plataforma:
Unix, Windows
Tipo:
Freeware
Mas información:
Página Principal
http://www-unix.mcs.anl.gov/mpi/mpich/
PCN
Descripción:
PCN es un sistema para desarrollar y ejecutar programas en paralelo. Comprende un lenguaje de programación de alto nivel, herramientas para desarrollar y depurar programas en dicho lenguaje, así como interfaces hacia Fortran y C que permiten reutilizar el código existente en programas multilenguaje en paralelo. El código desarrollado con PCN es portable a diferentes estaciones de trabajo, redes y computadores multiprocesador. N. Optimización No Lineal
Plataforma:
Delta, Ipsc860, Iris, Next040, Rs6000 y Sun4.
Tipo:
Freeware
Desarrolladores:
Ian Foster y Steven Tuecke
Mas información:
Download
ftp://info.mcs.anl.gov/pub/pcn
PVM
Descripción:
PVM (Parallel Virtual Machine) es un paquete software que permite usar una gran cantidad de ordenadores UNIX y/o NT conectados mediante alguna red como si fuera un único ordenador.
Plataforma:
Windows, Unix/Linux
Tipo:
Freeware
Mas información:
Página Principal
SOAP
Descripción:
SOAP es un protocolo estandar que permite intercambiar información en entorno distribuidos y descentralizados. Este protocolo está basado en XML.
Mas información:
Página Principal
http://www.w3.org/TR/SOAP/
E
Descripción:
E es un herramienta avanzada de Algoritmos Evolutivos (EA) diseñada para la resolución de problemas muy difíciles. E usa procesos evolutivos para descubrir relaciones, funciones y programas a partir la información adquirida del conjunto de datos de entrenamiento.
Tipo:
Software Comercial
Plataforma:
Windows
Vendedor:
System Dynamics InternationalE-mail: info@sdi-inc.com
Mas información:
Descripción del Producto
http://www.sdi-inc.com/e.html
Evolutionary Optimizer (EVO)
Descripción:
Evolutionary Optimizer (EVO) es una herramienta para la optimización de sistemas cuyas propiedades son determinadas por parámetros numéricos (como por ejemplo los controladores difusos). La optimización se lleva a cabo siguiendo un proceso que imita la evolución biológica.
Tipo:
Software Comercial
Vendedor:
TransferTech GmbH Dirección: Cyriaksring 9A, 38118 Braunschweig, Germany Teléfono: +49-531-890-255 Fax: +49-531-890-355 E-mail: info@transfertech.de
Mas información:
Página de la Empresa http://www.transfertech.de//
Descripción del Producto http://www.transfertech.de/www/soft_e.htm#evo
GA ToolBox for Matlab
Descripción:
Genetic Algorithm Toolbox es un módulo que debe ser usado con MATLAB y contienes rutinas que implementan Algoritmos Genéticos (GAs) y otras técnicas de la Computación Evolutiva.
Tipo:
Software Comercial
Vendedor:
Dr Andy ChipperfieldDirección: Automatic Control & Systems Engineering, University of Sheffield, UKE-mail: chip@acse.shef.ac.uk
Mas información:
Descripción del Producto
http://www.shef.ac.uk/uni/projects/gaipp/gatbx.html
GEATbx
Descripción:
GEATbx es la implementación más grande de Algoritmos Evolutivos en Matlab. Se han integrado un amplio número de operadores en un único entorno, con lo que consigue una poderosa herramienta de optimización aplicable a un gran rango de problemas.
Tipo:
Software Comercial
Plataforma:
Cualquiera que tenga soporte para Matlab (Windows, Linux,…)
Vendedor:
T&R Computer-Vertrieb GmbH Dirección: Klaistower Straße 64/65, Germany Teléfono: ++49 3327 4680189 Fax: ++49 3327 43489
Mas información:
GEATbx: Main page Introduction to GEATbx Documentation of GEATbx
RPL2
Description:
RPL2 es una lenguaje interpretado y extensible que permite crear y utilizar programas que hagan uso de la computación evolutiva.
Plataforma:
Unix workstation networks (Sun, SGI, Dec Alpha) MS-DOS or Windows-based PCs (serial version only) SGI Challenge XL Cray Y-MP (serial) and T3D (parallel) Meiko CS-2
Tipo:
Comercial, gratis para uso académico
Vendedor:
Quadstone Ltd.
Url: www.quadstone.com/
Mas información:
Página Principal
http://support.quadstone.com/rpl2
Otros Enlaces de Interes
io.us.es/enlaces.htm : Página de Enlaces de Software de Optimización del Grupo IO.
http://www.wior.uni-karlsruhe.de/… :
Página de Enlaces de Bibliotecas de universidad de Karlsruhe.
http://evonet.dcs.napier.ac.uk/… : Página de Software de Evonet.
Estructura de un Algoritmo Genético
Generate [P(0)]t 0WHILE NOT Termination_Criterion [P(t)] DO
Evaluate [P(t)]P' (t) Select [P(t)]P''(t) Apply_Reproduction_Operators [P'(t)]P(t+1) Replace [P(t), P''(t)]t t + 1
END RETURN Best_Solution
Página anterior | Volver al principio del trabajo | Página siguiente |