Vous êtes sur la page 1sur 65

Université Jean Monnet

Saint Etienne
Universidad Central del Ecuador

PROYECTO
Optimización Matemática y Métodos
Económicos
Para obtener la Licenciatura en Ciencia y Tecnologı́as,
mención Matemática
Autora: Tutor:
Verónica M. Acurio Vásconez Dr. Julio Medina

Junio 2009
Quito - Ecuador
A Dios y a mis padres, Bertila y Franklin.
Las palabras son insuficientes para
retribuirles su ayuda, ası́ que solo me queda
decirles GRACIAS.
Optimización Matemática y Métodos
Económicos:
Programación Lineal

Verónica M. Acurio Vásconez

3 de julio de 2009
Índice general

1. Introducción 2

2. Elementos Matemáticos Previos 4


2.1. Convexidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1.1. Conjuntos Convexos . . . . . . . . . . . . . . . . . . . 4
2.1.2. Funciones Convexas . . . . . . . . . . . . . . . . . . . . 7

3. Elementos de un Problema de Optimización 8


3.1. Generalidades . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

4. Programación Lineal 10
4.1. El Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.2. Generación de Soluciones de Punto Extremo . . . . . . . . . . 19
4.3. Dualidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.4. El Método Simplex . . . . . . . . . . . . . . . . . . . . . . . . 29
4.4.1. Desarrollo de una solución posible mı́nima . . . . . . . 29
4.4.2. Procedimiento de Cómputo . . . . . . . . . . . . . . . 33
4.5. Alternativa al Método Simplex . . . . . . . . . . . . . . . . . . 40

5. Modelización PL y Aplicaciones
Activo/Pasivo, Flujo de Caja, Fondos Compensatorios 41
5.1. Algunos Términos Financieros . . . . . . . . . . . . . . . . . . 41
5.1.1. Modelar . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.1.2. Resolver . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.1.3. Interpretar . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.2. Caracterı́sticas de los Programas Lineales . . . . . . . . . . . . 51
5.3. Dedicación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
5.4. Sensibilidad y Análisis de la Programación Lineal . . . . . . . 58

6. Conclusiones 59

1
Capı́tulo 1

Introducción

Los problemas de optimización son de gran importancia hoy en dı́a, están


presentes no solo en el campo cientı́fico, sino también en la ingenierı́a y los
negocios. En este último, la aplicación de esta técnica, nace de la necesidad
de distribuir los recursos de tal manera que se logre obtener mayor ganancia.

La Optimización Matemática, es entonces, una rama de las aplicaciones


matemáticas 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 y


aplicación, puesto que del maximizar o minimizar una situación generada y
tomar una decisión acertada, dependen las ganancias o pérdidas de una ac-
ción económica y por tanto, las finanzas de una empresa.

El presente proyecto está divido en cinco capı́tulos, incluyendo la Intro-


ducción. El segundo capı́tulo es un análisis previo, en el que se desarrolla
la teorı́a de la convexidad por la importancia de sus conceptos dentro de la
programación lineal. En el tercer capı́tulo se explica los elementos básicos de
un problema de optimización y la idea del problema. El cuarto hace refer-
encia a la Programación Lineal y todo lo que esta conlleva. Las definiciones,
teoremas, demostraciones y ciertos ejemplos, han sido obtenidos de la lectura
de la bibliografı́a. Finalmente, en la última parte se hace una introducción a
términos financieros y económicos utilizados en la optimización, especı́fica-
mente en el desarrollo de portafolios, y se desarrollan dos programas lineales
sencillos como aplicación.

Si bien en el capı́tulo de Programación Lineal se explica el algoritmo


del método simplex, para la resolución de problemas lineales, los modelos

2
CAPÍTULO 1. INTRODUCCIÓN

aquı́ planteados, han sido realizados usando la herramienta informática Mat-


lab 7.0, que también se explica como utilizarla.

Cabe recalcar que aunque el proyecto no desarrolla un tema nuevo o


novedoso, pleno de investigación, si presenta una teorı́a jamás vista durante
los tres años de licenciatura, dándole ası́ un significado especial dentro de mi
formación académica.

Verónica M. Acurio Vásconez 3


Capı́tulo 2

Elementos Matemáticos Previos

2.1. Convexidad
2.1.1. Conjuntos Convexos
Definición 2.1.1 Sean P1 , P2 , ..., Pn ∈ Rn . Una combinación convexa de
los puntos P1 , P2 , ..., Pn es un punto
P = α1 P1 + α2 P2 + · · · + αn Pn
P
donde las αi son escalares, αi ≥ 0 y αi = 1.
i=1

Definición 2.1.2 Sean x y y dos puntos cualesquiera dados en un espacio


vectorial. Para todo λ ∈ [0, 1] la combinación λx + (1 − λ) y se dice combi-
nación convexa de x y y.

Definición 2.1.3 C ⊂ Rn , es convexo si y solo si para todo par de puntos


P1 y P2 en C, cualquier combinación convexa de estos puntos está también
en C.

Propiedades:
1. Para cualquier par de puntos dados en un conjunto convexo, el segmen-
to de lı́nea que los une está también en el conjunto.

2. El conjunto K es convexo si y solo si toda combinación lineal convexa


de puntos de K pertenece a K.

4
CAPÍTULO 2. ELEMENTOS MATEMÁTICOS PREVIOS

3. El conjunto de todas las combinaciones lineales convexas de los puntos


x1 , ..., 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 combinación convexa
de los dos puntos.

Demostración Sean P y Q los puntos unidos por el segmento de lı́nea, y


sea R un punto cualquiera sobre esta. Es claro que este segmento es paralelo
a 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 también,
λP + (1 − λ) Q = R
que es la expresión de R como combinación lineal de P y Q. 

Teorema 2.1.2 Cualquier punto que puede ser expresado como combinación
convexa de dos puntos de En estará sobre el segmento de lı́nea que une a los
dos puntos.

Demostración Tenemos,

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

Se sigue que R − Q es algún múltiplo positivo del vector P − Q y por tanto


los vectores R − Q y P − Q deberán coincidir en dirección.

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

Verónica M. Acurio Vásconez 5


CAPÍTULO 2. ELEMENTOS MATEMÁTICOS PREVIOS

Definición 2.1.4 Sea C un conjunto convexo. Un punto U ∈ C se dice


punto extremo, si U no puede ser expresado como una combinación convexa
de otros dos puntos cualquiera distintos en C.

Ejemplo 2.1.1 Los puntos extremos de un conjunto convexo que incluye


la 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 triángulo son sus vértices.

Definición 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 de
conjuntos de puntos de S.

C(S) es el conjunto convexo más pequeño que contiene S


.

Definición 2.1.6 Si el conjunto S consiste de un número finito de puntos,


C(S) se denomina un poliedro convexo.

Ejemplo 2.1.3 El conjunto de una región factible de un problema de op-


timización (que se definirá en el siguiente capı́tulo)es un conjunto polieldral.

Definición 2.1.7 Un simplex es un poliedro n-dimensional que tiene exac-


tamente n + 1 vértices.

Observación Las fronteras del simplex contienen varios simplex de menor


dimensión
 llamados
 caras simpliciales. El número de tales caras de dimensión
n+1
i es .
i+1

Observación Un simplex en la dimensión cero es un punto, en la dimensión


1 una lı́nea, en tres un tetraedro, y ası́.

Observación La ecuación de un simplex con intersección unitaria es xi ≥ 0,


m
P
xi ≤ 1
i=1

Verónica M. Acurio Vásconez 6


CAPÍTULO 2. ELEMENTOS MATEMÁTICOS PREVIOS

2.1.2. Funciones Convexas


Definición 2.1.8 Sea f : S ⊂ X → R ⊂ X con X convexo. f se dice
convexa 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.

Definición 2.1.9 f se dice cóncava o estrictamente cóncava 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.

Verónica M. Acurio Vásconez 7


Capı́tulo 3

Elementos de un Problema de
Optimización

3.1. Generalidades
Definición 3.1.1 Los elementos esenciales de un problema de optimización
son los siguientes:

1. Variables de Decisión o Instrumentos: Es un vector de X variables


(x1 , ..., xn ) que serán las incógnitas a encontrar al solucionar un prob-
lema de optimización.

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


el problema. Es claro que X ∈ K.

3. Función Objetivo: Es la función f definida como:

f : Rn → R
X 7→ f (x1 , . . . , xn )

Es una descripción matemática del objetivo del problema, el mismo que


será maximizado o minimizado.

Observación
 Si es posible encontrar una secuencia Xk ∈ K para todo
k
k, y f X diverge hacia −∞, entonces el problema se dice irresoluble.

4. Funciones y Constantes de Restricción: Son funciones y constantes


dadas en problema, que delimitan la función objetivo.

8
CAPÍTULO 3. ELEMENTOS DE UN PROBLEMA DE OPTIMIZACIÓN

Un problema de optimización se reduce entonces a buscar un X ∈ K que


resuelve:
mı́nX f (X)
(3.1)
tal que X ∈ K

Definición 3.1.2 Se dice que un problema de optimización es factible si


existe X∗ ∈ K que cumple con las condiciones de restricción.

Si el problema no es ni infactible ni irresoluble, entonces es posible en-


contrar una solución X∗ ∈ K que satisface:

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

