Programación Lineal y el Método Simplex.
Programación No Lineal y los Teoremas de Lagrange y KhunTucker.
Universidad de los Andes-CODENSA
Introducción
La programación matemática es una potente técnica de modelado usada en el
proceso de toma de decisiones. Cuando se trata de resolver un problema de este
tipo se deben tener en cuenta:
1. Identificar las posibles decisiones a tomar.
2. Determinar que decisiones resultan admisibles (Conjunto de restricciones).
3. Cálculo coste/beneficio de cada decisión (Función objetivo).
Cualquier problema de programación requiere identificar cuatro componentes
básicos:
1. El conjunto de datos
2. El conjunto de variables involucradas en el problema, junto con sus dominios
respectivos de definición.
3. El conjunto de restricciones lineales del problema que definen el conjunto de
soluciones admisibles.
4. La función lineal que debe ser optimizada.
Problema del Transporte
Cierto producto debe enviarse en determinadas cantidades u1,…,um, desde cada
uno de m orígenes, y recibirse en cantidades v1,…,vn, en cada uno de los n destinos.
Determine las cantidades xij, que deben enviarse desde el origen i al destino j, para
conseguir minimizar el coste de envío.
1. Datos
m: el número de orígenes
n: el número de destinos
ui: la cantidad que debe enviarse desde el origen i
vj: la cantidad que debe ser recibida en el destino j
cij: el coste de envío de una cantidad de producto desde el origen i al destino j
2. Variables
xij: la cantidad que se envía desde el origen i al destino j. Se supone que las
variables deben ser no negativas.
x ij  0 ; i  1,..., m; j  1,..., n
(1)
3. Restricciones: Las restricciones del problema son:
n
 x ij  u i ; i  1,..., m
j1
(2)
m
 x ij  v j ; j  1,..., n
i 1
El primer conjunto de condiciones indica que la cantidad del producto que parte
del origen i debe coincidir con la suma de las cantidades que parten de ese origen
hasta los distintos destinos j=1,…,n.
El segundo conjunto de condiciones asegura que el total recibido en el destino j
debe corresponder a la suma de todas las cantidades que llegan a ese destino y
parten de los distintos orígenes i=1,…,m.
Los grupos de restricciones presentados en (1) y (2) muestran las restricciones de
las variables y del problema, respectivamente.
4. Función a maximizar
En el problema de transporte nos interesa minimizar los costos de envío (suma de
los costos de transporte de todas las unidades). Es decir, se debe minimizar:
m
n
Z    c ij x ij
i 1 j 1
(3)
Ejemplo – El Problema del Transporte:
Considérese el problema de transporte mostrado en la figura 1, donde m=3
orígenes, n=3 destinos, u1=2, u2=3, u3=4, v1=5, v2=2, v3=2.

Figura 1. Esquema del problema de transporte.
En este caso el sistema es
1

0
0
CX  
1

0


0
1
1
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
1
1
0
0
1
0
0
1
0
1
0
0
1
0
0
1
0
1
0
0
1
0
0
x ij  0 ; i, j  1,2,3
 x11

 x12
0 
 x13
0 
 x 21
1 
 x 22
0 
  x 23
0 
 x
 31
1 
 x 32

 x 33



  2 
 3
  
 4

 5
  
 2
 2
 



Las tres primeras ecuaciones establecen la conservación del producto en los tres
orígenes y las tres últimas igualdades, la conservación del producto en los tres
destinos.
Si se concretan los valores particulares:
1

c  2
3

2
1
2
3

2
1 
Para los costos de envío, el problema consiste en minimizar:
Z  x11  2 x12  3 x13  2 x 21  x 22  2 x 23  3 x 31  2 x 32  x 33
El mínimo de la función objetivo es 14, que corresponde a:
2

X  1
2

0
2
0
0

0
2 
Problema de la Planificación de la
Producción
Un productor fabrica una pieza, cuya demanda varía en el tiempo, de acuerdo con
la siguiente figura.
Figura 2. Gráfico de la demanda en función del tiempo.
El productor debe atender la demanda mensual siempre. En general cualquier
problema de planificación admitirá diversas posibilidades que aseguren que la
demanda es convenientemente atendida:
a)
Producción variable: El fabricante puede producir cada mes el número
exacto de unidades que le solicitan.
b)
Producción Constante: El fabricante que debe atender una demanda que
cambia con el tiempo puede producir por encima de dicho nivel en periodos
de baja demanda y almacenar la sobreproducción para los periodos de
demanda mayor.
Los problemas de esta naturaleza ilustran las dificultades que surgen cuando
objetivos contrarios están presentes en e un sistema dado.
1. Datos
n: el número de meses a considerar
s0: la cantidad almacenada disponible al principio del periodo considerado
dt: el número de unidades (demanda) que se solicita en el mes t
smax: la capacidad máxima de almacenamiento
at: el precio de venta en el mes t
bt: el costo de producción en el mes t
ct: el costo de almacenamiento en el mes t
2. Variables
xt: el número de unidades producidas en el mes t
st: el número de unidades almacenadas en el mes t
3. Restricciones
s t 1  x t  d t  s t ;
st
s
st , xt
0
m ax
t  1, 2,..., n
;
t  1, 2,..., n
La demanda dt en el mes t debe coincidir con el cambio en el almacenamiento ,
st-1–st, más la producción xt en el mes t; la capacidad de almacenamiento no puede
excederse; y la demanda dt, almacenamiento st, y producción xt deben ser no
negativas.
4. Función a Optimizar
Una posibilidad consiste en maximizar el ingreso después de descontar los costes
de la variación de la producción y los inventarios.
n
Z   ( a t d t  bt x t  c t s t )
t 1
Otra posibilidad consiste en minimizar los costos de almacenamiento:
Z 
n
 ct st
t 1
Ejemplo – El Problema de la Planificación de la Producción:
Considérese la función de demanda en función del tiempo mostrada en la siguiente
tabla:

Tabla 1. Demanda en función del tiempo.
Supóngase que la cantidad almacenada inicialmente es s0=2. Entonces el sistema se
transforma en:
 1

1
Cx  
 0

 0
0
0
0
1
0
0
1
0
0
0
1
0
1
1
0
0
0
1
0
1
1
0
0
0
 s1 
 
s
 2
0   s3   0 
   
0  s4 
3

  ;
0   x1   6 
   
1   x2   1 
x 
3
 
 x4 
