Está en la página 1de 24

Simulacin y Optimizacin de los Procesos Qumicos

TEMA 9: PROGRAMACIN LINEAL

1.- INTRODUCCIN

2.- DEFINICIONES Y TEOREMAS BSICOS DE LA PROGRAMACIN LINEAL

3.- RESOLUCIN DEL PROBLEMA

3.1.- Mtodo Grfico


3.2.- El Algoritmo del Simplex.

3.2.1.- Justificacin del Criterio de Entrada.


3.2.2.- Justificacin del Criterio de Salida
3.2.3.- Variables Artificiales.
3.2.4.- Mtodo de las Penalizaciones.

4.- PROGRAMACIN CUADRTICA.

77
Simulacin y Optimizacin de los Procesos Qumicos

TEMA 9

PROGRAMACIN LINEAL.

1.- INTRODUCCIN

Un problema de optimizacin en trminos matemticos queda definido por:

a) Las variables del problema, que reciben el nombre de variables instrumentales.


Se notarn por el vector x.

b) La funcin objetivo f(x) que es la descripcin en trminos matemticos del


objetivo a conseguir.

c) El conjunto de oportunidades k o conjunto de valores que satisfacen todas las


condiciones del problema que se trata de resolver.

m
d) En general k = I hi ( x ) donde hi (x) son las condiciones de restriccin.
i =1

Una de las modalidades de la programacin matemtica es la programacin lineal,


que se caracteriza por:

1.- La funcin objetivo es lineal, es decir

f(x) = c1 x1 + c2 x2+ ....

2.- Las restricciones del problema tambin son lineales

h1(x); a11 x1 + a12 x2 +......+a1n xn b1


h2(x);......a21 x1 + a12 x2 +......+a1n xn b1
hm(x);......am1 x1 + am2 x2 +......+amn xn bm

78
Simulacin y Optimizacin de los Procesos Qumicos

3.- Las variables instrumentales han de tomar necesariamente valores mayores o


iguales que cero. Se trata de una condicin de no negatividad
xi 0

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

A es una matriz de m x n llamada tambin matriz tcnica

a11 a21 ... a1n


a a22 ... a2 n
A= = ( P1 , P2 , P3 ,..., Pn )
21



am1 am2 ... amn

siendo Pj el vector columna asociado a la variable xj y B es el vector de trminos


independientes de m componentes.

b1

b
b = 2

b
m

El problema de programacin lineal puede presentarse en 3 formas diferentes.

(a).- En forma cannica, cuando las restricciones son desigualdades en una de las 2
formas siguientes:

79
Simulacin y Optimizacin de los Procesos Qumicos

a.1.- max (min) z = ct x


s.a A x b
x0

a.2.- max (min) z = ct x


s.a A x b
x0

(b).- En la forma estndar, cuando las restricciones son igualdades

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.

Para transformar el problema a su forma estndar, se recurre a las variables de holgura


( xih ) , cuyo sentido es recoger los excesos o defectos de las restricciones. La restriccin
hd(x) puede ser:

a d 1 x1 + a d 2 x 2 +...+ a d n x n bd

y con la introduccin de la variable de holgura

a d 1 x1 + a d 2 x2 +...+a d n x n + x dh = bd

bien hd(x) puede venir dada por

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

Estas variables poseen una importante interpretacin econmica. Si en la solucin del


problema la variable de holgura de la restriccin d es cero, x dh = 0 , indica que la
restriccin est saturada o que se verifica como igualdad. Por el contrario x dh > 0, indica
que no se verifica como igualdad sino que existe un exceso de recursos no utilizados si la
restriccin estaba planteada como () y tambin puede significar un exceso de consumos
de disponibilidades mnimas cuando la restriccin es mayor o igual ().

Con estas variables de holgura tambin denominadas variables secundarias en


contraposicin a las variables principales, el problema se reduce fcilmente a la forma
estndar
Max z = ct. x
s.a A. x = b
x 0

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

2.- DEFINICIONES Y TEOREMAS BSICOS DE PROGRAMACIN LINEAL

Solucin factible:

El conjunto de oportunidades k, queda definido por la interseccin de las restricciones,


que al ser desigualdades lineales delimitan semiespacios cerrados. Por lo tanto el
conjunto de oportunidades es un conjunto convexo, al ser interseccin de conjuntos
convexos. Caso de no ser vaco recibe el nombre de politopo, y si est acotado se llama
poliedro.

Se llama solucin factible o vector admisible de un problema de programacin lineal


en forma standard a cualquier vector x que satisface las restricciones A.x = b y xi0. En
otras palabras, la solucin factible ha de ser una solucin que est contenida dentro del
conjunto convexo de oportunidades.

