Optimizacion Programacion Lineal

65
Universit ´ e Jean Monnet Saint Etienne Universidad Central del Ecuador PROYECTO Optimizaci´onMatem´aticayM´ etodos Econ´omicos Para obtener la Licenciatura en Ciencia y Tecnolog´ ıas, menci´onMatem´atica Autora: Ver´onicaM.AcurioV´asconez Tutor: Dr. Julio Medina Junio 2009 Quito - Ecuador

description

Primero tengo que empezar diciendo que siento mucho la falta de tildes, pero por ahora me encuentro en Francia y el teclado aqui no me permite poner tildes, asi que lo siento.Este es un pdf sobre optimizacion utilizando programacion lineal. Fue mi proyecto de Licenciatura y aunque no sea muy avanzado estoy muy orgullosa de él.Este documento esta escrito mucho mas matematicamente, pero trate de hacerlo lo mas facil para entender, ojala les sirva.También quiero dar las gracias a quienes sin saberlo me ayudaron a crear este documento. En la bibliografia estan mencionados.Que lo disfruten!

Transcript of Optimizacion Programacion Lineal

Page 1: Optimizacion Programacion Lineal

Universite Jean MonnetSaint Etienne

Universidad Central del Ecuador

P R O Y E C T O

Optimizacion Matematica y MetodosEconomicos

Para obtener la Licenciatura en Ciencia y Tecnologıas,mencion Matematica

Autora:Veronica M. Acurio Vasconez

Tutor:Dr. Julio Medina

Junio 2009

Quito - Ecuador

Page 2: Optimizacion Programacion Lineal

A Dios y a mis padres, Bertila y Franklin.Las palabras son insuficientes pararetribuirles su ayuda, ası que solo me quedadecirles GRACIAS.

Page 3: Optimizacion Programacion Lineal

Optimizacion Matematica y Metodos

Economicos:

Programacion Lineal

Veronica M. Acurio Vasconez

3 de julio de 2009

Page 4: Optimizacion Programacion Lineal

Indice general

1. Introduccion 2

2. Elementos Matematicos Previos 42.1. Convexidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.1.1. Conjuntos Convexos . . . . . . . . . . . . . . . . . . . 42.1.2. Funciones Convexas . . . . . . . . . . . . . . . . . . . . 7

3. Elementos de un Problema de Optimizacion 83.1. Generalidades . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

4. Programacion Lineal 104.1. El Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104.2. Generacion de Soluciones de Punto Extremo . . . . . . . . . . 194.3. Dualidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244.4. El Metodo Simplex . . . . . . . . . . . . . . . . . . . . . . . . 29

4.4.1. Desarrollo de una solucion posible mınima . . . . . . . 294.4.2. Procedimiento de Computo . . . . . . . . . . . . . . . 33

4.5. Alternativa al Metodo Simplex . . . . . . . . . . . . . . . . . . 40

5. Modelizacion PL y AplicacionesActivo/Pasivo, Flujo de Caja, Fondos Compensatorios 415.1. Algunos Terminos Financieros . . . . . . . . . . . . . . . . . . 41

5.1.1. Modelar . . . . . . . . . . . . . . . . . . . . . . . . . . 425.1.2. Resolver . . . . . . . . . . . . . . . . . . . . . . . . . . 445.1.3. Interpretar . . . . . . . . . . . . . . . . . . . . . . . . . 50

5.2. Caracterısticas de los Programas Lineales . . . . . . . . . . . . 515.3. Dedicacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525.4. Sensibilidad y Analisis de la Programacion Lineal . . . . . . . 58

6. Conclusiones 59

1

Page 5: Optimizacion Programacion Lineal

Capıtulo 1

Introduccion

Los problemas de optimizacion son de gran importancia hoy en dıa, estanpresentes no solo en el campo cientıfico, sino tambien en la ingenierıa y losnegocios. En este ultimo, la aplicacion de esta tecnica, nace de la necesidadde distribuir los recursos de tal manera que se logre obtener mayor ganancia.

La Optimizacion Matematica, es entonces, una rama de las aplicacionesmatematicas que permite encontrar soluciones robustas a problemas de difer-entes clases, minimizado o maximizando funciones.

En el mundo de los negocios, este tema tiene una gran importancia yaplicacion, puesto que del maximizar o minimizar una situacion generada ytomar una decision acertada, dependen las ganancias o perdidas de una ac-cion economica y por tanto, las finanzas de una empresa.

El presente proyecto esta divido en cinco capıtulos, incluyendo la Intro-duccion. El segundo capıtulo es un analisis previo, en el que se desarrollala teorıa de la convexidad por la importancia de sus conceptos dentro de laprogramacion lineal. En el tercer capıtulo se explica los elementos basicos deun problema de optimizacion y la idea del problema. El cuarto hace refer-encia a la Programacion Lineal y todo lo que esta conlleva. Las definiciones,teoremas, demostraciones y ciertos ejemplos, han sido obtenidos de la lecturade la bibliografıa. Finalmente, en la ultima parte se hace una introduccion aterminos financieros y economicos utilizados en la optimizacion, especıfica-mente en el desarrollo de portafolios, y se desarrollan dos programas linealessencillos como aplicacion.

Si bien en el capıtulo de Programacion Lineal se explica el algoritmodel metodo simplex, para la resolucion de problemas lineales, los modelos

2

Page 6: Optimizacion Programacion Lineal

CAPITULO 1. INTRODUCCION

aquı planteados, han sido realizados usando la herramienta informatica Mat-lab 7.0, que tambien se explica como utilizarla.

Cabe recalcar que aunque el proyecto no desarrolla un tema nuevo onovedoso, pleno de investigacion, si presenta una teorıa jamas vista durantelos tres anos de licenciatura, dandole ası un significado especial dentro de miformacion academica.

Veronica M. Acurio Vasconez 3

Page 7: Optimizacion Programacion Lineal

Capıtulo 2

Elementos Matematicos Previos

2.1. Convexidad

2.1.1. Conjuntos Convexos

Definicion 2.1.1 Sean P1, P2, ..., Pn ∈ Rn. Una combinacion convexa de

los puntos P1, P2, ..., Pn es un punto

P = α1P1 + α2P2 + · · · + αnPn

donde las αi son escalares, αi ≥ 0 y∑

i=1

αi = 1.

Definicion 2.1.2 Sean x y y dos puntos cualesquiera dados en un espaciovectorial. Para todo λ ∈ [0, 1] la combinacion λx + (1 − λ) y se dice combi-nacion convexa de x y y.

Definicion 2.1.3 C ⊂ Rn, es convexo si y solo si para todo par de puntosP1 y P2 en C, cualquier combinacion convexa de estos puntos esta tambienen C.

Propiedades:

1. Para cualquier par de puntos dados en un conjunto convexo, el segmen-to de lınea que los une esta tambien en el conjunto.

2. El conjunto K es convexo si y solo si toda combinacion lineal convexade puntos de K pertenece a K.

4

Page 8: Optimizacion Programacion Lineal

CAPITULO 2. ELEMENTOS MATEMATICOS PREVIOS

3. El conjunto de todas las combinaciones lineales convexas de los puntosx1, ..., xk es un conjunto conexo.

4. Si los conjuntos S y T son convexos:

a) El conjunto S ∩ T es convexo.

b) el conjunto S + T = {x + t : s ∈ S y t ∈ T} es convexo.

c) El conjunto S = {·s : · ∈ R y 0, S ∈ S}

Teorema 2.1.1 Cualquier punto sobre el segmento de lınea que une dos pun-tos de un conjunto Rn, puede ser expresado como una combinacion convexade los dos puntos.

Demostracion Sean P y Q los puntos unidos por el segmento de lınea, ysea R un punto cualquiera sobre esta. Es claro que este segmento es paraleloa la lınea definida por el vector P − Q.

Sea 0 ≤ λ ≤ 1, por las reglas de suma de vectores se sigue que:

Q + λ (P − Q) = R

o tambien,λP + (1 − λ)Q = R

que es la expresion de R como combinacion lineal de P y Q. �

Teorema 2.1.2 Cualquier punto que puede ser expresado como combinacionconvexa de dos puntos de En estara sobre el segmento de lınea que une a losdos puntos.

Demostracion Tenemos,

R = (1 − λ) Q + λP o R − Q = λ (P − Q) , con 0 ≤ λ ≤ 1

Se sigue que R − Q es algun multiplo positivo del vector P − Q y por tantolos vectores R − Q y P − Q deberan coincidir en direccion.

Por otra parte, como el segmento de lınea que une P con Q y el segmentode lınea que une R con Q son paralelos a los vectores P−Q y R−Q respectiva-mente, el punto R debera estar sobre el segmento de lınea que une P con Q.�

Veronica M. Acurio Vasconez 5

Page 9: Optimizacion Programacion Lineal

CAPITULO 2. ELEMENTOS MATEMATICOS PREVIOS

Definicion 2.1.4 Sea C un conjunto convexo. Un punto U ∈ C se dicepunto extremo, si U no puede ser expresado como una combinacion convexade otros dos puntos cualquiera distintos en C.

Ejemplo 2.1.1 Los puntos extremos de un conjunto convexo que incluyela frontera y el interior de un cırculo, es su frontera. Si el conjunto no in-cluyera la frontera, el conjunto no tuviera puntos extremos.

Ejemplo 2.1.2 Los puntos extremos de un triangulo son sus vertices.

Definicion 2.1.5 Se dice casco envolvente convexo C(S) de cualquier con-junto dado de puntos S al conjunto de todas las combinaciones convexas deconjuntos de puntos de S.

C(S) es el conjunto convexo mas pequeno que contiene S.

Definicion 2.1.6 Si el conjunto S consiste de un numero finito de puntos,C(S) se denomina un poliedro convexo.

Ejemplo 2.1.3 El conjunto de una region factible de un problema de op-timizacion (que se definira en el siguiente capıtulo)es un conjunto polieldral.

Definicion 2.1.7 Un simplex es un poliedro n-dimensional que tiene exac-tamente n + 1 vertices.

Observacion Las fronteras del simplex contienen varios simplex de menordimension llamados caras simpliciales. El numero de tales caras de dimension

i es

(

n + 1i + 1

)

.

Observacion Un simplex en la dimension cero es un punto, en la dimension1 una lınea, en tres un tetraedro, y ası.

Observacion La ecuacion de un simplex con interseccion unitaria es xi ≥ 0,m∑

i=1

xi ≤ 1

Veronica M. Acurio Vasconez 6

Page 10: Optimizacion Programacion Lineal

CAPITULO 2. ELEMENTOS MATEMATICOS PREVIOS

2.1.2. Funciones Convexas

Definicion 2.1.8 Sea f : S ⊂ X → R ⊂ X con X convexo. f se diceconvexa si y solo si dados x, y ∈ X.

f (ax + (1 − a) y) ≤ af (x) + (1 − a) f (y) , ∀a, 0 < a < 1

Se dice que f es estrictamente convexa si y solo si se cumple la desigual-dad estricta.

Definicion 2.1.9 f se dice concava o estrictamente concava si y solo si−f(x) es convexa o estrictamente convexa respectivamente.

Propiedades:

1. f(x) + g(x) es convexa.

2. max[f(x), g(x)] es convexa.

3. cf(x) con c ≥ 0, es convexa.

Veronica M. Acurio Vasconez 7

Page 11: Optimizacion Programacion Lineal

Capıtulo 3

Elementos de un Problema deOptimizacion

3.1. Generalidades

Definicion 3.1.1 Los elementos esenciales de un problema de optimizacionson los siguientes:

1. Variables de Decision o Instrumentos: Es un vector de X variables(x1, ..., xn) que seran las incognitas a encontrar al solucionar un prob-lema de optimizacion.

2. Conjunto de Oportunidades: Es el conjunto K ⊂ Rn donde se resuelve

el problema. Es claro que X ∈ K.

3. Funcion Objetivo: Es la funcion f definida como:

f : Rn → R

X 7→ f (x1, . . . , xn)

Es una descripcion matematica del objetivo del problema, el mismo quesera maximizado o minimizado.

