You are on page 1of 28

Chapter 1

PROBLEMAS: FORMULACIN, EJEMPLOS,


REPRESENTACIN DE SOLUCIONES Y
ESTRUCTURAS DE ENTORNO

1.

Introduccin

Escoger, seleccionar, determinar, fijar,... stos y muchos otros verbos tienen, en muchos
casos, la acepcin 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 ms 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 ubicacin para el mismo;
etc.

2.

Formulacin 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
trminos:
optimizarXS f (X)
donde f es una funcin que a cada X S asocia una medida de la adecuacin de X como
solucin del problema y S es el conjunto de soluciones. Al conjunto S se le conoce como
espacio solucin o regin factible y a la funcin f por funcin de costo o funcin objetivo. Por
optimizar se entiende minimizar o maximizar la funcin objetivo f sobre el espacio solucin.

Un problema queda determinado por el espacio de solucin y por la funcin 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 conceptos e ideas. Estos problemas pertenecen a las siguientes clases: problemas de localizacin,
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 localizacin. 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 funcin 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 heursticas.

3.

Problemas de corte y empaquetado. Constituyen un conjunto amplio de problemas en los


que el uso de ciertas heursticas es un campo an por explorar.

3.1

Problemas de localizacin

En un Problema de Localizacin se pretende determinar la ubicacin de ciertos servicios de


forma que, segn 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 estn tan prximo a los puntos de demanda como sea posible, hasta
el que pretende lo opuesto. Las restricciones pueden imponer que el nmero de servicios a
localizar est prefijado, que los servicios dispongan de ciertas capacidades que no pueden ser
sobrepasadas, etc. Cada combinacin de criterio, restriccin, entorno sobre el que se desarrolla
el problema y cualquier elemento que intervenga activamente en la determinacin ptima de los
servicios conforma un modelo. Una recopilacin y clasificacin de varios tipos de problemas
de localizacin puede encontrarse en [2].
En los problemas de localizacin estudiados se deben resolver de forma ptima varias
cuestiones: dnde ubicar los servicios?, cmo asignar los puntos de demanda a stos?, cmo
satisfacer la demanda?. Para algunos problemas, una vez determinada la ubicacin de los
servicios, cada punto de demanda es asignado al servicio ms cercano (problemas de la mediana,
el centro, etc. ); para otros, sin embargo, la asignacin se determina resolviendo un problema que

Problemas

puede ser N P -completo (problema del p-hub). Adems, para satisfacer, de forma apropiada, la
demanda puede ser necesario resolver otro problema N P -completo (problema de localizacin
del ciclo).
Hasta hace relativamente poco tiempo, no han comenzado a emerger problemas en los que,
adems de resolver la localizacin y la asignacin, se pretende conectar los servicios entre
s para que sea posible satisfacer la demanda. Se llamar a stos problemas de localizacinconexin- asignacin.
De forma general, estos problemas pueden formularse como sigue. Dados un conjunto de
puntos de demanda y un conjunto de posibles localizaciones, determinar la localizacin 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 funcin de la localizacin, la conexin y la
asignacin.

3.1.1

Problemas de localizacin sin conexin con asignacin directa

Como se ha mencionado anteriormente, en muchos problemas de localizacin, los servicios


no necesitan estar conectados entre s para satisfacer de forma apropiada las necesidades
demandadas. Adems, de entre estos problemas, una amplia clase est formada por problemas
en los que la localizacin determina de forma directa la asignacin que se hace de los puntos de
demanda: stos son asignados al servicio ms cercano o que supone un menor costo. Ejemplos
de tales modelos son el problema de la p-mediana [7] [14] y el problema del p-centro [7] [14].
Para formalizar cada uno de los problemas, unido al conjunto de n puntos de demanda, D,
y al conjunto de m posibles localizaciones, L, se considera la existencia de una matriz n m
con el costo c(l, d) que supone atender al punto de demanda d desde la localizacin l. Dado
que el problema es de asignacin directa, la regin factible est formada por subconjuntos de
L con p puntos
S = {X L :| X |= p}.
Sea el costo que supone atender el punto de demanda d desde la solucin X igual a
c(X, d) = mn c(l, d).
lX

1.

Problema de la p-mediana. Dado un conjunto de puntos de demanda y un conjunto de


posibles localizaciones, se pretende determinar la ubicacin ptima de p servicios que
minimicen la suma de los costos entre los puntos de demanda y los servicios. El problema

se formula como
mn

XS

2.

c(X, d)

dD

Problema del p-centro. Dado un conjunto de puntos de demanda y un conjunto de posibles