La solucin factible ptima es aquel o aquellos vectores admisibles para los que la
funcin objetivo alcanza el ptimo.

Si k es un poliedro, la solucin ptima puede ser nica (solucin de vrtice, Figura


1.1) o puede tener infinitas soluciones (solucin de arista o de cara) (Fig. 1.2)
Si k es un politopo no acotado puede tener solucin nica (Fig. 1.3), infinitas
soluciones (Fig. 1.4) o no tener solucin (Fig. 1.5)
Si k es vaco no hay solucin.

1.1 1.2 1.3

1.4 1.5

Figura 1.

82
Simulacin y Optimizacin de los Procesos Qumicos

Punto extremo

un punto x F se dice que es un punto extremo de conjunto de oportunidades F si y solo


si no puede ser expresado como:

x = x1 + (1 ) x 2 x1, x 2 F , 0 < <1 x1 x 2 x ,

Solucin bsica

Considere un problema lineal expresado en su forma estndar:

min (max) z = cT x
s.a Ax = b
x0

Donde el rango de A es m. Se puede dividir la matriz A en 2 submatrices B y N. B de


orden m x m y N de orden m x (n-m). Todo el vector x admisible contiene m
componentes asociados a B y n-m componentes asociados a N. Esto es:

xB
A=[B | N] y x = y por lo tanto: Ax = Bx B + Nx N = b
xN

Se dice que una solucin es bsica si: x N = 0; x B 0


Y por lo tanto: xB = B 1 b

El vector xB, vector de los componentes de x asociadas a B, es el vector de variables


bsicas, (forman la solucin bsica). Mientras que el vector xN, vector de las
componentes de x asociadas a N y cuyo valor es cero, es el vector de variables no
bsicas.

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:

Sea x una solucin factible bsica, y por lo tanto:

x x
x = B = B
xN 0

La demostracin se har por contradiccin. Si x no es un punto extremo entonces debern


existir dos puntos y y z de tal manera que:

yB zB yB 0 ; zB 0
y = z =
yN zN yN 0 ; zN 0

x = y + (1 ) z 0 < < 1 y z x

Si el punto x es una solucin bsica entonces:

xB y z x
= B + (1 ) B = B
xN yN zN 0

As pues para las variables no bsicas se cumple que:

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:

B xB = B y B = B z B = b y si la matriz B es invertible entonces.

84
Simulacin y Optimizacin de los Procesos Qumicos

xB = yB = zB

Lo cual nos lleva a una contradiccin, debiendo cumplirse necesariamente que si x es


punto extremo es tambin una solucin factible bsica.

Teorema II
La solucin ptima de un problema lineal cae siempre en
un punto extremo de la regin factible F

Demostracin:

La demostracin la haremos por reduccin al absurdo. Sea x* el ptimo de un programa


lineal (sin prdida de generalidad digamos que estamos minimizando).

Supongamos que x* no es un punto extremo:, entonces:

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

Recordemos que el problema que estamos resolviendo es el siguiente:

min : z = cT x
s.a. Ax = b
x0

Haciendo la separacin entre variables bsicas y no bsicas:

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

Sustituyendo en el problema original queda lo siguiente:

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

Las condiciones necesarias de optimalidad de Karush-Khun-Tucker de primer orden para


el problema anterior son:

cT T 1 T
N cB B N + ( 1) = 0
T

xN 0
>0

86
Simulacin y Optimizacin de los Procesos Qumicos

y como el multiplicador de KKT es positivo entonces necesariamente:

cT 1 T
B B N cN 0
T
que es la expresin que se buscaba.

3.- RESOLUCIN DEL PROBLEMA

Los teoremas anteriores transforman la tarea de resolver un problema de programacin


lineal en ir buscando la solucin ptima entre las soluciones bsicas y comprobar la
condicin de optimalidad formulada en le teorema III. La resolucin se reduce a
investigar slo un nmero finito de puntos.
m m!
(El nmero total de puntos es = que corresponde al nmero de vrtices).
n n !( n m) !

De entre los varios mtodos propuestos para resolver este tipo de problemas destaca el
mtodo grfico, y el algoritmo simplex.

3.1.- MTODO GRFICO

El mtodo grfico consiste en obtener geomtricamente la solucin del problema de


programacin lineal. Este mtodo es recomendable slo en el caso de que el nmero de
variables sea reducido. Se precisa conocer:

(a) La representacin del conjunto de oportunidades F que viene dada por la


interseccin de los semiespacios definidos por las restricciones.

(b) La grfica de la familia de lneas de nivel definida por la funcin objetivo y el


conjunto de oportunidades. El hiperplano ha de tomar el mayor valor en la
solucin si el problema es de maximizacin y el menor si el valor es de
minimizacin.