Observacion Si es posible encontrar una secuencia Xk ∈ K para todo

k, y f(

Xk)

diverge hacia −∞, entonces el problema se dice irresoluble.

4. Funciones y Constantes de Restriccion: Son funciones y constantesdadas en problema, que delimitan la funcion objetivo.

8

Page 12: Optimizacion Programacion Lineal

CAPITULO 3. ELEMENTOS DE UN PROBLEMA DE OPTIMIZACION

Un problema de optimizacion se reduce entonces a buscar un X ∈ K queresuelve:

mınX f (X)tal que X ∈ K

(3.1)

Definicion 3.1.2 Se dice que un problema de optimizacion es factible siexiste X

∗ ∈ K que cumple con las condiciones de restriccion.

Si el problema no es ni infactible ni irresoluble, entonces es posible en-contrar una solucion X

∗ ∈ K que satisface:

f (X∗) ≤ f (X) , ∀X ∈ S

tal que X∗ es llamado un mınimo global del problema de optimizacion.

Si f (X∗) < f (X) , ∀X ∈ K, entonces X∗ se dice un mınimo estricto

global.

En ocasiones solo es posible encontrar X∗ que satisface

f (X∗) ≤ f (X) , ∀X ∈ S ∩ BX∗ (ε)

Para algun ε > 0, donde BX∗ (ε) es la bola abierta de radio ε con centroen X

∗, es decir:

B (X∗; ε) = BX∗ (ε) = {X : ‖X − X∗ < ε‖}

En este caso, X∗ es llamado un mınimo local.

El mınimo estricto local esta definido como:

f (X∗) < f (X) , ∀X ∈ K ∩ BX∗ (ε)

El conjunto factible K se lo puede escribir explıcitamente como sigue:

K := {X : gi (X) = 0, i ∈ ε, gi (X) ≥ 0, i ∈ I}

Donde ε es el conjunto para las restricciones de igualdad e I el conjuntode las restricciones de desigualdad.

Veronica M. Acurio Vasconez 9

Page 13: Optimizacion Programacion Lineal

Capıtulo 4

Programacion Lineal

La Programacion Lineal es considerada como uno de los avances cientıficosmas importantes del siglo anterior. Desde 1950, gracias al exponencial crec-imiento de la tecnologıa computacional, esta herramienta se ha ido acoplandocada vez mas dentro de toda empresa, ya sea grande o pequena, ahorrandolesa las mismas enormes cantidades de dinero al realizar sus operaciones.

La aplicacion de esta herramienta es sumamente variada, va desde la asig-nacion de instalaciones de produccion de una empresa hasta la asignacion derecursos nacionales, pasando por la seleccion de una cartera de inversiones,patrones de envıo, planeacion agrıcola, de redes, hasta incluso la de una dieta.

Como todo modelo matematico, la programacion lineal permite expresarun problema de la vida diaria como un conjunto de funciones, restriccionesy objetivos, que permiten dar soluciones a tales problemas.

4.1. El Problema

Resolver un problema de este tipo, consiste en elegir valores no negativosde ciertas variables, para maximizar o minimizar la funcion objetivo, que eslineal y que esta sujeta a restricciones dadas por ecuaciones o desigualdadeslineales.

Un problema generico de Programacion Lineal (PL), se representa de lasiguiente forma:

10

Page 14: Optimizacion Programacion Lineal

CAPITULO 4. PROGRAMACION LINEAL

mınX cTX

aTi X = bi, i ∈ ε

aTj X = bj, j ∈ I

(4.1)

Donde ε y I son los conjuntos de restricciones de igualdades y desigual-dades respectivamente.

Sin embargo, podemos expresar este problema en la forma estandar,

mınX cTX

AX = bX ≥ 0

(4.2)

Aquı, A ∈ Rmxn, b ∈ R

m, c ∈ Rn son dados y x ∈ R

n es la variable vectora ser determinada. A es la matriz de coeficientes de las funciones de restric-cion, b el vector de las constantes de restriccion asociadas y f (X) = cT

X,donde c es el vector de coeficientes de la funcion objetivo.

Suponemos que A tiene rango n, pues caso contrario no podrıa ser re-ducida.

En la forma estandar podemos escribir las desigualdades introduciendouna variable extra estrictamente no negativa, llamadas variables de holgadu-ra.

Ejemplo 4.1.1 Sea el problema de optimizacion:

mınX f (X) = −x1 − x2

2x1 + x2 ≤ 12x1 + 2x2 ≤ 9

x1, x2 ≥ 0

Este problema puede reescribirse como:

mınX f (X) = −x1 − x2

2x1 + x2 + x3 = 12x1 + 2x2 + +x4 = 9x1, x2, x3, x4 ≥ 0

Definicion 4.1.1 Una solucion basica del problema PL es una solucionobtenida al hacer n − m variables igual a cero y resolver por las m vari-ables restantes, siempre que el determinante de los coeficientes de estas mvariables no sea cero. Las m variables se llaman variables basicas.

Veronica M. Acurio Vasconez 11

Page 15: Optimizacion Programacion Lineal

CAPITULO 4. PROGRAMACION LINEAL

Definicion 4.1.2 Una solucion posible basica o solucion factible basica esuna solucion basica que tambien satisface las condiciones de restriccion.

Definicion 4.1.3 Una solucion basica no degenerada es una solucion basicaposible con exactamente m xi positivas; esto es, todas las variables basicasson positivas.

Teorema 4.1.1 El conjunto de todas las soluciones factibles al problema dePL, es un conjunto convexo.

Demostracion Debemos probar que toda combinacion convexa de dos solu-ciones cualquiera es tambien una solucion factible.

Lo probaremos por recurrencia. Si el conjunto de soluciones tiene un soloelemento, el teorema es verdadero.

Supongamos ahora que existen por lo menos dos soluciones X1 y X2. Sesigue que AX1 = b y AX2 = b , para X1, X2 ≥ 0.

Sea 0 ≤ α ≤ 1 y sea X = αX1 + (1 − α) X2 una combinacion convexade X1 y X2. Es claro que X ≥ 0 pues ninguno de sus elementos es negativo.Luego,

AX = A (αX1 + (1 − α) X2)= αAX1 + A (1 − α) X2

= αAX1 + AX2 − αAX2

= αb + b − αb= b

Por tanto AX es una solucion factible.�

Observacion Se dice que X es una solucion factible si X satisface las re-stricciones y se dice que X es una solucion optima si a mas de satisfacer lasrestricciones, minimiza la funcion objetivo, comparada con las otras solu-ciones factibles. Es decir, X = (x1, ..., xn) , xi ≥ 0 para todo i = 1, ..., n esuna solucion factible si,

x1P1 + x2P2 + ... + xnPn = P0, donde

P1 =

a11

.am1

, P2 =

a12

.am2

, ..., Pn =

a1n

.amn

y P0 =

b1

.bm

Veronica M. Acurio Vasconez 12

Page 16: Optimizacion Programacion Lineal

CAPITULO 4. PROGRAMACION LINEAL

Observacion Existen dos circunstancias en las cuales un problema de pro-gramacion lineal puede no tener una solucion:

1. Si las restricciones son incompatibles de modo que el conjunto de opor-tunidades es vacıo.

2. Si el conjunto de oportunidades es no acotado y la funcion objetivopuede crecer sin lımite dentro de este conjunto.

Ejemplo 4.1.2 Supongamos que una de las restricciones para una com-ponente xi de X xi ≤ −6, esto contradice el hecho de que xi ≥ 0 para todoi = 1, ..., n, y por tanto no existe ningun elemento que cumpla esta condicion,convirtiendo al conjunto de oportunidades en uno vacıo, donde el problemaPL no tiene solucion.

Ejemplo 4.1.3 Sea el problema de programacion Lineal definido como,

mınX f(X) = x1 + x2

−x1 − x2 ≤ −8x1, x2 ≥ 0

El conjunto de oportunidades es no acotado y la funcion objetivo no poseelımite dentro de este conjunto. Por tanto es posible que el problema no tengasolucion.

Si el conjunto de oportunidades es no vacio y acotado, entonces existeuna solucion y debe ser una solucion de contorno.

En general, podemos decir que existen tres tipos de soluciones a estosproblemas; una solucion unica (un vertice), infinitas soluciones (una recta)o ninguna solucion (si el conjunto de oportunidades es vacıo o no acotado),mas adelante se probaran todos estos resultados.

Teorema 4.1.2 La funcion objetivo alcanza su mınimo en un punto extremodel conjunto convexo generado por el conjunto de soluciones posibles al prob-lema PL. Si alcanza este mınimo en mas de un punto extremo, entonces tomael mismo valor para toda combinacion convexa de estos puntos particulares.

Demostracion Sea K el conjunto convexo generado por el conjunto de solu-ciones, podemos afirmar que K tiene un numero finito de puntos extremos.

Veronica M. Acurio Vasconez 13

Page 17: Optimizacion Programacion Lineal

CAPITULO 4. PROGRAMACION LINEAL

Sea f(X) la funcion objetivo, los vectores x1, ..., xp las soluciones factibles yX0 la solucion optima, es decir f (X0) ≤ f (X) para todo X ∈ K. Si X0 es unpunto extremo, entonces cumplimos con la primera parte del teorema.

Supongamos que X0 no es un punto extremo, entonces lo podemos expre-sar como una combinacion convexa de los puntos extremos de K, es decir

X0 =

q∑

i=1

αixi, con αi ≥ 0 y∑

i

αi = 1

Entonces, como f(X) es lineal, se sigue que

f (X0) = f

(

p∑

i=1

αixi

)

= f(

α1X1 + α2x2 + ... + αpxp

)

= α1f (x1) + α2f (x2) + ... + αpf (xp) = m

Donde m es el mınimo de f(X) para toda X ∈ K.

Dado que la suma anterior no se incrementa, sustituyendo por cada f (xi)el mınimo de todos estos valores f (xm) = mın f (xi) y sabiendo que

i

αi =

1, tenemos que

f (X0) ≥ α1f (xm) + α2f (xm) + ... + αpf (xm) = f (xm)

y como f (X0) ≤ f (X) para toda X ∈ K, debe cumplirse que

f (X0) = f(

Xm

)

= m

Es decir, existe un punto extremo Xm en el que la funcion objetivo alcan-za su mınimo.

Para probar la segunda parte del teorema, supongamos que existen x1, ..., xq

soluciones mınimas para el problema LP. Se sigue entonces que f (x1) =f (x2) = ..... = f (xm) = m. Sea X una combinacion convexa de las xi, en-

tonces X =q∑

i=1

αixi para αi ≥ 0 y∑

i

αi = 1.

Luego,

Veronica M. Acurio Vasconez 14

Page 18: Optimizacion Programacion Lineal

CAPITULO 4. PROGRAMACION LINEAL

f (X) = f (α1x1 + α2x2 + ... + αqxq)= α1f (x1) + α2f (x2) + ... + αqf (xq)

=∑

i

αim

= m

Observacion Para encontrar una solucion mınima al problema PL, necesi-tamos considerar solo los puntos extremos del conjunto de soluciones.

Teorema 4.1.3 Si puede encontrarse un conjunto de k ≤ n vectores P1, ..., Pk

LI que cumplan

x1P1 + x2P2 + ... + xkPk = P0, con xi ≥ 0

Entonces X = (x1, ..., xk, 0, ..., 0) es un punto extremo del conjunto convexode oportunidades.

Demostracion Sea K el conjunto de oportunidades.Supongamos que X no es un punto extremo. Entonces, dado que X es unasolucion posible, se la puede expresar como una combinacion convexa de otrospuntos X1 y X2 ∈ K. Tenemos,

X = αxi + (1 − α) x2 para 0 < α < 1

Como xi ≥ 0, con xi ∈ X, se sigue que los ultimos n− k elementos de X1

y X2 son cero, es decir,

X1 =(

x(1)1 , x

(1)2 , . . . , x

(1)k , 0 . . . 0

)

X2 =(

x(2)1 , x

(2)2 , . . . , x

(2)k , 0 . . . 0

)