localizaciones, se pretende determinar la ubicacin ptima de p servicios que minimicen el
mximo costo entre los puntos de demanda y los servicios. El problema se formula como
mn max c(X, d)

XS dD

3.1.2

Problemas de localizacin-conexin-asignacin del p-hub.

Por problema de localizacin del p-hub [15] [16], se entiende un problema de localizacinconexin-asignacin en el que el conjunto de localizaciones coincide con el de demanda, la
asignacin se realiza a travs de un arco que une cada punto de demanda con un nico servicio,
llamado hub, y los hubs se conectan a travs de un subgrafo completo. Adems, y siguiendo
la descripcin dada por OKelly [16] del problema del p-hub mediano, unidos a cada par de
puntos i y j se consideran los valores
Wij

nmero de unidades de trfico que se desean enviar

Cij

coste estndar por unidad de trfico enviada sobre

desde el punto i al punto j


el arco (i, j)

Se supone que Wii = 0 y Cii = 0 para todo i. Se incurre en el coste Cij si exactamente uno
de los puntos i j es un hub. Si tanto i como j son hubs, el coste por unidad de trfico sobre
el arco (i, j) es igual a aCij , donde a es un parmetro. Normalmente, a 1 para reflejar el
ahorro en el coste estndar que se produce cuando i y j son hubs.
El objetivo a minimizar es funcin de los costos que supone enviar, desde cada punto de
demanda, el flujo a cualquier otro punto de demanda. La forma de esta funcin de costo depende
de las localizaciones en las que se encuentran los hubs y de la asignacin que se hace del resto
de los puntos.
Sean las variables de decisin Xij e Yj definidas como
(
1 si el punto i es asignado al hub j
Xij =
0 en otro caso
(
Yj

1 si el punto j es un hub
0 en otro caso

Problemas

Las restricciones bsicas de un problema de localizacin del p-hub se establecen en (1.1), (1.2),
(1.3) y (1.4)
X
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 expresin (1.1) requiere que cada punto de demanda sea asignado a un nico hub; (1.2)
establece que el nmero de hubs sea exactamente p y (1.3) asegura que el punto de demanda i
es asignado a j slo si en j se establece un hub.
p-hub mediano.. En este problema, que fue formulado por primera vez por OKelly [15]
[16] como problema de localizacin del p-hub, se desea determinar la localizacin de p-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
!

XX
XX
X
X
Xik Xjm Ckm ,
Xjm Cmj + a
mn
Wij
Xik Cik +
i

sujeto a las restricciones (1.1), (1.2), (1.3) y (1.4).


Como se recoge en [3], el problema del p-hub mediano tiene aplicaciones, entre otras, en
redes de transporte y telecomunicacin en las que se pretende minimizar el coste total de
movimiento.

3.1.3

Problema de localizacin del ciclo

El Problema de localizacin del ciclo es un problema de localizacin- asignacin-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 depsitos. Asociado a stos puntos
se consideran los siguientes valores: el coste de ruta (o distancia de viaje) entre dos puntos
cualesquiera, el coste de asignacin de un usuario a un depsito y el coste de apertura de un
depsito. Adems, se impone como restriccin que todos los usuarios deben ser atendidos por
un nico depsito y que el servicio se presta por medio de un ciclo que visita una nica vez todos
los puntos asignados a un depsito. Se pretende determinar qu plantas abrir, qu asignacin

hacer de los clientes a las plantas y cul es el orden en que deben recorrerse los clientes
asociados a una planta para minimizar el costo total. Por tanto, una solucin del problema es
un conjunto de ciclos disjuntos que cubre a todos los clientes. El coste total de esta solucin,
C, es la suma del coste de apertura de plantas, Cp , coste de asignacin de clientes a plantas,
Ca , y coste de ruta, Cr .
Sea V el conjunto de vrtices y E el conjunto de aristas del grafo no dirigido G = (V, E)
en el que se define el problema. Cada arista e = [i, j] del grafo tiene asociado un coste de
ruta c(i, j). Sea I el conjunto de los n vrtices en el que se encuentran los clientes, y J el
conjunto de los m vrtices con las localizaciones de los depsitos. Para cada cliente i I y
depsito potencial j J existe un coste de asignacin o distancia d(i, j) en que se incurre si
el cliente i es asignado al depsito j. Finalmente, existe un coste de apertura, f (j), asociado
a cada localizacin potencial. Cada solucin S del problema est formada por un conjunto
P J de plantas abiertas, la asignacin, a(i), que se hace de cada cliente, i I, a una planta
abierta, j P , y una permutacin, rj , de los nj 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 planta j.
El coste de apertura, Cp (S), viene dado por
X
Cp (S) =
f (j).
jP

El coste de asignacin, Ca (S), es el coste de las asignaciones de los clientes a las plantas
abiertas y es igual a
XX
Ca (S) =
d(i, j).
jP iIj

Por ltimo, el coste de ruta, Cr (S), es


Cr (S) =

X k=n
Xj

c(rj (k), rj (k + 1))

jP k=0

donde rj (0) = rj (nj + 1) = j.


Por tanto, el coste total de una solucin S 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 ms atencin ha recibido dentro de la Optimizacin Combinatoria. Proba-

Problemas

1@

@
@ 3
@

Figure 1.1.

8
J
J
J
J
J9

Problema del Viajante de Comercio

blemente, ello es debido, aparte de a las indudables aplicaciones prcticas que posee, a la
simplicidad con la que se define y a la dificultad que implica su resolucin.
Dado un conjunto de puntos (ciudades) {1, 2, . . . , n} y una matriz que recoge el costo de
ir desde cualquier punto i hasta cualquier punto j, C = (cij )nn , se pretende encontrar el
circuito de longitud mnima que pase por todos los puntos una sola vez. En la figura 1.1 se
muestra una solucin para un problema del Viajante de Comercio con 9 ciudades. Si se supone
que el costo entre ciudades viene dada por la distancia eucldea que las separa, esta solucin
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.
Segn la estructura lgica bsica introducida por Dyckhoff [5], en estos problemas existen dos conjuntos de figuras geomtricas de forma fija que pertenecen a algn espacio ndimensional: el stock de las llamados objetos (figuras grandes), y la lista u orden de pedido de
los llamados items (figuras pequeas). En un problema de corte o empaquetado se pretenden
asignar combinaciones geomtricas (patrones) de items a objetos de forma que se optimice
alguna funcin dependiente de los trozos no aprovechados o perdidos (trim loss).

Figure 1.2.

Cortes guillotina y no guillotina

2
4

Figure 1.3.

3.3.1

Corte bidimensional restringido simple

Problema del corte bidimensional restringido simple

Dados un rectngulo de amplitud y altura fijas y un conjunto, R, de rectngulos ms pequeos, se debe encontrar el patrn de corte (combinacin de items rectangulares pertenecientes
a R que pueden obtenerse, con corte tipo guillotina (ver figura 1.2), del rectngulo inicial) que
minimice la prdida y asegure que el nmero de veces que se emplea cada item no sobrepasa
la cota superior establecida. En la figura 1.3 se muestra una solucin para un problema de este
tipo. Existen tres clases de items y el nmero de veces que se emplea cada uno de ellos, en una
solucin particular, no puede sobrepasar, respectivamente, los valores 2, 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, tambin rectangulares,
de dimensin 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

. . . . . . . . . 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 fija w y altura infinita, y un conjunto, R, de rectngulos
con al menos uno de sus lados menor que w, se desea empaquetar el conjunto R 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.

Representacin de soluciones
Un problema consta de tres elementos:
el conjunto de alternativas o soluciones al problema,
la funcin objetivo o de costo, y
el criterio que, por medio de la funcin objetivo, permite establecer una comparacin entre
las diferentes alternativas.

De estos tres elementos, el nico que es invariante a la formulacin del problema es el criterio.
As, o se pretende encontrar la solucin 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 funcin objetivo. De tal

10

forma que la representacin que se hace de las soluciones condiciona la forma en que se calcula
el objetivo de una solucin.
Ya que existen diferentes formas de representar una solucin, una pregunta que surge de
forma natural es si alguna de ellas es preferible a todas las dems. La respuesta es, en general,
negativa. Existen codificaciones que son preferibles a otras para una heurstica, pero el recproco
puede ser cierto para otra heurstica. Adems, 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 localizacin

Ejemplo 1 (Localizacin con asignacin directa)


Como se estableci en la pgina 3, la regin factible de estos problemas est formada por
subconjuntos de L con p elementos. Dado que el conjunto de posibles localizaciones es finito,
puede suponerse indexado. Usando este hecho, en [10] las soluciones de un problema de localizacin con asignacin directa se representan a travs de una m-upla binaria con exactamente
p unos. Un 1 en la i-sima posicin indica que la i-sima localizacin est presente en la
solucin. As, si el nmero de posibles localizaciones es m = 7 y se pretenden localizar p = 5
servicios, la solucin (1 0 1 0 1 1 1) indica que en los puntos primero, tercero, quinto, sexto y
sptimo se localizan servicios.
Otra representacin para las mismas soluciones es la p-upla (ordenada o no) de los ndices
de las localizaciones presentes en la solucin. Se llama a esta codificacin, indexal. As, la
anterior solucin se codifica como (1, 3, 5, 6, 7).

Ejemplo 2 (Problema del p-hub)


Las matrices X e Y con restricciones (1.1), (1.2), (1.3) y (1.4) (ver pgina 5) son quizs
la representacin ms natural de las soluciones de un problema de localizacin-conexinasignacin del p-hub. As, si n = 5 y p = 2 la solucin

X=

0
0
0
0
0

0
1
1
0
0

0
0
0
0
0

1
0
0
1
1

0
0
0
0
0

Y = (0 1 0 1 0)

11

Problemas

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 codificacin (a la que llamaremos
indexal con lista de referencia). Supngase que existe una lista ordenada, L, de los puntos de L,
que nos sirve de referencia. De esta forma, cada solucin se representa a travs de una cadena
de tamao n. Las primeras p posiciones se corresponden con los ndices de los servicios, y
forman la subcadena de localizacin; las (n p) ltimas posiciones indican el servicio al que
se asigna cada uno de los puntos de demanda, y forman la subcadena de asignacin. As, si
L = (1 2 3 4 5),
la anterior solucin se representa como
x = (2 4 | 2 1 2)
que se interpreta como sigue
el primer ndice de la cadena es 2. Por tanto, el segundo punto de la lista L es el primer
servicio;
el siguiente nmero de la cadena es 4. Por tanto, el cuarto punto de la lista L es el segundo
servicio;
dado que el nmero de puntos seleccionados coincide con el nmero de servicios, se eliminan de la lista L los puntos seleccionados como servicios (ahora L = (1 3 5)),
el siguiente nmero de la cadena es 2, por lo que el primer punto de la lista resultante, 1,
es asignado al segundo servicio que es 4,
el siguiente nmero de la cadena es 1, por lo que el segundo punto de la lista, 3, es asignado
al primer servicio que es 2,
el ltimo nmero de la lista es 2. Por tanto el tercer punto de la lista, 5, es asignado al
segundo servicio.

4.2

Problema del Viajante de Comercio

Ejemplo 3 (Problema del Viajante de Comercio)


Para las soluciones de este problema se han propuesto diferentes representaciones. Todas las
que se definen a continuacin se encuentran en [13].

12

1.

Representacin de adyacencia. En esta representacin, una solucin se codifica por medio


de un vector de tamao n. Si en la i-sima posicin aparece el valor j, esto significa que
desde la ciudad i se visita la ciudad j. Por ejemplo, el vector 1
(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 representacin de adyacencia,
cualquier vector del tipo anterior no representa un circuito factible.

2.

Representacin ordinal. Se supone que las ciudades se etiquetan con los nmeros del 1
al n en algn orden. Esto suministra una lista L = {l1 , l2 , . . . , ln }. As, cada circuito se
representa por medio de un vector de tamao n. La i-sima posicin de este vector toma
un valor entre 1 y n i + 1 e indica la posicin que ocupa, tras eliminar l1 , . . . , li1 de L,
la ciudad li en el circuito. Por ejemplo, si n = 9 y L = {1 2 3 4 5 6 7 8 9}, la solucin
124385967
se codifica como
(1 1 2 1 4 1 3 1 1).

3.

Representacin por medio del camino. Cada solucin se representa por medio del camino
que ella determina. As, la solucin
124385967
se codifica como
(1 2 4 3 8 5 9 6 7).

4.

Representaciones matriciales. Tambin es posible representar cualquier solucin del problema del viajante de comercio empleando matrices de ceros y unos. A continuacin se
describen dos de stas propuestas.
a)

1 Este

Representacin matricial de Fox y McMahon [6]. Cada solucin se representa a travs


de una matriz de precedencia. El elemento (i, j) de esta matriz vale uno si la ciudad i

ejemplo se encuentra en [13], pgina 212.

13

Problemas

se visita antes que la ciudad j. As, la solucin


124385967
se representa como

b)

0
0
0
0
0
0
0
0
0

1
0
0
0
0
0
0
0
0

1
1
0
1
0
0
0
0
0

1
1
0
0
0
0
0
0
0

1
1
1
1
0
0
0
1
0

1
1
1
1
1
0
0
1
1

1
1
1
1
1
1
0
1
1

1
1
1
1
0
0
0
1
0

1
1
1
1
1
0
0
1
1

Representacin matricial de David Seniw [17]. Cada solucin se representa por medio
de una matriz cuadrada de tamao n con exactamente un uno por fila y columna. El
elemento (i, j) de esta matriz vale uno si desde la ciudad i se visita la ciudad j; en caso
contrario, vale cero. Empleando esta representacin, la solucin
124385967
se codifica como

4.3

1
0
0
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
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
0
0
1
0
0
0

0
0
1
0
0
0
0
0
0

0
0
0
0
1
0
0
0
0

Problemas de corte y empaquetado

En general, se suelen representar las soluciones de estos problemas a travs de una permutacin que indica el orden en que los items son considerados para su inclusin en el objeto,
junto a un procedimiento que indica la posicin que ocupa el item en el objeto. El procedimiento que indica la posicion dentro del objeto es dependiente del problema. A continuacin
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, segn el orden establecido
en la permutacin, 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 continuacin:
1.

Tomar el siguiente item y seleccionar uno de los objetos posibles 2 . En caso de no existir,
tomar el siguiente item. Al igual que antes, el objeto puede seleccionarse atendiendo a
algn 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 empleados para obtener la posicin 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 continuacin, 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 item 4.

5.

Propiedades deseables de una representacin


Algunas propiedades deseables de una representacin son:

1.

Cada solucin debe tener una nica representacin.

2.

Todas las soluciones deben tener, al menos, una representacin. En particular, la solucin
ptima.

Las anteriores propiedades no siempre se cumplen en una representacin particular como se


pone de manifiesto en los ejemplos 4 y 5 siguientes. Los inconvenientes son claros: en el primer
caso, la heurstica se concentra en las soluciones que tienen mayor nmero de representaciones
y, en el segundo, no ser posible encontrar la solucin ptima del problema.
2 Un

item

objeto posible es aquel en que puede acomodarse el item. Ntese que no todos los objetos disponibles son posibles para un

15

Problemas

?4

4 ?

3
1

1
2

1
2

Figure 1.5.

3
1

Procedimiento de colocacin Botton-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 solucin: aquella que se
obtiene al acomodar el item 1 en el objeto.

Ejemplo 5
En la siguiente figura se muestra la solucin (1, 2, 3, 4, 5, 6, 7) de un problema de empaquetado bidimensional rectangular que no puede obtenerse aplicando el procedimiento Botton-left.
Aplicando este procedimiento, el item 4 no ocupar el lugar que le corresponde en la distribucin que se muestra en la figura3 . Si slo existiera esta configuracin ptima, 4 cualquier
heurstica que empleara como rutina de colocacin el procedimiento Botton-Left, no podra
resolver ptimamente el problema.

3 En
4 No

la figura 1.5 se muestra la posicin que ocupa el item 4, si se emplea el procedimiento Botton-left.
es este el caso, ya que la solucin (3, 1, 2, 4, 5, 6, 7) es ptima y puede obtenerse usando el procedimiento Botton-Left

16

7
6
4 5

1
2

6.

Estructura de entorno

En optimizacin real continua, un concepto importante es el de ptimo local de la funcin


que se define como cualquier punto x para el que exista un entorno, en la topologa usual
de IR, de tal forma que x sea ptimo en ese entorno. La importancia radica en que el ptimo
global puede definirse como aquel ptimo local con mejor valor de la funcin objetivo. Es
decir, se dispone de una condicin necesaria para encontrar el ptimo global de la funcin.
As, al menos en teora, la dimensin del problema se reduce al tener que buscar la solucin
ptima del problema slo entre los ptimos locales.
Para intentar usar estas ideas en los problemas discretos que nos ocupan, se define el entorno
de una solucin.
Definicin 1
Dado el problema (S, f ), una estructura de entorno (ver figura 1.6) es una funcin N : S 2S
que asocia a cada solucin X S un conjunto N (X) S de soluciones cercanas a X en
algn sentido. El conjunto N (X) se llama entorno de la solucin X, y cada Y N (X),
solucin vecina de X.
La anterior definicin es bastante general y deja a criterio del decisor el establecer cuando
dos soluciones estn cercanas en algn sentido. As, para un mismo problema puede definirse
ms de una estructura de entorno. Por ejemplo, en un problema de localizacin con asignacin
directa puede considerarse que dos soluciones son vecinas si difieren en la localizacin de
exactamente k servicios con 1 k p. De esta forma, cada valor posible de k determina una
estructura de entorno sobre el problema considerado.

17

Problemas

- 2S

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 soluciones S una distribucin en forma de malla. En sta, los
vrtices representan las soluciones y los caminos entre dos vrtices la nocin de vecindad que
se considera. En la figura 1.7 se muestra esta situacin para un problema con 40 soluciones.
Los valores situados en la parte superior derecha y prximos a cada vrtice son los valores
objetivos de cada solucin.

6.1

Optimalidad local

Definicin 2
Dado un problema (S, f ) y la estructura de entorno N : S 2S , se dice que una solucin
X S es un mnimo local si el valor objetivo de X es menor o igual que el valor objetivo de
cualquier solucin Y N (X). Es decir:
X es mnimo local f (X) f (Y )

Y N (X)

La anterior definicin se presta a algunos comentarios:


1.

Un mnimo local en una estructura de entorno no tiene porqu ser mnimo 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 (estructura N1 ), se tiene que los vrtices sealados con N1 son mnimos 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 (estructura N2 ), slo son mnimos locales los
vrtices marcados con N2 .

18

10

11

Figure 1.7.

2
N2 N1

12

11

17

15

10

3
N1

4
N1

11

11

10

13

11

10

3
N2 N1
10

S 1
N2 N1

Propiedades de la optimalidad local. Los puntos etiquetados con N1 son ptimos locales con la

estructura de entorno N1 ; los etiquetados con N2 son ptimos locales con la estructura N2 ; el punto etiquetado
con S es el ptimo global.

2.

Sean N1 y N2 dos estructuras de entorno sobre el mismo problema (S, f ). Si para toda
solucin X de S, N1 (X) N2 (X), entonces el nmero de mnimos locales de f relativo
a la estructura N1 es menor o igual que el nmero de mnimos locales de f relativo a N2 .
Obsrvese lo que ocurre en la figura 1.7 con las estructuras N1 y N2 anteriores.

3.

Si el entorno de cualquier solucin coincide con S, el nico mnimo local es el mnimo


global. El recproco no tiene porqu ser cierto.
Si en la malla de la figura 1.7 todas las soluciones son vecinas, el nico mnimo local es el
vrtice marcado con S . Obviamente, este es el mnimo global del problema.

7.

Algunas estructuras de entorno

Una forma habitual y sencilla de definir la vecindad de una solucin para un problema
arbitrario es emplear los llamados movimientos de bsqueda. Los movimientos de bsqueda
son operaciones que permiten obtener una solucin de un problema a partir de otra solucin
alternativa. As, dado el conjunto de movimientos, el entorno de una solucin es el conjunto
de soluciones a las que se puede llegar desde ella al aplicar uno de los movimientos posibles.

19

Problemas

En lo que sigue se enumeran algunas estructuras de entorno basadas en movimientos para


diferentes problemas.

7.1

Problemas de localizacin

Los movimientos a considerar dependen, en primer lugar, de la estructura del espacio. De


esta forma, para problemas de localizacin con asignacin no directa pueden considerarse
movimientos que carecen de sentido en problemas de localizacin con asignacin directa. Tal
es el caso del movimiento de reasignacin.
Supongamos que X e Y son, respectivamente, la solucin actual y la que se obtiene al
aplicar el movimiento a la solucin anterior, y que u y v denotan localizaciones posibles.
Los movimientos ms corrientes para los problemas discretos de localizacin-asignacin con
asignacin directa son los siguientes:
Adicin o apertura: aadir a la solucin X una localizacin, u, no presente en X para
obtener la solucin Y .
Es decir: Y X + {u},

u
/X

Sustraccin o cierre: eliminar de la solucin X una localizacin, u, presente en X para


obtener la solucin Y .
Es decir: Y X {u},

uX

Sustitucin o intercambio: eliminar de la solucin X una localizacin, u, presente en X


y aadir una localizacin v no presente en X para obtener la solucin Y .
Es decir: Y X {u} + {v},

u X, v
/X

Para problemas con asignacin no directa, unidos a los anteriores movimientos, existen otros
que operan sobre la asignacin de la solucin actual. Para cada movimiento hay que especificar cules son las localizaciones, u y v, que intervienen en su aplicacin. Adems, para el
movimiento de reasignacin se debe indicar qu punto de demanda, d, es el que se reasigna.
Los movimientos son:
Reasignacin: tomar un punto de demanda, d, asignado a la localizacin u y asignarlo a
otra localizacin v.
Traslado: tomar todos los puntos de demanda asignados a la localizacin u y asignarlos a
la localizacin v.

20

Los anteriores movimientos se generalizan de forma natural al considerar movimientos mltiples. Se habla, por tanto, de los movimientos de k-apertura, k-cierre, k-intercambio, k-reasignacin
y k-traslado cuando el nmero de elementos que interviene es igual a k.
Para problemas en los que, para satisfacer la demanda, es necesario resolver un nuevo
problema pueden considerarse movimientos que actan sobre esta parte de la solucin. As,
para el problema de localizacin del ciclo, son tiles los movimientos que se definen para el
problema del viajante de comercio.
Ejemplo 6 (Localizacin con asignacin directa)
En la codificacin binaria, la estructura de entorno del k-intercambio indica que dos soluciones
son vecinas si una de ellas puede obtenerse desde la otra al cambiar exactamente k unos por
ceros y k ceros por unos. As, si m = 9, p = 4 y k = 2, la solucin
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 codificacin indexal, esta estructura de entorno se implementa sustituyendo k servicios


presentes en la solucin por otros k no presentes en ella. As, si m = 9, p = 4 y k = 2, la
solucin
X = (1 5 6 8)

es vecina de

Y = (2 3 6 8)

Ntese que, aunque las estructuras de entorno se definen de forma diferente, las vecinas de una
solucin son las mismas en una u otra estructura.
Ejemplo 7 (Problema del p-hub)
Pueden definirse varias estructuras de entorno para este tipo de problemas que constan, en
general, de dos partes. Una modificacin en la localizacin de los hubs y, por consiguiente,
una reasignacin de aquellos puntos asignados a los puntos que pierden la condicin de hubs.
Si nos restringimos a las estructuras de entorno que consisten en intercambiar un hub por un
punto no hub, para la reasignacin se pueden contemplar varias posibilidades
1.

Traslado: el nuevo hub hereda como asignacin todos los puntos de demanda que atenda
el hub que abandona la solucin.

2.

Asignacin local basada en mejora: los puntos asignados al hub que abandona la solucin
son asignados a un hub particular si esta asignacin optimiza la funcin de mejora empleada.
Un ejemplo de este tipo de asignacin es aquel en que los puntos de demanda se asignan al
hub ms cercano.

21

Problemas

@
@

@
H @
H
H

@H
XX
XX @HH

@
@

@

@H
P
PP
H
@H
PP @HH

@
P @ H

Solucin actual

Traslado

@

@
@

H
H
@H
@HH

@
@ H
Asignacin local basada en mejora

Figure 1.8.

3.

@

@
@

@
H
H
@H
@HH
@
@ H
Asignacin global basada en mejora

Estructuras de entorno para el problema del p-hub

Asignacin global basada en mejora: los puntos de demanda (asignados o no al hub que
abandona la solucin) son asignados en base a la funcin de mejora usada. Como ejemplo
de este clase de asignacin tenemos la asignacin basada en la menor distancia al considerar
que se reasignan todos los puntos de demanda y no slo aquellos que estaban asignados al
hub que abandona la solucin.

En la figura 1.8 se recoge, de forma grfica, el efecto que sobre una solucin particular tiene
la aplicacin de los anteriores movimientos.
La implementacin de estas estructuras de entorno depende de la codificacin empleada
para representar las soluciones. De esta forma, en la codificacin matricial y con la estructura
de entorno del 1-intercambio con traslado, la solucin

0 0 0 1 0

0 1 0 0 0

Y = (0 1 0 1 0)
X=
0 1 0 0 0

0 0 0 1 0
0 0 0 1 0

22

es vecina de

0
X =

1
1
1
0
0

0
0
0
0
0

0
0
0
0
0

0
0
0
1
1

0
0
0
0
0

Y 0 = (1 0 0 1 0),

ya que se intercambia el punto 2 por el 1 como hub y este ltimo hereda la asignacin del
primero.
Del mismo modo, en la representacin indexal con lista de referencia, la solucin
x = (2 4 | 2 1 2)
es vecina de
x0 = (1 4 | 1 1 2)
Hasta ahora se han estado considerando nociones literarias de vecindad que, aunque intuitivas de justificar, pueden ser difciles de implementar en la prctica. La dificultad proviene
del hecho de que se definen con palabras y luego se intenta trasladar esta definicin a las
representaciones de las soluciones. As, se obtienen soluciones que estn cercanas una a la
otra, segn la definicin literaria, aunque sus representaciones pueden no tener nada en comn.
Una forma alternativa de actuar consiste en proceder en sentido contrario. Esto es, se dice que
dos soluciones son vecinas si sus correspondientes representaciones estn cercanas en algn
sentido. Esta va es, en general, mucho ms sencilla de implementar. Veamos un ejemplo.
En la codificacin indexal con lista de referencia, puede decirse que dos soluciones son
vecinas si las correspondientes subcadenas de localizacin difieren en un elemento. As, las
soluciones
x = (2 4 | 2 1 2)

x0 = (1 4 | 2 1 2)

son vecinas.
Tambin es posible definir estructuras de entorno sobre las soluciones que tienen una traduccin sencilla a las representaciones. Tal es el caso de la reasignacin de un punto desde su
actual hub a otro. En la representacin indexal con lista de referencia, esta nocin de vecindad
se implementa actualizando convenientemente el correspondiente elemento de la subcadena
de asignacin. Por ejemplo, al reasignar el punto 5 al hub 2 en la solucin
x = (2 4 | 2 1 2)

23

Problemas

hhhh
hhhhh
hhhh 1

5@

@ 9
6
@
7
Figure 1.9.

5@

@
@ 9
@

8
J
J
J
J
J1

Soluciones vecinas. Estructura del 2-intercambio.

se obtiene
x0 = (2 4 | 2 1 1).

7.2

Problema del Viajante de Comercio

Una de las estructuras de entorno ms estudiada y empleada en el problema del Viajante


de Comercio es la estructura de entorno del k-intercambio. En esta estructura, se dice que dos
soluciones son vecinas si difieren en exactamente k aristas. Esta estructura ha sido usada por
ejemplo en [4] [11] y [12]. En general, se toma un valor de k igual a 2 3.
La implementacin de esta estructura depende de la representacin empleada para codificar
las soluciones. A continuacin se describe tal implementacin para algunas de las representaciones descritas en la seccin 4 cuando k = 2. Todas las descripciones se basan en el hecho de
que si se eliminan las aristas (i, j) y (k, l) de una solucin, con i < j < k < l, las nicas aristas
que suministran una solucin factible son (i, k) y (j, l). Adems, las ciudades comprendidas
entre j y k se recorren en sentido inverso. Es decir, si la solucin actual es
X 124385967
y se eliminan las aristas (1, 2) y (8, 5), la nica solucin 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.

Representacin por medio del camino. Con esta codificacin, es muy fcil obtener la nueva
solucin. Slo es necesario alterar el orden la subcadena que se encuentra entre i y l (en

24

el ejemplo que se est considerando, la alteracin se produce entre 1 y 5). As, desde la
codificacin
(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 codificacin de la solucin Y desde la codificacin de la solucin X no es tarea sencilla. Existen, sin embargo,
ciertas similitudes entre las representaciones matriciales de X e Y que, para cada una de
las representaciones consideradas, son
a)

Representacin de Fox y McMahon. Todas las filas menores o iguales a i o mayores o


iguales a l coinciden en ambas matrices.

b)

