Está en la página 1de 11

Primer Serne,.

tre 2004 Asignación

3. EI Problema del Vendedor Viajero


3.1. DescripciónGeneral
El problema del Vendedor viajero pertenece a la farnilia de problemas de optirnizac\ón combina-
toria, es d.ecir, problemas que poseen un conjunto finito de soluciones factibles.

En términos generales, el problema del rrendedor viajero consiste en'determinar"cómo'se debe


.,recorrer*Ia4otalidad,de.un. conjunto*de,puntos, sin;pasarrdos'veces 'por un mismq,.Iugar, volviendo'-al
. ,punto;desde dóndé :seepartriq"minimizands-el,camino total'reeor.rido.'Veamos un
ejempio.

Ejemplo 2 Et propietario d,e una pequeña cad,ena de almacenes ui,sita una uez al mes todas sus tiend,as.
El dueño de los almacenes uiue l. Las distancias (km) entre las ciudades donde se ub'ican
sus almacenes se entrega en el ¿ Qué recorrido debe segui,r para minimizar la di'stancia
total recorrida ?

Ci:Udad 1 Ciudad 2 Ciudad 3 Ciudad 4 Ciudad 5

Ciudad 1 0 r32 217 L64 58


1ro 290 20t 79
Ciudad 2 It)L 0
Ciudad 3 2t7 290 0 113 303
Ciudad 4 t64 201 113 0 i96
Ciudad 5 58 79 303 196 0

Cuadro 3.1: Distancias entre ciudades

Claramente, se debe determinar el orden en que se deben recorrer las 5 ciudades partiendo desde
Ia ciudad 1. En primer lugar, formuiaremos un modeio de programación lineal entera.

Supongarnosqueseciebenvisitarlasciuciadesi,2,S,...^'-Paratodoiljsetienec¿r:distancia
la ciudad i a la ciuciad j. se ci¿ - ]v[ . cionde iVl es un número mu¡,- grande en reiación a las
ciesde
distancias ciei probiema. Defrnamos:
j
r'¡-i : I t la solución indica ir ciescie Ia ciudad i, a la
(3.1)
1o en caso contrario
En forma alternati.ua simplemente se puede eliminar las variables dei modelo para evitar las
z¿¿
asignaciones no deseadas. De acuerdo a las variables definidas. el modeio de programación lineal queda:

IvIin D,i.:tD¡:rairti (r)

st
sd=N
L¡:t r¿j : I (j:t...¡/) (b)
/c .l\
si:lV 7 \ IJ.JJ
1,;:i Lt1 : 1
/,
(z : rr ...i\^7\ ) \c,/

u¿-uj*Nr¿¡ N-l (¡* j;i:2...N; i:2-..N) (d)


*L.l : {0,1} (i,:7...N; j : 1...N)
uj 0 ("i:1...¡/)
La fu¡ción objctivo (a) refleja }a longitud total del carnino recorrido. Las restricciones (b) asegu.ran
que se lleg¡e sólo ulta vez a cacla ciudacl. Las restricciones (c) aseguran que se parta desde cada cirtdacl.
Las rcstricciones (d) sotr ias futtdamentales, ellas aseguran que:

10
7
Primer Sernestre 2004 Asignación,

Simplet Grincheux Dormeur Atchoum Prof


Agassi 0,2 0,3 0,1 0,4 0,5
Sampras 0,1 0,4 0,2 0,3 0,5
Kuerten 0,1 0,4 0,2 0,5 0,3

Cuadro 2.3: Probabilidad de ganar de cada tenista

Ejercicio 3 Se está organizand,o un torrleo de tenis en d,ond,e se d,eben jugar 5 partid,os. Se cuenta
con 3 ten'istas: Agassi, Sampras y Kuerten. Cada uno debe jugar al menos un partido. La tabla 2.3
muestra la probabilidad de ganar de cad,a ten'ista d,ependi,endo de su riual.
Se pi,de deterrninar la mejor estrategia para ganar el torneo.
Asigrración
Primer Semestle 2004

1. Cr-ralquier conjunto de valores d.e ri¡ que conformen un subtour no sean soluciones factibles'

2. Cualquier conjunto de valores de r¿¡ que conformen un tour sea una solución factible'

vende-
Llamarernos tour a cualquier camino que satisfaga todas las condiciones del problema del
dor viajero, es decir, pase por todos los puntos sin repetir, cornience y termine en el mismo
pun-
to.Enelejemplo,untourpodríaser: 1-3-4_ 5- 2_ l,conunadistanciatotalrecorridade:
217 + 113 + 196 r- 79 + 132: 237 [km].

Un subtour es un camino cerrado, que comienza y termina en la misma ciudad, pero


que no pasa
por todas las ciudades. En el ejemplo, un subtour podría ser 1 - 5 - 2 - 1'

para ilustrar el funcionamiento del modelo, supongamos que se tiene como solución al problema
delejemplo fr15:Í2t:I34:tr43:7,52:1. Estaasignación contiene2 subtours:1-5 -2-Ly
Z-4_ 3. Si escogemos el subtour que no contiene a Ia Ciudad 1 (3-4-3) y escribimos las restricciones
(d) correspondiente a estas asignaciones se obtiene:

u3-u4*5rz+a4 Y u4-u3*5ta3 14 (3.3)

Sumando ambas restricciones se obtiene:

b(z3a*ras) .ó (3.4)

La restricción a¡terior no se puede satisfacer para Ia combinacióL tr43: fr34: i, por 1o tanto
el
verificar
subtour Z - 4 - 3 no es una solución factible para el modelo de programación lineal. Se puede
que ]as restricciones (d) son violadas por cualquier sub¡our posible.