Ejemplo: supngase un programa de maximizacin con 2 variables y 2 restricciones dado


por las ecuaciones:
Max F(x) = 4x1+5x2

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

La zona oscura es el conjunto k.


3
solucin: punto B ,5
2

88
Simulacin y Optimizacin de los Procesos Qumicos

3.2.- EL ALGORITMO SIMPLEX

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.

El algoritmo del simplex se puede resumir en las siguientes etapas

a. Encontrar una base inicial


b. Resolver para las variables bsicas
c. Comprobar si se cumple el criterio de optimalidad
d. En caso de que la condicin c no se cumpla, eliminar una variable de la base,
que pasara a ser no bsica e introducir una nueva variable bsica seleccionada
entre las no bsicas.

Veamos de forma detallada como se lleva a cabo el procedimiento en forma de tabla: (Lo
aplicaremos a un problema de maximizacin)

El mtodo simplex en forma de tabla comienza por colocar ordenadamente en columnas


todas las variables que forman parte del programa especificando en el encabezamiento el
respectivo coeficiente cj de la funcin objetivo. Por filas, se sitan las variables bsicas
acompaadas por los cj. Los componentes de la tabla son los distintos vectores Pj que
estn en funcin de la base considerada. En una ltima columna se recogen los
componentes del vector solucin respecto de dicha base.

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

cf xf 0 0 1 0 xfk xfn bf = xf0

cm x m 0 0 0 1 xmk xmn bm = xm0


zj z1 Z2 zf zm zk zn F
wj 0 0 0 0 ck-zk cn-zn

A partir de aqu se han de realizar las siguientes operaciones:

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.

Max :wj > 0 = wk criterio de entrada

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

Si todas las xik 0, no existe solucin ptima (Politopo no acotado)

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.

3.2.1.- Justificacin del criterio de entrada

En una etapa cualquiera del proceso nuestra tabla queda como:

xB1 xB2 . xBm xN1 xN2 .. xNt b

-1 -1
I B N B b

0 cTN cTB B 1 N cTB B 1b

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.

3.2.2.- Justificacin del criterio de salida

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

Que escrito para cada una de una de las variables i:

xBi + yik x Nk = bi i =1....... m


k

Digamos que xNj entra en la base, nosotros queremos que x Nj 0 y x Bi 0 i


entonces, de la ecuacin anterior

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:

Planteamos el problema resuelto anteriormente por el mtodo grfico.

Max F(x) = 4x1+5x2


s.a 2x1+x2 8
x2 5
1
x 0, x2 0

Convertimos el problema a su forma standard.

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

La identificacin de los vectores es bien simple

2 1 1 0 8
P'1 = ; P' 2 = ; P'1h = ; P' 2h = ; P0 =
0 1 0 1 5

w1 0; w2 0 luego no se ha alcanzado el ptimo. Se toma la variable x2 al ser w2 > w1.


Es decir la variable x2 se incorpora a la base de la que debe salir alguna de las variables
bsicas precedentes x1h x2h.

Para seleccionar la variable que debe abandonar la base se analiza el cociente

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

El elemento pivote aparece con un * en la tabla, realizamos pues una eliminacin


de gauss donde el elemento pivote debe tomar valor 1 y el resto de los elementos de la
columna ceros, por ser una columna de una variable bsica.

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

Hemos alcanzado el ptimo x1=3/2 ;x2=5 F.0=31

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.

(b) Si alguno o algunos de los wj de los wj de las variables no bsicas es nulo, la


solucin es de arista o de cara. Solucin mltiple.

(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

(d) Si al ir calculando sucesivas tablas el valor de la funcin permanece constante


y cada cierto nmero de tablas se vuelve de nuevo a la tabla que inici el
proceso, repitindose sucesivamente, no se alcanza ninguna solucin
recibiendo este caso el nombre de ciclo. (Existen mtodos para resolver el
problema en este caso).

El algoritmo antes mencionado con los criterios de entrada y salida sirve para resolver
problemas de maximizar. Para minimizar podremos elegir entre 2 criterios:

1.- Variar wj. En la maximizacin wj=cj-Zj entrando a la base aquel


xj cuyo wj es mayor. Para el caso de minimizacin se define wj= Zj-cj y sigue
entrando en la base la variable que lleva asociado el mayor wj. El ptimo se
alcanza cuando todos los wj de las variables no bsicas son negativas.

2.- Transformar:

min f(x) = - max( - f(x))

con lo que el problema de mnimo se transforma en un mximo.


Tan slo hay que cambiar el signo de la F.0 y aplicar el algoritmo. Una vez obtenido el
ptimo hay que cambiar el signo de la F.0 para obtener la solucin.

3.3.3.- Variables artificiales

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.

No siempre se presentan los programas en la forma expuesta, pues puede haber:

95
Simulacin y Optimizacin de los Procesos Qumicos

Restricciones con desigualdades de signo en los que los coeficientes de las


variables de holgura han de tomar signo negativo.

Restricciones de igualdad en las que no puede haber variables afectadas por un


vector e perteneciente a la bases cannica.

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).