st , xt  o ;
t  1, 2, 3, 4
Donde el cero en la matriz de la derecha procede a restar la demanda para t=1 del
almacenamiento inicial.
Si se maximiza el beneficio después de descontar los costos y los inventarios, y se
toma at=3, bt=1, ct=1, el problema de optimización se convierte en:
Maximizar
Z  3 6  x1  x 2  x 3  x 4  s1  s 2  s 3  s 4
Sujeto a las restricciones ya mencionadas.
Resolviendo este problema encontramos que el valor máximo es:
Z  26
para x  ( s1 , s 2 , s 3 , s 4 , x1 , x 2 , x 3 , x 4 )  (0, 0, 0, 0, 0, 3, 6,1)
Lo que implica ningún almacenamiento.
T
Problema de la Dieta
Se conocen los contenidos nutritivos de ciertos alimentos, sus precios y la cantidad
mínima diaria de nutrientes aconsejada. El problema consiste en determinar la
cantidad de cada alimento que debe comprarse para satisfacer los mínimos
aconsejados y alcanzar un precio total mínimo.
1. Datos
m: el número de nutrientes.
n: el número de Alimentos.
aij: la cantidad del nutriente i en una unidad del alimento j.
bi: la cantidad mínima del nutriente i aconsejada.
cj: el precio de una unidad del alimento j.
2. Variables
xj: la cantidad del alimento j que debe adquirirse.
3. Restricciones
Como la cantidad total de un nutriente dado i es la suma de las cantidades de los
nutrientes en todos los alimentos y las cantidades de alimentos deben ser no
negativas, entonces tenemos:
n
 a ij x j  bi ; i  1,..., m
j 1
x j  0;
j  1,..., n
4. Función a Minimizar
En el problema de la dieta se esta interesado en minimizar el precio de la dieta:
Minimizar
n
Z   cjxj
j 1
Donde cj es el precio unitario del alimento j.
Ejemplo – El Problema de la Dieta:
Considere un caso con cinco nutrientes y con los mínimos aconsejados para los
nutrientes digeribles (DN), proteínas digeribles (DP), calcio (Ca), y fósforo (Ph)
dados en la siguiente tabla:

Tabla 2. Contenidos nutritivos de cinco alimentos
Las restricciones se convierten en
 78.6

6.50

 0.02

 0.27
70.1
80.1
67.2
9.40
8.80
13.7
0.09
0.03
0.14
0.34
0.30
1.29
 x1 
77.0     74.2 
  x2  

30.4
14.7
 x   

3
0.41     0.14 
 x4


0.86     0.55 
 x5 
x1 , x 2 , x 3 , x 4 , x 5  0
Supóngase que los precios unitarios de los alimentos son:
c1  1, c 2  0 .5, c 3  2, c 4  1 .2, c 5  3
De este modo se tiene el siguiente PPL:
Minimizar
Z  x1  0.5 x 2  2 x 3  1.2 x 4  3 x 5
Sujeto a las restricciones ya mencionadas.
Con la solución de este sistema se obtiene la solución
Z  0.793 en el punto (0,1.530, 0, 0.023, 0)
Problema del Flujo en un a Red
Supóngase una red de transporte (conducción hidráulica, ferrocarril, carreteras,
etc.) a través de la cual se desea enviar un cierto material (aceite, grano, vehículos,
mensajes, etc.) de un conjunto de nodos de la red, llamados nodos fuente, a un
conjunto de puntos de destino, llamados nodos sumideros. Además de éstos, la red
contiene nodos intermedios, donde no tienen lugar ni entradas ni salidas de
material. Sea xij el flujo que va del nodo i al nodo j (positiva en la dirección ij ,y
negativa en otro caso).
1. Datos
g: el grafo g=(N,A) que describe la red de transporte, donde N es el conjunto de
nudos, y A es el conjunto de conexiones.
n: el número de nudos en la red.
fi: el flujo entrante (positivo) o saliente (negativo) en el nudo i
mij: la capacidad máxima de flujo en la conexión entre el nudo i y el j
cij: el precio de mandar una unidad del bien desde el nudo i al nudo j.
2. Variables
xij: el flujo que va del nodo i al nodo j
3. Restricciones: Las restricciones del problema son:
Imponiendo la condición de conservación del flujo en todos los nudos, y las
restricciones sobre la capacidad de las líneas o conexiones, se obtienen las
siguientes restricciones:
Restricciones de conservación del flujo
 j ( x ij  x ji )  f i ; i  1,..., n
(4)
Restricciones de capacidad de las líneas o conexiones
 m ij  x ij  m ij ;  i  j
(5)
donde i<j evita la posible duplicación de restricciones.
4. Función a minimizar: El precio total es:
Z   c ij x ij
(6)
ij
Así, debe minimizarse (6) bajo (4) y (5).
Las redes de abastecimiento de agua, los sistemas de comunicaciones, y otros,
conducen a problemas de redes de transporte como el descrito aquí.
Ejemplo – El Problema de Flujo en Redes:
Considérese el problema de flujo en la red de la figura 3 donde las flechas indican
los valores positivos de las variables del flujo.

Figura 3. Esquema del problema de transporte.
En este caso el sistema es
 1

1
 0


 0
Donde se supone que
1
1
0
0
0
1
1
0
0
0
1
1
 x12
0 
  x13
0 
x14
1 
  x 24

 1 
 x 34

  f1 
  
   f2 
  f3 
  
  f4 

m ij  4 ,  i  j, y (f 1 , f 2 , f 3 , f 4 )  (7,-4,-1,- 2)
x ij  m ij ;  i  j
 x ij  m ij ;  i  j
(7)
Supóngase además que
c ij  1;  i, j . El
problema de optimización es minimizar
Z  x12  x13  x14  x 24  x 34
Sometido a
solución:
(7).
Mediante el software adecuado puede obtenerse la siguiente
 x12

 x13
Z  5 en el punto  x14

 x 24

 x 34

 0
 4





3

1





    4   (1   )  4  ; 0    1






4
0










 2
 2