Ahora, como X1 y X2 son soluciones factibles, AX1 = b y AX2 = b.

Entonces,

x(1)1 P1 + x

(1)2 P2 + . . . + x

(1)k Pk = P0 y,

x(2)1 P1 + x

(2)2 P2 + . . . + x

(2)k Pk = P0

Veronica M. Acurio Vasconez 15

Page 19: Optimizacion Programacion Lineal

CAPITULO 4. PROGRAMACION LINEAL

Como P1, P2, . . . , Pk son LI, P0 puede ser expresado como una combi-nacion unica de estos vectores, es decir,

xi = x(1)i = x

(1)i

Por tanto X no puede ser expresado como una combinacion convexa de dospuntos distintos de K y por lo tanto X es un punto extremo.�

Teorema 4.1.4 Si X = (x1, ..., xn) es un punto extremo de K, entonces losvectores asociados con las xi positivas, forman un conjunto LI. Ademas, almenos m de las xi son positivas.

Demostracion Sean los coeficientes distintos de cero los primeros k coefi-cientes, tales que,

k∑

i=1

xiPi = P0

Supongamos que los vectores P1, ...Pk son LD, entonces existe una com-binacion lineal de estos vectores tal que,

d1P1 + d2P2 + . . . + dkPk = 0

donde al menos una di 6= 0.

Por hipotesis, sabemos que,

x1P1 + x2P2 + . . . + xkPk = P0

Luego, multiplicando la primera ecuacion por d > 0, y sumando ambas,se sigue que,

x1P1 + x2P2 + . . . + xkPk + d (d1P1 + d2P2 + . . . + dkPk) = P0k∑

i=1

xiPi + dk∑

i=1

diPi = P0

Por otra parte, si restamos estas ecuaciones, tenemos,

Veronica M. Acurio Vasconez 16

Page 20: Optimizacion Programacion Lineal

CAPITULO 4. PROGRAMACION LINEAL

k∑

i=1

xiPi − dk∑

i=1

diPi = P0

Entonces, dos soluciones posibles son:

X1 = (x1 + dd1, . . . , xk + dd1, 0 . . . , 0) y,X2 = (x1 − dd1, . . . , xk − dd1, 0 . . . , 0)

Ahora bien,

1/2X1 + 1/2X2 =(

1/2x1 + dd1 + 1/2x1 − dd1, . . . , 1/2xk + ddk + 1/2xk − ddk, 0 . . . , 0)

= (x1, x2, . . . , xk, 0, . . . , 0)= X

Lo que es una contradiccion, pues X es un punto extremo y por tanto nose lo puede expresar como combinacion lineal de otros puntos extremos.

Por lo tanto lo que supusimos es incorrecto, y entonces los P1, ...Pk son LI.

Para probar que al menos m de las xi son positivas, partimos del hechode que todo conjunto de m + 1 de vectores en un espacio m dimensionales necesariamente LD, entonces no podemos tener mas de m xi positivas,puesto que si esto ocurriera, por la parte anterior de este teorema, existirıanvectores P1, ..., Pm, Pm+1 que son LI.

Podemos entonces concluir que el conjunto de P1, ..., Pn del problema PL,tiene siempre un conjunto m de vectores LI, es decir, posee al menos m xi

positivas. �

Corolario 4.1.5 Con cada punto extremo de K, se encuentra asociado unconjunto de m vectores LI del conjunto dado P1, ..., Pn.

Demostracion De acuerdo al teorema (4.1.3) existen k ≤ m vectores deP1, ..., Pn que son LI. Si k = m, no hay nada mas que demostrar.

Sea k < m y supongamos que podemos encontrar solamente Pk+1, ..., Pr

vectores adicionales tales que P1, ..., Pk, Pk+1, ..., P r para r < m son LI. Sesigue que los n− r vectores restantes depende de P1, ..., Pr, lo que contradice

Veronica M. Acurio Vasconez 17

Page 21: Optimizacion Programacion Lineal

CAPITULO 4. PROGRAMACION LINEAL

el hecho de que siempre existe un conjunto de m vectores LI en el conjuntodado. Por tanto, deben haber m vectores LI P1, ..., Pm asociados con cadapunto extremo, tales que

k∑

i=1

xiPi +m∑

i=k+1

0Pi = P0

Teorema 4.1.6 X = (x1, ..., xn) es un punto extremo de K, si y solo si lasxj positivas son coeficientes de vectores Pj LI en

k∑

i=1

xjPj = P0

Demostracion Este teorema es la conjuncion de los teoremas anteriores,por tanto su demostracion esta la hecha. �

Observacion Note que existe un punto extremo de K, donde la funcion ob-jetivo alcanza su mınimo.

Observacion Cada solucion factible corresponde a un punto extremo de K.

Veronica M. Acurio Vasconez 18

Page 22: Optimizacion Programacion Lineal

CAPITULO 4. PROGRAMACION LINEAL

4.2. Generacion de Soluciones de Punto Ex-

tremo

Supongamos que conocemos una solucion de punto extremo en terminosde m vectores Pj del conjunto original de n vectores. Podemos hacer que esteconjunto de m vectores LI sean los primeros, es decir

X = (x1, x2, ..., xm, 0, ..., 0)

sea el vector solucion. Entonces tenemos

x1P1 + x2P2 + ... + xmPm = P0

donde todas las xi ≥ 0. Con estos elementos vamos a buscar otra solucionde punto extremo, solucion basica para el problema, suponiendo que existeuna.

En efecto, dado que los P1, ..., Pm son LI estos forman una base para unespacio vectorial m-dimensional, y entonces cualquier vector de los n dadosse puede expresar como,

Pj =m∑

i=1

xijPi, j = m + 1, ..., n (4.3)

Supongamos ahora que existe un vector Pm+1 que no esta en la base, quetiene al menos un elemento xi,m+1 > 0 en la expresion

x1,m+1P1 + x2,m+1P2 + ... + xm,m+1Pm = Pm+1 (4.4)

Sea θ un numero cualquiera, multiplicandolo por (4.4) y restando de(4.3), se sigue que,

(x1 − θx1,m+1)P1 + (x2 − θx2,m+1) P2 + ...... + (xm − θxm,m+1) Pm + θPm+1 = P0

(4.5)

El vector X′ = (x1 − θx1,m+1, x2 − θx2,m+1, ..., xm − θxm,m+1, θ) es una

solucion al problema y si todos sus elementos son no negativos, es una solu-cion factible.

Como estamos buscando una solucion factible, distinta de X, restringimosθ a θ > 0. Ası, todos los elementos de X

′ que tiene una x1,m+1 negativa oigual a 0, tambien tendran una xi−θxi,m+1 no negativa. Si xi,m+1 es positiva,deseamos encontrar un θ > 0 tal que para todas las xi,m+1 > 0, cumplan que

xi − θxi,m+1 ≥ 0

Veronica M. Acurio Vasconez 19

Page 23: Optimizacion Programacion Lineal

CAPITULO 4. PROGRAMACION LINEAL

de donde,

θ ≤xi

xi,m+1

luego, si tomamos 0 < θ ≤ mıni

xi

xi,m+1tendremos una solucion factible.

Ahora, como estamos buscando una solucion de punto extremo, y porlos teoremas de la Seccion 4.2 sabemos que no podemos tener todos loselementos m + 1 de X

′ positivos, entonces uno de ellos debe ser exactamenteigual a cero. Sea

θ = θ0 = mıni

xi

xi,m+1

para xi,m+1 > 0. Entonces el elemento en X′ para el cual se obtiene este

mınimo se reducira a cero. Tomemos el primer elemento,

θ0 = mıni

xi

xi,m+1

=x1

x1,m+1

se sigue que,

x′

2P2 + x′

3P3 + ... + x′

mPm + x′

m+1Pm+1 = P0

donde x′

i = xi − θ0xi,m+1, para i = 1, ..., m y x′

m+1 = θ.

Demostremos ahora, que efectivamente X =(

x′

2, ..., x′

m, x′

m+1

)

es un pun-to extremo, para ello debemos mostrar que P2, P3, ..., Pm, Pm+1 son LI.

Supongamos que estos vectores son LD, entonces

d2P2 + d3P3 + ... + dmPm + dm+1Pm+1 (4.6)

Con alguna dj 6= 0. Luego sabemos que cualquier subconjunto de unconjunto LI es tambien LI, entonces P2, ..., Pm son LI, lo que implica quedm+1 6= 0.

Sea ei = di

dm+1, se sigue que

e2P2 + e3P3 + ... + emPm = Pm+1 (4.7)

Si restamos (4.7) y (4.4) tenemos,

xi,m+1P1 + (x1,m+1 − e2) P2 + ... + (xm,m+1 − em) Pm = 0 (4.8)

Luego, como P2, ..., Pm son LI, se sigue que todos estos coeficientes son igualesa cero, pero xi,m+1 es estrictamente mayor a cero, por tanto lo que supusimos

Veronica M. Acurio Vasconez 20

Page 24: Optimizacion Programacion Lineal

CAPITULO 4. PROGRAMACION LINEAL

es incorrecto y podemos decir que estos vectores deben ser necesariamenteLI, y por tanto podemos concluir que X

′ es una solucion extrema factible.

Para seguir extrayendo nuevas soluciones posibles, proseguimos de estamisma manera.

Ahora, debemos encontrar la representacion de cualquier vector que nose encuentre en la nueve base P2, ..., Pm, Pm+1 en terminos de esta.

De (4.4) se tiene que

P1 =1

x1,m+1

(Pm+1 − x2,m+1P2 − ... − xm,m+1Pm) (4.9)

Sea,Pj = x1jP1 + x2jP2 + ... + xmjPm (4.10)

el vector que buscamos. Reemplazando P1 de (4.9) en (4.10) tenemos,

Pj =(

x2j −x1j

x1,m+1x2,m+1

)

P2 +(

x3j −x1j

x1,m+1x3,m+1

)

P3 + ...

... +(

xmj −x1j

x1,m+1xm,m+1

)

Pm +x1j

x1,m+1Pm+1

En este procedimiento se selecciona una nueva variable para ser introduci-da en el sistema y ası obtener la nueva solucion y las nuevas representacionesde los vectores que no se encuentran en la base.

Ejemplo 4.2.1 Sea el conjunto de ecuaciones:

P1 P2 P3 P4 P5 P6 P0

3x1 − x2 + 2x3 + x4 = 72x1 − 4x2 + x5 = 12−4x1 − 3x2 + 8x3 + x6 = 10

La solucion inicial de punto extremo X = (0, 0, 0, 7, 12, 10), es decir

7P4 + 12P5 + 10P6 = P0 (4.11)

En este ejemplo, los vectores base P4, P5, P6 son unitarios. Deseamos in-troducir el vector P1 para obtener otra solucion de punto extremo. La repre-sentacion de P1 en terminos de los vectores base es:

P1 = 3P4 + 2P5 − 4P6 (4.12)

Veronica M. Acurio Vasconez 21

Page 25: Optimizacion Programacion Lineal

CAPITULO 4. PROGRAMACION LINEAL

Y entonces,x41 = 3, x51 = 2 y x61 = −4

Si multiplicamos (4.12) por θ y restamos el resultado de (4.11), tenemos

(7 − 3θ) P4 + (12 − 2θ) P5 + (10 + 4θ)P6 + θP1 = P0 (4.13)

Como x41 y x51 son positivos, θ0 es

0 < θ = θ0 = mıni

xi

xi1

Luego,θ04

= x4

x41= 7

3

θ05= x5

x51= 6

θ06= x6

x61= −5

2

Entonces 0 < θ = θ0 = 7/3.

Reemplazando θ0 en (4.13) se sigue que

22

3P5 +

58

3P6 +

7

3P1 = P0

aquı se ha eliminado P4 de la base, es decir X′ =

(

7/3, 0, 0, 0,22/3,

58/3

)

es

una solucion de punto extremo.

Si en vez de P1 hubiesemos buscado la solucion en terminos de P2, hu-biesemos obtenido que