tal que X∗ es llamado un mı́nimo global del problema de optimización.

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 algún ε > 0, donde BX∗ (ε) es la bola abierta de radio ε con centro
en X∗ , es decir:

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

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

El mı́nimo estricto local está 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 conjunto


de las restricciones de desigualdad.

Verónica M. Acurio Vásconez 9


Capı́tulo 4

Programación Lineal

La Programación Lineal es considerada como uno de los avances cientı́ficos


más importantes del siglo anterior. Desde 1950, gracias al exponencial crec-
imiento de la tecnologı́a computacional, esta herramienta se ha ido acoplando
cada vez más dentro de toda empresa, ya sea grande o pequeña, ahorrándoles
a las mismas enormes cantidades de dinero al realizar sus operaciones.

La aplicación de esta herramienta es sumamente variada, va desde la asig-


nación de instalaciones de producción de una empresa hasta la asignación de
recursos nacionales, pasando por la selección de una cartera de inversiones,
patrones de envı́o, planeación agrı́cola, de redes, hasta incluso la de una dieta.

Como todo modelo matemático, la programación lineal permite expresar


un problema de la vida diaria como un conjunto de funciones, restricciones
y objetivos, que permiten dar soluciones a tales problemas.

4.1. El Problema
Resolver un problema de este tipo, consiste en elegir valores no negativos
de ciertas variables, para maximizar o minimizar la función objetivo, que es
lineal y que está sujeta a restricciones dadas por ecuaciones o desigualdades
lineales.

Un problema genérico de Programación Lineal (PL), se representa de la


siguiente forma:

10
CAPÍTULO 4. PROGRAMACIÓN LINEAL

mı́nX cT X
aTi X = bi , i ∈ ε (4.1)
aTj X = bj, j ∈ I
Donde ε y I son los conjuntos de restricciones de igualdades y desigual-
dades respectivamente.

Sin embargo, podemos expresar este problema en la forma estándar,

mı́nX cT X
AX = b (4.2)
X≥0
Aquı́, A ∈ Rmxn , b ∈ Rm , c ∈ Rn son dados y x ∈ Rn es la variable vector
a ser determinada. A es la matriz de coeficientes de las funciones de restric-
ción, b el vector de las constantes de restricción asociadas y f (X) = cT X,
donde c es el vector de coeficientes de la función objetivo.

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

En la forma estándar podemos escribir las desigualdades introduciendo


una variable extra estrictamente no negativa, llamadas variables de holgadu-
ra.

Ejemplo 4.1.1 Sea el problema de optimización:

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


2x1 + x2 ≤ 12
x1 + 2x2 ≤ 9
x1 , x2 ≥ 0
Este problema puede reescribirse como:

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


2x1 + x2 + x3 = 12
x1 + 2x2 + +x4 = 9
x1 , x2 , x3 , x4 ≥ 0
Definición 4.1.1 Una solución básica del problema PL es una solución
obtenida 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 m
variables no sea cero. Las m variables se llaman variables básicas.

Verónica M. Acurio Vásconez 11


CAPÍTULO 4. PROGRAMACIÓN LINEAL

Definición 4.1.2 Una solución posible básica o solución factible básica es


una solución básica que también satisface las condiciones de restricción.

Definición 4.1.3 Una solución básica no degenerada es una solución básica


posible con exactamente m xi positivas; esto es, todas las variables básicas
son positivas.

Teorema 4.1.1 El conjunto de todas las soluciones factibles al problema de


PL, es un conjunto convexo.
Demostración Debemos probar que toda combinación convexa de dos solu-
ciones cualquiera es también una solución factible.

Lo probaremos por recurrencia. Si el conjunto de soluciones tiene un solo


elemento, el teorema es verdadero.

Supongamos ahora que existen por lo menos dos soluciones X1 y X2 . Se


sigue que AX1 = b y AX2 = b , para X1 , X2 ≥ 0.

Sea 0 ≤ α ≤ 1 y sea X = αX1 + (1 − α) X2 una combinación convexa


de 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 solución factible.

Observación Se dice que X es una solución factible si X satisface las re-


stricciones y se dice que X es una solución óptima si a más de satisfacer las
restricciones, minimiza la función objetivo, comparada con las otras solu-
ciones factibles. Es decir, X = (x1 , ..., xn ) , xi ≥ 0 para todo i = 1, ..., n es
una solución factible si,

x1 P1 +
x2 P2 +
... + xn 
Pn = P0
, donde    
a11 a12 a1n b1
P1 =  .  , P2 =  .  , ..., Pn =  .  y P0 =  . 
am1 am2 amn bm

Verónica M. Acurio Vásconez 12


CAPÍTULO 4. PROGRAMACIÓN LINEAL

Observación Existen dos circunstancias en las cuales un problema de pro-


gramación lineal puede no tener una solución:

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 función objetivo


puede 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 todo
i = 1, ..., n, y por tanto no existe ningún elemento que cumpla esta condición,
convirtiendo al conjunto de oportunidades en uno vacı́o, donde el problema
PL no tiene solución.

Ejemplo 4.1.3 Sea el problema de programación Lineal definido como,

mı́nX f (X) = x1 + x2
−x1 − x2 ≤ −8
x1 , x2 ≥ 0

El conjunto de oportunidades es no acotado y la función objetivo no posee


lı́mite dentro de este conjunto. Por tanto es posible que el problema no tenga
solución.

Si el conjunto de oportunidades es no vació y acotado, entonces existe


una solución y debe ser una solución de contorno.

En general, podemos decir que existen tres tipos de soluciones a estos


problemas; una solución única (un vértice), infinitas soluciones (una recta)
o ninguna solución (si el conjunto de oportunidades es vacı́o o no acotado),
más adelante se probarán todos estos resultados.

Teorema 4.1.2 La función objetivo alcanza su mı́nimo en un punto extremo


del conjunto convexo generado por el conjunto de soluciones posibles al prob-
lema PL. Si alcanza este mı́nimo en más de un punto extremo, entonces toma
el mismo valor para toda combinación convexa de estos puntos particulares.

Demostración Sea K el conjunto convexo generado por el conjunto de solu-


ciones, podemos afirmar que K tiene un número finito de puntos extremos.

Verónica M. Acurio Vásconez 13


CAPÍTULO 4. PROGRAMACIÓN LINEAL

Sea f (X) la función objetivo, los vectores x1 , ..., xp las soluciones factibles y
X0 la solución óptima, es decir f (X0 ) ≤ f (X) para todo X ∈ K. Si X0 es un
punto extremo, entonces cumplimos con la primera parte del teorema.

Supongamos que X0 no es un punto extremo, entonces lo podemos expre-


sar como una combinación convexa de los puntos extremos de K, es decir

q
X X
X0 = αi xi , con αi ≥ 0 y αi = 1
i=1 i

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