Esta solución indica que existe un conjunto de infinitas soluciones, todas ellas
proporcionando el mismo valor óptimo, Z=5.
Problema de la Cartera de Valores
Un inversor es propietario de participaciones de varios valores. Mas
concretamente es dueño de bi participaciones de los valores bursátiles Ai,
i=1,2,..m. Los precios actuales de estos valores son vi. Considérese que se pueden
predecir los dividendos que se pagarán al final del año que comienza y los precios
finales de los diferentes valores bursátiles, esto es, Ai pagará di y tendrá un nuevo
precio wi.
El objetivo es ajustar la cartera, es decir, el número de participaciones en cada
valor, de modo que se maximicen los dividendos
1. Datos
m: el número de valores bursátiles
bi: el número actual de participaciones del valor bursátil i
vi: el precio actual del valor i por participación
di: el dividendo que se pagará al final del año en el valor bursátil i
wi: el nuevo precio del valor bursátil i
r: porcentaje mínimo r del valor actual de toda la cartera que no debe superarse en
el ajuste
s: porcentaje mínimo del valor total actual que no debe superarse por el valor
futuro total de la cartera, para hacer frente a la inflación
2. Variables
xi: el cambio en el número de participaciones del valor bursátil i.
3. Restricciones
Se deben asegurar ciertas condiciones que debe satisfacer una cartera bien
equilibrada:
El número de participaciones debe ser no negativo
x i   bi
Exigimos que el capital asociado a todo valor concreto, después del ajuste,
represente al menos una cierta fracción r del capital total actual de la cartera


r   v i ( bi  x i )   v j ( b j  x j );
 i

j
El capital total de la cartera no debe cambiar en el ajuste pues se supone que no se
invierte dinero adicional
 vi xi  0
i
Para hacer frente a la inflación, el capital total en el futuro debe ser al menos un
cierto porcentaje s mayor que el capital invertido actualmente:
 w i ( bi  x i )  (1  s )  v i bi
i
i
4. Función a optimizar
Nuestro objetivo es maximizar los dividendos
Z   d i ( bi  x i )
i
La tarea se concreta al determinar el valor máximo de los dividendos sujeto a todas
las restricciones anteriores.
Ejemplo – El Problema de la Cartera deValores:
Se tienen participaciones de tres valores bursátiles, 75 de A, 100 de B y 35 de C,
con precios 20, 20 y 100 dólares, respectivamente. Se dispone de la siguiente
información: A no pagará dividendos y alcanzará una nueva cotización de 18
dólares, B pagará 3 dólares por participación y la nueva cotización será 23 dólares,
y C pagará 5 dólares por participación con una nueva cotización de 102 dólares. Si
se toman los porcentajes r como 25 y s, 0.30, todas las restricciones se escriben
como:

xA

 75
xB

 100
xC

 35
0.25  20 (75  x A )  20 (100  x B )  100 (35  x C ) 

20 (75  x A )
0.25  20 (75  x A )  20 (100  x B )  100 (35  x C ) 

20 (100  x B )
0.25  20 (75  x A )  20 (100  x B )  100 (35  x C ) 

100 (35  x C )
20 x A  20 x B  100 x C

0
18(75  x A )  23(100  x B )  102 (35  x C )

1.03(7000 )
Después de varias simplificaciones , las restricciones anteriores se transforman en:
xA

 75
xB

 100
xC

 35
15 x A  5 x B  25 x C

250
 5 x A  15 x B  25 x C

 250
 5 x A  5 x B  75 x C

 1750
20 x A  20 x B  100 x C

0
18 x A  23 x B  102 x C

270
La solución obtenida es:
Z  612.5 dólares
y
x A  12.5, x B  75, x C   17.5
Problema de Distribución de Energía
Los generadores de energía, así como las demandas de la misma se sitúan en una
red energética. El objetivo de este problema consiste en decidir la energía a
producir por cada generador de forma tal que se satisfagan las diferentes
condiciones técnicas de la red y los generadores, así como las demandas, al mínimo
coste.
Cada línea de transmisión de una red de energía transmite energía de un bus a otro.
La energía transmitida es proporcional a la diferencia de los ángulos de estos buses
(de forma similar a que el agua que fluye en una tubería que conecta dos tanques es
proporcional a la diferencia de alturas del agua en ambos). La constante de
proporcionalidad tiene un nombre divertido ¨susceptibilidad¨. La potencia
transmitida desde el bus i al j a través de la línea i-j es por tanto
B ij ( i   j )
(8)
donde Bij es la susceptibilidad de la línea i-j, y  i y  j los ángulos de los buses i y j,
respectivamente. Por razones físicas, la cantidad de energía transmitida a través de
una línea tiene un límite. Este límite está relacionado con consideraciones térmicas
o de estabilidad. Por tanto, una línea energética debe ser operada de forma tal que
su límite de transmisión no sea excedido.
Esta condición puede formularse como
 Pij  B ij ( i   j )  Pij
(9)
donde Pij es la capacidad de transmisión de la línea i-j. Debe notarse que la potencia
transmitida es proporcional a la diferencia de ángulos y no, a un ángulo dado. Por
tanto, puede fijarse el valor de un ángulo arbitrario a 0, y tomarlo como origen. Es
decir, para un bus arbitrario k:
k  0
(10)
Una consecuencia que se deriva de esta posibilidad de fijar arbitrariamente un
origen es que los ángulos son variables no restringidas en signo. La potencia
generada por un generador es una magnitud positiva limitada inferiormente,
debido a las condiciones de estabilidad (de forma similar a la de un automóvil, que
no puede moverse a una velocidad inferior a un cierto límite), y superiormente,
debido a límites térmicos (similarmente a la de un automóvil que no puede
moverse a más de una cierta velocidad máxima). Las restricciones anteriores
conducen a:
P i  p i  Pi
(11)
donde pi es la potencia producida por el generador i, y P i y P i son constantes
positivas que representan, respectivamente, el mínimo y el máximo de las
potencias generadas por el generador i.
En todo bus, la potencia que entra debe ser igual a la potencia que sale (ley de la
conservación de la energía), que puede escribirse como
 B ij ( i   j )  p i  D i ;  i
j  i
(12)
donde  i es el conjunto de buses conectados a través de las líneas al bus i y Di la
demanda asociada al bus i.
Como se ha indicado anteriormente, la potencia transmitida a través de toda línea
es limitada, por tanto
 P ij  B ij ( i   j )  P ij ,  j   i ,  i
1. Datos
n: el número de generadores.
P i: la mínima energía de salida asociada al generador i.
P i: la máxima energía de salida asociada al generador i.
Bij: la susceptancia de la línea i-j.
P ij : la capacidad máxima de transmisión de la línea i-j.
Ci: el coste de producir energía en el generador i.
 i : el conjunto de buses conectados a través de líneas al bus i.