(7 + θ)P4 + (12 + 4θ) P5 + (10 + 3θ)P6 + θP2 = P0 (4.14)

donde cualquier θ > 0 nos de una solucion posible X′′ = (0, θ, θ, 7 + θ, 12 + 4θ, 10 + 3θ),

como en este caso, xi2 < 0, no es posible hallar una solucion de extremo.

Si colocamos en una matriz todos los datos, realizar este procedimientoresulta mucho mas eficiente.

P1 P2 P3 P4 P5 P6 P0 θ1 −1 2 1 0 0 7 7/3 = θ0

2 −4 0 0 1 0 12 6−4 −3 8 0 0 1 10

Como queremos insertar P1 a la base y θ0 se encuentra en la primera fila

hacemos a x1 del vector P1 el pivote y eliminamos x1 de todas las ecuaciones,

Veronica M. Acurio Vasconez 22

Page 26: Optimizacion Programacion Lineal

CAPITULO 4. PROGRAMACION LINEAL

excepto de la del pivote, donde hacemos x1 = 1.

Para hacerlo, procedemos como si la tabla fuese una matriz, por tantocon el metodo de eliminacion completa podemos obtener los resultados quedeseamos.

En efecto, si dividimos la primera fila por 3, tenemos

P1 P2 P3 P4 P5 P6 P0 θ1 −1/3 2/3 1/3 0 0 7/32 −4 0 0 1 0 12−4 −3 8 0 0 1 10

Haciendo −2F1 + F2 y 4F1 + F3

P1 P2 P3 P4 P5 P6 P0 θ1 −1/3 2/3 1/3 0 0 7/3

2/3 −10/3 −4/3 −2/3 1 0 22/30 −13/3 32/3 4/3 0 1 58/3

donde la nueva solucion es X′ =(

7/3, 0, 0, 0,22/3,

58/3

)

Y entonces la nueva base es P1, P5, P6 y ademas,

−1/3P1 − 10/3P5 − 13/3P6 = P2

2/3P1 − 4/3P5 − 32/3P6 = P3

1/3P1 − 2/3P5 − 4/3P6 = P4

Veronica M. Acurio Vasconez 23

Page 27: Optimizacion Programacion Lineal

CAPITULO 4. PROGRAMACION LINEAL

4.3. Dualidad

En la resolucion de un problema de optimizacion es necesario saber re-conocer una solucion optima entre las soluciones.

Retomemos el problema PL del ejemplo (4.1.1). Resolvamos el sistemagenerado.

[

2 1 1 0 121 2 0 1 9

]

∼1/2F1

[

1 1/2 1/2 0 61 2 0 1 9

]

∼−F1 + F2

[

1 1/2 1/2 0 60 3/2 0 1 3

]

∼2/3F2

[

1 1/2 1/2 0 60 1 0 2/3 2/9

]

Entonces,

x2 = (−2/9 + 2/3x4) y x1 = [6 − 1/2 (−2/9 + 2/3x4)] − 1/2x3

= 10/9 − 1/2x3 − 1/3x4

Algunas soluciones factibles a la funcion objetivo f(X) = −x1 − x2 son:

(x1, x2, x3, x4) = (0, 9/2, 15/2, 0) valor objetivo = −9/2 (1)(x1, x2, x3, x4) = (6, 0, 0, 3) valor objetivo = −6 (2)(x1, x2, x3, x4) = (5, 2, 0, 0) valor objetivo = −9/2 (3)

Como estamos minimizando la solucion (3) es la mejor, pero no estamosseguros de si esta es la optima.Notese que las restricciones limitan el valor de la funcion objetivo.Para el ejemplo que estamos desarrollando, usando la primera restricciondebemos tener que:

−x1 − x2 ≥ −2x1 − x2 − x3 = −12

Esta desigualdad debe cumplirse con todas las soluciones factibles dadoque xi son no negativas y el coeficiente de cada variable al lado izquierdode la inecuacion es al menos tan grande como el coeficiente de la variablecorrespondiente del lado derecho.

Si utilizamos la segunda restriccion tenemos,

−x1 − x2 ≥ −x1 − 2x2 − x4 = −12

o tambien podemos decir que,

−x1 − x2 ≥ −x1 − x2 − 1/3x3 − 1/3x4 = −12 − 9

Veronica M. Acurio Vasconez 24

Page 28: Optimizacion Programacion Lineal

CAPITULO 4. PROGRAMACION LINEAL

de donde se sigue que,

−x1 − x2 ≥ −1/3 (2x1 + x2 + x3) − 1/3 (x1 + 2x2 + x4) = −1/3 (12 + 9) = 7

(Observese que −1/3 (2x1 + x2 + x3)− 1/3 (x1 + 2x2 + x4) = −x1 −x2 −1/3x3 − 1/3x4 ).

Esta ultima desigualdad indica que para toda solucion factible, la solu-cion de la funcion objetivo no puede ser mas pequena que −7.

Si observamos la solucion (3) vemos que cuando (x1, x2, x3, x4) = (5, 2, 0, 0)el v.o = −7 y por tanto podemos concluir que esta es una solucion optimadel problema.

Estragegia: Si encontramos una solucion para el problema de progra-macion lineal y un lımite sobre el valor optimo de tal forma que el lımite yel valor objetivo de la solucion factible coincidan, entonces podemos tomaresta solucion como la solucion optima.

En nuestro ejemplo, la estrategia nos llevo a buscar valores y1 y y2 talesque

y1 (2x1 + x2 + x3)+y2 (x1 + 2x2 + x4) = (2y1 + y2)x1+(y1 + 2y2)x2+y1x3+y2x4

donde cada componente es menor o igual a −x1 − x2 o,

2y1 + y2 ≤ −1y1 + 2y2 ≤ −1

y1 ≤ 0y2 ≤ 0

Es decir, ahora buscamos y1 y y2 que formen una combinacion maximapara las restricciones anteriores, es decir,

max 12y1 + 9y2

2y1 + y2 ≤ −1y1 + 2y2 ≤ −1y1, y2 ≤ 0

Definicion 4.3.1 El problema dual es un problema correspondiente al prob-lema original. Se lo expresa como:

maxY bTY

ATY ≤ c

Veronica M. Acurio Vasconez 25

Page 29: Optimizacion Programacion Lineal

CAPITULO 4. PROGRAMACION LINEAL

donde y ∈ Rm. Anadiendo una variable extra, podemos expresar este proble-

ma como:maxY bT

Y

ATY + s = 0

s ≥ 0

donde s ∈ Rn

Teorema 4.3.1 (De la dualidad debil) Sea X una solucion factible del prob-lema PL y Y una solucion factible del problema dual correspondiente. En-tonces,

cTX ≥ bT

Y

Demostracion Como X ≥ 0 y c − AT Y = x ≥ 0, el producto de estos dosvectores debe ser no negativo.

YT s = sT

X

=(

c − ATY)T

X

= cTX − Y

T b ≥ 0

Por tanto cTX ≥ bT

Y. �

El hecho de que XT s = cT − Y

T b es usualmente llamada el hueco de du-alidad.

Los siguientes corolarios son inmediatos del teorema anterior.

Corolario 4.3.2 Si el problema primario PL (respectivamente el dual) esirresoluble, su dual (respectivamente el primario) es infactible.

Corolario 4.3.3 Si X es factible por el primario PL, es factible del dual PLy cT

X = bTY, entonces X es una solucion optima para el primario PL y Y

es la solucion optima del dual PL.

Demostracion Del teorema de dualidad debil, se sigue que para toda solu-cion factible X del problema primal,

cTX ≥ bT

Y∗

En consecuencia X∗ es una solucion optima al primal.

De la misma manera, podemos demostrar que Y∗ es una solucion optima

del dual. �

Veronica M. Acurio Vasconez 26

Page 30: Optimizacion Programacion Lineal

CAPITULO 4. PROGRAMACION LINEAL

Teorema 4.3.4 (De la dualidad Fuerte) Si el problema primal o el problemadual tiene una solucion optima finita, entonces el otro problema tiene unasolucion optima finita y los extremos de las funciones lineales son iguales, esdecir minf(x) = maxg(W ), y para cualquier solucion optima X del primaly Y del dual, se tiene que cT

X = bTY, ademas si uno de los problemas no es

acotado, entonces K es vacıo.

Demostracion La segunda parte se deriva directamente del teorema dedualidad debil. En efecto, supongamos que el primal no es acotado inferior-mente, entonces se tiene que cT x → −∞. Si el dual es factible, se tiene queexiste un y ≤ c que por el teorema de dualidad debil cumple con bT

Y ≤ cTX

de donde se sigue que bTY es una cota inferior sobre el valor de la funcion

objetivo del primal, lo que es una contradiccion.

Para demostrar la primera parte, supongamos que el primal posee unasolucion optima X

∗ para la que le valor de la funcion objetivo es igual a Z∗.

Sean xj1, xj2 , ..., xjmlas variables de la base de X correspondiente.

Notemos que cB = [cj1 , cj2, ..., cjm]T . Sea π el vector de multiplicadores

asociados a la base optima. Recordemos que las componentes de las variablesson definidas como:

cj = cj − ΠT aj , ∀j = 1, 2, . . . , n

donde aj es la j-esima columna de A.

Supongamos que esta solucion de base optima es tal que

cj = cj − ΠT aj ≥ 0, ∀j = 1, 2, . . . , n

En consecuencia,ΠT aj ≤ cj, ∀j = 1, 2, . . . , no aT

j Π ≤ cj, ∀j = 1, 2, . . . , n

de donde se sigue queAT Π ≤ c

lo que implica queΠ ∈

{

Y : ATY ≤ c

}

es decir que Π es una solucion factible para el dual.

Veronica M. Acurio Vasconez 27

Page 31: Optimizacion Programacion Lineal

CAPITULO 4. PROGRAMACION LINEAL

Encontremos ahora el valor de la solucion factible Π para el dual. Ten-emos,

Π = B−1T cB

De aquı se sigue que

bT Π = bT B−1T cB =(

B−1b)T

cB = X∗TB cB = Z

Definicion 4.3.2 X ∈ Rn es una solucion optima de (4.2) si y solo si

1. X es primal factible: AX = b, X ≥ 0 y existen Y ∈ Rn y S ∈ R

n talesque

2. (Y, S) es dual factible: ATY + S = c, S ≥ 0 y

3. cTX = bT

Y.

Un analisis de estas condiciones nos lleva a obtener un conjunto de condi-ciones optimas alternativas. Del teorema de dualidad debil, tenemos que

cTX − bT

Y =(

c − ATY)T

X ≥ 0

para cualquier par de soluciones factibles del primal-dual.

Este producto interno es 0. cTX = bT

Y si y solo si se cumple que paraj = 1, 2, ..., n, xi · (c − AT

Y)i = Si es cero.

Es decir,

0 =(

c − ATY)T

X =n∑

i=1

(

c − ATY)

iXi

donde cada termino es no negativo.

Dado que esta suma es cero, cada termino debe ser cero.

Entonces podemos decir que X ∈ Rn es una solucion optima de (4.2) si y

solo si

1. X es primal factible: AX = b, X≥ 0 y existen Y ∈ Rn y S ∈ R

n talesque

2. (Y, S) es dual factible: ATY + S = c, S ≥ 0 y

3. Para cada i = 1, ..., n se tiene que XiSi = 0.

Veronica M. Acurio Vasconez 28

Page 32: Optimizacion Programacion Lineal

CAPITULO 4. PROGRAMACION LINEAL

4.4. El Metodo Simplex

El metodo simplex fue desarrollado por George B. Dantzig en 1947, conel fin de resolver problemas de planeacion para el gobierno de los EstadosUnidos.

4.4.1. Desarrollo de una solucion posible mınima

Supongamos que el problema PL tiene solucion, y que esta se conoce.Ademas supongamos que sus primeras m componentes no son ni cero ni neg-ativas.

Recordemos que se dice que X es una solucion basica si es de la forma,

XN = 0, XB = B−1b

