Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introduccion A La Programacion Lineal PDF
Introduccion A La Programacion Lineal PDF
1.- INTRODUCCIN
77
Simulacin y Optimizacin de los Procesos Qumicos
TEMA 9
PROGRAMACIN LINEAL.
1.- INTRODUCCIN
m
d) En general k = I hi ( x ) donde hi (x) son las condiciones de restriccin.
i =1
78
Simulacin y Optimizacin de los Procesos Qumicos
En notacin matricial
max (min) z = ctx
s.a Ax b
x0
Donde
ct = ( c1 , c2 ,..., cn )
x1
x2 son vectores de n componentes
x =
xn
am1 am2 ... amn
b1
b
b = 2
b
m
(a).- En forma cannica, cuando las restricciones son desigualdades en una de las 2
formas siguientes:
79
Simulacin y Optimizacin de los Procesos Qumicos
max (min) z = ct x
s.a A x = b
x0
(c).- En forma mixta, cuando existen unas restricciones como desigualdades, tanto mayor
o igual, como menor o igual, y otras como igualdades.
a d 1 x1 + a d 2 x 2 +...+ a d n x n bd
a d 1 x1 + a d 2 x2 +...+a d n x n + x dh = bd
a d 1 x1 + a d 2 x 2 +...+ a d n x n bd
y se convierte en
a d 1 x1 + a d 2 x2 +...+a d n x n x dh = bd
80
Simulacin y Optimizacin de los Procesos Qumicos
Donde x = (x, xh) y A es la matriz tcnica de los coeficientes de las variables xy xh. Al
aumentar el nmero de variables, ha de aumentar tambin el nmero de coeficientes en la
funcin objetivo. Se recurre a coeficientes de valor cero c = (c, 0) para valores de
holgura.
81
Simulacin y Optimizacin de los Procesos Qumicos
Solucin factible:
La solucin factible ptima es aquel o aquellos vectores admisibles para los que la
funcin objetivo alcanza el ptimo.
1.4 1.5
Figura 1.
82
Simulacin y Optimizacin de los Procesos Qumicos
Punto extremo
Solucin bsica
min (max) z = cT x
s.a Ax = b
x0
xB
A=[B | N] y x = y por lo tanto: Ax = Bx B + Nx N = b
xN
83
Simulacin y Optimizacin de los Procesos Qumicos
Teorema I
Un punto x en un programa lineal expresado en forma
estndar es un punto extremo si y slo si es una solucin
bsica. O sea
xB = B 1b xB 0 xN = 0
Demostracin:
x x
x = B = B
xN 0
yB zB yB 0 ; zB 0
y = z =
yN zN yN 0 ; zN 0
x = y + (1 ) z 0 < < 1 y z x
xB y z x
= B + (1 ) B = B
xN yN zN 0
y N + (1 ) z N = 0 (recordando que y N 0 ; z N 0 ) y N = z N = 0
Por otra parte como los puntos x son factibles deben satisfacer las restricciones:
84
Simulacin y Optimizacin de los Procesos Qumicos
xB = yB = zB
Teorema II
La solucin ptima de un problema lineal cae siempre en
un punto extremo de la regin factible F
Demostracin:
x * = i xi i > 0 i =1
i i
multiplicando en ambos lados por cT :
cT x * = i cT xi
i
Pero como adems x* es el punto ptimo entonces :
cT x * < cT xi
Estas dos ltimas ecuaciones son contradictorias, y por lo tanto la solucin ptima x*
debe ser, necesariamente, un punto extremo.
Corolario:
Si la funcin alcanza un mnimo (mximo) en ms de un punto extremo toma el
mismo valor para cualquier combinacin lineal convexa de dichos puntos.
85
Simulacin y Optimizacin de los Procesos Qumicos
Teorema 3:
Una condicin necesaria y suficiente para que x* sea una
solucin ptima es que:
cT 1 T
B B N cN 0
T
Demostracin
min : z = cT x
s.a. Ax = b
x0
min : z = cT T
B xB + c N x N
s. a. B xB + N x N = b
x 0
Despejando xB del conjunto de restricciones:
B xB + N x N = b x B = B 1 b B 1 N x N
min : z = cT 1 1 T
(
T T 1
)T 1
B ( B b B N x N ) + c N x N = c N cB B N x N + c B B b
s. a. xN 0
cT T 1 T
N cB B N + ( 1) = 0
T
xN 0
>0
86
Simulacin y Optimizacin de los Procesos Qumicos
cT 1 T
B B N cN 0
T
que es la expresin que se buscaba.
De entre los varios mtodos propuestos para resolver este tipo de problemas destaca el
mtodo grfico, y el algoritmo simplex.
87
Simulacin y Optimizacin de los Procesos Qumicos
s.a 2x1+x2 8
x2 5
x1 0, x2 0
x2
(0,5)
m=-4/5
x1
(4,0)
Figura 2. Ejemplo de mtodo grfico para resolver un problema de programacin lineal
88
Simulacin y Optimizacin de los Procesos Qumicos
El algoritmo del simplex como todo algoritmo iterativo, necesita un punto de partida que
es la solucin factible bsica inicial (punto extremo inicial).
Si esta solucin no es la ptima se van generando, a travs del mtodo de clculo que se
expondr ms adelante, sucesivas soluciones bsicas, (puntos extremos) hasta determinar
cul de ellas es la ptima, momento en el cual se detiene el proceso.
Veamos de forma detallada como se lleva a cabo el procedimiento en forma de tabla: (Lo
aplicaremos a un problema de maximizacin)
89
Simulacin y Optimizacin de los Procesos Qumicos
p1 P2 pf pm pk pn
c1 C2 cf cm ck cn
x1 X2 xf xm xk xn P0
c1 x1 1 0 0 0 x1k x1n b1 = x10
c2 x2 0 1 0 0 x2k x2n b2 = x20
1.- Calcular los elementos de la penltima fila de la tabla llamados Zj y cuyo valor es:
zj = c1x1j+c2x2j+...+cmxmj, siendo xij la i-esima componente del vector Pj, con i = 1,2,...,m.
Los Zj de las variables bsicas son Zj = cj.
2.- Calcular los elementos de la ltima fila de la tabla (wj) cuyo valor es wj = cj-Zj.
3.- Comprobar si todos los wj son menores o iguales que cero. En caso afirmativo se han
alcanzado el ptimo. En caso contrario hay que seguir iterando.
4.- Si existen varios vectores cuyo wj > 0, de entre ellos se elige el que toma el valor
mximo, p.e pk. La variable xk se convierte en variable bsica y se debe eliminar alguno
de los m primeros para que la base contine teniendo m.
5.- Para seleccionar el vector que va a salir de la base, se elige aquel que minimice la
x
expresin i 0 con i = 1,2,...,m donde xik son las componentes del vector Pk que es el
x ik
vector seleccionado previamente
90
Simulacin y Optimizacin de los Procesos Qumicos
x x f 0
Min: xik > 0 i 0 = criterio de salida
xik x fk
6.- Se determina el elemento pivote, en nuestro caso xfk, interseccin de la columna del
vector que entra Pk y la fila del vector que sale Pf. A continuacin se lleva a cabo una
eliminacin de Gauss de tal manera que el elemento pivote se convierta en un 1 y lo otros
elementos de su columna pasen a ser ceros.
7.- Se vuelve nuevamente al punto uno. El proceso se obtiene cuando wj 0 en cuyo caso
se ha alcanzado el ptimo.
-1 -1
I B N B b
Vemos que el valor que calculamos en la tabla W corresponde al trmino cTN cTB B 1 N
y por lo tanto la mejor decisin local es aquella que produce ms mejora en la funcin
objetivo es decir, la que tiene el mayor W.
La idea es eliminar una variable de la base de tal manera que la solucin siga
mantenindose positiva para todas las variables. Si tenemos:
BxB + Nx N = b
91
Simulacin y Optimizacin de los Procesos Qumicos
xB + B 1N x N = B 1b
xB + Y x N = b donde Y = B 1N b = B 1b
b
xBi = bi yij xN j 0 xN j i i
yij
para asegurar que esto se cumple para todas las i debemos elegir la variable que tiene una
b b
relacin i menor (entre aquellos con i 0 ).
yij yij
Veamos un ejemplo:
Max....
F ( x ) = 4 x1 + 5 x2 + 0 x1h + 0 x 2h
s. a 2 x1 + x2 + x1h =8
x2 + x h
2 =5
x1 0; x 2 0; x1h 0; x 2h 0
92
Simulacin y Optimizacin de los Procesos Qumicos
Se selecciona la base cannica como base de partida para el algoritmo (m=z) constituida
por x1h x2h. Esta circunstancia hace que el vector P0 y los vectores Pj de las variables no
bsicas son directamente conocidos. Se puede construir as la primera tabla del algoritmo:
en las filas se sitan las variables bsicas x1h y x2h y en las variables del programa y el
vector P0que coincide con el vector de trminos independientes en esta primera tabla.
4 5 0 0
h
x1 x2 x1 x2h P0
0 x1h 2 1 1 0 8
h
0 x2 0 1* 0 1 5
Zj 0 0 0 0 0
wj 4 5 0 0
2 1 1 0 8
P'1 = ; P' 2 = ; P'1h = ; P' 2h = ; P0 =
0 1 0 1 5
x10 8
x = 1 = 8
xi 0 12
; por lo tanto debe abandonar la base el vector x2h.
xi 2 20 = 5 = 5
x
x 22 1
93
Simulacin y Optimizacin de los Procesos Qumicos
4 5 0 0
h
x1 x2 x1 x2h
0 x1h 2* 0 1 -1 3
5 x2 0 1 0 1 5
Zj 0 5 0 5 25
wj 4 0 0 -5
De acuerdo con lo dicho el nuevo vector de entrada debe ser x1 ; y el de salida x1h
(3/2<5/0)no definido.
4 5 0 0
x1 x2 x2h
4 x1 1 0 1/2 -1/2 3/2
5 x2 0 1 0 1 5
Zj 4 5 2 3 31
wj 0 0 -2 -3
Cmo se identifican las soluciones o falta de solucin a travs del algoritmo el simplex?
El procedimiento expuesto corresponde al caso de solucin de vrtice (solucin nica),
pero tambin puede aparecer la solucin de arista (solucin mltiple) o la falta de
solucin. Todos los casos quedan recogidos en el siguiente resumen.
(a) Si se alcanza una tabla en la que, para las variables no bsica, los wj<0, la
solucin es de vrtice. Solucin nica.
(c) Cuando algn vector de la tabla tiene todas sus componentes no positivas (xi,
0 i) y wk0, no existe solucin ptima, politopo no acotado.
94
Simulacin y Optimizacin de los Procesos Qumicos
El algoritmo antes mencionado con los criterios de entrada y salida sirve para resolver
problemas de maximizar. Para minimizar podremos elegir entre 2 criterios:
2.- Transformar:
El punto de partida del algoritmo del simplex consiste en tomar la solucin bsica factible
a la que se ha denominado solucin bsica factible inicial y que est asociada con la base
cannica.
En los casos hasta ahora presentados (forma cannica con restricciones del tipo ), la
solucin bsica factible inicial es muy fcil de obtener pues basta tomar las variables de
holgura que se introdujeron para pasar a la forma estndar.
95
Simulacin y Optimizacin de los Procesos Qumicos
En estos supuestos no resulta fcil tomar la solucin factible bsica inicial que sirva de
punto de partida del algoritmo del simplex. Para evitar esta dificultad se utiliza el artificio
de introducir otras variables con la condicin de tener asociado un vector ei y sin que
tengan ninguna interpretacin econmica o tcnica. (En consecuencia dichas variables no
pueden aparecer en la solucin del problema como variables bsicas. Si aparecen como
tales significa que el problema carece de solucin, es decir que las restricciones son
incompatibles).
a d 1 x1 + a d 2 x 2 +....+ a dn x n = bd
a d 1 x1 + a d 2 x 2 +....+ a dn x n + x ad = bd
a d 1 x1 + a d 2 x 2 +....+ a dn x n bd
Se aade por una parte una variable de holgura de signo negativo que la transforme en
igualdad (forma estndar) y por otra parte la variable artificial:
a d 1 x1 + a d 2 x 2 +....+ a dn xn x dh + x ad = bd
96
Simulacin y Optimizacin de los Procesos Qumicos
El problema se puede tratar por el mtodo de las penalizaciones o por el mtodo de las
dos fases.
p
F1 ( x a ) = xia = x1a + ..... + x ap ( p m)
i =1
sujeta a las restricciones del problema ampliado. Con su resolucin en el caso de que las
soluciones fueran compatibles, se habr llegado a una solucin factible bsica del
problema original.
97
Simulacin y Optimizacin de los Procesos Qumicos
min f ( x ) = cT x + 1 xT Q x
2
s.a. A x b (1)
x 0
98
Simulacin y Optimizacin de los Procesos Qumicos
L = xT c + 1 xT Q x + T (A x b ) + vT (x) (2)
2
c + Q x + A T v = 0
Ax b 0 (3)
T ( Ax b) = 0
complementaridad
vT x = 0
Ax b + x h = 0 A x b = xh (4)
T ( A x b ) = T ( x h ) = 0 T x h = 0 (5)
99
Simulacin y Optimizacin de los Procesos Qumicos
Q x AT + v = c
A x + xh = b (6)
T x h = 0
complementariedad
vT x = 0
Si en las ecuaciones anteriores (6) elimino las restricciones de complementariedad el
problema resultante es un problema lineal que puedo resolver utilizando la fase I del
mtodo de las dos fases. Para asegurar que se cumplen las condiciones de
complementariedad basta con modificar el criterio de entrada de una variable a la base,
simultneamente parte de la base (y lo mismo con v y x). Por ejemplo, digamos que la
variable j es la primera candidata para entrar a formar parte de la base. j entrar a la
Se puede demostrar que si (x, , v, xh) es una solucin del problema QP original entonces
f(x) es equivalente a:
(
f = 1 cT x +b T x h
2
) (7)
La minimizacin de la funcin dada por la ecuacin (7) sujeta a las restricciones dadas
por las ecuaciones (6) (o simplemente las ecuaciones 6) es lo que se conoce como el
problema lineal complementario.
100