p 
P
f (X0 ) = f αi xi
i=1 
= f α1 X1 + α2 x2 + ... + αp xp
= α1 f (x1 ) + α2 f (x2 ) + ... + αp f (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 Pf (xi )


el mı́nimo de todos estos valores f (xm ) = mı́n f (xi ) y sabiendo que αi =
i
1, tenemos que

f (X0 ) ≥ α1 f (xm ) + α2 f (xm ) + ... + αp f (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 función 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 combinación convexa de las xi , en-
Pq P
tonces X = αi xi para αi ≥ 0 y αi = 1.
i=1 i

Luego,

Verónica M. Acurio Vásconez 14


CAPÍTULO 4. PROGRAMACIÓN LINEAL

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


= α1 f (x1 ) + α2 fP(x2 ) + ... + αq f (xq )
= αi m
i
=m


Observación Para encontrar una solución 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

x1 P1 + x2 P2 + ... + xk Pk = P0 , con xi ≥ 0

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


de oportunidades.

Demostración Sea K el conjunto de oportunidades.


Supongamos que X no es un punto extremo. Entonces, dado que X es una
solución posible, se la puede expresar como una combinación convexa de otros
puntos X1 y X2 ∈ K. Tenemos,

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

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


y X2 son cero, es decir,
 
(1) (1) (1)
X1 = x1 , x2 , . . . , xk , 0 . . . 0
 
(2) (2) (2)
X2 = x1 , x2 , . . . , xk , 0 . . . 0

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

Entonces,

(1) (1) (1)


x1 P1 + x2 P2 + . . . + xk Pk = P0 y,
(2) (2) (2)
x1 P1 + x2 P2 + . . . + xk Pk = P0

Verónica M. Acurio Vásconez 15


CAPÍTULO 4. PROGRAMACIÓN LINEAL

Como P1 , P2 , . . . , Pk son LI, P0 puede ser expresado como una combi-


nación única de estos vectores, es decir,

(1) (1)
xi = xi = xi

Por tanto X no puede ser expresado como una combinación convexa de dos
puntos 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 los


vectores asociados con las xi positivas, forman un conjunto LI. Además, al
menos m de las xi son positivas.

Demostración Sean los coeficientes distintos de cero los primeros k coefi-


cientes, tales que,

k
X
xi Pi = P0
i=1

Supongamos que los vectores P1 , ...P k son LD, entonces existe una com-
binación lineal de estos vectores tal que,

d 1 P1 + d 2 P2 + . . . + d k Pk = 0

donde al menos una di 6= 0.

Por hipótesis, sabemos que,

x1 P1 + x2 P2 + . . . + xk Pk = P0

Luego, multiplicando la primera ecuación por d > 0, y sumando ambas,


se sigue que,

x1 P1 + x2 P2 + . . . + xk Pk + d (d1 P1 + d2 P2 + . . . + dk Pk ) = P0
k
P k
P
xi Pi + d diPi = P0
i=1 i=1

Por otra parte, si restamos estas ecuaciones, tenemos,

Verónica M. Acurio Vásconez 16


CAPÍTULO 4. PROGRAMACIÓN LINEAL

k
X k
X
xi Pi − d d i Pi = P0
i=1 i=1

Entonces, dos soluciones posibles son:

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


X2 = (x1 − dd1 , . . . , xk − dd1 , 0 . . . , 0)

Ahora bien,
 
1/ X1 + 1/ X2 = 1/ x1 + dd1 + 1/ x1 − dd1, . . . , 1/ xk + ddk + 1/ xk − ddk , 0 . . . , 0
2 2 2 2 2 2
= (x1 , x2 , . . . , xk , 0, . . . , 0)
=X

Lo que es una contradicción, pues X es un punto extremo y por tanto no


se lo puede expresar como combinación lineal de otros puntos extremos.

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

Para probar que al menos m de las xi son positivas, partimos del hecho
de que todo conjunto de m + 1 de vectores en un espacio m dimensional
es necesariamente LD, entonces no podemos tener más de m xi positivas,
puesto que si esto ocurriera, por la parte anterior de este teorema, existirı́an
vectores 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 un


conjunto de m vectores LI del conjunto dado P1 , ..., Pn .

Demostración De acuerdo al teorema (4.1.3) existen k ≤ m vectores de


P1 , ..., Pn que son LI. Si k = m, no hay nada más 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. Se
sigue que los n − r vectores restantes depende de P1 , ..., Pr , lo que contradice

Verónica M. Acurio Vásconez 17


CAPÍTULO 4. PROGRAMACIÓN LINEAL

el hecho de que siempre existe un conjunto de m vectores LI en el conjunto


dado. Por tanto, deben haber m vectores LI P1 , ..., Pm asociados con cada
punto extremo, tales que
k
X m
X
xi Pi + 0Pi = P0
i=1 i=k+1

Teorema 4.1.6 X = (x1 , ..., xn ) es un punto extremo de K, si y solo si las


xj positivas son coeficientes de vectores Pj LI en
k
X
xj Pj = P0
i=1

Demostración Este teorema es la conjunción de los teoremas anteriores,


por tanto su demostración está la hecha. 

Observación Note que existe un punto extremo de K, donde la función ob-


jetivo alcanza su mı́nimo.

Observación Cada solución factible corresponde a un punto extremo de K.

Verónica M. Acurio Vásconez 18


CAPÍTULO 4. PROGRAMACIÓN LINEAL

4.2. Generación de Soluciones de Punto Ex-


tremo
Supongamos que conocemos una solución de punto extremo en términos
de m vectores Pj del conjunto original de n vectores. Podemos hacer que este
conjunto de m vectores LI sean los primeros, es decir
X = (x1 , x2 , ..., xm , 0, ..., 0)
sea el vector solución. Entonces tenemos
x1 P1 + x2 P2 + ... + xm Pm = P0
donde todas las xi ≥ 0. Con estos elementos vamos a buscar otra solución
de punto extremo, solución básica para el problema, suponiendo que existe
una.

En efecto, dado que los P1 , ..., P m son LI estos forman una base para un
espacio vectorial m-dimensional, y entonces cualquier vector de los n dados
se puede expresar como,
m
X
Pj = xij Pi , j = m + 1, ..., n (4.3)
i=1
Supongamos ahora que existe un vector Pm+1 que no está en la base, que
tiene al menos un elemento xi,m+1 > 0 en la expresión

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


Sea θ un número cualquiera, multiplicándolo por (4.4) y restando de
(4.3), se sigue que,

(x1 − θx1,m+1 ) P1 + (x2 − θx2,m+1 ) P2 + ...


(4.5)
... + (xm − θxm,m+1 ) Pm + θPm+1 = P0
El vector X′ = (x1 − θx1,m+1 , x2 − θx2,m+1 , ..., xm − θxm,m+1 , θ) es una
solución al problema y si todos sus elementos son no negativos, es una solu-
ción factible.

Como estamos buscando una solución factible, distinta de X, restringimos


θ a θ > 0. Ası́, todos los elementos de X′ que tiene una x1,m+1 negativa o
igual a 0, también tendrán 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

Verónica M. Acurio Vásconez 19


CAPÍTULO 4. PROGRAMACIÓN LINEAL

de donde,
xi
θ≤
xi,m+1
xi
luego, si tomamos 0 < θ ≤ mı́n xi,m+1 tendremos una solución factible.
i

Ahora, como estamos buscando una solución de punto extremo, y por


los teoremas de la Sección 4.2 sabemos que no podemos tener todos los
elementos m + 1 de X′ positivos, entonces uno de ellos debe ser exactamente
igual a cero. Sea
xi
θ = θ0 = mı́n
i xi,m+1

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


mı́nimo se reducirá a cero. Tomemos el primer elemento,
xi x1
θ0 = mı́n =
i xi,m+1 x1,m+1
se sigue que,

x′2 P2 + x′3 P3 + ... + x′m Pm + x′m+1 Pm+1 = P0

donde x′i = xi − θ0 xi,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

d2 P2 + d3 P3 + ... + dm Pm + dm+1 Pm+1 (4.6)

Con alguna dj 6= 0. Luego sabemos que cualquier subconjunto de un


conjunto LI es también LI, entonces P2 , ..., Pm son LI, lo que implica que
dm+1 6= 0.
di
Sea ei = dm+1
, se sigue que

e2 P2 + e3 P3 + ... + em Pm = Pm+1 (4.7)

Si restamos (4.7) y (4.4) tenemos,

xi,m+1 P1 + (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 iguales
a cero, pero xi,m+1 es estrictamente mayor a cero, por tanto lo que supusimos

Verónica M. Acurio Vásconez 20


CAPÍTULO 4. PROGRAMACIÓN LINEAL

es incorrecto y podemos decir que estos vectores deben ser necesariamente


LI, y por tanto podemos concluir que X′ es una solución extrema factible.

Para seguir extrayendo nuevas soluciones posibles, proseguimos de esta


misma manera.

Ahora, debemos encontrar la representación de cualquier vector que no


se encuentre en la nueve base P2 , ..., Pm , Pm+1 en términos de esta.

De (4.4) se tiene que


1
P1 = (Pm+1 − x2,m+1 P2 − ... − xm,m+1 Pm ) (4.9)
x1,m+1
Sea,
Pj = x1j P1 + x2j P2 + ... + xmj Pm (4.10)
el vector que buscamos. Reemplazando P1 de (4.9) en (4.10) tenemos,
   
x1j x1j
Pj = x2j − x1,m+1 x2,m+1 P2 + x3j − x1,m+1 x3,m+1 P3 + ...
 
x1j x1j
... + xmj − x1,m+1 xm,m+1 Pm + x1,m+1 Pm+1

En este procedimiento se selecciona una nueva variable para ser introduci-


da en el sistema y ası́ obtener la nueva solución y las nuevas representaciones
de 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 = 7
2x1 − 4x2 + x5 = 12
−4x1 − 3x2 + 8x3 + x6 = 10

La solución 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 solución de punto extremo. La repre-
sentación de P1 en términos de los vectores base es:

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

Verónica M. Acurio Vásconez 21


CAPÍTULO 4. PROGRAMACIÓN 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


xi
0 < θ = θ0 = mı́n
i xi1
Luego,
θ04 = x4
x41
= 73
x5
θ05 = x51
=6
x6
θ06 = x61
= −52

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

Reemplazando θ0 en (4.13) se sigue que


22 58 7
P5 + P6 + P1 = P0
3 3 3
 
aquı́ se ha eliminado P4 de la base, es decir X = 7/3, 0, 0, 0, 22/3, 58/3

es
una solución de punto extremo.

Si en vez de P1 hubiésemos buscado la solución en términos de P2 , hu-


biésemos obtenido que

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

donde cualquier θ > 0 nos de una solución posible X′′ = (0, θ, θ, 7 + θ, 12 + 4θ, 10 + 3θ),
como en este caso, xi2 < 0, no es posible hallar una solución de extremo.

Si colocamos en una matriz todos los datos, realizar este procedimiento


resulta mucho más 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,

Verónica M. Acurio Vásconez 22


CAPÍTULO 4. PROGRAMACIÓN LINEAL

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

Para hacerlo, procedemos como si la tabla fuese una matriz, por tanto
con el método de eliminación completa podemos obtener los resultados que
deseamos.

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/3
2 −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/3
0 −13/3 32/3 4/3 0 1 58/3
 
donde la nueva solución es X′ = 7/3, 0, 0, 0, 22/3, 58/3

Y entonces la nueva base es P1 , P5 , P6 y además,

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


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

Verónica M. Acurio Vásconez 23


CAPÍTULO 4. PROGRAMACIÓN LINEAL

4.3. Dualidad
En la resolución de un problema de optimización es necesario saber re-
conocer una solución óptima entre las soluciones.

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


generado.
   
2 1 1 0 12 1/2F1 1 1/2 1/2 0 6

1 2 0 1  9 1 2 0 1 9 
1 1/2 1/2 0 6 1 1/2 1/2 0 6
∼ ∼
−F1 + F2 0 3/2 0 1 3 2/3F2 0 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 función 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 solución (3) es la mejor, pero no estamos


seguros de si esta es la óptima.
Nótese que las restricciones limitan el valor de la función objetivo.
Para el ejemplo que estamos desarrollando, usando la primera restricción
debemos tener que:

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

Esta desigualdad debe cumplirse con todas las soluciones factibles dado
que xi son no negativas y el coeficiente de cada variable al lado izquierdo
de la inecuación es al menos tan grande como el coeficiente de la variable
correspondiente del lado derecho.

Si utilizamos la segunda restricción tenemos,

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

o también podemos decir que,

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

Verónica M. Acurio Vásconez 24


CAPÍTULO 4. PROGRAMACIÓN LINEAL

de donde se sigue que,


−x1 − x2 ≥ −1/3 (2x1 + x2 + x3 ) − 1/3 (x1 + 2x2 + x4 ) = −1/3 (12 + 9) = 7
(Obsérvese que −1/3 (2x1 + x2 + x3 ) − 1/3 (x1 + 2x2 + x4 ) = −x1 − x2 −
1/3x3 − 1/3x4 ).

Esta última desigualdad indica que para toda solución factible, la solu-
ción de la función objetivo no puede ser más pequeña que −7.

Si observamos la solución (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 solución óptima
del problema.

Estragegia: Si encontramos una solución para el problema de progra-


mación lineal y un lı́mite sobre el valor óptimo de tal forma que el lı́mite y
el valor objetivo de la solución factible coincidan, entonces podemos tomar
esta solución como la solución óptima.

En nuestro ejemplo, la estrategia nos llevó a buscar valores y1 y y2 tales


que
y1 (2x1 + x2 + x3 )+y2 (x1 + 2x2 + x4 ) = (2y1 + y2 ) x1 +(y1 + 2y2 ) x2 +y1 x3 +y2 x4
donde cada componente es menor o igual a −x1 − x2 o,
2y1 + y2 ≤ −1
y1 + 2y2 ≤ −1
y1 ≤ 0
y2 ≤ 0
Es decir, ahora buscamos y1 y y2 que formen una combinación máxima
para las restricciones anteriores, es decir,
máx 12y1 + 9y2
2y1 + y2 ≤ −1
y1 + 2y2 ≤ −1
y1 , y2 ≤0

Definición 4.3.1 El problema dual es un problema correspondiente al prob-


lema original. Se lo expresa como:
máxY bT Y
AT Y ≤ c

Verónica M. Acurio Vásconez 25


CAPÍTULO 4. PROGRAMACIÓN LINEAL

donde y ∈ Rm . Añadiendo una variable extra, podemos expresar este proble-


ma como:
máxY bT Y
AT Y + s = 0
s≥0
donde s ∈ Rn

Teorema 4.3.1 (De la dualidad débil) Sea X una solución factible del prob-
lema PL y Y una solución factible del problema dual correspondiente. En-
tonces,
cT X ≥ bT Y

Demostración Como X ≥ 0 y c − AT Y = x ≥ 0, el producto de estos dos


vectores debe ser no negativo.

YT s = sT X
T
= c − AT Y X
= cT X − YT b ≥ 0

Por tanto cT X ≥ bT Y. 

El hecho de que XT s = cT − YT 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) es


irresoluble, su dual (respectivamente el primario) es infactible.

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


y cT X = bT Y, entonces X es una solución óptima para el primario PL y Y
es la solución óptima del dual PL.

Demostración Del teorema de dualidad débil, se sigue que para toda solu-
ción factible X del problema primal,

cT X ≥ bT Y∗

En consecuencia X∗ es una solución óptima al primal.

De la misma manera, podemos demostrar que Y∗ es una solución óptima


del dual. 

Verónica M. Acurio Vásconez 26


CAPÍTULO 4. PROGRAMACIÓN LINEAL

Teorema 4.3.4 (De la dualidad Fuerte) Si el problema primal o el problema


dual tiene una solución óptima finita, entonces el otro problema tiene una
solución óptima finita y los extremos de las funciones lineales son iguales, es
decir minf (x) = maxg(W ), y para cualquier solución óptima X del primal
y Y del dual, se tiene que cT X = bT Y, además si uno de los problemas no es
acotado, entonces K es vacı́o.

Demostración La segunda parte se deriva directamente del teorema de


dualidad débil. En efecto, supongamos que el primal no es acotado inferior-
mente, entonces se tiene que cT x → −∞. Si el dual es factible, se tiene que
existe un y ≤ c que por el teorema de dualidad débil cumple con bT Y ≤ cT X
de donde se sigue que bT Y es una cota inferior sobre el valor de la función
objetivo del primal, lo que es una contradicción.

Para demostrar la primera parte, supongamos que el primal posee una


solución óptima X∗ para la que le valor de la función objetivo es igual a Z∗ .

Sean xj1 , xj2 , ..., xjm las variables de la base de X correspondiente.

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


asociados a la base óptima. Recordemos que las componentes de las variables
son definidas como:

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

donde aj es la j-ésima columna de A.

Supongamos que esta solución de base óptima es tal que

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

En consecuencia,
ΠT aj ≤ cj , ∀j = 1, 2, . . . , n
o aTj Π ≤ cj , ∀j = 1, 2, . . . , n
de donde se sigue que
AT Π ≤ c
lo que implica que
Π ∈ Y : AT Y ≤ c


es decir que Π es una solución factible para el dual.

Verónica M. Acurio Vásconez 27


CAPÍTULO 4. PROGRAMACIÓN LINEAL

Encontremos ahora el valor de la solución factible Π para el dual. Ten-


emos,
Π = B −1T cB
De aquı́ se sigue que
T
bT Π = bT B −1T cB = B −1 b cB = X∗T
B cB = Z


Definición 4.3.2 X ∈ Rn es una solución óptima de (4.2) si y solo si
1. X es primal factible: AX = b, X ≥ 0 y existen Y ∈ Rn y S ∈ Rn tales
que
2. (Y, S) es dual factible: AT Y + S = c, S ≥ 0 y
3. cT X = bT Y.
Un análisis de estas condiciones nos lleva a obtener un conjunto de condi-
ciones óptimas alternativas. Del teorema de dualidad débil, tenemos que
T
cT X − bT Y = c − AT Y X ≥ 0
para cualquier par de soluciones factibles del primal-dual.

Este producto interno es 0. cT X = bT Y si y solo si se cumple que para


j = 1, 2, ..., n, xi · (c − AT Y)i = Si es cero.

Es decir,
n
T
T X
c − AT Y i Xi

0= c−A Y X=
i=1
donde cada término es no negativo.

Dado que esta suma es cero, cada término debe ser cero.

Entonces podemos decir que X ∈ Rn es una solución óptima de (4.2) si y


solo si
1. X es primal factible: AX = b, X≥ 0 y existen Y ∈ Rn y S ∈ Rn tales
que
2. (Y, S) es dual factible: AT Y + S = c, S ≥ 0 y
3. Para cada i = 1, ..., n se tiene que Xi Si = 0.

Verónica M. Acurio Vásconez 28


CAPÍTULO 4. PROGRAMACIÓN LINEAL

4.4. El Método Simplex


El método simplex fue desarrollado por George B. Dantzig en 1947, con
el fin de resolver problemas de planeación para el gobierno de los Estados
Unidos.

4.4.1. Desarrollo de una solución posible mı́nima


Supongamos que el problema PL tiene solución, y que esta se conoce.
Además supongamos que sus primeras m componentes no son ni cero ni neg-
ativas.

Recordemos que se dice que X es una solución básica si es de la forma,

XN = 0, XB = B −1 b

para alguna matriz base B. Si además XB = B −1 b ≥ 0, la solución XB =


B −1 b, XN = 0 es una solución básica factible del problema PL original. Las
variables XB son llamadas variables básicas, mientras que las de XN son las
variables no básicas.

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

x10 P1 + x20 P2 + . . . + xm0 Pm = P0 (4.15)

y,
x10 c1 + x20 c2 + . . . + xm0 cm = z0 , con xi0 > 0 (4.16)
Las ci son los coeficientes de restricción de la función objetivo y z0 es el valor
correspondiente de la función objetivo para la solución dada.

Como P1 , ..., Pm son LI, podemos expresar cualquier vector del conjunto
P1 , ..., Pn en términos de P1 , ..., Pm , es decir

Pj = x1j P1 + x2j P2 + . . . + xmj Pj , j = 1, . . . , n (4.17)

Definamos,

zj = x1j c1 + x2j c2 + . . . + xmj cj , j = 1, . . . , n (4.18)

donde ci son los coeficientes de restricción correspondientes a Pi .

Verónica M. Acurio Vásconez 29


CAPÍTULO 4. PROGRAMACIÓN LINEAL

Teorema 4.4.1 Si para cualquier j fija, se cumple que zj − cj > 0, entonces


puede construirse un conjunto de soluciones posibles tales que z < z0 para
cualquier miembro del conjunto donde el lı́mite inferior de z pude ser finito
o infinito (z es el valor de la función objetivo para un miembro particular del
conjunto de soluciones posibles)

Demostración Si multiplicamos (4.17) por un número cualquiera θ y la


restamos 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 solución z = z0 − θ(zj − cj ).
Como las variables x10 , x20 , ..., xm0 en (4.19) son todas positivas y por los
teoremas de la Sección 4.2, existe un vector θ > 0 (finito o infinito), para el
cual 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 solución posible, cuyo valor correspon-
diente de la función objetivo es menor que el valor de la solución precedente.

1. Si el lı́mite inferior es finito, se puede construir una nueva solución


posible con exactamente m variables positivas, cuyo valor de la función
objetivo es menor que el valor para la solución precedente.

Si para j fija, al menos xij > 0 en (4.17) para i = 1, ..., m el mayor


valor de θ, para el que todos los coeficientes de (4.19) permanecen no
negativos está dado por,
xi0
θ0 = mı́n > 0, para xij > 0 (4.21)
i xij

Verónica M. Acurio Vásconez 30


CAPÍTULO 4. PROGRAMACIÓN LINEAL

2. Si el lı̀mite inferior es infinito, puede construirse una nueva solución


posible con exactamente m variables positivas, cuyo valor de la función
objetivo puede hacerse tan pequeña como sea necesario.

Si en cualquier paso de la demostración del primer caso tenemos que


para cierta j, zj − cj > 0 y todas las xij < 0, entonces no existe lı́mite
superior a θ y la función objetivo tiene un lı́mite inferior a −∞. En este
caso, para cualquier θ > 0, todos lo coeficientes de (4.19) son positivos.
Creamos entonces una solución posible de m + 1 elementos positivos.
En esta forma, tomando θ lo suficientemente grande, el valor correspon-
diente de la función objetivo, dada en el lado derecho de (4.20), puede
hacerse arbitrariamente pequeño.

Por lo que se supuso al comienzo de este capı́tulo, todas las soluciones


factibles poseen m elementos positivos, entonces el mı́nimo en (4.21) se ob-
tiene para una i única.

Si reemplazamos θ0 por θ en (4.19) y (4.20), el coeficiente correspondi-


ente a esta i única se anulará.

Ası́ hemos construido una nueva solución factible, consistente en Pj y


m − 1 vectores de la base original y obteniendo también una nueva base.

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

Teorema 4.4.2 Si para cualquier solución básica 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 solución posible mı́nima.

Demostración Sean,

y10 P1 + y20 P2 + . . . + yn0 Pn = P0 (4.22)

y,
y10 c1 + y20 c2 + . . . + yn0 cn = z ∗ (4.23)
Sea cualquier otra solución posible en la que z∗ es el valor correspondiente
de la función objetivo. Demostremos que z0 ≤ z∗ .

Verónica M. Acurio Vásconez 31


CAPÍTULO 4. PROGRAMACIÓN LINEAL

Por hipótesis zj − cj ≤ 0, para todas las j, ası́ que si reemplazamos cj por


cada zj en (4.23), tenemos

y10 z1 + y20 z2 + . . . + yn0 zn ≤ z ∗ (4.24)


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

m
! m
! m
!
X X X
y10 xi1 Pi + y20 xi2 Pi + . . . + yn0 xin Pi = P0 (4.25)
i=1 i=1 i=1

Ası́ mismo, para cada j sustituimos la expresión para zj dada por (4.18)
en (4.24) y obtenemos,

m
! m
! m
!
X X X
xj0 X1j c1 + xj0 X2j c1 + . . . + xj0 Xmj cm ≤ z ∗ (4.26)
i=1 i=1 i=1

Dado que el conjunto de vectores P1 , ..., Pm es LI, los coeficientes de los


vectores componentes en (4.15) y (4.25) deben ser iguales y entonces (4.26)
se convierte en:

x10 c1 + x20 c2 + . . . + xm0 cm ≤ z

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

Los teoremas anteriores nos permiten ir de una solución factible y generar


un conjunto de nuevas soluciones factibles que converjan a la solución mı́ni-
ma, o bien determinar que no existe una solución finita.

La generación de una solución básica y el desarrollo de una solución ópti-


ma, nos induce a observar que cuando un problema PL posee una solución
óptima, debe tener una solución óptima básica factible. La significación de
este resultado nos lleva a decir que para encontrar la solución a un problema
PL es necesario chequear el valor objetivo de cada solución básica.

Note que existe solo un número finito de estas soluciones básicas, lo que
reduce esta búsqueda a un espacio infinito o finito.

Verónica M. Acurio Vásconez 32


CAPÍTULO 4. PROGRAMACIÓN LINEAL

4.4.2. Procedimiento de Cómputo


Consideremos el siguiente ejemplo, sacado del libro de Ïntroduction to
Mathematical Programming” de R. Walker.

Ejemplo 4.4.1 El granjero Jones tiene 100 acres de tierra que quiere
dedicar a la siembra de trigo y maı́z, y desea planear la plantación de las
mismas, de tal manera que pueda obtener la máxima 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ı́as
laborables para dedicarlos a la siembra. Para sembrar cada acre de trigo se
necesitan dos dı́as y para sembrar un acre de maı́z uno.

Si experiencias pasadas indican un retorno de $80 por cada acre de trigo


y $60 por cada acre de maı́z, ¿cuantos acres de cada cosa deberı́a plantear
Jones para maximizar su rentabilidad?

Solución Sean x1 y x2 las variables que denotan al trigo y al maı́z respecti-


vamente, se obtiene la siguiente formulación al problema del granjero Jonnes

máx Z = 80x1 + 60x2


sujeto a
x1 + x2 ≤ 100
2x1 + x2 ≤ 150
5x1 + 10x2 ≤ 800
x1 , x2 ≥ 0

Luego de añadir las variables no básicas a cada una de las funciones de


restricción del problema, se tiene la representación del problema en casi la
forma estándar (pues estamos maximizando en vez de minimizar)

máx Z = 80x1 + 60x2


sujeto a
x1 + x2 + x3 = 100
2x1 + x2 + x4 = 150
5x1 + 10x2 + x5 = 800
x1 , x2 , x3 , x4 , x5 ≥ 0

El método simplex resuelve un problema PL moviéndose de una solución


de básica factible a otra, hasta que encuentre una solución de estas que sea

Verónica M. Acurio Vásconez 33


CAPÍTULO 4. PROGRAMACIÓN LINEAL

presumiblemente óptima. Pero primero, se debe empezar por una solución


básica.

Siguiendo el proceso de la Sección (4.2), para el problema del granjero


Jones, es trivial escoger la solución básica,

P0 = 100P3 + 150P4 + 800P5

El método 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
Variables ⇓
x2 x3 x4 x5
Basicas x1
Z −80 −60 0 0 0 0 (1)
x3 1 1 1 0 0 100
⇐ x4 2∗ 1 0 1 0 150
x5 5 10 0 0 1 800

Esta tabla es llamada la tabla simplex. Las columnas encabezadas por


cada variable, contiene los coeficientes de esta variable en cada ecuación,
incluyendo la fila de la ecuación del objetivo, que es la fila Z. La primera
columna de la izquierda es usada para realizar un seguimiento de las variables
básicas de cada fila. La primera fila representa los vectores P1 , ..., Pm LI
asociados 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 columna
objetivo y que acreciente la función objetivo si es introducida en la base.
En cada caso, las dos variables x1 y x2 poseen coeficientes negativos en la
columna 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 básica con coeficiente negativo
puede ser tomada.

Verónica M. Acurio Vásconez 34


CAPÍTULO 4. PROGRAMACIÓN LINEAL

Paso 1 Encontrar una variable con un coeficiente negativo en la fila del


objetivo. Si todas las variables tienen coeficientes no negativos en la fila ob-
jetivo, DETÉNGASE, la tabla que posee es la óptima.(Buscamos que los
coeficientes sean no negativos porque en este caso estamos maximizando, si
estuviéramos minimizando, entonces buscarı́amos que las variables sean no
positivas)

Luego de escoger x1 , como la variable entrante, necesitamos determinar


la variable de holgadura (en ocasiones llamada la variable de salida). Esta
variable se la encuentra realizando el proceso descrito en la sección (4.2) de
Generación de Soluciones de Punto Extremo. En efecto, si observamos la
tabla (1), tenemos que la solución inicial básica 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. Como


deseamos introducir P1 en la base, y ası́ obtener otra solución básica, entonces
expresamos P1 en términos 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


xi
0 < θ = θ0 = mı́n
i xi1
Luego,
x3 100
θ03 = x31
= 1
= 100
x4 150
θ04 = x41
= 2
= 75
x5 800
θ05 = x51
= 5
= 160

Verónica M. Acurio Vásconez 35


CAPÍTULO 4. PROGRAMACIÓN LINEAL

Y entonces,
0 < θ = θ0 = 75
que corresponde al vector P4 (por ello la flecha hacia fuera en la variable
x4 , 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 θ0i son cero o negativas, entonces concluimos que el
problema es irresoluble.

Paso 2 Una vez ubicada la variable de holgadura, encuentre otra solución


básica en la que se incluya el vector de la variable entrante dentro de la nueva
base.

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

25P3 + 75P1 + 425P5 = P0

observe que hemos eliminado P4 , es decir el vector que contiene la variable


de holgadura, entonces

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

es otra solución de punto extremo.

Si hacemos este proceso directamente en una tabla y la tratamos como


una matriz, utilizando el método de eliminación completa, podemos obten-
er la nueva base. Para ello debemos primero convertir al vector entrante en
unitario, haciendo 1 en el pivote y cero en las demás componentes.

El pivote es el elemento de intersección entre la variable de holgadura y la


variable entrante, es decir el elemento de intersección de las fechas colocadas
en la tabla (1). En este caso, es el 2, por ello este elemento se encuentra
señalado con un *.

Entonces, hacemos la tabla (1)

Verónica M. Acurio Vásconez 36


CAPÍTULO 4. PROGRAMACIÓN LINEAL

P1 P2 P3 P4 P5 P0
Variables ⇓
x2 x3 x4 x5
Basicas x1
F1 Z −80 −60 0 0 0 0
F2 x3 1 1 1 0 0 100
F3 ⇐ x4 2∗ 1 0 1 0 150
F4 x5 5 10 0 0 1 800

Dividiendo para dos F3 tenemos,

P1 P2 P3 P4 P5 P0
Variables
x1 x2 x3 x4 x5
Basicas
F1 Z −80 −60 0 0 0 0
F2 x3 1 1 1 0 0 100
F3 x1 1 1/2 0 1/2 0 75
F4 x5 5 10 0 0 1 800

Haciendo 80F 2 + F 1, −F 3 + F 2 y −5F 3 + F 4 tenemos,

P1 P2 P3 P4 P5 P0
Variables
x1 x2 x3 x4 x5
Basicas
F1 Z 0 −20 0 40 0 6000 (5)
F2 x3 0 1/2 1 −1/2 0 25
F3 x1 1 1/2 0 1/2 0 75
F4 x5 0 15/2 0 −5/2 1 425

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 solución básica inicial es,

25P3 + 75P1 + 425P5 = P0

Como x2 posee un signo negativo, vamos a introducir el vector P2 en la


nueva base. Hacemos

P2 = 25P3 + 75P1 + 425P5

De donde,

Verónica M. Acurio Vásconez 37


CAPÍTULO 4. PROGRAMACIÓN 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
x3 100
θ03 = x32
= 1
= 50
x1 150
θ01 = x12
= 2
= 75
800
θ05 = x5
x52
= 5
= 170
3

Y entonces,
0 < θ = θ0 = 50
que corresponde al vector P3 en la tabla (5), identificando x3 como la
variable de holgadura.

Tenemos entonces la siguiente tabla

P1 P2 P3 P4 P5 P0
Variables ⇓
x1 x3 x4 x5
Basicas x2
F1 Z 0 −20 0 40 0 6000
F2 ⇐ x3 0 1/2∗ 1 −1/2 0 25
F3 x4 1 1/2 0 1/2 0 75
F4 x5 0 15/2 0 −5/2 1 800

Multiplicando esta tabla por 2, se sigue

P1 P2 P3 P4 P5 P0
Variables
x1 x2 x3 x4 x5
Basicas
F1 Z 0 −20 0 40 0 6000
F2 x2 0 1 2 −1 0 50
F3 x4 1 1/2 0 1/2 0 75
F4 x5 0 15/2 0 −5/2 1 425

Haciendo, 20F 2 + F 1, −1/2 + F 3 y −15/2F 2 + F 4 tenemos,

Verónica M. Acurio Vásconez 38


CAPÍTULO 4. PROGRAMACIÓN LINEAL

P1 P2 P3 P4 P5 P0
Variables
x1 x2 x3 x4 x5
Basicas
F1 Z 0 0 40 20 0 7000
F2 x2 0 1 2 −1 0 50
F3 x4 1 0 −1 1 0 50
F4 x5 0 0 −15 5 1 50

Como todas las variables del objetivo son no negativas, entonces (50, 50, 0, 0, 50)
es la solución óptima.

Podemos entonces decirle al granjero Jones que deberı́a sembrar 50 acres


de maı́z y 50 acres de trigo para maximizar su ganancia, teniendo en cuenta
sus limitaciones y condiciones.

Observación Si queremos minimizar la misma función, basta con calcular


−z, es decir poner un signo menos en la función objetivo y realizar el método
simplex, tratando de eliminar, en vez de las variables negativas, las positivas.
Sin embargo, cuando se calcule el valor objetivo (V.O), se lo debe multiplicar
por −1.

Verónica M. Acurio Vásconez 39


CAPÍTULO 4. PROGRAMACIÓN LINEAL

4.5. Alternativa al Método Simplex


Obtener un pivote para el método simplex es sumamente rápido gracias a
los avances de los computadores, incluso para problemas con miles de restric-
ciones, de ahı́ el gran éxito de la aplicación de este método. Sin embargo, para
problemas largos, considerados como problemas de 100 000 restricciones, el
número de iteraciones del método 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 el
método simplex.

Existe otro método que nos permite resolver estos grandes problemas,
conocido como el método barrera o el método del punto interior. Este méto-
do usa una estrategia totalmente distinta a la del método simplex para buscar
el óptimo, siguiendo un patrón mucho más complejo, pero el número de it-
eraciones necesarias no depende de cuan grande sea el problema.

Como resultado, el método del punto interior, puede ser mucho más rápi-
do que el método simplex para resolver problemas de grandes proporciones.

Programas informáticos como Cplex, Xpress, OSL, etc., dan la opción de


resolver los problemas PL por cualquiera de estos dos métodos.

Verónica M. Acurio Vásconez 40


Capı́tulo 5

Modelización PL y Aplicaciones
Activo/Pasivo, Flujo de Caja,
Fondos Compensatorios

5.1. Algunos Términos Financieros


Las corporaciones se enfrentan habitualmente a problemas de financiación
de efectivo a corto plazo. La programación lineal puede ayudar en la búsque-
da de combinaciones óptimas de los instrumentos financieros (como bonos,
acciones, vencimientos, etc.) que otorgue inversiones más eficaces.

Considere el ejemplo.

Ejemplo 5.1.1 Una compañı́a tiene el siguiente problema de financiación


a corto plazo, con un capital para el efecto de $ 1000.

Mes Ene Feb Mar Abr May Jun


Flujo de Caja Neto -150 -100 200 -200 50 300
La compañı́a tiene las siguientes fuentes de inversión

Una lı́nea de crédito sobre los $100 a una tasa de interés del 1 % men-
sual.

Puede emitir papales comerciales con un interés total del 2 % trimestral.

Los fondos excedentes pueden ser invertidos a una tasa de interés del
0.3 % mensual.

41
CAPÍTULO 5. MODELIZACIÓN PL Y APLICACIONES
ACTIVO/PASIVO, FLUJO DE CAJA, FONDOS COMPENSATORIOS

Existen algunas preguntas que la compañı́a quiere responder. ¿Qué in-


terés de pago necesita hacer la compañı́a entre enero y junio? ¿Es económico
usar la lı́nea de crédito? si es ası́, ¿en cuáles?, ¿cuánto?.

La programación lineal, proporciona un mecanismo para contestar estas


preguntas fácil y rápido. Incluso nos permite responder algunas preguntas del
tipo ”que tal si”sobre cambios en los datos sin tener que resolver el problema,
como por ejemplo, ¿qué tal si el flujo de caja neto en enero fuera -200 en vez
de -150?, ¿qué tal si el lı́mite de la lı́nea de crédito se incrementara de 100 a
200?, ¿qué tal si el flujo de caja neto negativo de enero se debe a la compra
de maquinaria por un valor de $150 y el vendedor permite una parte o la
totalidad del pago de la misma que se hizo en junio a un interés del 3 % en un
periodo de cinco meses? Las respuestas a estas preguntas están disponibles
cuando el problema es formulado y resuelto como uno de programación lineal.

Existen entonces tres pasos al aplicar la programación lineal en estos


problemas: modelar, resolver e interpretar.

5.1.1. Modelar
Empezamos modelando el pequeño problema financiero anterior, es decir,
escribiremos este problema en el lenguaje de programación lineal. Existen re-
glas sobre las que se puede o no plantear un la programación lineal. Estas
reglas imponen algunos de los pasos necesarios para el proceso (resolviendo
e interpretando el problema) que nos llevan a plantearlo exitosamente.

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

Variables de Decisión Las variables de decisión representan (desconoci-


das) decisiones a tomar. Esto está en contraste con los datos del problema
que son valores dados o calculados del mismo problema. Para el problema
que planteamos como ejemplo, existen variables posibles opciones para las
variables de decisión. Usaremos las siguientes: el monto xi sobre la lı́nea de
crédito en el mes i, el monto yi de los papeles comerciales emitidos en el mes
i, el exceso de fondos zi en el mes i y la ganancia de la compañı́a v en junio.
Note que, alternativamente, podrı́amos usar solo las variables de decisión xi
y yi , dado que el exceso de fondos y la ganancia de la compañı́a pueden ser
deducidos de estas dos variables.

Verónica M. Acurio Vásconez 42


CAPÍTULO 5. MODELIZACIÓN PL Y APLICACIONES
ACTIVO/PASIVO, FLUJO DE CAJA, FONDOS COMPENSATORIOS

Objetivo Todo problema lineal tienen un objetivo, que debe ser o bien
maximizado o bien minimizado. Este objetivo debe tener variables de decisión
lineales, lo que significa que estas deben estar sumándose o multiplicándose
por constantes, es decir 2x1 + 10x2 es una función lineal, mientras que x1 ∗ x2
no lo es. En nuestro caso, el objetivo es simplemente maximizar v.

Restricciones Cada programa lineal posee también restricciones que lim-


itan las soluciones factibles. Aquı́ tenemos tres tipos de restricciones: el debe
tiene que ser igual al haber por cada mes, los lı́mites superiores sobre xi y la
no negatividad de las variables de decisión xi , yi y zi .

Por ejemplo, en enero (i = 1), existe un requerimiento de efectivo de $150.


El conocer este requerimiento permite a la compañı́a proporcionar un monto
x1 para la lı́nea de crédito y emitir un monto y1 de papeles comerciales.
Considera también la posibilidad del exceso de fondos zi que en este mes es
0. La ecuación 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 interés principal de 1,01x1 vencido a la lı́nea
de crédito y se suma 1,003z1 recibido por la inversión del exceso de fondos.
Sabiendo esto, la compañı́a puede proporcionar un monto x2 para la lı́nea de
crédito y emitir un monto y2 de papeles comerciales. Entonces la ecuación
del 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 = −200


x4 − 1,02y1 − 1,01x3 + 1,003z3 − z4 = 200
x5 − 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 crédito en el mes i, no el


incremento del préstamo en el mes i. Similarmente, zi representa el exceso
de fondos total en el mes i. Escoger ası́ las variables es bastante conveniente
para escribir casi condiciones de lı́mites superiores y la negatividad de las
restricciones.

Verónica M. Acurio Vásconez 43


CAPÍTULO 5. MODELIZACIÓN PL Y APLICACIONES
ACTIVO/PASIVO, FLUJO DE CAJA, FONDOS COMPENSATORIOS

0 ≤ xi ≤ 100
yi ≥ 0
zi ≥ 0

Esto nos da el modelo final siguiente:

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

Formular un problema como un programa lineal significa ir a través del


proceso antes descrito para definir claramente las variables de decisión, el
objetivo y las restricciones.

5.1.2. Resolver
Existen varios programas que resuelven problemas de optimización. En
este proyecto se usará la herramienta informática Matlab.

Este software posee un comando que nos permite resolver problemas PL,
que es linprog.
Este comando resuelve el programa lineal estándar, es decir la minimización
de la función objetivo.

Para maximizar, habrı́a que transformar la función objetivo en −f .

Estructura del comando y Parámetros Existen diversas maneras en


las que se puede expresar las soluciones de un problema de programación
lineal y opciones que podemos pedir a programa tome en cuenta al momento
de resolverlo.

Verónica M. Acurio Vásconez 44


CAPÍTULO 5. MODELIZACIÓN PL Y APLICACIONES
ACTIVO/PASIVO, FLUJO DE CAJA, FONDOS COMPENSATORIOS

X = LINP ROG(c, A, b) resuelve el problema,

mı́nX cT X
AX ≤ b

donde c ∈ Rn es la matriz de coeficientes de función objetivo la obje-


tivo, A es la matriz de coeficientes de las funciones restricciones con
A ∈ Rmxn y b ∈ Rm es el vector de las constantes de restricción.

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

Figura 5.1: Script ejemplo 4.1.1

X = LINP ROG(c, A, b, Aeq, beq)

Si ingresamos variables de holgadura, podemos resolver el problema con


Matlab si ponemos en c la los coeficientes de la función objetivo con

Verónica M. Acurio Vásconez 45


CAPÍTULO 5. MODELIZACIÓN PL Y APLICACIONES
ACTIVO/PASIVO, FLUJO DE CAJA, FONDOS COMPENSATORIOS

todas las variables, donde obviamente las de holgadura serán 0. En A,


colocamos la matriz original con 0 en los coeficientes de las variables de
hogadura, en Aeq la matriz A con 1 en los coeficientes de estas variables
y hacemos beq = b. El script es el siguiente.

Figura 5.2: Script ejemplo 4.1.1 con variables de holgadura

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

Aquı́, LB y UB son los conjuntos de lı́mites superiores e inferiores de


las 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 posee
lı́mites hacia abajo, y si se pone UB(i) = Inf se entiende que el prob-
lema no posee lı́mites hacia arriba.

Verónica M. Acurio Vásconez 46


CAPÍTULO 5. MODELIZACIÓN PL Y APLICACIONES
ACTIVO/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 pongámoslo en orden.

Verónica M. Acurio Vásconez 47


Verónica M. Acurio Vásconez

ACTIVO/PASIVO, FLUJO DE CAJA, FONDOS COMPENSATORIOS


CAPÍTULO 5. MODELIZACIÓN PL Y APLICACIONES
máx 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
48
CAPÍTULO 5. MODELIZACIÓN PL Y APLICACIONES
ACTIVO/PASIVO, FLUJO DE CAJA, FONDOS COMPENSATORIOS

Crearemos un archivo maximizar.m en el que desarrollemos la matices


necesarias para aplicar el comando. Recordemos que Matlab solo puede min-
imizar, entonces, colocaremos la función objetivo como −f de tal manera
que podamos encontrar optimización máxima.

La función es la siguiente,

Figura 5.3: Función Maximizar en Matlab

Si corremos esta función en la ventana de comandos de Matlab y luego


aplicamos el comando linprog, tenemos los siguiente,

Verónica M. Acurio Vásconez 49


CAPÍTULO 5. MODELIZACIÓN PL Y APLICACIONES
ACTIVO/PASIVO, FLUJO DE CAJA, FONDOS COMPENSATORIOS

Figura 5.4: Resolución del Ejercicio Financiero

5.1.3. Interpretar
Cada paquete informático posee su propia manera de presentar los re-
sultados. En nuestro caso, al poner X = antes de la correr el comando, el
resultado que se nos despliega es el valor que debe tener cada variable a fin
de minimizar (o maximizar) la función objetivo. Estos valores están en el
mismo orden en el que se colocó las variables en la función objetivo.

Es fácil entonces interpretar los resultado obtenidos. Sin embargo, existen


otros programas que por el mismo hecho de presentar una mayor cantidad
de información, su interpretación se vuelve más compleja, como es el caso de
la función Solver en Excel.

Verónica M. Acurio Vásconez 50


CAPÍTULO 5. MODELIZACIÓN PL Y APLICACIONES
ACTIVO/PASIVO, FLUJO DE CAJA, FONDOS COMPENSATORIOS

5.2. Caracterı́sticas de los Programas Lineales


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

Los primeros dos supuestos están relacionados con la forma lineal de las
funciones. La contribución al objetivo de las variables de decisión es propor-
cional al valor de cada una de ellas. Similarmente, la contribución de cada
variable al lado izquierdo de cada restricción es proporcional al valor de cada
variable. Este es llamando el Supuesto de Proporcionalidad.

Sin embargo, la contribución de una variable al objetivo y a las re-


stricciones es independiente de los valores de las otras variables. Este es el
Supuesto de Aditividad.

El siguiente supuesto, es el Supuesto de Divisibilidad. No es posible tomar


fracciones de las variables.

El último supuesto es el Supuesto de Certeza, un programa lineal no ad-


mite la incertidumbre sobre los números.

Es raro que un problema posea exactamente todos estos supuestos y estos


no niegan la utilidad del modelo. Un modelo puede tener un uso manejable
incluso si la realidad difiere ligeramente de los requerimientos rigurosos del
modelo.

Verónica M. Acurio Vásconez 51


CAPÍTULO 5. MODELIZACIÓN PL Y APLICACIONES
ACTIVO/PASIVO, FLUJO DE CAJA, FONDOS COMPENSATORIOS

5.3. Dedicación
La Dedicación o flujo de caja correspondiente es una técnica usada para
encontrar conocidos pasivos en el futuro. La idea es formar un portafolio de
activos cuyo efectivo compense exactamente la salida de los pasivos. Los pa-
sivos por lo tanto serán liquidados, a medida que se deben, sin la necesidad
de vender o comprar activos en el futuro. El portafolio se forma hoy y es
entonces mantenido hasta que los pasivos sean liquidados.

Dedicar portafolios usualmente solo consiste en liberar de riesgo los bonos


no exigibles dado que el efectivo del portafolio futuro necesita ser conocido
cuando este es construido. Esto elimina el riesgo de la tasa de interés com-
pletamente.

Esta técnica es usada por algunos municipios y pequeños fondos de pen-


siones. Por ejemplo, los municipios algunas veces quieren encontrar pasivos
derivados de bonos que hayan expedido. Estos pre-reembolsados bonos pueden
ser descontados de los libros del municipio, lo que les permite evadir restric-
ciones convenientes en los bonos que han pre-reembolsado y seguramente les
permite replantear su deuda.

Se debe notar sin embargo, que que el costo de la dedicación de portafo-


lios está entre el 3 % y el 7 % más en términos de dólar que los portafolios
ı̈nmunizados”, los mismos que son construidos basándose en el valor presente,
la duración y la convexidad de los activos y pasivos.

Dada una cuenta corriente de flujo de efectivo Ct para t = 1, ..., T son


llamados valores presentes si
T
X Ct
P =
t=1
(1 + rt )t

La duración es,
T
1 X tCt
D=
P t=1 (1 + rt )t

y la convexidad se define como,


T
1 X t (t + 1) Ct
C=
P t=1 (1 + rt )t+2

Verónica M. Acurio Vásconez 52


CAPÍTULO 5. MODELIZACIÓN PL Y APLICACIONES
ACTIVO/PASIVO, FLUJO DE CAJA, FONDOS COMPENSATORIOS

En estas fórmulas, rt representa la tasa libre de riesgo en el año 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 tasa
libre de riesgo rt . Similarmente, para su duración 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 estos
tres factores son inmunizados contra los cambios paralelos en la curva de
rendimiento, pero aún puede existir una exposición y vulnerabilidad frente a
otro tipo de curvas y necesitan ser activamente manejados, lo cual produce
costo. En contraste, la dedicación de portafolios no necesita ser manejado
luego de ser construido.

Veamos es siguiente ejemplo. Cuando los municipios usan flujo de caja


correspondiente, la costumbre estándar es llamar a pocos bancos de inversión,
mandar la lista de los pasivos y los requerimientos de ofertas. Los municipios
entonces comprar las seguridades que los bancos ofertan al menor precio para
una exitosa igualación de efectivo.

Ejemplo 5.3.1 Un banco recibe la siguiente lista de pasivos:

Año 1 Año 2 Año 3 Año 4 Año 5 Año 6 Año 7 Año 8


12 000 18 000 20 000 20 000 16 000 15 000 12 000 10 000
Los bonos disponibles para la adquisición hoy (Año 0) están dados por la
siguiente tabla. Todos los bonos tiene un valor nominal de $100. El valor por
cada cupón es anual. Por ejemplo, costo del Bono 5 es $98 hoy y paga $4 de
retorno en el Año 1, $4 en el Año 2, $4 en el Año 3 y $104 en el Año 4.
Todos estos bonos están ampliamente disponibles y pueden ser adquiridos en
cualquier 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
Cupón 5 3,5 5 3,5 4 9 6 8 9 7
Madurez Año 1 Año 2 Año 2 Año 3 Año 4 Año 5 Año 5 Año 6 Año 7 Año 8
Formularemos y resolveremos el problema lineal, de tal manera que en-
cuentre el portafolio menos costoso de bonos a adquirir hoy que compense las
obligaciones del municipio durante los siguientes ocho años. Para eliminar
la posibilidad de cualquier reinversión riesgosa, asumimos una tasa de rein-
versión igual al 0 %.

Verónica M. Acurio Vásconez 53


CAPÍTULO 5. MODELIZACIÓN PL Y APLICACIONES
ACTIVO/PASIVO, FLUJO DE CAJA, FONDOS COMPENSATORIOS

Solución El programa lineal es el siguiente,

Verónica M. Acurio Vásconez 54


Verónica M. Acurio Vásconez

ACTIVO/PASIVO, FLUJO DE CAJA, FONDOS COMPENSATORIOS


CAPÍTULO 5. MODELIZACIÓN PL Y APLICACIONES
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 000
10 4x5 + 9x6 + 6x7 + 8x8 + 9x9 + 7x10 = 20 000
109x6 + 10 6x7 + 8x8 + 9x9 + 7x10 = 16 000
10 8x8 + 9x9 + 7x10 = 15 000
109x9 + 7x10 = 12 000
107x10 = 10 000
xi ≥ 0
55
CAPÍTULO 5. MODELIZACIÓN PL Y APLICACIONES
ACTIVO/PASIVO, FLUJO DE CAJA, FONDOS COMPENSATORIOS

La función dedicar.m creada a base de los datos es la siguiente,

Figura 5.5: Función Dedicar en Matlab

Verónica M. Acurio Vásconez 56


CAPÍTULO 5. MODELIZACIÓN PL Y APLICACIONES
ACTIVO/PASIVO, FLUJO DE CAJA, FONDOS COMPENSATORIOS

Entonces en la ventana de comandos de Matlab, al aplicar el comando


linprog se nos despliega,

Figura 5.6: Resultado de la optimización de la función Dedicar

Podemos entonces, por ejemplo, decirle a la empresa que deberı́a comprar


$62,16 dólares del bono uno, ningún bono 2, $125.27 del bono 3 y ası́ a fin
de liquidar sus pasivos cada año al menor costo.

Verónica M. Acurio Vásconez 57


CAPÍTULO 5. MODELIZACIÓN PL Y APLICACIONES
ACTIVO/PASIVO, FLUJO DE CAJA, FONDOS COMPENSATORIOS

5.4. Sensibilidad y Análisis de la Programación


Lineal
Encontrar la solución óptima a un modelo de programación lineal es im-
portante, pero no es la única información disponible. Existe un conjunto
enorme de información sensible o información sobre que pasarı́a si los valores
cambiaran.

Recordemos que cuando formulamos un problema como un programa lin-


eal, asumimos ciertas cosas, debemos tener en cuenta que el valor tomado
y las decisiones se basan en los datos. Muchas veces, estos supuestos son de
alguna manera dudosos, pues los datos pueden ser desconocidos, o supuestos
o hasta incalculables. Entonces, ¿cómo podemos determinar el efecto de las
decisiones óptimas en los cambios de valores?

Obviamente, algunos números en los datos son más importantes que otros
¿cómo saber cuáles son importantes?, ¿cómo determinar el efecto de los er-
rores de estimación? La sensibilidad es exactamente esto y con análisis de la
programación lineal se pueden responder estas preguntas, dependiendo del
del paquete informático que se use.

Si usamos Matlab podemos pedirle que nos retorne, a más del valor de
las constantes, el valor objetivo, mediante el comando,

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

Recuerde que como Matlab solo minimiza, tuvimos que minimizar la fun-
ción −f a fin de obtener el máximo, por ello el parámetro f val nos de-
volverá un valor negativo.

Lastimosamente, este paquete no es capaz de darnos más información que


esta. Si usamos Excel por otro lado, podemos visualizar otros factores como
la influencia de una variable en el incremento o decremento del valor final de
cada mes.

Verónica M. Acurio Vásconez 58


Capı́tulo 6

Conclusiones

La matemática se convierte en una herramienta sumamente útil cuan-


do se llega a darle la aplicación adecuada. Los teoremas y definiciones son
importantes en el desarrollo de la teorı́a matemática y cruciales para el en-
tendimiento y sobre todo para el planteamiento de los problemas de la vida
real, pero llegar a darle la aplicación adecuada, es lo que hace funcionar a la
teorı́a.

La forma de plantear la función objetivo, las restricciones y los lı́mites es


vital al momento de resolver un programa lineal, ası́ que de la interpretación
del problema y de su traducción al lenguaje matemático depende el éxito o
el fracaso de la optimización.

Los avances tecnológicos han sido los verdaderos gestores del gran éxito
de la programación lineal, puesto que hace 30 años, resolver sistemas de ecua-
ciones con más de 10 000 incógnitas y variables era simplemente impensable.

Existen varios paquetes informáticos especializados en optimización como


Cplex, Xpress, OLS entre otros, que permiten resolver problemas de este es-
tilo, los mismos que son mucho más completos, con herramientas más sofisti-
cadas que permiten una mejor visión de de los resultados. Matlab o Excel no
son uno de ellos, ası́ que se podrı́a profundizar más en los programas men-
cionados para un mejor desempeño.

Es importante también recalcar que para maximizar (o minimizar) una


función que en principio se está minimizando (o maximizando), basta con
multiplicar por −1 la función objetivo, dejando las restricciones tal como
están planteadas. Sin embargo, para obtener el valor objetivo, se debe volver
a multiplicar tal valor por −1.

59
CAPÍTULO 6. CONCLUSIONES

Si bien muchos de los problemas financieros pueden ser resueltos como un


programa lineal, en la práctica 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 más poderosas como la optimización cuadrática, la no paramétrica
o estocástica; temas que el proyecto no llegó a abordar.

Verónica M. Acurio Vásconez 60


Bibliografı́a

[1] Gerard Corneujols Optimization Methods in Finance, Tepper Scholl of


Business, Carnegie Mellon University, Pittsburgh, PA 15213 USA (2004)

[2] Saul I. Gass Programación Lineal, Métodos y Aplicaciones, World Sys-


tems Laboratories, Inc. The American University, McGRAW-HILL, Inc.
(1969)

[3] Michael D. Intriligator Optimización Económica y Teorı́a Económica, Ed-


itorial Prentice/Hall Internacional (1973)

[4] Silvia Garcı́a, Clyde Monzón Teorı́a de la Convexidad y Teorı́a Económi-


ca, Anuario 2002 -F.C.E - U.N.P.S.J.B.13

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

[6] Frederick S. Hillier, Gerald J. Lieberman Investigación de Operaciones,


McGRAW-HILL, Inc. (1969), séptima edición

[7] A. Tovar Optimización de Procesos en Ingenierı́a: Tarea 6, Programación


Lineal, http://www.unal.edu.co/optimun/docencia/chgaleanouT06.pdf

[8] William Marchena, Carlos Ornelas Optimización de Funciones


Lineales con Restricciones en MATLAB:Teorı́a y Ejemplos,
http://www.fglongatt.org.ve/Reportes/RPT2007-09.pdf

[9] Juan Méndez Rodriguez, Antonio Falcón Martel Introducción a


la Investigación de Operaciones, Grupo de Inteligencia Artificial
y 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, École Polytech-


nique de Fédérale de Lausanne http://disopt.epfl.ch/page72255.html

61
BIBLIOGRAFÍA

[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

Verónica M. Acurio Vásconez 62

Vous aimerez peut-être aussi