para alguna matriz base B. Si ademas XB = B−1b ≥ 0, la solucion XB =B−1b, XN = 0 es una solucion basica factible del problema PL original. Lasvariables XB son llamadas variables basicas, mientras que las de XN son lasvariables no basicas.

Sea X0 = (x10, x20, ..., xm0) y sea P1, ..., Pm el conjunto asociado de vec-tores LI, entonces

x10P1 + x20P2 + . . . + xm0Pm = P0 (4.15)

y,x10c1 + x20c2 + . . . + xm0cm = z0, con xi0 > 0 (4.16)

Las ci son los coeficientes de restriccion de la funcion objetivo y z0 es el valorcorrespondiente de la funcion objetivo para la solucion dada.

Como P1, ..., Pm son LI, podemos expresar cualquier vector del conjuntoP1, ..., Pn en terminos de P1, ..., Pm, es decir

Pj = x1jP1 + x2jP2 + . . . + xmjPj, j = 1, . . . , n (4.17)

Definamos,

zj = x1jc1 + x2jc2 + . . . + xmjcj, j = 1, . . . , n (4.18)

donde ci son los coeficientes de restriccion correspondientes a Pi.

Veronica M. Acurio Vasconez 29

Page 33: Optimizacion Programacion Lineal

CAPITULO 4. PROGRAMACION LINEAL

Teorema 4.4.1 Si para cualquier j fija, se cumple que zj − cj > 0, entoncespuede construirse un conjunto de soluciones posibles tales que z < z0 paracualquier miembro del conjunto donde el lımite inferior de z pude ser finitoo infinito (z es el valor de la funcion objetivo para un miembro particular delconjunto de soluciones posibles)

Demostracion Si multiplicamos (4.17) por un numero cualquiera θ y larestamos de (4.15) se sigue que,

(x10 − θx1j)P1 + (x20 − θx2j)P2 + . . . + (xm0 − θxmj) Pj + θPj = P0

con j = 1, . . . , n(4.19)

De igual forma si multiplicamos (4.18) por el mismo θ y la restamos de(4.16), tenemos,

(x10 − θx1j) c1 + (x20 − θx2j) c2 + . . . + (xm0 − θxmj) cj + θcj = z0 − (zj − cj)con j = 1, . . . , n

(4.20)Si todos los coeficientes de los vectores P1, ..., Pm, Pj en (4.19) no son

negativos, entonces hemos obtenido una nueva solucion z = z0 − θ(zj − cj).Como las variables x10, x20, ..., xm0 en (4.19) son todas positivas y por losteoremas de la Seccion 4.2, existe un vector θ > 0 (finito o infinito), para elcual los coeficientes de los vectores en (4.19) permanecen positivos.

Como j es fija, zj − cj > 0. Luego

z = z0 − θ (zj − cj) < z0, para θ > 0

En cada caso se puede obtener una solucion posible, cuyo valor correspon-diente de la funcion objetivo es menor que el valor de la solucion precedente.

1. Si el lımite inferior es finito, se puede construir una nueva solucionposible con exactamente m variables positivas, cuyo valor de la funcionobjetivo es menor que el valor para la solucion precedente.

Si para j fija, al menos xij > 0 en (4.17) para i = 1, ..., m el mayorvalor de θ, para el que todos los coeficientes de (4.19) permanecen nonegativos esta dado por,

θ0 = mıni

xi0

xij

> 0, para xij > 0 (4.21)

Veronica M. Acurio Vasconez 30

Page 34: Optimizacion Programacion Lineal

CAPITULO 4. PROGRAMACION LINEAL

2. Si el lımite inferior es infinito, puede construirse una nueva solucionposible con exactamente m variables positivas, cuyo valor de la funcionobjetivo puede hacerse tan pequena como sea necesario.

Si en cualquier paso de la demostracion del primer caso tenemos quepara cierta j, zj − cj > 0 y todas las xij < 0, entonces no existe lımitesuperior a θ y la funcion objetivo tiene un lımite inferior a −∞. En estecaso, para cualquier θ > 0, todos lo coeficientes de (4.19) son positivos.

Creamos entonces una solucion posible de m + 1 elementos positivos.En esta forma, tomando θ lo suficientemente grande, el valor correspon-diente de la funcion objetivo, dada en el lado derecho de (4.20), puedehacerse arbitrariamente pequeno.

Por lo que se supuso al comienzo de este capıtulo, todas las solucionesfactibles poseen m elementos positivos, entonces el mınimo en (4.21) se ob-tiene para una i unica.

Si reemplazamos θ0 por θ en (4.19) y (4.20), el coeficiente correspondi-ente a esta i unica se anulara.

Ası hemos construido una nueva solucion factible, consistente en Pj ym − 1 vectores de la base original y obteniendo tambien una nueva base.

Este proceso puede volverse a realizar cuantas veces sea necesario, hastaque zj − cj ≤ 0 o hasta que para cierta zj − cj > 0, todas las xij ≤ 0.

Teorema 4.4.2 Si para cualquier solucion basica posible, X = (x10, ..., xm0)las condiciones zj − cj ≤ 0 se cumplen para todas las j = 1, ..., n, entonces(4.15) y (4.16) constituyen una solucion posible mınima.

Demostracion Sean,

y10P1 + y20P2 + . . . + yn0Pn = P0 (4.22)

y,y10c1 + y20c2 + . . . + yn0cn = z∗ (4.23)

Sea cualquier otra solucion posible en la que z∗ es el valor correspondientede la funcion objetivo. Demostremos que z0 ≤ z∗.

Veronica M. Acurio Vasconez 31

Page 35: Optimizacion Programacion Lineal

CAPITULO 4. PROGRAMACION LINEAL

Por hipotesis zj − cj ≤ 0, para todas las j, ası que si reemplazamos cj porcada zj en (4.23), tenemos

y10z1 + y20z2 + . . . + yn0zn ≤ z∗ (4.24)

Para cada j sustituimos la expresion para cada Pj dada por (4.17) en(4.22) y obtenemos,

y10

(

m∑

i=1

xi1Pi

)

+ y20

(

m∑

i=1

xi2Pi

)

+ . . . + yn0

(

m∑

i=1

xinPi

)

= P0 (4.25)

Ası mismo, para cada j sustituimos la expresion para zj dada por (4.18)en (4.24) y obtenemos,

(

m∑

i=1

xj0X1j

)

c1 +

(

m∑

i=1

xj0X2j

)

c1 + . . . +

(

m∑

i=1

xj0Xmj

)

cm ≤ z∗ (4.26)

Dado que el conjunto de vectores P1, ..., Pm es LI, los coeficientes de losvectores componentes en (4.15) y (4.25) deben ser iguales y entonces (4.26)se convierte en:

x10c1 + x20c2 + . . . + xm0cm ≤ z

Que por (4.16) es lo mismo que decir z0 ≤ z∗.�

Los teoremas anteriores nos permiten ir de una solucion factible y generarun conjunto de nuevas soluciones factibles que converjan a la solucion mıni-ma, o bien determinar que no existe una solucion finita.

La generacion de una solucion basica y el desarrollo de una solucion opti-ma, nos induce a observar que cuando un problema PL posee una solucionoptima, debe tener una solucion optima basica factible. La significacion deeste resultado nos lleva a decir que para encontrar la solucion a un problemaPL es necesario chequear el valor objetivo de cada solucion basica.

Note que existe solo un numero finito de estas soluciones basicas, lo quereduce esta busqueda a un espacio infinito o finito.

Veronica M. Acurio Vasconez 32

Page 36: Optimizacion Programacion Lineal

CAPITULO 4. PROGRAMACION LINEAL

4.4.2. Procedimiento de Computo

Consideremos el siguiente ejemplo, sacado del libro de Introduction toMathematical Programming” de R. Walker.

Ejemplo 4.4.1 El granjero Jones tiene 100 acres de tierra que quierededicar a la siembra de trigo y maız, y desea planear la plantacion de lasmismas, de tal manera que pueda obtener la maxima ganancia por su venta.

Jones tiene solamente $800 de capital, destinados a la siembra y le cuesta$5 plantar un acre de trigo y $10 un acre de maız.

La extensa vida social de la familia Jones, les deja libres solo 150 dıaslaborables para dedicarlos a la siembra. Para sembrar cada acre de trigo senecesitan dos dıas y para sembrar un acre de maız uno.

Si experiencias pasadas indican un retorno de $80 por cada acre de trigoy $60 por cada acre de maız, ¿cuantos acres de cada cosa deberıa plantearJones para maximizar su rentabilidad?

Solucion Sean x1 y x2 las variables que denotan al trigo y al maız respecti-vamente, se obtiene la siguiente formulacion al problema del granjero Jonnes

max Z = 80x1 + 60x2

sujeto ax1 + x2 ≤ 100

2x1 + x2 ≤ 1505x1 + 10x2 ≤ 800x1, x2 ≥ 0

Luego de anadir las variables no basicas a cada una de las funciones derestriccion del problema, se tiene la representacion del problema en casi laforma estandar (pues estamos maximizando en vez de minimizar)

max Z = 80x1 + 60x2

sujeto ax1 + x2 + x3 = 100

2x1 + x2 + x4 = 1505x1 + 10x2 + x5 = 800x1, x2, x3, x4, x5 ≥ 0

El metodo simplex resuelve un problema PL moviendose de una solucionde basica factible a otra, hasta que encuentre una solucion de estas que sea

Veronica M. Acurio Vasconez 33

Page 37: Optimizacion Programacion Lineal

CAPITULO 4. PROGRAMACION LINEAL

presumiblemente optima. Pero primero, se debe empezar por una solucionbasica.

Siguiendo el proceso de la Seccion (4.2), para el problema del granjeroJones, es trivial escoger la solucion basica,

P0 = 100P3 + 150P4 + 800P5

El metodo simplex se observa de mejor manera si lo escribimos en tablas.Empecemos escribiendo la fila del objetivo del problema del granjero Jones.

Z − 80x1 − 60x2 = 0

y representando el sistema usando la siguiente tabla,

P1 P2 P3 P4 P5 P0

VariablesBasicas

⇓x1

x2 x3 x4 x5

Z −80 −60 0 0 0 0x3 1 1 1 0 0 100

⇐ x4 2∗ 1 0 1 0 150x5 5 10 0 0 1 800

(1)

Esta tabla es llamada la tabla simplex. Las columnas encabezadas porcada variable, contiene los coeficientes de esta variable en cada ecuacion,incluyendo la fila de la ecuacion del objetivo, que es la fila Z. La primeracolumna de la izquierda es usada para realizar un seguimiento de las variablesbasicas de cada fila. La primera fila representa los vectores P1, ..., Pm LIasociados a cada variable.

Paso 0 La tabla inicial

Una vez que hayamos formado la tabla (1), buscamos una variable en-trante, es decir, una variable que tenga un coeficiente negativo en la columnaobjetivo y que acreciente la funcion objetivo si es introducida en la base.En cada caso, las dos variables x1 y x2 poseen coeficientes negativos en lacolumna objetivo. Dado que x1 tiene el mayor coeficiente negativo, tomare-mos la columna de este coeficiente (por ello la flecha sobre la columna de x1).Sin embargo, en principio, cualquier variable basica con coeficiente negativopuede ser tomada.

Veronica M. Acurio Vasconez 34

Page 38: Optimizacion Programacion Lineal

CAPITULO 4. PROGRAMACION LINEAL

Paso 1 Encontrar una variable con un coeficiente negativo en la fila delobjetivo. Si todas las variables tienen coeficientes no negativos en la fila ob-jetivo, DETENGASE, la tabla que posee es la optima.(Buscamos que loscoeficientes sean no negativos porque en este caso estamos maximizando, siestuvieramos minimizando, entonces buscarıamos que las variables sean nopositivas)

Luego de escoger x1, como la variable entrante, necesitamos determinarla variable de holgadura (en ocasiones llamada la variable de salida). Estavariable se la encuentra realizando el proceso descrito en la seccion (4.2) deGeneracion de Soluciones de Punto Extremo. En efecto, si observamos latabla (1), tenemos que la solucion inicial basica es X = (0, 0, 100, 150, 800),es decir,