Supongamos ahora que la Ciudad 1 fue la primera visitada. Consideremos: t¿


: posición en ei tour
cuando la ciudad r. es visitada. Luego, st u¿: ú¿ cualquier tour satisface las restricciones
(d). A modo
de ejempio, consideremos el tour 1-3- 4-5-2-1. Entonces, las otras variables sol'l: u1 : L, LL2:5,
u3 -- 2, u4:3 ), ul : 4. Consideremos ahora cualquier restricción (d) que contenga un i[¿J
: 1' Por
ejemplo. la rcstriccióIl correspondiente 3 z52 €S:

* 5t52 14 (3 5)
ü-o - u2

Como la Ciudad 2 es la que sigue inmediatamente a la Ciudad 5 se tiene:

- tl2: -t
U5 (3 6)

Por Io tanto, ia restricción (d) de r52 se satisface ya que:

-1 +5<4 (3.7)

Consideremos ahora una restricción correspondiente a ün il,ij : 0, por ejemplo r32 de acuerdo al
t,our escogido. Lii restricción de r32 queda:

Lq-u2*542 14 + u3-u2 14 (3 B)

Como las variables ui representan ia posición en el tour, se tiene Que u¿ 1 5 y u, > 1 (i : 2, . . . N )-


Bn este caso:

us<5.l
I * uz-uz<5-2:3
(3.e)
;;;i
l1
Primer Semestre 2004 Asignación . :

Por Io tanto, las restricciones (d) para las variables ,uj : 0 también se satisfacen cuando las va-
riables contienen un tour.

Luego, el modelo efectivamente elimina cualquier secuencia de I/ ciudades que comiencen en La


Ciudad 1 y que contengan un subtour. Por lo tanto, el modelo resuelve el problema del Vendedor
Viajero. Evidentemente, el modelo crece rápidamente según aumente el número de ciudades incluidas
en el problema, por Io tanto tiende a ser poco eficiente.

Para el problema del ejemplo, el modelo en LINDO queda:


min
L32 x72 + 2L7 x13 + 164 xL4 + 58 x15 + 132 x2L + 290 x23 + 20L
x24 + 79 x25 + 2L7 x31 + 290 x32 + 113 x34 + 303 x35 + 1,64 x4l +
2Ot x42 + 113 x43 + 196 x45 + 58 x51 + 79 x52 + 303 x53 + 196 x54
st
xL2+x13+xL4+x15=1
x2L+x23+x24+x25=1
x31+x32+x34+x35=1
x4t+x42+x43+x45=1
x51+x52+x53+x54=1
x21+x31+x4L+x51=1
x12+x32+x42+x52=1
x13+x23+x43+x53=1
x!4+x24+x34+x54=1
x15+x25+x35+x45=1
u2-u3+5x23<=4
tt2-u4+5x24<=4
u2-u5+5x25<=4
u3-u2+5x32<=4
u3-u4+5x34<=4
r:3-u5+5x35(=4
u4-u2+5x42<=4
u4-u3+5x43<=4
u4-u5+5x45<=4
u5-u2+5x52<=4
u5-u3+5x53(=4
u5-u4+5x54<=4
end
i-nt x12
int x13
int x14
int x15
int x2i
int x23
i-nt x24
i-nt x25
int x31
int x32
int x34
int x35

L2
Primer Semestre 2004 Asignación

int x41
lrnt x42
int x43
int x45
int x51
int x52
int x53
int x54

La instrucción int xij de LINDO permite definir como variabie binaria a xij. Al resolver el modelo
con LINDO, Iuego de una serie de iteraciones se obtiene:

LAST INTEGER SOLUTION IS THE BEST FOUND

RE_INSTALLING BEST SOLUTION. . .

OBJECTIVE FUNCTION VALUE

1) 668.0000

VARIABLE VALUE REDUCED COST


x72 0 .000000 132.000000
x13 0 .000000 217.000000
xt4 0.000000 164. 000000
x75/ 1 .000000 58.0ooo00 <
x27 0 .000000 132 .000000
x23 0.000000 290.000000
x24 1 .000000 201 .000000
x25/ 0 .000000 79: 0000002'
xól 1 .000000 217.000000
x32 0 .000000 290 .000000
^,
xóq(
/ 0 .000000 113.000000 /'
x35 0 .000000 303. 000000
-A I 0 .0cc000 164.000000
^=a
x42 0.000000 201.000000
x43/ 1 .000000 113.000000.
x45 0 .000000 196 .000000
x51 0 .000000 58. 000000
_x52_ 1_.0O00O0_ f§_4ooooo_
x53 0 .000000 303.000000
x54 0 . 000000 196. 000000
u2 1 .000000 0.000000
u3 4.000000 0.000000
u4 2 .000000 0. 000000
u5 0 .000000 0.000000

Pollotanto.elóptimoencontradocorrespondeaitourL-r5-2--+4---r3-lconunadistancia
total a recorrer de 668. La solución encontrada no es únical ya qlle el rnodelo podría también haber
entregado }a misma secuencia en sentido inverso.

t,
).)
Primer Semestre 2004 -A.signación

