tema 1 introduccion · en el ambito empresarial. las empresas se dieron cuenta de que las...

63
Tema 1 Introducci´ on 1.1. Origen hist´ orico En muy pocas palabras, Investigaci´ on Operativa es la disciplina que aplica m´ eto- dos anal´ ıticos avanzados para ayudar en la toma de decisiones. Desde la ´ epoca de la Revoluci´ on Industrial, las organizaciones son cada vez m´ as complejas, con divisiones que tienen un alto grado de especializaci´ on. Precisamente, esto mismo hace que las diferentes secciones tengan distintos objetivos, opuestos en ocasiones, por lo que no deben trabajar independientemente unas de otras. Si a ello se le suma la complejidad de asignar todos los recursos disponibles a las distintas actividades, entonces se pone de manifiesto que es necesario alg´ un tipo de mecanismo para coordinar todos estos aspectos: las t´ ecnicas de Investigaci´ on Operativa . Los or´ ıgenes de la Investigaci´ on Operativa pueden remontarse a la ´ epoca de la Segunda Guerra Mundial. En la ´ epoca de ese conflicto, hab´ ıa una gran necesidad de asignar los escasos recursos a las varias operaciones militares y a las actividades den- tro de esas operaciones de un modo efectivo. Por esa raz´ on, los servicios militares de gesti´ on brit´ anicos y estadounidenses congregaron un elevado n´ umero de investigado- res para aplicar m´ etodos cient´ ıficos a estos y otros problemas t´acticos y estrat´ egicos. Es decir, se les pidi´ o que hicieran investigaci´ on en operaciones (militares). Fueron los primeros equipos de Investigaci´ on Operativa. Gracias al desarrollo de m´ etodos efectivos para usar la nueva herramienta de radar, estos equipos fueron fundamen- tales en la victoria de la Batalla del Aire de Breta˜ na. Mediante su investigaci´ on sobre c´ omo gestionar mejor las operaciones de convoyes y antisubmarinas, tambi´ en desempe˜ naron un papel importante en la victoria de la Batalla del Atl´ antico Norte.

Upload: hoangkhuong

Post on 27-Sep-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

Tema 1

Introduccion

1.1. Origen historico

En muy pocas palabras, Investigacion Operativa es la disciplina que aplica meto-dos analıticos avanzados para ayudar en la toma de decisiones.

Desde la epoca de la Revolucion Industrial, las organizaciones son cada vez mascomplejas, con divisiones que tienen un alto grado de especializacion. Precisamente,esto mismo hace que las diferentes secciones tengan distintos objetivos, opuestos enocasiones, por lo que no deben trabajar independientemente unas de otras. Si a ellose le suma la complejidad de asignar todos los recursos disponibles a las distintasactividades, entonces se pone de manifiesto que es necesario algun tipo de mecanismopara coordinar todos estos aspectos: las tecnicas de Investigacion Operativa .

Los orıgenes de la Investigacion Operativa pueden remontarse a la epoca de laSegunda Guerra Mundial. En la epoca de ese conflicto, habıa una gran necesidad deasignar los escasos recursos a las varias operaciones militares y a las actividades den-tro de esas operaciones de un modo efectivo. Por esa razon, los servicios militares degestion britanicos y estadounidenses congregaron un elevado numero de investigado-res para aplicar metodos cientıficos a estos y otros problemas tacticos y estrategicos.Es decir, se les pidio que hicieran investigacion en operaciones (militares). Fueronlos primeros equipos de Investigacion Operativa. Gracias al desarrollo de metodosefectivos para usar la nueva herramienta de radar, estos equipos fueron fundamen-tales en la victoria de la Batalla del Aire de Bretana. Mediante su investigacionsobre como gestionar mejor las operaciones de convoyes y antisubmarinas, tambiendesempenaron un papel importante en la victoria de la Batalla del Atlantico Norte.

Page 2: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

2 Investigacion Operativa

Una vez la guerra hubo finalizado, el exito de la Investigacion Operativa en lacampana belica derivo en interesantes aplicaciones fuera de lo militar, especialmenteen el ambito empresarial. Las empresas se dieron cuenta de que las tecnicas deInvestigacion Operativa podıan enfocarse a gestionar sus recursos de un modo muchomas eficiente (mayores beneficios).

Dos acontecimientos fueron fundamentales para que este exito fueron tan rotundo:el desarrollo del algoritmo del sımplex por George B. Dantzig en 1947 y la revolu-cion de los ordenadores, herramienta fundamental en el campo de la InvestigacionOperativa.

1.2. Aplicaciones

La Investigacion Operativa es interdisciplinar, con importantes componentes ma-tematicas y economicas, y su proposito es eminentemente practico: dar solucion y/omejorar soluciones ya existentes a diferentes tipos de problemas. Valgan los siguientesejemplos como una pequena muestra de todo su potencial:

Continental Airlines : optimizacion de la reasignacion de tripulaciones a vueloscuando hay modificaciones en los horarios.

Samsung Electronics : desarrollo de metodos para reducir los tiempos de ma-nufactura y los niveles de inventario.

IBM : reestructuracion de su cadena de aprovisionamiento global para respon-der mas rapidamente a los clientes al tiempo que se mantiene el inventario enun nivel mınimo.

Departamento de Policıa de San Francisco: fijar horarios y desplegar patrullasde manera optima.

Cuenca Hidrografica de Estados Unidos : decidir que diques destruir y cualesconstruir para facilitar el remonte de los rıos del salmon al tiempo que segarantiza la produccion un nivel requerido de energıa hidroelectrica.

Por ello, la Investigacion Operativa tiene numerosas salidas profesionales. Nosolo la empresa privada o publica estandar, sino otras tales como disenar rutas decruceros, analizar operaciones para la OTAN, predecir la afluencia de publico enEurodisney o disenar las estrategias de carrera de un equipo de Formula 1.

Page 3: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

Tema 1. Introduccion 3

1.3. ¿Quieres saber mas?

1. Una historia breve e informal del nacimiento de la Investigacion Operativa sepuede encontrar en la pagina del profesor J.E. Beasley:http://people.brunel.ac.uk/~mastjjb/jeb/or/intro.html.

2. Una pagina de divulgacion sobre Investigacion Operativa:http://www.scienceofbetter.org.

3. Analisis sobre la relacion historica entre Investigacion Operativa y el Ejercitode los Estados Unidos:Army Operations Research-Historical Perspectives and Lessons Learned, S. Bon-der, Operations Research 50 (1), paginas 25-34 (2002).

4. Un ejemplo de que la Investigacion Operativa sigue empleandose en el terrenomilitar:Optimizing Military Airlift, S.F. Baker, D.P. Morton, R.E. Rosenthal y L.M.Williams, Operations Research 50 (4), paginas 582-602 (2002).

5. Tambien tiene un gran auge en el ambito sanitario:A New Linear Programming Approach to Radiation Therapy Treatment Plan-ning Problems, H.E. Romeijn, R.K. Ahuja, J.F. Dempsey y A. Kumar Opera-tions Research 54 (2), paginas 201-216 (2006).

6. ¿Es posible emplear la Investigacion Operativa en la lucha contra el crimen?Crime Modeling, A. Blumstein, Operations Research 50 (1), paginas 16-24(2002).

7. Aplicacion de la Investigacion Operativa a materias de seguridad aerea:http://www.lionhrtpub.com/orms/orms-10-05/frsafer.html.

8. ¿En que puede ayudar la Investigacion Operativa a un empresario?http://www.lionhrtpub.com/orms/orms-6-00/robinson.html.

9. Mediante un buen analisis, es posible establecer un calendario deportivo de laNFL (la liga de rugby estadounidense) que minimice el coste de los desplaza-mientos de los equipos:Optimal realignments of the teams in the National Football League, R.M. Saltz-man y R.M. Bradford, European Journal of Operational Research 93, paginas469-475 (1996).

10. ¿Y por que no aplicar la Investigacion Operativa a un famosısimo concurso?Dynamic Programming Analysis of the TV Game “Who wants to be a mi-llionaire?”, F. Perea y J. Puerto, European Journal of Operational Research183 (2), paginas 805-811 (2007).

Page 4: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula
Page 5: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

Tema 2

Programacion Lineal

La Programacion Lineal (en concreto, el metodo del sımplex ) se ha catalogadocomo uno los avances cientıficos mas importantes del siglo XX. Desde que dichoalgoritmo fuera introducido por George B. Dantzig a mediados del pasado siglo,ha propiciado un salto cualitativo en el mundo de la Investigacion Operativa, puesmuchas de las tecnicas de esta disciplina cientıfica confıan (en mayor o menor medida)en metodos de Programacion Lineal.

2.1. Formulacion un Problema Lineal

A traves de la descripcion de un problema, nuestros objetivos seran:

1. Identificar los elementos (variables, costes, etc.) que intervienen en el problema.

2. Encontrar una formulacion adecuada para dicho modelo.

3. Resolver el modelo, es decir, hallar el valor optimo del problema y una solucionasociada a dicho valor (aunque en ocasiones esto ultimo puede ser irrelevante).

Un problema de programacion lineal (problema lineal, PL) es un problema en elque se pretende optimizar una funcion (funcion objetivo), lineal en el conjunto devariables que intervienen (variables de decision), cumpliendo unos ciertos requeri-mientos (restricciones) tambien lineales.

Page 6: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

6 Investigacion Operativa

Ejemplo 1Esto es un ejemplo de problema o modelo lineal:

Maximizar 3x1 + 4x2 + x3

sujeto a x1 + x2 + x3 = 7,2x1 + 5x2 + 3x3 ≤ 16,

x1, x2, x3 ≥ 0.

Cualquier vector numerico (x1, x2, x3) es una solucion del problema.

Un solucion factible satisface todas las restricciones del modelo. En caso contrario,se trata de una solucion infactible.

El conjunto de todas las soluciones factibles se denomina region factible. Si laregion factible es vacıa, se dice que el problema es infactible; en caso contrario (esdecir, existe al menos una solucion), se trata de un problema factible.

Una solucion factible que optimice la funcion objetivo es una solucion optima. Elvalor de la funcion objetivo en la solucion optima es el valor optimo del problema.

Ejemplo 2Continuando con el ejemplo anterior:

(5, 0, 2) es una solucion factible con valor objetivo 17.

(4, 2, 1) es una solucion infactible.(

193, 23, 0)

es una solucion optima con valor objetivo 653.

A continuacion se ilustra mediante varios ejemplos como formular problemaslineales.

Ejemplo 3 (El problema de la dieta)Un veterinario aconseja a un granjero dedicado a la crıa de pollos una dieta mınimapara la alimentacion de las aves consistente en 3 unidades de hierro y 4 unidades devitaminas. El granjero tiene la posibilidad de mezclar tres alimentos distintos: maız,harina de pescado y pienso sintetico. Cada kilo de maız proporciona 2.5 unidadesde hierro y 1 unidad de vitaminas, cada kilo de harina de pescado da 3 unidades dehierro y 3 unidades de vitaminas y cada kilo de pienso sintetico 1 unidad de hierroy 2 unidades de vitaminas.

El granjero se pregunta por la composicion de la dieta que, satisfaciendo lasnecesidades alimenticias, minimice el coste total. Los precios por kilo de maız, harinay pienso son, respectivamente, 0.3, 0.5 y 0.2 euros.

Page 7: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