100P3 + 150P4 + 800P5 = P0 (2)

Donde P3, P4 y P5 son unitarios y por tanto constituyen la base. Comodeseamos introducir P1 en la base, y ası obtener otra solucion basica, entoncesexpresamos P1 en terminos de los vectores base, es decir

P1 = P3 + 2P4 + 5P5 (3)

De donde,

x31 = 1, x41 = 2 x51 = 5

Si multiplicamos (3) por θ y restamos el resultado de (2), tenemos

θP1 − P0 = θP3 + 2θP4 + 5θP5 − 100P3 − 150P4 − 800P5

(100 − θ)P3 + (150 − 2θ)P4 + (800 − 5θ)P5 + θP1 = P0 (4)

Como x31, x41 y x51 son positivos, θ0 es

0 < θ = θ0 = mıni

xi

xi1

Luego,

θ03= x3

x31= 100

1= 100

θ04= x4

x41= 150

2= 75

θ05= x5

x51= 800

5= 160

Veronica M. Acurio Vasconez 35

Page 39: Optimizacion Programacion Lineal

CAPITULO 4. PROGRAMACION LINEAL

Y entonces,0 < θ = θ0 = 75

que corresponde al vector P4 (por ello la flecha hacia fuera en la variablex4, en la tabla (1), que identifica esta como la variable de holgadura).

Cabe recordar que en el proceso se busca el mınimo solo entre las vari-ables que son no negativas.

Si es que todas las θ0ison cero o negativas, entonces concluimos que el

problema es irresoluble.

Paso 2 Una vez ubicada la variable de holgadura, encuentre otra solucionbasica en la que se incluya el vector de la variable entrante dentro de la nuevabase.

Del paso anterior tenemos que θ0 = 75, reemplazando este valor en (4) sesigue que,

25P3 + 75P1 + 425P5 = P0

observe que hemos eliminado P4, es decir el vector que contiene la variablede holgadura, entonces

X′ = (75, 0, 25, 0, 425)

es otra solucion de punto extremo.

Si hacemos este proceso directamente en una tabla y la tratamos comouna matriz, utilizando el metodo de eliminacion completa, podemos obten-er la nueva base. Para ello debemos primero convertir al vector entrante enunitario, haciendo 1 en el pivote y cero en las demas componentes.

El pivote es el elemento de interseccion entre la variable de holgadura y lavariable entrante, es decir el elemento de interseccion de las fechas colocadasen la tabla (1). En este caso, es el 2, por ello este elemento se encuentrasenalado con un *.

Entonces, hacemos la tabla (1)

Veronica M. Acurio Vasconez 36

Page 40: Optimizacion Programacion Lineal

CAPITULO 4. PROGRAMACION LINEAL

P1 P2 P3 P4 P5 P0

VariablesBasicas

⇓x1

x2 x3 x4 x5

F1 Z −80 −60 0 0 0 0F2 x3 1 1 1 0 0 100F3 ⇐ x4 2∗ 1 0 1 0 150F4 x5 5 10 0 0 1 800

Dividiendo para dos F3 tenemos,

P1 P2 P3 P4 P5 P0

VariablesBasicas

x1 x2 x3 x4 x5

F1 Z −80 −60 0 0 0 0F2 x3 1 1 1 0 0 100F3 x1 1 1/2 0 1/2 0 75F4 x5 5 10 0 0 1 800

Haciendo 80F2 + F1, −F3 + F2 y −5F3 + F4 tenemos,

P1 P2 P3 P4 P5 P0

VariablesBasicas

x1 x2 x3 x4 x5

F1 Z 0 −20 0 40 0 6000F2 x3 0 1/2 1 −1/2 0 25F3 x1 1 1/2 0 1/2 0 75F4 x5 0 15/2 0 −5/2 1 425

(5)

Paso 3 Volver a realizar los pasos 1 y 2 hasta que el Paso 1 nos pida de-tenernos

Con la tabla (5), podemos decir que la nueva solucion basica inicial es,

25P3 + 75P1 + 425P5 = P0

Como x2 posee un signo negativo, vamos a introducir el vector P2 en lanueva base. Hacemos

P2 = 25P3 + 75P1 + 425P5

De donde,

Veronica M. Acurio Vasconez 37

Page 41: Optimizacion Programacion Lineal

CAPITULO 4. PROGRAMACION LINEAL

x32 = 1/2, x41 = 1/2, x51 = 15/2

Luego,

θP2 − P0 = 1/2θP3 − 25P3 + 1/2θP1 − 75P1 + 15/2θP5 − 425P5

(25 − 1/2θ)P3 + (75 − 1/2θ)P1 + (425 − 15/2θ)P5 + θP2 = P0

Se sigue que

θ03= x3

x32= 100

1= 50

θ01= x1

x12= 150

2= 75

θ05= x5

x52= 800

5= 170

3

Y entonces,0 < θ = θ0 = 50

que corresponde al vector P3 en la tabla (5), identificando x3 como lavariable de holgadura.

Tenemos entonces la siguiente tabla

P1 P2 P3 P4 P5 P0

VariablesBasicas

x1⇓x2

x3 x4 x5

F1 Z 0 −20 0 40 0 6000F2 ⇐ x3 0 1/2∗ 1 −1/2 0 25F3 x4 1 1/2 0 1/2 0 75F4 x5 0 15/2 0 −5/2 1 800

Multiplicando esta tabla por 2, se sigue

P1 P2 P3 P4 P5 P0

VariablesBasicas

x1 x2 x3 x4 x5

F1 Z 0 −20 0 40 0 6000F2 x2 0 1 2 −1 0 50F3 x4 1 1/2 0 1/2 0 75F4 x5 0 15/2 0 −5/2 1 425

Haciendo, 20F2 + F1, −1/2 + F3 y −15/2F2 + F4 tenemos,

Veronica M. Acurio Vasconez 38

Page 42: Optimizacion Programacion Lineal

CAPITULO 4. PROGRAMACION LINEAL

P1 P2 P3 P4 P5 P0

VariablesBasicas

x1 x2 x3 x4 x5

F1 Z 0 0 40 20 0 7000F2 x2 0 1 2 −1 0 50F3 x4 1 0 −1 1 0 50F4 x5 0 0 −15 5 1 50

Como todas las variables del objetivo son no negativas, entonces (50, 50, 0, 0, 50)es la solucion optima.

Podemos entonces decirle al granjero Jones que deberıa sembrar 50 acresde maız y 50 acres de trigo para maximizar su ganancia, teniendo en cuentasus limitaciones y condiciones.

Observacion Si queremos minimizar la misma funcion, basta con calcular−z, es decir poner un signo menos en la funcion objetivo y realizar el metodosimplex, tratando de eliminar, en vez de las variables negativas, las positivas.Sin embargo, cuando se calcule el valor objetivo (V.O), se lo debe multiplicarpor −1.

Veronica M. Acurio Vasconez 39

Page 43: Optimizacion Programacion Lineal

CAPITULO 4. PROGRAMACION LINEAL

4.5. Alternativa al Metodo Simplex

Obtener un pivote para el metodo simplex es sumamente rapido gracias alos avances de los computadores, incluso para problemas con miles de restric-ciones, de ahı el gran exito de la aplicacion de este metodo. Sin embargo, paraproblemas largos, considerados como problemas de 100 000 restricciones, elnumero de iteraciones del metodo puede ser muy grande. Algunos modelos,especialmente los referentes a las aplicaciones financieras, pueden tener es-ta cantidad de restricciones y muchas veces no pueden ser resueltos con elmetodo simplex.

Existe otro metodo que nos permite resolver estos grandes problemas,conocido como el metodo barrera o el metodo del punto interior. Este meto-do usa una estrategia totalmente distinta a la del metodo simplex para buscarel optimo, siguiendo un patron mucho mas complejo, pero el numero de it-eraciones necesarias no depende de cuan grande sea el problema.

Como resultado, el metodo del punto interior, puede ser mucho mas rapi-do que el metodo simplex para resolver problemas de grandes proporciones.

Programas informaticos como Cplex, Xpress, OSL, etc., dan la opcion deresolver los problemas PL por cualquiera de estos dos metodos.

Veronica M. Acurio Vasconez 40

Page 44: Optimizacion Programacion Lineal

Capıtulo 5

Modelizacion PL y AplicacionesActivo/Pasivo, Flujo de Caja,Fondos Compensatorios

5.1. Algunos Terminos Financieros

Las corporaciones se enfrentan habitualmente a problemas de financiacionde efectivo a corto plazo. La programacion lineal puede ayudar en la busque-da de combinaciones optimas de los instrumentos financieros (como bonos,acciones, vencimientos, etc.) que otorgue inversiones mas eficaces.

Considere el ejemplo.

Ejemplo 5.1.1 Una companıa tiene el siguiente problema de financiaciona corto plazo, con un capital para el efecto de $ 1000.

Mes Ene Feb Mar Abr May JunFlujo de Caja Neto -150 -100 200 -200 50 300

La companıa tiene las siguientes fuentes de inversion

Una lınea de credito sobre los $100 a una tasa de interes del 1% men-sual.

Puede emitir papales comerciales con un interes total del 2% trimestral.

Los fondos excedentes pueden ser invertidos a una tasa de interes del0.3% mensual.

41

Page 45: Optimizacion Programacion Lineal

CAPITULO 5. MODELIZACION PL Y APLICACIONESACTIVO/PASIVO, FLUJO DE CAJA, FONDOS COMPENSATORIOS

Existen algunas preguntas que la companıa quiere responder. ¿Que in-teres de pago necesita hacer la companıa entre enero y junio? ¿Es economicousar la lınea de credito? si es ası, ¿en cuales?, ¿cuanto?.

La programacion lineal, proporciona un mecanismo para contestar estaspreguntas facil y rapido. Incluso nos permite responder algunas preguntas deltipo ”que tal si”sobre cambios en los datos sin tener que resolver el problema,como por ejemplo, ¿que tal si el flujo de caja neto en enero fuera -200 en vezde -150?, ¿que tal si el lımite de la lınea de credito se incrementara de 100 a200?, ¿que tal si el flujo de caja neto negativo de enero se debe a la comprade maquinaria por un valor de $150 y el vendedor permite una parte o latotalidad del pago de la misma que se hizo en junio a un interes del 3 % en unperiodo de cinco meses? Las respuestas a estas preguntas estan disponiblescuando el problema es formulado y resuelto como uno de programacion lineal.

Existen entonces tres pasos al aplicar la programacion lineal en estosproblemas: modelar, resolver e interpretar.

5.1.1. Modelar

Empezamos modelando el pequeno problema financiero anterior, es decir,escribiremos este problema en el lenguaje de programacion lineal. Existen re-glas sobre las que se puede o no plantear un la programacion lineal. Estasreglas imponen algunos de los pasos necesarios para el proceso (resolviendoe interpretando el problema) que nos llevan a plantearlo exitosamente.

Las claves del programa lineal es el escoger bien las variables de decision,el objetivo y las restricciones.

Variables de Decision Las variables de decision representan (desconoci-das) decisiones a tomar. Esto esta en contraste con los datos del problemaque son valores dados o calculados del mismo problema. Para el problemaque planteamos como ejemplo, existen variables posibles opciones para lasvariables de decision. Usaremos las siguientes: el monto xi sobre la lınea decredito en el mes i, el monto yi de los papeles comerciales emitidos en el mesi, el exceso de fondos zi en el mes i y la ganancia de la companıa v en junio.Note que, alternativamente, podrıamos usar solo las variables de decision xi

y yi, dado que el exceso de fondos y la ganancia de la companıa pueden serdeducidos de estas dos variables.

Veronica M. Acurio Vasconez 42

Page 46: Optimizacion Programacion Lineal

CAPITULO 5. MODELIZACION PL Y APLICACIONESACTIVO/PASIVO, FLUJO DE CAJA, FONDOS COMPENSATORIOS