Si bien ei planteo anterior permite resolver el problema mediante Simplex, existe un método más
simple que permite resolver el problema manuaimente a trar.és una combinación del N,Iétodo Húngaro
y la técnica de Ramificación y Acotarniento (Branch-and-Bound).

3.2. Resolución del Problema del Vendedor Viajero


A continuación se resolverá el problema del Vendedor Viajero como un problema de asignación.
Para e}lo construiremos una matriz de costos. donde se incluyan las distancias c¿, (i, + j) desde
cada ciudad i a cada ciudad j. Además, incluiremos en la diagonal de la matriz de costos cii: M
(¿ : 1... ¡/), para evitar la asignación de una ciudad a si misma como se muestra en el Cuadro 3.2.

M t32 277 t64 58


132 M 290 20L 79
2L7 290 M 113 303
164 201 113 M 196
58 79 303 196 M

Cuadro 3.2: Matriz de Costos del Problema Original

La resolución del problema anterior como un problema de asignación constitu/€ una,.:,relajación


del problema original, ya que no incorpora restricciones adicionales para evitar que en Ia asignación
aparezcan subtours. De todas maneras, si la solución de} problema de asignación constituye un tour,
también será solución ai probiema de1 vendedor viajero. Resolviendo, se obtiene Ia matriz reducida
del problema original (Cuadro 3.3).

N,I 0 106 53 0
0M158690
104156M8243
5i 67 E NI i36
0 0 245 r38 r\l

Cuadro 3.3: \Iatriz de Costos Redircida

Si bien el Cuadro 3.3 presenta dos soluciones alternativas, se verifica que una es hacer el recorrido
enelsentidoopuestoaalaotra.Laasignaciónesi'-1,,==+'2'---+'5.-*1y3-4--S,conunlargototal:
z : 732 + 79 + 58 + 113 + 113 : 495. La solución contiene dos subtours. por Io tanto'.né'.es óptima.
A continuación se procede a ramiflcar rornpzend.o el subtour de menor longitud, es decir, resolveremos
dos suproblemas:

Subproblerna 1 Se i,mpon,e 3 f4, es decir, tr34:0 - M sobre el problem.a ori,ginal.


y czq

Subproblerna 2 Se i.mpone 4 *3, es d.ecir, tr43: O A c+z: M sobre el problema original.

Luego, podemos comenzar a construir el árbol de ramificación (Figura 3.1).

Para resolver e1 Subproblema I incorporamos una 11 al Cuadro 3.31, aplicamos el Método Hírngaro
a la nueva matriz (Cuadro 3.4).