Tema 2. Programacion Lineal 7

Solucion:

Antes de formular propiamente el problema, podemos aglutinar los datos delproblema en la siguiente tabla:

Hierro (u/kg) Vitaminas (u/kg) Coste (e/kg)Maız 2.5 1 0.3Harina 3 3 0.5Pienso 1 2 0.2

Ahora, comenzamos por identificar las variables de decision:

x1 = “kilos de maız”,x2 = “kilos de harina”,x3 = “kilos de pienso”.

Para que se cumplan las necesidades de hierro, debe satisfacerse que

2.5x1 + 3x2 + x3 ≥ 3.

Para alcanzar los requerimientos de vitaminas se ha de imponer que

x1 + 3x2 + 2x3 ≥ 4.

La funcion a minimizar es

0.3x1 + 0.5x2 + 0.2x3.

Ademas, esta claro que las variables x1, x2 y x3 deben ser todas positivas:

x1, x2, x3 ≥ 0.

Si ahora reunimos toda la informacion, obtenemos el modelo pedido:

Min. 0.3x1 + 0.5x2 + 0.2x3

s.a 2.5x1 + 3x2 + x3 ≥ 3,x1 + 3x2 + 2x3 ≥ 4,

x1, x2, x3 ≥ 0.

Ejemplo 4 (Planificacion de la produccion)Una empresa de compuestos quımicos puede elaborar dos productos, A y B, a par-tir de la combinacion de tres tipos de elementos: hierro, plomo y estano. Dada lasiguiente tabla de requerimientos y beneficios, formula el modelo que maximiza elbeneficio de la produccion.

Page 8: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

8 Investigacion Operativa

Unidades de recurso necesarias UnidadesRecursos por kilo de producto fabricado de recurso

Producto A Producto B disponiblesHierro 7 4 56Plomo 3 5 45Estano 4 3 48

Beneficio unitario 10 8

Solucion:

En este modelo, solo son necesarias dos variables de decision:

x1 = “kilos de producto A”,x2 = “kilos de producto B”.

La funcion a maximizar es:10x1 + 8x2.

Para no agotar los recursos de hierro, debe satisfacerse:

7x1 + 4x2 ≤ 56.

Como no se puede exceder la cantidad de plomo disponible:

3x1 + 5x2 ≤ 45.

Tampoco es posible gastar mas del estano que se tiene:

4x1 + 3x2 ≤ 48.

Solo es posible fabricar una cantidad positiva de kilos de producto:

x1, x2 ≥ 0.

En consecuencia, el modelo lineal buscado es el siguiente:

Max. 10x1 + 8x2

s.a 7x1 + 4x2 ≤ 56,3x1 + 5x2 ≤ 45,4x1 + 3x2 ≤ 58,x1, x2 ≥ 0.

Page 9: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

Tema 2. Programacion Lineal 9

2.2. Resolucion grafica de problemas lineales

Si el problema lineal tiene unicamente dos variables, entonces puede resolverserepresentando graficamente la region factible y estudiando la funcion objetivo.

Para ello, consideramos un grafico en el plano R2 que toma las dos variables x1

y x2 como ejes.

A continuacion, se va delimitando la region factible P dibujando las restriccionesdel problema: una igualdad (x1 + x2 = 3) representa una recta, mientras que unadesigualdad (x1+x2 ≤ 3) da lugar a un semiplano cerrado. Observemos que si, comoes bastante habitual, se tiene la restriccion de positividad x1, x2 ≥ 0, entonces laregion factible estara contenida en el cuadrante superior derecho del plano.

Por construccion, P es un polıgono convexo cerrado que se ha obtenido como lainterseccion de un numero finito de semiespacios cerrados, es decir, un poliedro. Sidicho poliedro esta acotado, se denomina politopo.

Definicion 5Un conjunto A es convexo si cualquier segmento que une dos puntos de A esta total-mente contenido en dicho conjunto. Matematicamente, cualquier combinacion linealde dos puntos de A pertenece a A:

λa1 + (1− λ) a2 ∈ P ∀a1, a2 ∈ P, ∀λ ∈ [0, 1].

Una vez dibujada la region factible, consideramos la funcion objetivo c1x1+ c2x2.Para cada recta de nivel z = c1x1+ c2x2 obtenemos una recta de nivel, paralela a lasrestantes. Aquella que interseque con la region factible y presente un mayo valor z∗

sera solucion optima.

Ejemplo 6Resuelve graficamente el siguiente problema:

Max. 5x1 + 3x2

s.a x1 + x2 ≤ 7,3x1 + 4x2 ≤ 24,

x2 ≤ 5,−6x1 + x2 ≤ 1,

x1, x2 ≥ 0.

Solucion:

Para resolver el problema, debemos comenzar por delimitar la region factible.

Para ello, vamos dibujando las desigualdades una a una. Como cada recta esta-blece un semiplano, ira eliminando soluciones. Una vez dibujadas todas las rectas, lainterseccion de los semiespacios es la region factible de nuestro problema.

Page 10: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

10 Investigacion Operativa

Comenzamos con las dos restricciones de positividad: x1, x2 ≥ 0. De este modo,ya tenemos restringido el espacio de soluciones al cuadrante superior derecho.

1

2

3

4

5

6

7

1 2 3 4 5 6 7 8

x2 ≥ 0

A continuacion consideramos la recta x1 + x2 ≤ 7. Para saber que lado es elbueno, tomamos un punto cualquiera; el origen de coordenadas (0, 0) suele ser muycomo para los calculos. Si dicho punto satisface la desigualdad, entonces ese lado esfactible para la recta.

1

2

3

4

5

6

7

1 2 3 4 5 6 7 8

x1 + x2 ≤ 7

(7, 0)

(0, 7)

Al dibujar la siguiente recta, 3x1 + 4x2 ≤ 24, vemos ya como una region que erafactible queda cortada:

Page 11: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

Tema 2. Programacion Lineal 11

1

2

3

4

5

6

7

1 2 3 4 5 6 7 8

3x1 + 4x2 ≤ 24

(0, 6)

(4, 3)

Realizamos el mismo procedimiento para x2 ≤ 5:

1

2

3

4

5

6

7

1 2 3 4 5 6 7 8

x2 ≤ 5

(0, 5)

(

4

3, 5)

Y para −6x1 + x2 ≤ 1:

1

2

3

4

5

6

7

1 2 3 4 5 6 7 8

−6x1 + x2 ≤ 1

(

2

3, 5)

(0, 1)

Page 12: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

12 Investigacion Operativa

De modo que la region factible es la que vemos:

1

2

3

4

5

6

7

1 2 3 4 5 6 7 8

Una vez establecido cual es el poliedro, dibujamos diferentes rectas de nivel. Eneste caso, como estamos maximizando, vemos que debemos desplazarnos hacia ellado derecho del eje OX1. En concreto, vemos que la recta de nivel de valor maximoque interseca con el poliedro es la que tiene valor 35.

En consecuencia, este problema tiene valor optimo z∗ = 35 y se alcanza en elpunto optimo (x∗

1, x∗2) = (7, 0).

1

2

3

4

5

6

7

1 2 3 4 5 6 7 8

5x1+3x2=

20

5x1+3x2=

50

5x1+3x2=

35

5x1+3x2=

10

Ejemplo 7Si en el ejemplo anterior el objetivo fuese maximizar la funcion −x1 + 2x2, la re-gion factible no variarıa (no se modifican las restricciones), pero al dibujar la rectaverıamos que la solucion optimo es distinta:

Page 13: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

Tema 2. Programacion Lineal 13

1

2

3

4

5

6

7

1 2 3 4 5 6 7 8

−x1+

2x2=

28

3

z∗ = 28

3

Tenemos que z∗ = 283y (x∗

1, x∗2) =

(

23, 5)

. �

Ejemplo 8Resuelve graficamente el siguiente problema:

Min. −x1 − x2

s.a 2x1 + x2 ≤ 6,x1 + 2x2 ≤ 7,−x1 + 2x2 ≤ 6,

x1, x2 ≥ 0.

Solucion:

1

2

3

4

5

1 2 3 4

−x1 −

x2=−

13

3

z∗ = −13

3

(x∗

1, x∗

2) =

(

5

3, 8

3

)

La solucion optima es(

53, 83

)

y tiene valor optimo z∗ = −133. �

Los tres ejemplos anteriores comparten una caracterıstica: la solucion optimase alcanza en un vertice del poliedro. Esto no es una casualidad, sino que es unapropiedad que establece el siguiente resultado:

Page 14: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

14 Investigacion Operativa

Teorema 9 (Teorema fundamental de la Programacion Lineal)Si un problema de Programacion Lineal tiene solucion optima, entonces existe unvertice que es optimo para dicho problema.

Este resultado nos viene a decir que no es necesario buscar en todo el poliedro;bastan con hacerlo sobre el conjunto de vertices. Esto es algo realmente importante,pues el segundo conjunto es muchısimo mas reducido que el primero.

2.3. Conceptos previos

Acabamos de aprender a resolver graficamente problemas con dos variables. Sinembargo, es obvio que no es suficiente para los problemas que pretendemos abordar:modelos con n variables y m restricciones. Establezcamos diversos conceptos.

2.3.1. Formulacion estandar

Definicion 10Nuestra formulacion estandar para un problema lineal de minimizacion es la siguien-te:

Min.n∑

j=1

cjxj

s.a

n∑

j=1

aijxj = bi, i = 1, . . . , m,

xj ≥ 0, j = 1, . . . , n.

O sea:

1. Las restricciones son de igualdad.

2. El problema es de minimizacion.

3. Las variables de decision son positivas.

Como los problemas no suelen venir dados en esta formulacion estandar, es posibleque sea necesario realizar varias de las siguientes modificaciones:

Page 15: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

Tema 2. Programacion Lineal 15

1. Si la restriccion es una desigualdad, se anade una variable de holgura:

n∑

j=1

αjxj ≤ b ⇒

n∑

j=1

αjxj + xn+1 = b,

xn+1 ≥ 0.

n∑

j=1

αjxj ≥ b ⇒

n∑

j=1

αjxj − xn+1 = b,

xn+1 ≥ 0.

2. Si una variable no tiene restriccion de positividad, se efectua un cambio devariable:

xj ≤ 0 ⇒