As por ejemplo ante una restriccin de igualdad:

a d 1 x1 + a d 2 x 2 +....+ a dn x n = bd

se aade la variable artificial x ad

a d 1 x1 + a d 2 x 2 +....+ a dn x n + x ad = bd

Si la restriccin es una desigualdad de signo mayor o igual:

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

El problema original se ha visto ampliado como consecuencia de la introduccin de estas


variables, con un nmero indeterminado de ellas, que en todo caso no ser superior a m
(n de restricciones) y que reciben el nombre de variables artificiales.

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.

3.3.4.- Mtodo de penalizaciones

Se introducen las variables artificiales en la funcin objetivo, penalizando dichas


variables con un coeficiente M, siendo M un nmero arbitrariamente grande en valor
absoluto, de forma que:

Para un problema de maximizacin, el valor de M ser un nmero arbitrariamente


grande negativo, o bien aparece restando, de modo que al intentar maximizar
dicho problema, necesariamente la solucin no ha de depender de las variables
artificiales.

Para un problema de minimizar, el valor de M ser un nmero arbitrariamente


grande y positivo, lo que provocar la exclusin de la correspondiente variable
artificial.

3.3.5.- Mtodo de las dos fases

Consiste en descomponer el problema ampliado en dos subproblemas o fases. La primera


fase consiste en minimizar la funcin auxiliar

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.

La segunda fase consiste en optimizar el problema original, tomando como solucin


factible bsica inicial la solucin de la fase anterior.

97
Simulacin y Optimizacin de los Procesos Qumicos

4.- PROGRAMACIN CUADRTICA

La programacin cuadrtica (QP) es el nombre que se le da a un procedimiento que


minimiza una funcin cuadrtica de n variables sujeta a m restricciones lineales de
igualdad o desigualdad. Un programa cuadrtico es la forma ms simple de problema no
lineal con restricciones de desigualdad. La importancia de la programacin cuadrtica es
debida a que un gran nmero de problemas aparecen de forma natural como cuadrticos
(optimizacin por mnimos cuadrados, con restricciones lineales), pero adems es
importante porque aparece como un subproblema frecuentemente para resolver
problemas no lineales ms complicados. Las tcnicas propuestas para solucionar los
problemas cuadrticos tienen mucha similitud con la programacin lineal.
Especficamente cada desigualdad debe ser satisfecha como igualdad. El problema se
reduce entonces a una bsqueda de vrtices exactamente igual que se haca en
programacin lineal.

En notacin compacta el programa cuadrtico es:

min f ( x ) = cT x + 1 xT Q x
2
s.a. A x b (1)
x 0

donde c es un vector de coeficientes constantes; A es una matriz (m x n) y se asume, en


general que Q es una matriz simtrica.

Dado que las restricciones son lineales y presumiblemente independientes la cualificacin


de las restricciones se satisface siempre, as pues, las condiciones de Karush-Kuhn-
Tucker son tambin condiciones suficientes para obtener un extremo, que ser a dems
un mnimo global si Q es definida positiva. Si Q no es definida positiva el problema
podra no estar acotado o llevar a mnimos locales.

98
Simulacin y Optimizacin de los Procesos Qumicos

Comencemos por la funcin de Lagrange:

L = xT c + 1 xT Q x + T (A x b ) + vT (x) (2)
2

Donde es el vector de los multiplicadores de KKT asociados a las restricciones lineales


del sistema y v es el vector de los multiplicadores que vienen como consecuencia de
hacer que las variables sean todas no negativas.

Las condiciones de Karush Kuhn Tucker son entonces:

c + Q x + A T v = 0
Ax b 0 (3)
T ( Ax b) = 0
complementaridad
vT x = 0

Si se aaden variables de holgura a la desigualdad del conjunto de ecuaciones en (3)

Ax b + x h = 0 A x b = xh (4)

Sustituyendo la expresin anterior en la condicin de complementaridad se obtiene:

T ( A x b ) = T ( x h ) = 0 T x h = 0 (5)

Las condiciones de Karush Kuhn- Tucker, pasando los trminos constantes a la


derecha, e incluyendo las sustituciones anteriores quedan entonces como:

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,

de tal manera que la variable j y su correspondiente par complementario x hj no formen

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

base slo si x hj no forma parte de la base o si x hj es la variable que debe abandonar la

base. Si no es as se seleccionar para entrar a formar parte de la base la siguiente


candidata.

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

También podría gustarte