Está en la página 1de 12

Algoritmos genticos para la resolucin de problemas de Programacin por

Metas Entera. Aplicacin a la Economa de la Educacin.


Rafael Caballero Fernndez.
Julin Molina Luque.
Mariano Luque Gallego.
Angel Torrico Gonzlez.
Trinidad Gmez Nuez
Departamento de Economa Aplicada (Matemticas). Universidad de Mlaga.
Campus El Ejido s/n
29071 Mlaga
tfn: 952-13-11-71
e-mail: julian.molina@uma.es
ABSTRACT
En este trabajo se presenta un algoritmo gentico para la resolucin de problemas
de Programacin por Metas Entera. Este tipo de problemas presentan en general un gran
nmero de dificultades para su resolucin utilizando algoritmos tradicionales de
Programacin Entera, siendo en la mayora de los casos de problemas reales demasiado
costosa computacionalmente para afrontarla con garantas. Sin embargo, se mostrar
como este nuevo tipo de algoritmos, los algoritmos genticos, permiten resolver
eficientemente problemas de este tipo con un coste computacional reducido. Como
ejemplo, se resuelve en este trabajo un problema Economa de la Educacin con un
modelo de Programacin por Metas Entera aplicando un algoritmo gentico y un
algoritmo tradicional. Para estas resoluciones se analiza el coste computacional de
ambos tipos de resolucin para poner de manifiesto las ventajas que puede suponer un
algoritmo gentico para la resolucin de problemas reales complejos.
Palabras Clave:
Programacin por Metas, Programacin Multiobjetivo,
algoritmos genticos, Educacin Superior.
1. Introduccin.
Los algoritmos genticos, o ms generealmente las estrategias evolutivas, se han
convertido en una herramienta muy utilizada para optimizacin, aprendizaje de
mquinas, problemas de diseo, problemas de redes neuronales y otros campos de la
Matemtica y la Ingeniera. En general, estos algoritmos simulan la evolucin natural
para encontrar soluciones a problemas complejos. As, el famoso naturalista Charles
Darwin defini en su libro de 1859 la Seleccin Natural o Supervivencia del ms
Adaptado como el proceso de preservacin de las diferencias y variaciones favorables
en cada individuo, as como la destruccin de aquellas variaciones perjudiciales. En la
naturaleza, los individuos han de adaptarse a su entorno para sobrevivir mediante el
proceso que denominamos evolucin, en el cual aquellos aspectos o cambios que
favorecen su competitividad son preservados, y aquellos aspectos que debilitan su
adaptacin son eliminados. Estas caracteristicas, favorables o desfavorables, se
almacenan y controlan desde unas unidades llamadas genes, que a su vez se agrupan
formando unos conjuntos llamados cromosomas.

A finales de los 60, John Holland se interes en aplicar los principios de la


evolucin natural para la resolucin de problemas complejos en el campo del
apredendizaje de mquinas, dando lugar a lo que hoy se conoce como algoritmos
genticos. En 1989 Goldberg public un libro en el cual se asentaba una slida base
cientfica para este tipo de estrategias y en el cual se incluian ms de 70 aplicaciones
reales con xito de algoritmos genticos. As, en 1992 podemos ya encontrar una
definicin de algoritmo gentico en Koza (1992):
Un algoritmo gentico es un algoritmo matemtico que transforma un conjunto
de individuos o poblacin (coleccin de objetos matemticos representando un
individuo), cada uno de los cuales tiene asociado un valor de adaptacin, en una nueva
poblacin (la siguiente generacin) utilizando una serie de operadores basados en los
principios darwinianos de supervivencia del ms adaptado.
La principal caracterstica de un algoritmo gentico es el uso de un operador de
recombinacin o cruce como mecanismo fundamental de bsqueda, consistiendo este
operador fundamentalmente en el intercambio de los valores de determinadas variables,
aunque ocasionalmente se pueden realizar tambin otras operaciones dependiendo de la
estructura del problema a resolver. La recombinacin es la encargada de construir una
descendencia a partir de una poblacin, de forman que se mantengan ciertas
caractersticas de los cromosomas de esta poblacin original. La utilidad de este
operador se basa en el hecho de que diferentes componentes de la solucin ptima
pueden ser evolucionadas independientemente y luego ser combinadas para formar
mejores soluciones. Adicionalmente al operador de cruce, se utiliza un operador de
mutacin que se ocupar de mantener un nivel de diversidad adecuado en cada
poblacin. Los miembros de cada poblacin estn representados por una serie de
cromosomas, que originalmente eran simplemente cadenas binarias. Esta representacin
de cada elemento de la poblacin juega un papel clave en un algoritmo gentico, puesto
que ha de ser capaz de representar toda la variedad posible de soluciones para nuestro
problema, as como las caractersticas que deseamos tenga la solucin final. Una vez
determinada la representacin, se genera una poblacin inicial y mediante el operador
de Seleccin se seleccionan subconjuntos (generalmente parejas) de individuos, los
progenitores, para combinarlos y producir nuevos individuos (descendencia) que posean
caractersitcas de ambos. Con todo esto, un esquema del funcionamiento general de un
algoritmo gentico podra ser el siguiente:
Algoritmo Gentico:
- Generar una poblacin inicial.
- Iterar hasta un criterio de parada:
- Evaluar cada individuo de la poblacin.
- Seleccionar los progenitores.
- Aplicar el operador de cruce y mutacin a estos progenitores.
- Incluir la nueva descendencia para formar una nueva
generacin.
En la siguiente seccin se estudiarn con ms detalle cada uno de los elementos de
un algoritmo gentico bsico.
2. Elementos de un Algoritmo Gentico.
2.1 Tipos de Representacin.
Durante los primeros aos el tipo de representacin utilizado era siempre binario,
debido a que se adapta perfectamente al tipo de operaciones y el tipo de operadores que

