12.07.2015 Views

VIII Jornadas de Enseñanza Universitaria de la Informática Cáceres ...

VIII Jornadas de Enseñanza Universitaria de la Informática Cáceres ...

VIII Jornadas de Enseñanza Universitaria de la Informática Cáceres ...

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Una ayuda a <strong>la</strong> aplicación <strong>de</strong> técnicas heurísticas <strong>de</strong>optimizaciónJose Antonio Lozano Alonso, Francisco Javier Echarte AyerraDept. <strong>de</strong> Ciencias <strong>de</strong> <strong>la</strong> Computación e Inteligencia ArtificialUniversidad <strong>de</strong>l País Vasco/Euskal Herriko Unibertsitateae-mails: lozano@si.ehu.es <strong>la</strong>udix@infonegocio.comResumenEl presente artículo presenta una herramienta <strong>de</strong>ayuda a <strong>la</strong> implementación y experimentación contécnicas heurísticas <strong>de</strong> optimización. En concreto,<strong>la</strong>s técnicas <strong>de</strong> optimización a <strong>la</strong>s que da soporteson: el algoritmo <strong>de</strong> enfriamiento estadístico, losalgoritmos genéticos y <strong>la</strong> búsqueda tabú.Al mismo tiempo que se exponen <strong>la</strong>sprincipales características <strong>de</strong> <strong>la</strong> herramienta, seilustrará el uso que se hace <strong>de</strong> <strong>la</strong> misma en <strong>la</strong>asignatura “Optimización. Técnicas Avanzadas”.1. Introducción, Situación y MotivaciónLa asignatura “Optimización. TécnicasAvanzadas” [1] es una asignatura optativa <strong>de</strong>segundo ciclo, <strong>de</strong>ntro <strong>de</strong>l p<strong>la</strong>n <strong>de</strong> estudios <strong>de</strong>Ingeniero en Informática en <strong>la</strong> Universidad <strong>de</strong>lPaís Vasco. Dicha asignatura consta en el p<strong>la</strong>n <strong>de</strong>estudios con una carga lectiva <strong>de</strong> seis créditos(cuatro teóricos y dos prácticos). El número <strong>de</strong>alumnos matricu<strong>la</strong>dos en <strong>la</strong> asignatura osci<strong>la</strong> entreveinte y treinta y cinco. El primer coautor <strong>de</strong> <strong>la</strong>presente ponencia viene impartiendo estaasignatura durante los cuatro últimos años.Los contenidos teóricos <strong>de</strong> <strong>la</strong> asignatura secentran en <strong>la</strong> resolución <strong>de</strong> problemas <strong>de</strong>optimización combinatoria [3] mediante técnicasheurísticas. Las más <strong>de</strong>stacables son: búsquedalocal, enfriamiento estadístico (simu<strong>la</strong>tedannealing (a veces citado como: temple, recocidosimu<strong>la</strong>do, o enfriamiento simu<strong>la</strong>do)), búsquedatabú y algoritmos genéticos [2].La parte práctica <strong>de</strong> <strong>la</strong> asignatura consiste en <strong>la</strong>resolución <strong>de</strong> un problema <strong>de</strong> optimizacióncombinatoria mediante el uso <strong>de</strong> los algoritmosvistos en c<strong>la</strong>se y, variaciones <strong>de</strong> los mismosespecíficas para el problema concreto a resolver.Éstos son problemas clásicos <strong>de</strong> optimizacióncombinatoria como: el problema <strong>de</strong>l agenteviajero, el problema <strong>de</strong> <strong>la</strong> mochi<strong>la</strong>, el problema <strong>de</strong><strong>la</strong> partición <strong>de</strong>l grafo, etc.Una <strong>de</strong> <strong>la</strong>s dificulta<strong>de</strong>s a <strong>la</strong> que se enfrentabanlos alumnos al realizar <strong>la</strong> parte práctica <strong>de</strong> <strong>la</strong>asignatura era que, <strong>la</strong> implementación <strong>de</strong> losalgoritmos presentados en <strong>la</strong>s c<strong>la</strong>ses teóricas no essencil<strong>la</strong>. Esto implicaba que una mayor parte <strong>de</strong>ltiempo lo invertían en <strong>la</strong> implementación <strong>de</strong> uno<strong>de</strong> los algoritmos, quedando muy poco tiempopara <strong>la</strong> comparación <strong>de</strong> <strong>la</strong>s soluciones obtenidascon diferentes conjuntos <strong>de</strong> parámetros y <strong>de</strong>componentes para dicho algoritmo, y por supuestono pudiendo llevar a cabo una comparaciónexperimental con diferentes métodos.Dado que los algoritmos son conceptualmentefáciles <strong>de</strong> enten<strong>de</strong>r, <strong>la</strong> implementación en estecaso, no aportaba ningún conocimiento extra a losalumnos.Una solución a esta situación es <strong>la</strong> utilización<strong>de</strong> paquetes <strong>de</strong> software estándar que tuviesenimplementados los algoritmos. Sin embargo, noexiste actualmente ninguna herramienta queimplemente todos los algoritmos, y menos enlengua españo<strong>la</strong>. Esto suponía que los alumnos<strong>de</strong>bían familiarizarse con más <strong>de</strong> un paquete, loque implica nuevamente un gran esfuerzo.Para solucionar dicha dificultad hemose<strong>la</strong>borado una herramienta que supone una ayudaa <strong>la</strong> aplicación <strong>de</strong> estos algoritmos: recoge todoslos algoritmos vistos en c<strong>la</strong>se bajo un mismoentorno; tiene implementados un conjunto <strong>de</strong>componentes y <strong>de</strong> opciones que permiten <strong>la</strong>comparación experimental <strong>de</strong> diferentesalgoritmos; y a<strong>de</strong>más es abierta en el sentido <strong>de</strong>que es posible añadir nuevos componentes alsistema, <strong>de</strong> forma sencil<strong>la</strong>.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!