You are on page 1of 27

Optimizacin de Procesos Discretos y de Etapas

CAPITULO
9


OPTIMIZACION DE
PROCESOS
DISCRETOS Y DE
ETAPAS






9.1 Programacin Dinmica 245
9.2 Programacin Entera y Entera Mixta 253
Referencias 268
Problemas 268
243
Optimizacin de Procesos Qumicos
Muchas plantas de procesos y partes de equipos se representan como procesos
de mltiples etapas aunque el equipo por si solo no est compuesto de unidades
separadas. Cada etapa de la configuracin se caracteriza por cinco parmetros;

1. El valor de la funcin objetivo o retorno, R
n

2. El nmero y/o el tipo de etapa, n
3. El valor(es) de las variable(s) de entrada, x
n

4. El valor(es) de las variable(s) de salida (dependientes), x
n 1

5. El valor(es) de las variable(s) de decisin (independientes), d
n


x
n
y d
n
pueden ser vectores. La figura 9.1 ilustra un tpico proceso sencillo de mltiples
etapas con flujo secuencial de material. Los criterios tpicos son maximizar la suma de los
ingresos de las etapas, Maximizar los costos totales, y as sucesivamente. Las etapas
pueden ser fsicamente identificables, imaginarias o periodos de tiempo.





244
Optimizacin de Procesos Discretos y de Etapas
Figura 9.1 Un proceso de mltiples etapas: f(x
k
) es la funcin objetivo global para las etapas
hasta e incluyendo la etapa k; d
k
es el vector de las variables de decisin (independientes;
R
k
es el retorno de la etapa k
La tabla 9.1 lista algunos ejemplos de procesos de decisin de mltiples etapas en la
industria qumica y sus parmetros. La determinacin de las ptimas condiciones de
operacin para tales procesos es complicado porque las etapas son cantidades enteras y
las condiciones que se fijen para cada etapa estn interrelacionadas. En la seccin 9.1
que sigue se describe un mtodo denominado programacin dinmica que se puede
utilizar para optimizar configuraciones relativamente sencillas de unidades
interconectadas por flujos de masa, energa e informacin.


Tabla 9. Ejemplos de los parmetros de decisin en procesos de mltiples etapas

Parmetro Extraccin en
corrientes cruzadas
Reactor Columna de
Destilacin
1 Funcin objetivo



2 Tipo de etapa

3 Entradas

4 Salidas


5 Variables de decisin

Maximizar el soluto total
extrado


Extractor

Flujo del solvente

Composicin del soluto
en el agua de lavado

Caudales del agua de
lavado
Maximizar el
rendimiento con el
tiempo

Periodo de tiempo

Composicin del
alimento
Composicin de los
productos

Temperatura, presin
Catalizador
Macizar la separacin
por unidad de costo del
alimento

Etapa ideal o real

Composicin del
alimento
Composicin de los
productos

Eficiencia de la etapa,
temperatura


Un segundo tipo de problema de optimizacin, que se analiza en la seccin 9.2, trata de
problemas que involucran enteros en vez de variables continuas. Los problemas que
involucran el diseo de equipos de planta en los cuales se debe especificar un nmero
entero de unidades, o problemas en los cuales se deben determinar tamaos de tubera,
son ejemplos de problemas que involucran variables discretas. Muchos problemas de
programacin, asignacin, expansin y construccin se representan naturalmente en
trminos de variables discretas (o enteras). Estos problemas exhiben propiedades
combinatorias en que el nmero de soluciones factibles potenciales se puede aproximar al
nmero de combinaciones posibles de las variables discretas.


9.1 PROGRAMACIN DINMICA

La programacin dinmica se usa ocasionalmente en el diseo y operaciones de
ingeniera qumica. La esencia del problema es descomponer un problema de
optimizacin interconectado y multivariable en una secuencia de subproblemas que puede
resolverse secuencialmente. Cada uno de los subproblemas contiene una, o unas pocas,
variables de decisin. Por lo tanto, el procedimiento puede aplicarse conceptualmente a
cualquier problema que pueda desglosarse en etapas de tiempo, componentes de
procesos, o unidades de costos. Cada etapa individual tiene que optimizarse por los
mtodos ya vistos.
245
Optimizacin de Procesos Qumicos
La programacin dinmica se basa en lo que se conoce como el principio de
optimalidad de Bellman (Bellman, 1957; Bellman y Dreyfus, 1962). El concepto se basa en
el flujo de informacin de un proceso y puede parafrasearse como:

Si una decisin forma una solucin ptima en una etapa de un proceso, entonces cualquier
decisin restante tiene que ser ptima con respecto al resultado de la decisin dada. Este
concepto puede implementarse mejor si la toma de decisiones de etapa a etapa se lleva a
cabo en la direccin del flujo de informacin en las etapas, que puede ser en la direccin
opuesta al flujo de materiales.

La figura 9.2 ilustra el principio grficamente. El flujo de informacin es en la direccin
opuesta al flujo de materiales si el estado final 5 se especifica y se va a determinar el
estado 0. Supongamos que la decisin que se toma en el punto A resulta en la decisin
ptima 1 con costo C
1
. En B se escoge entre las trayectorias 3 y 4 con costos C
3
y C
4

respectivamente. Si en B se escoge entre 3 y 4, la escogencia entre 1 y 2 no se afecta.




Figura 9.2 Flujo de materia y de informacin entre las etapas.





Para ejecutar la programacin dinmica y como cada etapa en una estructura
secuencial influencia la otra etapa, la ltima etapa se optimiza primero (Bellman y Dreyfus,
1962) para cada estado posible de las entradas que recibe. Despus de optimizar la
ltima etapa, las dos etapas restantes se agrupan y se optimizan para cada entrada
posible a la que sigue a la ltima etapa. El procedimiento contina hasta que se incluya la
estructura completa en la optimizacin. El ejemplo que se da a continuacin ayudar a
esclarecer el procedimiento.
246
Optimizacin de Procesos Discretos y de Etapas
La figura 9.3 muestra las rutas para la gasolina por medio de una red de
oleoductos. La gasolina solo puede fluir al Terminal H, y en cada estacin de bombeo de
A hasta H solo se puede utilizar un ramal de oleoducto para transporte. Supongamos que
usted es el que toma las decisiones en C. En vez de tratar todas las rutas permisibles
desde cada estacin de bombeo (una bsqueda exhaustiva), se puede aplicar el principio
de optimalidad. En este ejemplo, el estado es la estacin de bombeo y la decisin es la
escogencia del segmento de oleoducto para minimizar el costo total.
En C se puede seleccionar CD o CF. C
CD
y C
CF
son los costos de transporte de C a
D y de C a F, respectivamente. Suponga que usted sabe o puede calcular los costos
mnimos de transporte y de D y F hasta H, respectivamente. (En este caso
=10 y =5 como se ver). Entonces el mnimo costo es el menor de
*
DH
C
*
FH
C
*
DH
C
*
FH
C
*
CH
C
C
CDH
= C
CD
+ y C
*
DH
C
CFH
= C
CF
+
*
FH
C

=5 +10 =3 +5

Y de este modo la ruta ptima en C es ir a F.
Otras aplicaciones de la programacin dinmica han sido: (a) reactores agitados
tipo tanque en serie con bypass en el alimento y con mltiples reacciones, (b) reactores
adiabticos con mltiples lechos, (c) extractores de lquido con corrientes cruzadas, (d)
compresores con mltiples etapas, (e) pequeas redes de intercambiadores, (f) control de
produccin e inventarios (f) reemplazo y regeneracin de catalizadores, (g) reemplazo de
equipos, y (h) clculos de control ptimo.
Las caractersticas de los problemas de optimizacin no lineal a los cuales se les
puede aplicar el enfoque de la programacin dinmica son:

1- El problema tiene que descomponerse en etapas con toma de decisiones a
una o dos variables (variables de decisin, variables independientes) en cada
etapa. Las etapas pueden representar puntos secuenciales en el espacio como
en la figura 9.1 o secuencias en el tiempo como en la construccin de
programacin de eventos.

2- Para cada etapa, el resto de las variables (un nmero finito, menos es mejor)
se conocen como variables no decisivas (variables de la etapa, variables
dependientes) de la etapa.

3- El estado y las variables de decisin pueden ser continuas, discretas, o
continuas en realidad, pero divididas en niveles arbitrarios para la optimizacin.
Al fijar los valores de una o ms variables de decisin en una etapa del
proceso se pueden resolver las ecuaciones del modelo para esa etapa del
proceso y usar los valores de los estados entrantes para calcular los estados
de salida de la etapa. Sin embargo, los estados de salida son los estados de
entrada a la(s) etapa(s) contiguas. Las ecuaciones usadas para relacionar los
varios estados y las variables de decisin en una etapa se conocen como la
funcin de transicin (casi siempre es el modelo del proceso para la etapa). De
este modo, una decisin sobre cuanto se va a producir del componente A en la
etapa k determinar la entrada de una etapa adyacente.

4- Cada etapa tiene asociada con sus variables un beneficio, costo o funcin de
retorno que sirve como medida de la efectividad de las decisiones que se
tomen para la etapa.
247
Optimizacin de Procesos Qumicos

5- Se tiene que aplicar el principio de optimalidad de Bellman; o sea, para un
estado dado de una etapa, la secuencia ptima de decisiones para las
restantes etapas es independiente de las decisiones tomadas en las etapas
anteriores. Los valores ptimos de las etapas intermedias se determinan
despus de calcular el retorno ptimo para todo el sistema.

Un enunciado formal del principio de Bellman de optimalidad (ver figura 9.1) para
maximizacin es

[ ] ) ( ) , ( max ) (
1
*
1
*

+ =
n n n n n
dn
n n
x f d x R x f (9.1)

Donde n =nmero de etapas restantes del proceso
x
n
=entrada a la etapa n
d
n
= decisin en la etapa n
= Mximo retorno de la etapa n con entrada x ) (
*
n n
x f
n
R
n
(x
n
, d
n
) =retorno de la etapa n con entrada x
n
y decisin d
n
) (
1
*
1 n n
x f =Mximo retorno de las etapas 1 a la n

En resumen, la programacin dinmica no es una receta para resolver un
problema de optimizacin de una sola etapa es un procedimiento para la
descomposicin de un problema de optimizacin en una secuencia de problemas de
optimizacin de una sola etapa. Por esto la programacin dinmica tiene ventajas y
desventajas. Algunas ventajas son:

1 Puede tratar problemas no convexos, no lineales que involucren funciones
objetivos discontinuas y restricciones que cumplan los requisitos citados
anteriormente
2 Puede tratar con problemas que involucren variables enteras y mixtas enteras
y variables continuas.
3 No es esencial la unimodalidad de la superficie de costo y las restricciones se
incorporan al modelo para los elementos que forman las etapas
4 Requiere de un esfuerzo computacional reducido relativo a la enumeracin
completa. Por ejemplo para un proceso de N etapas en serie con n variables
independientes en cada etapa, cada una de las cuales tiene r
j
niveles de
diferenciacin, el nmero de evaluaciones de la funcin objetivo sera
comparada con solo de la programacin dinmica.
n N
j
r
n
j
Nr
5 Casi siempre alcanza un ptimo global.

Sin embargo, la programacin dinmica tiene algunas desventajas asociadas que
inhiben su uso difundido:

1 El nmero de variables de estado en cada etapa est restringido a un nmero
muy pequeo, digamos 3 o 4 o menos. Por ejemplo, supongamos que en la
etapa k haya m variables de estado (variables dependientes) y que cada
variable de estado tenga r
j
niveles factibles, j =1, 2, , m. Entonces el
nmero de combinaciones posibles de variables de estado para las cuales
248
Optimizacin de Procesos Discretos y de Etapas
debe evaluarse la funcin objetivo es de , o si r

=
m
j
j
r
1
j
= r, el nmero es r
m
. Si
hay N etapas y n variables de decisin en cada etapa, entonces el nmero total
de requisitos de almacenamiento en el computador es N(n + 2) r
m
. Par N =6
etapas con una variable de decisin y r =10 niveles para cada una de las m =
4 variables de estado, se tendran que calcular y almacenar

6(3)10
4
=1.8 x 105 resultados

2 El problema de optimizacin tiene que descomponerse en una secuencia de
clculos. Los procesos que tienen ramificaciones o reciclos presentan
problemas severos e involucran clculos iterativos. La programacin dinmica
requiere que la salida de una etapa dependa solamente de las variables de
entrada y de decisin de esa etapa. Por tanto, si el reciclo existe, alguna
tcnica tiene que aplicarse para eliminar la retroalimentacin.

A continuacin ilustraremos la aplicacin de la programacin dinmica a un ejemplo
sencillo.



EJEMPLO 9.1 APLICACIN DE LA PROGRAMACION DINAMICA A UN SISTEMA DE DISTRIBUCION DE
AGUAS

Examine el sistema de distribucin de aguas de la figura E9.1a. Suponga que el mximo valor que puede
alcanzar S
3
es de 3000 m
3
por unidad de tiempo. S
3
se va a dividir en tres puntos de distribucin en las
cantidades entregadas D
1
, D
2
y D
3
. Suponga que el valor del agua en cada punto de salida solo depende de la
cantidad de agua suministrada en ese punto. El problema es determinar la asignacin de agua que produce el
mximo retorno del sistema.



Figura E9.1a Sistema de distribucin de aguas con un suministro y tres puntos de entrega.




249
Optimizacin de Procesos Qumicos


El primer paso es convertir el problema en un diagrama por etapas (ver Figura E9.1b) en la cual las etapas
corresponden a los puntos de salida del sistema de distribucin de agua. Las variables de estado son S
1
, S
2
y
S
3
, en metros cbicos y las variables de decisin son D
1
, D
2
y D
3
en metros cbicos.
Cada etapa tiene una funcin de transformacin (o modelo) de la misma forma, un balance de materia (cada
balance de materia es una restriccin de igualdad)

S
i
= S
i +1
D
i + 1
i = 1, 2 (a)

S
1
= D
1


Una restriccin adicional para todo el proceso es

3000 0
i
D (b)

Note que la restriccin D
1
+ D
2
+ D
3
=S
3
es redundante con los balances de materia por etapa.
El objetivo es hallar el conjunto de variables de decisin D
1
, D
2
y D
3
(en algunos casos se llama una
poltica) que maximiza el retorno total de las tres etapas

Maximizar (c)

=
=
N
i
i i i N N
D S f S f
1
) , ( ) (

Sujeto a las restricciones dadas anteriormente. Los ingresos (f
i
) para cada etapa se listan en la tabla E9.1a
para tres niveles arbitrarios de D
i
.
Para aplicar la programacin dinmica, se comienza con la etapa 1 y se trabaja hacia atrs contrario al flujo
del agua, realizando los clculos etapa por etapa. Para la etapa 1 los ingresos son

(d) ) , ( max ) (
1 1 1 1
*
1
1
D S f S f
D
=

Sujeto a 0 S
1
3

0 D
1
S
1
(por simetra, S
1
=D
1
)

La tabla E9.1a lista los ingresos para varios valores de D
1
en la segunda columna.

Tabla E9.1a Ingresos por el agua

D
i
M
3
x 10
-3
f
1
(D
1
)
$ x 10
-3
f
2
(D
2
)
$ x 10
-3
f
3
(D
3
)
$ x 10
-3
1
2
3
2
5
6
1
4
7
4
5
6


A continuacin se pasa a la etapa 2. La entrada total S
2
tiene que compartirse entre D
1
y D
2
. Como
debe asignarse S
2
? Se deben examinar todas las distribuciones factibles en las que se divide S
2
entre D
1
y D
2

para determinar las mximas ganancias de la etapa 1 y de la etapa 2. La funcin objetivo para la etapa 2 es

{ } ) ( ) , ( max ) (
1
*
1 2 2 2 2
*
2
1
S f D S f S f
D
+ = (e)

Sujeto a 0 S
2
3

0 D
2
S
2


250
Optimizacin de Procesos Discretos y de Etapas
Para calcular valores de f
2
(S
2
) se necesita fijar S
2
, digamos, a tres niveles, y en cada nivel incluir como
subniveles los niveles de S
1
. Examine la tabla E9.1b. La suma de los ingresos de las dos etapas se lista en la
columna (f) de la Tabla E9.1b.

Por ltimo pasamos a la etapa 3. De nuevo S
3
tiene que dividirse entre D
1
, D
2
y D
3
, de modo que los ingresos
sean un mximo. De este modo la funcin objetivo para la etapa 3 es

{ } ) ( ) , ( max ) (
2
*
2 3 3 3 3
*
3
1
S f D S f S f
D
+ = (f)

Sujeto a 0 S
3
3

0 D
3
S
3


Tabla E9.1b Clculos para la etapa 2

(a)
S
2
M
3
x 10
-3
(b)
D
2
M
3
x 10
-3
(c)
D
1
=S
1
M
3
x 10
-3
(d)
f
2
(S
2
, D
2
)
$ x 10
-3
(e)
f
1
(S
1
)
$ x 10
-3
(f)
) (
2
*
2
S f =(d) + (e)
$ x 10
-3
1


2



3



1
0

2
1
0

3
2
1
0
0
1

0
1
2

0
1
2
3
1
0

4
1
0

7
4
1
0
0
2

0
2
5

0
2
5
6
1
2

4
3
5

7
6
6
6
Mximo valor para el nivel de S
2

La tabla E9.1c es anloga a la tabla E9.1b. Note que los valores de la columna (e) de esta tablas se tomaron
de los mximos valores marcados con asteriscos en la Tabla E9.1bse pueden omitir evaluaciones de
funciones para variables de estado que conduzcan a menores valores de f
2
(s
2
)

Tabla E9.1c Clculos para la etapa 3

(a)
S
3
M
3
x 10
-3
(b)
D
3
M
3
x 10
-3
(c)
S
2
M
3
x 10
-3
(d)
f
3
(S
3
, D
3
)
$ x 10
-3
(e)
f
2
(S
2
)
$ x 10
-3
(f)
) (
3
*
3
S f =(d) + (e)
$ x 10
-3
1


2



3



1
0

2
1
0

3
2
1
0
0
1

0
1
2

0
1
2
3
4
0

5
4
0

6
5
4
0
0
2

0
2
5

0
2
5
7
4
2

5
6
5

6
7
9
7
Mximo valor para el nivel de S
3

Con esto se completa el proceso de asignacin y se determina la poltica ptima, o sea

D
1
* =2000 D
2
* =0 D
3
* =1000 f
3
* =$ 9000

Adems, si se cambia la entrada S
3
a un mximo de 2000 m
3
la poltica ptima se obtiene de inmediato
251
Optimizacin de Procesos Qumicos

D
1
* =1000 D
2
* =0 D
3
* =1000 f
3
* =$ 6000

Si se necesita ms precisin en las D
i
y S
i
, se debe aumentar la extensin de los clculos al agregar niveles
intermedios de D
i
y S
i
. Uno puede arrancar con una grilla reducida y despus, con la solucin ptima como
gua, reducir la regin factible y usar una grilla con un menor tamao de malla en la regin reducida. SI todas
las variables son continuas puede ser posible minimizar f(D
i
,S
i
). analticamente o numricamente en cada
etapa.
En cualquier etapa N la funcin objetivo se puede expresar como

{ } ) ( ) , ( max ) (
1
*
1
*

+ =
n n N N N
D
N N
S f D S f S f
N
(g)
y (g) est sujeto a

(a) la funcin de transicin (el modelo del proceso) 0 ) , , (
1
=
n N N N
S D S T
(b)
max min N N N
D D D
(c)
max min N N N
S S S

Para reiterar, la ecuacin (g) establece que la mxima ganancia (o el mnimo costo) para el sistema en el
estado S
N
en la etapa N se obtiene al agregar al retorno de la etapa N producido por la decisin D
N
el retorno
ptimo de todas las etapas aguas arriba en el flujo de informacin.


El problema esquematizado en la figura E9.1b que hemos usado como ejemplo se conoce
como un problema de valor inicial. Un problema (estado) de valor inicial ocurre cuando se
conoce el estado inicial (entrada) de la etapa N se especifica previamente y el estado final
(salida) de la etapa 1 es variable (se determina de la solucin del problema). Si el estado
inicial de la etapa N y el estado final de la etapa 1 se fijan por una secuencia de etapas,
se tiene un problema de valor en la frontera con dos puntos. El problema de optimizacin
es hallar el retorno ptimo de las N etapas como funcin de la entrada dada de la etapa N
y de la salida de la etapa 1, f
N
(S
N
, S
0
) donde S
0
es la variable de salida de la etapa 1. En
la etapa 1 se quiere

Maximizar f
1
(S
1
, D
1
, S
1
)

D1

Sujeto a 0 ) , , (
0 1 1 1
= S D S T

Supuestamente T
1
puede resolverse explcitamente para D
1

) , (
0 1 1 1
S S T D =

De modo que D
1
puede eliminarse de f
1
, y f
1
, puede cambiarse a una funcin de S
1
,
solamente (con S
0
como parmetro). La nica diferencia en procedimiento es que S
0
se
comporta como un parmetro adicional y la funcin objetivo en la etapa N es

{ } ) , ( ) , ( max ) , (
0 1
*
1 0
*
S S f D S f S S f
N N N N N
D
N N
N

+ = (9.2)

Un tercer tipo de programacin dinmica ocurre cuando se preespecifica el estado final de
la etapa 1 y el estado inicial de la etapa N es libre de ser determinado por el problema.
Una manera de resolver el problema es considerarlo como un problema de valor en la
252
Optimizacin de Procesos Discretos y de Etapas
frontera con dos puntos. Sin embargo, si la funcin de transicin puede resolverse
(invertirse) de modo que

( )
i i i i
D S T S ,

1
= i =1, ., N (9.3)

Entonces el problema se puede trabajar hacia atrs desde la etapa 1 a la etapa N, porque
el flujo de informacin se invierte con relacin al problema del valor inicial.
Numerosos mtodos se han propuesto para reducir la dimensionalidad involucrada
en la programacin dinmica. Ver Morin (1978) que resume el trabajo de 150
investigadores en nueve categoras diferentes.
Para resumir, no hay una formulacin matemtica estndar para los problemas de
programacin dinmica. La ecuacin particular que se use tiene que desarrollarse para
que se ajuste a cada problema individual. Al comprender la estructura general de la
programacin dinmica se puede reconocer cuando un problema se puede resolver por
programacin dinmica y como debe formularse el procedimiento para su solucin. La
programacin dinmica es un procedimiento iterativo pero solo necesita de un nmero
razonable de instrucciones para implementarla. Las restricciones impuestas al proceso
pueden usarse para reducir el nmero de polticas factibles y por consiguiente el tiempo
requerido para completar la optimizacin.

9.2 PROGRAMACION ENTERA Y MIXTA ENTERA

Muchos problemas en la operacin, diseo, localizacin y programacin de una planta
involucran variables que no son continuas y toman valores enteros. Las variables de
decisin para las cuales hay una dicotoma instalar o no un nuevo equipo, por ejemplo
se llaman variables 0 -1. Otras variables enteras pueden se nmero reales 0, 1, 2, 3, etc.
Algunas veces se pueden tratar las variables enteras como si fueran continuas,
especialmente cuando tienen valores muy grandes y se redondea la solucin ptima al
valor entero ms cercano. Este paso conduce a una solucin subptima pero que es
bastante aceptable desde un punto de vista prctico. Sin embargo, cuando la respuesta
es un nmero como 1.3, hay menos confidencia en el redondeo. En esta seccin
ilustraremos algunos ejemplos de formulacin de problemas y su solucin en los cuales
una o ms variables se tratan como variables enteras. La mayora de los problemas de
programacin entera son por naturaleza inherentemente combinatorios, o sea, las
variables enteras en la funcin objetivo corresponden a combinaciones de n elementos
tomados m al tiempo de modo que el nmero de combinaciones a considerar es , o
corresponden a permutaciones de n elementos de modo que el nmero de posibilidades
es n!.

m
n
Primero clasificaremos los tipos de problemas que se encuentran en la
optimizacin con variables discretas. El caso ms general es la programacin entera
mixta (MIP) en la cual la funcin objetivo depende de dos conjuntos de variables x y y; x
es el vector de variables enteras y y expresa las variables continuas. SI solo se involucran
variables enteras (y
j
=0), se tiene una programacin de enteros (IP). Finalmente un caso
especial de programacin entera es la programacin entera binaria, donde todas las
variables son 0 o 1. Muchos problemas MIP son por naturaleza lineales en la funcin
objetivo y en las restricciones, y por consiguiente estn sujetos a la solucin por
programacin lineal. Estos problemas se denominan MILP.
253
Optimizacin de Procesos Qumicos
Algunas formulaciones de los problemas de programacin entera son las
siguientes (los nombres populares citados son los que usualmente se agregan al
problema)

1. El problema knapsack. Se tienen n artculos cada uno designado por x
i
; el peso
del artculo i es W
i
;y su valor es s
i
;. El problema es seleccionar los artculos de
modo que su peso total no sea mayor que W y su valor total sea un mximo.

Maximizar
i
n
i
i
s x f

=
=
1
) (x

Sujeto a x

=
n
i
i i
w x
1
i
=0, 1 i =1, , n

En la ltima restriccin, la variable binaria indica si un artculos x
i
; se
selecciona (x
i
; =1) o no (x
i
;i =0). El problema knapsack tiene diferentes
interpretaciones: (1) si un espacio dado se va a empacar con artculos de
diferente valor y volumen, el objetivo es escoger el empaquetamiento ms
costoso; o (2) si un artculo dado se va a dividir en porciones de diferente valor,
el objetivo es hallar la divisin ms valiosa del artculo.

2. El problema del agente viajero. El problema es asignar valores de 0 o 1 a las
variables x
ij
, donde x
ij
es 1 si el vendedor viaja de la ciudad i a la j y cero al
contrario. Las restricciones en el problema son que el viajero tiene que salir de
una ciudad en particular, visitar cada una de las otras ciudades solo una vez, y
retornar a la ciudad original. Algn costo (en este caso distancia) cij est
asociado con el viaje de la ciudad i a la j, y la funcin objetivo es minimizar el
costo total de los viajes a cada ciudad, o sea,


= = =
= =
n
i
i
T
i
n
i
n
j
ij ij
c c x f
1 1 1
) ( x x

Sujeto a las 2n restricciones

xij =0,1 i,j =1,.n 1
1
=

=
n
i
j i
x 1
1
=

=
n
j
j i
x
x
ij
=0, i = j

Donde c
T
= [c
i1
,..,c
in
] x
i
T
= [x
i1
,.x
in
]

Los dos tipos de restricciones de igualdad aseguran que cada ciudad se visita
una sola vez en cualquier direccin. Las restricciones de igualdad (las sumas)
indican que las sumas de todas las columnas de la matriz x (x
ij
) tiene que ser
la unidad; de igual manera la suma de las filas tiene que ser la unidad.
El problema tambin puede interpretarse como el procesamiento de n
artculos por tandas en un equipo que se reajusta entre el procesamiento de
las tandas i y j .
254
Optimizacin de Procesos Discretos y de Etapas

3. El problema de programacin de eventos. El problema es asignar valores
enteros a las variables x
ij
, sonde x
ij
es el tiempo donde arranca el trabajo i en
la mquina j, j =1,..,n. Dado el tiempo t
ij
que se demora completar la tarea i en
la mquina j, el problema es programar los trabajos en cada mquina de modo
que el tiempo para completar todos los trabajos sea un mnimo. Como (x
in
+t
in
)
es el tiempo en el cual la tarea i se completa en la mquina n, el mximo de
estos nmeros es el tiempo en el cual se completa la ltima tarea. Ese es el
tiempo que se va a minimizar. El criterio es

Minimizar ( )
n i n i
i
x t f + = max ) (x

Las restricciones en el problema son que un trabajo no puede procesarse en la
mquina n antes de que se haya completado en la mquina (n 1), y no puede
procesarse en la mquina (n - 1) antes de que se hay completado en la
mquina (n - 2) y as sucesivamente. Estas se llaman restricciones de
procedimiento. Otras restricciones pueden incluir lmites de tiempo en grupos
de mquinas y el intercambio de ciertas mquinas.

4. Localizacin de pozos de crudo (el problema de la localizacin de plantas), Se
supone que para un yacimiento existe una relacin especfica de produccin-
demanda versus tiempo. Se han designado varios sitios para nuevos pozos. El
problema es como seleccionar de los sitios de los pozos dados, el nmero de
pozos que se deben perforar, sus localizaciones, y la produccin de cada pozo
de modo que la diferencia entre la curva de demanda-produccin y la curva de
flujo obtenida se minimice. Las variables enteras son las identidades de los
pozos (0 =no perforado, 1 =perforado). Este problema est relacionado al
problema de localizacin de plantas y tambin al problema de cargo fijo

5. Problema de Mezclado. Se dan los posibles ingredientes de una lista que
contiene el peso y el anlisis de cada ingrediente. EL objetivo es seleccionar
de la lista de artculos y sus pesos de manera que se tenga un peso total
satisfactorio y un anlisis adecuado de la mezcla con un costo mnimo. Sea x
i

la cantidad de ingrediente disponible en cantidades continuas y y
k
representa
los ingredientes disponibles en cantidades discretas y
k
(y
k
=1 si se usa y y
k
=0
si no se usa). c
j
y d
j
son los costos respectivos de los ingrediente, y a
ij
y a
ik
son
las fracciones del componente i. El problema es


Minimizar

+
k
k k
j
j j
y d x c

Sujeto a
l
k
k k
j
j
W y v x +



u
k
k k
j
j
W y v x +



255
Optimizacin de Procesos Qumicos
l
i j i
k
k k
j
j j i
A a y v x a +



u
i j i
k
k k
j
j j i
A a y v x a +



j j
u x 0 para toda j

y
k
=(0, 1) para toda k

donde W
l
y W
u
son los lmites inferior y superior de los pesos, respectivamente, y A
l
y A
u

son los lmites inferior y superior del anlisis para el componente i, respectivamente.

Para ilustrar las caractersticas inherentes de los problemas de la programacin
entera consideraremos un problema muy sencillo, similar al del agente viajero planteado
anteriormente. Se quiere asignar corrientes a intercambiadores de calor y el costo (en
alguna manera) de hacerlo se da en la matriz

Nmero del intercambiador

21 81 74 11
76 8 88 73
82 88 10 74
68 54 1 94
4 3 2 1
D
C
B
A
Corriente
(9.4)

Cada elemento en la matriz representa el costo de transferir la corriente i al
intercambiador j. Cmo puede minimizarse el costo si cada corriente va a un solo
intercambiador?
Escribamos primero el enunciado del problema. El nmero total de corrientes es 4.
c
ij
representa el elemento de la matriz de costo, que es el costo de asignar la corriente i al
intercambiador j. Se tiene entonces el siguiente problema de programacin entera:


Minimizar

= = =
= =
n
i
i
T
i
n
i
n
j
ij ij
c c x f
1 1 1
) ( x x

1
1
=

=
n
i
j i
x i =1,.n


1
1
=

=
n
j
j i
x j =1,.n

xij =0,1 i,j =1,.n

256
Optimizacin de Procesos Discretos y de Etapas
Para la matriz de ejemplo, se pueden detectar los lmites superior e inferior del costo. AL
calcular la suma de los costos mximos y mnimos de cada columna se obtiene

Lmite superior =94 +88 +88 +82 =352

Lmite inferior =11 +1 +8 +21 =41

Pero ninguno de estas asignaciones es factible porque para el lmite superior la corriente
B se asigna a dos intercambiadores y para el lmite inferior la corriente D tambin se
asigna a dos intercambiadores. Este ejemplo se resolver sin enumeracin completa. A
continuacin veremos como reducir la escala de los clculos requeridos de modo sin que
tengan que considerarse todos los posibles ptimos.
Lo que hace que los problemas de programacin de enteros sean difciles de
resolver es su complejidad computacional. Las direcciones de bsqueda no tienen ningn
significado en este tipo de problemas. Algunos problemas que parecen muy fciles
superficialmente pueden tomar horas de tiempo de computador sin que alcancen la
optimalidad. Para este ejemplo 4! =24 posibles asignaciones. El nmero de vectores
enteros que pudiera producir una solucin factible a un problema de programacin entera
limitada crece exponencialmente con n (al menos para problemas de programacin entera
lineal) y se ha demostrado por experimentos que el esfuerzo computacional aumenta con
el cuadrado del nmero de variables enteras para muchos tipos de problemas. De este
modo la enumeracin completa no es una herramienta prctica aun para problemas de
tamao moderado.
Puede ser atractivo usar algoritmos para variables continuas (tales como PL) y
luego redondear o truncar hasta obtener los valores enteros. Sin embargo, esto puede se
totalmente insatisfactorio y a menudo engaoso. Supongamos que las siguientes
restricciones de desigualdad limitaran cuando se este resolviendo un problema continuo
por programacin lineal

-x1 +x2 3.5

x1 +x2 10.5


La solucin (x
1
=3.5, x
2
=7) tiene la propiedad que cuando x
1
se redondea o se trunca, se
viola una de las restricciones. Hay procedimientos para acomodar variables enteras y
continuas; sin embargo hay que ser cuidadoso con el uso de estos algoritmos para
problemas de programacin entera mixta.

9.2.1 Enumeracin Implcita

Un algoritmo de enumeracin implcita comprende una bsqueda coordinada estructurada
heursticamente del espacio de todas las soluciones posibles. La estrategia involucrada es
simplemente buscar en las varias combinaciones posibles de las variables discretas de
una manera dada para eliminar ciertos conjuntos de soluciones al problema. De este
modo se puede obtener una solucin ptima sin una enumeracin completa de todas las
soluciones posibles.
En primer lugar se resuelve el problema del intercambiador de calor descrito por la
matriz (9.4) por enumeracin implcita para ilustrar las ideas bsicas, Este problema es
bastante sencillo porque no contiene restricciones de desigualdad. El problema consiste
257
Optimizacin de Procesos Qumicos
en asignar n corrientes a n intercambiadores de calor, y a cada intercambiador de calor se
le asigna una corriente diferente.
La estrategia general es como sigue. Se forman cuatro ramas iniciales al asignar
diferentes corrientes al intercambiador 1. Se evala la funcin objetivo del subproblema 1,
y el valor de f(x) de la primera solucin factible hallada se usa como el lmite de referencia
superior. Asignaciones adicionales producen otros valores de f(x) y el lmite de referencia
superior se reduce cuando se encuentran mejores valores de los nuevos subproblemas.
Los lmites inferiores de f(x) se evalan para los subproblemas al escoger asignaciones
de corrientes con el menor costo, y estos lmites inferiores, aunque sean para soluciones
no factibles, pueden usarse para descartar algn subproblema de posterior consideracin
si los lmites inferiores exceden el lmite de referencia superior de f(x). El procedimiento
contina hasta que no se pueda hallar una solucin factible que tenga un valor de la
funcin objetivo menor que el lmite superior de referencia ms reciente.
La figura 9.4 bosqueja algunos de los subproblemas a resolver en la forma de un
rbol con ramas. Con cuatro variables libres, el primer nivel de decisiones involucra cuatro
posibles ramas a cuatro nodos. Despus de asignar una variable, tres variables libres
existen de modo que en el siguiente nivel inferior, ocurren tres posibles ramas, y as
sucesivamente. Naturalmente, no todas las ramas producen soluciones factibles. En cada
nodo el nmero designa el intercambiador y la letra la corriente, y un subrayado designa
una corriente fija. Por ejemplo 1-A significa que al intercambiador 1 se le asigna la
corriente A; a los otros intercambiadores se les puede asignar las varias corrientes que
quedan.
Comenzamos (arbitrariamente) con la asignacin del intercambiador 1 a la
corriente A. Para la asignacin de menor costo, se podra continuar asignando el
intercambiador 2 a la corriente A. Sin embargo, la corriente A ya est asignada, de modo
que se escoge el prximo mejor costo, y se asigna B al intercambiador 2, la corriente C se
asigna a 3 y D al 4, siendo ambas los menores costos en las respectivas columnas de la
matriz (9.4). De este modo la solucin al subproblema en el primer nodo es factible con
f(x) =133 que pasa a ser el lmite superior de referencia.
A continuacin (arbitrariamente) comenzamos con 1-B y asignamos los menores
costos dando 2 - A, 3 - C y 4 - D para conseguir una solucin factible con f =104 que se
convierte en el nuevo lmite superior (nodo 2). Supongamos que regresamos y miramos a
la asignacin que comienza con 1 - A y asignamos cada corriente a un intercambiador
que da el menor costo aun si la solucin no es factible, a saber 1 - A, 2 - A, 3 - C, 4 - D,
para la cual f =124 (nodo 3). La solucin no factible tiene un lmite inferior mayor que f =
104, por consiguiente no hay combinacin factible o no factible, que comience con 1 - A
que produzca un valor de f(x) 104. Por tanto todas las posibles combinaciones de
corrientes con intercambiadores que comiencen con 1 - A se pueden omitir de posterior
consideracin porque son inferiores al nodo 2.
A continuacin arrancamos con 1 - C, y asignamos las corrientes usando el menor
costo cuando sea posible, dando una solucin factible de f =183. Este nodo es inferior al
nodo 2. Se puede crear un nuevo nodo con 1 - C pero asignando el intercambiador de
menor costo sin considerar la factibilidad (nodo 5). El costo f =103 no es factible pero
258
Optimizacin de Procesos Discretos y de Etapas
representa un nuevo lmite inferior de f. Finalmente asignamos 1 - D



Figura 9.4 El procedimiento de rama y lmite para la matriz (9.4)


y asignamos el resto de los intercambiadores a corrientes, en cada caso usando el menor
costo para obtener 1 - D, 2 - A, 3 - C y 4 - B con f =102 (nodo 6). Esta asignacin es
factible, es un lmite inferior en f y tambin el nuevo lmite superior de referencia. Por
tanto, no tenemos que considerar ninguna rama del rbol que comience con 1 - A o 1 - B
porque se han usado los menores costos de cada asignacin. Tambin se pueden omitir
todas las asignaciones que comiencen con 1 - C porque el nodo 5 no es factible y tiene un
mayor costo que el nodo 6.
La figura 9.4 muestra que al usar los lmites como criterio, es posible excluir
secciones del rbol de bsqueda del ptimo. En el lmite la enumeracin parcial podra
involucrar enumeracin completa, pero en la prctica ms o menos dos tercios de los
subproblemas pueden eliminarse de consideracin. En este ejemplo haba 24
asignaciones posibles pero solo se evaluaron seis casos explcitamente.
En el anterior ejemplo, decimos que un nodo se ha excluido (fathomed) cuando se
descartan ramificaciones adicionales de ese nodo (por ejemplo, el nodo 3 en la figura 9.4)
Por consiguiente subramas adicionales (y nodos) se han enumerado implcitamente.
Despus de excluir una solucin parcial por no ser factible, se puede retroceder a otros
nodos y sus ramas. Este procedimiento ser til para problemas de programacin entera
mixta, como se ver ms adelante.

259
Optimizacin de Procesos Qumicos
9.2.2 La Tcnica de Rama y Lmite

Esta tcnica se puede aplicar a programacin entera mixta y a problemas generales de
programacin entera. Usa un mtodo de particin para las variables independientes para
dividir todas las posibles soluciones factibles en subconjuntos y busca secuencialmente la
solucin ptima en los subconjuntos ms prometedores. El concepto bsico del empleo
de particiones es que la mayora de las soluciones factibles pueden enumerarse
implcitamente y solo unas pocas necesitan enumerarse explcitamente. El anlisis de
rama y lmite es un procedimiento general, y la enumeracin implcita que se discuti en la
seccin anterior es un caso especial del procedimiento de rama y lmite.
El trmino rama se deriva del concepto de agregar restricciones sucesivamente a
las variables independientes del problema. La particin de una variable entera x
a
en dos
ramas involucra seleccionar una rama que sea mayor o igual a algn valor entero,
mientras que la otra rama considera a x
a
menor que ese valor entero. La limitacin ocurre
porque cada solucin del subproblema forma un lmite en el valor de la funcin objetivo.
Con la adicin de restricciones ms estrictas en la variable entera (ramificacin), se sabe
que el valor de la funcin objetivo para el subproblema no puede mejorar, por
consiguiente ciertas ramas pueden eliminarse de consideracin (o implcitamente
enumeradas) de la bsqueda del ptimo.
El procedimiento de rama y lmite comprende los siguientes pasos:

1 Obtener la solucin continua (no entera) del problema; designar este problema
como C

2 La solucin C satisface todos los requisitos enteros? Si los satisface, se finaliza
el problema, si no se pasa al paso 3.

3 Por medio de una revisin de la solucin al problema C se selecciona una
variable entera que tenga un valor no entero (digamos ) Considere el valor de
x
a
, , como un nodo de partida. Construya dos nodos que se ramifican de al
agregar restricciones:
(a) x
a
el menor entero mayor que .
(b) x
a
el mayor entero menor que .
Llame al problema con las restricciones agregadas C
1
y C
2
. A continuacin
resuelva el problema continuo para C
1
o C
2
, digamos C
1
. A la otra rama se
retorna despus.

4 Revise la solucin a C
1
, y ramifique en una nueva variable x
b
usando dos
particiones como en el caso anterior. Seleccione la rama que parece ms
prometedora para el siguiente problema a resolver. Puede ser necesario
ramificar en x
a
de nuevo si las soluciones posteriores as lo requieran. Contine
ramificando en las variables enteras hasta que ocurra una de las tres cosas
siguientes:
(a) Se obtiene una solucin que satisface todas las restricciones enteras (esto
puede exigir que se fijen todas las variables a valores enteros).
(b) La funcin objetivo para una solucin de un subproblema es inferior a
cualquier solucin obtenida previamente que satisfaga.
(c) No se encuentra una solucin factible
En cualquier caso este nodo terminal se excluye.

260
Optimizacin de Procesos Discretos y de Etapas
5 A continuacin se retrocede a un nodo anterior de la misma rama, use la
restriccin alterna y resuelva el subproblema de optimizacin. Evale las
soluciones de los subproblemas como nodos adicionales en el paso 4. Una vez
que se excluya una rama, retroceda hasta que finalmente se llegue a la solucin
original (nodo 1). Registre el mejor valor de la rama analizada para compararlo
con otras soluciones.

Se contina de esta manera hasta que todas las combinaciones posibles de enteros
se han impuesto sobre el problema o se han excluido, Como decidir sobre cual lmite se
debe cambiar en un nodo, y de este modo determinar cual secuencia de nodos se debe
seguir en la optimizacin depende del problema. El sentido comn y en algunos casos la
suerte dictan una ramificacin eficiente.
Para el caso de problemas lineales solamente (MILP) y problemas de programacin
de enteros (IP) en el primer paso se resuelve el MILP por medio de programacin lineal
suponiendo que todas las variables son continuas (Hillier and Lieberman, 1986). Casi
siempre el ptimo calculado contiene algunos valores no enteros para algunas variables
que debieran ser enteras. De este modo la solucin de PL no es ptima pero da un lmite
inferior en la funcin objetivo en un problema de minimizacin (lmite superior en el caso
de maximizacin. Se puede usar el ptimo global para un MILP por medio del anlisis de
rama y lmite.


EJEMPLO 9.2 ANLISIS DE RAMA Y NODO DE IP

Maximizar f =86x
1
* 4x
2
+40x
3


Sujeto a 774 x
1
+76 x
2
+42 x
3
875

67 x
1
+27 x
2
+53 x
3
875

x
1
, x
2
, x
3
=0, 1

La figura E9.2 muestra la secuencia de decisiones para este problema. Una descripcin del anlisis de la
ramificacin para cada nodo es como sigue:

Nodo 1. Resuelva el problema de PL con todas las variables 1, dando un valor fraccionario de x
2
.

Nodo 2. Fije x
2
=1.0, porque tiene un valor fraccionario en el nodo 1, y resuelva de nuevo el
problema de PL (la rama alterna con x
2
=0.0 se examinar posteriormente)

Nodo 3. Como x
1
tiene un valor no entero fjelo tambin en 1.0; resuelva el problema de PL.

Nodo 4. Como x
3
es la variable entera que queda por examinar, fjela en cero porque x
3
=1.0, no
es una solucin factible (viola la primera restriccin). Esta es la primera solucin factible y el valor de f es 90.
Sin embargo, no sabemos si es la ptima.

Nodo 5. Retroceda del nodo 4 al nodo 2 y cambie x
1
a cero que es el valor alterno del nodo 3. Como
f (=44) es menor que f en el nodo 4, no se necesita considerar otras ramas del nodo 5 (es excluido).

261
Optimizacin de Procesos Qumicos
Nodo 6. Retrocedemos a la rama original del nodo 1 y hacemos x
2
=0.0; la solucin por PL da un
mayor valor de que el nodo 4 y en realidad es una solucin entera. Por tanto, combinaciones adicionales de
x
1
, x
2
, y x
3
no mejorarn la solucin. Por consiguiente se ha encontrado el ptimo.
Note que si en la figura 9.2 se hubiera ramificado primero al nodo 6 (por suerte), se hubieran tenido que
examinar menos nodos.


EJEMPLO 9.3 APLICACIN DEL PROCEDIMIENTO DE RAMA Y LIMITE

En este ejemplo se tienen dos unidades en una planta, No 1 y No 2, que fabrican los productos 1 y 2,
respectivamente, de los alimentos mostrados en la figura E9.3a. La unidad 1 tiene una capacidad mxima de
8000 lb/da y la unidad 2 de 10000 lb/da. Para hacer 1 lb del producto 1 se requiere de 0.4 lb de A y




Figura E9.2 Anlisis de ramay-lmite con seis modos, programa lineal entero.



0.6 lb de B; para hacer 1 lb del producto 2 se requiere de 0.3 lb de B y 0.7 lb de C. Se dispone de un mximo
de 6000 lb/da de B. Suponga que el ingreso neto despus de gastos para la produccin del producto 1 es de
$0.16/lb y para el producto 2 es de $0.20/lb. Cunto producto 1 debe producirse por da, y cunto de 2,
suponiendo que cada uno debe fabricarse en tandas de 2000 lb?

262
Optimizacin de Procesos Discretos y de Etapas
Se puede formular el problema de optimizacin como sigue:

Maximizar f(x) =0.16 x
1
+0.20 x
2
(a)

Sujeto a x
1
8000 (b)

x
2
10000 (c)

0.6 x
1
+0.3 x
2
6000 (d)

x
1
, x
2
0 (e)

x
1
=0, 2000, 4000, 6000, 8000 (f)
x
2
=0, 2000, 4000, 6000, 8000, 10000 (g)





La figura E9.3b muestra la regin factible (los nodos de la interseccin de la grilla representan la regin
factible para los enteros x
1
,y x
2
) y algunos contornos de la funcin objetivo.

263
Optimizacin de Procesos Qumicos



Se quiere evitar la bsqueda en cada nodo que comprende la regin factible. Donde comenzamos?
Se puede relajar la suposicin que x
1
,y x
2
son enteros especficos y resolver el problema de programacin
lineal resultante para alcanzar la vecindad del ptimo. La bsqueda subsiguiente arranca del nodo ms
cercano (Esta escogencia del punto de partida no es garanta de ser la mejor pero la solucin de PL coloca un
lmite superior en el valor de f(x) para maximizacin) La solucin de PL del problema relajado es el punto A en
la figura 9.3b, donde x
1
=5000 lb/da, x
2
=1000 lb/dia, y f(x) =$2800. Los puntos ms factibles para la
solucin del problema entero son B o C, uno de estos parece dar el mximo para f(x). Despus de los
clculos

264
Optimizacin de Procesos Discretos y de Etapas



Figura E9.3c. Anlisis de rama y lmite. Ejemplo 9.3. (l =lmite inferior, u =lmite superior)



f(x
B
) =$2640

f(x
C
) =$2560

por tanto x
B
es la solucin del problema entero.
Ahora procedemos a la misma solucin por medio de un anlisis de rama y lmite.
El Problema 1 est compuesto de de la ecuaciones (a) a (g). Se agregan las siguientes restricciones
a las variables enteras x
1
y x
2
:

0 x
1
8000 (h)

0 x
2
10000 (i)

y comenzamos a resolver un nuevo problema compuesto de (h) e (i) agregados a (a) hasta (e). Para ahorrar
clculos en este ejemplo, utilizaremos el sentido comn y reduciremos los lmites inferiores a

4000 x
1
8000 (h)

6000 x
2
10000 (i)

La solucin al problema 1 por PL es x =[5000 10000] un punto no factible para el problema entero. La figura
E9.3c muestra el rbol para el procedimiento de rama y lmite. Con dos variables libres, existen dos ramas
para cada nodo, pero no hay rama si los lmites son estrictos.
265
Optimizacin de Procesos Qumicos
El rbol consiste de vrtices indicados por crculos y bordes que conectan los crculos. Los nmeros
en los crculos muestra la secuencia de eventos de la bsqueda. Las ramas del lado izquierdo muestran
aumentos en los lmites inferiores mientras que las ramas del lado derecho muestran descensos en los lmites
superiores de las variables. Solo se hace un cambio en un lmite de una variable por vez. Por ejemplo, del
nodo 1 el problema original se modifica (arbitrariamente) al nodo 2 al disminuir los lmites superiores de x
1
.
Despus hay que decidir si se procede a la rama izquierda del nodo 1 o se contina ramificando en el nodo 2.
Para el propsito de la ilustracin, supongamos que se baja una vez ms el lmite superior en x
1
a 4000 (nodo
3), luego se eleva el lmite inferior de x
2
a 8000 (nodo 4)el lmite en x
1

no puede elevarsey luego a 10000 y as sucesivamente como se muestra en la figura E9.3c. f(x) se evala
en cada nodo (subproblema) ya que seguimos utilizando un cdigo de PL.
Los nodos 1 y 2 no producen soluciones factibles de modo que el nodo 3 es la primera solucin
factible con f(x) =$2640, un valor que se convierte en el valor de referencia inferior (recuerde que estamos
maximizando). Note que detenemos la ramificacin en los nodos 5 y 6 porque los lmites inferior y superior
son idnticos. La ramificacin se detuvo en el nodo 7 porque f(x) en el nodo 7 es menor que nuestro mejor
lmite en f(x) en el rbol, calculado en el nodo 3 de $2640 y cualquier endurecimiento de las restricciones en
x
2
no aumentar f(x). En este punto el mejor valor de f(x) es $2640. AL retroceder en el rbol del nodo 7 al
nodo 2 y posteriormente al nodo 8, se encuentra que f(x) en el nodo 8 es menor que $2640 y no se contina
ramificando en el nodo 8. Una vez ms se retrocede al nodo 9 para el cual f(x)<$2640. De este modo, la
solucin al problema enteros es x =[4000 10000]T y f(x) =$2640 en el punto B.


EJEMPLO 9.4 SELECCIN DE PROYECTO EN MANUFACTURA

Una instalacin para la fabricacin de microelectrnicos est considerando mejoras en las operaciones y
tambin la rentabilidad, Sin embargo, no todos estos proyectos pueden implementarse debido a limitaciones
de los gastos y a restricciones de personal en la seccin de ingeniera. La siguiente tabla da el costo
proyectado, personal requerido y datos de rentabilidad para cada proyecto.

Proyecto Descripcin Gasto del
primer ao
Gasto del
segundo ao
Horas de
Ingeniera
Valor
presente neto

1




2


3


4


5



6

Modificar la lnea de
produccin existente
con nuevos
grabadores

Construir nueva
lnea de produccin

Automatizar nueva
lnea de produccin

Instalacin de la
lnea de plateado

Construir la planta
de recuperacin de
residuos

Subcontratar la
eliminacin de
residuos

$300000




$100000


0


$50000


$50000



$100000



0




$300000


$200000


$100000


$300000



$200000



4000




7000


2000


6000


3000



600

$100000




$150000


$35000


$75000


$125000



$60000

Las limitaciones de recursos son:

Gasto del primer ao: $450000
Gasto del segundo ao $400000
Horas de Ingeniera: 10000

266
Optimizacin de Procesos Discretos y de Etapas
Se debe proporcionar una nueva o una modernizada lnea de produccin (proyecto 1 o 2). La
automatizacin solo es factible para la nueva lnea. Se puede seleccionar el proyecto 5 o el 6, pero no ambos.
Determine que proyectos maximizan el valor presente neto sujeto a las varias restricciones.

Solucin. Defina las variables como x
j
,
j
=1, 2, .. 6, donde x
j
=1 indica que el proyecto j se selecciona y x
j
=
0 indica que el proyecto
j
se omite. La funcin objetivo a maximizar es

f =100000x
1
+150000x
2
+35000x
3
+75000x
4
+125000x
5
+60000x
6
(a)

Sujeto a las siguientes restricciones:

Gasto del primer ao:

g1 = 300000x
1
+100000x
2
+0x
3
+50000x
4
+50000x
5
+100000x
6
450000 (b)

Gasto del segundo ao

g
2
= 0x
1
+300000x
2
+200000x
3
+100000x
4
+300000x
5
+200000x
6
400000 (c)

Horas de ingeniera:

g
3
= 4000x
1
+7000x
2
+2000x
3
+6000x
4
+3000x
5
+600x
6
10000 (d)

Se necesita de la lnea de produccin

g
4
= x
1
+ x
2
1 (e)

La automatizacin solo es justificable con una nueva lnea

g
5
= x
2
x
3
0 (f)

La opcin de la recuperacin de residuos

g
6
= x
5
+ x
6
1 (g)

El anlisis de rama y lmite comienza con la solucin del problema de PL sin restricciones enteras en las
variables, con el siguiente resultado:
x
1
=0.88, x
2
=0.12, x
3
=0.12, x
4
=0.4, x
5
=1.0 x
6
=0 y f =$265000. Note que varias variables no son enteras.
Basado en este resultado, fijamos x
1
=1 y ramificamos usando la variable x
4
. El anlisis de rama y lmites se
realiz con el software LINDO (Schrage, 1984). La solucin entera final (la ptima es:
x
1
=1, x
2
=0, x
3
=0, x
4
=0, x
5
=1, x
6
=0, f =$225000. Esto indica que el proyecto 2 con el mayor valor
presente neto no se selecciona por las restricciones del problema. Note que la primera solucin no entera
alcanza un mayor valor entero que la solucin entera ptima, un resultado esperado.


9.2.3 Algoritmos de Programacin Entera-Mixta No Lineal

La mayora de las tcnicas que se han propuesto para la optimizacin discreta no lineal
estn centradas alrededor de uno o ms de los siguientes cinco conceptos bsicos: (1)
redondear el ptimo continuo (2) adaptacin de tcnicas de programacin no lineal (3)
aproximacin lineal (4) representacin binaria de las variables (5) bsqueda directa. La
efectividad relativa de cada tcnica depende del problema y no hay un solo procedimiento
que pueda considerarse que tenga una ventaja uniforme sobre los otros, o aun que se
pueda considerar generalmente efectivo.
En la prctica el enfoque ms comn para resolver los problemas no lineales de
valor discreto ha sido tratar las variables como continuas. Despus de determinar el
ptimo continuo por uno de los mtodos descritos en captulos anteriores, se selecciona
un conjunto de valores de las variables discretas cercanas al punto ptimo con las
267
Optimizacin de Procesos Qumicos
variables continuas. El punto seleccionado puede que no represente el punto discreto y
puede ser engaoso, pero frecuentemente representa una solucin adecuada para
propsitos prcticos.
En el segundo mtodo los problemas no lineales con valores discretos se tratan
como problemas no lineales de variables discretas en los cuales el carcter discreto de
las variables es una de las restricciones. En el tercer enfoque, la programacin lineal se
usa conjuntamente con la programacin entera con la linealizacin de las funciones no
lineales. El cuarto enfoque involucra la transformacin de una funcin no lineal en una
funcin polinmica de variables binarias y luego se transforma la funcin polinmica en
una funcin de variables binarias.
En cuanto al ltimo enfoque, las tcnicas de bsqueda discreta no han demostrado
que sean particularmente confiables. El mtodo ms comnmente usado es el bsqueda
por secciones de (Beveridge and Schecter, 1970) se conoce como ineficiente u no puede
hallar un ptimo local si encuentra una cresta o un valle pronunciados en la superficie de
las funcin objetivo. De los varios mtodos, solo el de rama y lmite ha sido incorporado
en cdigos comerciales en los ltimos 20 aos, pero aun as tiene limitaciones. En
pruebas de cdigos de programacin de enteros los mtodos de rama y lmite y el de
planos cortantes parecen ser los mejores. Crowder et al. (1983) reportan que problemas
de gran escala de MIP 0-1 pueden resolverse por una combinacin de un procesamiento
previo del problema, tcnicas inteligentes de rama y lmite y planos cortantes.
En conclusin, un nmero de tipos de programacin entera pueden resolverse por
cdigos especializados de computador. Los problemas con pequeas dimensiones
pueden resolverse por tcnicas enumerativas como las de rama y lmite. Pero a menudo
los problemas que son superficialmente manejables por la programacin entera no
pueden resolverse en una cantidad razonable de tiempo. En algunos casos, una
formulacin matemtica puede conducir a una solucin rpida mientras que otra
formulacin del mismo problema fsico puede resultar en una ejecucin muy lenta. El
conocer cuando y como evitar formulaciones incorrectas del problema requiere de
considerable habilidad en la programacin de enteros

REFERENCIAS

Bellman, R.E., Dynamic Programming, Princeton University Press, Princeton, New J ersey (1957)
Bellman, R.E., y S. E. Dreyfus, Applied Dynamic Programming, Princeton University Press, Princeton, New
J ersey (1957)
Beveridge, . S, and R. S. Schechter, Optimization: Theory and Practice, McGraw-Hill (1979)
Crowder, H., E. l: J onson, y M.W. Padberg, Solving Large Scale Zero-One Linear Programming Problems,
Oper. Res., 31: 803, 1983
Hillier,F.S., and G. J . Lieberman, Introduction to Operations Research, 4
th
edition, Holden-Day, p582, (1986)
Morin T. L., Computational Advances in Dynamic Programming. Dynamic Programming and its Applications
(ed. M. L: Puterman, Academic Press, 53, (1978)

PROBLEMAS

9.1 Se le ha pedido para propsitos de planeacin determinar las reas ptimas de los intercambiadores de
calor para la secuencia de tres intercambiadores mostrados en la figura P9.1

Datos:
Intercambiador Coeficiente Global de
Transferencia de
Calor, U,
BTU/(h)(pie
2
)(F)
Area requerida
Pie
2
Flujo de Calor (Duty)
BTU/h
1
2
3
U
1
=120
U
2
=80
U
3
=40
A
1
A
2
A
3
Q
1
Q
2
Q
3
268
Optimizacin de Procesos Discretos y de Etapas

wCp =10
5
Btu/h/F

9.2 Cuatro corrientes se van a signar a cuatro extractores. Los costos de cada corriente son


Extractor

Corriente 1 2 3 4

1
2
3
4

45
27
19
3

P
2
55
10

5
82
3
4

56
74
P
84
El smbolo P indica que la transferencia es prohibida. Minimizar los costos totales.
269