se utilizan en un algoritmo gentico. Sin embargo, las representaciones binarias no son


siempre efectivas por lo que se empezaron a utilizar otro tipo de representaciones. En
general, una representacin ha de ser capaz de identificar las caractersitcas
constituyentes de un conjunto de soluciones, de forma que distintas representaciones
dan lugar a distintas perspectivas y por tanto distintas soluciones. Podemos considerar
tres tipos bsicos de representaciones:
- Representacin binaria: Cada gen es un valor 1 0.
1 0 1 1 0 1
-

Representacin entera: Cada gen es un valor entero.


1 0 3 -1 0 4

Representacin real: Cada gen es un valor real.


1,78 2,6

-1,2 6,5

2.2 Poblacin Inicial.


La poblacin inicial de un algoritmo gentico puede ser creada de muy diversas
formas, desde generar aleatoriamente el valor de cada gen para cada individuo, utilizar
una funcin vida o generar alguna parte de cada individuo y luego aplicar una
bsqueda local. Diversas formas de generar una pblacin inicial pueden encontrarse en
Goldberg (1989).
2.3 Funcin de evaluacin.
La funcin de evaluacin ha de medir la adaptacin de cada uno de los individuos,
es decir, la calidad de cada solucin del problema, y depende fundamentalmente de la
representacin elegida, puesto que la nica informacin que puede evaluar esta funcin
va a ser la contenida en los genes segn la representacin utilizada. Cuando se utilize un
algoritmo gentico para resolver una problema de optimizacin, la funcin de
evaluacin ser la funcin a optimizar, f(x), aunque dicha funcin puede ser modificada
para penalizar de cierta forma la violacin de restricciones ( por ejemplo para problemas
difusos) o para fomentar la diversidad.
2.4 Operador de Seleccin.
El operador de Seleccin es el encargado de transmitir y conservar aquellas
caractersitcas de la soluciones que se consideran valiosas a lo largo de las generaciones.
El principal medio para que la informacin til se transmita es que aquellos individuos
mejor adaptados (mejor valor de funcin de evalucin) tengan ms probabilidades de
reproducirse. Sin embargo, es necesario tambin incluir un factor aleatorio que permita
reproducirse a individuos que aunque no estn muy bien adaptados, puedan contener
alguna informacin til para posteriores generaciones, con el objeto de mantener as
tambin una cierta diversidad en cada poblacin. Fundamentalmente, pueden
considerarse tres tipos de operadores de seleccin, aunque existen mltiples operadores
distintos a estos, as como innumerables combinaciones de aspectos de estos tres
mecanismos fundamentales.

- Ruleta o Seleccin Proporcional: Con este mtodo la probabilidad que tiene un


