Download - Heuristic As
Chapter 1
PROBLEMAS: FORMULACIÓN, EJEMPLOS,REPRESENTACIÓN DE SOLUCIONES YESTRUCTURAS DE ENTORNO
1. Introducción
Escoger, seleccionar, determinar, fijar,... Éstos y muchos otros verbos tienen, en muchos
casos, la acepción de decidir. Una de las mayores constantes en nuestra vida es precisamente
ésta: decidir. Las decisiones que debemos adoptar son de muy variado tipo. Así, en unas
elecciones municipales debemos escoger el candidato que creemos más competente para el
cargo; cuando deseamos ir a un lugar determinado, debemos seleccionar la mejor ruta; si
queremos construir un vertedero, tendremos que localizar la mejor ubicación para el mismo;
etc.
2. Formulación de un problema
A pesar de la gran variedad de problemas que se nos plantean, éstos poseen varios elementos
comunes. Existe un conjunto de posibles alternativas, una forma de evaluar cada una de éstas y
un criterio que determina que alternativa o alternativas mejor satisfacen nuestras preferencias.
En lo que sigue emplearemos, en general, problemas que pueden formularse en los siguientes
términos:
optimizarX∈Sf(X)
dondef es una función que a cadaX ∈ S asocia una medida de la adecuación deX como
solución del problema yS es el conjunto de soluciones. Al conjuntoS se le conoce como
espacio solucióno región factibley a la funciónf por función de costoo función objetivo. Por
optimizar se entiende minimizar o maximizar la función objetivof sobre el espacio solución.
1
2
Un problema queda determinado por el espacio de solución y por la función de costo, por lo
que, a partir de ahora, se le denotará por el par(S, f).
3. Algunos problemas
En el resto del curso se emplean una serie de problemas para ejemplificar los diferentes con-
ceptos e ideas. Estos problemas pertenecen a las siguientes clases: problemas de localización,
problema del viajante de comercio y problemas de corte y empaquetado. Los problemas han
sido escogidos antendiendo a varios criterios. Estos son:
1. Problemas de localización.Permiten introducir un conjunto de movimientos que son de
utilidad en diferentes situaciones. Estas ocurren cuando se desea determinar el subconjunto
de items de un conjunto dado que optimiza una función objetivo.
2. Problema del Viajante de Comercio.Es el problema test que con mayor frecuencia se ha
usado para contrastar la eficiencia y eficacia de las heurísticas.
3. Problemas de corte y empaquetado.Constituyen un conjunto amplio de problemas en los
que el uso de ciertas heurísticas es un campo aún por explorar.
3.1 Problemas de localización
En unProblema de Localizaciónse pretende determinar la ubicación de ciertos servicios de
forma que, según unos determinados criterios y cumpliendo unas determinadas restricciones,
éstos satisfagan de forma óptima las necesidades demandadas por los usuarios. Los criterios
usados, relacionados de forma directa con el tipo de servicios a localizar, van desde el que
precisa que los servicios estén tan próximo a los puntos de demanda como sea posible, hasta
el que pretende lo opuesto. Las restricciones pueden imponer que el número de servicios a
localizar esté prefijado, que los servicios dispongan de ciertas capacidades que no pueden ser
sobrepasadas, etc. Cada combinación de criterio, restricción, entorno sobre el que se desarrolla
el problema y cualquier elemento que intervenga activamente en la determinación óptima de los
servicios conforma un modelo. Una recopilación y clasificación de varios tipos de problemas
de localización puede encontrarse en [2].
En los problemas de localización estudiados se deben resolver de forma óptima varias
cuestiones: ¿dónde ubicar los servicios?, ¿cómo asignar los puntos de demanda a éstos?, ¿cómo
satisfacer la demanda?. Para algunos problemas, una vez determinada la ubicación de los
servicios, cada punto de demanda es asignado al servicio más cercano (problemas de la mediana,
el centro, etc. ); para otros, sin embargo, la asignación se determina resolviendo un problema que
Problemas 3
puede serNP -completo (problema delp-hub). Además, para satisfacer, de forma apropiada, la
demanda puede ser necesario resolver otro problemaNP -completo (problema de localización
del ciclo).
Hasta hace relativamente poco tiempo, no han comenzado a emerger problemas en los que,
además de resolver la localización y la asignación, se pretende conectar los servicios entre
sí para que sea posible satisfacer la demanda. Se llamará a éstos problemas de localización-
conexión- asignación.
De forma general, estos problemas pueden formularse como sigue. Dados un conjunto de
puntos de demanda y un conjunto de posibles localizaciones, determinar la localización de
varios servicios, establecer las conexiones entre éstos y asignar el resto de los puntos a los
servicios, de tal forma que se optimice alguna función de la localización, la conexión y la
asignación.
3.1.1 Problemas de localización sin conexión con asignación directa
Como se ha mencionado anteriormente, en muchos problemas de localización, los servicios
no necesitan estar conectados entre sí para satisfacer de forma apropiada las necesidades
demandadas. Además, de entre estos problemas, una amplia clase está formada por problemas
en los que la localización determina de forma directa la asignación que se hace de los puntos de
demanda: éstos son asignados al servicio más cercano o que supone un menor costo. Ejemplos
de tales modelos son el problema de lap-mediana [7] [14] y el problema delp-centro [7] [14].
Para formalizar cada uno de los problemas, unido al conjunto den puntos de demanda,D,
y al conjunto dem posibles localizaciones,L, se considera la existencia de una matrizn×m
con el costoc(l, d) que supone atender al punto de demandad desde la localizaciónl. Dado
que el problema es de asignación directa, la región factible está formada por subconjuntos de
L conp puntos
S = {X ⊂ L :| X |= p}.
Sea el costo que supone atender el punto de demandad desde la soluciónX igual a
c(X, d) = mınl∈X
c(l, d).
1. Problema de lap-mediana.Dado un conjunto de puntos de demanda y un conjunto de
posibles localizaciones, se pretende determinar la ubicación óptima dep servicios que
minimicen la suma de los costos entre los puntos de demanda y los servicios. El problema
4
se formula como
mınX∈S
∑
d∈Dc(X, d)
2. Problema delp-centro.Dado un conjunto de puntos de demanda y un conjunto de posibles
localizaciones, se pretende determinar la ubicación óptima dep servicios que minimicen el
máximo costo entre los puntos de demanda y los servicios. El problema se formula como
mınX∈S
maxd∈D
c(X, d)
3.1.2 Problemas de localización-conexión-asignación delp-hub.
Por problema de localización delp-hub [15] [16], se entiende un problema de localización-
conexión-asignación en el que el conjunto de localizaciones coincide con el de demanda, la
asignación se realiza a través de un arco que une cada punto de demanda con un único servicio,
llamadohub, y los hubs se conectan a través de un subgrafo completo. Además, y siguiendo
la descripción dada por O’Kelly [16] del problema delp-hub mediano, unidos a cada par de
puntosi y j se consideran los valores
Wij = número de unidades de tráfico que se desean enviar
desde el puntoi al puntoj
Cij = coste estándar por unidad de tráfico enviada sobre
el arco(i, j)
Se supone queWii = 0 y Cii = 0 para todoi. Se incurre en el costeCij si exactamente uno
de los puntosi ó j es un hub. Si tantoi comoj son hubs, el coste por unidad de tráfico sobre
el arco(i, j) es igual aaCij , dondea es un parámetro. Normalmente,a ≤ 1 para reflejar el
ahorro en el coste estándar que se produce cuandoi y j son hubs.
El objetivo a minimizar es función de los costos que supone enviar, desde cada punto de
demanda, el flujo a cualquier otro punto de demanda. La forma de esta función de costo depende
de las localizaciones en las que se encuentran los hubs y de la asignación que se hace del resto
de los puntos.
Sean las variables de decisiónXij eYj definidas como
Xij =
{1 si el puntoi es asignado al hubj
0 en otro caso
Yj =
{1 si el puntoj es un hub
0 en otro caso
Problemas 5
Las restricciones básicas de un problema de localización delp-hub se establecen en (1.1), (1.2),
(1.3) y (1.4)
∑
j
Xij = 1 i = 1, . . . , n (1.1)
∑
j
Yj = p (1.2)
Xij ≤ Yj i = 1, . . . , n; j = 1, . . . , n (1.3)
Xij , Yj ∈ {0, 1} i = 1, . . . , n; j = 1, . . . , n (1.4)
La expresión (1.1) requiere que cada punto de demanda sea asignado a un único hub; (1.2)
establece que el número de hubs sea exactamentep y (1.3) asegura que el punto de demandai
es asignado aj sólo si enj se establece un hub.
p-hub mediano.. En este problema, que fue formulado por primera vez por O’Kelly [15]
[16] como problema de localización delp-hub, se desea determinar la localización dep-hubs
de forma que se minimice el coste total de enviar el flujo entre todos los pares de puntos. Así,
el problema puede formularse como
mın∑
i
∑
j
Wij
(∑
k
XikCik +∑m
XjmCmj + a∑
k
∑m
XikXjmCkm
),
sujeto a las restricciones (1.1), (1.2), (1.3) y (1.4).
Como se recoge en [3], el problema delp-hub mediano tiene aplicaciones, entre otras, en
redes de transporte y telecomunicación en las que se pretende minimizar el coste total de
movimiento.
3.1.3 Problema de localización del ciclo
El Problema de localización del cicloes un problema de localización- asignación-ruta que se
define como sigue. Sean dos conjuntos de puntos: uno que representa a los clientes o usuarios y
otro en el que se encuentran las localizaciones potenciales o depósitos. Asociado a éstos puntos
se consideran los siguientes valores: el coste de ruta (o distancia de viaje) entre dos puntos
cualesquiera, el coste de asignación de un usuario a un depósito y el coste de apertura de un
depósito. Además, se impone como restricción que todos los usuarios deben ser atendidos por
un único depósito y que el servicio se presta por medio de un ciclo que visita una única vez todos
los puntos asignados a un depósito. Se pretende determinar qué plantas abrir, qué asignación
6
hacer de los clientes a las plantas y cuál es el orden en que deben recorrerse los clientes
asociados a una planta para minimizar el costo total. Por tanto, una solución del problema es
un conjunto de ciclos disjuntos que cubre a todos los clientes. El coste total de esta solución,
C, es la suma del coste de apertura de plantas,Cp, coste de asignación de clientes a plantas,
Ca, y coste de ruta,Cr.
SeaV el conjunto de vértices yE el conjunto de aristas del grafo no dirigidoG = (V, E)en el que se define el problema. Cada aristae = [i, j] del grafo tiene asociado un coste de
ruta c(i, j). SeaI el conjunto de losn vértices en el que se encuentran los clientes, yJ el
conjunto de losm vértices con las localizaciones de los depósitos. Para cada clientei ∈ I y
depósito potencialj ∈ J existe un coste de asignación o distanciad(i, j) en que se incurre si
el clientei es asignado al depósitoj. Finalmente, existe un coste de apertura,f(j), asociado
a cada localización potencial. Cada soluciónS del problema está formada por un conjunto
P ⊂ J de plantas abiertas, la asignación,a(i), que se hace de cada cliente,i ∈ I, a una planta
abierta,j ∈ P , y una permutación,rj , de losnj clientes,Ij , asignados a cada planta abierta,j
(Ij = {i ∈ I : a(i) = j}) que da el orden en que se visitan los clientes asignados a la plantaj.
El coste de apertura,Cp(S), viene dado por
Cp(S) =∑
j∈P
f(j).
El coste de asignación,Ca(S), es el coste de las asignaciones de los clientes a las plantas
abiertas y es igual a
Ca(S) =∑
j∈P
∑
i∈Ij
d(i, j).
Por último, el coste de ruta,Cr(S), es
Cr(S) =∑
j∈P
k=nj∑
k=0
c(rj(k), rj(k + 1))
donderj(0) = rj(nj + 1) = j.
Por tanto, el coste total de una soluciónS es
C(S) = Cp(S) + Ca(S) + Cr(P ).
3.2 El problema del Viajante de Comercio
El problema del viajante de comercio,Travelling Salesman Problem(TSP), es uno de los
problemas que más atención ha recibido dentro de la Optimización Combinatoria. Proba-
Problemas 7
@@
@@
J
JJ
JJ¡
¡¡
¡
1
2
3
4
5
6
7
8
9
Figure 1.1. Problema del Viajante de Comercio
blemente, ello es debido, aparte de a las indudables aplicaciones prácticas que posee, a la
simplicidad con la que se define y a la dificultad que implica su resolución.
Dado un conjunto de puntos (ciudades){1, 2, . . . , n} y una matriz que recoge el costo de
ir desde cualquier puntoi hasta cualquier puntoj, C = (cij)n×n, se pretende encontrar el
circuito de longitud mínima que pase por todos los puntos una sola vez. En la figura 1.1 se
muestra una solución para un problema del Viajante de Comercio con9 ciudades. Si se supone
que el costo entre ciudades viene dada por la distancia euclídea que las separa, esta solución
es la óptima.
3.3 Problemas de corte y empaquetado
A esta clase pertenece una amplia variedad de problemas con importantes aplicaciones en la
Industria. Desde aquellos que tratan de cortar de la mejor manera posible una plancha de vidrio
para obtener trozos de cristal con los que construir ventanas, hasta los que pretenden encontrar
la forma de almacenar objetos en una nave para que el espacio útil sea el mayor posible.
Según la estructura lógica básica introducida por Dyckhoff [5], en estos problemas exis-
ten dos conjuntos de figuras geométricas de forma fija que pertenecen a algún espacion-
dimensional: elstockde las llamadosobjetos(figuras grandes), y la lista u orden de pedido de
los llamadositems(figuras pequeñas). En un problema de corte o empaquetado se pretenden
asignar combinaciones geométricas (patrones) de items a objetos de forma que se optimice
alguna función dependiente de los trozos no aprovechados o perdidos (trim loss).
8
Figure 1.2. Cortes guillotina y no guillotina
2
4 5
Figure 1.3. Corte bidimensional restringido simple
3.3.1 Problema del corte bidimensional restringido simple
Dados un rectángulo de amplitud y altura fijas y un conjunto,R, de rectángulos más pe-
queños, se debe encontrar el patrón de corte (combinación de items rectangulares pertenecientes
aR que pueden obtenerse, con corte tipo guillotina (ver figura 1.2), del rectángulo inicial) que
minimice la pérdida y asegure que el número de veces que se emplea cada item no sobrepasa
la cota superior establecida. En la figura 1.3 se muestra una solución para un problema de este
tipo. Existen tres clases de items y el número de veces que se emplea cada uno de ellos, en una
solución particular, no puede sobrepasar, respectivamente, los valores2, 4 y 5.
3.3.2 Empaquetado rectangular bidimensional
El problema del empaquetado rectangular bidimensional [8] [9] surge, principalmente, en las
industrias dedicadas al corte de piezas rectangulares para obtener items, también rectangulares,
de dimensión menor. En estas aplicaciones se dispone de un objeto rectangular de amplitud
fija y longitud suficientemente grande, desde el que es posible obtener el conjunto de items por
Problemas 9
. . . . . . . . . Valor objetivo . . . . . . . . .
Figure 1.4. Empaquetado bidimensional rectangular
medio de cortes que, generalmente, son de tipo no guillotina. No obstante, ciertas restricciones
pueden imponer que el corte a desarrollar sea tipo guillotina (ver [1]).
En el presente trabajo se considera que no existen restricciones sobre el tipo de corte y
que, por tanto, este puede ser de tipo no guillotina. El problema se formula como sigue. Dado
un objeto rectangular de amplitud fijaw y altura infinita, y un conjunto,R, de rectángulos
con al menos uno de sus lados menor quew, se desea empaquetar el conjuntoR en el objeto
rectangular utilizando el menor espacio posible. En este problema está permitido rotar los
objetos y los cortes pueden ser de tipo no guillotina (ver figura 1.4).
4. Representación de soluciones
Un problema consta de tres elementos:
el conjunto de alternativas o soluciones al problema,
la función objetivo o de costo, y
el criterio que, por medio de la función objetivo, permite establecer una comparación entre
las diferentes alternativas.
De estos tres elementos, el único que es invariante a la formulación del problema es el criterio.
Así, o se pretende encontrar la solución de menor objetivo, o, por el contrario, aquella que posee
un objetivo mayor. Sin embargo, las soluciones se pueden codificar o representar de diferentes
formas, y ésto significa que existen diferentes maneras de obtener la función objetivo. De tal
10
forma que la representación que se hace de las soluciones condiciona la forma en que se calcula
el objetivo de una solución.
Ya que existen diferentes formas de representar una solución, una pregunta que surge de
forma natural es si alguna de ellas es preferible a todas las demás. La respuesta es, en general,
negativa. Existen codificaciones que son preferibles a otras para una heurística, pero el recíproco
puede ser cierto para otra heurística. Además, el conjunto de representaciones de las soluciones
de un problema es abierto, dado que siempre se pueden proponer nuevas codificaciones.
En lo que sigue se suministran ejemplos de diferentes representaciones para las soluciones
de varios problemas.
4.1 Problemas de localizaciónEjemplo 1 (Localización con asignación directa)
Como se estableció en la página 3, la región factible de estos problemas está formada por
subconjuntos deL conp elementos. Dado que el conjunto de posibles localizaciones es finito,
puede suponerse indexado. Usando este hecho, en [10] las soluciones de un problema de local-
ización con asignación directa se representan a través de unam-upla binaria con exactamente
p unos. Un1 en la i-ésima posición indica que lai-ésima localización está presente en la
solución. Así, si el número de posibles localizaciones esm = 7 y se pretenden localizarp = 5servicios, la solución(1 0 1 0 1 1 1) indica que en los puntos primero, tercero, quinto, sexto y
séptimo se localizan servicios.
Otra representación para las mismas soluciones es lap-upla (ordenada o no) de los índices
de las localizaciones presentes en la solución. Se llama a esta codificación,indexal. Así, la
anterior solución se codifica como(1, 3, 5, 6, 7).
Ejemplo 2 (Problema delp-hub)
Las matricesX e Y con restricciones (1.1), (1.2), (1.3) y (1.4) (ver página 5) son quizás
la representación más natural de las soluciones de un problema de localización-conexión-
asignación delp-hub. Así, sin = 5 y p = 2 la solución
X =
0 0 0 1 00 1 0 0 00 1 0 0 00 0 0 1 00 0 0 1 0
Y = (0 1 0 1 0)
Problemas 11
indica que en el segundo y cuarto punto se localizan los hubs y que el tercer punto de demanda
se asigna al primer hub, mientras que el primer y quinto punto de demanda se asignan al
segundo hub.
Para el mismo problema se puede proponer la siguiente codificación (a la que llamaremos
indexal con lista de referencia). Supóngase que existe una lista ordenada,L, de los puntos deL,
que nos sirve de referencia. De esta forma, cada solución se representa a través de una cadena
de tamañon. Las primerasp posiciones se corresponden con los índices de los servicios, y
forman lasubcadena de localización; las(n− p) últimas posiciones indican el servicio al que
se asigna cada uno de los puntos de demanda, y forman lasubcadena de asignación. Así, si
L = (1 2 3 4 5),
la anterior solución se representa como
x = (2 4 | 2 1 2)
que se interpreta como sigue
el primer índice de la cadena es2. Por tanto, el segundo punto de la listaL es el primer
servicio;
el siguiente número de la cadena es4. Por tanto, el cuarto punto de la listaL es el segundo
servicio;
dado que el número de puntos seleccionados coincide con el número de servicios, se elim-
inan de la listaL los puntos seleccionados como servicios (ahoraL = (1 3 5)),
el siguiente número de la cadena es2, por lo que el primer punto de la lista resultante,1,
es asignado al segundo servicio que es4,
el siguiente número de la cadena es1, por lo que el segundo punto de la lista,3, es asignado
al primer servicio que es2,
el último número de la lista es2. Por tanto el tercer punto de la lista,5, es asignado al
segundo servicio.
4.2 Problema del Viajante de ComercioEjemplo 3 (Problema del Viajante de Comercio)
Para las soluciones de este problema se han propuesto diferentes representaciones. Todas las
que se definen a continuación se encuentran en [13].
12
1. Representación de adyacencia.En esta representación, una solución se codifica por medio
de un vector de tamañon. Si en lai-ésima posición aparece el valorj, esto significa que
desde la ciudadi se visita la ciudadj. Por ejemplo, el vector1
(2 4 8 3 9 7 1 5 6)
codifica el circuito
1− 2− 4− 3− 8− 5− 9− 6− 7.
Hay que resaltar que, aunque todo circuito admite una representación de adyacencia,
cualquier vector del tipo anterior no representa un circuito factible.
2. Representación ordinal.Se supone que las ciudades se etiquetan con los números del1al n en algún orden. Esto suministra una listaL = {l1, l2, . . . , ln}. Así, cada circuito se
representa por medio de un vector de tamañon. La i-ésima posición de este vector toma
un valor entre1 y n− i + 1 e indica la posición que ocupa, tras eliminarl1, . . . , li−1 deL,
la ciudadli en el circuito. Por ejemplo, sin = 9 y L = {1 2 3 4 5 6 7 8 9}, la solución
1− 2− 4− 3− 8− 5− 9− 6− 7
se codifica como
(1 1 2 1 4 1 3 1 1).
3. Representación por medio del camino.Cada solución se representa por medio del camino
que ella determina. Así, la solución
1− 2− 4− 3− 8− 5− 9− 6− 7
se codifica como
(1 2 4 3 8 5 9 6 7).
4. Representaciones matriciales.También es posible representar cualquier solución del prob-
lema del viajante de comercio empleando matrices de ceros y unos. A continuación se
describen dos de éstas propuestas.
a) Representación matricial de Fox y McMahon [6].Cada solución se representa a través
de una matriz de precedencia. El elemento(i, j) de esta matriz vale uno si la ciudadi
1Este ejemplo se encuentra en [13], página 212.
Problemas 13
se visita antes que la ciudadj. Así, la solución
1− 2− 4− 3− 8− 5− 9− 6− 7
se representa como
0 1 1 1 1 1 1 1 1
0 0 1 1 1 1 1 1 1
0 0 0 0 1 1 1 1 1
0 0 1 0 1 1 1 1 1
0 0 0 0 0 1 1 0 1
0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 1 1 1 1 1
0 0 0 0 0 1 1 0 1
b) Representación matricial de David Seniw [17].Cada solución se representa por medio
de una matriz cuadrada de tamañon con exactamente un uno por fila y columna. El
elemento(i, j) de esta matriz vale uno si desde la ciudadi se visita la ciudadj; en caso
contrario, vale cero. Empleando esta representación, la solución
1− 2− 4− 3− 8− 5− 9− 6− 7
se codifica como
1 0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0 0
0 0 0 0 0 0 0 1 0
0 0 1 0 0 0 0 0 0
0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0
0 0 0 0 1 0 0 0 0
0 0 0 0 0 1 0 0 0
4.3 Problemas de corte y empaquetado
En general, se suelen representar las soluciones de estos problemas a través de una per-
mutación que indica el orden en que los items son considerados para su inclusión en el objeto,
junto a un procedimiento que indica la posición que ocupa el item en el objeto. El proced-
imiento que indica la posicion dentro del objeto es dependiente del problema. A continuación
se describe uno de estos procedimientos para cada uno de los problemas de corte considerados
en este trabajo.
Corte bidimensional restringido simple.Colocar el primer item, según el orden establecido
en la permutación, en la esquina superior izquierda del objeto. Realizar el corte (horizontal o
14
vertical) que optimiza un determinado criterio de corte (por ejemplo, aquel en el que el área
del menor de los objetos resultantes es mayor). Al realizar el corte se obtienen, a lo sumo,
dos nuevos objetos que pueden utilizarse en las siguientes iteraciones. A continuación:
1. Tomar el siguiente item y seleccionar uno de los objetos posibles2. En caso de no existir,
tomar el siguiente item. Al igual que antes, el objeto puede seleccionarse atendiendo a
algún criterio (por ejemplo, escoger el objeto de menor área en que puede acomodarse
el item). Realizar el corte que optimiza el criterio de corte.
2. Reiterar el anterior paso mientras queden items por considerar.
Empaquetado rectangular bidimensional.Entre los procedimientos comunmente emplea-
dos para obtener la posición se encuentra el conocido como Botton-Left. Consta de los
siguientes pasos:
1. Colocar el primer item en la esquina inferior izquierda del objeto.
2. Colocar el siguiente item en la esquina superior derecha. Bajar el item tanto como sea
posible. A continuación, moverlo hacia la izquierda tanto como sea posible y, en su
caso, volver a bajarlo tanto como sea posible.
3. Repetir el anterior paso mientras queden items por colocar.
En la figura 1.5 se emplea el anterior procedimiento para ubicar el item4.
5. Propiedades deseables de una representación
Algunas propiedades deseables de una representación son:
1. Cada solución debe tener una única representación.
2. Todas las soluciones deben tener, al menos, una representación. En particular, la solución
óptima.
Las anteriores propiedades no siempre se cumplen en una representación particular como se
pone de manifiesto en los ejemplos 4 y 5 siguientes. Los inconvenientes son claros: en el primer
caso, la heurística se concentra en las soluciones que tienen mayor número de representaciones
y, en el segundo, no será posible encontrar la solución óptima del problema.
2Un objeto posible es aquel en que puede acomodarse el item. Nótese que no todos los objetos disponibles son posibles para un
item
Problemas 15
1
2
3
4?
1
2
3
4¾
1
2
3
4 ?
1
2
3
4
Figure 1.5. Procedimiento de colocaciónBotton-Left
Ejemplo 4
Sea dado el problema del corte bidimensional restringido simple que se muestra en la siguiente
figura. Las permutaciones(1, 2, 3) y (1, 3, 2) representan la misma solución: aquella que se
obtiene al acomodar el item 1 en el objeto.
1 2 3
Ejemplo 5
En la siguiente figura se muestra la solución(1, 2, 3, 4, 5, 6, 7) de un problema de empaqueta-
do bidimensional rectangular que no puede obtenerse aplicando el procedimiento Botton-left.
Aplicando este procedimiento, el item4 no ocupará el lugar que le corresponde en la dis-
tribución que se muestra en la figura3. Si sólo existiera esta configuración óptima,4 cualquier
heurística que empleara como rutina de colocación el procedimiento Botton-Left, no podría
resolver óptimamente el problema.
3En la figura 1.5 se muestra la posición que ocupa el item4, si se emplea el procedimiento Botton-left.4No es este el caso, ya que la solución(3, 1, 2, 4, 5, 6, 7) es óptima y puede obtenerse usando el procedimiento Botton-Left
16
1
2
34 5
6
7
6. Estructura de entorno
En optimización real continua, un concepto importante es el deóptimo localde la función
que se define como cualquier puntox∗ para el que exista un entorno, en la topología usual
de IR, de tal forma quex∗ sea óptimo en ese entorno. La importancia radica en que el óptimo
global puede definirse como aquel óptimo local con mejor valor de la función objetivo. Es
decir, se dispone de una condición necesaria para encontrar el óptimo global de la función.
Así, al menos en teoría, la dimensión del problema se reduce al tener que buscar la solución
óptima del problema sólo entre los óptimos locales.
Para intentar usar estas ideas en los problemas discretos que nos ocupan, se define el entorno
de una solución.
Definición 1
Dado el problema(S, f), una estructura de entorno (ver figura 1.6) es una funciónN : S → 2S
que asocia a cada soluciónX ∈ S un conjuntoN(X) ⊂ S de soluciones cercanas aX en
algún sentido. El conjuntoN(X) se llama entorno de la soluciónX, y cadaY ∈ N(X),solución vecina deX.
La anterior definición es bastante general y deja a criterio del decisor el establecer cuando
dos soluciones estáncercanas en algún sentido. Así, para un mismo problema puede definirse
más de una estructura de entorno. Por ejemplo, en un problema de localización con asignación
directa puede considerarse que dos soluciones son vecinas si difieren en la localización de
exactamentek servicios con1 ≤ k ≤ p. De esta forma, cada valor posible dek determina una
estructura de entorno sobre el problema considerado.
Problemas 17
S 2S
X
-
- Y
N(X)
Figure 1.6. Estructura de entorno
Dada una estructura de entorno para un problema arbitrario,(S, f), es útil considerar que
ésta determina sobre el espacio de solucionesS una distribución en forma de malla. En ésta, los
vértices representan las soluciones y los caminos entre dos vértices la noción de vecindad que
se considera. En la figura 1.7 se muestra esta situación para un problema con40 soluciones.
Los valores situados en la parte superior derecha y próximos a cada vértice son los valores
objetivos de cada solución.
6.1 Optimalidad localDefinición 2
Dado un problema(S, f) y la estructura de entornoN : S → 2S , se dice que una solución
X ∈ S es un mínimo local si el valor objetivo deX es menor o igual que el valor objetivo de
cualquier soluciónY ∈ N(X). Es decir:
X es mínimo local ⇔ f(X) ≤ f(Y ) ∀ Y ∈ N(X)
La anterior definición se presta a algunos comentarios:
1. Un mínimo local en una estructura de entorno no tiene porqué ser mínimo local en otra
estructura de entorno.
Si en la figura 1.7 se considera que dos soluciones son vecinas si se encuentran a distancia
uno (estructuraN1), se tiene que los vértices señalados conN∗1 son mínimos locales con
respecto a esta estructura de entorno. Si considera que dos soluciones son vecinas si se
encuentran a distancia menor o igual que dos (estructuraN2), sólo son mínimos locales los
vértices marcados conN∗2 .
18
3 7 10 9 5 7 8 10
4 6 3 8 11 4 6 3
8 13 6 7 2 1 5 4
5 3 7 11 10 6 4 11
11 2 10 3 9 7 4 3
10 7 5 5 12 11 17 15
N∗1 N∗
1
N∗1
N∗1
N∗1
N∗2
N∗2
N∗2
S∗
Figure 1.7. Propiedades de la optimalidad local. Los puntos etiquetados conN∗1 son óptimos locales con la
estructura de entornoN1; los etiquetados conN∗2 son óptimos locales con la estructuraN2; el punto etiquetado
conS∗ es el óptimo global.
2. SeanN1 y N2 dos estructuras de entorno sobre el mismo problema(S, f). Si para toda
soluciónX deS, N1(X) ⊂ N2(X), entonces el número de mínimos locales def relativo
a la estructuraN1 es menor o igual que el número de mínimos locales def relativo aN2.
Obsérvese lo que ocurre en la figura 1.7 con las estructurasN1 y N2 anteriores.
3. Si el entorno de cualquier solución coincide conS, el único mínimo local es el mínimo
global. El recíproco no tiene porqué ser cierto.
Si en la malla de la figura 1.7 todas las soluciones son vecinas, el único mínimo local es el
vértice marcado conS∗. Obviamente, este es el mínimo global del problema.
7. Algunas estructuras de entorno
Una forma habitual y sencilla de definir la vecindad de una solución para un problema
arbitrario es emplear los llamados movimientos de búsqueda. Losmovimientos de búsqueda
son operaciones que permiten obtener una solución de un problema a partir de otra solución
alternativa. Así, dado el conjunto de movimientos, el entorno de una solución es el conjunto
de soluciones a las que se puede llegar desde ella al aplicar uno de los movimientos posibles.
Problemas 19
En lo que sigue se enumeran algunas estructuras de entorno basadas en movimientos para
diferentes problemas.
7.1 Problemas de localización
Los movimientos a considerar dependen, en primer lugar, de la estructura del espacio. De
esta forma, para problemas de localización con asignación no directa pueden considerarse
movimientos que carecen de sentido en problemas de localización con asignación directa. Tal
es el caso del movimiento de reasignación.
Supongamos queX e Y son, respectivamente, la solución actual y la que se obtiene al
aplicar el movimiento a la solución anterior, y queu y v denotan localizaciones posibles.
Los movimientos más corrientes para los problemas discretos de localización-asignación con
asignación directa son los siguientes:
Adición o apertura: añadir a la soluciónX una localización,u, no presente enX para
obtener la soluciónY .
Es decir:Y ← X + {u}, u /∈ X
Sustracción o cierre: eliminar de la soluciónX una localización,u, presente enX para
obtener la soluciónY .
Es decir:Y ← X − {u}, u ∈ X
Sustitución o intercambio: eliminar de la soluciónX una localización,u, presente enX
y añadir una localizaciónv no presente enX para obtener la soluciónY .
Es decir:Y ← X − {u}+ {v}, u ∈ X, v /∈ X
Para problemas con asignación no directa, unidos a los anteriores movimientos, existen otros
que operan sobre la asignación de la solución actual. Para cada movimiento hay que especi-
ficar cuáles son las localizaciones,u y v, que intervienen en su aplicación. Además, para el
movimiento de reasignación se debe indicar qué punto de demanda,d, es el que se reasigna.
Los movimientos son:
Reasignación:tomar un punto de demanda,d, asignado a la localizaciónu y asignarlo a
otra localizaciónv.
Traslado: tomar todos los puntos de demanda asignados a la localizaciónu y asignarlos a
la localizaciónv.
20
Los anteriores movimientos se generalizan de forma natural al considerar movimientos múlti-
ples. Se habla, por tanto, de los movimientos dek-apertura,k-cierre,k-intercambio,k-reasignación
y k-traslado cuando el número de elementos que interviene es igual ak.
Para problemas en los que, para satisfacer la demanda, es necesario resolver un nuevo
problema pueden considerarse movimientos que actúan sobre esta parte de la solución. Así,
para el problema de localización del ciclo, son útiles los movimientos que se definen para el
problema del viajante de comercio.
Ejemplo 6 (Localización con asignación directa)
En la codificación binaria, la estructura de entorno delk-intercambio indica que dos soluciones
son vecinas si una de ellas puede obtenerse desde la otra al cambiar exactamentek unos por
ceros yk ceros por unos. Así, sim = 9, p = 4 y k = 2, la solución
X = (1 0 0 0 1 1 0 1 0) es vecina de Y = (0 1 1 0 0 1 0 1 0)
Para la codificación indexal, esta estructura de entorno se implementa sustituyendok servicios
presentes en la solución por otrosk no presentes en ella. Así, sim = 9, p = 4 y k = 2, la
solución
X = (1 5 6 8) es vecina de Y = (2 3 6 8)
Nótese que, aunque las estructuras de entorno se definen de forma diferente, las vecinas de una
solución son las mismas en una u otra estructura.
Ejemplo 7 (Problema delp-hub)
Pueden definirse varias estructuras de entorno para este tipo de problemas que constan, en
general, de dos partes. Una modificación en la localización de los hubs y, por consiguiente,
una reasignación de aquellos puntos asignados a los puntos que pierden la condición de hubs.
Si nos restringimos a las estructuras de entorno que consisten en intercambiar un hub por un
punto no hub, para la reasignación se pueden contemplar varias posibilidades
1. Traslado:el nuevo hubheredacomo asignación todos los puntos de demanda que atendía
el hub que abandona la solución.
2. Asignación local basada en mejora:los puntos asignados al hub que abandona la solución
son asignados a un hub particular si esta asignación optimiza la función de mejora empleada.
Un ejemplo de este tipo de asignación es aquel en que los puntos de demanda se asignan al
hub más cercano.
Problemas 21
»»»»
@@
@@
@@
@@
@@
HH
¡¡
@@XXXX¿
¿¿¿¿
HHHH
Solución actual
@@
@@
¢¢
¢¢ ´
´´
@@
@@HH
¡¡
@@PPPPPP HHHH
Traslado
@@
@@
¢¢
¢¢ ´
´´
@@
@@HH
¡¡
@@
HHHH
Asignación local basada en mejora
@@
@@
¢¢
¢¢ ´
´´
@@
@@HH
¡¡
¡¡
@@
HHHH
Asignación global basada en mejora
Figure 1.8. Estructuras de entorno para el problema delp-hub
3. Asignación global basada en mejora:los puntos de demanda (asignados o no al hub que
abandona la solución) son asignados en base a la función de mejora usada. Como ejemplo
de este clase de asignación tenemos la asignación basada en la menor distancia al considerar
que se reasignan todos los puntos de demanda y no sólo aquellos que estaban asignados al
hub que abandona la solución.
En la figura 1.8 se recoge, de forma gráfica, el efecto que sobre una solución particular tiene
la aplicación de los anteriores movimientos.
La implementación de estas estructuras de entorno depende de la codificación empleada
para representar las soluciones. De esta forma, en la codificación matricial y con la estructura
de entorno del1-intercambio con traslado, la solución
X =
0 0 0 1 00 1 0 0 00 1 0 0 00 0 0 1 00 0 0 1 0
Y = (0 1 0 1 0)
22
es vecina de
X ′ =
1 0 0 0 01 0 0 0 01 0 0 0 00 0 0 1 00 0 0 1 0
Y ′ = (1 0 0 1 0),
ya que se intercambia el punto2 por el 1 como hub y este últimoheredala asignación del
primero.
Del mismo modo, en la representación indexal con lista de referencia, la solución
x = (2 4 | 2 1 2)
es vecina de
x′ = (1 4 | 1 1 2)
Hasta ahora se han estado considerandonociones literariasde vecindad que, aunque intuiti-
vas de justificar, pueden ser difíciles de implementar en la práctica. La dificultad proviene
del hecho de que se definencon palabrasy luego se intenta trasladar esta definición a las
representaciones de las soluciones. Así, se obtienen soluciones que están cercanas una a la
otra, según la definición literaria, aunque sus representaciones pueden no tener nada en común.
Una forma alternativa de actuar consiste en proceder en sentido contrario. Esto es, se dice que
dos soluciones son vecinas si sus correspondientes representaciones están cercanas en algún
sentido. Esta vía es, en general, mucho más sencilla de implementar. Veamos un ejemplo.
En la codificación indexal con lista de referencia, puede decirse que dos soluciones son
vecinas si las correspondientes subcadenas de localización difieren en un elemento. Así, las
soluciones
x = (2 4 | 2 1 2) y x′ = (1 4 | 2 1 2)
son vecinas.
También es posible definir estructuras de entorno sobre las soluciones que tienen unatra-
ducciónsencilla a las representaciones. Tal es el caso de la reasignación de un punto desde su
actual hub a otro. En la representación indexal con lista de referencia, esta noción de vecindad
se implementa actualizando convenientemente el correspondiente elemento de la subcadena
de asignación. Por ejemplo, al reasignar el punto5 al hub2 en la solución
x = (2 4 | 2 1 2)
Problemas 23
@@
@@
hhhhhhhhhhhhh¡¡
¡¡ ´´´´´´´´´´
5
2
9
4
6
3
7
8
1
@@
@@
J
JJ
JJ¡
¡¡
¡
5
2
9
4
6
3
7
8
1
Figure 1.9. Soluciones vecinas. Estructura del2-intercambio.
se obtiene
x′ = (2 4 | 2 1 1).
7.2 Problema del Viajante de Comercio
Una de las estructuras de entorno más estudiada y empleada en el problema del Viajante
de Comercio es la estructura de entorno delk-intercambio. En esta estructura, se dice que dos
soluciones son vecinas si difieren en exactamentek aristas. Esta estructura ha sido usada por
ejemplo en [4] [11] y [12]. En general, se toma un valor dek igual a2 ó 3.
La implementación de esta estructura depende de la representación empleada para codificar
las soluciones. A continuación se describe tal implementación para algunas de las representa-
ciones descritas en la sección 4 cuandok = 2. Todas las descripciones se basan en el hecho de
que si se eliminan las aristas(i, j) y (k, l) de una solución, coni < j < k < l, las únicas aristas
que suministran una solución factible son(i, k) y (j, l). Además, las ciudades comprendidas
entrej y k se recorren en sentido inverso. Es decir, si la solución actual es
X ≡ 1− 2− 4− 3− 8− 5− 9− 6− 7
y se eliminan las aristas(1, 2) y (8, 5), la única solución que se obtiene es
Y ≡ 1− 8− 3− 4− 2− 5− 9− 6− 7)
En la figura 1.9 se muestran las dos soluciones vecinas anteriores.
1. Representación por medio del camino.Con esta codificación, es muy fácil obtener la nueva
solución. Sólo es necesario alterar el orden la subcadena que se encuentra entrei y l (en
24
el ejemplo que se está considerando, la alteración se produce entre1 y 5). Así, desde la
codificación
(1 2 4 3 8 5 9 6 7)
se obtiene
(1 8 3 4 2 5 9 6 7).
2. Representaciones matriciales.En estas representaciones, obtener la codificación de la solu-
ción Y desde la codificación de la soluciónX no es tarea sencilla. Existen, sin embargo,
ciertas similitudes entre las representaciones matriciales deX e Y que, para cada una de
las representaciones consideradas, son
a) Representación de Fox y McMahon.Todas las filas menores o iguales ai o mayores o
iguales al coinciden en ambas matrices.
b) Representación de David Seniw.Todas las filas menores ai o mayores o iguales al
coinciden en ambas matrices.
Sin embargo, el resto de las filas han de ser actualizadas convenientemente.
7.3 Problemas de corte y empaquetado
Consideremos el problema del empaquetado rectangular bidimensional. Tal y como se ha
señalado en secciones previas, la representación más usual de las soluciones de este problema
consta de dos elementos: una permutación de los items, que indica el orden en que éstos son
considerados, y un procedimiento que determina en que posición se coloca el item en el objeto.
De esta forma, una estructura de entorno posible es aquella en la que las soluciones vecinas de
una dada se obtienen al intercambiar el orden en que se consideran dos itemas. En la figura 1.10
se muestran dos soluciones ((1, 2, 3, 4, 5), (1, 2, 3, 5, 4)) vecinas según la definición anterior.
Nótese que, en este caso, las soluciones de la figura 1.10 presentan un grado de similitud que
permite considerarlas como cercanas. Esto no siempre ocurre, ya que representaciones cercanas
pueden dar lugar a soluciones con un bajo grado de similitud (por ejemplo, la representación
(5, 2, 3, 4, 1) es vecina de(1, 2, 3, 4, 5), pero el grado de similitud entre ambas es pequeño).
Problemas 25
1
2
3
4
5
1
2
3
4
5
Figure 1.10. Empaquetado rectangular bidimensional: soluciones vecinas
References
[1] S. Benati. An algorithm for a cutting stock problem on a strip.Journal of Operational Research Society,
48:288–294, 1997.
[2] Brandeau, Margaret L. and Samuel S. Chiu. An Overview of Representative Problems in Location Research.
Management Science, 35:645–674, 1989.
[3] Campbell, James F. Integer Programming Formulations of Discrete Hub Location Problems.European
Journal of Operational Research, 72:387–405, 1994.
[4] Croes, C.A. A method for solving travelling salesman problems.Operations Research, 6:791–812, 1958.
[5] Dyckhoff, Harald. A topology of cutting and packing problems.European Journal of Operational Research,
44:145–159, 1990.
[6] Fox, B.R. and M.B. McMahon. Genetic operators for sequencing problems. In G. Rawlings, editor,Foun-
dations of Genetic Algorithms, First Workshop on the Foundations of Genetic Algorithms and Classifier
Systems, pages 284–300. Morgan Kaufmann Publishers, 1991.
[7] Hakimi, S.L. Optimal Locations of Switching Centers and the Absolute Centers and Medians of a Graph.
Operations Research, 12:450–459, 1964.
[8] Hopper, E. and B. Turton. A Genetic Algorithm for a 2D Industrial Packing Problem.Computers and
Industrial Engineering, 37:375–378, 1999.
[9] Hopper, E. and B. Turton. An Empirical Investigation of Meta-Heuristic and Heuristic Algorithms for a 2D
Packing Problem.European Journal of Operational Research, 128:34–57, 2001.
[10] Hosage, C.M. and M.F. Goodchild. Discrete Space Location-Allocation Solutions form Genetic Algorithms.
Annals of Operations Research, 6:35–46, 1986.
[11] Lin, S. Computer solutions of the travelling salesman problem.Bell System Technical Journal, 44:2245–
2269, 1965.
27
28
[12] Lin, S. and B.W. Kernighan. An effective heuristic algorithm for the travelling salesman problem.Operations
Research, 21:498–516, 1973.
[13] Michalewicz, Zbigniew.Genetic Algorithms + Data Structures = Evolution Programs (Third, revised and
extended edition). Springer Verlag, 1996.
[14] Minieka, E. The Centers and Medians of a Graph.Operations Research, 25:641–650, 1977.
[15] O’Kelly, M.E. The location of interacting hub facilities.Transportation Science, 20(2):92–106, 1986.
[16] O’Kelly, M.E. A quadratic integer program for the location of interacting hub facilities.European Journal
of Operational Research, 32(3):393–404, 1987.
[17] Seniw, D. A Genetic Algorithm for the Travelling Salesman Problem. Msc thesis, University of North
Carolina at Charlotte, 1991.