Objetivo Todo problema lineal tienen un objetivo, que debe ser o bienmaximizado o bien minimizado. Este objetivo debe tener variables de decisionlineales, lo que significa que estas deben estar sumandose o multiplicandosepor constantes, es decir 2x1 +10x2 es una funcion lineal, mientras que x1 ∗x2

no lo es. En nuestro caso, el objetivo es simplemente maximizar v.

Restricciones Cada programa lineal posee tambien restricciones que lim-itan las soluciones factibles. Aquı tenemos tres tipos de restricciones: el debetiene que ser igual al haber por cada mes, los lımites superiores sobre xi y lano negatividad de las variables de decision xi, yi y zi.

Por ejemplo, en enero (i = 1), existe un requerimiento de efectivo de $150.El conocer este requerimiento permite a la companıa proporcionar un montox1 para la lınea de credito y emitir un monto y1 de papeles comerciales.Considera tambien la posibilidad del exceso de fondos zi que en este mes es0. La ecuacion del balance de flujo de efectivo es,

x1 + y1 − z1 = 150

Luego, en febrero (i = 2), existe un requerimiento de efectivo de $100.Adicionalmente, se suma un interes principal de 1,01x1 vencido a la lıneade credito y se suma 1,003z1 recibido por la inversion del exceso de fondos.Sabiendo esto, la companıa puede proporcionar un monto x2 para la lınea decredito y emitir un monto y2 de papeles comerciales. Entonces la ecuaciondel balance de flujo de efectivo para este mes es,

x2 + y2 − 0,01x1 + 1,003z1 − z2 = 100

Si hacemos lo mismo para los meses de marzo, abril, mayo y junio, ten-emos lo siguiente,

x3 + y3 − 1,01x2 + 1,003z2 − z3 = −200x4 − 1,02y1 − 1,01x3 + 1,003z3 − z4 = 200x5 − 1,02y2 − 1,01x4 + 1,003z4 − z5 = − 50−1,02y3 − 1,01x5 + 1,003z5 − v = −300

Note que xi es el balance sobre la lınea de credito en el mes i, no elincremento del prestamo en el mes i. Similarmente, zi representa el excesode fondos total en el mes i. Escoger ası las variables es bastante convenientepara escribir casi condiciones de lımites superiores y la negatividad de lasrestricciones.

Veronica M. Acurio Vasconez 43

Page 47: Optimizacion Programacion Lineal

CAPITULO 5. MODELIZACION PL Y APLICACIONESACTIVO/PASIVO, FLUJO DE CAJA, FONDOS COMPENSATORIOS

0 ≤ xi ≤ 100yi ≥ 0zi ≥ 0

Esto nos da el modelo final siguiente:

max vx1 + y1 − z1 = 150x2 + y2 − 1,01x1 + 1,003z1 − z2 = 100x3 + y3 − 1,01x2 + 1,003z2 − z3 = −200x4 − 1,02y1 − 1,01x3 + 1,003z3 − z4 = 200x5 − 1,02y2 − 1,01x4 + 1,003z4 − z5 = −50−1,02y3 − 1,01x5 + 1,003z5 − v = −300x1 ≤ 100x2 ≤ 100x3 ≤ 100x4 ≤ 100x5 ≤ 100xi, yi, zi ≥ 0

Formular un problema como un programa lineal significa ir a traves delproceso antes descrito para definir claramente las variables de decision, elobjetivo y las restricciones.

5.1.2. Resolver

Existen varios programas que resuelven problemas de optimizacion. Eneste proyecto se usara la herramienta informatica Matlab.

Este software posee un comando que nos permite resolver problemas PL,que es linprog.Este comando resuelve el programa lineal estandar, es decir la minimizacionde la funcion objetivo.

Para maximizar, habrıa que transformar la funcion objetivo en −f .

Estructura del comando y Parametros Existen diversas maneras enlas que se puede expresar las soluciones de un problema de programacionlineal y opciones que podemos pedir a programa tome en cuenta al momentode resolverlo.

Veronica M. Acurio Vasconez 44

Page 48: Optimizacion Programacion Lineal

CAPITULO 5. MODELIZACION PL Y APLICACIONESACTIVO/PASIVO, FLUJO DE CAJA, FONDOS COMPENSATORIOS

X = LINPROG(c, A, b) resuelve el problema,

mınX cTX

AX ≤ b

donde c ∈ Rn es la matriz de coeficientes de funcion objetivo la obje-

tivo, A es la matriz de coeficientes de las funciones restricciones conA ∈ R

mxn y b ∈ Rm es el vector de las constantes de restriccion.

El script que resuelve el ejemplo 4.1.1 serıa el siguiente.

Figura 5.1: Script ejemplo 4.1.1

X = LINPROG(c, A, b, Aeq, beq)

Si ingresamos variables de holgadura, podemos resolver el problema conMatlab si ponemos en c la los coeficientes de la funcion objetivo con

Veronica M. Acurio Vasconez 45

Page 49: Optimizacion Programacion Lineal

CAPITULO 5. MODELIZACION PL Y APLICACIONESACTIVO/PASIVO, FLUJO DE CAJA, FONDOS COMPENSATORIOS

todas las variables, donde obviamente las de holgadura seran 0. En A,colocamos la matriz original con 0 en los coeficientes de las variables dehogadura, en Aeq la matriz A con 1 en los coeficientes de estas variablesy hacemos beq = b. El script es el siguiente.

Figura 5.2: Script ejemplo 4.1.1 con variables de holgadura

X = LINPROG(c, A, b, Aeq, beq, LB, LU)

Aquı, LB y UB son los conjuntos de lımites superiores e inferiores delas variables. Es decir LB ≤ X ≤ LU .

Si se dejan vacıos, se sobre entiende que no existen lımites para las vari-ables. Si se coloca LB(i) = −Inf significa que el problema no poseelımites hacia abajo, y si se pone UB(i) = Inf se entiende que el prob-lema no posee lımites hacia arriba.

Veronica M. Acurio Vasconez 46

Page 50: Optimizacion Programacion Lineal

CAPITULO 5. MODELIZACION PL Y APLICACIONESACTIVO/PASIVO, FLUJO DE CAJA, FONDOS COMPENSATORIOS

Como tenemos que las variables x1, ..., xn son siempre positivas, debe-mos procurar colocar LB=[0 0 .... 0], de acuerdo a la cantidad de vari-ables que tengamos.

El script da el mismo resultado.

Resolvamos entonces el problema de arriba, primero pongamoslo en orden.

Veronica M. Acurio Vasconez 47

Page 51: Optimizacion Programacion Lineal

CA

PIT

ULO

5.M

OD

ELIZ

AC

ION

PL

YA

PLIC

AC

ION

ES

AC

TIV

O/P

ASIV

O,FLU

JO

DE

CA

JA

,FO

ND

OS

CO

MP

EN

SA

TO

RIO

S

max v

x1 + y1 − z1 = 150

−1,01x1 + x2 + y2 + 1,003z1 − z2 = 100

−1,01x2 + x3 + y3 + 1,003z2 − z3 = −200

−1,01x3 + x4 − 1,02y1 + 1,003z3 − z4 = 200

−1,01x4 + x5 − 1,02y2 + 1,003z4 − z5 = −50

−1,01x5 − 1,02y3 + 1,003z5 − v = −300

x1, x2, x3, x4, x5 ≤ 100

xi, yi, zi ≥ 0

Vero

nic

aM

.A

curio

Vasc

onez

48

Page 52: Optimizacion Programacion Lineal

CAPITULO 5. MODELIZACION PL Y APLICACIONESACTIVO/PASIVO, FLUJO DE CAJA, FONDOS COMPENSATORIOS

Crearemos un archivo maximizar.m en el que desarrollemos la maticesnecesarias para aplicar el comando. Recordemos que Matlab solo puede min-imizar, entonces, colocaremos la funcion objetivo como −f de tal maneraque podamos encontrar optimizacion maxima.

La funcion es la siguiente,

Figura 5.3: Funcion Maximizar en Matlab

Si corremos esta funcion en la ventana de comandos de Matlab y luegoaplicamos el comando linprog, tenemos los siguiente,

Veronica M. Acurio Vasconez 49

Page 53: Optimizacion Programacion Lineal

CAPITULO 5. MODELIZACION PL Y APLICACIONESACTIVO/PASIVO, FLUJO DE CAJA, FONDOS COMPENSATORIOS

Figura 5.4: Resolucion del Ejercicio Financiero

5.1.3. Interpretar

Cada paquete informatico posee su propia manera de presentar los re-sultados. En nuestro caso, al poner X = antes de la correr el comando, elresultado que se nos despliega es el valor que debe tener cada variable a finde minimizar (o maximizar) la funcion objetivo. Estos valores estan en elmismo orden en el que se coloco las variables en la funcion objetivo.

Es facil entonces interpretar los resultado obtenidos. Sin embargo, existenotros programas que por el mismo hecho de presentar una mayor cantidadde informacion, su interpretacion se vuelve mas compleja, como es el caso dela funcion Solver en Excel.

Veronica M. Acurio Vasconez 50

Page 54: Optimizacion Programacion Lineal

CAPITULO 5. MODELIZACION PL Y APLICACIONESACTIVO/PASIVO, FLUJO DE CAJA, FONDOS COMPENSATORIOS

5.2. Caracterısticas de los Programas Lineales

Existen ciertos supuestos dentro de los programas lineales. La utilidad deeste modelo esta directamente relacionado con las suposiciones que se toman.

Los primeros dos supuestos estan relacionados con la forma lineal de lasfunciones. La contribucion al objetivo de las variables de decision es propor-cional al valor de cada una de ellas. Similarmente, la contribucion de cadavariable al lado izquierdo de cada restriccion es proporcional al valor de cadavariable. Este es llamando el Supuesto de Proporcionalidad.

Sin embargo, la contribucion de una variable al objetivo y a las re-stricciones es independiente de los valores de las otras variables. Este es elSupuesto de Aditividad.

El siguiente supuesto, es el Supuesto de Divisibilidad. No es posible tomarfracciones de las variables.

El ultimo supuesto es el Supuesto de Certeza, un programa lineal no ad-mite la incertidumbre sobre los numeros.

Es raro que un problema posea exactamente todos estos supuestos y estosno niegan la utilidad del modelo. Un modelo puede tener un uso manejableincluso si la realidad difiere ligeramente de los requerimientos rigurosos delmodelo.

Veronica M. Acurio Vasconez 51

Page 55: Optimizacion Programacion Lineal

CAPITULO 5. MODELIZACION PL Y APLICACIONESACTIVO/PASIVO, FLUJO DE CAJA, FONDOS COMPENSATORIOS

5.3. Dedicacion

La Dedicacion o flujo de caja correspondiente es una tecnica usada paraencontrar conocidos pasivos en el futuro. La idea es formar un portafolio deactivos cuyo efectivo compense exactamente la salida de los pasivos. Los pa-sivos por lo tanto seran liquidados, a medida que se deben, sin la necesidadde vender o comprar activos en el futuro. El portafolio se forma hoy y esentonces mantenido hasta que los pasivos sean liquidados.

Dedicar portafolios usualmente solo consiste en liberar de riesgo los bonosno exigibles dado que el efectivo del portafolio futuro necesita ser conocidocuando este es construido. Esto elimina el riesgo de la tasa de interes com-pletamente.

Esta tecnica es usada por algunos municipios y pequenos fondos de pen-siones. Por ejemplo, los municipios algunas veces quieren encontrar pasivosderivados de bonos que hayan expedido. Estos pre-reembolsados bonos puedenser descontados de los libros del municipio, lo que les permite evadir restric-ciones convenientes en los bonos que han pre-reembolsado y seguramente lespermite replantear su deuda.

Se debe notar sin embargo, que que el costo de la dedicacion de portafo-lios esta entre el 3 % y el 7 % mas en terminos de dolar que los portafoliosınmunizados”, los mismos que son construidos basandose en el valor presente,la duracion y la convexidad de los activos y pasivos.

Dada una cuenta corriente de flujo de efectivo Ct para t = 1, ..., T sonllamados valores presentes si

P =T∑

t=1

Ct

(1 + rt)t

La duracion es,