individuo de reproducirse es proporcional a su valor de funcin de evaluacin, es decir,
a su adaptacin. Una vez calculadas estas probabilidades, la seleccin de los individuos
para reproducirse es aleatoria segn estos valores. Se puede encontrar una descripcin
detallada de esta estrategia en Goldberg (1989).
- Seleccin por Ranking: Desarrollado por Whitley(1989) consiste en calcular las
probabilidades de reproduccin atendiendo a la ordenacin de la poblacin por el valor
de adaptacin en vez de atendiendo simplemente a su valor de adecuacin. Estas
probabilidades se pueden calcular de diversas formas, aunque el mtodo habitual es el
ranking lineal (Baker (1985)).
- Seleccin por Torneo: Reporta un coste computacional muy bajo debido a su
sencillez. Se selecciona un grupo de t individuos (normalmente t = 2, torneo binario) y
se genera un nmero aleatorio entre 0 y 1. Si este nmero es menor que un cierto umbral
K (usualmente 0,75), se selecciona para reproducirse al individuo con mejor adaptacin,
y si este nmero es menor que K, se selecciona, por el contrario, al individuo con peor
adaptacin. Puede encontrarse informacin detallada sobre este tipo de seleccin en
Goldberg (1991).
2.5 Operador de Cruce.
El operador de cruce permite realizar una exploracin de toda la informacin
almacenada hasta el momento en la poblacin y combinarla para crear mejores
individuos. Dentro de los mtodos habituales destacamos los siguientes:
- Cruce de un punto: Es el mtodo de cruce ms sencillo. Se selecciona una
posicin en las cadenas de los progenitores, y se intercambian los genes a la izquierda
de esta posicin.
- Cruce de n puntos: Es una generalizacin del mtodo anterior. Se seleccionan
varias posiciones (n) en las cadenas de los progenitores y se intercambian los genes a
ambos lados de estas posiciones.
- Cruce Uniforme: Se realiza un test aleatorio para decidir de cual de los
progenitores se toma cada posicin de la cadena.
2.6 Operador de Mutacin.
El objetivo del operador de mutacin es producir nuevas soluciones a partir de la
modificacin de un cierto nmero de genes de una solucin existente, con la intencin
de fomentar la variabilidad dentro de la poblacin. Existen muy diversas formas de
realizar la mutacin, desde la ms sencilla ( Puntual ), donde cada gen muta
aleatoriamente con independencia del resto de genes, hasta configuraciones ms
complejas donde se tienen en cuanta la estructura del problema y la relacin entre los
distintos genes.
2.7 Reemplazo de la Poblacin y Condicin de Parada.
Cada vez que se aplica el operador de cruce, nos encontramos con un nmero de
nuevos individuos (la descendencia) que se han de integrar en la poblacin para formar
la siguiente generacin. Esta operacin se puede hacer de diversas formas, pero en
general existen tres mtodos fundamentales para realizar el reemplazo:

- Cuando el nmero de individuos llega a un cierto nmero, se elimina un


subconjunto de la poblacin conteniendo a los individuos peor adaptados.
- Cada vez que se crea un nuevo individuo, en la poblacin se elimina el peor
adaptado para dejar su lugar a este nuevo individuo.
- Cada vez que se crea un nuevo individuo, en la poblacin se elimina
aleatoriamente una solucin, independientemente de su adaptacin.
En cuanto el criterio de parada, generalmente viene determinado por criterios a
priori sencillos, como un nmero mximo de generaciones o un tiempo mximo de
resolucin, o ms eficientemente por estrategias relacionadas con indicadores del estado
de evolucin de la poblacin, como por la prdida de diversidad dentro de la poblacin
o por no haber mejora en un cierto nmero de iteraciones, siendo por lo general una
condicin mixta lo ms utilizado, es decir, limitar el tiempo de ejecucin a un nmero
de iteraciones y tener en cuenta algn indicador del estado de la poblacin para
considerar la convergencia antes de alcanzar tal limitacin.
Con este segundo apartado se ha pretendido dar una visin general de un
algoritmo gentico bsico, aunque la variedad de estrategias distintas en cada uno de
estos puntos, as como diferentes las combinaciones de ellas, es enorme en la literatura.
De hecho, una de las grandes propiedades de un algoritmo gentico es la flexibilidad de
su marco general y el gran nmero de configuraciones distintas que se pueden utilizar
segn las necesidades de cada problema, aprovechando incluso distintas opciones
provinientes de otros tipos de metodologas como el temple simulado, la bsqueda tab
o el GRASP. As mismo, el nmero de aplicaciones reales en la literatura es tambin
enorme, tal y como se puede observar en Gandibleux y Ehrgott (2000).
3. Programacin Multiobjetivo con algoritmos genticos.
Los primeros intentos de utilizar multiples criterios en un algoritmo gentico se
remontan a finales de los 60, tal y como seala Goldberg (1989), cuando estos primeros
intentos se centraban fundamentalmente en la agregacin de los criterios mediante una
escalarizacin de los mismos. Sin embargo, desde entonces han aparecido en la
literatura otros enfoques distintos que se basan en la eficiencia de Pareto y en otros tipos
de ordenacin, tal y como se puede ver por ejemplo en Fonseca y Fleming (1993). A
continuacin se resumen algunos de estos mtodos atendiendo a esta clasificacin.
3.1 Mtodos de agregacin de funciones.
En primer lugar encontramos un enfoque basado en el Mtodo de las
Ponderaciones. En este caso el punto ideal no es conocido, con lo cual el decisor ha de
suministrar, adems de los pesos, un coeficiente de normalizacin para cada objetivo.
Normalmente produce soluciones poco equilibradas y por tanto no explora toda la
frontera eficiente. Podemos encontrar ms detalles en Jakob y otros (1992). El mtodo
de la Restriccin es utilizado por Ritzel y otros (1994), dando lugar a mejores
aproximaciones de la frontera eficiente, aunque con un coste computacional mayor
debido a que se han de realizar mtliples resoluciones con distintas cotas para las
restricciones y distintas funciones a optimizar. Wilson y Macleod (1993) utilizan con
xito un enfoque de Programacin por Metas Ponderadas para resolver un problema con
mltiples objetivos, mostrndose lo adecuado de este tipo de algoritmos para una
resolucin mediante este tipo de metodologas.
3.2 Enfoques no basados en el orden de Pareto.