Representacin de David Seniw. Todas las filas menores a i o mayores o iguales a l


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


sealado en secciones previas, la representacin ms usual de las soluciones de este problema
consta de dos elementos: una permutacin de los items, que indica el orden en que stos son
considerados, y un procedimiento que determina en que posicin 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 segn la definicin anterior.
Ntese 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 representacin
(5, 2, 3, 4, 1) es vecina de (1, 2, 3, 4, 5), pero el grado de similitud entre ambas es pequeo).

25

Problemas

3
1

3
1

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:288294, 1997.
[2] Brandeau, Margaret L. and Samuel S. Chiu. An Overview of Representative Problems in Location Research.
Management Science, 35:645674, 1989.
[3] Campbell, James F. Integer Programming Formulations of Discrete Hub Location Problems. European
Journal of Operational Research, 72:387405, 1994.
[4] Croes, C.A. A method for solving travelling salesman problems. Operations Research, 6:791812, 1958.
[5] Dyckhoff, Harald. A topology of cutting and packing problems. European Journal of Operational Research,
44:145159, 1990.
[6] Fox, B.R. and M.B. McMahon. Genetic operators for sequencing problems. In G. Rawlings, editor, Foundations of Genetic Algorithms, First Workshop on the Foundations of Genetic Algorithms and Classifier
Systems, pages 284300. 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:450459, 1964.
[8] Hopper, E. and B. Turton. A Genetic Algorithm for a 2D Industrial Packing Problem. Computers and
Industrial Engineering, 37:375378, 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:3457, 2001.
[10] Hosage, C.M. and M.F. Goodchild. Discrete Space Location-Allocation Solutions form Genetic Algorithms.
Annals of Operations Research, 6:3546, 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:498516, 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:641650, 1977.
[15] OKelly, M.E. The location of interacting hub facilities. Transportation Science, 20(2):92106, 1986.
[16] OKelly, M.E. A quadratic integer program for the location of interacting hub facilities. European Journal
of Operational Research, 32(3):393404, 1987.
[17] Seniw, D. A Genetic Algorithm for the Travelling Salesman Problem. Msc thesis, University of North
Carolina at Charlotte, 1991.

You might also like