Di: la demanda asociada al bus i.
(13)
2. Variables
pi: la energía producida por el generador i.
 i : el ángulo del bus i.
3. Restricciones: Las restricciones de este problema son
k  0
 B ij ( i   j )  Pi  D i ; i  1, 2 ,.., n
j  i
(14)
 Pij max  B ij ( i   j )  Pij max;  j   i ; i  1, 2 ,..., n
Pi min  pi  Pi max; i  1,2,..., n
4. Función a minimizar: El objetivo es minimizar el precio total de la
producción de potencia
n
Z   C i pi
i 1
(15)
donde Ci es el precio de la producción del generador i, y n el número de
generadores.
Ejemplo – El Problema de Distribución de Energía:
Considérese el sistema de la figura 4:

Figura 4. Esquema del problema de Distribución de Energía.
El generador del bus 1 produce un coste 6 y sus límites inferiores y superiores son,
respectivamente, 0.15 y 0.6. El coste de producción del generador del bus 2 es 7 y sus
límites de potencia son, respectivamente, 0.1 y 0.4. La línea 1-2 tiene una susceptancia
2.5 y un límite de transmisión máximo de 0.3, la línea 1-3 tiene una susceptancia de
3.5 y un límite de transmisión de 0.5, y, finalmente, la línea 2-3 tiene una susceptancia
de 3.0 y un límite de transmisión de 0.4. Este sistema tiene una demanda simple
localizada en el bus 3 con un valor de 0.85. Se considera un periodo de una hora, y se
toma como origen el bus 3.
Este problema puede escribirse como:
minimizar
6 p1  7 p 2
sometido a
3  0
3 . 5 ( 3   1 )  2 . 5 ( 2   1 )  p 1  0
3 . 0 ( 3   2 )  2 . 5 ( 1   2 )  p 2  0
3 . 5 ( 1   3 )  3 . 0 ( 2   3 )  0 . 85
0 . 15  P1  0 . 6
0 . 10  P2  0 . 4
 0 . 3  2 . 5 ( 1   2 )  0 . 3
 0 . 4  3 . 0 ( 2   3 )  0 . 4
 0 . 5  3 . 5 ( 1   3 )  0 . 5
Las variables de optimización son p1, p2,  1 y  2 .
La solución de este problema es:
Z  5 . 385 , p  (0.565,0.2 85) ,   (-0.143,-0 .117,0)
T
T
La solución óptima requiere que el generador 1 produzca 0.565 y el generador 2
produzca 0.285.
Introducción a la Programación Lineal
 Problema de Programación Lineal (PPL): La forma mas general de un
problema de programación lineal consiste en minimizar o maximizar:
n
Z  f (X )   cjxj
j 1
Sujeto a:
n
 a ij x j  bi , i  1,2,...p - 1
j 1
n
 a ij x j  bi , i  1,2,...p - 1
j 1
n
 a ij x j  bi , i  1,2,...p - 1
j 1
donde p ,q y m son enteros positivos tales que
 Solución Factible: Un punto
1 p  q  m.
X  ( x1 , x 2 ,..., x n )
que satisface todas las restricciones se denomina solución factible. El conjunto de
todas esas soluciones es la región de factibilidad.
 Solución Óptima: Un punto factible
tal que f ( X )  f ( X~ ) para cualquier
otro punto factible X se denomina una solución óptima del problema.
Típicamente n es mucho mayor que m. Lo que distingue a un PPL de otros
problemas de optimización es que todas las funciones que aparecen son lineales.
En un PPL la región factible es un Politopo o un Poliedro.
El objetivo de los problemas de optimización es encontrar un óptimo global. Sin
embargo, las condiciones de optimalidad garantizan por lo general óptimos locales.
Sin embargo, los PPL presentan propiedades que hacen posible garantizar el
óptimo global:
o Si la región factible esta acotada, el problema siempre tiene una solución
(condición suficiente pero no necesaria).
o El óptimo de un PPL es siempre un óptimo global.
o Si x e y son óptimos de un PPL, entonces cualquier combinación lineal de ellos
es también un óptimo. Nótese que una combinación lineal convexa de óptimos
no cambia el valor de la función objetivo.
o La solución óptima se alcanza siempre, al menos, en un punto extremo de la
región factible.
~
X
Ejemplo – Solución Única:
Maximizar
Z  3 x1  x 2

Sometido a
 x1

x2

2
x1

x2

6

3
x1
2 x1
 x1
 x1

x2

4

x2

0

x2

1

0
tiene por solución única Z=12, que se alcanza en el punto P=(3,3)
Figura 5. Ejemplo Solución Única.
Ejemplo – Solución Múltiple:
Si la función objetivo del problema anterior se reemplaza por:

Z  3 x1  x 2
el problema tiene múltiples soluciones
Figura 6. Ejemplo Solución Múltiple.
En efecto, cualquier punto del segmento con extremos en los puntos (2; 4)T y
(3; 3)T da la solución óptima del problema (Z = 6).
Ejemplo – Solución No Acotada:
Maximizar
Z  3 x1  x 2

Sometido a
 x1
 x1
 x1

x2

2

x2

0

x2

1

0
tiene solución no acotada
Figura 7. Ejemplo No Acotada.
Ejemplo – Solución No Factible:
Maximizar
Z  3 x1  x 2

Sometido a
 x1

x2

2
x1

x2

6

3
x1
2 x1
 x1

x2

4

x2

0

x2

1

0

0
 x1
x1

x2
No tiene solución factible porque la nueva restricción
x1  x 2  0
no es compatible con las anteriores.
Problema en la Forma Estándar
Un PPL definido en la forma:
Minimizar
Z C X
T
Ax  b
Sometido a
xo
Se dice que está en forma estándar. Ello implica:
1. La función objetivo debe minimizarse.
2. las restricciones deben ser de igualdad.
3. El vector b   m debe ser no negativo.
4. Las variables x deben ser no-negativas.
Cualquier problema puede ponerse en forma estándar.
 Paso a un Problema de Minimización:
Un problema de maximización puede convertirse en uno de minimización
cambiando el signo de la función objetivo. El problema:
Maximizar
T
Z max  C X
es equivalente al problema
T
Minimizar
Z max   C X
sometidos ambos a las mismas restricciones.
 Paso aVariables No Negativas:
El conjunto x1 ,..., x r  de r variables no restringidas puede escribirse en función de
otro conjunto x * ,..., x r* , x *  de r + 1 variables no negativas:
1
x i  x i  x ; i  1,2,...r
*
*
De esta forma se añade una variable en vez del método usual de añadir r nuevas
variables.
 Paso a Restricciones de Igualdad:
Se puede conseguir usando variables de holgura:
o La desigualdad:
a i1 x1  a i 2 x 2  ...  a in x n  bi
con
x n  1  0, equivale
a la igualdad
a i1 x1  a i 2 x 2  ...  a in x n  x n 1  bi
o La Desigualdad:
a i1 x1  a i 2 x 2  ...  a in x n  bi
con x n 1  0 , equivale a la igualdad
a i1 x1  a i 2 x 2  ...  a in x n  x n 1  bi
Ejemplos – Transformación a la Forma Estándar:
Z  2 x1  3 x 2  5 x 3
o Maximizar
sometido a

x1

x2
3 x1

x2

2
x3

3
x1 , x 2

0

Este problema en la forma estándar es
Minimizar
Z   2 x1  3 x 2  5 ( x 6  x 7 )
sometido a
x
 x
 x
1
3 x1
2

x5

3
x1 , x 2 , x 4 , x 5 , x 6 , x 7

0
4

x2
( x6  x7 )

Z  3 x1  x 3
o Maximizar
sometido a

2
x1

x2

x3

1
x1

x2

x3

1

x3

1

0
x1
x1
Este problema en la forma estándar es
Z   3 x1  y 3  z 3
Minimizar
sometido a
x1

y2

z2

y3

z3
x1

y2

z2

y3

z3

y3

z3
x1

u1

u2
x1 , y 2 , z 2 , y 3 , z 3 , u 1 , u 2 ,

1

1

1

0
El Método Simplex
Sea el PPL:
Minimizar
f (x)  c x
T
Sujeto a
Ax  b ; b  0 ,
x  0,
Donde
c  ( c1 , c 2 ,..., c n )
T
es una matriz de costos y A es una matriz de m x n.
El método simplex (MS) consta de dos etapas:
o Etapa de Iniciación
 El conjunto inicial de restricciones se transforma en otro equivalente de
igualdades, asociadas a una solución básica.
 Los valores de las variables básicas se transforman en no negativos (se
obtiene una solución básica factible). Esta etapa se llama reguladora.
o Etapa de Iteraciones Estándar
En esta etapa los coeficientes de la función de costo se transforman en no
positivos y el valor de la función de costo se mejora iterativamente, hasta
obtener la solución óptima, se detecta solución no factible, o solución no
acotada. En este proceso iterativo se obtienen diferentes soluciones factibles.
Para este fin se utiliza la llamada transformación elemental de pivotaje.
Fase de Iniciación: Una de las peculiaridades del SM consiste en incorporar una
nueva variable Z, igual a la función objetivo del problema, y la restricción asociada
Z  c1 x1  ...  c n x n
Las restricciones son
 xB 
  b
( B N ) 
x
 N 
Y la función objetivo
Z  (0
T
cB
 1

T
c N ) x B
x
 N





Donde (B N) es una partición de la matriz A, y XB y XN definen otra partición de
x, en variables básicas y no básicas, respectivamente.
Usando la ecuación de restricciones podemos obtener
Bx B  Nx N  b
1
xB  B b  B
1
Nx N  v  Ux N
1
v B b
donde
U  B
1
N
Ahora, de la ecuación de la función objetivo y la anterior ecuación obtenemos
Z  c B ( v  Ux N )  c N x N
T
T
Z  c B v  (c BU  c N ) x N
T
T
T
Z  u 0  wx N
donde
u0  cB v
T
w  c BU  c N
T
Para obtener
 Z

 xB
  u0
  
  v
T
w  1
 
U   x N



El MS comienza con el conjunto de restricciones
(0)
 Z   u 0


    
 x   v ( 0 )
 B  
Donde
v
(0)
y U
(0)
w

T

U
(0)
 1 
 1 




     Z (0 )    

x 
  x N 
 N 

es una partición del conjunto de variables x1, x 2 ,... x n . Las matrices
se obtienen resolviendo las restricciones en xB
xB  xN
(0)
U
(0)
 C BV
T
(0)
,
w
(0)
 c BU
T
(0)
 cN
T
donde c B y c N son los coeficientes de costo asociados a xB y xN, respectivamente.
Podemos entonces obtener un nuevo conjunto equivalente de restricciones con la
misma estructura
T
T
 Z (t )   u (t )

  0
 
 (t )   (t )

 xB  v
w

(t )
T

U
(t )
 1 
 1 




     Z (t )    
 (t ) 
 (t ) 
 x
x


 N 
N

donde t se refiere al número de la iteración y t=0 es la iteración inicial.
Programación No Lineal
El problema más general de programación no lineal (PPNL), puede plantearse
como:
Minimizar
Z  f ( x1 ,..., x n )
Sujeto a
h1 ( x1 ,..., x n )  0

 
h l ( x1 ,..., x n )  0
g 1 ( x1 ,..., x n )  0

 
g m ( x1 ,..., x n )  0
En forma compacta el modelo anterior puede escribirse:
Minimizar
Z  f (x)
Sujeto a
h(x)  0
g (x)  0
Donde x  ( x1 ,..., x n ) es el vector de las variables de decisión, f :  n   es la
función objetivo, y g :  n   m y h :  n   l, donde g ( x )  ( g 1 ( x ),..., g m ( x )) T y
T
h ( x )  ( h1 ( x ),..., hl ( x )) son las restricciones de desigualdad y de igualdad,
respectivamente.
La figura 8a muestra que el mínimo del problema se alcanza en el conjunto de
puntos en los que la tangente es horizontal.
T
Figura 8. Mínimos Locales y Globales.
Sin embargo, si se busca el mínimo de la función:
f ( x)  ( x  2)
2/3
 ( x  2)