Para evitar las dificultades a la hora de agregar los criterios, muchos de los
esfuerzos en la literatura se han dirigido hacia enfoques basados en rankings. As
Schaffer (1985) desarroll el mtodo VEGA (Vector Evaluated Genetic Algorithm),
cuya nica diferencia con un algoritmo gentico usual es la forma en que se realiza la
seleccin para la reproduccin. En este caso, en cada generacin la poblacin se agrupa
en un cierto nmero de subpoblaciones (tantas como criterios) atendiendo en cada una
de ellas al valor de una de las funciones objetivo. Dentro de cada una de estas
poblaciones se realiza la seleccin atendiendo al valor de este criterio y luego las
poblaciones se mezclan de nuevo para aplicar el operador de cruce y el operador de
mutacin, dando lugar a la siguiente generacin. Este es un mtodo muy utilizado en la
literatura, a pesar de que da lugar en muchos casos a soluciones poco equilibradas,
debido a que fomenta la especiacin, es decir, la aparicin de soluciones que son muy
buenas en un nico criterio, pero presentan valores malos en los dems. Para resolver
este problema Shaffer propus una serie de heursticos que protegen a las soluciones
ms equilibradas, aunque no excelentes en ningn criterio, as como realizar cruces
entre soluciones pertenencientes a distintas subpoblaciones.
Por otra parte, Fourman (1985) utiliz un orden lexicogrfico para realizar la
seleccin de los individuos a reproducirse, obteniendo muy buenos resultados puesto
que el orden lexicogrfico es un orden total y por tanto siempre se puede determinar
cuando un individuo est mejor adaptado que otro, lo cual permite realizar una seleccin
por ranking. Este enfoque tiene adems la ventaja de no necesitar normalizar los
objetivos puesto que las comparaciones son binarias objetivo a objetivo. Sin embargo,
requiere que las preferencias del decisor se correspondan a una ordenacin lexicogrfica
de los criterios.
3.3 Enfoques basados en el orden de Pareto.
Con este tipo de enfoques, el valor de adaptacin de cada individuo depende no
del valor de cada uno de los criterios, sino de su eficiencia o dominacin dentro de cada
poblacin. As, Goldberg (1989) propuso establecer un ranking de no-dominacin para
resolver los problemas del enfoque VEGA. La idea es encontrar los individuos en cada
generacin que no estn dominados por ningn otro individuo, asignarles el ranking
ms alto y extraerlos de la poblacin. Con el resto de individuos se repite este proceso
hasta que todos ellos tienen asignado una posicin en el ranking segn este proceso,
realizndose entonces una seleccin por ranking. Este enfoque se ha mostrado superior
al enfoque VEGA en algunos casos, como se puede ver en Hilliard y otros(1989).
Fonseca y Fleming (1993) desarrollaron esta idea con el mtodo MOGA (Multi
Objective Genetic Algorithm), donde el ranking de cada individuo depende del nmero
de individuos en la poblacin que lo dominan, teniendo los individuos eficientes
ranking uno. Por ltimo, Srinivas y Deb (1994) evolucionaron la idea del ranking de nodominacin para dar lugar al mtodo NSGA (Non-Dominated Sorting Genetic
Algorithm) que se ha mostrado tambin eficiente a la hora de resolver problemas con
multiples criterios.
Por su parte, la resolucin de problemas de Programacin por Metas mediante
algoritmos genticos se beneficia tambin de cada uno de estos distintos enfoques,
aunque especialemente interesante es el caso de la Programacin por Metas
Lexicogrficas. Estos problemas se adaptan perfectamente a la utilizacin de una
funcin de evaluacin basada en un orden lexicogrfico, que en este caso es el orden
lexicogrfico correspondiente a los niveles de prioridad del decisor para cada una de las