D =1

P

T∑

t=1

tCt

(1 + rt)t

y la convexidad se define como,

C =1

P

T∑

t=1

t (t + 1) Ct

(1 + rt)t+2

Veronica M. Acurio Vasconez 52

Page 56: Optimizacion Programacion Lineal

CAPITULO 5. MODELIZACION PL Y APLICACIONESACTIVO/PASIVO, FLUJO DE CAJA, FONDOS COMPENSATORIOS

En estas formulas, rt representa la tasa libre de riesgo en el ano t.

Si la cartera se compone solo de los bonos sin riesgo, el valor presente P ∗

del efectivo del portafolio futuro puede ser calculado usando la misma tasalibre de riesgo rt. Similarmente, para su duracion D∗ y la convexidad C∗.

Un portafolio ınmunizado”puede ser construido haciendo coincidir P ∗ =P , D∗ = D y C∗ = C. Los portafolios que son construidos igualando estostres factores son inmunizados contra los cambios paralelos en la curva derendimiento, pero aun puede existir una exposicion y vulnerabilidad frente aotro tipo de curvas y necesitan ser activamente manejados, lo cual producecosto. En contraste, la dedicacion de portafolios no necesita ser manejadoluego de ser construido.

Veamos es siguiente ejemplo. Cuando los municipios usan flujo de cajacorrespondiente, la costumbre estandar es llamar a pocos bancos de inversion,mandar la lista de los pasivos y los requerimientos de ofertas. Los municipiosentonces comprar las seguridades que los bancos ofertan al menor precio parauna exitosa igualacion de efectivo.

Ejemplo 5.3.1 Un banco recibe la siguiente lista de pasivos:

Ano 1 Ano 2 Ano 3 Ano 4 Ano 5 Ano 6 Ano 7 Ano 8

12 000 18 000 20 000 20 000 16 000 15 000 12 000 10 000

Los bonos disponibles para la adquisicion hoy (Ano 0) estan dados por lasiguiente tabla. Todos los bonos tiene un valor nominal de $100. El valor porcada cupon es anual. Por ejemplo, costo del Bono 5 es $98 hoy y paga $4 deretorno en el Ano 1, $4 en el Ano 2, $4 en el Ano 3 y $104 en el Ano 4.Todos estos bonos estan ampliamente disponibles y pueden ser adquiridos encualquier cantidad al precio establecido.

Bono 1 2 3 4 5 6 7 8 9 10

Precio 102 99 101 98 98 104 100 101 102 94

Cupon 5 3,5 5 3,5 4 9 6 8 9 7

Madurez Ano 1 Ano 2 Ano 2 Ano 3 Ano 4 Ano 5 Ano 5 Ano 6 Ano 7 Ano 8

Formularemos y resolveremos el problema lineal, de tal manera que en-cuentre el portafolio menos costoso de bonos a adquirir hoy que compense lasobligaciones del municipio durante los siguientes ocho anos. Para eliminarla posibilidad de cualquier reinversion riesgosa, asumimos una tasa de rein-version igual al 0%.

Veronica M. Acurio Vasconez 53

Page 57: Optimizacion Programacion Lineal

CAPITULO 5. MODELIZACION PL Y APLICACIONESACTIVO/PASIVO, FLUJO DE CAJA, FONDOS COMPENSATORIOS

Solucion El programa lineal es el siguiente,

Veronica M. Acurio Vasconez 54

Page 58: Optimizacion Programacion Lineal

CA

PIT

ULO

5.M

OD

ELIZ

AC

ION

PL

YA

PLIC

AC

ION

ES

AC

TIV

O/P

ASIV

O,FLU

JO

DE

CA

JA

,FO

ND

OS

CO

MP

EN

SA

TO

RIO

S

mın 102x1 + 99x2 + 101x3 + 98x4 + 98x5 + 104x6 + 100x7 + 101x8 + 102x9 + 94x10

105x1 + 3,5x2 + 5x3 + 3,5x4 + 4x5 + 9x6 + 6x7 + 8x8 + 9x9 + 7x10 = 12 000+103,5x2 + 105x3 + 3,5x4 + 4x5 + 9x6 + 6x7 + 8x8 + 9x9 + 7x10 = 18 000

103,5x4 + 4x5 + 9x6 + 6x7 + 8x8 + 9x9 + 7x10 = 20 00010 4x5 + 9x6 + 6x7 + 8x8 + 9x9 + 7x10 = 20 000

109x6 + 10 6x7 + 8x8 + 9x9 + 7x10 = 16 00010 8x8 + 9x9 + 7x10 = 15 000

109x9 + 7x10 = 12 000107x10 = 10 000

xi ≥ 0

Vero

nic

aM

.A

curio

Vasc

onez

55

Page 59: Optimizacion Programacion Lineal

CAPITULO 5. MODELIZACION PL Y APLICACIONESACTIVO/PASIVO, FLUJO DE CAJA, FONDOS COMPENSATORIOS

La funcion dedicar.m creada a base de los datos es la siguiente,

Figura 5.5: Funcion Dedicar en Matlab

Veronica M. Acurio Vasconez 56

Page 60: Optimizacion Programacion Lineal

CAPITULO 5. MODELIZACION PL Y APLICACIONESACTIVO/PASIVO, FLUJO DE CAJA, FONDOS COMPENSATORIOS

Entonces en la ventana de comandos de Matlab, al aplicar el comandolinprog se nos despliega,

Figura 5.6: Resultado de la optimizacion de la funcion Dedicar

Podemos entonces, por ejemplo, decirle a la empresa que deberıa comprar$62,16 dolares del bono uno, ningun bono 2, $125.27 del bono 3 y ası a finde liquidar sus pasivos cada ano al menor costo.

Veronica M. Acurio Vasconez 57

Page 61: Optimizacion Programacion Lineal

CAPITULO 5. MODELIZACION PL Y APLICACIONESACTIVO/PASIVO, FLUJO DE CAJA, FONDOS COMPENSATORIOS

5.4. Sensibilidad y Analisis de la Programacion

Lineal

Encontrar la solucion optima a un modelo de programacion lineal es im-portante, pero no es la unica informacion disponible. Existe un conjuntoenorme de informacion sensible o informacion sobre que pasarıa si los valorescambiaran.

Recordemos que cuando formulamos un problema como un programa lin-eal, asumimos ciertas cosas, debemos tener en cuenta que el valor tomadoy las decisiones se basan en los datos. Muchas veces, estos supuestos son dealguna manera dudosos, pues los datos pueden ser desconocidos, o supuestoso hasta incalculables. Entonces, ¿como podemos determinar el efecto de lasdecisiones optimas en los cambios de valores?

Obviamente, algunos numeros en los datos son mas importantes que otros¿como saber cuales son importantes?, ¿como determinar el efecto de los er-rores de estimacion? La sensibilidad es exactamente esto y con analisis de laprogramacion lineal se pueden responder estas preguntas, dependiendo deldel paquete informatico que se use.

Si usamos Matlab podemos pedirle que nos retorne, a mas del valor delas constantes, el valor objetivo, mediante el comando,

[X, fval] = linprog(f, A, b, Aeq, beq, LB, LU)

Recuerde que como Matlab solo minimiza, tuvimos que minimizar la fun-cion −f a fin de obtener el maximo, por ello el parametro fval nos de-volvera un valor negativo.

Lastimosamente, este paquete no es capaz de darnos mas informacion queesta. Si usamos Excel por otro lado, podemos visualizar otros factores comola influencia de una variable en el incremento o decremento del valor final decada mes.

Veronica M. Acurio Vasconez 58

Page 62: Optimizacion Programacion Lineal

Capıtulo 6

Conclusiones

La matematica se convierte en una herramienta sumamente util cuan-do se llega a darle la aplicacion adecuada. Los teoremas y definiciones sonimportantes en el desarrollo de la teorıa matematica y cruciales para el en-tendimiento y sobre todo para el planteamiento de los problemas de la vidareal, pero llegar a darle la aplicacion adecuada, es lo que hace funcionar a lateorıa.

La forma de plantear la funcion objetivo, las restricciones y los lımites esvital al momento de resolver un programa lineal, ası que de la interpretaciondel problema y de su traduccion al lenguaje matematico depende el exito oel fracaso de la optimizacion.

Los avances tecnologicos han sido los verdaderos gestores del gran exitode la programacion lineal, puesto que hace 30 anos, resolver sistemas de ecua-ciones con mas de 10 000 incognitas y variables era simplemente impensable.

Existen varios paquetes informaticos especializados en optimizacion comoCplex, Xpress, OLS entre otros, que permiten resolver problemas de este es-tilo, los mismos que son mucho mas completos, con herramientas mas sofisti-cadas que permiten una mejor vision de de los resultados. Matlab o Excel noson uno de ellos, ası que se podrıa profundizar mas en los programas men-cionados para un mejor desempeno.

Es importante tambien recalcar que para maximizar (o minimizar) unafuncion que en principio se esta minimizando (o maximizando), basta conmultiplicar por −1 la funcion objetivo, dejando las restricciones tal comoestan planteadas. Sin embargo, para obtener el valor objetivo, se debe volvera multiplicar tal valor por −1.

59

Page 63: Optimizacion Programacion Lineal

CAPITULO 6. CONCLUSIONES

Si bien muchos de los problemas financieros pueden ser resueltos como unprograma lineal, en la practica no siempre poseemos todos los datos requeri-dos para resolverlo ası, o simplemente no podemos interpretar los requer-imientos en forma lineal. En estos casos, son necesarias otros tipos de her-ramientas mas poderosas como la optimizacion cuadratica, la no parametricao estocastica; temas que el proyecto no llego a abordar.

Veronica M. Acurio Vasconez 60

Page 64: Optimizacion Programacion Lineal

Bibliografıa

[1] Gerard Corneujols Optimization Methods in Finance, Tepper Scholl ofBusiness, Carnegie Mellon University, Pittsburgh, PA 15213 USA (2004)

[2] Saul I. Gass Programacion Lineal, Metodos y Aplicaciones, World Sys-tems Laboratories, Inc. The American University, McGRAW-HILL, Inc.(1969)

[3] Michael D. Intriligator Optimizacion Economica y Teorıa Economica, Ed-itorial Prentice/Hall Internacional (1973)

[4] Silvia Garcıa, Clyde Monzon Teorıa de la Convexidad y Teorıa Economi-ca, Anuario 2002 -F.C.E - U.N.P.S.J.B.13

[5] Bernard Kolman, David R. Hill Algebra Lineal, Pearson, Prentice Hill(2006)

[6] Frederick S. Hillier, Gerald J. Lieberman Investigacion de Operaciones,McGRAW-HILL, Inc. (1969), septima edicion

[7] A. Tovar Optimizacion de Procesos en Ingenierıa: Tarea 6, ProgramacionLineal, http://www.unal.edu.co/optimun/docencia/chgaleanouT06.pdf

[8] William Marchena, Carlos Ornelas Optimizacion de FuncionesLineales con Restricciones en MATLAB:Teorıa y Ejemplos,http://www.fglongatt.org.ve/Reportes/RPT2007-09.pdf

[9] Juan Mendez Rodriguez, Antonio Falcon Martel Introduccion ala Investigacion de Operaciones, Grupo de Inteligencia Artificialy Sistemas Universidad de Las Palmas de Gran Canaria (2003)http://serdis.dis.ulpgc.es/ a013775/asignaturas/ii-io/InvO.pdf

[10] Friedrich Eisenbrand Optimization Methods in Finance, Ecole Polytech-nique de Federale de Lausanne http://disopt.epfl.ch/page72255.html

61

Page 65: Optimizacion Programacion Lineal

BIBLIOGRAFIA

[11] G. Cornelis van Kooten A Brief Introduction to MatLabA,http://web.uvic.ca/ kooten/OperationsResearch/Lectures/MatLab-Intro.pdf

[12] http://www.uv.es/ sala/Clase11.pdf

[13] http://chentserver.uwaterloo.ca/courses/che720/Matlab Optimization/LP.pdf

Veronica M. Acurio Vasconez 62