2/3
en  , se encuentra uno con dificultades, pues no tiene puntos con derivada nula.
Sin embargo, el hecho de que f tienda a cero cuando x tiende a ±∞ y que tome
valores negativos, indica que f debe alcanzar su mínimo en algún lugar.
Un análisis más profundo de f revela que el mínimo se alcanza en x   2 , pero f no
es diferenciable en este punto. Este simple ejemplo muestra que se debe tener
especial cuidado cuando las funciones que intervienen no son diferenciables.
Figura 9. Grafica de la función f ( x )  ( x  2 ) 2 / 3  ( x  2 ) 2 / 3 .
Hay además otro problema igualmente relevante, referente a los problemas no
lineales diferenciables. Para ilustrarlo, se considera la función objetivo siguiente
2
Figura 10. Grafica de la función f ( x )  (1 / 10 ) x  10 (sin x  x cos x ) .
Esta función es diferenciable en todo , pero tiene un conjunto infinito de puntos
con tangente horizontal (puntos en los que f´(x) = 0). Estos puntos reciben el
nombre de puntos estacionarios y todos ellos, salvo uno, son óptimos locales.
Puesto que si se restringe la atención a un pequeño entorno de ellos, se convierten
en máximos o mínimos locales. La ecuación f´(x) = 0 no puede ser resuelta en
forma cerrada, por lo que se deben utilizar métodos numéricos. La existencia de
un conjunto infinito de puntos candidatos y la ausencia de un método para
generarlos explícitamente, conducen a la imposibilidad de conocer, con total
certidumbre, si un determinado candidato es el óptimo global.
Estamos interesados en la clase de funciones tales que sus mínimos locales sean
también globales. En la figura se da una función que no cumple esta condición. Hay
puntos en el intervalo x , x *  que están por encima del segmento que une los
mínimos. La convexidad es aquí suficiente para evitar este comportamiento. Para
ser convexa se exige que el grafo esté por debajo del intervalo que une los
extremos.
Figura 11. Ilustración de la Propiedad de Convexidad
Un PPNL puede no tener solución por:
1. La función no es acotada en S. Por ejemplo, f(x) = x, donde
límite hasta −∞ cuando x tiende a −∞. En este caso se escribe
Ínfimo
x S
x
decrece sin
f ( x )  -
2. La función es acotada en S pero no se alcanza la cota inferior: Ínfimo
Por ejemplo, la función
es inalcanzable por f(x).
f (x)  e
x
está acotada en
S
S.
  y la cota inferior es 0 pero
x S
f ( x ) en
 Teorema 1 (Existencia de Soluciones Óptimas)
Sea S un conjunto cerrado, acotado y no vacío de  n y f : S   una función
continua. El problema
Z  f (x)
Minimizar
f :S  
Sujeto a
xS
admite al menos una solución óptima.
 Corolario 1 (Existencia de Soluciones Óptimas)
Sea S un conjunto cerrado y no vacío (posiblemente no acotado) de
una función continua.

n
y
Si tenemos:
lim
x   , x S
f ( x )  
Entonces el problema es:
Minimizar
Z  f (x)
xS
sujeto a
admite al menos una solución óptima.
Estos resultados pueden hacerse más explícitos cuando la función f es convexa.
 Definición 1 (Mínimo global)
Una función f(x) tiene un mínimo global (mínimo global estricto) en el punto x * , de
S, si f ( x * )  f ( x ) ( f ( x * )  f ( x )) para todo x en S.
 Definición 2 (Mínimo local)
Una función f(x) tiene un mínimo local (mínimo local estricto) en el punto x , de S,
si existe un número positivo  tal que f ( x )  f ( x ) (respectivamente, f ( x )  f ( x ) )
para todo x en S tal que 0  x  x   .
De ello se concluye que un mínimo global es también un mínimo local. En una
dimensión es fácil ilustrar los conceptos anteriores. En la figura 11, S es el
segmento a, b . S  a , x1 , x 2  es el conjunto de los mínimos locales, y S *  a , x 2  es el
conjunto de los mínimos globales.
Figura 12. Una función con tres mínimos locales y dos globales.
 Definición 3 (Diferenciabilidad)
Se dice que f
i  1,..., n , y
:  
n
es diferenciable en x si existen las derivadas parciales y
xi
f ( y)  f ( x)  f ( x) ( y  x)
T
lim
donde
f
y x
 f ( x )
f ( x ) 

 f ( x )  
,...,

x

x

1
n 
yx
0
T
es el gradiente de f en x.
,
 Definición 4 (Diferenciabilidad continua)
Una función f se dice continuamente diferenciable en x si todas las derivadas
parciales son continuas en x. En este caso, también es diferenciable.
Se considera el siguiente PPNL:
Minimizar
(1)
Z  f (x)
sujeto a
h(x)  0
g (x)  0
(2)
donde f :  n   , g :  n   m , h :  n   lcon g ( x )   g 1 ( x ),..., g m ( x ) T y h ( x )   h1 ( x ),...,
son funciones continuamente diferenciables en la región factible S  x h ( x )  0 , g(x)
hl ( x ) 
T
 0
Condiciones de Karush-Kuhn-Tucker
(CKKT)
Las condiciones de Karush, Kuhn and Tucker constituyen el resultado más
importante de programación no lineal. Deben ser satisfechas por cualquier óptimo
restringido, sea éste local o global, y para cualquier función objetivo, ya sea lineal o
no lineal. Además, los criterios de parada de los métodos iterativos se basan en
estas condiciones. Mientras que en los problemas diferenciables sin restricciones el
gradiente se anula en los mínimos locales, esto no ocurre para problemas con
restricciones, tal como ilustra la figura 11 en el punto x  a . Esto se debe a las
restricciones del problema. Las condiciones de Karush-Khun-Tucker generalizan
las condiciones necesarias de óptimo para los problemas con restricciones.
Figura 13. En problemas restringidos diferenciables el gradiente no es necesariamente cero en la
solución óptima
 Definición 5 (Condiciones de Karush-Kuhn-Tucker):
El vector x   n satisface las condiciones de Karush-Khun-Tucker para el PPNL
l
m
(1)-(2) si existe un par de vectores    y    tales que
l
m
k 1
j 1
 f ( x )    k  hk ( x )    j  g j ( x )  0
(3)
(4)
g j ( x )  0 , j  1,..., m
(5)
h k ( x )  0 , k  1,..., l
(6)
 j g j ( x )  0 , j  1,..., m
(7)
 j  0 , j  1,..., m
Los vectores µ y  ¸ son los multiplicadores de Khun-Tucker. La condición (6) es la
condición complementaria de holgura. La (7) son las condiciones duales de
factibilidad y requieren la no-negatividad de los multiplicadores de las restricciones
de desigualdad. Las condiciones (4)-(5) se llaman condiciones primales de
factibilidad.
Con el Lagrangiano L ( x ,  ,  )  f ( x )   T h ( x )   T g ( x )
las condiciones KKT se
escriben como
 xL(x,  , )  0
  L(x,  , )  0
  L(x,  , )  0
   L(x,  , )  0