metas. De esta forma se pueden aprovechar de una forma sencilla todas las virtudes de
este enfoque para la programacin multiobjetivo mediante este tipo de algoritmos, tal y
como se muestra en Fourman (1985).
4. Aplicacin.
Como ejemplo para mostrar el rendimiento de este tipo de algoritmos
resolveremos en esta seccin un modelo de Programacin por Metas Entera sobre datos
reales. Hemos elegido este problema porque es un hecho bien conocido que dentro de la
Programacin Matemtica, los problemas de la Programacin Entera son los que
ofrecen una mayor complejidad computacional a la hora de resolverse. As, los
problemas de la Programacin Entera se distinguen por requerir, en general, un tiempo
computacional desmesurado, en comparacin con el resto de problemas de la
Programacin Matemtica, coste que en muchos casos hace la resolucin inviable. Sin
embargo, la Programacin Entera es una rama muy importante de la Programacin
Matemtica debido a que existe hoy en da una enorme variedad de problemas reales de
este tipo, relacionados con reas tan diversas como el anlisis combinatorio,
planificacin y produccin, diseo de redes de comunicacin y transporte, asignacin de
plantillas y turnos, problemas de flujo, de localizacin, de distribucin, de
secuenciacin de maquinaria, y un largo etctera. Es este el motivo de la aparicin de
una gran variedad de mtodos de resolucin, algoritmos especifcos y heursticos para la
resolucin de este tipo de problemas, entre los cuales los que se muestran ms eficientes
son los mtodos de Ramificacin y Acotacin y Ramificacin y Corte, cuyos detalles se
pueden ver por ejemplo en Nemhauser y Wolsey (1989).
Por otra parte, la Programacin por Metas Entera es el campo de la Programacin
Multiobjetivo Entera que ms trabajos recoge en la literatura, debido a que con este tipo
de problemas la obtencin de la totalidad o una buena aproximacin del conjunto
eficiente es una dficil tarea, imponindose por tanto la filosofa de la satisfaccin frente
a la filosofa de la eficiencia. As encontramos numerosos trabajos en la literatura
relativos a la Programacin por Metas Entera, como son los de Arthur y Ravindran
(1980), Markland y Vickery (1986), Ignizio (1985) o Tamiz y otros (1999). En todos
ellos se pone de manifiesto la complejidad computacional que puede ofrecer un
problema real de Programacin por Metas Entera, y una buena muestra de ello es el
problema que se resuelve en este trabajo.
Este problema, que est basado en el modelo desarrollado en Caballero y otros
(2002), se corresponde con un modelo de Programacin por Metas Entera para la
asignacin eficiente de los recursos financieros de una universidad espaola, y en este
trabajo, su aplicacin al caso particular de la Universidad de Mlaga. El problema en
cuestin consta de 3124 variables enteras (agrupadas en 22 variables por departamento,
teniendo la Universidad de Mlaga 142 departamentos), 1420 variables de desviacin
(continuas), 712 restricciones duras y 1420 restricciones blandas asociadas a las metas
del problema. Este problema responde a un enfoque de Programacin por Metas Entera
Lexicogrfica Minimax con cinco niveles de prioridad cuya formulacin es la siguiente:

n
n
n
n
n
Lex min max i1 , max i2 , max i3 , max i4 , max i5
i =1,...,n u i1 i =1,...,n u i2 i =1,...,n u i3 i =1,...,n u i4 i =1,...,n u i5
s.a: 0 x1i + x 2i + x5i 2 i = 1, ..., n.
x1i + x 2i 1 + x 5i i = 1, ..., n.

0 x3i + x4 i 3 i = 1, ..., n.
x 5i x 3i x 4i 0 i = 1, ..., n.
7

j= 2
j 3, 4
7

T
j= 5

j= 5

j= 4

S1 j + T2 ji S 2 j + T3 ji S 3 j +

1 ji

i = 1, ..., n.

S 4 j + T5 ji S 5 j + T67 i S 67 MaxMejora

4 ji

j= 6

(x
i =1

3i

S 3 + x 4i S 4 ) MaxAyud Pr e sup

i =1