{

xj = −x′j (no se anade al modelo, sino que se sustituye),

x′j ≥ 0.

xj libre ⇒

{

xj = x′j − x′′

j (no se anade al modelo, sino que se sustituye),x′j , x

′′j ≥ 0.

3. Si el problema es de maximizacion, se minimiza la funcion objetivo cambiadade signo:

max {f(x)}x∈S = −mın {−f(x)}x∈S .

Ejemplo 11Formula el siguiente problema en forma estandar:

Max. −2x1 + 4x3

s.a 3x1 −x2 ≤ 10,2x2 +x3 ≥ 2,

x1, x2 ≥ 0.

Solucion:

Comenzamos anadiendo variables de holgura:

3x1 − x2 + x4 = 10,2x2 + x3 − x5 = 2,

x4, x5 ≥ 0.

Ahora modificamos la funcion objetivo:

−Min. 2x1 − 4x3.

Finalmente, puesto que x3 no esta restringida a ser positiva, anadimos x′3 y x′′

3

de modo que x3 = x′3 − x′′

3, con x′3, x

′′3 ≥ 0. Esto implica que la segunda restriccion

(interviene x3) cambia:2x2 + x′

3 − x′′3 − x5 = 2.

Page 16: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

16 Investigacion Operativa

Por la misma razon, la funcion objetivo queda 2x1 − 4x′3 + 4x′′

3.

Ası pues, la formulacion estandar del problema es

-Min. 2x1 − 4x′3 + 4x′′

3

s.a 3x1 −x2 +x4 = 10,2x2 +x′

3 −x′′3 −x5 = 2,

x1, x2, x′3, x

′′3, x4, x5 ≥ 0.

A partir de ahora, nos sera de utilidad la siguiente notacion matricial:

Min. ctx,s.a Ax = b,

x ≥ 0,

siendo A una matriz con m filas y n columnas.

Sin perdida de generalidad, supondremos m < n y rango(A) = m. Esto ultimosignifica que las filas de A son linealmente independientes.

2.3.2. Solucion basica factible

Como la matriz A tiene rango m, es posible hallar m columnas linealmente inde-pendientes. Podemos asumir que son las m primeras: a·1, a·2, . . . , a·m.

Definicion 12Una base de la matriz A es una submatriz cuadrada de orden m con determinanteno nulo. Equivalentemente, una familia de m columnas linealmente independientes.

Por lo tanto, B = {a·1, a·2, . . . , a·m} es una base de A.

La solucion basica x asociada a esta base B se obtiene resolviendo el sistema

a11 + · · ·+ a1mxm = b1,...

...am1x1 + · · ·+ ammxm = bm.

para obtener de este modo xB = (x1, x2, . . . , xm) y, fijando a cero las restantesvariables, xN = (xm+1, . . . , xn) = (0, . . . , 0).

Ası pues, podemos escribir la solucion como

x =

(

xB

xN

)

=

(

B−1b0

)

,

donde xB son las coordenadas basicas y xN son las coordenadas no basicas.

Page 17: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

Tema 2. Programacion Lineal 17

Definicion 13Se dice que x es una solucion basica factible si b = B−1b ≥ 0.

Es posible ver que toda solucion basica factible es vertice del poliedro asociadoy viceversa.

Ejemplo 14Determina los vertices del poliedro definido por las restricciones

x1 + x2 + x3 = 5,2x1 − 3x2 + x3 = 6,

x1, x2, x3 ≥ 0.

Solucion:

Tenemos m = 2, n = 3, A =

(

1 1 12 −3 1

)

y b =

(

56

)

Para hallar los vertices, como rg(A) = 2, vamos a ir considerando todos losposibles subconjuntos de dos columnas. Ademas, vemos que cada par de las mismasson un conjunto linealmente independiente.

Consideramos las dos primeras. Fijamos x3 = 0 y resolvemos{

x1 + x2 = 5,2x1 − 3x2 = 6,

para obtener (x1, x2) =(

215, 45

)

. Como todas las coordenadas son positivas, entonces(x1, x2, x3) =

(

215, 45, 0)

es un vertice.

Ahora consideramos las dos ultimas columnas. Fijamos x1 = 0 y resolvemos{

x2 + x3 = 5,−3x2 + x3 = 6.

Obtenemos (x2, x3) =(

−14, 21

4

)

. Como hay una coordenada negativa, esta solucionbasica no se corresponde con un vertice y se descarta.

Finalmente, consideramos la base formada por las columnas primera y tercera.Fijamos x2 = 0 y resolvemos

{

x1 + x3 = 5,2x1 + x3 = 6,

para obtener (x1, x3) = (1, 4). Ası que (x1, x2, x3) = (1, 0, 4) es otro vertice delpoliedro. �

Ejemplo 15Resuelve el problema

Min. 2x1 − x2 − x3

s.a x1 +x2 +x3 = 5,2x1 −3x2 +x3 = 6,

x1, x2, x3 ≥ 0.

Page 18: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

18 Investigacion Operativa

Solucion:

Hemos visto que este poliedro tiene unicamente dos vertices:(

215, 45, 0)

y (1, 0, 4).Basta evaluar la funcion objetivo en estos puntos y quedarnos con aquel que tengamenor valor.

Vemos que los valores son 385

y −2, respectivamente. Luego x∗ = (1, 0, 4) es lasolucion optima con valor optimo z∗ = −2. �

Con lo que hemos visto hasta este momento, ya somos capaces de resolver proble-mas lineales de optimizacion: hay que obtener todos los vertices (soluciones basicasfactibles) y evaluar la funcion objetivo en cada uno de ellos. El optimo sera aquelque de el mejor valor.

Desafortunadamente, este metodo enumerativa es muy poco eficiente, pues el

numero de vertices puede llegar a ser muy elevado: hasta

(

mn

)

. Es necesario buscar

un algoritmo mejor.

2.4. El metodo del sımplex

El denominado metodo del sımplex fue ideado por George B. Dantzig a finalesdel verano de 1947, despues de que la Fuerza Aerea de Estados Unidos iniciara untrabajo intensivo a traves del equipo SCOOP (Scientific Computation of OptimusPrograms).

La primera aplicacion destacable se debe a J. Laderman que, unos meses despues,resolvio en la National Bureau of Standards un problema lineal de planificacion deuna dieta con nueve restricciones de igualdad y veintisiete variables. Usando calcu-ladoras de escritorio, fueron necesarios 120 dıas-hombre para resolver el problema;las hojas de datos unidas entre sı semejaban un “mantel”.

El metodo del sımplex es un algoritmo algebraico que recorre los vertices delpoliedro factible, pasando de un vertice a otro adyacente en cada iteracion y dete-niendose cuando halla un vertice optimo. Precisamente en este ultimo hecho radicasu potencia: establece la optimalidad de un vertice mediante condiciones locales, sinrecurrir a la enumeracion de todos los vertices.

2.4.1. Criterio de optimalidad

A partir de la matriz A, hemos obtenido una base B seleccionando m columnas.Representamos mediante N las otras n−m columnas. Ası, tenemos que A = (B,N).

Page 19: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

Tema 2. Programacion Lineal 19

Sabemos que un punto x es factible si

{

BxB +NxN = b,xB, xN ≥ 0.

Sea b = B−1b. Para cualquier punto factible x se tiene que

ctx = ctBxB + ctNxN = ctB(

B−1b− B−1NxN

)

+ ctNxN = ctB b−(

ctBB−1N − ctN

)

xN .

Sea z0 = ctB b (este valor no depende de x) y sea zj = ctBB−1a·j ∀j. Se tiene que

ctx = z0 −∑

j∈N

(zj − cj) xj .

Definicion 16El valor zj − cj es el coste reducido de la variable j.

Si consideramos el vertice x = (xB, xN) = (B−1b, 0), vemos que z0 = ctx.

Si fuese zj − cj ≤ 0 ∀j ∈ N , entonces

ctx = z0 −∑

j∈N

(zj − cj) xj ≥ z0 = ctx.

Luego el vertice x seria mınimo global (solucion optima). En consecuencia, po-demos establecer el siguiente resultado:

Teorema 17 (Test de optimalidad para minimizacion)Dada una base B, el vertice x = (B−1b, 0) es solucion optima si zj − cj ≤ 0 ∀j ∈ N ,con zj = ctBB

−1a·j.

Es inmediato comprobar que el criterio de optimalidad para maximizar es quelos costes reducidos zj − cj sean todos positivos.

Teorema 18 (Test de optimalidad para maximizacion)Dada una base B, el vertice x = (B−1b, 0) es solucion optima si zj − cj ≥ 0 ∀j ∈ N ,con zj = ctBB

−1a·j.

2.4.2. Cambio de vertice

Si el vertice en el que estamos no es optimo, debemos seguir buscando en otrosvertices.

Page 20: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

20 Investigacion Operativa

Supongamos que existe un ındice k ∈ N tal que zk − ck > 0, es decir, para el quefalla el test de optimalidad.

Sea y·k = B−1a·k. Se pueden presentar dos situaciones.

Caso 1: y·k ≤ 0.

En este caso, d =

(

−y·kek

)

es una direccion de ilimitacion, es decir, un vector

que nos indica una direccion que disminuye la funcion objetivo tanto como queramos.El problema no esta acotado.

Sea x = x+ αd, α ≥ 0. Se cumple que

ctx = ctx+ αctd = z0 + α(

−ctBy·k + ctNek)

= z0 + α(

−ctBB−1a·k + ck

)

=

= z0 + α (−zk + ck) = z0 − α (zk − ck) −−−−→α→+∞

−∞.

Caso 2: y·k � 0.

Sea x = x+ α

(

−y·kek

)

, con α ≥ 0.

Veamos para que valores de α el punto x permanece en el poliedro.

Comenzamos viendo que se satisface la igualdad Ax = b.

Ax = Ax+ αA

(

−y·kek

)

= b+ α (−By·k +Nek) = b+ α(

−BB−1a·k + a·k)

= b.

Resta ver si se cumple x ≥ 0. Para la parte asociada a N es inmediato. Exami-nemos las componentes asociadas a B:

xB ≥ 0 ↔ xB − αy·k ≥ 0 ↔ bi − αyik ≥ 0 ∀i ∈ B ↔

↔ bi − αyik ≥ 0 ∀i ∈ B / yik > 0 ↔ α ≤biyik

∀i ∈ B / yik > 0.

Luego, seleccionamos α como sigue:

α = mın

{

biyik

/ i ∈ B, yik > 0

}

=bryrk

.

Al seleccionar α de este modo, el punto x = x+α

(

−y·kek

)

presenta las siguientes

coordenadas:

Page 21: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

Tema 2. Programacion Lineal 21

i ∈ B, i 6= r → xi = bi − αyik,

i = r → xr = 0,

i ∈ N, i 6= k → xi = 0,

i = k → xi = α.

En consecuencia, B′ = {B\a·r} ∪ {a·k} es una nueva base y x otro vertice delpoliedro.

Ademas, el valor objetivo no empeora:

ctx = ct(

x+ α

(

−y·kek

))

= ctx+ αct(

−y·kek

)

= z0 + α (−zk + ck) =

= z0 − α (zk − ck) = z0 −bryrk

(zk − ck) ≤ z0 = ctx.

Si br > 0, entonces ctx < ctx; el valor objetivo mejora.

2.4.3. Algoritmo del sımplex

Para resolver un problema lineal de minimizacion, el algoritmo del sımplex seinicia determinando una matriz basica factible B. Despues, se itera como sigue:

1. Se resuelve el sistema BxB = b para obtener el vertice x. Sean

xB = B−1b, xN = 0, b = B−1b, z0 = cB b.

2. Se calcula zj − cj = ctBB−1a·j − cj ∀j /∈ B.

Sea zk − ck = max {zj − cj}j /∈B .

Si zk − ck ≤ 0, se finaliza el algoritmo: x es solucion optima y el valor optimoes z∗ = z0.

3. Se calcula y·k = B−1a·k.

Si y·k ≤ 0, entonces d =

(

−y·kek

)

es una direccion de ilimitacion. Se finaliza

el algoritmo y la solucion es ilimitada a lo largo de d.

4. Se calcula α = mın{

biyik

/ i ∈ B, yik > 0}

= bryrk

.

Se toma la matriz basica B′ = {B\a·r} ∪ {a·k}.

Se va al primer paso usando esta base en la nueva iteracion.

Page 22: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

22 Investigacion Operativa

Nota: Para problemas de maximizacion, la unica variante se da en el paso 2, quequedarıa ası:

2. Se calcula zj − cj = ctBB−1a·j − cj ∀ /∈ B.

Sea zk − ck = mın {zj − cj}j /∈B .

Si zk − ck ≥ 0, se finaliza el algoritmo: x es solucion optima y el valor optimoes z∗ = z0.

2.4.4. La tabla del sımplex

La forma general de la tabla del sımplex es la siguiente:

B cB b

{xi}i {ci}i {y·j}j , Im{

bi}

i

zj − cj {zj − cj}j z0

Es muy importante observar que, puesto que exigimos B−1b ≥ 0 y

estamos tomando como B la matriz identidad, entonces, en nuestra

formulacion estandar, debera ser b ≥ 0.

Ejemplo 19Resuelve el siguiente problema:

Max. 5x1 + 3x2

s.a x1 + x2 ≤ 7,3x1 + 4x2 ≤ 24,

x2 ≤ 5,−6x1 + x2 ≤ 1,

x1, x2 ≥ 0.

Solucion:

Formulamos el problema en formato estandar:

max. 5x1 + 3x2

s.a x1 +x2 +x3 = 7,3x1 +4x2 +x4 = 24,

x2 +x5 = 5,−6x1 +x2 +x6 = 1,

x1, x2, x3, x4, x5, x6 ≥ 0.

Vemos que las cuatro ultimas columnas forman la matriz identidad. Esa sera nues-tra base inicial.

Page 23: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

Tema 2. Programacion Lineal 23

⋄ Iteracion 1:

La tabla inicial es:

x3 0 1 1 1 0 0 0 7x4 0 3 4 0 1 0 0 24x5 0 0 1 0 0 1 0 5x6 0 -6 1 0 0 0 1 1zj − cj -5 -3 0 0 0 0 0

Observamos que hay costes reducidos negativos, por lo que la solucion actual noes optima.

Como mın{−5,−3} = −5, la variable x1 entra en la base.

Para ver que variable sale, analizamos la columna y·1, pero solo intervienen loselementos positivos:

mın

{

7

1,24

3

}

= 7.

En consecuencia, la variable x3 sale de la base.

Para obtener la nueva base (nueva tabla), pivotamos sobre el elemento comun ala fila de x3 y a la columna de x4: el elemento y34.

x3 0 1 1 1 0 0 0 7 →

x4 0 3 4 0 1 0 0 24x5 0 0 1 0 0 1 0 5x6 0 -6 1 0 0 0 1 1zj − cj -5 -3 0 0 0 0 0

Mediante operaciones elementales de matrices, hay que lograr que dicho elementosea un uno y los demas de la columna pasen a ser ceros.

⋄ Iteracion 2:

x1 5 1 1 1 0 0 0 7x4 0 0 1 -3 1 0 0 3x5 0 0 1 0 0 1 0 5x6 0 0 7 6 0 0 1 43zj − cj 0 2 5 0 0 0 35

Todos los costes reducidos son positivos. Luego (x∗1, x

∗2) = (7, 0) es solucion optima

con valor optimo z∗ = 35. �

Page 24: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

24 Investigacion Operativa

Ejemplo 20Resuelve el siguiente problema:

Max. −x1 + 2x2

s.a x1 + x2 ≤ 7,3x1 + 4x2 ≤ 24,

x2 ≤ 5,−6x1 + x2 ≤ 1,

x1, x2 ≥ 0.

Solucion:

El poliedro es el mismo que en el problema anterior. Solo cambia la funcionobjetivo. Por lo tanto, la formulacion estandar tambien es la misma (con esa salvedad)ası como la primera tabla del sımplex (con la excepcion de la fila de costes reducidos).

⋄ Iteracion 1:

x3 0 1 1 1 0 0 0 7x4 0 3 4 0 1 0 0 24x5 0 0 1 0 0 1 0 5x6 0 -6 1 0 0 0 1 1zj − cj 1 -2 0 0 0 0 0

Como hay un unico coste reducido negativo, la variable x2 es la que sale de labase.

Veamos cual entra:

mın

{

7

1,24

4,5

1,1

1

}

= mın{7, 6, 5, 1} = 1.

Sale x6. Luego pivotamos sobre el elemento y62.

x3 0 1 1 1 0 0 0 7x4 0 3 4 0 1 0 0 24x5 0 0 1 0 0 1 0 5x6 0 -6 1 0 0 0 1 1 →

zj − cj 1 -2 0 0 0 0 0↑

⋄ Iteracion 2:

x3 0 7 0 1 0 0 -1 6x4 0 27 0 0 1 0 0 20x5 0 6 0 0 0 1 -1 4x6 2 -6 1 0 0 0 1 1zj − cj -11 0 0 0 0 2 2

Page 25: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

Tema 2. Programacion Lineal 25

Solo hay un coste reducido negativo: entra x1. Resta ver quien sale.

mın

{

6

7,20

27,4

6

}

=4

6.

Sale x5, por lo que pivotamos sobre y51.

x3 0 7 0 1 0 0 -1 6x4 0 27 0 0 1 0 0 20x5 0 6 0 0 0 1 -1 4 →

x6 2 -6 1 0 0 0 1 1zj − cj -11 0 0 0 0 2 2

⋄ Iteracion 3:

x3 0 0 0 1 0 -76

1

6

4

3

x4 0 0 0 0 1 -276

27

62

x1 -1 1 0 0 0 1

6-16

2

3

x2 2 0 1 0 0 1 0 5

zj − cj 0 0 0 0 11

6

1

6

28

3

Como los costes reducidos son todos positivos, estamos en un punto optimo:

(x∗1, x

∗2) =

(

2

3, 5

)

y z∗ =28

3.

Ejemplo 21Resuelve el siguiente problema:

Min. −x1 − x2

s.a 2x1 + x2 ≤ 6,x1 + 2x2 ≤ 7,−x1 + 2x2 ≤ 6,

x1, x2 ≥ 0.

Solucion:

Para empezar, anadimos variables de holgura para obtener la formulacion estandar:

Min. −x1 − x2

s.a 2x1 +x2 +x3 = 6,x1 +2x2 +x4 = 7,

−x1 +2x2 +x5 = 6,x1, x2, x3, x4, x5 ≥ 0.

Page 26: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

26 Investigacion Operativa

⋄ Iteracion 1:

x3 0 2 1 1 0 0 6x4 0 1 2 0 1 0 7x5 0 -1 2 0 0 1 6zj − cj 1 1 0 0 0 0

Tenemos dos costes reducidos positivos e iguales. Tomamos el primero de ellos:la variable x1 entra en la base.

Para decidir que variable sale:

mın

{

6

2,7

1

}

= 3.

Sale x3.

x3 0 2 1 1 0 0 6 →

x4 0 1 2 0 1 0 7x5 0 -1 2 0 0 1 6zj − cj 1 1 0 0 0 0

⋄ Iteracion 2:

x1 -1 1 1

2

1

20 0 3

x4 0 0 3

2-12

1 0 4

x5 0 0 5

2

1

20 1 9

zj − cj 0 1

2-12

0 0 -3

Solo hay un coste reducido positivo: entra x2 en la base.

Para decidir que variable sale:

mın

{

3

1/2,

4

3/2,

9

5/2

}

= mın

{

6,8

3,18

5

}

=8

3.

Sale x4.

Page 27: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

Tema 2. Programacion Lineal 27

x1 -1 1 1

2

1

20 0 3

x4 0 0 3

2-12

1 0 4 →

x5 0 0 5

2

1

20 1 9

zj − cj 0 1

2-12

0 0 -3

⋄ Iteracion 3:

x1 -1 1 0 2

3-13

0 5

3

x2 -1 0 1 -13

2

30 8

3

x5 0 0 0 4

3-53

1 7

3

zj − cj 0 0 -13

-13

0 -133

Todos los costes reducidos son negativos: estamos en un mınimo global. La solu-cion (x∗

1, x∗2) =

(

53, 83

)

es optimo y tiene valor z∗ = −133. �

Ejemplo 22Resuelve el siguiente problema:

Max. x1 + x2

s.a x1 −x2 ≤ 5,2x1 −3x2 ≤ 7,

x1, x2 ≥ 0.

Solucion:

⋄ Iteracion 1:

x3 0 1 -1 1 0 5x4 0 2 -3 0 1 7 →

zj − cj -1 -1 0 0 0↑

⋄ Iteracion 2:

x3 0 0 1

21 -1

2

3

2→

x1 1 1 -32

0 1

2

7

2

zj − cj 0 -52

0 1

2

7

2

Page 28: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

28 Investigacion Operativa

⋄ Iteracion 3:

x2 1 0 1 2 -1 3x1 1 1 0 3 -1 8zj − cj 0 0 5 -2 11

Vemos que no hay ninguna variable que pueda salir de la base, pues la columna y·4es negativa. Luego tenemos una direccion de ilimitacion:

d =

(

−y·4e4

)

= (1, 1, 0, 1)t.

La solucion que sigue la direccion de ilimitacion es

x = (8, 3) + λ(1, 1) = (8 + λ, 3 + λ), λ ≥ 0.

Multiplicidad de la solucion optima

Si todos los costes reducidos son negativos (positivos, si se trata de un problemade maximizacion), hemos visto que el optimo es unico. Sin embargo, si alguno de elloses nulo, es posible buscar un elemento en la columna asociada para pivotar sobre el.En ese caso, cambiamos de vertice, pero el valor objetivo sigue siendo el mismo: haymas de una solucion optima.

Ejemplo 23Resuelve el siguiente problema:

Max. 2x1 + x2

s.a 2x1 +x2 ≤ 5,x1 ≤ 4,

x1, x2 ≥ 0.

Solucion:

⋄ Iteracion 1:

x3 0 2 1 1 0 5 →

x4 0 1 0 0 1 4zj − cj -2 -1 0 0 0

Page 29: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

Tema 2. Programacion Lineal 29

⋄ Iteracion 2:

x1 2 1 1

2

1

20 5

2→

x4 0 0 -12

-12

1 3

2

zj − cj 0 0 1 0 5↑

El punto(

52, 0)

es optimo. Como hay un coste reducido no basico nulo (la varia-ble x2), podemos pivotar para obtener mas puntos optimos.

⋄ Iteracion 3:

x2 1 2 1 1 0 5x4 0 1 0 0 1 4zj − cj 0 0 1 0 5

El punto (0, 5) tambien es optimo. Si volviesemos a pivotar (hay un coste reducidono basico nulo), volverıamos a la tabla de la iteracion anterior, pues estarıamosrepitiendo base.

El conjunto de soluciones es el segmento que une los dos vertices que hemosobtenido:

(x∗1, x

∗2) = λ

(

5

2, 0

)

+ (1− λ)(0, 5) =

(

2, 5(1− λ)

)

, λ ∈ [0, 1].

Regla de Bland

Definicion 24Un vertice x = (B−1b, 0) =

(

b, 0)

es un vertice degenerado si bi = 0 para algunındice i ∈ B.

Cuando llegamos a un vertice degenerado y pivotamos sobre una fila i con bi = 0,no cambiamos de vertice pero sı de base. Eventualmente, podrıa suceder que entrase-mos en un ciclo. Para evitarlo, usamos el criterio que se enuncia a continuacion.

Regla de Bland:Criterio de salida de la base: se elige xr de modo que

r = mın

{

s / α =brysk

}

,

Page 30: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

30 Investigacion Operativa

con

α = mın

{

biyik

/ i ∈ B, yik > 0

}

.

2.4.5. Metodo de las dos fases

En ocasiones, al anadir las variables de holgura, no podemos obtener la matrizidentidad como base inicial para la base del sımplex. Para obtener una base inicial(que es un problema no trivial), usaremos el denominado metodo de las dos fases.

⋄ Fase 1:

En este metodo, comenzamos introduciendo variables de holgura artificiales (co-lumnas) hasta obtener la matriz identidad. A continuacion, reemplazamos la funcionobjetivo por la suma de las variables artificiales y resolvemos el problema de mini-mizacion asociado.

La matriz identidad es una base inicial para este problema. Una vez obtenidauna solucion optima (x∗, x∗

a), pueden darse varias posibilidades.

Caso 1: x∗a 6= 0.

En este caso, el problema de partida es infactible.

Caso 2: x∗a 6= 0.

Si todas las variables artificiales estan fuera de la base, entonces tenemos unabase inicial para nuestro problema de partida.

Si existen variables artificiales basicas, entonces hacemos pivotajes degeneradoshasta que no queda ninguna en la base.

⋄ Fase 2:

Escribimos la funcion objetivo original, tomamos la ultima tabla de la fase an-terior y eliminamos las columnas correspondientes a variables artificiales. Despues,aplicamos el metodo del sımplex de la manera usual.

Ejemplo 25Resuelve el siguiente problema:

Min. 20x1 + 25x2

s.a 2x1 +3x2 ≥ 18,x1 +3x2 ≥ 12,3x1 +4x2 ≥ 24,

x1, x2 ≥ 0.

Page 31: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

Tema 2. Programacion Lineal 31

Solucion:

Escribimos el problema en formato estandar:

Min. 20x1 + 25x2

s.a 2x1 +3x2 −x3 = 18,x1 +3x2 −x4 = 12,3x1 +4x2 −x5 = 24,

x1, x2, x3, x4, x5 ≥ 0.

Vemos que no tenemos la matriz identidad. Por lo tanto, aplicamos el metodo delas dos fases.

† Fase 1:

Anadimos las variables artificiales x6, x7 y x8 (para tener una base inicial iden-tidad), buscando minimizar su suma:

Min. x6 + x7 + x8

s.a 2x1 +3x2 −x3 +x6 = 18,x1 +3x2 −x4 +x7 = 12,3x1 +4x2 −x5 +x8 = 24,

x1, x2, x3, x4, x5, x6, x7, x8 ≥ 0.

⋄ Iteracion 1:

x6 1 2 3 -1 0 0 1 0 0 18x7 1 1 3 0 -1 0 0 1 0 12 →

x8 1 3 4 0 0 -1 0 0 1 24zj − cj 6 10 -1 -1 -1 0 0 0 54

⋄ Iteracion 2:

x6 1 1 0 -1 1 0 1 -1 0 6

x2 0 1

31 0 -1

30 0 1

30 4

x8 1 5

30 0 4

3-1 0 -4

31 8 →

zj − cj8

30 -1 7

3-1 0 -10

30 14

Page 32: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

32 Investigacion Operativa

⋄ Iteracion 3:

x6 1 0 0 -1 1

5

3

51 -1

5-35

6

5→

x2 0 0 1 0 -1715

1

50 17

15-15

12

5

x1 0 1 0 0 4

5-35

0 -45

3

5

24

5

zj − cj 0 0 -1 1

5

3

50 -6

5-85

6

5

⋄ Iteracion 4:

x5 0 0 0 -53

1

31 5

3-13

-1 2

x2 0 0 1 1

3-65

0 -13

6

50 2

x1 0 1 0 -1 1 0 1 -1 0 6zj − cj 0 0 0 0 0 -1 -1 -1 0

Esta tabla es optima y no tiene variables artificiales en la base. Eliminamos lascolumnas correspondientes a x6, x7 y x8.

† Fase 2:

El objetivo es minimizar 20x1 + 25x2.

⋄ Iteracion 4:

x5 0 0 0 -53

1

31 2

x2 25 0 1 1

3-65

0 2

x1 25 1 0 -1 1 0 6

zj − cj 0 0 -353

-10 0 170

Esta tabla es optima. Ası que (x∗1, x

∗2) = (6, 2) y z∗ = 170. �

2.5. ¿Quieres saber mas?

1. El inicio de la Programacion Lineal contado por su padre cientıfico:Linear Programming, G.B. Dantzig, Operations Research 50 (1), paginas 42-47(2002).

Page 33: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

Tema 2. Programacion Lineal 33

2. Un buen libro introductorio a la Programacion Lineal:Programacion lineal y flujo en redes (segunda edicion), M.S. Bazarra, J.J. Jar-vis y H.D. Sherali, Limusa (2004).

3. Otra referencia interesante:Introduction to Operations Research (eigth edition), F.S. Hillier y G.J. Lieber-man, McGraw-Hill (2005).

4. Una guıa con consejos sobre como trabajar con hojas de calculo:The Art of Modeling with Spreadsheets: Management Science, Spreadsheet En-gineering and Modeling Craft, S.G. Powell y K.R. Baker, Wiley International(2004).

Page 34: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula
Page 35: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

Tema 3

Programacion Entera

Hasta ahora hemos visto modelos de Programacion Lineal cuyas variables dedecision son todas continuas: representan litros de gasolina, kilos de maız, horas detrabajo. . . Sin embargo, la mayorıa de los problemas reales requieren variables querepresenten el numero de trabajadores, numero de mesas, si una tarea se ha o norealizado. . . Todas estos elementos tienen algo en comun: solo pueden venir dadospor numeros enteros. Luego, necesitamos restringir ciertas variables de decision aque tomen valores enteros.

3.1. Conceptos basicos

Si todas las variables estan restringidas a tomar valores enteros, estamos ante unproblema entero (puro). Si solo un subconjunto de las mismas tiene esa limitacion,decimos que es un problema entero mixto. En el caso particular en el que los unicosvalores enteros posibles son 0 y 1, hablamos de un problema binario.

La relajacion lineal de un problema entero es ese mismo problema pero sin lasrestricciones de integralidad. Normalmente, si representamos mediante P o PE elproblema original, su relajacion lineal se suele representar mediante PL. Los valoresoptimos de estos problema se denotan, respectivamente, zE y zL.

Proposicion 26En un problema de minimizacion, se cumple que zL ≤ zE . En un problema demaximizacion, zL ≥ zE .

Page 36: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

36 Investigacion Operativa

Este resultado es trivial, pues toda solucion factible entera es factible para larelajacion lineal. Sin embargo, no toda solucion factible de la relajacion lineal esfactible del problema entero original. Mas adelante, esta propiedad nos sera muy utila la hora de resolver problemas enteros.

Ejemplo 27Resuelve graficamente el siguiente problema:

Max. −x1 + 2x2

s.a x1 + x2 ≤ 7,3x1 + 4x2 ≤ 24,

x2 ≤ 5,−6x1 + x2 ≤ 1,

x1, x2 ∈ Z2+.

Solucion:

1

2

3

4

5

6

7

1 2 3 4 5 6 7 8

−x1+

2x2=

9

z∗

E= 9

(

x∗

1, x∗

2

)

= (1, 5)

Definicion 28La envolvente convexa de un conjunto A es el menor conjunto convexo que contienea dicho conjunto A.

Cuando tenemos un problema entero, la region factible es un conjunto discretode puntos: PL ∩ Zn

+. Existe un problema continuo cuya solucion coincide con laque buscamos: optimizar la funcion objetivo sobre conv(

(

PL ∩ Zn+

)

). Sin embargo,obtener explıcitamente este conjunto es a su vez una tarea realmente compleja.

Como la region factible del problema entero es mucho mas pequena que la de sucontrapartida continua, cabrıa esperar que los problemas enteros fuesen mucho mas

Page 37: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

Tema 3. Programacion Entera 37

faciles de resolver. Sin embargo, la realidad es diametralmente opuesta: son bastantemas difıciles. Esto es consecuencia del caracter discreto del conjunto de soluciones.

Cabe ahora preguntarse si redondear es o no una buena alternativa para pasarde una solucion optima continua a una solucion optima discreta. La respuesta es queno, pues las soluciones optimas del problema entero y de la relajacion lineal puedendistar mucho entre sı, como muestra el siguiente ejemplo.

Ejemplo 29Resuelve graficamente el siguiente problema:

Max. x2

s.a x1 − 0.9x2 ≥ 1,x1 ≤ 1.9,

x1, x2 ∈ Z2+.

Solucion:

La solucion optima de la relajacion lineal, (x∗1, x

∗2) = (1.9, 100), tiene valor opti-

mo z∗L = 100.

Si redondeamos al valor entero mas cercano, (2,100), estamos en un punto infac-tible.

De hecho, la solucion optima se encuentra “muy lejos”: es el punto (1,0), convalor optimo z∗E = 0.

50

100

1,0 1,5 2,0 2,5

z∗L = 100,(x∗

1, x∗2) = (1.9, 100)

El redondeo a (2,100)

no es factible.

z∗E = 0(x∗

1, x∗2) = (1, 0)

3.2. Modelos clasicos

La Programacion Entera tiene infinidad de aplicaciones de gran interes. Cada unade ellas, debido a la alta complejidad que presentan estos problemas, supone ya depor sı un verdadero reto. A continuacion, se dan algunos ejemplos de estos modelos.

Page 38: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

38 Investigacion Operativa

El primero de ellos, denominado problema de la mochila, parece bastante simple,pues tiene una unica restriccion. Sin embargo, el hecho de que las variables de decisionsean binarias hace que su solucion no sea trivial. El nombre viene del sımil con unexcursionista que debe decidir que cosas llevar en su mochila antes de ir de excursion.

Ejemplo 30 (El problema de la mochila)Una empresa tiene que decidir que proyectos ejecutar de entre n posibles. La realiza-cion del proyecto j-esimo repercute en un beneficio de bj unidades, pero necesita decj horas de trabajo, j = 1, . . . , n. Si la carga de trabajo no puede exceder las d horas,¿que proyectos deben realizarse para maximizar los beneficios?

Solucion:

Se define

xj =

{

1 si se realiza el proyecto j-esimo,

0 en caso contrario,

j = 1, . . . , n. El modelo buscado es

Max.n∑

j=1

bjxj

s.a

n∑

j=1

cjxj ≤ d,

x ∈ Bn.

Ejemplo 31 (El problema de la asignacion)En una fabrica, se dispone de n operarios para trabajar con identico numero demaquinas. Si el empleado i es asignado a la maquina j, su rendimiento es cij . Puestoque cada empleado solo puede ser asignado a una maquina y viceversa, ¿cual es laasignacion mas eficiente?

Solucion:

Se define

xij =

{

1 si el trabajador i es asignado a la maquina j,

0 en caso contrario,

i, j = 1, . . . , n.

Como cada trabajador puede operar en una unica maquina:n∑

j=1

xij = 1, i = 1, . . . , n.

Del mismo modo, cada maquina solo puede tener un trabajador asignado:n∑

i=1

xij = 1, j = 1, . . . , n.

Page 39: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

Tema 3. Programacion Entera 39

En consecuencia, el modelo pedido es:

Max.

n∑

i=1

n∑

j=1

cijxij

s.a

n∑

i=1

xij = 1, j = 1, . . . , n,

n∑

j=1

xij = 1, i = 1, . . . , n,

xij ∈ {0, 1}, i, j = 1, . . . , n.

3.3. La tecnica de ramificacion y acotacion

Hemos visto que si somos capaces de encontrar la formulacion de la envolventeconvexa de nuestro problema original, basta optimizar sobre esa nueva formulacionpara obtener la solucion de nuestro problema entero inicial. Sin embargo, hallar dichadescripcion de la region factible entera, en el mejor de los casos, es tan difıcil comoresolver el problema. Por lo tanto, es necesario recurrir a otras tecnicas de resolucion.Una, cuya idea es simple, pero que es muy eficaz, consiste en dividir el problema ensubproblemas mas pequenos y mas sencillos de resolver. Despues, nos quedaremoscon la mejor de las soluciones de esos subproblemas.

La pregunta que se plantea es: ¿como dividir el problema

z = mın{

ctx : x ∈ S}

en un conjunto de problemas mas pequenos y faciles, solucionarlos y despues reunirla informacion obtenida para resolver el problema original?

La siguiente proposicion da una primera idea sencilla para conseguirlo.

Proposicion 32 (Divide y venceras)Sea S = S1 ∪ · · · ∪ SK una descomposicion de S. Si

zk = mın{

ctx : x ∈ Sk

}

, k = 1, . . . , K,

entonces z = mın{

zk}K

k=1.

Un modo habitual de representar este metodo de divide y venceras es medianteun arbol de enumeracion. Por ejemplo, para S = B3, se puede construir el arbol dela figura 3.1.

Page 40: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

40 Investigacion Operativa

S

S0

x1 = 0

S00

x2 = 0

S000

x3 = 0

S001

S01

S010 S011

S1

x1 = 1

S10

S100 S101

S11

S110 S111

Figura 3.1: Arbol de enumeracion binario

Aquı, en primer lugar se ha dividido el conjunto S en

S0 = {x ∈ S : x1 = 0}

yS1 = {x ∈ S : x1 = 1};

despues,S00 = {x ∈ S0 : x2 = 0},

S01 = {x ∈ S0 : x2 = 1},

S10 = {x ∈ S1 : x2 = 0},

S11 = {x ∈ S1 : x2 = 1};

y ası sucesivamente. De este modo, las hojas del arbol son precisamente los puntosde B3 que uno examinarıa si hiciese una enumeracion completa. Observese que, porconvenio, el arbol se dibuja de arriba a abajo con la raız en lo mas alto.

Para la mayorıa de los problemas es totalmente imposible una enumeracion com-pleta de todas las soluciones factibles. Por lo tanto, es necesario hacer algo mas quedividir hasta tener enumerados todos los puntos. ¿Como se pueden utilizar cotas delos valores {zk}k de modo inteligente? Primero, ¿como puede unificarse la informa-cion sobre las cotas?

Proposicion 33Sea S = S1 ∪ . . . SK una descomposicion de S, y sean zk = mın {ctx : x ∈ Sk}, z

k

una cota superior de zk y zk una cota inferior para cada k. Se verifica:

i) z = mın{

zk}K

k=1es una cota superior de z;

Page 41: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

Tema 3. Programacion Entera 41

ii) z = mın{

zk}K

k=1es una cota inferior de z.

En los siguientes ejemplos se muestra como se usa la informacion de las cotas delos subproblemas para podar (eliminar) nodos.

Ejemplo 34 (Poda por optimalidad)En primer lugar, z = mın{20, 25} = 20, z = mın{20, 15}. En segundo lugar, se

observa que las cotas inferior y superior para z1 coinciden, por lo que no es necesarioseguir examinando S1. Ası, la rama S1 del arbol de enumeracion se puede podar poroptimalidad.

S2713

S12020

S22515

S2015

S1 S22515

Figura 3.2: Poda por optimalidad

Ejemplo 35 (Poda por acotacion)Como el valor optimo es menor o igual que 20, no hay ninguna solucion optima

en la rama S2. Ası, esta rama se puede podar por acotacion.

S2713

S12018

S22621

S2018

S12018

S2

Figura 3.3: Poda por acotacion

Ejemplo 36 (Poda por infactibilidad)Consideremos que una restriccion del problema es x1 + x2 + x3 ≤ 1, siendo las tresvariables binarias. En el nodo al que se llega mediante la ramificacion x1 = 1, x2 = 1no hay puntos factibles. Por lo tanto, queda descartado automaticamente. �

Page 42: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

42 Investigacion Operativa

Ası pues, las siguientes razones permiten podar una rama del arbol de busqueda:

i) Poda por optimalidad: el problema zr = mın {ctx : x ∈ S} se ha resuelto;

ii) Poda por acotacion: zr ≥ z;

iii) Poda por infactibilidad: Sr = Ø.

Un modo de obtener cotas inferiores es resolver las relajaciones lineales de losproblemas. Por otro lado, cualquier punto factible del problema proporciona unacota superior.

Este modo de trabajar se denomina ramificacion y acotacion (branch-and-bound).

Un nodo activo es aquel que todavıa no ha sido procesado. Cuando ya ha sidoprocesado se denomina inactivo. Un nodo podado es un nodo que se ha descartado.

El nodo raız es el nodo del que parte el arbol. Cuando se ramifica, se elige unavariable de ramificacion que esta restringida de distinto modo segun la rama delarbol de ramificacion en la que estemos. De cada nodo, salen dos o mas nodos hijos.El nodo del que se originan se denomina nodo padre.

En el proceso, la mejor solucion entera almacenada se denomina solucion incum-bente. Su valor objetivo es el valor incumbente.

Seleccion de nodo y variable

A la hora de trabajar en un algoritmo de ramificacion cabe preguntarse como seelige en que variable ramificar y que nodo analizar (sondear).

En general, para elegir la variable de ramificacion, escogeremos aquella que seamas fraccional, esto es, cuya parte decimal este mas cerca de 0.5.

Para elegir el siguiente nodo activo a analizar, hay varias alternativas:

1. Busqueda en horizontal (breadth-first search): se elige el nodo de menor pro-fundidad.

2. Busqueda en profundidad (depth-first search): se elige el nodo de mayor pro-fundidad.

3. Busqueda en calidad (best-first search): se elige el nodo con mejor relajacionlineal. En el caso de un problema de minimizacion, el de menor relajacionlineal; equivalentemente, el de menor cota inferior. En el caso de un problema

Page 43: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

Tema 3. Programacion Entera 43

de maximizacion, el de mayor relajacion lineal; equivalentemente, el de mayorcota superior.

El tercer criterio suele ser el mas popular.

Veamos como aplicar el algoritmo.

Ejemplo 37Resuelve el siguiente problema:

(P )

Max. 3x1 + 2x2 − 5x3 − 2x4 + 3x5

s.a x1 +x2 +x3 +2x4 +x5 ≤ 4,7x1 +3x3 −4x4 +3x5 ≤ 8,11x1 −6x2 +3x4 −3x5 ≥ 3,

x1, x2, x3, x4, x5 ∈ {0, 1}.

Solucion:

Comenzamos por resolver la relajacion lineal. Para ello, reemplazamos las res-tricciones de binaridad por 0 ≤ xi ≤ 1, i = 1, . . . , 5.

Como solucion optima, obtenemos el punto (0.97, 1, 0, 0.45, 1), que tiene valoroptimo zL = 7.02. Al no ser entera la solucion, debemos crear un arbol de ramifica-cion.

N17

Observemos que, como el valor optimo debe ser entero (pues la funcion objetivotiene coeficientes enteros y variables binarias), la cota superior inicial de 7.02 puederefinarse inmediatamente a z = 7.

Ahora, para ramificar, elegimos las variable x4, que es la mas fraccional.

N17

N2

x4 = 0

N3

x4 = 1

Resolvemos ahora los problemas asociados a los nodos N2 y N3, respectivamente.Esto es, el problema (PL) al que se le agrega x4 = 0 y x4 = 1, respectivamente. Sussoluciones son:

Page 44: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

44 Investigacion Operativa

(P2)

{

x2 = (0.94, 1, 0, 0, 0.46),z2 = 6.22,

(P3)

{

x3 = (1, 0, 0, 1, 1),z3 = 4.

Al resolver el nodo N2, vemos que la solucion es fraccional y el valor de la re-lajacion lineal no mejora la cota superior que ya se tiene en la raız. Sin embargo,por el mismo razonamiento que antes, para este nodo, la cota superior de 6.22 puederefinarse a 6.

Cuando solucionamos el nodo N3, obtenemos una solucion entera (la primera queencontramos). Este punto pasar a ser la solucion incumbente xI = (1, 0, 0, 1, 1) y suvalor optimo pasa a ser el valor incumbente zI = 4, que es una cota inferior de lasolucion optima.

N17

N26

x4 = 0

N344

x4 = 1

xI = (1, 0, 0, 1, 1),zI = 4.

Podamos el nodo N3 por optimalidad y actualizamos la cota inferior del nodoraız.

N174

N26

x4 = 0

N3

x4 = 1

xI = (1, 0, 0, 1, 1),zI = 4.

Nos situamos en el nodoN2 y recordamos que la solucion relajada era (0.94, 1, 0, 0, 0.46).Ramificamos en x5 y resolvemos los problemas asociados:

(P4)

{

x4 = (1, 1, 0, 0, 0),z4 = 5,

(P5)

{

x5 = (0.71, 0.31, 0, 0, 1),z5 = 5.76.

El nodo N4 proporciona una solucion entera mejor que la incumbente, por loactualizamos esta. Tambien se actualiza la cota inferior de los nodos ascendientes.Se poda por optimalidad el nodo N4.

La cota superior de N5 puede refinarse a 5, que coincide con la cota inferior delproblema (acabamos de obtener una solucion entera con ese valor). El nodo N5 sepoda por acotacion.

Page 45: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

Tema 3. Programacion Entera 45

N174

N26

x4 = 0

N455

x5 = 0

N55

x5 = 1

N3

x4 = 1

xI = (1, 1, 0, 0, 0),zI = 5.

Como ya no nos quedan nodos por explorar, hemos acabado: la solucion optimaes x∗ = (1, 1, 0, 0, 0) y el valor optimo z∗ = 5.

Page 46: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula
Page 47: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

Tema 4

Programacion Entera en modelos de

redes

Existen diversos modelos de gran interes que pueden formularse como problemasde Programacion Entera. Nosotros estudiaremos tres: el problema del transporte, elproblema del flujo de coste mınimo y el problema del camino mas corto. Todos ellostienen en comun que son problemas que se plantean sobre una red (grafo).

4.1. El problema del transporte

Como su propio nombre indica, se trata de transportar unidades de un produc-to desde m orıgenes O1, . . . , Om, hasta n destinos D1, . . . , Dn. Por comodidad denotacion, definimos I = {1, . . . , m} y J = {1, . . . , n}.

Cada origen dispone de ai unidades de producto, i ∈ I, y cada destino demandadj unidades, j ∈ J . Estas cantidades son numeros enteros.

Para que pueda satisfacerse toda la demanda, asumiremos que∑

i∈I

ai ≥∑

j∈J

dj.

Para cada arco (i, j), i ∈ I, j ∈ J , tenemos asociado un coste unitario de trans-porte cij y una variable xij que representa cuantas unidades se transportan desde elorigen i hasta el destino j.

Como hay que servir todo lo que se demanda a coste mınimo, la funcion objetivo

Page 48: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

48 Investigacion Operativa

O1

D1

O2 ...

... Dn

Om

c11c1n c21

c2n

cm1

cmn

Figura 4.1: Problema de transporte

a minimizar es∑

i∈I

j∈J

cijxij .

Ahora nos queda establecer las distintas restricciones:

1. Deben satisfacerse todas las demandas:

i∈I

xij = dj ∀j ∈ J.

2. Ningun origen puede servir mas unidades de producto de las disponibles:

j∈J

xij ≤ ai ∀i ∈ I.

Esto, junto con el hecho de que las variables son enteras, nos da la siguienteformulacion para el problema del transporte:

Min.∑

i∈I

j∈J

cijxij

s.a∑

i∈I

xij = dj ∀j ∈ J,

j∈J

xij ≤ ai ∀i ∈ I,

xij ∈ Z+ ∀i ∈ I, ∀j ∈ J.

Aunque, a priori, la solucion optima de la relajacion lineal de este problemapodrıa ser fraccional, existe un caso en el que tenemos garantizada que sera entera.Es la situacion dada por la siguiente propiedad, que no demostraremos:

Page 49: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

Tema 4. Programacion Entera en modelos de redes 49

Proposicion 38 (Propiedad de integralidad - problema del transporte)Si las ofertas ai, i ∈ I, y las demandas dj, j ∈ J , son todas numeros enteros, entoncesla relajacion lineal del problema del transporte tiene solucion optima entera.

Observa que nada se dice de los costes cij; estos pueden ser fraccionales y elresultado sigue siendo cierto.

Ejemplo 39Una empresa de televisores tiene tres fabricas en Madrid, Barcelona y Sevilla. Dadaun partida de 100, 120 y 60 aparatos, debe enviarlos a cuatro distribuidores ubicadosen Fuenlabrada, Mataro, Ecija y Vigo, con demandas 70, 90, 50 y 70, respectivamente.La tabla de costes de transporte para cada unidad de producto (en euros) es lasiguiente:

Destinos

Orıgenes Fuenlabrada Mataro Ecija VigoMadrid 1 6 4 7Barcelona 7 1 12 14Sevilla 5 11 2 13

Encuentra como deben enviarse los televisores para que el coste de transporte totalsea mınimo.

Solucion:

En este caso, tenemos un problema de transporte con 3 orıgenes (i = 1, 2, 3) y4 destinos (j = 1, 2, 3, 4).

La funcion objetivo a minimizar es

x11 + 6x12 + 4x13 + 7x14 + 7x21 + x22 + 12x2314x24 + 5x31 + 11x32 + 2x33 + 13x34.

Las restricciones que imponen que se satisfagan las demandas son:

x11 + x21 + x31 = 70,

x12 + x22 + x32 = 90,

x13 + x23 + x33 = 50,

x14 + x24 + x34 = 70.

Las siguientes restricciones impiden enviar mas de lo disponible:

x11 + x12 + x13 + x14 ≤ 100,

Page 50: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

50 Investigacion Operativa

x21 + x22 + x23 + x24 ≤ 120,

x31 + x32 + x33 + x34 ≤ 60.

Ademas, todas las variables xij deben ser enteras.

Cuando juntamos las distintas condiciones que hemos establecido y resolvemosla relajacion lineal del problema, obtenemos un valor optimo de 970 para la solucionoptima dada por x∗

11 = 30, x∗14 = 70, x∗

21 = 30, x∗22 = 90, x∗

31 = 10 y x∗33 = 50. �

4.2. El problema del flujo de coste mınimo

Tenemos un grafo orientado G = (N,A), siendo N = {1, . . . , n} los nodos y A elconjunto de arcos que unen pares de nodos.

Para un determinado producto, cada nodo i ofrece o requiere una cierta cantidaddel producto (flujo) bi, i = 1, . . . , n. Ası, podemos distinguir tres tipos de nodos:

si bi > 0, es un nodo origen o de servicio;

si bi = 0, es un nodo de transbordo;

si bi < 0, es un nodo destino o de demanda.

Ademas, asumiremos que el balance total es nulo, es decir,∑

i∈N

bi = 0.

Asimismo, puede que haya restricciones adicionales:

el arco (i, j) tiene una capacidad maxima uij;

por el arco (i, j) debe circular un flujo mınimo lij .

Sabiendo que cada arco (i, j) tiene asociado un coste unitario de transporte cij ,el objetivo es encontrar un flujo que satisfaga las demandas y cuyo coste total sea lomenor posible.

Para formular el problema, comenzamos definiendo las variables xij , (i, j) ∈ A,que representan el flujo que circula por el arco (i, j).

Ası, la funcion objetivo a minimizar es∑

(i,j)∈A

cijxij .

Page 51: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

Tema 4. Programacion Entera en modelos de redes 51

En cuanto a las restricciones, por una parte, no deben excederse los lımites decapacidad de los arcos:

xij ≤ uij ∀(i, j) ∈ A,

xij ≥ lij ∀(i, j) ∈ A.

Por otra, debe haber un equilibrio entre lo que llega al nodo, lo que el nodooferta/demanda y lo que sale del nodo:

{j / (i,j)∈A}

xij −∑

{j / (j,i)∈A}

xji = bi ∀i ∈ N.

Estas igualdades se denominan restricciones de balance de flujo.

Si ahora anadimos que todas las variables deben ser enteras, ya tenemos el modelodel problema:

Min.∑

(i,j)∈A

cijxij

s.a∑

{j / (i,j)∈A}

xij −∑

{j / (j,i)∈A}

xji = bi ∀i ∈ N,

lij ≤ xij ≤ uij ∀(i, j) ∈ A,xij ∈ Z+ ∀(i, j) ∈ A.

Tambien tenemos una propiedad analoga a la que ya vimos para el problema deltransporte:

Proposicion 40 (Propiedad de integralidad - flujo de coste mınimo)Si las ofertas y demandas bi, i ∈ I, y los lımites de los arcos lij y uij, (i, j) ∈ A, sontodos numeros enteros, entonces la relajacion lineal del problema del flujo de costemınimo tiene solucion optima entera.

Ejemplo 41Resuelve el problema del flujo de coste mınimo sobre el siguiente grafo:

2 4

1 5 7

3 6

3

5

2

4

6

6

53

2

2

3

Page 52: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

52 Investigacion Operativa

Las ofertas y demandas son: b1 = 150, b2 = −20, b3 = −30, b4 = −50, b5 = 40,b6 = −60, b7 = −30. Los arcos que salen del nodo 1 no pueden dejar pasar mas de90 unidades (cada uno).

Solucion:

Analizando el problema, el modelo que se obtiene es el siguiente:

Min. 3x12 + 5x13 + 2x24 + 4x25 + 6x35 + 7x36 + 5x47 + 3x54 + 2x56 + 2x57 + 3x67

s.a x12 + x13 = 150,x24 + x25 − x12 = −20,x35 + x36 − x13 = −30,x47 − x24 − x54 = −50,

x54 + x56 + x57 − x25 − x35 = 40,x67 − x36 − x56 = −60,

−x47 − x57 − x67 = −30,x12 ≤ 90,x13 ≤ 90,xij ∈ Z+ ∀(i, j) ∈ A.

Como cabıa esperar, la relajacion lineal del problema nos da ya una solucionentera: x∗

12 = 90, x∗13 = 60, x∗

24 = 50, x∗25 = 20, x∗

36 = 30, x∗56 = 30, x∗

57 = 30. El costede esta solucion es 1080. �

4.3. El problema del camino mas corto

Dada una red e identificando los costes de los nodos como distancias, se tratade encontrar el recorrido de menor longitud desde un nodo origen hasta un nododestino.

Vamos a ver enseguida que se trata de un caso particular del problema del flujode coste mınimo. Para ello, sea s el nodo origen y sea t el nodo destino. Consideramosel siguiente vector de ofertas y demandas:

bi =

1 si i = s,

−1 si i = t,

0 si i 6= s, t.

Prescindiendo de restricciones sobre las capacidades de los arcos, se trata de unproblema de flujo de coste mınimo con unos costes muy especıficos. Ademas, lasvariables de decision se pueden reinterpretar del siguiente modo:

xij =

{

1 si se usa el arco (i, j) en la ruta,

0 en caso contrario.

Page 53: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

Tema 4. Programacion Entera en modelos de redes 53

Ejemplo 42Halla la ruta mas corta para ir desde el nodo 1 hasta el nodo 6 en el siguiente grafo:

2 4

1 6

3 5

5

6

3

4

8

4

3

6

4

Solucion:

Formulando el problema de camino mas corto asociado, al resolverlo obtenemosla siguiente ruta con longitud 14: 1 → 3 → 5 → 6. �

Page 54: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula
Page 55: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

Tema 5

Teorıa de Colas

Esperar en una cola es algo que todos hemos experimentado: en el cine, en elmedico, en una tienda, etc. Nadie se escapa. En este tema veremos como puedenrepresentarse y estudiarse de un modo matematico.

La Teorıa de Colas, lejos de ser algo desdenable, tiene aplicaciones de gran rele-vancia, como por ejemplo, las listas de espera para donacion de organos.

5.1. Introduccion

5.1.1. Caracterısticas

Una determinada fuente de llegadas origina clientes a lo largo del tiempo. Estosse unen a la cola de un sistema que da un servicio.

Los servidores de que dispone el sistema (uno o mas) seleccionan clientes de lacola segun una regla predeterminada denominada disciplina. El cliente seleccionadorecibe su servicio en un tiempo de servicio determinado (que puede ser aleatorio) yabandona el sistema.

El tiempo de llegada entre clientes y el tiempo que necesita un servidor paraatender a un determinado cliente se representan mediante variables aleatorias. Sellama capacidad del servicio al numero maximo de clientes que pueden ser atendidossimultaneamente.

Page 56: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

56 Investigacion Operativa

El modo en que se elige el cliente que se va a atender suele ser uno de los dossiguientes:

el que llego antes (FIFO: first in, first out);

el que llego el ultimo (LIFO: last in, first out).

La notacion usual es la siguiente:

proceso de llegada / proceso de servicio / numero de servidores.

Para los procesos, M quiere decir que el tiempo entre llegadas sigue una distri-bucion exponencial.

5.1.2. Objetivos

Hay un doble objetivo: describir el sistema y optimizar su funcionamiento. Deja-remos a un lado el segundo para centrarnos en el primero.

Los sistemas evolucionan a lo largo del tiempo t, siendo relevantes los siguientesvalores:

N(t) = numero de clientes en el sistema en el instante t,

Q(t) = numero de clientes en la cola (es decir, en espera) en el instante t,

B(t) = N(t) − Q(t) = numero de clientes que estan siendo servidos en elinstante t.

Si n es el n-esimo cliente que ha sido admitido en el sistema, se definen:

Θn = tiempo de permanencia en el sistema de n,

Wn = tiempo de espera en la cola de n.

Otros parametros de interes son:

Tasa de llegada (λ): numero medio de clientes que llegan al sistema por unidadde tiempo.

Page 57: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

Tema 5. Teorıa de Colas 57

Tasa de servicio (µ): numero medio de clientes que pueden ser servidos porunidad de tiempo.

Con estas definiciones, el tiempo medio entre llegadas es 1/λ y el tiempo mediode servicio es 1/µ. Representan, respectivamente, el tiempo medio entre las llegadasal sistema (con aceptacion) de dos clientes consecutivos y el tiempo medio necesariopara atender a un cliente.

5.1.3. Medidas de rendimiento

Los siguientes valores permiten proporcionan datos acerca del funcionamiento deuna cola:

Tiempo medio de permanencia en el sistema por cliente:

Θ = lımn→+∞

n∑

i=1

Θi

n.

Tiempo medio de espera en la cola por cliente:

W = lımn→+∞

n∑

i=1

Wi

n.

Numero medio de clientes en el sistema:

N = lımt→+∞

∫ t

0N(u)du

t.

Numero medio de clientes en la cola:

Q = lımt→+∞

∫ t

0Q(u)du

t.

Numero medio de clientes en servicio:

B = lımt→+∞

∫ t

0B(u)du

t.

Este valor se puede interpretar tambien como el numero medio de servidoresocupados.

Page 58: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

58 Investigacion Operativa

Relaciones entre medidas

Las siguientes igualdades muestran relaciones entre varios de estas medidas:

el tiempo medio de permanencia en el sistema es igual al tiempo medio deespera mas el tiempo medio de servicio:

Θ = W +1

µ.

el numero medio de clientes en el sistema es igual al numero medio de clientesen la cola mas el numero medio de clientes que estan siendo servidos:

N = Q+B.

Ley de Little

La siguiente igualdad fue establecida por John Little y es muy importante en elambito de la Teorıa de Colas:

N = λΘ.

Q = λW.

Factor de utilizacion

El factor de utilizacion nos da una medida de la saturacion del sistema:

ρ =tasa media de llegadas por unidad de tiempo

capacidad maxima de trabajo por unidad de tiempo.

Ejemplo 43Si la tasa de llegada es λ, la tasa de servicio es µ, hay un unico servidor y la capacidadde la cola es ilimitada, entonces

ρ =λ

µ.

En la misma situacion, pero con k servidores en paralelo, se tiene que

ρ =λ

kµ.

Definicion 44Un sistema es estable si ρ < 1. Cuando ρ ≥ 1, se dice el que es un sistema inestable.

Page 59: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

Tema 5. Teorıa de Colas 59

Usando la Ley de Little, vemos que

B = N −Q = λΘ− λW = λ(

Θ−W)

µ.

En consecuencia, ρ = Bknos da la proporcion media de servidores ocupados. Es

decir, el factor de utilizacion nos da la fraccion del numero de servidores que estanocupados en termino medio. Por ejemplo, ρ = 0.6 significa que la media de servidoresocupados es del 60%.

5.2. El modelo M/M/1

En primer lugar, hay que precisar que significa la notacion:

la primera M significa que los tiempos de llegada entre clientes son variablesaleatorias exponenciales;

la segunda M significa que los tiempos de servicio son variables aleatoriasexponenciales;

el “1” significa que hay un unico servidor.

Como estamos asumiendo que los tiempos entre dos llegadas consecutivas sontodos exponenciales con la misma distribucion, sea T el tiempo entre dos llegadasconsecutivas. En este caso, T ≡ Exp(λ).

De modo analogo, los tiempos de servicio siguen una distribucion Exp(µ). Ademas,para que el sistema sea estable asumiremos λ < µ (pues ρ = λ/µ).

A la hora de estudiar una cola, se asume que esta ha estado en funcionamientodurante un tiempo suficientemente grande, de modo que se alcanza un estado esta-cionario. Es la cola en este estado lo que estudiamos. Luego, para estudiar el numerode clientes en la cola, no analizamos N(t), sino que nos olvidamos de la componentetemporal y examinamos N , el numero de clientes en estado estacionario (que es unavariable aleatoria).

Nuestro objetivo sera calcular el numero medio de clientes en estado estacionarioN = E(N). En concreto:

N =

+∞∑

n=1

nP (N = n).

Necesitamos determinar pn = P (N = n), n = 0, 1, 2, . . . .

Page 60: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

60 Investigacion Operativa

Diagrama de transicion entre estados

Mediante un diagrama, representamos todos los estados posibles (dados por elnumero de clientes en el sistema) y los cambios que pueden producirse (a traves desus respectivas tasas de cambio):

0 1 2 3 . . .

λ λ λ λ

µ µ µ µ

Por ejemplo: de tener n clientes a tener n+1 clientes, pasaremos con tasa λ. Delmismo modo, de tener n + 1 clientes a tener n clientes, pasaremos con tasa µ.

En concreto, como pn es la probabilidad de que el sistema este en el estado n, latasa de cambio del estado n al estado n+1 es λpn. Analogamente, la tasa de cambiodel estado n+1 al estado n es µpn+1. Como el sistema esta en equilibrio, ambas tasasdeben ser iguales, esto es,

λpn = µpn+1.

Procedemos ası con todos los estados posibles y obtenemos las siguientes ecua-ciones de balance:

λp0 = µp1,λp1 = µp2,λp2 = µp3,

...

Ahora hay que resolver el sistema de ecuaciones lineales:

p1 =λµp0 = ρp0,

p2 = ρp1 = ρ2p0,p3 = ρp2 = ρ3p0,...

Solo falta calcular p0, pero para ello tenemos en cuenta que {pi}+∞i=1 son todas las

probabilidades de una misma variable aleatoria. Por lo tanto,

1 =

+∞∑

i=0

pi = p0+

+∞∑

i=1

pi = p0+

+∞∑

i=1

ρip0 = p0

(

1 +

+∞∑

i=1

ρi

)

= p0

(

1 +ρ

1− ρ

)

=p0

1− ρ;

p0 = 1− ρ.

Observemos que los calculos son correctos porque 0 < ρ < 1.

Page 61: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

Tema 5. Teorıa de Colas 61

Finalmente, podemos retomar nuestro objetivo inicial de calcular N :

N =+∞∑

n=1

npn =+∞∑

n=1

nρn(1− ρ) = (1− ρ)+∞∑

n=1

nρn = ρ(1− ρ)+∞∑

n=1

nρn−1 =

= ρ(1 − ρ)

+∞∑

n=1

(ρn)′ = ρ(1− ρ)

(

+∞∑

n=1

ρn

)′

= ρ(1− ρ)

(

ρ

1− ρ

)′

=

= ρ(1− ρ) ·1

(1− ρ)2=

ρ

1− ρ.

5.3. El modelo M/M/k

En esta cola, la unica diferencia con respecto al modelo M/M/1 es que tenemosk servidores dispuestos en paralelo, k ≥ 2. Un mismo cliente no puede ser servidopor mas de un servidor.

Ya vimos que el factor de utilizacion para esta cola es ρ = λkµ. Por lo tanto, para

que sea estable, debe cumplirse ρ < 1, es decir, λ < kµ.

Ahora, calculemos explıcitamente N , el numero medio de clientes en el sistema.Para ello, trabajaremos de la misma manera que con el modelo M/M/1: si N esla variable aleatoria que representa el numero de clientes en el sistema en estadoestacionarios, entonces

N = E(N) =+∞∑

n=1

nP (N = n).

Nuevamente, necesitamos calcular pn = P (N = n), n = 0, 1, 2, . . .

Comenzamos estableciendo el diagrama de transicion entre estados:

0 1 2 . . . k-1 k k+1 . . .

λ λ λ λ λ λ λ

µ 2µ 3µ (k − 1)µ kµ kµ kµ

La diferencia con el diagrama para el modelo de un unico servidor es que, aquı,la tasa de cambio a un estado con un cliente menos depende del numero de clientesque estan siendo servidos (y es proporcional a dicho valor).

Page 62: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

62 Investigacion Operativa

Por el mismo razonamiento que ya vimos, establecemos las ecuaciones de balance:

λp0 = µp1,λp1 = 2µp2,λp2 = 3µp3,

...λpk−2 = (k − 1)µpk−1,λpk−1 = kµpk,λpk = kµpk+1,

...

Resolvamos el sistema:

p1 =λµp0 = kρp0,

p2 =λ2µp1 =

(kρ)2

2!p0,

p3 =λ3µp2 =

(kρ)3

3!p0,

...

pk =λkµpk−1 =

(kρ)k

k!p0,

pk+1 =λkµpk = kkρk+1

k!p0,

...

Ası, podemos establecer que

pn =

(kρ)n

n!p0, 0 ≤ n ≤ k − 1,

kkρn

k!p0, n = k.

Falta calcular p0:

1 =

+∞∑

n=0

p0 =

k−1∑

n=0

(kρ)n

n!p0 +

+∞∑

n=k

kkρn

k!p0 = p0

(

k−1∑

n=0

(kρ)n

n!+

kk

k!

+∞∑

n=k

ρn

)

=

= p0

(

k−1∑

n=0

(kρ)n

n!+

(kρ)k

k!

+∞∑

n=0

ρn

)

= p0

(

k−1∑

n=0

(kρ)n

n!+

(kρ)k

k!(1− ρ)

)

;

p0 =

(

k−1∑

n=0

(kρ)n

n!+

(kρ)k

k!(1− ρ)

)−1

.

Finalmente, veamos cual es el numero medio de clientes del sistema:

N =

+∞∑

n=1

npn =

k−1∑

n=1

n(kρ)n

n!p0 +

+∞∑

n=k

nkkρn

k!p0

Page 63: Tema 1 Introduccion · en el ambito empresarial. Las empresas se dieron cuenta de que las t´ecnicas de ... Eurodisney o disen˜ar las estrategias de carrera de un equipo de F´ormula

Tema 5. Teorıa de Colas 63

= p0

(

k−1∑

n=1

(kρ)n

(n− 1)!+

kkρ

k!

+∞∑

n=k

nρn−1

)

== p0

(

k−2∑

n=0

(kρ)n+1

n!+

kkρ

k!

+∞∑

n=k

(ρn)′)

=

= p0

(

kρk−2∑

n=0

(kρ)n

n!+

kkρ

k!

(

+∞∑

n=k

ρn

)′)

= p0

(

kρk−2∑

n=0

(kρ)n

n!+

kkρ

k!

(

ρk

1− ρ

)′)

=

= p0

(

kρk−2∑

n=0

(kρ)n

n!+

kkρ

k!·kρk−1 + (1− k)ρk

(1− ρ)2

)

=

=

(

k−2∑

n=0

(kρ)n

n!+

kk−2ρk−1(k(1− ρ) + ρ)

(k − 1)!(1− ρ)2

)

k−1∑

n=0

(kρ)n

n!+

(kρ)k

k!(1− ρ)

.

En particular, para k = 2 se obtiene que

N =2ρ(

1 + ρ(2(1−ρ)+ρ)(1−ρ)2

)

1 + 2ρ+ (2ρ)2

2(1−ρ)

=4ρ ((1− ρ)2 + ρ(2− ρ)) (1− ρ)

(1− ρ)2(2(1 + 2ρ)(1− ρ) + 4ρ2)=

4ρ(1 + ρ2 − 2ρ+ 2ρ− ρ2)

(1− ρ)(2− 2ρ+ 4ρ− 4ρ2 + 4ρ2)=

(1− ρ)(2 + 2ρ)=

(1− ρ)(1 + ρ).