T
 0
Figura 14. Ilustración de las condiciones de Karush–Kuhn–Tucker para el caso de una restricción de
igualdad y dos variables.
Figura 15. Ilustración de las condiciones de Karush–Kuhn–Tucker para el caso de dos restricciones de
desigualdad y dos variables.
Casos Especiales
Si falta una restricción en un PPNL, el multiplicador asociado a la restricción
“ausente" es nulo, y la restricción se elimina de la formulación de las condiciones
de KKT. En estos casos resulta:
1. (Problemas sin restricciones) En este caso solo se tiene la condición:
f (X )  0
2. (Problemas con restricciones de igualdad solamente) Las condiciones
de KKT son una extensión del principio clásico del método de los multiplicadores
de Lagrange. Este método sólo surge con problemas que únicamente tienen
restricciones de igualdad:
l
 f ( X )    k  hk ( X )  0
k 1
h k ( X )  0 , k  1,..., l
3. (Problemas con restricciones de desigualdad solamente) Las
condiciones de KKTC son:
m
 f ( X )    j g j ( X )  0
j 1
g j ( X )  0 , j  1,..., m
 j g j ( X )  0 , j  1,..., m
 j  0 , j  1,..., m

Ejemplo
Minimizar
Z   x1  x 2
 x1  x2  0
2
sujeto a
x1  x2  4  0
2
2
 x1  0
 x2  0
Sean  ,  1 ,  2 y  3 los multiplicadores asociados a la igualdad y las desigualdades,
respectivamente. Las condiciones de KKT son:
1. La condición de estacionariedad del Lagrangiano es:
 2 x1 
  1
  1
 0 
  2 x1   0 
   2 

   1 
   3 
   
   
2
x
1
0

1
1







 0
 2
(8)
2. Las condiciones primales de factibilidad:
 x1  x2  0
2
x1  x2  4  0
2
2
 x1  0
 x2  0
(9)
3. Las condiciones complementarias de holgura son:
 1 ( x1  x 2  4 )  0
2
2
(10)
 2 (  x1 )  0
(11)
 3 ( x2 )  0
(12)
3. Las condiciones duales de factibilidad son:
1 ,  2 ,  3  0
Caso I:  2
 0.
Si  2
0
entonces usando (11), x1 = 0, y (8) implica que
1 2  0
1  2 x2 1   3    0
Puesto que  2   1 y no se cumple la condición (13), entonces los puntos KKT
deben satisfacer  2  0 .
Caso II:  3  0 , y  2  0 . Si  3  0 entonces usando (12), x2 = 0, y la relación
2
 x1  x 2  0 de (9) se obtiene x = 0, y con (8) resulta
1
1  0
por lo que todo punto KKT debe satisfacer  3  0 .
(13)
Caso III:  1  0 , y  2   3  0 . Si  1  0 entonces usando (10) resulta
y con la condición de factibilidad, resulta el sistema de ecuaciones:
x1  x 2  4  0,
2
2
x1  x 2  4  0
2
2
 x1  x 2  0
2
La única condición que satisface el sistema (9) es
con (8) resulta:
x 

 ,
 , donde 

1
2
17
y,
 1  2  1  2    0
cuya solución es:
1  2  1    0
1 
 
2 

2  (1  2  )
1
2 

2 
0

2  (1  2  )
que es un punto KKT
Caso IV:  1   2   3  0 .Usando (8), resulta el sistema de ecuaciones
 1  2  x1  0
1   0
y se obtiene la solución    1 y x1  1 / 2. De (9), se obtiene
que se trata de un punto factible, es también un punto KKT.
x 2  x1  1 / 4 ,
2
y puesto
 Definición 6 (Restricción Activa)
Sea x   n , y j  1,..., m . La restricción de desigualdad g j ( x )  0 se dice que es una
restricción activa en el punto x si g j ( x )  0 ; por otro lado, se dice inactiva si g j ( x )  0 .
El conjunto de los índices de las restricciones activas se denota por I ( x ) , es decir

I (x)  j g j (x)  0

 Lema 1: Las CKKT son necesarias para un óptimo local de “la mayoría” de
PPNL.
Condiciones Suficientes
 Definición 7 (Función Convexa)
Sea f : S  , donde S es un conjunto convexo no vacío de  n . La función f se dice
que es convexa en S si para cada par de puntos x1 y x2 y cualquier escalar t tal que
0≤t≤1, se tiene
f ( tX
1
 (1  t ) X )  tf ( X )  (1  t ) f ( X )
2
1
2
Si se cumple la desigualdad estricta anterior, f se dice que es estrictamente
convexa. Similarmente, una función f es cóncava si la desigualdad se cumple con la
desigualdad se cumple al revés, es decir, si (-f) es convexa.
 Teorema 2 ( Óptimo global y local)
Considérese la función convexa f : S   , donde S es un conjunto convexo no
vacío de  n. Todo mínimo local de f en S es también un mínimo global de f en S.
Además, si f es estrictamente convexa hay a lo sumo un único mínimo global.
Las figuras 16, 17 y 18 muestran ejemplos de funciones convexa, cóncava y otra no
convexa no cóncava.
Figura 16. Ejemplo Función Convexa.
Figura 17. Ejemplo Función Cóncava.
Figura 18. Ejemplo Función No Convexa, No Cóncava.
 Teorema 3 (Convexidad y diferenciabilidad)
Sea S   n un conjunto convexo y
convexa en S si:
n
f (X )  f (X )  f (X ) (X
1
2
diferenciable en S. Entonces f es
f :  
1 T
2
 X );
X , X
1
1
2
S
Además, f es estrictamente convexa en S si:
f (X )  f (X )  f (X ) (X
1
2
1 T
2
 X );
X , X
1
1
2
S
con X 1  X 2
 Definición 8 (Función dos veces diferenciable)
Se dice que f :  n   es dos veces diferenciable en el punto X si existe un vector
columna  f ( X ), y una matriz n x n  2 f ( X ) , tal que
f (Y )  f ( X )   f ( X ) (Y  X ) 
T
lim
y x
1
2
Y  X
2
(Y  X )  f ( X )( Y  X )
T
2
0
La matriz  2 f ( X ) se llama la matriz Hesiana de f en el punto X. El elemento ij de
2
 f ( X ) es la segunda derivada parcial  2 f ( X ) /  X  X . Por otra parte, si las derivadas