j=1

j= 2
j 3, 4

j= 5

j= 4

( x ji S j + T1 ji S1 j + T2 ji S 2 j + T3 ji S 3 j +
7

j= 5

x ji C j +

4 ji S 4 j + T5 ji S 5 j + T67 i S 67

) Pr e sup

j= 6

j= 2
j 3, 4

j= 5

j= 5

j= 5

T1 ji C1 j + T2 ji C 2 j + T3 ji C 3 j + T4 ji C 4 j +

j=1

+ T5 ji C 5 j + ni1 p i1 = CDR i (1 Ho lg ura )CDTi


j= 6

x ji C j +
j=1

j= 2
j 3, 4

j= 5

j= 5

j= 5

T1ji C1j + T2 ji C 2 j + T3 ji C 3 j + T4 ji C 4 j +
7

+ T5 ji C 5 j + ni2 p i2 = PAA i CDTi


j= 6

7
7

5
x ji C j + T1 ji C1 j + T2 ji C 2 j

6
j= 2
j= 5
j=1

j 3, 4
T j7 i 24 C arg aDoct

7
7
j=1
7

+ T3 ji C 3 j + T4 ji C 4 j + T5 ji C 5 j
j= 5
j= 6
j= 5

+ ni3 p i3 = (C arg aDoct ) CDTi CDFD i


5

x ji C j +
j=1

j= 2
j 3, 4

j= 5

j= 5

j= 5

T1ji C1 j + T2 ji C 2 j + T3 ji C 3 j + T4 ji C 4 j +
7

CDT
+ T5 ji C 5 j + ni4 p i4 = CREDAD i

i
Alum
Pr
of

j= 6
5

x ji S j +
j=1

j= 2
j 3, 4

j= 5

j= 4

T1 ji S1 j + T2 ji S 2 j + T3 ji S3 j +

j= 5

j= 6

T4 ji S 4 j + T5 ji S 5 j + T67i S 67 + ni5 p i5 = CREDMCDR i SAL i

En esta formulacin encontramos 22 variables por departamento, donde las cinco


primeras (xij) representan las nuevas contrataciones a realizar en dicho departamento
segn las cinco categoras de contratacin posibles, y las 17 siguientes (Tij) representan
las posibles promociones de categora dentro del profesorado existente en dicho
departamento. Por otra parte, encontramos en esta formulacin la informacin del
estado actual de dicha universidad concerniente a los aspectos docente, investigador y
financiero (CDTi, CDRi, PAAi, CDFDi, CREDADi y CREDM), que se utiliza para
establecer los niveles de aspiracin de cada una de las metas. Finalmente, encontramos
en este modelo una serie de parmetros concernientes a aspectos tcnicos de la
universidad, y concernientes tambin a ciertos niveles de aspiracin. Para el problema
de nuestro ejemplo, estos datos correspondern a la Universidad de Mlaga, donde el
nmero de departamentos (n) es de 142.
El problema para los datos corrrespondientes a la Universidad de Mlaga fu
resuelto con el software de Programacin Multiobjetivo PROMO (Caballero y otros
(2000)), que utiliza las librerias de Programacin Entera de CPLEX, versin 6.5.1., que
estn actualmente entre las mas eficientes para la resolucin de problemas enteros.
CPLEX es un paquete informtico especializado en problemas de Programacin Entera,
donde se utilizan todas las tcnicas existentes para resolver eficientemente un problema
de esta indole, desde la adicin de cortes, diversas tcnicas de preproceso, la utilizacin
de heursicos, estrategias de ramificacin, de seleccin de nodos, etc. Para este
problema se realizaron varias resoluciones con distintos parmetros en un ordenador
personal Pentium II a 133 Mhz, requiriendo todas ellas ms de 4 horas de tiempo
computacional para su resolucin, y algunas de ellas incluso ms de 5 horas.
Posteriormente, se ha desarrollado un algoritmo gentico para resolver este
problema y evaluar el ahorro de coste computacional que un algoritmo gentico puede
ofrecer para este tipo de problemas. Este algoritmo utiliza una representacin entera
para las 22 variables de cada departamento. Para la poblacin inicial, se generaron 1300
individuos (para toda la resolucin el tamao de la poblacin fue 1300 individuos),
donde para cada uno de ellos y para cada departamento, algunas de las variables eran
generadas aleatoriamente y el resto eran calculadas en funcin de las anteriores para
asegurar la factibilidad de cada uno de los individuos de la poblacin incial. Como
funcin de evaluacin se utiliz una funcin basada en el orden lexicogrfico asociado
al problema a resolver. As, la evaluacin de cada individuo consista en un vector con
el valor de cada una de las cinco funciones de logro asociadas a cada uno de los cinco
niveles de prioridad del problema. Esta funcin de evaluacin lexicogrfica permite
realizar una ordenacin completa de la poblacin, es decir un ranking, puesto que
cualesquiera dos elementos son comparables mediante este orden lexicogrfico. As, el
operador de seleccin utilizado fue un ranking lineal, donde se seleccionaban 200
parejas para reproducirse, de entre los 1300 individuos de la poblacin.
Cada una de estas parejas daba lugar a una descendencia de 4 individuos, lo cual
hace un total de 800 nuevos individuos por generacin, que sustituyen a los 800 peores
individuos de la generacin anterior. De entre esta descendencia de 4 hijos por pareja,
dos de ellos se construyen intercambiando condicionadamente los valores de las
variables de cada departamento del padre y la madre. Es decir, uno de los hijos recibe
integramente (los 22 genes) los departamentos pares del padre y los departamentos
impares de la madre, y el otro hijo los recibe al revs, lo cual constituye un cruce de 142
puntos. Sin embargo este cruce no se hace tal cual, puesto que se tienen en cuenta los
valores de cada departamento en el individuo al que este hijo va a sustituir en la

