28
Chapter 1 PROBLEMAS: FORMULACIÓN, EJEMPLOS, REPRESENTACIÓN DE SOLUCIONES Y ESTRUCTURAS 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: optimizar XS f (X ) donde f es una función que a cada X S asocia una medida de la adecuación de X como solución del problema y S es el conjunto de soluciones. Al conjunto S se le conoce como espacio solución o región factible y a la función f por función de costo o función objetivo. Por optimizar se entiende minimizar o maximizar la función objetivo f sobre el espacio solución. 1

Heuristic As

Embed Size (px)

Citation preview

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

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.