i
j
parciales son continuas, entonces f se dice dos veces continuamente diferenciable y,
entonces  2 f ( X ) es una matriz simétrica.
 Definición 9 (Matriz semidefinida positiva)
Una matriz simétrica A es semidefinida positiva si X T AX  0 para cualquier vector
X. Además, si la igualdad X T AX  0 se cumple sólo cuando x = 0, entonces A se
llama definida positiva.
 Teorema 4 (Funciones convexas)
Sea S   n un conjunto abierto y convexo y sea
en S. Entonces, se cumple:
1. f es una función convexa en S si
~
2
 f (X )
f :  
n
dos veces diferenciable
es una matriz semidefinida positiva para
todo X~  S , es decir
~
T
2
Y  f ( X )Y  0 ;
Y  
n
2. f es una función estrictamente convexa en S si
positiva para todo
~
X S
, es decir
~
T
2
Y  f ( X )Y  0 ;
Y  
n
~
2
 f (X )
es una matriz definida
Algunas funciones convexas importantes son:
1. Funciones Afines:
Sea f ( X )  b T X  a , donde a   y b , X   n , es una función afín. Entonces, la matriz
Hesiana es  2 F ( X~ )  0 para todo  X~   n . Puesto que esta función satisface el
Teorema 4, es una función convexa. Nótese que f es también cóncava puesto que
~
2
 (  f )( X ) es igual a cero.
2. Formas cuadráticas:
1
Sea f ( X )  X T CX  b T X  a una forma cuadrática. Si la matriz C es semidefinida
2
positiva, entonces f es una función convexa, ya que la matriz Hesiana de f es
2
 f ( X )  C para todo X.
Las operaciones que conservan la convexidad son:
1. Combinaciones lineales no negativas de funciones convexas.
Sean fi(X), i = 1,…, k funciones convexas,
y sean  i , i = 1,…, k escalares
k
positivos. Considérese la función h ( X )    i f i ( X ) . Puesto que la suma de matrices
i 1
semidefinidas positivas es también semidefinida positiva, entonces h es una función
convexa.
2. Composición primera.
Si h es convexa y T es una transformación lineal (o afín), la composición g = h(T)
también es convexa.
3. Composición segunda
Si g es convexa, y h es una función convexa no decreciente de una variable, la
composición f = h(g) también es convexa.
4. Supremo
El supremo de una familia de funciones convexas es también una función convexa.
Condiciones Suficientes de KarushKuhn-Tucker
 Lema 2 (Problema de programación convexa)
Considérese el problema de programación convexa (PPC):
Minimizar
Z  f (X )
sujeto a
X S
donde f es convexa y diferenciable y S es un conjunto convexo. Entonces
un óptimo global si
 f ( X *) ( X  X *)  0 ,
T
X * S
es
X  S
 Teorema 5 (Suficiencia de las condiciones de Karush-Khun-Tucker)
Considérese el PPNL
Minimizar
sujeto a
Z  f (X )
h( X )  0
g(X )  0
Supóngase que existe una tripleta ( X ,  ,  ) que satisface las CKKT. Sea


K  k  k  0  y K  k  k  0 . Supóngase que f(X), gi(X) para todo i  I ( X ) y hk(X)
para todo k  K  son funciones convexas en  n , y que hk(X) para todo k  K  son
funciones cóncavas en  n. Entonces X es una solución global del PPNL.

Ejemplo 1– Caso Especial sin Restricciones:
Sea f :  n   convexa en
global óptima del problema
Minimizar
si

n
y diferenciable en x*. Entonces x* es una solución
Z  f ( x ),
x
n
f (x )  0
*
La clase más importante de PPNL para los que las CKKT son siempre necesarias y
suficientes es la de los llamados programas convexos (PC), que consisten en
minimizar una función objetivo convexa con un conjunto de restricciones tales que
las desigualdades son funciones convexas y las igualdades funciones afines, es decir:
Minimizar
Z  f (x)
Sujeto a
h(x)  0
g (x)  0
donde f y g son funciones convexas y continuamente diferenciables, y h es una
función afín. Un caso particular importante es el problema de programación lineal,
por lo que los resultados anteriores son totalmente aplicables a este problema.
En muchos casos tenemos el problema
Minimizar
f ( ,  )   ( r ( x i )    s ( y i ))
2
i
donde r(x) y s(y) son funciones de dos variables x e y, respectivamente. Puesto que
α y  no están restringidos, se trata de un problema sin restricciones, y las CKKT
son:
 f ( ,  )

  ( r ( x i )    s ( y i )) r ( x i )  0
 f ( ,  )

i
  ( r ( x i )    s ( y i ))  0
i
Mediante un reordenamiento de las anteriores Ecuaciones podemos obtener:
2
 r ( x i )    r ( x i )   r ( x i )s  y i 
i
i
i
 r ( x i )  n    s  y i 
i
i
La solución del sistema es:
 
n  r ( xi ) s ( yi )   r ( xi )  s ( yi )
i
i
i
( n  r ( xi )  (  r ( xi )) )
2
2
i
i
 r ( xi )  s ( yi )   r ( xi )  r ( xi ) s ( yi )
2
 
i
i
i
i
( n  r ( xi )  (  r ( xi )) )
2
2
i
i
Teniendo en cuenta que maximizar una función es lo mismo que minimizar la
misma función cambiada de signo, el problema consiste en

Minimizar
sujeto a

Z   x1 x 2
x1
 ax 2
 x1
 x2

C

0

0
donde   0 ,   0 son constantes, tales que     1 , x1 y x2 son los niveles de
inversión y de trabajo, respectivamente, y f ( x1, x 2 )  x1 x 2 es la función de Cobb
Douglas, que da el nivel de producción como función de ambas variables, y a es el
coste por unidad de trabajo. Además hay una restricción de dinero disponible C.
Este es un PPC, pues las restricciones son lineales y la función objetivo es convexa.
Bibliografía
 “Formulación y Resolución de Modelos de Programación Matemática en Ingeniería y
Ciencia”, Enrique Castillo, Antonio J. Conejo, Pablo Pedregal, Ricardo García, Natalia
Alguacil, 2002.
Descargar

Programación Lineal y el Método Simplex. Programación No Lineal