poblacin de la generacin anterior. As, mientras se realiza el cruce, para cada


departamento se evalua si para este hijo se ha de tomar este departamento del progenitor
o del elemento al que va a sustituir en la poblacin, segn una funcin basada en las
metas del problema, y se realiza un test aleatorio que puede permitir que se tome este
departamento del progenitor aunque presente una peor evaluacin. Es decir, que tomar
los valores de dicho departamento de uno de sus progenitores siempre que mejoren los
valores que han de sustituir. Tambin se tomarn de dicho progenitor, incluso en el caso
en que empeoren a los valores que han de sustituir, si el test aleatorio resulta positivo.
Para los otros dos hijos de cada pareja de progenitores se realiz simplemente un cruce
uniforme de la informacin de los dos progenitores, es decir, un cruce uniforme de
142*22 puntos con un test aleatorio.
En cuanto al operador de mutacin, se permita mutar (con probabilidad 0,01)
solamente los genes de aquellos departamentos cuyos valores para alguna de las metas
fueran insatisfactorios. Este algoritmo se combin con una bsqueda local que realizaba
5 iteraciones mediante un mtodo GRASP (un heursitco que utiliza una funcin vida
aleatoria) sobre los 10 mejores puntos del ranking cada 50 generaciones. En cuanto al
criterio de parada, simplemente se realizaban 200 iteraciones para cada resolucin.
Con este sencillo algoritmo gentico se resolvi de nuevo el problema con un
ordenador personal Pentium III a 1 Ghz obtenindose como resultado la solucin
ptima obtenida con CPLEX con un tiempo computacional que no excedi en ningn
caso los 15 minutos, ponindo as de manifiesto la eficacia que una resolucin de este
tipo puede ofrecer para problemas enteros complejos como el de este ejemplo.
4. Conclusiones.
Con este trabajo se pretende poner de manifiesto las eficiencia y las ventajas que
un algoritmo gentico puede presentar a la hora de resolver un problema complejo de
Programacin Multiobjetivo. As, se ha resuelto un problema real complejo de
Programacin por Metas Entera con un mtodo exacto tradicional (el mtodo de
Ramificacin y Acotacin), utilizando unas de las libreras ms eficientes en este
campo, las libreras de CPLEX. Posteriormente se ha diseado e implementado un
sencillo algoritmo gentico para resolver este problema, obteniendo la misma solucin
que la resolucin exacta, pero con un ahorro de tiempo de computacin de ms del 90%.
Este es un ejemplo, por tanto, en el que se pone de manifiesto que, a la hora de resolver
un problema de Progrmacin Multiobjetivo complejo y costoso computacionalmente, la
utilizacin de un algoritmo gentico puede ser una opcin eficiente en cuanto a tiempo
de computacin y en cuanto a calidad de las soluciones como alternativa a los mtodos
tradicionales.