Se resta el menor valor por filas 1. luego por columnas. Buscando ei número menor de líneas q,.re
cubran todos los ceros se deterrrtina clrre se cstá en el óptimo (Cuadro 3.5). Luego se asigna y se verifica

L4
,
Primer Semestre 2004 Asignación

--/oq
---2-5*1
ñ
ó-4+ó

Subproblema 2

Figura 3.1: Árbol de Ramificación


't 13 )
1 0106530
4
1 0Mlá8690
4 r04 156 N4 Xq/ ZqZ
e*Y J
Ll 51 67 0. NI 136
14 I 0 0 245 138 N4

Cuadro 3.4: Matriz de Costos Subproblema 1


.

i,

,1
si Ia'asignación corresponde a un tour.
(
J
I,1 o loo iOi p
4 g \r i58 16 rel
1
-J E ó2 t\4. IvI 189
,!
T
51 67 pj N,,I 136
I
9 0 245 85 \{

Cuadro 3.5: \,latriz Final Subproblema 1


.. ,- i.',

Luego,elSubproblema1generacomosoluciónlossubtoursI-'+4--*3'-Iy2---+5-2,conun
largo total: z : ,L64I Ll} +,277 +79 + 79 : 652. Por 1o tanto. la solución obteniria tampoco es factible.
Antes d.e volver a ramificar debemos verificar que soluclón entrega la otra rama (Subproblema 2). trn
caso que dicha rama tampoco genere nna solución factible. deberemos escoger aquel Subproblema con
menor valor de función objetivo y volver a ramificar.

Para resolver el Subproblema 2 incorporamos al Cri.adro 3.3 una A,[ errla asignación 4 -3 (Cuadro
3.6). Luego restamos el menor valor por fila 1, iuego por columna. Nuevamente, el número menor de
iíneas que cubran todos los ceros es 5 por 1o ta.nto se está en ei óptimo y se procede a asignar.
La asignación obtenida corresponde a la secuencia l * 3 - 4 - l y 2 - 5 - 2, con un largo
total: z :217 + 113 +164+79 +79 - 652 (Cuadro 3.7). La solución encontrada tampoco es un tour.
Como el camino obtenido por ambas ramas es de idéntica longitud, escogerernos arbitrariamente abrir
la rama de ia izquierda. En este caso. intcrrr-rmpirernos el subtour 2 --- 5 2. es decir generatnos 1os
-
15
,
Primer Semestre 200,i Asignación

4 .§
I \40106530
.1
0M158690
lfs',
A

104 56 Nt 0 243
r

/v1 51 67 \r/ M 136


,'- 0 0 245 138 M

Cuadro 3.6: \{atriz de Costos Subproblema 2


I 23*tí
1 r\4 g Lal 53 p
e pM526eu
3 M u 243
704 156
'l E16MM85
s ptr13e138M
Cuadro 3.7: Matriz Final Subproblema 2

subproblemas:

Subproblema 3 Sei,mpone2*5, es dec'ir, Í2s:0 y czs: M sobre el Subproblema 1.

Subproblerna 4 Se'irnpone 5 *2, es decir, t52:0 A csz: M sobre el Subproblem,a l.'.:i¡

El árbol de ramificación hasta este punto se ilustra en Ia Figura 3.2.

z:495
---2--- 5 --- I
qÁo
J-+-J

Subproblema 1 Suborobiema 2
z :652 --REO
a-VUL

L ---+ 4 --+ 3 ----+ 1 1+ó+4-L


.1 io
2 ----+ 5 -+ 2

Subproblema 3 Subproblena 4

Figura 3.2: Árbol de Ramificación Actualizado

Para resolver el Subproblema 3 agregamos una Iu[ en la combinación2 -5 en el Cuadro 3.5. El


tableau deja de ser final ya que eI número mínimo de líneas para cubrir todos los ceros es 4 (Cuadro
3.8). Iterando se obtiene el Cuadro 3.9 en cual se puede asignar.

Luego, lasolución óptimaparael Subproblema 3 corresponde a iasecuencia 1--* 5 ---2 * 4--+


3 -., 1 con una distancia total asociada de: z:58+79+201+Tl3+217:668. La secuencia anterior

16
PrirLer Semestre 200-l Asignación

n
I M 158 (16)
\_-/
r,l
4 52 M' M 139

I
t

t.1U
r(../t
M p 106 g
r
Cuadro 3.8: Nlatriz Inicial Su bp. oblema 3

lo
1
I g M 142 E N{
7
trs6 M M t2z
II 6?678M136
J 16 lol 245 85 M

Cuadro 3.9: N{atriz Final Subprobiema 3

conforma un tour, por 1a tanto constituye una solución factible para el problema deI Vendedor Via-
jero. Como por el momento es Ia mejor solución disponible fijaremos 668 como cota superior para el
problema. EI resultado anterior no evita resolver el Subproblema 4, ya que aún es posible encontrar
una solución que sea mayor a 652, pero inferior a 568.

Para resolr,er el Subproblema 4 incorporamos una M ala combinación5 -2 del Cuadro 3.5. Una
vez más podemos trazar un número inferior a 5 líneas por 1o que debemos volver a iterar (Cuadro 3.10)"

Nuevamente se puede volver atrazar 4líneas y volver a iterar (Cuadro 3.11). :.1-

',

Finalmentepodemosasignar.obteniendolasecuencial-4-r3---2-5*lconunadistancia
rotai asociada de: z: l-e,4*113+29C+79+58 :704 (Cuadro 12).Lasectrenciaenconirada constitu;\'e
un tour, por io que representa una soiución factibie. Sin embargc, ia solución obtenida está pcr scbre
la cota superior por 1c que puede ser desechada.

Cono en la rama de ia derecha (Subproblema 2). el r,alor de la función objetivo está por debajo de
la cota superior, debemos cornpletar la ramificación pues aún es factibie encontlar una solución que
sea igual o ma)-or a 652, pero por debajo.le Ia cota superior.

Como 1a secuencia obtenida en el Subproblema 2 es 1 - 3 - 4 - | ),2 - 5 - 2, con un


largo total: z -217 + 113+ 164 +79+79:652 (Cuadro 3.7) debernos escoger trno de los subtour e

TI 15E
@
52 N,I 1v1

Cuadro 3.10: N'Iatriz Inicial Subproblema 4

77
Primer Semestre 2004 Asignación ,

Cuadro 3.11: Segunda Iteración Subproblema 4

M p 106 !lp 16
36 M L42 tr
p
103
trM
67tr
M
M
103
152
tó.] M 229 69 M

Cuadro 3.12: Matriz final Subproblema 4

impedirlo, por e.]emplo e1 más más corto. Por lo tanto, debemos interrumpir el subtour 2 --- 5 * 2, es

decir generamos 1os subproblemas:

Subproblerna 5 Se'impone 2 *5, es decir, r25:0 A czs: fuI sobre el Subproblemo. 2.

SuLrproblema 6 Se i.mpone 5 742, es decir, fr52:0 A M sobre el Subprobl'ema 2.


"sr:
Siguiendo la metodología empieada anteriormente, reemplazamosla M respectira en cada proble-
ma en la matriz final del Subproblema 2 e iteramos en caso de ser necesarlo.

La solución del Subproblema 5 genera la secuencia: 1 -, 5'-- 2 -* 3 - 4 - l, con una distancia


total asociada de z :704. La solución constituye un tour. pero está por sobre Ia cota superior. por 1o
que puede ser descartada.

La sclución deI Subproblema 6 genera la secuencia: 1 - 3 * 1 y 2 - 5 - 4 * 2, con una dis-


tancia total asociada de z: 910. Como la solución obtenida contiene dos subtours) no representa una
solución óptima. Ademrís, no conviene seguir ranificando pues el valor de Ia función objetivo está mul'
por sobre 1a cota superior y al ramificar sóio se obtendrán valores iguaies o peores al de partida.

En suma, Ia mejor solución es }a obtenida a través del Subproblema 3, dada por la secuencia:
1-5*2-.1 -*3'--+lcorLunadistanciatotalasociadade:z:58+79+201 +ll3+217:668.
La Figura 3.3 muestra e1 árbol de ramificación completo.

1B
' Primer Semestre 2004 Asignaciórr

z:495
l --- 2 ---+ 5 ---+ 1
,A,
r)-A-ü

Subproblema 1- Subproblerna 2
z:652 z :652
I 4 ---+ 3 -¡
---+ 1 1---3--4-1
) ---+ g ---+ 2 2---5---2
5 /.2 2f5 5*2
Subproblema 4
z :"668 z :704
"l--r-5-=-*.2,.---+.4..¡ 3 ..+ 1 I'-4 ---+3---+2-5---l.

Subproblerna 6
Subproblema 5
:970
.7^A z
L- _ t\Ja qr^o
- /-.)-a-L
i--*5-2-3+.1--+1 1 ---+ 3 ---+ i

Figura 3.3: Árbol de Ramificación Finai

to

También podría gustarte