5. Referencias.
Arthur, J.L., Ravindran, A. (1978). A Branch and Bound Algorithm with
Constraint Partitining for Integer Goal Programming. European Journal of the
Operational Research. vol.4, pp. 421-425.
Baker, D. (1985). Adaptative selection methods for genetic algorithm. In
J.J. Grefenstette (ed.), Proceedings of an International Conference on Genetic
Algorithms and Their Applications. Lawrence Erlbaum, pp. 100-111.
Caballero, R., Gmez, T., Lpez Del Amo, M.P., Luque, M., Martn, J.,
Molina, J., Ruiz, F. (2002). Using Interactive Multiple Objective Methods To
Determine The Budget Assignment To The Hospitals Of A Sanitary System.
Trzaskalik, T. (ed.) In Multiobjective And Goal Programming. Advances in
Soft Computing. Springer-Verlag. pp. 209-221.
Caballero, R., Ruiz, F., Luque, M., Molina, J.(2000). PROMO
(Programacin Multiobjetivo). Programa de Ordenador. R.P.I. Ma-6739.
Darwin, C. (1859). Teh Origin of Species by Means of Natural Selection
or the Preservation of Favored Races in the Struggle for Life. The Book
League of America.
Fonseca, C.M., Fleming, P.J. (1993). Genetic Algorithm for
Multiobjective Optimization: Formulation, Discussion and Generalization. In
S. Forest (ed.), Proceedings of th Third International Conference on Genetic
Algorithms. Morgan Kaufmann Publishers, pp. 416-423.
Fourman, M.P. (1985). Compactation of symbolyc layout using genetic
algorithms. In Genetic Algorithms and their Applications: Proceedings of the
First International Conference on Genetic Algorithms and Their Applications.
Lawrence Erlbaum, pp. 141-153.
Gandibleux, X., Ehrgott, M. (2000). A survey and annotated bibliography
of multiobjective combinatorial optimization. OR Spektrum, 22, pp. 425-460.
Goldberg, D.E. (1989). Genetic Algorithms in Search, Optimization and
Machine Learning. Addison-Wesley Publishing Co.
Goldberg, D.E. (1991). A comparison of selection schemes used in
genetic algorithm. In G.E. Rawlins (ed.), Foundations of Genetic Algorithms.
Morgan Kaufmann Publishers, pp. 69-93.
Hilliard, M.R., Liepins, M. Palmer, M., Rangarajen, G. (1989). The
computer as a partner in algorithmic design: Automated discovery of
parameters for a multiobjective scheduling heuristic. In R. Sharda, B.L.
Golden, E. Wasil, O. Balci and W. Stewart (eds.), Impact of Recent Computer
Advances on Operations Research. North-Holland Publishing Company.
Ignizio, J.P. (1985). Integer Goal Programming via Goal Aggregation.
Large Scale Systems. vol 8, pp. 81-86.
Jakon, W., Gorges-Schleuter, M., Blume, C., (1992). Application of
genetic algorithm to task planning and learning. In R. Mnner and B.
Manderick (eds.), Parallel Problem Solving from Nature, 2nd Workshop. NorthHolland Publishing Company, pp. 291-300.
Koza, J.R. (1992). Genetic Programming. On the Programming of
Computers by Means of natural Selection. The MIT Press.

Markland, R.E., Vickery, S.K. (1986): The Efficient Computer


Implementation Of A Large-Scale Integer Goal Programming Model.
European Journal of Operational Research. vol. 26, pp. 341-354.
Nemhauser, G.L., Wolsey, L.A. (1988). Integer and Combinatorial
Optimization. John Wiley&Sons.
Ritzel, B.J., Eheart, W., Ranjithan, S. (1994). Using genetic algorithm to
a solve a multiple objective groundwater pollution containment problem. Water
Resources Research, 30, pp. 1589-1603.
Schaffer, J.D. (1985). Multiple Objective optimization with vector
evaluated genetic algorithms. In Genetic Algorithms and their Applications:
Proceedings of the First International Conference on Genetic Algorithms and
Their Applications. Lawrence Erlbaum, pp. 93-100.
Srinivas, N., Deb, K. (1994). Multiobjective Optimization using
Nondominated Sorting in Genetic Algorithm. Evolutionary Computation, 2,
pp.221-248.
Whitley, D. (1989). The GENITOR algorithm and selection pressure:
Why rank-based allocation of reproductive trials is best. In J.D. Schaffer (ed.),
Proceedings of the Third Conference on Genetic Algorithms. Morgan
Kauffmann Publishers, pp. 116-121.
Tamiz, M., Mirrazavi, S.K. Y Jones, D.F. (1999). Extensions Of Pareto
Efficiency Analysis To Integer Goal Programming. Omega. vol. 27, pp. 179188.
Wilson, P.B., Macleod, M.D. (1993). Low implementations cost IIR
digital filter design using genetic algorithms. In IEE/IEEE Workshop on
Natural Algorithms in Signal Processing. Chelmsford, pp. 4/1-4/8.