Vous êtes sur la page 1sur 303

PROGRAMACIN MATEMTICA:

Mtodos de optimizacin

Begoa Vitoriano

bvitoriano@mat.ucm.es

www.mat.ucm.es/~bvitoria

Andrs Ramos

Andres.ramos@iit.icai.upcomillas.es

http://www.iit.upcomillas.es/~aramos

Facultad CC. Matemticas, Universidad Complutense, Pza. Ciencias 3, 28040 Madrid http://www.mat.ucm.es
NDICE
I. OPTIMIZACIN LINEAL ................................................................ 1

I.1. INTRODUCCIN ....................................................................................................... 1


I.2. SOLUCIN GRFICA ................................................................................................ 2
I.3. GEOMETRA DE LA PROGRAMACIN LINEAL............................................................ 3
I.4. MTODO SIMPLEX ................................................................................................... 5
I.4.1. Problema de maximizacin.......................................................................... 18
I.4.2. Mltiples ptimos......................................................................................... 19
I.4.3. Convergencia del algoritmo......................................................................... 19
I.4.4. Variables acotadas superiormente............................................................... 20
I.4.5. Forma tabular .............................................................................................. 20
I.4.6. Solucin bsica factible inicial .................................................................... 24
I.4.7. Mtodo simplex revisado ............................................................................. 30
I.4.8. Forma producto de la inversa...................................................................... 31
I.4.9. Factorizacin de la matriz base................................................................... 35
I.4.10. Estrategias de clculo de costes reducidos................................................ 37
I.5. DUALIDAD ............................................................................................................ 38
I.6. ANLISIS DE SENSIBILIDAD ................................................................................... 53
I.6.1. Cambios en cotas de restricciones............................................................... 56
I.6.2. Cambio en un coeficiente de una variable no bsica .................................. 58
I.6.3. Introduccin de una nueva variable ............................................................ 58
I.6.4. Cambio en un coeficiente de una variable bsica ....................................... 59
I.6.5. Introduccin de nueva restriccin ............................................................... 59
I.7. MTODO SIMPLEX DUAL ....................................................................................... 59
I.8. PROGRAMACIN LINEAL PARAMTRICA ................................................................ 64
I.8.1. Cambios simultneos en coeficientes de la funcin objetivo....................... 64
I.8.2. Cambios simultneos en cotas de las restricciones ..................................... 65
I.9. MTODO DE PUNTO INTERIOR PRIMAL-DUAL ........................................................ 65
I.10. REFERENCIAS ...................................................................................................... 74
I.11. BIBLIOTECA DE PROBLEMAS ............................................................................... 75
I.12. RESULTADOS DE LA BIBLIOTECA DE PROBLEMAS ................................................ 96

19/02/2010 i
II. OPTIMIZACIN LINEAL ENTERA MIXTA ...................................113

II.1. RESOLUCIN POR MTODOS HEURSTICOS ..........................................................113


II.2. MTODO DE RAMIFICACIN Y ACOTAMIENTO ....................................................114
II.3. MTODO DE PLANOS DE CORTE ..........................................................................120
II.4. MTODO DE RAMIFICACIN Y CORTE .................................................................122
II.5. PREPROCESO Y REFORMULACIN .......................................................................122
II.5.1. Preproceso general ...................................................................................123
II.5.2. Preproceso mixto 0-1 y reformulacin .....................................................126
II.6. REFERENCIAS .....................................................................................................129
II.7. BIBLIOTECA DE PROBLEMAS ..............................................................................129
II.8. RESULTADOS DE LA BIBLIOTECA DE PROBLEMAS ...............................................133
III. OPTIMIZACIN NO LINEAL ...................................................135

III.1. CLASIFICACIN DE PROBLEMAS DE PROGRAMACIN NO LINEAL .......................135


III.2. EXPANSIN EN SERIE DE TAYLOR .....................................................................139
III.3. OPTIMIZACIN NO RESTRINGIDA.......................................................................140
III.3.1. Condiciones de optimalidad ....................................................................141
III.3.2. Funciones unidimensionales....................................................................143
III.3.3. Funciones multidimensionales.................................................................145
III.4. OPTIMIZACIN RESTRINGIDA ............................................................................152
III.4.1. Lagrangiano y multiplicadores de Lagrange ..........................................153
III.4.2. Condiciones de optimalidad de Karush-Kuhn-Tucker ............................155
III.4.3. Transformacin de un problema no lineal con restricciones lineales de
igualdad en uno sin restricciones ........................................................................159
III.4.4. Mtodos de programacin no lineal (NLP).............................................166
III.4.5. Resumen de mtodos de optimizacin no lineal ......................................174
III.5. REFERENCIAS ...................................................................................................175
III.6. BIBLIOTECA DE PROBLEMAS .............................................................................176
III.7. RESULTADOS DE LA BIBLIOTECA DE PROBLEMAS ..............................................182
IV. OPTIMIZACIN ESTOCSTICA ..............................................195

IV.1. ESTOCASTICIDAD..............................................................................................195
IV.2. OPTIMIZACIN LINEAL BIETAPA Y MULTIETAPA ...............................................207
IV.3. OPTIMIZACIN LINEAL ESTOCSTICA BIETAPA .................................................209

ii 19/02/2010
IV.4. OPTIMIZACIN LINEAL ESTOCSTICA MULTIETAPA .......................................... 210
IV.5. REFERENCIAS ................................................................................................... 212
V. PROGRAMACIN DINMICA .................................................... 217

V.1. INTRODUCCIN .................................................................................................. 217


V.2. PRINCIPIO DE OPTIMALIDAD DE LA PROGRAMACIN DINMICA O DE BELLMAN 220
V.2.1. Un ejemplo introductorio.......................................................................... 221
V.2.2. Otro ejemplo: Planificacin de la expansin de la generacin ............... 228
V.2.3. Modelos de asignacin ............................................................................. 230
V.2.4. Caminos ptimos sobre redes valoradas sin circuitos ............................. 240
V.2.5. Procesos polietpicos aleatorios de decisin ........................................... 243
V.2.6. Control ptimo de sistemas lineales ......................................................... 245
V.3. BIBLIOTECA DE PROBLEMAS .............................................................................. 248
V.4. RESULTADOS DE LA BIBLIOTECA DE PROBLEMAS .............................................. 253
VI. PROGRAMACIN MATEMTICA MULTICRITERIO................. 259

VI.1. INTRODUCCIN: CONCEPTOS BSICOS ............................................................. 259


VI.1.1. Conceptos bsicos ................................................................................... 260
VI.1.2. Un ejemplo bsico ................................................................................... 264
VI.2. MTODOS DE OPTIMIZACIN MULTIOBJETIVO .................................................. 266
VI.2.1. Mtodo de las ponderaciones [Zadeh, 1963].......................................... 266
VI.2.2. Mtodo de las -restricciones [Marglin, 1967]....................................... 270
VI.3. MTODOS DE DECISIN MULTICRITERIO CONTINUOS........................................ 272
VI.3.1. Programacin compromiso ..................................................................... 272
VI.3.2. Mtodos satisfacientes: programacin por metas................................... 275
VI.3.2.1. Variantes de la programacin por metas................................................................................... 277
VI.3.2.1.1. Programacin por metas ponderadas ............................................................................... 277
VI.3.2.1.2. Programacin por metas MINIMAX o Tchebychev........................................................ 278
VI.3.2.1.3. Programacin por metas lexicogrficas ........................................................................... 279
VI.3.2.2. Temas crticos en programacin por metas .............................................................................. 280

VI.3.3. Obtencin de preferencias mediante programacin por metas .............. 285


VI.4. REFERENCIAS ................................................................................................... 287
VI.5. EJEMPLOS Y PROBLEMAS ................................................................................. 289
VI.6. RESULTADOS DE LOS EJEMPLOS Y PROBLEMAS ................................................ 291

19/02/2010 iii
MTODOS DE OPTIMIZACIN

I. Optimizacin lineal

I.1. Introduccin

La programacin lineal (LP) es la aplicacin clsica por excelencia y la ms


desarrollada de la optimizacin. En cada momento se estn ejecutando miles de
aplicaciones basadas en LP. Los modelos de LP son ms utilizados que todos los otros
tipos de optimizacin juntos. Abarcan cualquier tipo de actividad humana como
economa, finanzas, marketing, organizacin de la produccin, planificacin de la
operacin, seleccin de procesos, asignacin de tareas, etc. Su importancia se debe a la
existencia de tcnicas potentes, estables y robustas para encontrar el ptimo que han
permitido su uso en multitud de aplicaciones.

Sea el siguiente problema de programacin lineal genrico en forma estndar o


cannica:

min z = c j x j
xj
j

a x
j
ij j = bi (1.1)

xj 0

Las variables reciben tambin el nombre de actividades, decisiones o columnas. Las


restricciones se denominan tambin recursos o filas.

La programacin lineal se sustenta en las siguientes hiptesis sobre las ecuaciones y


variables que conforman el problema matemtico:
Proporcionalidad
La contribucin de cada actividad (variable) x j al valor de la funcin objetivo z es

proporcional al nivel de la actividad, c j x j . La contribucin de cada actividad x j al

valor de la parte izquierda de cada restriccin es proporcional al nivel de la


actividad, aij x j .

19/02/2010 1
OPTIMIZACIN LINEAL

Aditividad
Cada ecuacin en un problema LP es la suma de las contribuciones individuales de
las respectivas actividades.
Divisibilidad
Cualquier variable puede tomar cualquier valor, no necesariamente entero, que
satisfaga las restricciones incluyendo las de no negatividad.
Certidumbre
Los parmetros (constantes) de un problema LP se suponen conocidos con
certidumbre (pueden ser estimaciones, pero stas se tratan como valores conocidos).

I.2. Solucin grfica

Supongamos el siguiente problema de programacin lineal en un espacio


bidimensional, que grficamente queda representado en la figura adjunta.

x2

3x 1 + 2x 2 18
2x 2 12
(0,6)
(2,6)
x1 4
max z = 3x 1 + 5x 2
Rectas de
x1 4
(4,3) isofuncin
2x 2 12
3x 1 +2x 2 18
x 1, x2 0 3x 1 + 5x 2

(4,0) x1
(0,0)

Figura 2.1 Solucin grfica de un problema LP.

La regin factible est encerrada por las tres rectas que constituyen las restricciones
ms los dos ejes, que son las rectas correspondientes a la no negatividad de las
variables. La solucin ptima se halla grficamente desplazando paralela a s misma la
recta de isofuncin objetivo en el sentido de maximizacin (direccin del gradiente de

2 19/02/2010
MTODOS DE OPTIMIZACIN

la funcin objetivo, c ) hasta que se alcanza el ltimo punto de la regin factible. sta
corresponde al punto (x 1, x 2 ) = (2, 6) con un valor de la funcin objetivo z = 36 .

Otras posibilidades que pueden aparecer al resolver un problema de programacin


lineal son las siguientes: solucin con mltiples ptimos y solucin no acotada. Por otra
parte, si la regin factible es el conjunto vaco, el problema es infactible.

Figura 2.2 Solucin grfica de un problema LP con mltiples ptimos.

Figura 2.3 Solucin grfica de un problema LP con solucin no acotada.

I.3. Geometra de la programacin lineal

Hay una serie de conceptos geomtricos que hay que definir antes de analizar la
geometra de un problema de programacin lineal.

Un hiperplano est definido por el conjunto de puntos x j que cumplen una ecuacin

cualquiera del problema LP, axj ij j = bi . Un hiperplano en dos dimensiones es una

recta. El hiperplano divide el espacio en dos semiespacios definidos por axj ij j bi y

axj ij j bi .

19/02/2010 3
OPTIMIZACIN LINEAL

Un poliedro es la regin definida por la interseccin de un conjunto finito de


semiespacios. La regin factible de un problema de programacin lineal es un poliedro.
Un politopo es un poliedro no vaco y acotado (por ejemplo, las regiones factibles de las
figuras 2.1 y 2.2).

Un vrtice o punto extremo de un poliedro se define como un punto que no puede


ponerse como combinacin lineal convexa de dos puntos diferentes del conjunto. Se
determina por la interseccin de n hiperplanos. En dos dimensiones, son dos rectas.

El contorno de una regin factible contiene las soluciones factibles que estn en uno
o ms hiperplanos. Arista es el segmento obtenido por solucin de n 1 hiperplanos,
siendo sus extremos soluciones factibles vrtices.

Teorema de existencia de puntos extremos


mn
Sea S = {x / Ax = b, x 0} , A , r (A) = m . Entonces S tiene al
menos un punto extremo.

Teorema de representacin de un politopo


mn
Sea S = {x / Ax = b, x 0} y acotado, A , r (A) = m . Sean x 1, , x k
los puntos extremos de S . Entonces x S si y slo si x se puede expresar como una
combinacin lineal convexa de los puntos extremos del conjunto, es decir,
1, , k 0 , tales que
i i = 1 y x = i i x i . Cualquier punto de un politopo se

puede expresar como combinacin lineal convexa de los vrtices del mismo.

Una aplicacin inmediata del resultado anterior es su aplicacin al problema de


programacin lineal, ya que es fcilmente demostrable que buscar en una regin factible
acotada el punto que optimiza una determinada funcin objetivo es equivalente a buscar
el punto extremo que lo hace. Es decir, entonces la bsqueda del ptimo se limita a
optimizar en un nmero finito de puntos: los vrtices o puntos extremos.

Sin embargo, este resultado no es de una aplicacin inmediata ya que, por un lado,
el nmero total de vrtices o puntos extremos posibles del politopo (no todos ellos son
n n!
necesariamente factibles) puede ser muy grande (es de C n ,m = m = y
m !(n m )!

4 19/02/2010
MTODOS DE OPTIMIZACIN

crece exponencialmente con el tamao del problema) y, por otro lado, hay que calcular
cules son los puntos extremos, que si bien estn caracterizados y existe el
procedimiento para hacerlo puede ser largo y costoso. Adems en el caso de que no
haya ningn punto factible, no sera detectado hasta la prueba de todos los puntos
candidatos a ser extremos (C n ,m puntos) y, en el caso de que la solucin sea no acotada,

con tal procedimiento no se detectara esta situacin.

Por lo tanto, se impone la bsqueda del ptimo de una forma dirigida, es decir, con
ciertos criterios que favorezcan esta bsqueda y que adems permitan la deteccin de
situaciones como las descritas en el apartado anterior. Estos criterios se plasman en un
mtodo o algoritmo de tipo algebraico que se describe en la siguiente seccin.

I.4. Mtodo simplex

El mtodo simplex, que debe su origen a George B. Dantzig en 1947 (Dantzig,


1949), es un procedimiento algebraico iterativo para resolver un problema de
programacin lineal que tiene conceptos geomtricos subyacentes. Recorre
exclusivamente los vrtices (o puntos extremos) de la regin factible. La idea
geomtrica subyacente se describe a continuacin. Partiendo de un vrtice inicial (luego
se describir el procedimiento para obtenerlo), se va moviendo de un vrtice a otro
vrtice adyacente mejorando la funcin objetivo. Se selecciona la arista con mayor tasa
de mejora de la funcin objetivo para alcanzar el vrtice adyacente, hasta alcanzar un
punto en el que no existe ninguna arista incidente por la que mejorar. En el ejemplo
anterior, partiendo del vrtice (0,0) con funcin objetivo z = 0 , el mtodo simplex
llegara al ptimo (2,6) con funcin objetivo z = 36 despus de pasar por el vrtice
(0,6) con funcin objetivo z = 30 , tal como se aprecia en la figura. Se comprueba la
condicin de ptimo porque en dicho vrtice las tasas de mejora de la funcin objetivo
hacia vrtices adyacentes son negativas.

19/02/2010 5
OPTIMIZACIN LINEAL

x2

3x 1 + 2x 2 18
2x 2 12
(0,6)
(2,6)
x1 4

Rectas de
isofuncin
(4,3) objetivo

3x 1 + 5x 2

(4,0) x1
(0,0)

Figura 2.4 Representacin grfica del mtodo simplex.

Un problema de optimizacin lineal tiene la siguiente forma estndar 1:

min z = cT x
Ax = b (1.2)
x 0
n mn
donde x es el vector de las variables del problema, A es la matriz de
n
restricciones del problema o matriz del lado izquierdo (left hand side LHS), c es
el vector de los coeficientes de las variables en la funcin objetivo o vector de costes,
m
b es el vector del lado derecho (right hand side RHS) o vector de cotas de las
restricciones, siendo b 0 , y la variable z es el valor de la funcin objetivo.

Por consiguiente,

1
Por convencin en la formulacin los vectores son columna, su transposicin se representa por un
superndice T , las variables se ubican a la izquierda de las ecuaciones y los coeficientes de las variables
preceden a stas.

6 19/02/2010
MTODOS DE OPTIMIZACIN

a11 a12 a1n b1 c1 x1



a21 a22 a 2n b c2 x 2
2
, b = , c = y x = .
A =

a
a amn bm cn
x
m 1 m 2 n

El nmero de restricciones m, para el problema expresado en su forma estndar, ha


de ser estrictamente menor que el nmero de variables n, m < n , y el rango de la
matriz de restricciones mximo, r (A) = m .

La forma estndar se utiliza como base para introducir y desarrollar el mtodo


simplex, no es necesario que el problema se exprese de esta forma para ser resuelto por
un optimizador. Los cdigos comerciales no necesitan que los problemas sean escritos
de esta manera.

El ejemplo anterior expresado en la forma estndar aparece como:

min z = 3x 1 5x 2
x1 +x 3 =4
2x 2 +x 4 = 12
3x 1 +2x 2 +x 5 = 18
x 1, x 2, x 3, x 4, x5 0

3 x1
1 1 4
5 x 2

siendo A = 2 1 , b = 12 , c = y x = x 3 .
x 4
3 2 1 18
x 5

Para convertir un problema de programacin lineal cualquiera a su forma estndar se


efectan algunas transformaciones:

Funcin objetivo

La direccin de maximizacin se trata como una minimizacin del valor negativo de


la funcin objetivo.

max z min z ( max z = min z )

19/02/2010 7
OPTIMIZACIN LINEAL

Restricciones

En las restricciones de tipo se introduce una variable de holgura (slack, en ingls)


ui 0 .

a x
j
ij j bi aij x j + ui = bi
j

En las restricciones de tipo se introduce una variable de exceso o de holgura


vi 0 .

a x
j
ij j bi aij x j vi = bi
j

Las variables originales x j se denominan variables naturales o estructurales.

Variables

Si una variable es negativa y no acotada inferiormente x j 0 , simplemente

se sustituye por una variable que tome su valor opuesto x j = y j siendo

0 yj .

Si la variable negativa est acotada inferiormente por un valor Lj < 0 ,

Lj x j 0 , se desplaza en dicha cantidad x j = y j + Lj siendo 0 y j Lj .

Posteriormente se ve cmo se tratan las variables acotadas.

Si la variable es libre (no acotada inferior ni superiormente, x j ) se

sustituye por dos variables que corresponden a su componente positiva y negativa


x j = x j+ x j siendo 0 x j+ y 0 x j .

Examinemos los tipos de soluciones del problema de programacin lineal:

Solucin factible

Aqulla que satisface todas las restricciones.

Cualquier punto del interior o del contorno de la regin factible.

8 19/02/2010
MTODOS DE OPTIMIZACIN

Solucin infactible

Aqulla que viola al menos una restriccin.

Cualquier punto del exterior de la regin factible.

Solucin bsica factible

Una base de la matriz de restricciones o matriz del problema es una matriz cuadrada
no singular (es decir, tiene inversa) de rango mximo en A , r (A) = m . Las
variables asociadas a las columnas que forman la base se denominan variables
bsicas y el resto variables secundarias (o no bsicas).

Solucin bsica factible es aqulla con m variables bsicas que pueden tomar valor
diferente de 0 y (n m ) variables no bsicas que toman valor 0, est asociada a una
base de la matriz. Los valores de las variables bsicas, si la base es B , se calculan
por resolucin de un sistema de m m ecuaciones, es decir, se obtienen calculando
B 1b .

Las variables no bsicas en un problema de programacin lineal con variables


acotadas superior e inferiormente se hallan en uno de sus lmites mientras que las
variables bsicas se encuentran estrictamente dentro de los lmites. Este caso
corresponde a una solucin bsica factible no degenerada. Si alguna de las variables
bsicas se encuentra en uno de sus lmites se denomina solucin bsica factible
degenerada.

Toda solucin bsica factible est asociada a un nico punto extremo o vrtice y
todo punto extremo est asociado a alguna solucin bsica factible. Sin embargo,
puede existir un punto extremo que corresponda a dos bases diferentes en presencia
de degeneracin.

Dos soluciones factibles vrtices son adyacentes si la lnea que los conecta es una
arista, es decir, si todas excepto una de sus variables son iguales. Cada solucin
factible vrtice tiene n soluciones factibles vrtices adyacentes. Moverse de una
solucin bsica factible a otra adyacente es cambiar de una variable no bsica a
bsica y al contrario para otra variable.

19/02/2010 9
OPTIMIZACIN LINEAL

Solucin ptima

Aquella solucin bsica factible (vrtice) con mejor valor de la funcin objetivo.
Pueden existir mltiples soluciones ptimas. Esta situacin, que por inspeccin del
problema de dos dimensiones parecera infrecuente, es una situacin habitual en la
realidad por razn de que el criterio de optimalidad se comprueba numricamente,
es decir, cuando la tasa de mejora de la funcin objetivo est por debajo de cierta
tolerancia muy pequea pero no cero.

Existe un resultado fundamental en el que se fundamenta la validez del algoritmo


del simplex,

Teorema fundamental de la programacin lineal

Dado un problema de programacin lineal en forma estndar, se tiene que:

Si admite una solucin factible, admite al menos una solucin bsica factible.

Si admite una solucin ptima finita, admite al menos una solucin bsica ptima.

El primer apartado es equivalente al teorema geomtrico de existencia de puntos


extremos y el segundo a la aplicacin del problema de representacin que asegura que
la solucin ptima se alcanza en un punto extremo (solucin bsica). Si hay mltiples
ptimos, en una regin factible acotada, al menos dos deben ser soluciones factibles
vrtices adyacentes.

El comportamiento del mtodo simplex en el peor caso es muy pobre. Sin embargo,
en la prctica recorre un nmero muy inferior al nmero total de vrtices posibles. Para
el problema anterior el mtodo simplex recorre 3 vrtices (incluyendo el inicial) de un
5
nmero total posible (factibles e infactibles) de C 5,2 = = 10 .
2

Como criterio aproximado se puede estimar que en media el nmero de iteraciones


necesarias para resolver un problema lineal por el mtodo simplex es proporcional al
nmero de restricciones m y el tiempo de solucin es proporcional a m 3 .

10 19/02/2010
MTODOS DE OPTIMIZACIN

Veamos a continuacin cmo se explica y desarrolla el mtodo simplex.


T
Supongamos que se dispone de una solucin bsica factible x T = x B x N . Sea B la

T
base, A = B N y cT = cB cN , siendo

m
xB vector de variables bsicas
n m
xN vector de variables no bsicas
mm
B matriz base
m(n m )
N matriz no bsica
m
cB coeficientes de las variables bsicas en la funcin objetivo
n m
cN coeficientes de las variables no bsicas en la funcin objetivo

Reformulando el sistema de ecuaciones Ax = b y siempre que B sea no singular

Bx B + Nx N = b x B = B 1(b Nx N ) = B 1b B 1Nx N (1.3)

La funcin objetivo se puede expresar entonces como

z = cTB x B + cTN x N = cTB B 1b cTB B 1Nx N + cTN x N = cTB B 1b + cTN cTB B 1N x N (1.4)

Lo que se ha hecho es simplemente un cambio de base, es decir, expresar los


elementos del problema en funcin de la base B . En este caso, la solucin bsica
asociada a la base B , viene determinada por los valores de x B ya que las variables no
bsicas x N toman valor 0 (es decir, se resuelve un sistema de ecuaciones lineales para
determinar el valor de las variables bsicas)

x B = b = B 1b (1.5)

z = cTB B 1b = cTB x B (1.6)

Definamos

wT cTB B 1 (1.7)

Y B 1N (1.8)

19/02/2010 11
OPTIMIZACIN LINEAL

cTN cTN cTB B 1N = cTN wT N = cTN cTBY (1.9)

y para cada variable no bsica x j su coste reducido cj (o derivada direccional) en

particular sera

cj c j cTB B 1a j = c j wT a j = c j cTB y j = c j z j (1.10)

siendo a j la columna correspondiente a la variable x j en la matriz A .

Conviene resaltar el significado del vector de costes reducidos cN , tal como se


desprende de la expresin de la funcin objetivo. Para ello reformulando la expresin de
la funcin objetivo en funcin de la base resulta

z = cTB x B + cj x j = z + (c j z j )x j
j I N j I N

As, el coste reducido de una variable cj es el cambio en la funcin objetivo debido

a un incremento unitario de una variable no bsica. En el ptimo de un problema de


minimizacin todos los costes reducidos de las variables no bsicas son positivos o
nulos, ya que en tal caso incrementar una variable desde su valor 0 a otro mayor ir en
contra de la minimizacin. Los costes reducidos de las variables bsicas son cero. Si el
coste reducido de una variable no bsica es cero en la solucin ptima entonces pueden
existir mltiples soluciones ptimas, siendo al menos dos de ellas vrtices. En un
apartado posterior se menciona analiza expresamente esta posibilidad.

Veamos a continuacin cmo se utilizan las expresiones derivadas anteriormente. Si


x
3 x 1
elegimos como variables bsicas x B = x 4 y como no bsicas x N = x entonces
2
x
5

1 1
3
cB = , cN = , B = 1 = B 1 y N = 2 .
5

1 3 2

12 19/02/2010
MTODOS DE OPTIMIZACIN

4

Los valores que toman dichas variables sern xB = b = B b = 12 y xN = ,
1

18

wT = cBT B 1 = [ ] , el valor de la funcin objetivo ser z = cBT B 1b = 0 y los costes

reducidos de las variables no bsicas cTN = cTN wT N = [ 3 5] .

Si alguna variable no bsica incrementara su valor desde 0, xN > 0 , el valor que


tomaran las variables bsicas sera

4 1
x
xB = B b B NxN = 12 2 1
1 1
x2
18 3 2

y el de la funcin objetivo

x
z = cBT B 1b + cTN cBT B 1 N xN = 0 + [ 3 5] 1
x2

De acuerdo con esta ecuacin la funcin objetivo disminuye al incrementar desde 0


cualquiera de las variables no bsicas x1 o x2 por ser negativos sus costes reducidos

cTN = [ 3 5] , es decir, la base actual no es ptima.

La prueba de optimalidad se basa en comprobar si existe algn coste reducido


negativo (en un problema de minimizacin) en la funcin objetivo. En caso de que no
exista, la solucin bsica actual es ptima. En otro caso, se puede seleccionar una de las
variables no bsicas con coste reducido negativo para entrar en la base. La variable
seleccionada xt , denominada variable bsica entrante, ser la que tenga coste reducido
negativo de mayor valor absoluto.

Para determinar hasta dnde se puede incrementar dicha variable sin violar ninguna
restriccin de no negatividad de las variables bsicas se observan las ecuaciones de las
variables bsicas

xB = B 1b B 1 NxN = b YxN = b yt xt (1.11)

19/02/2010 13
OPTIMIZACIN LINEAL

siendo at la columna de A correspondiente a xt e yt = B 1at la columna pivote.

Podemos escribir esta ecuacin componente a componente

( xB )i = bi yit xt (1.12)

Si yit > 0 entonces ( xB )i disminuye cuando la variable bsica entrante xt aumenta,

hasta alcanzar el valor 0 para xt = bi / yit , bi > 0 por ser el valor de la variable bsica.

Para valores yit 0 la variable ( xB )i aumenta o permanece igual. Si todos los

valores fueran yit 0 el problema sera no acotado, puesto que la variable bsica
entrante se puede incrementar indefinidamente sin que una variable bsica alcance el
valor 0. La direccin de no acotamiento para dicha variable no bsica xt es un vector

formado por el vector d B = yt = B 1at para las variables bsicas, dt = 1 para la

variable bsica entrante xt y di = 0 para el resto de variables no bsicas. Esta direccin

satisface la condicin Ad = 0 y d 0 , es un rayo extremo y pertenece al cono de


recesin, que se define como el conjunto de direcciones en las que el problema resulta
no acotado. Obsrvese que la deteccin de problema no acotado se puede hacer con
cualquier variable no bsica no necesariamente con la de coste reducido negativo de
mayor valor absoluto.

La variable xt puede aumentar su valor hasta xt mientras todas las variables bsicas
sigan siendo no negativas. As el mximo valor que puede tomar y en el que adems una
variable bsica se hace 0 y puede salir de la base es

b
xt = min i : yit > 0 (1.13)
it
1 i m y

El valor mnimo2 de la relacin previa identifica la variable bsica saliente, es decir, la


variable bsica que se hace no bsica (toma valor 0).

2
Si existe ms de una relacin que alcance el valor mnimo al mismo tiempo usualmente se toma
aqul con mayor coeficiente en la columna pivote.

14 19/02/2010
MTODOS DE OPTIMIZACIN

Despus del intercambio de variables la nueva solucin bsica factible es un nuevo


vrtice adyacente al anterior con mejor valor de la funcin objetivo. Para la nueva base
se calcula el nuevo valor de la funcin objetivo y de las variables bsicas. El resto de
variables, las no bsicas, siguen siendo cero.

z = z + c t xt (1.14)

xB = b y t xt (1.15)

El mtodo simplex consiste en el siguiente algoritmo, que realiza iterativamente este


cambio de base mejorando la funcin objetivo:
Inicializacin
Se supone que se dispone de una matriz base B correspondiente a una solucin
bsica factible inicial xB = b = B 1b 0 y una funcin objetivo z = cBT B 1b = cBT xB .
Prueba de optimalidad
Se calcula el vector de costes reducidos cTN = cTN cBT B 1 N = cTN cBT Y . Si todos los

costes reducidos son no negativos cTN 0 la base actual es ptima. En caso

contrario, se selecciona 3 como variable bsica entrante xt una variable con coste

reducido estrictamente negativo ct < 0 .

La prueba de optimalidad es local pero como los problemas de programacin lineal


son convexos, la solucin ptima ser global.
Iteracin
Sea yt = B 1at , la columna pivote t correspondiente a la variable bsica entrante. Se

busca la fila pivote s que verifica

3
La variable bsica entrante seleccionada es la de coste reducido negativo de mayor valor absoluto.
Sin embargo, esta opcin no considera el clculo de la relacin mnima (es decir, el incremento que se le
va a dar a dicha variable) luego la mejora en la funcin objetivo puede ser pequea. Tampoco tiene en
cuenta el efecto del escalado de las variables en el problema. En general, no existe manera prctica de
predecir qu eleccin de variable bsica entrante puede dar lugar al menor nmero de iteraciones.

19/02/2010 15
OPTIMIZACIN LINEAL

bs b
= min i : yit > 0
yst 1i m yit

y determina la variable bsica saliente xs y el elemento pivote yst .

Si yit 0 para toda fila i entonces el problema es no acotado.


Pivotamiento
Actualizacin de la matriz B 1 y del vector de variables bsicas y volver al paso 2.
Ms adelante al presentar la forma tabular se muestra cmo se actualiza la matriz
B 1 en un nmero reducido de operaciones.

Sigamos aplicando el mtodo simplex al caso ejemplo anterior. Elegimos x2 como


la variable bsica entrante por tener el coste reducido negativo con mayor valor
absoluto. Calculamos los elementos de la columna pivote


yt = y2 = B a2 = 2
1

Las relaciones correspondientes a los dos ltimos elementos de yt , los nicos


estrictamente positivos, son

b2 y22 = 12 2 = 6 y b3 y32 = 18 2 = 9

Como la primera relacin es la menor, x4 ser la variable bsica saliente. Se

reemplaza en la base la variable bsica x4 por la variable no bsica x2 y tendremos

x3
x
xB = x2 y xN = 1
x5 x4


1 1 1
Entonces B = 2 , B 1 = 1/ 2 y N = 1 . Los costes de la
2 1 1 1 3
variables bsicas son cBT = [ 5 ] y los de las no bsicas cTN = [ 3 ] .

16 19/02/2010
MTODOS DE OPTIMIZACIN

El valor de las variables bsicas ser ahora

1
1 4 4
xB = b = B b = 1/ 2 12 = 6
1 1 18 6
y el valor de la funcin objetivo ser z = cBT B 1b = 30 .

Los coeficientes


1
wT = cBT B 1 = [ 5 ] 1/ 2 = [ 5 / 2 ]
1 1

y los costes reducidos

1
c = c w N = [ 3 ] [ 5 / 2 ] 1 = [ 3 5 / 2] .
T
N
T
N
T

Elegimos x1 como la variable bsica entrante por ser la nica con un coste reducido
negativo. Calculamos los elementos de la columna pivote

1 1
1
yt = y1 = B a1 1
= 1/ 2 =
1 1 3 3

Las relaciones correspondientes a los elementos de yt estrictamente positivos son

b1 y11 = 4 1 = 4 y b3 y31 = 6 3 = 2

Como la segunda relacin es la menor x5 ser la variable bsica saliente. Se

reemplaza en la base la variable bsica x5 por la variable x1 y tendremos

x3
x
xB = x2 y xN = 5
x4
x1

19/02/2010 17
OPTIMIZACIN LINEAL

1/ 3
1 1
1
1 1/ 3

Entonces B = 2 , B = 1/ 2 y N = 1 . Los costes de la
2 3 1/ 3 1/ 3 1
variables bsicas son cBT = [ 5 3] y los de las no bsicas cTN = [ ] .

El valor de las variables bsicas ser ahora

1
1 1/ 3 1/ 3 4 2
xB = b = B b = 1/ 2 12 = 6
1/ 3 1/ 3 18 2
y el valor de la funcin objetivo ser z = cBT B 1b = 36 .

Los coeficientes

1/ 3
1 1/ 3

wT = cBT B 1 = [ 5 3] 1/ 2 = [ 3 / 2 1]
1/ 3 1/ 3
y los costes reducidos


c = c w N = [ ] [ 3 / 2 1] 1 = [1 3 / 2]
T
N
T
N
T

Como todos los costes reducidos son positivos no se puede mejorar la funcin
objetivo, es decir, se ha alcanzado la solucin ptima.

I.4.1. Problema de maximizacin

Si bien se ha dicho que un problema de maximizacin puede ser transformado en


uno de minimizacin para ser resuelto, tambin es cierto que el algoritmo anterior es
fcilmente adaptable al caso de maximizacin, ya que slo afecta a la direccin de
mejora y, por lo tanto, slo hay que modificar el criterio de optimalidad y el de entrada
en la base.

18 19/02/2010
MTODOS DE OPTIMIZACIN

En tal caso, una solucin ser ptima si todos los costes reducidos son menores o
iguales que 0 y, en caso de que no sea as, la variable bsica entrante es la que tenga
coste reducido estrictamente positivo de mayor valor.

I.4.2. Mltiples ptimos

En algunos problemas no existe un nico ptimo, sino que puede haber varios. Esta
condicin es fcilmente detectable pues para que existan mltiples ptimos al finalizar
el algoritmo del simplex debe haber al menos una variable no bsica cuyo coste
reducido sea igual a 0, de modo que si la variable aumenta su valor la funcin objetivo
no se ve afectada, con lo que puede ser introducida en la base.

Sin embargo, no es una condicin suficiente que el coste reducido sea 0, hay que
asegurar tambin que cuando esta variable entra en la base lo hace con valor distinto de
0, pues en otro caso, si sustituye a una variable con valor 0, se produce un cambio de
base pero no de punto.

Una vez identificadas todas las soluciones bsicas factibles (puntos extremos)
ptimas, sern soluciones ptimas todas las combinaciones lineales convexas de stas.
Por ejemplo, si existen dos soluciones bsicas ptimas, todo el segmento que une los
puntos correspondientes son soluciones ptimas del problema.

En algunos problemas, identificar ms de una solucin ptima puede ser de vital


importancia, especialmente si existe ms de un criterio de optimizacin y stos han sido
jerarquizados (optimizacin multiobjetivo).

I.4.3. Convergencia del algoritmo

La convergencia del algoritmo est asegurada si no existe degeneracin. Sin


embargo, en caso de degeneracin de varias variables bsicas el algoritmo puede ciclar,
movindose por una secuencia de bases que correspondan al mismo punto extremo sin
mejorar la funcin objetivo. Existen procedimientos, que aqu no se presentan, para
evitar esta situacin, siendo el ms popular de ellos, que no el nico, el mtodo
lexicogrfico.

19/02/2010 19
OPTIMIZACIN LINEAL

I.4.4. Variables acotadas superiormente

Las cotas superiores no se deben tratar como restricciones, esto tiene ventajas
computacionales. En el mtodo simplex las cotas superiores no se deben sobrepasar
cuando la variable bsica entrante se incrementa hasta alcanzar un nuevo vrtice.

Supongamos una variable acotada superiormente 0 x j u j , entonces su variable

complementaria definida como y j = u j x j tambin est acotada por el mismo valor

0 y j u j . Si x j = 0 , x j es no bsica. Si x j = u j , entonces y j = 0 y, por tanto, y j ser

no bsica.

En el mtodo simplex, la variable bsica saliente es la primera que alcanza su cota 0


al incrementar la variable bsica entrante. Ahora esta comprobacin se extiende para la
variable bsica entrante a su cota u j . Cuando se alcanza la cota superior se cambia la

variable x j a y j como nueva variable no bsica.

I.4.5. Forma tabular

Una forma sencilla de presentar este mtodo y resolver ejemplos pequeos es


mediante la tabla del simplex. En esta tabla se refleja el problema en funcin de la base
actual en cada iteracin. La aportacin de esta tabla es que la actualizacin de los
valores para pasar de una base a otra (actualizacin de la matriz B o B 1 ) se puede
realizar por simple eliminacin gaussiana 4, lo que tambin se denomina pivotamiento.

Para el problema original la tabla tiene este aspecto

4
La eliminacin gaussiana actualiza la tabla para que en ella aparezca un 1 en el elemento pivote y 0
en el resto de la columna. Para aplicarla seguir los siguientes pasos:
1. Dividir la fila pivote por el elemento pivote yst
2. Restar a las dems filas de la tabla la nueva fila pivote multiplicada por el elemento que se desea pase
a ser cero, es decir, el elemento correspondiente de la columna pivote.
Adems, se han de hacer 0 los coeficientes de la funcin objetivo correspondientes a las variables
bsicas.

20 19/02/2010
MTODOS DE OPTIMIZACIN

Variables bsicas z xN xB Cotas

z 1 cTN cBT 0

xB 0 N B b
Tabla 2.1 Tabla (A) del simplex en la primera iteracin.

siendo cBT y cTN son los coeficientes de las variables bsicas y no bsicas actuales en la
funcin objetivo, B las columnas bajo las variables bsicas actuales de la matriz
original A y N las columnas de las variables no bsicas actuales de la matriz original
A . Su forma de interpretarla es la siguiente

z + cTN xN + cBT xB = 0
0 z + NxN + BxB = b

En una iteracin cualquiera en funcin de la base B se tiene


Cotas
Variables bsicas z xN xB
z 1 cTN cBT B 1 N 0 cBT B 1b

xB 0 B 1 N I B 1b
Tabla 2.2 Tabla (A) del simplex en una iteracin cualquiera.

luego directamente el valor de la funcin objetivo y de las variables bsicas se obtiene


de la ltima columna

z = cBT B 1b
xB = B 1b

La ecuacin de la funcin objetivo de las nuevas tablas resulta de multiplicar las


ecuaciones de las restricciones de las tablas originales respectivas por wT = cBT B 1 y
restarla de la ecuacin de la funcin objetivo de las tablas originales respectivas. Las
ecuaciones de las restricciones de las nuevas tablas resultan de multiplicar las de las
tablas originales respectivas por B 1 .

19/02/2010 21
OPTIMIZACIN LINEAL

Si en la solucin inicial la base fuera una matriz identidad y los costes de las
variables bsicas fueran 0, la tabla original inicial sera la siguiente (por notacin se
designa con un apstrofo a lo que es inicial)
Cotas
Variables bsicas z xN xB
z 1 cNT 0 0

xB 0 N I b
Tabla 2.3 Tabla (B) del simplex en la primera iteracin partiendo de una matriz identidad.

y, manteniendo la asignacin (ordenacin) original por columnas de las variables, la


tabla de simplex tiene este aspecto para una iteracin cualquiera (siendo N las
columnas de las variables no bsicas iniciales en la matriz original A )
Variables bsicas
z xN xB Cotas

z 1 cNT cBT B 1 N cBT B 1 cBT B 1b

xB 0 B 1 N B 1 B 1b
Tabla 2.4 Tabla (B) del simplex en una iteracin cualquiera.

Bajo las columnas de las variables bsicas originales inicialmente estaba la matriz
identidad I y ahora est la matriz inversa de la base B 1 . Luego esta matriz contiene
las manipulaciones hechas a las restricciones hasta una iteracin cualquiera. cNT son los

coeficientes de las variables no bsicas iniciales y cBT son los coeficientes de las
variables bsicas de cada iteracin.

Observando las tablas 2.1 y 2.2 se puede decir que el mtodo simplex persigue
hallar la particin adecuada entre variables bsicas y no bsicas que cumplen la
condicin de optimalidad cTN = cTN cBT B 1 N 0 . Observando las tablas 2.3 y 2.4
consistira en hallar los valores que cumplen la condicin de optimalidad del problema,
es decir, coeficientes de la funcin objetivo no negativos en el caso de minimizacin
cTN = cNT cBT B 1 N 0 y wT = cBT B 1 0 .

Veamos con un ejemplo las iteraciones del mtodo simplex en forma tabular. La
tabla inicial del problema anterior es:

22 19/02/2010
MTODOS DE OPTIMIZACIN

Variables bsicas
z x1 x2 x3 x4 x5 Cotas Relacin

z 1 3 5 0
x3 1 1 4

x4 2 1 12 12/2=6

x5 3 2 1 18 18/2=9

La solucin bsica factible inicial es ( x1 , x2 , x3 , x4 , x5 ) = (0, 0, 4,12,18) y z = 0 . El

recuadro dentro de la tabla identifica la matriz inversa de la base B 1 .

Se toma x2 como variable bsica entrante por tener el coste reducido negativo de
mayor valor absoluto. Luego su columna es la columna pivote.

Se toma x4 como variable bsica saliente por tener la menor relacin. Luego su fila
es la fila pivote.

Se actualiza la tabla para anular los elementos de la columna pivote excepto el


elemento pivote que se hace 1 (es decir, se anula el coeficiente de la variable bsica
entrante en la funcin objetivo y se crea una columna de la matriz identidad en dicha
variable) para resolver el sistema de ecuaciones por eliminacin gaussiana. Se hacen 0
los coeficientes de la funcin objetivo correspondientes a las variables bsicas.

Variables bsicas z x1 x2 x3 x4 x5 Cotas Relacin

z 1 3 5/2 30
x3 1 1 4 4/1=4

x2 1 1/2 6

x5 3 1 1 6 6/3=2

La nueva solucin bsica factible es ( x1 , x2 , x3 , x4 , x5 ) = (0, 6, 4, 0, 6) y z = 30 .

Se toma x1 como variable bsica entrante por tener el nico coste reducido negativo.
Luego su columna es la columna pivote.

Se toma x5 como variable bsica saliente por tener la menor relacin. Luego su fila
es la fila pivote.

19/02/2010 23
OPTIMIZACIN LINEAL

Se vuelve a actualizar la tabla del simplex.

Variables bsicas z x1 x2 x3 x4 x5 Cotas

z 1 3/2 1 36
x3 1 1/3 1/3 2

x2 1 1/2 6

x1 1 1/3 1/3 2

La nueva solucin bsica factible es ( x1 , x2 , x3 , x4 , x5 ) = (2, 6, 2, 0, 0) y z = 36 . sta


es ya la solucin ptima por ser todos los costes reducidos, correspondientes a las
variables no bsicas ( x5 , x4 ) , no negativos cTN = [1 3 / 2] .

I.4.6. Solucin bsica factible inicial

El mtodo simplex parte de una solucin bsica factible y se mueve en cada


iteracin a otra hasta llegar a la solucin ptima. Resuelve este problema de
optimizacin lineal, presentado en su forma estndar

min cT x
Ax = b ( P)
x0

Sin embargo, no siempre es fcil proporcionar una solucin bsica factible inicial.
Como se ha visto, la forma sencilla para hacerlo es partiendo de una matriz identidad en
los coeficientes de las variables bsicas iniciales.

Para ello en las restricciones de tipo se aprovechan las variables de holgura. En


las restricciones de tipo se introduce una variable de exceso (a veces a sta tambin
se la denomina de holgura) con signo negativo vi 0 y una variable artificial wi 0 . Y

en las restricciones de tipo = se introduce una variable artificial wi 0 .

a x
j
ij j bi aij x j + ui = bi
j

a x
j
ij j bi aij x j vi + wi = bi
j

24 19/02/2010
MTODOS DE OPTIMIZACIN

a x
j
ij j = bi aij x j + wi = bi
j

Con las variables de holgura y artificiales se parte de una matriz identidad para las
variables bsicas y el problema de optimizacin lineal a resolver es

min cT x
Ax + Ixa = b ( P(a))
x, xa 0

siendo xa las variables artificiales.

Pero si la solucin incluye variables artificiales no es una solucin factible del


problema original. Por consiguiente, hay que eliminar esas variables aprovechando el
propio mtodo simplex, de modo que en su desarrollo estas variables dejen de ser
variables bsicas. Si al final no se consiguen anular las variables artificiales el problema
original ser infactible.

Obsrvese que en las hiptesis del mtodo simplex se ha supuesto que la matriz era
de rango mximo, sin embargo, esta hiptesis no se ha comprobado nunca. La razn es
que al partir de una matriz identidad de rango mximo la hiptesis necesariamente se
verifica. Sin embargo, si no se parte de una matriz identidad habra que comprobar que
se cumple esta condicin. Obsrvese tambin que aunque el problema original no la
cumpliera, al aadir las variables artificiales s lo har.

Para lograr anular las variables artificiales se emplean habitualmente dos mtodos:
el mtodo de la M mayscula
el mtodo de las dos fases

El mtodo de la M mayscula introduce las variables artificiales en la funcin


objetivo original pero penalizadas con un coeficiente M de valor muy elevado. Este
coeficiente de penalizacin puede introducir problemas numricos por lo que, en
general, es preferible el mtodo siguiente.

En el mtodo de las dos fases, la fase I del mtodo simplex tiene como funcin
objetivo la suma de las variables artificiales. Si esta fase I acaba con valor de la funcin
objetivo igual a cero entonces el problema original es factible y se dispone de una

19/02/2010 25
OPTIMIZACIN LINEAL

solucin bsica factible siendo no bsicas las variables artificiales. La fase II restablece
la funcin objetivo original y aplica de nuevo el mtodo simplex hasta alcanzar la
solucin ptima a partir de la solucin bsica factible del final de la fase I.

Supngase el problema original ( P ) y el problema una vez que se han introducido


las variables artificiales ( P(a)) . El mtodo de las dos fases consta de los siguientes
pasos:

Fase I: Resolver el problema

min z = xa
a

Ax + Ixa = b
x, xa 0

Existen dos posibles finales de esta fase


z > 0 , entonces el problema ( P ) no es factible.
z = 0 , entonces el problema ( P ) es factible y tenemos una solucin factible inicial.

Sin embargo, todava es posible distinguir dos casos en esta situacin, antes de pasar
a la fase II:

1) No hay variables artificiales en la base se puede pasar a la fase II.

2) Hay variables artificiales en la base con valor 0 (degeneradas). En este caso, la


solucin obtenida no es una solucin bsica del problema original ya que incluye
variables artificiales. Para eliminarlas de la base, se sustituyen mediante
pivotamiento por cualquier variable original no bsica (incluyendo de holgura y
exceso) cuyo coste reducido sea 0 y cuyo elemento en la fila de la variable
artificial sea distinto de 0 (incluso puede ser negativo). Si ninguna variable
original tuviera un valor distinto de cero en esa fila (la fila de la variable
artificial tiene todo ceros en las variables originales), quiere decir que esa fila es
redundante y puede ser eliminada directamente.

26 19/02/2010
MTODOS DE OPTIMIZACIN

Fase II: Eliminar las variables artificiales del problema 5 y retomar la funcin
objetivo original, recalculando los costes reducidos para la solucin bsica factible
obtenida en la fase I.

Veamos con un ejemplo el mtodo de las dos fases.

min z = 0.4 x1 + 0.5 x2


0.3 x1 +0.1x2 2.7
0.5 x1 +0.5 x2 =6
0.6 x1 +0.4 x2 6
x1 , x2 0

Se convierte el problema a la forma estndar y se aaden las variables artificiales


pertinentes

min z = 0.4 x1 + 0.5 x2


0.3 x1 +0.1x2 + x3 = 2.7
0.5 x1 +0.5 x2 + x4 =6
0.6 x1 +0.4 x2 x5 + x6 =6
x1 , x2 , x3 , x4 , x5 , x6 0

siendo x3 una variable de holgura, x5 una variable de exceso y x4 y x6 variables


artificiales.

La fase I del mtodo simplex minimiza la suma de las variables artificiales

min z = x4 + x6
0.3 x1 +0.1x2 + x3 = 2.7
0.5 x1 +0.5 x2 + x4 =6
0.6 x1 +0.4 x2 x5 + x6 =6
x1 , x2 , x3 , x4 , x5 , x6 0

5
En muchos casos no se eliminan estas variables, sino que se mantienen aunque no se cuente con
1
ellas para entrar en la base, ya que aportan informacin al final ( B , ...).

19/02/2010 27
OPTIMIZACIN LINEAL

Si esta fase acaba con la funcin objetivo con valor 0 significa que se ha encontrado
una solucin bsica factible inicial del problema original y se puede seguir con la fase
II. En caso contrario el problema es infactible.

Variables bsicas z x1 x2 x5 x3 x4 x6 Cotas


1
z 1 1
x3 0.3 0.1 1 2.7

x4 0.5 0.5 1 6

x6 0.6 0.4 1 1 6

Se transforma la tabla para hacer 0 los coeficientes de las variables bsicas

Variables Bsicas z x1 x2 x5 x3 x4 x6 Valores Relacin


z 1 1.1 0.9 1 12
x3 0.3 0.1 1 2.7 9

x4 0.5 0.5 1 6 12

x6 0.6 0.4 1 1 6 10

Se elige x1 como variable bsica entrante y entonces x3 es la variable bsica


saliente. Se hacen 0 los elementos de la columna pivote excepto el elemento pivote que
se hace 1.

Variables Bsicas z x1 x2 x5 x3 x4 x6 Valores Relacin


z 1 0.53 1 3.67 2.1
x1 1 0.33 3.33 9 27

x4 0.33 1.67 1 1.5 4.5

x6 0.2 1 2 1 0.6 3

Se elige x2 como variable bsica entrante y entonces x6 es la variable bsica


saliente. Se hacen 0 los elementos de la columna pivote excepto el elemento pivote que
se hace 1.

28 19/02/2010
MTODOS DE OPTIMIZACIN

Variables Bsicas z x1 x2 x5 x3 x4 x6 Valores Relacin

z 1 1.67 1.67 2.67 0.5


x1 1 1.67 6.67 1.67 8 1.2

x4 1.67 1.67 1 1.67 0.5 0.3

x2 1 5 10 5 3

Existen dos variables no bsicas x3 y x5 con igual coeficiente negativo de mayor


valor absoluto en la funcin objetivo. Se puede elegir cualquiera de ellas como variable
bsica entrante. Arbitrariamente, se elige x3 y, por tanto, x4 es la variable bsica
saliente. Se hacen 0 los elementos de la columna pivote excepto el elemento pivote que
se hace 1.

Variables Bsicas z x1 x2 x5 x3 x4 x6 Valores


1
z 1 1
x1 1 5 4 5 6

x3 1 1 0.6 1 0.3

x2 1 5 6 5 6

La solucin ( x1 , x2 , x3 , x4 , x5 , x6 ) = (6, 6, 0.3, 0, 0, 0) es ptima y como z = 0 sta es


una solucin bsica factible inicial para el problema original.

Se plantea entonces la fase II donde se introduce la funcin objetivo original.

Variables Bsicas z x1 x2 x5 x3 x4 x6 Valores


z 1 0.4 0.5
x1 1 5 4 5 6

x3 1 1 0.6 1 0.3

x2 1 5 6 5 6

Se deben hacer 0 los coeficientes de las variables bsicas x1 , x2 y x3 en la funcin


objetivo

Variables Bsicas z x1 x2 x5 x3 x4 x6 Valores Relacin

19/02/2010 29
OPTIMIZACIN LINEAL

1.4 0.5
z 1 0.5 5.4
x1 1 5 4 5 6

x3 1 1 0.6 1 0.3 0.3

x2 1 5 6 5 6 1.2

A partir de ahora se ignoran los coeficientes de las variables artificiales para elegir
la variable bsica entrante para evitar que stas tomen valor positivo. Por tanto, se elige
x5 como variable bsica entrante y entonces x3 es la variable bsica saliente. Se hacen
0 los elementos de la columna pivote excepto el elemento pivote que se hace 1.

Variables Bsicas z x1 x2 x5 x3 x4 x6 Valores


z 1 0.5 1.1 5.25
x1 1 5 1 7.5

x5 1 1 0.6 1 0.3

x2 1 5 3 4.5

Como no aparecen costes reducidos negativos (excepto en una variable artificial) la


solucin ( x1 , x2 , x3 , x4 , x5 , x6 ) = (7.5, 4.5, 0, 0, 0.3, 0) es ptima y el valor de la funcin

objetivo es z = 5.25 .

I.4.7. Mtodo simplex revisado

El mtodo simplex en formato tabular efecta ms clculos de los estrictamente


necesarios en cada iteracin. De hecho en una iteracin cualquiera slo se necesitan los
coeficientes de la variable bsica entrante (la columna pivote) no los del resto de
variables no bsicas. El mtodo simplex revisado calcula en cada iteracin slo la
informacin que necesita en dicha iteracin. Por consiguiente, requiere menos clculo y
menos almacenamiento.

En forma tabular el mtodo simplex revisado se desarrolla sobre una tabla de


dimensiones (m + 1) (m + 1) , siendo m el nmero de restricciones. La tabla del mtodo
simplex revisado es la siguiente:

30 19/02/2010
MTODOS DE OPTIMIZACIN

xB Valores

wT = cBT B 1 z = cBT B 1b

B 1 b = B 1b
Tabla 2.5 Tabla (B) del simplex revisado en una iteracin cualquiera.

En cada iteracin se calculan los costes reducidos de las variables no bsicas


( c j = c j z j = c j wT a j ) fuera de la tabla para aplicar el criterio de optimalidad y, en su

caso, determinar la variable entrante, xt . Igualmente, se calcula la columna pivote fuera

de la tabla ( yt = B 1at ) para aplicar el criterio de salida y determinar la variable bsica

bs b
saliente ( = min i : yit > 0 ). El pivotamiento se hace sobre la tabla actual,
yst 1i m yit
suponiendo que existe una columna adicional (realmente no es aadida) que es la
columna pivote.

Obsrvese que todos los elementos necesarios de la iteracin anterior estn


recogidos en esta tabla del simplex revisado y que de una iteracin a otra los elementos
que se obtienen mediante pivotamiento son los mismos, pero actualizados con la nueva
base (consecuencia de la eliminacin gaussiana).

I.4.8. Forma producto de la inversa

El mayor esfuerzo computacional del mtodo simplex se lo llevan los clculos


asociados a la inversa de la base B 1 . La razn estriba en que, mientras la matriz base
B para problemas grandes suele ser cuasivaca, la inversa tiende a ser densa. En primer
lugar, este hecho disuade del clculo explcito de B 1 a partir de B en cada iteracin.
En segundo lugar, B cambia slo ligeramente en cada iteracin luego ser posible
actualizar tanto B como B 1 sin necesidad de recalcularlas en cada paso tal como se
hace en el mtodo simplex explicado hasta ahora. Para ello se utiliza el mtodo
denominado forma producto de la inversa, que es un avance del mtodo simplex
revisado.

19/02/2010 31
OPTIMIZACIN LINEAL

Como el cambio en la matriz base B se produce en una columna en cada iteracin


es fcil actualizar dicha matriz y tambin la inversa. Si en una iteracin cualquiera la
columna pivote corresponde a xt y la fila pivote es la s , la nueva matriz base B se
puede calcular a partir de la matriz B anterior mediante transformaciones elementales
simplemente reemplazando la columna s por la columna pivote yt . Como yt = B 1at o

Byt = at entonces

B = BF (1.16)

siendo

1


F = yt


1

obtenida a partir de la matriz identidad reemplazando la columna s por yt .

Si denominamos E = F 1 la nueva matriz inversa B 1 se obtendr a partir de la


anterior premultiplicando por la matriz E .

B 1 = EB 1 (1.17)

donde

1 y1t yst


E = siendo = 1 yst .


1 ymt yst

La matriz E se llama matriz elemental y esta forma de actualizar la matriz inversa


se denomina forma producto, porque representa la inversa de la base en cualquier
iteracin k como un producto de matrices elementales Ek de las iteraciones

(k 1, k 2, , 2,1) , suponiendo que la matriz base inicial es la matriz identidad.

32 19/02/2010
MTODOS DE OPTIMIZACIN

Bk1 = Ek 1 Ek 2 E2 E1 (1.18)

Veamos la actualizacin de la inversa de la base del ejemplo anterior con la forma

producto de la inversa. En la primera iteracin la columna pivote es yt = ( 2 2 ) y el


T

elemento pivote es el segundo, s = 2 . Luego

1 1
1 = 1 2 , E1 = 1 2 y B2 = E1 B1 = E1 = 1 2
1 1

1 1 1 1 1

En la segunda iteracin la columna pivote es yt = (1 3) y el elemento pivote es


T

el tercero, s = 3 . Luego

1 3 1 1 3 1 1 3 1 3

2 = , E2 = 1 1
y B3 = E2 E1 = 1 2
13 1 3 1 3 1 3

En la implantacin informtica ms que actualizar en cada iteracin la matriz se


almacenan las transformaciones elementales de manera compacta. Cuando el
almacenamiento ocupado es excesivo se elimina y se vuelve a refactorizar la matriz B 1
desde el principio.

De hecho, ni siquiera es necesario disponer de la inversa de la matriz base B 1 sino


utilizarla en productos de dicha matriz por vectores. Puede ser postmultiplicacin por un
vector como para el clculo del valor de las variables bsicas b = B 1b o de la columna
pivote yt = B 1at o premultiplicacin por un vector como en el caso del clculo de

wT = cBT B 1 .

La postmultiplicacin por un vector se realiza secuencialmente de esta forma

Bk1a = Ek 1 ( Ek 2 ( Ek 3 ( ( E2 ( E1a)) ))) (1.19)

premultiplicando en primer lugar el vector a por la matriz elemental E1 , el vector

resultante premultiplicndolo por E2 y as sucesivamente. Esta operacin se denomina


transformacin hacia delante (FTRAN) pues recorre hacia alante las matrices elementales

19/02/2010 33
OPTIMIZACIN LINEAL

La premultiplicacin por un vector se realiza secuencialmente de esta forma

cT Bk1 = (( (((cT Ek 1 ) Ek 2 ) Ek 3 ) ) E2 ) E1 (1.20)

postmultiplicando en primer lugar el vector cT por la matriz elemental Ek 1 , el vector

resultante postmultiplicndolo por Ek 2 y as sucesivamente. Esta operacin se


denomina transformacin hacia atrs (BTRAN) porque recorre hacia atrs las matrices
elementales.

Cada una de estas operaciones de producto matriz-vector es muy rpida y simple.


Sea E una matriz elemental con un vector en su columna s . El producto genrico
Ea resulta ser

1 1 a1 a1 1


Ea = s as = 0 + as s (1.21)


m
1 am am
m

de manera que ni siquiera la matriz elemental E necesita ser formada explcitamente.


Se reemplaza el trmino s del vector a por 0 y a dicho vector se le aade el vector
multiplicado por el escalar as .

El producto genrico cT E resulta ser

1 1

1

cT E = ( c1 c2 cs cm )
s (1.22)


m 1
= ( c1 c2 cs 1 cT cs +1 cm )

dejando el vector c sin modificacin excepto en el trmino s que es reemplazado por el


escalar cT .

34 19/02/2010
MTODOS DE OPTIMIZACIN

I.4.9. Factorizacin de la matriz base

En cada iteracin del mtodo simplex se realiza el clculo de los costes reducidos de
las variables no bsicas, del valor de las variables bsicas y de la columna pivote en
funcin de la inversa de la base B 1

wT = cBT B 1
b = B 1b (1.23)
1
yt = B at

Estos clculos se pueden expresar tambin como sistemas de ecuaciones en funcin


de la matriz base B

wT B = cBT
Bb = b (1.24)
Byt = at

La factorizacin LU de la matriz base expresa sta como producto de dos matrices

B = LU (1.25)

donde L y U son matrices triangular inferior y superior respectivamente. Estas


matrices mantienen la condicin de ser cuasivacas como la matriz A original. Por
consiguiente, se pueden aplicar tcnicas especficas de manejo de dichas matrices que
requieren poca memoria.

Inicialmente la matriz base B es la identidad. De la misma forma las matrices L y


U son tambin la identidad. La matriz base cambia (se actualiza) al realizar iteraciones
del simplex. De la misma forma se hace con las matrices triangulares. Despus de un
cierto nmero de iteraciones (por ejemplo, 100) deja de ser eficiente la actualizacin a
partir de matrices elementales. En ese momento se refactoriza la matriz base, es decir,
se calculan de nuevo la matrices triangulares L y U correspondientes y se empieza de
nuevo el proceso de actualizacin. En la iteracin final tambin se suele realizar una
refactorizacin.

19/02/2010 35
OPTIMIZACIN LINEAL

Con la factorizacin la resolucin de un sistema de ecuaciones se realiza en dos


etapas sin necesidad de invertir la matriz. Por ejemplo, para el clculo del valor de las
variables bsicas b

Bb = b
(1.26)
LUb = b

Si denominamos b1 = Ub se resuelve primeramente este sistema triangular hacia

delante para calcular b1

Lb1 = b (1.27)

y despus se resuelve este otro sistema triangular hacia atrs para calcular b

Ub = b1 (1.28)

Este mtodo de resolucin de sistemas de ecuaciones es numricamente ms estable


que el de forma producto de la inversa.

En cada iteracin del mtodo simplex se actualiza la matriz base B mediante una
matriz elemental F

B = BF (1.29)

siendo

1


F = yt


1

obtenida a partir de la matriz identidad reemplazando la columna s por yt .

Tambin se pueden calcular las nuevas matrices L y U .

B = LU (1.30)

36 19/02/2010
MTODOS DE OPTIMIZACIN

Luego, en una iteracin cualquiera, stas se pueden obtener como producto de


matrices elementales y de las matrices originales de la factorizacin de manera anloga
a como se hace en la forma producto de la inversa.

Alternativamente a la factorizacin LU se puede utilizar la descomposicin de


Cholesky

B = RT R (1.31)

donde R es una matriz triangular superior.

I.4.10. Estrategias de clculo de costes reducidos

Para aplicar el criterio de optimalidad en cada iteracin es necesario calcular los


costes reducidos de las variables no bsicas.

cTN cTN cTB B 1N

Hasta ahora se supona que se calculaban los costes reducidos de todas las variables
no bsicas y se seleccionaba como variable bsica entrante a aqulla con coste reducido
de menor valor negativo. Existen otras estrategias de clculo de costes reducidos y de
seleccin de la variable bsica entrante (denominadas pricing strategies en ingls).

La primera gran divisin es calcular los costes reducidos de todas las variables no
bsicas (full pricing) o slo de algunas (partial pricing). En el primer caso, se hace
mayor esfuerzo computacional en cada iteracin y, en principio, menor nmero de
iteraciones del simplex. En el segundo, lo contrario.

Entre las alternativas para la seleccin de la variable bsica entrante t estn:


1) La de coste reducido de menor valor negativo ct
2) La primera con coste reducido negativo ct
3) La de mayor decremento de la funcin objetivo calculado como ct x t , siendo ct

bi

el coste reducido de la variable no bsica y x t = min : yij > 0

1i m y

ij

19/02/2010 37
OPTIMIZACIN LINEAL

4) La de mayor mejora de la funcin objetivo por incremento unitario de la variable


cj
no bsica calculado como ct = min 2
, siendo y j = B 1a j . Esta
1 j n m
yj +1

estrategia es la ms utilizada habitualmente, en ingls se denomina steepest-


edge. Tiene la desventaja de que requiere el clculo de todos los costes
reducidos y el esfuerzo computacional adicional asociado al clculo del
denominador.

I.5. Dualidad

Supongamos un problema de programacin lineal, denominado problema primal


(P ) , expresado en forma estndar como

min z = cT x
Ax = b (P ) (1.32)
x 0

Supngase que se quiere calcular una cota inferior de la funcin objetivo de este
problema antes de resolverlo. Una forma de hacerlo sera operar con las filas de la
matriz, multiplicndolas por algn valor yT Ax = yTb y sumndolas entre ellas de

modo que no se superen los coeficientes de la funcin objetivo yT A cT , en tal caso el


lado derecho resultante de tales operaciones sera una cota inferior para el valor de la
funcin objetivo yTb cT x . Desde luego desearemos que esa cota sea lo ms alta
posible, ya que se podra asegurar que la funcin objetivo no puede ser menor que ese
valor.

Por lo tanto, el problema de encontrar esa cota inferior, sera el problema de


encontrar coeficientes y1 a ym para las filas de la matriz tales que al multiplicarlos por
las filas y sumarlos no superen los coeficientes de la funcin objetivo, es decir, tales que

AT y c

38 19/02/2010
MTODOS DE OPTIMIZACIN

y tal que el resultado obtenido en el lado derecho al operar sea mximo. Este nuevo
problema planteado a raz del anterior se denomina problema dual (D )

max y 0 = bT y
(D ) (1.33)
AT y c
m
siendo y el vector de variables del problema dual o variable duales.

Veamos un ejemplo de este razonamiento. Sea el siguiente problema primal

min 5x 1 3x 2 x 3 + 4x 4
x 1 2x 2 + 3x 3 + x 4 = 7
12x 1 9x 2 4x 3 4x 4 3
8x 1 5x 2 + 7x 3 + 9x 4 6
x 1 0, x 2 , x 3 libres, x 4 0

Queremos obtener una cota inferior de este problema. Definimos y1 , y2 e y 3 como


los pesos de las restricciones por ese orden. La combinacin lineal de las restricciones
resulta

y1(x 1 2x 2 + 3x 3 + x 4 ) + y2 (12x 1 9x 2 4x 3 4x 4 ) + y 3 (8x 1 5x 2 + 7x 3 + 9x 4 )

reagrupando trminos

(y1 + 12y2 + 8y 3 )x 1 + (2y1 9y2 5y 3 )x 2 + (3y1 4y2 + 7y 3 )x 3 + (y1 4y2 + 9y 3 )x 4

cada uno de estos coeficientes de x 1 , x 2 , x 3 y x 4 debe tener una relacin con el del
problema original. Como x 1 0 para que la funcin objetivo del nuevo problema sea
menor su coeficiente ha de ser menor y1 + 12y2 + 8y 3 5 . Como x 4 0 su
coeficiente ha de ser mayor y1 4y2 + 9y 3 4 . Como x 2 es libre la relacin entre sus
coeficientes depender del valor que tome. Si x2 0 entonces
2y1 9y2 5y 3 3 . Si x 2 0 , 2y1 9y2 5y 3 3 . La nica forma de que
se puedan cumplir ambas a la vez es 2y1 9y2 5y 3 = 3 . Anlogamente para x 3 ,
3y1 4y2 + 7y 3 = 1 . Luego las restricciones que deben cumplir los pesos para que la
combinacin lineal sea cota inferior son

19/02/2010 39
OPTIMIZACIN LINEAL

y1 + 12y2 + 8y 3 5
2y1 9y2 5y 3 = 3
3y1 4y2 + 7y 3 = 1
y1 4y2 + 9y 3 4

La ecuacin 7y1 3y2 + 6y 3 ha de tomar el mximo valor posible. Para ello se


sustituyen los coeficientes de y1 , y2 e y 3 en la combinacin lineal por sus cotas en las
restricciones del primal garantizando que la combinacin lineal siga siendo cota
inferior.

Como x 1 2x 2 + 3x 3 + x 4 = 7 , y1 puede tomar cualquier valor, es libre. Como


12x 1 9x 2 4x 3 4x 4 3 , para que se cumpla (12x 1 9x 2 4x 3 4x 4 )y2 3y2
necesariamente y2 0 . Como 8x 1 5x 2 + 7x 3 + 9x 4 6 , para que se cumpla
(8x 1 5x 2 + 7x 3 + 9x 4 )y 3 6y 3 necesariamente y 3 0 .

Luego el problema, denominado dual, que obtiene la mayor cota inferior del
problema primal original es

max 7y1 3y2 + 6y 3


y1 + 12y2 + 8y 3 5
2y1 9y2 5y 3 = 3
3y1 4y2 + 7y 3 = 1
y1 4y2 + 9y 3 4
y1 libre, y2 0, y 3 0

Cualquier problema de programacin lineal denominado primal tiene asociado a l


otro problema tambin de programacin lineal llamado dual. Tal como se observa en la
tabla siguiente, si el problema primal es de maximizacin con m restricciones y n
variables, (m n ) , el problema dual es de minimizacin con n restricciones y m
variables, (n m ) . Se elige este caso particular de optimizacin para facilitar la
presentacin de la dualidad pero son generalizables a cualquier problema de
optimizacin lineal.

40 19/02/2010
MTODOS DE OPTIMIZACIN

Primal (m n ) Dual (n m )
max z = cT x min y 0 = bT y
x y

Ax b AT y c
x 0 y0
n m
max z = c j x j min y 0 = biyi
xj yi
j =1 i =1
n m

a x ij j bi i = 1, , m a y
i =1
ij i c j j = 1, , n
j =1

x j 0 j = 1, , n yi 0 i = 1, , m

Para el ejemplo habitual el problema primal y dual son los siguientes

Primal Dual
max z = 3x 1 + 5x 2 min y 0 = 4y1 + 12y2 + 18y 3
x1 4 y1 +3y 3 3
2x 2 12 2y2 +2y 3 5
3x 1 +2x 2 18 y1, y2 , y3 0
x 1, x2 0

x 1 y
max z = 3 5 x 1
2 min y 0 = 4 12 18 y2


1 y 3
x 4
1
2 x 12
2 1 3 y1 3
3 2 18
2 2 y2 5
y
x 1 0 3

x 2 0 y 0
1
y 0
2

y 3 0

A continuacin se muestra la tabla completa (vista de izquierda a derecha o
viceversa segn sea el problema primal) que permite la transformacin de un problema
primal cualesquiera en su dual y viceversa.

19/02/2010 41
OPTIMIZACIN LINEAL

min max
Variable Restriccin

0
0
no restringida =

Restriccin Variable

0
0
= no restringida
Tabla 2.6 Tabla de conversin entre primal y dual.

A cada restriccin (variable) del primal le corresponde una variable (restriccin) del
dual. El tipo de restriccin (variable) del primal afecta al tipo de variable (restriccin)
del dual.

Como caso ejemplo general para observar la conversin entre primal y dual se
presenta el siguiente problema.

min c1x 1 + c2x 2 + c3x 3 max y1b1 + y2b2 + y 3b3


x1 ,x 2 ,x 3 y1 ,y2 ,y3

a11x 1 + a12x 2 + a13x 3 b1 y1a11 + y2a21 + y 3a 31 c1


a21x 1 + a22x 2 + a23x 3 b2 y1a12 + y2a22 + y 3a 32 c2
a 31x 1 + a 32x 2 + a 33x 3 = b3 y1a13 + y2a23 + y 3a 33 = c3
x 1 0, x 2 0, x 3 libre y1 0, y2 0, y 3 libre

Existe un conjunto de propiedades bsicas de dualidad que ligan las soluciones del
primal y dual.

Teorema: El dual del problema dual es el problema primal.

Propiedad de la simetra

Para cualquier problema primal y su dual, todas las relaciones entre ellos son
simtricas porque el dual de su dual es el primal.

Implcitamente las propiedades que siguen se muestran suponiendo que el primal es


de maximizacin y el dual de minimizacin, pero son completamente generalizables.

42 19/02/2010
MTODOS DE OPTIMIZACIN

Propiedad dbil de la dualidad

Si x es una solucin factible del primal e y es una solucin factible del dual, se

verifica que cT x bT y .

Propiedad fuerte de la dualidad

Si x es una solucin ptima del primal e y es una solucin ptima del dual, se

verifica que cT x = bT y .

Propiedad de soluciones bsicas complementarias

En cada iteracin del mtodo simplex se encuentra una solucin bsica (vrtice)
factible del primal y una solucin bsica complementaria infactible del dual tal que
cT x = bT y o z = y 0 . Si x no es ptima para el primal y no es factible para el dual.

Si la solucin bsica del primal est asociada a la base B , la solucin dual


complementaria tiene la expresin yT cTB B 1 . Ntese que son los coeficientes que
aparecen en la expresin de los costes reducidos del problema primal (denotados
entonces por wT ) y aparecen, cambiados de signo, en la tabla del mtodo simplex bajo
las variables bsicas iniciales x B . Luego, las variables duales son los coeficientes de las
variables bsicas iniciales en la funcin objetivo cambiados de signo.
Variables bsicas
z x N x B Cotas
z 1 cNT cTB B 1N cTB B 1 cTB B 1b
xB 0 B 1N B 1 B 1b
Tabla 2.7 Tabla (B) del simplex en una iteracin cualquiera.

A partir de esta expresin la comprobacin de la propiedad enunciada es inmediata


y se explican las relaciones de transformacin de un problema a otro.

Propiedad de solucin bsica ptima complementaria

En la iteracin final se encuentra simultneamente la solucin bsica ptima x del


primal y la bsica ptima complementaria y del dual y se verifica cT x = bT y o z = y0 .

19/02/2010 43
OPTIMIZACIN LINEAL

Es decir, en el ptimo del problema primal la solucin dual complementaria es tambin


ptima para el problema dual.

Adems, esta solucin dual puede ser fcilmente identificada en la forma tabular del
simplex, corresponde a los coeficientes de las variables bsicas iniciales (variables de
holgura y artificiales) en la funcin objetivo. Para las variables de holgura, la solucin
dual complementaria puede ser vista en los costes reducidos de estas variables,
simplemente cambiando el signo. Si la variable fuera de exceso es todava ms directo,
ya que no habra que cambiar el signo. Slo en el caso de las restricciones donde no se
hayan introducido variables de holgura o exceso, es decir, restricciones de igualdad (o si
se hubieran eliminado las variables artificiales tras la fase I) no es posible ver el valor
de las variables duales asociadas a esas restricciones.
Variables bsicas
z x N x B Cotas
z 1 variables duales de variables duales cTB B 1b
exceso y de holgura originales
xB 0 B 1N B 1 B 1b
Propiedad de la complementariedad de holguras

Si una solucin ptima del primal tiene una variable de holgura o exceso > 0 en una
restriccin (es decir, es variable bsica > 0), la variable dual asociada a esa restriccin
tiene valor 0 y, de la misma forma, si una variable original del primal (no las de
holgura, exceso o artificiales) en el ptimo tiene valor > 0, su correspondiente
restriccin del dual no tiene holgura (es decir, su variable asociada del dual es 0). Por el
contrario, si una variable de holgura o exceso del primal es 0 en el ptimo, la variable
dual asociada a dicha restriccin puede tener un valor distinto de 0 (positivo o negativo
segn corresponda al tipo de restriccin y de funcin objetivo maximizacin o
minimizacin) en el ptimo del problema dual.

Supongamos, los problemas primal y dual ya mencionados

min z = cT x
Ax = b (P )
x 0

44 19/02/2010
MTODOS DE OPTIMIZACIN

max y 0 = bT y
(D )
AT y c

Introducimos variables de holgura en las restricciones del problema dual

max y 0 = bT y
AT y + s = c
s0

Alternativamente, la propiedad de la complementariedad de holguras para las


soluciones ptimas se puede expresar como

x js j = 0 j = 1, , n (1.34)

Esta propiedad impide que los valores de x j y de s j en las soluciones ptimas de

primal y dual sean simultneamente diferentes de 0. Por otra parte, permite que ambos
sean 0.

Sean dos puntos factibles del problema primal y dual, es decir, que cumplen

Ax = b x 0
(1.35)
AT y + s = c s 0

Se define el intervalo de dualidad (duality gap) como la diferencia


n
cT x bT y = (AT y + s )T x bT y = yT Ax + sT x bT y = x T s = x s
j =1
j j (1.36)

Para las respectivas soluciones ptimas del problema primal y dual este intervalo de
dualidad es 0 segn la propiedad de la complementariedad de holguras.

Teorema de dualidad

Las nicas relaciones posibles entre primal y dual son:


1. Si un problema tiene soluciones ptimas factibles entonces tambin las tiene el otro.
Se pueden aplicar las propiedades dbil y fuerte de dualidad.
2. Si un problema tiene soluciones factibles y funcin objetivo no acotada, el otro
problema no tiene soluciones factibles.

19/02/2010 45
OPTIMIZACIN LINEAL

3. Si un problema no tiene soluciones factibles, el otro o no tiene soluciones factibles o


no tiene funcin objetivo acotada.

Otra forma de expresar estas mismas relaciones entre primal y dual es el lema de
Farkas. Sea el problema en su forma estndar

min cT x
Ax = b (1.37)
x 0

Entonces exactamente uno de los dos sistemas de ecuaciones siguientes tiene


solucin.

Sistema 1: AT x = b y x 0 para algn x n

Sistema 2: AT y 0 y bT y > 0 para algn y m

Veamos estas propiedades en el caso ejemplo.

max z = 3x 1 + 5x 2
x1 4
2x 2 12 (P )
3x 1 +2x 2 18
x 1, x2 0

El problema dual de ste es

min y 0 = 4y1 + 12y2 + 18y 3


y1 +3y 3 3
(D )
2y2 +2y 3 5
y1 , y2 , y3 0

Sea el problema primal anterior en su forma estndar y la tabla inicial


correspondiente

46 19/02/2010
MTODOS DE OPTIMIZACIN

min z = 3x 1 5x 2
x1 +x 3 =4
2x 2 +x 4 = 12
3x 1 +2x 2 +x 5 = 18
x 1, x 2, x 3, x 4, x5 0

Variables bsicas x1 x2 x3 x4 x5
z Cotas
z 1 3 5 0
x3 1 1 4
x4 2 1 12
x5 3 2 1 18
El problema dual en forma estndar, aunque sin aadir variables artificiales porque
no lo queremos resolver por el mtodo simplex tal como se ha explicado, y la tabla
inicial correspondiente son

min y 0 = 4y1 + 12y2 + 18y 3


y1 +3y 3 y 4 =3
2y2 +2y 3 y5 =5
y1 , y2 , y3, y4, y5 0

Variables bsicas y0 y4 y5 y1 y2 y3 Cotas


y 0 1 4 12 18 0
y 4 1 1 3 3
y5 1 2 2 5
La solucin bsica factible inicial para el problema primal es

(x 1, x 2 , x 3 , x 4 , x 5 ) = (0, 0, 4,12,18) , siendo x TB = x 3 x4 x 5 y x TN = x 1 x 2 , y la



funcin objetivo z = 0 . Para el problema dual la solucin bsica infactible

correspondiente es (y1, y2, y 3 , y 4 , y5 ) = (0, 0, 0, 3, 5) , siendo yTB = y 4 y5 y


yTN = y1 y2 y 3 , con funcin objetivo y0 = 0 .


Los valores de las variables del problema dual (variables duales) corresponden a los
coeficientes de las variables del problema primal en la funcin objetivo. Las variables

19/02/2010 47
OPTIMIZACIN LINEAL

originales del problema dual en las columnas correspondientes a las variables bsicas
iniciales del problema primal y las variables de exceso del problema dual en las
columnas de las variables no bsicas iniciales del primal. En cualquier iteracin,
excepto la ltima, del mtodo simplex aplicado al problema primal algn coste reducido
de las variables no bsicas toma valor negativo luego existe una variable dual negativa,
luego el problema dual para esa solucin bsica es infactible.

En el ptimo del problema primal se tienen la siguiente tabla

Variables bsicas z x1 x2 x3 x4 x5 Cotas

z 1 3/2 1 36

x3 1 1/3 1/3 2

x2 1 1/2 6

x1 1 1/3 1/3 2

La solucin bsica ptima del primal es (x 1, x 2 , x 3 , x 4 , x 5 ) = (2, 6,2, 0, 0) y z = 36


para el de minimizacin, z = 36 para el original de maximizacin. sta es la solucin

ptima porque los costes reducidos de las variables no bsicas cTN = 3 / 2 1 son no

negativos. Las variables duales de este problema de minimizacin son
(y1, y2, y 3 ) = (0, 3 / 2, 1) , los costes reducidos de las variables bsicas originales
cambiados de signo. Las variables duales del problema original de maximizacin son
las opuestas (y1, y2 , y 3 ) = (0, 3 / 2,1) .

Para el problema dual la tabla final es la siguiente


Variables bsicas y0 y4 y5 y1 y2 y3 Cotas
y 0 1 2 6 2 36
y3 1/3 1/3 1 1
y2 1/3 1/2 1/3 1 3/2
La solucin bsica ptima del dual es (y1, y2, y 3 , y 4 , y5 ) = (0, 3 / 2,1, 0, 0) e y0 = 36 .
sta es la solucin ptima porque los costes reducidos de las variables no bsicas

cTN = 2 6 2 son no negativos. Las variables duales de este problema son


48 19/02/2010
MTODOS DE OPTIMIZACIN

(x 1, x 2 ) = (2, 6) , corresponden a los costes reducidos de las variables de exceso y 4 e y5


sin cambiar de signo.

En el ptimo del problema primal la primera restriccin no es activa, por ser su


variable de holgura x 3 estrictamente positiva, mientras que las dos ltimas restricciones
lo son por ser nulas las variables de holgura correspondientes, x 4 y x 5 . Efectivamente,
en el problema dual la variable y1 asociada a la primera restriccin toma valor 0,
mientras que las variables y2 y y 3 correspondientes a la segunda y tercera toman valor
no nulo.

En cuanto a la interpretacin de las variables duales, stas tienen un claro sentido


econmico en el propio problema primal. Obsrvese que dadas las relaciones existentes
entre ambos problemas se ha dicho que los valores ptimos de ambos problemas son
iguales, es decir, suponiendo un problema primal de maximizacin se tiene que

max cT x = min bT y

o lo que es lo mismo,
n m
max c j x j = min biyi
j =1 i =1

Por lo tanto, si se incrementa una unidad la disponibilidad de un recurso bi el


ptimo de la funcin objetivo se ver incrementado en yi unidades, es decir, las
variables duales representan el valor marginal de cada recurso, tambin llamado precio
sombra o precio justo, ya que representa la cantidad mxima que se podra llegar a
pagar por una unidad ms de recurso.

Las variables bsicas son estrictamente positivas. Si alguna de las variables de


holgura o exceso es bsica entonces la variable dual de dicha restriccin es 0 (propiedad
de la complementariedad de holguras). Econmicamente es evidente, ya que si hay
holgura de un recurso su precio marginal es cero, no se est dispuesto a pagar por
disponer de una unidad ms.

Hay que tener precaucin con esta interpretacin pues todo tiene un lmite, es decir,
esto ser cierto mientras no cambie el valor de las variables duales, lo que se puede

19/02/2010 49
OPTIMIZACIN LINEAL

asegurar mientras la base actual sea ptima (ya que como hemos visto las variables
duales tienen la expresin yT = cTB B 1 , luego no dependen de b ). De ah que una
interpretacin completa de una solucin requiera tambin el anlisis de los lmites en
que puede darse esta interpretacin. El clculo de estos lmites corresponden a lo que se
denomina anlisis de sensibilidad que se presenta en la siguiente seccin.

Veamos a continuacin un ejemplo muy sencillo de planificacin de la operacin de


sistemas de energa elctrica escrito en GAMS. El problema primal es la minimizacin
de los costes variables de explotacin de un sistema para una hora, denominado
problema de despacho econmico. El problema dual corresponde a la maximizacin de
la funcin de utilidad de consumidores y generadores.

Se trata de un sistema elctrico con tres generadores cuya potencia mxima es de


200, 200 y 100 MW y con costes variables de 30, 50 y 70 /MWh. La demanda a cubrir
es de 300 MW.

min c1P1 + c2P2 + c3P3


P1 ,P2 ,P3
max d + P11 + P2 2 + P3 3
P1 +P2 +P3 d : ,1 ,2 ,3

+1 c1 : P1
P1 P1 : 1
+2 c2 : P2
P2 P2 : 2
+3 c3 : P3
P3 P3 : 3
0 1, 2 , 3 0
P1, P2 , P3 0
set i grupos de generacin / g1 * g3 /

parameter
cv(i) coste variable / g1 30, g2 50, g3 70 /
ptmx(i) potencia mxima / g1 200, g2 200, g3 100 /

scalar dem demanda / 300 /

positive variables P(i) potencia producida


variable coste

equations
fo coste variable total
demanda cobertura de la demanda
prodmax(i) limitacin de la potencia producida ;

fo .. coste =E= sum[i, cv(i) * P(i)] ;


demanda .. sum[i, P(i)] =G= dem ;
prodmax(i) .. P(i) =L= ptmx(i) ;

model opera / all /

solve opera using lp minimizing coste

50 19/02/2010
MTODOS DE OPTIMIZACIN

Solution Report SOLVE opera Using LP From line 23

S O L V E S U M M A R Y

MODEL opera OBJECTIVE coste


TYPE LP DIRECTION MINIMIZE
SOLVER CPLEX FROM LINE 23

**** SOLVER STATUS 1 NORMAL COMPLETION


**** MODEL STATUS 1 OPTIMAL
**** OBJECTIVE VALUE 11000.0000

RESOURCE USAGE, LIMIT 0.530 1000.000


ITERATION COUNT, LIMIT 0 10000

GAMS/Cplex May 15, 2003 WIN.CP.CP 21.0 023.025.041.VIS For Cplex 8.1
Cplex 8.1.0, GAMS Link 23

Optimal solution found.


Objective : 11000.000000

LOWER LEVEL UPPER MARGINAL

---- EQU fo . . . 1.0000


---- EQU demanda 300.0000 300.0000 +INF 50.0000

fo coste variable total


demanda cobertura de la demanda

---- EQU prodmax limitacin de la potencia producida

LOWER LEVEL UPPER MARGINAL

g1 -INF 200.0000 200.0000 -20.0000


g2 -INF 100.0000 200.0000 .
g3 -INF . 100.0000 .

---- VAR P potencia producida

LOWER LEVEL UPPER MARGINAL

g1 . 200.0000 +INF .
g2 . 100.0000 +INF .
g3 . . +INF 20.0000

LOWER LEVEL UPPER MARGINAL

---- VAR coste -INF 11000.0000 +INF .

set i grupos de generacin / g1 * g3 /

parameter
cv(i) coste variable / g1 30, g2 50, g3 70 /
ptmx(i) potencia mxima / g1 200, g2 200, g3 100 /

scalar dem demanda / 300 /

positive variable LA precio marginal


negative variables MU(i) precio marginal
variable benef

equations
fo remuneracin total
prgrupo(i) limitacin del pago al grupo ;

19/02/2010 51
OPTIMIZACIN LINEAL

fo .. benef =E= dem * LA + sum[i, ptmx(i) * MU(i)] ;


prgrupo(i) .. LA + MU(i) =L= cv(i) ;

model opera / all /

solve opera using lp maximizing benef

Solution Report SOLVE opera Using LP From line 22

S O L V E S U M M A R Y

MODEL opera OBJECTIVE benef


TYPE LP DIRECTION MAXIMIZE
SOLVER CPLEX FROM LINE 22

**** SOLVER STATUS 1 NORMAL COMPLETION


**** MODEL STATUS 1 OPTIMAL
**** OBJECTIVE VALUE 11000.0000

RESOURCE USAGE, LIMIT 0.030 1000.000


ITERATION COUNT, LIMIT 2 10000

GAMS/Cplex May 15, 2003 WIN.CP.CP 21.0 023.025.041.VIS For Cplex 8.1
Cplex 8.1.0, GAMS Link 23

Optimal solution found.


Objective : 11000.000000

LOWER LEVEL UPPER MARGINAL

---- EQU fo . . . 1.0000

fo remuneracin total

---- EQU prgrupo limitacin del pago al grupo

LOWER LEVEL UPPER MARGINAL

g1 -INF 30.0000 30.0000 200.0000


g2 -INF 50.0000 50.0000 100.0000
g3 -INF 50.0000 70.0000 .

LOWER LEVEL UPPER MARGINAL

---- VAR LA . 50.0000 +INF .

LA precio marginal

---- VAR MU precio marginal

LOWER LEVEL UPPER MARGINAL

g1 -INF -20.0000 . .
g2 -INF . . 100.0000
g3 -INF . . 100.0000

LOWER LEVEL UPPER MARGINAL

---- VAR benef -INF 11000.0000 +INF .

El coste variable total resultante es de 11000 . El grupo 1 produce sus 200 MW y el


grupo 2 produce 100 MW y es el marginal. Para este problema, la variable dual de la

52 19/02/2010
MTODOS DE OPTIMIZACIN

ecuacin de la demanda indica el incremento en costes variables del sistema por


incremento marginal de la demanda. Tiene un valor de 50 /MWh, lo que quiere decir
que si la demanda se incrementara en 1 MW el coste variable total se incrementara en
50 . Corresponde al coste variable del grupo marginal.

Una aplicacin directa de la dualidad se plantea a la hora de resolver un problema ya


que, como se ha visto, resolviendo uno u otro se obtiene la misma solucin ptima.
Entonces, dado un problema primal cualquiera y sabiendo que se puede obtener su dual
y resolverlo, cul de los dos se debe resolver? Sabiendo que el tiempo de resolucin
crece proporcionalmente a m 3 , si m n entonces se resolver el problema primal y si
m n se resolver el problema dual en estas etapas: (i) se pasa del primal al dual, (ii)
se resuelve el dual y (iii) se pasa de nuevo del dual al primal.

I.6. Anlisis de sensibilidad

El anlisis de sensibilidad o de postoptimalidad estudia los efectos sobre la solucin


ptima debidos a cambios en cualquier parmetro del problema de optimizacin lineal
A , b o c partiendo de la solucin ptima ya alcanzada.

Observando la tabla 2.8, tabla del simplex en cualquier iteracin, se advierte que las
columnas de la tabla bajo las variables bsicas iniciales x B no dependen de los

parmetros del problema original. Entonces, si stos cambian ( b b , A A o


cN cN ) se debern recalcular para los nuevos valores solamente los bloques de la
tabla que se alteran y continuar a partir de ah con el mtodo simplex.

Variables Bsicas z x N x B Valores


z 1 cNT cTB B 1N cTB B 1 cTB B 1b
xB 0 B 1N B 1 B 1b
Tabla 2.8 Tabla del simplex (B) en una iteracin cualquiera con cambios en parmetros.

Tambin se pueden determinar los cambios de manera incremental. Si


( b b + b , A A + A y cN cN + cN ) la tabla presenta ahora este aspecto

19/02/2010 53
OPTIMIZACIN LINEAL

Variables Bsicas z x N x B Valores


z cNT cTB B 1N cTB B 1b
xB B 1N B 1b
Tabla 2.9 Cambios incrementales en la tabla del simplex (B) en una iteracin cualquiera con
cambios en parmetros.

Luego las modificaciones de los bloques correspondientes se pueden escribir como


cTN = cNT cTB B 1N , z = wT b , b = B 1b

El procedimiento genrico completo de anlisis de sensibilidad tiene estas etapas:

1) introduccin de los cambios en los bloques correspondientes de la tabla del


simples

2) preparacin para adecuarla a una iteracin del simplex (funcin objetivo con
coeficientes nulos en variables bsicas y matriz identidad en las columnas de
dichas variables)

3) prueba de factibilidad (todas las variables bsicas no negativas)

4) prueba de optimalidad (costes reducidos de las variables no bsicas no


negativos en un problema de minimizacin)

5) nueva iteracin del mtodo simplex o del mtodo simplex dual (ste se ve en
un siguiente apartado)

En el ejemplo habitual se ha hecho mediante GAMS anlisis de sensibilidad con


respecto a las cotas de las restricciones y a los coeficientes de la funcin objetivo y da
estos resultados.

max z = 3x 1 + 5x 2
x1 4
2x 2 12
3x 1 +2x 2 18
x 1, x2 0
positive variables x1, x2

54 19/02/2010
MTODOS DE OPTIMIZACIN

variable z

equations fo, r1, r2, r3 ;

fo .. z =e= 3 * x1 + 5 * x2 ;
r1 .. x1 =l= 4 ;
r2 .. 2 * x2 =l= 12 ;
r3 .. 3 * x1 + 2 * x2 =l= 18 ;

model caso / all / ;

caso.optfile= 1

solve caso maximazing z using lp

Solution Report SOLVE caso Using LP From line 15

S O L V E S U M M A R Y

MODEL caso OBJECTIVE z


TYPE LP DIRECTION MAXIMIZE
SOLVER CPLEX FROM LINE 15

**** SOLVER STATUS 1 NORMAL COMPLETION


**** MODEL STATUS 1 OPTIMAL
**** OBJECTIVE VALUE 36.0000

RESOURCE USAGE, LIMIT 0.010 1000.000


ITERATION COUNT, LIMIT 0 10000

GAMS/Cplex May 15, 2003 WIN.CP.CP 21.0 023.025.041.VIS For Cplex 8.1
Cplex 8.1.0, GAMS Link 23

User supplied options:


objrng all
rhsrng all

Optimal solution found.


Objective : 36.000000

EQUATION NAME LOWER CURRENT UPPER


------------- ----- ------- -----
fo -INF 0 +INF
r1 2 4 +INF
r2 6 12 18
r3 12 18 24

VARIABLE NAME LOWER CURRENT UPPER


------------- ----- ------- -----
x1 -3 0 4.5
x2 -3 0 +INF
z 0 1 +INF

LOWER LEVEL UPPER MARGINAL

---- EQU fo . . . 1.000


---- EQU r1 -INF 2.000 4.000 .
---- EQU r2 -INF 12.000 12.000 1.500
---- EQU r3 -INF 18.000 18.000 1.000

LOWER LEVEL UPPER MARGINAL

---- VAR x1 . 2.000 +INF .


---- VAR x2 . 6.000 +INF .
---- VAR z -INF 36.000 +INF .

19/02/2010 55
OPTIMIZACIN LINEAL

A continuacin se analizan especficamente algunos cambios: en las cotas de las


restricciones, en un coeficiente de una variable en las restricciones o en la funcin
objetivo, introduccin de una nueva variable o restriccin.

I.6.1. Cambios en cotas de restricciones

Observando la tabla 2.8 se ve que los cambios en las cotas de las restricciones slo
afectan al valor de la funcin objetivo y a los valores de las variables bsicas. Como
stos se pueden hacer negativos se puede perder factibilidad. En este caso, se aplica el
mtodo simplex dual que se ver ms adelante.

Geomtricamente, los cambios en las cotas de las restricciones suponen desplazar


paralelas a s mismas las restricciones. Dado que el punto ptimo viene dado por las
restricciones que son activas, al realizar este desplazamiento tambin se desplaza el
punto ptimo. El nuevo punto puede seguir dentro de la regin factible, en cuyo caso
sigue siendo el ptimo o quedar fuera, con lo que hay que aplicar el mtodo
denominado simplex dual para volver a la regin factible, es decir, recuperar la
factibilidad.

Veamos un ejemplo de cambio de la cota en la segunda restriccin del problema.


4 4


Las cotas pasan de ser b = 12 a tomar el valor b = 24 . La inversa de la matriz base

18 18

1 1/ 3 1/ 3
1
=

en la iteracin final era B 1/ 2 y las variables duales
1/ 3 1/ 3

yT = cTB B 1 = 3 / 2 1 .

56 19/02/2010
MTODOS DE OPTIMIZACIN

El nuevo valor de la funcin objetivo ser



4

z = cTB B 1b = yTb = 3 / 2 1 24 = 54 y el de las variables bsicas

18

1 1/ 3 1/ 3 4 6
x B = b = B 1b

= 1/ 2

24 = 12 , que resulta ser infactible por tomar

1/ 3 1/ 3 18 2

un valor negativo.

Estos cambios se pueden realizar tambin de forma incremental



z = z + z = z + yT b = 36 + 3 / 2 1 12 = 36 18 = 54

2 1 1/ 3 1/ 3 2 4 6


1
x B = x B + x B = x B + B b = 6 + 1/ 2 12 = 6 + 6 = 12

2 1/ 3 1/ 3 2 4 2

Es interesante determinar tambin el intervalo de valores para los que la solucin
bsica ptima se mantiene factible cambiando nicamente el valor de bi en el problema.

Continuando con el ejemplo de incremento de la cota de la segunda restriccin


2 1/ 3
2 + b2 / 3 0

1

b = b + B b = 6 + 1/ 2 b2 0 . Por tanto, 6 + b2 / 2 0



. Es decir,

2 1/ 3
2 b / 3 0




2


b2 6 , b2 12 y b2 6 . Luego, 6 b2 6 da el intervalo de
modificacin de la cota de la segunda restriccin sin que se pierda factibilidad con la
misma solucin bsica factible.

19/02/2010 57
OPTIMIZACIN LINEAL

I.6.2. Cambio en un coeficiente de una variable no bsica

Se analiza el cambio en los coeficientes de una variable no bsica en la iteracin


final o bien en la funcin objetivo cTN = cNT cTB B 1N o bien en las restricciones

B 1N . Estos cambios no afectan a la factibilidad de la solucin pero pueden afectar a


la optimalidad. Geomtricamente, el cambio de un coeficiente de una variable en la
funcin objetivo, sea bsica o no, supone un cambio de direccin de optimizacin, pero
no afecta a la regin factible. As pues, lo nico que puede ocurrir es que el punto
ptimo actual deje de serlo y haya que iterar para encontrar el nuevo ptimo.

Si cTN = cNT cTB B 1N 0 la solucin sigue siendo ptima. Se puede determinar


el intervalo de valores del coeficiente de la variable no bsica en la funcin objetivo
(cambiando solamente ste) para los que se mantiene la optimalidad. En caso contrario
la solucin no es ptima, sta ser la nueva variable bsica entrante y se debe continuar
con el mtodo simplex.

De acuerdo con esta expresin el coste reducido se puede interpretar como la


cantidad mnima en que tiene que reducirse el coeficiente de la variable en la funcin
objetivo para que interese realizar esa actividad (incrementar desde 0), o bien como el
mximo decremento permisible de dicho coeficiente para mantener la actual solucin
bsica factible como ptima.

I.6.3. Introduccin de una nueva variable

Es un caso particular de la situacin anterior. Una variable que no existe es


equivalente a una variable no bsica en la solucin final (igual a 0) a la que se le
cambian los coeficientes de la funcin objetivo y de las restricciones.

Para introducir una nueva variable se calcula el coste reducido de la variable y si


ste es menor que 0 ser una variable cuyo valor interese aumentar y por lo tanto hay
que introducirla en la tabla. Para ello se calcula B 1a j y se aade como columna de esa

variable en la tabla y su coste reducido en la fila de la funcin objetivo. A continuacin


se sigue con las iteraciones del simplex.

58 19/02/2010
MTODOS DE OPTIMIZACIN

I.6.4. Cambio en un coeficiente de una variable bsica

El cambio en un coeficiente de una variable bsica en la iteracin final (aunque era


una variable no bsica en la iteracin inicial) en la funcin objetivo supone un cambio
en todos los costes reducidos de las variables no bsicas que han de ser actualizados.
Una vez hecho esto, la solucin actual puede seguir siendo ptima (con diferente valor
de la funcin objetivo) o no, en cuyo caso hay que seguir iterando con el mtodo
simplex (prdida de optimalidad).

El cambio de algn coeficiente de una variable bsica en la matriz de restricciones


B 1N altera la tabla del simplex de manera que se requiere ponerla de nuevo en la
forma adecuada para eliminacin gaussiana. Esto puede causar prdida de factibilidad
(resuelto mediante mtodo simplex dual) y/o de optimalidad (resuelto mediante mtodo
simplex), e incluso las variables bsicas actuales pueden dejar de formar una base,
requiriendo la introduccin de una variable artificial que la sustituya en la base.

I.6.5. Introduccin de nueva restriccin

Al introducir una nueva restriccin se comprueba si sta se satisface para la solucin


ptima. Si lo hace, la solucin sigue siendo ptima. Si no, se introduce la restriccin en
la tabla final del simplex con la variable de holgura, por exceso o artificial, que se toma
como variable bsica. Se prepara la tabla para eliminacin gaussiana y se sigue con el
mtodo simplex dual ya que se ha perdido factibilidad.

Es importante apuntar, que dado que la solucin ptima actual no verifica la


restriccin aadida, al introducirla en la tabla y adaptar sta para la eliminacin
gaussiana, necesariamente el valor de la variable bsica en esa restriccin ha de ser
negativo, pues en caso contrario, es que la solucin actual s verificaba la restriccin.

I.7. Mtodo simplex dual

El mtodo simplex dual es conveniente utilizarlo cuando:

19/02/2010 59
OPTIMIZACIN LINEAL

1) Se necesitan introducir muchas variables artificiales para construir una


solucin bsica factible inicial

2) Se hace infactible la solucin ptima tras una perturbacin en anlisis de


sensibilidad

Opera en el problema primal como si el mtodo simplex se aplicara


simultneamente al problema dual. Maneja soluciones bsicas que satisfacen la
condicin de optimalidad del primal (la solucin dual complementaria es factible),
aunque no sean factibles para el primal, y se mueve hacia la solucin ptima para
conseguir factibilidad del primal, sin perder nunca la factibilidad dual (optimalidad
primal). Es decir, mantiene los coeficientes de la ecuacin de la funcin objetivo
mayores o iguales que cero y los de las cotas de las restricciones con alguno
estrictamente negativo, excepto en el ptimo en que logra la factibilidad primal.

Este mtodo, por lo tanto, se mueve por fuera de la regin factible, movindose por
vrtices exteriores (infactibles) con mejor valor de la funcin objetivo que el ptimo que
luego se alcanza y entra en la regin factible slo al alcanzar el ptimo.

A continuacin se presenta el procedimiento del mtodo simplex dual

1) Inicializacin

Se parte de una solucin bsica que cumpla el criterio de optimalidad (dual factible),
es decir, cuyos costes reducidos sean todos mayores o iguales que 0.

Si la solucin es factible (todas las variables bsicas tienen valor 0), la solucin
es ptima. En caso contrario, iterar.

2) Iteracin

a. Determinar la variable bsica saliente (variable bsica con valor


negativo) que determina la fila pivote s .

Se suele elegir dentro de las negativas la mayor en valor absoluto, aunque esto
no garantiza una convergencia ms rpida.

b. Determinar la variable bsica entrante

60 19/02/2010
MTODOS DE OPTIMIZACIN

Se ha de utilizar un criterio de relacin semejante al del mtodo simplex primal


para asegurar que se mantiene la factibilidad dual. De entre las variables que
tienen coeficientes < 0 en la fila pivote se selecciona aqulla que minimice en
valor absoluto el cociente entre el coste reducido y su coeficiente en la fila
pivote s :


cj z j

min : y < 0

1 j n
sj
ysj

En el caso de que no haya ningn elemento estrictamente menor que cero en la


fila pivote, quiere decir que el problema dual no est acotado y, por lo tanto, el
problema primal es infactible.
c. Determinar la nueva solucin bsica por eliminacin gaussiana.
Veamos con un ejemplo el mtodo simplex dual. Sea el siguiente problema de
programacin lineal

min 4x 1 + x 2
3x 1 + x 2 3
4x 1 + 3x 2 6
x 1 + 2x 2 4
x 1, x 2 0

Como las restricciones son de tipo habra que introducir muchas variables
artificiales y emplear el mtodo de las dos fases para solucionarlo. En su lugar, se
transforman las restricciones en tipo y se aplica el mtodo simplex dual.

min 4x 1 + x 2
3x 1 x 2 3
4x 1 3x 2 6
x 1 2x 2 4
x 1, x 2 0

Una vez transformado en la forma estndar se obtiene el siguiente problema y la


siguiente tabla del simplex

19/02/2010 61
OPTIMIZACIN LINEAL

min 4x 1 + x 2
3x 1 x 2 + x 3 = 3
4x 1 3x 2 + x 4 = 6
x 1 2x 2 + x 5 = 4
x 1, x 2 , x 3 , x 4 , x 5 0
Variables Bsicas z x 1 x 2 x 3 x 4 x 5 Valores
Relacin 1 1/3
z 1 4 1
x3 3 1 1 3
x4 4 3 1 6
x5 1 2 1 4
Obsrvese cmo la tabla tiene las caractersticas necesarias para utilizar el simplex
dual: coeficientes de la funcin objetivo mayores o iguales que 0 (factibilidad del dual,
optimalidad del primal) y alguna cota de las restricciones negativa (no optimalidad del
dual, infactibilidad del primal).

Se elige x 4 como variable bsica saliente por tener el mayor coeficiente negativo en
la funcin objetivo del dual (mayor valor negativo de cota). sta define la fila pivote. Se
calcula la relacin entre los coeficientes de la funcin objetivo y los estrictamente
negativos de la fila pivote. Se elige como variable bsica entrante x 2 , aqulla con menor
relacin en valor absoluto, ser la primera que alcance valor 0 al incrementar x 4 . Se
realizan ahora las transformaciones sobre la tabla para prepararla para la eliminacin
gaussiana.
Variables Bsicas z x 1 x 2 x 3 x 4 x 5 Valores
Relacin 8/5 1
z 1 8/3 1/3 2
x3 5/3 1 1/3 1
x2 4/3 1 1/3 2
x5 5/3 2/3 1
Se elige x 3 como variable bsica saliente y x 4 como variable bsica entrante y se
hacen las transformaciones pertinentes.
Variables Bsicas x1 x 2 x 3 x 4 x 5 Valores
z 1 1 1 3
x4 5 3 1 3
x2 3 1 1 3
x5 5 2 1 2

62 19/02/2010
MTODOS DE OPTIMIZACIN

sta es la solucin ptima (x 1, x 2 , x 3 , x 4 , x 5 ) = (0, 3, 0, 3,2) y la funcin objetivo


z = 3 . Las variables duales son (y1, y2 , y 3 ) = (1, 0, 0) para las restricciones de , para
las restricciones originales sern (y1, y2 , y 3 ) = (1, 0, 0) .

Veamos el problema dual del problema original y la tabla inicial del simplex para
este problema

max y 0 = 3y1 + 6y2 + 4y 3


3y1 + 4y2 + y 3 4
y1 + 3y2 + 2y 3 1
y1, y 2 , y 3 0

Variables Bsicas y 0 y1 y2 y 3 y 4 y5 Valores Relacin


y 0 1 3 6 4
y4 3 4 1 1 4 1
y5 1 3 2 1 1 1/3
Entra la variable y2 y sale la variable y5 . Reorganizando la matriz de restricciones
queda la siguiente tabla.

Variables Bsicas y 0 y1 y2 y 3 y 4 y5 Valores Relacin


y 0 1 1 2 2
y4 5/3 5/3 1 4/3 8/3 8/5
y2 1/3 1 2/3 1/3 1/3 1
Entra la variable y1 y sale la variable y2 . Reorganizando la matriz de restricciones
queda la siguiente tabla, que corresponde a la solucin ptima.

Variables Bsicas y 0 y1 y2 y 3 y 4 y5 Valores


y 0 1 3 2 3 3
y4 5 5 1 3 1
y1 1 3 2 1 1
La solucin ptima es (y1, y2 , y 3 , y 4 , y5 ) = (1, 0, 0,1, 0) y funcin objetivo y0 = 3 para
el problema de maximizacin. Las variables duales son (x 1, x 2 ) = (0, 3) . Es decir, el
mtodo simplex dual es equivalente a aplicar el mtodo simplex al problema dual.

19/02/2010 63
OPTIMIZACIN LINEAL

I.8. Programacin lineal paramtrica

As como el anlisis de sensibilidad determinaba los cambios en la solucin ptima


del problema original por cambios discretos en los valores de algn parmetro, el
anlisis paramtrico determina el cambio en la funcin objetivo en funcin de cambios
continuos en los parmetros. Se presenta a continuacin el anlisis paramtrico frente a
cambios en los coeficientes de la funcin objetivo y cotas de las restricciones.

I.8.1. Cambios simultneos en coeficientes de la funcin


objetivo

Suponemos la funcin objetivo z = j =1 c j x j . Se desea conocer el cambio en la


n

funcin objetivo ptima z() = j =1 (c j + j ) x j al cambiar el parmetro desde 0,


n

supuestos conocidos los pesos j para cada variable x j .

1) Resolver hasta optimalidad el problema con = 0 por el mtodo simplex.

2) Mediante anlisis de sensibilidad introducir c j = j .

3) Modificar la ecuacin de la funcin objetivo para hacer 0 los coeficientes de


las variables bsicas en la funcin objetivo. Aplicar la condicin de
optimalidad (coeficientes de variables no bsicas 0) para obtener el valor
de .

4) Incrementar hasta anular un coeficiente de variable no bsica. sta es la


nueva variable bsica entrante.

5) Encontrar la nueva solucin ptima mediante el algoritmo simplex primal. Ir


al paso 3.

Obsrvese que en este tipo de anlisis la regin factible no cambia, slo se va


modificando la direccin de optimizacin y para los distintos valores del parmetro
se va detectando un nuevo punto ptimo. El proceso de anlisis lleva a definir zonas del
espacio paramtrico, siendo el ptimo en cada una de ellas un punto extremo diferente.

64 19/02/2010
MTODOS DE OPTIMIZACIN

I.8.2. Cambios simultneos en cotas de las restricciones

Se desea conocer el cambio en la funcin objetivo ptima z al cambiar desde 0


en las cotas de las restricciones bi + i , supuestos conocidos los pesos i . Los
cambios en las cotas bi son equivalentes a cambios en coeficientes de la funcin
objetivo del problema dual.

1) Resolver hasta optimalidad el problema con = 0 por el mtodo simplex.

2) Mediante anlisis de sensibilidad introducir bi = i .

3) Expresar la condicin de optimalidad de las variables del dual (cotas de las


restricciones 0).

4) Incrementar hasta anular las cotas de las restricciones (la solucin se hara
infactible). sta es la nueva variable bsica saliente en el simplex dual.

5) Encontrar la nueva solucin ptima mediante el algoritmo simplex dual. Ir al


paso 2.

Obsrvese en este caso, que los diferentes valores del parmetro determinan
diferentes regiones factibles, as el espacio paramtrico es dividido en intervalos de
modo que en cada uno de ellos hay una base que es ptima (unas restricciones activas
que determinan el punto extremo ptimo). En este caso, el proceso de anlisis acaba con
un intervalo donde para cualquier valor del parmetro hay una base que es ptima o con
un intervalo del parmetro donde el problema resulta no factible.

I.9. Mtodo de punto interior primal-dual

La investigacin en mtodos de punto interior aplicados a programacin lineal naci


a consecuencia del terico mal comportamiento (exponencial) del mtodo simplex en el
peor caso (cuando ha de recorrer todos los vrtices del contorno de la regin factible).

El mtodo simplex requiere un nmero de iteraciones proporcional al nmero de


ecuaciones. Sin embargo, el nmero de iteraciones puede aumentar sustancialmente en

19/02/2010 65
OPTIMIZACIN LINEAL

problemas degenerados o disminuir drsticamente si se dispone de una base inicial.


Cada iteracin del simplex es poco costosa. Esencialmente es el clculo de una
actualizacin de la inversa de la matriz base.

Los mtodos de punto interior requieren pocas iteraciones para resolver un problema
lineal. Sin embargo, estas iteraciones son muy costosas. Esencialmente cada iteracin
conlleva la resolucin de un sistema de ecuaciones lineales, como se ver ms adelante.

En 1979 Khachiyan present el mtodo del elipsoide y en 1984 Karmarkar describi


un mtodo proyectivo, reclamando ambos un requerimiento de tiempo polinmico. De
hecho, los mtodos barrera fueron desarrollados originalmente para programacin no
lineal en los aos 60 por Fiacco y McCormick [Fiacco, 1968].

El mtodo primal-dual, que se presenta a continuacin, es un caso particular de ellos


y ha dado muy buenos resultados en la prctica. Se denomina as porque resuelve
simultneamente el problema primal y el dual.

Supongamos un problema lineal en su forma estndar

min z = cT x
Ax = b (P ) (1.38)
x 0

y su correspondiente problema dual

max y 0 = bT y
(D ) (1.39)
AT y c
mn m n n m
siendo A ,b ,c ,x ey .

Aadiendo variables de holgura en las restricciones del dual tenemos

max y 0 = bT y
AT y + s = c (D ) (1.40)
s0
m
siendo s .

66 19/02/2010
MTODOS DE OPTIMIZACIN

Sea x una solucin factible del problema primal (P ) y (y , s ) una solucin factible
del problema dual (D ) , no necesariamente bsicas. Sern ptimos en sus respectivos
problemas si cumplen la propiedad de la complementariedad de holguras

x js j = 0 j = 1, , n (1.41)

La idea principal del mtodo primal-dual es moverse por una secuencia de


soluciones estrictamente factibles 6 en ambos problemas tratando de que se verifiquen las
condiciones de complementariedad de holguras. Especficamente, se trata de encontrar
x () , y() y s() para > 0 que satisfagan el siguiente sistema de (m + n )
ecuaciones lineales (denominadas condiciones de factibilidad) y n ecuaciones no
lineales (denominadas condiciones de complementariedad)

Ax = b
x 0
AT y + s = c (PD) (1.42)
s0
x js j = j

El valor del parmetro se va reduciendo hasta lograr la convergencia. Mientras


> 0 la condicin x js j = implica que x > 0 y s > 0 , es decir, que ambos son

puntos estrictamente factibles. Este mismo avance se puede ver como una reduccin del
intervalo de dualidad (duality gap) hasta alcanzar el valor cero en la solucin ptima

cT x bT y = x T s = n (1.43)

El mtodo primal-dual se puede interpretar como una variante del mtodo de


Newton de programacin no lineal que resuelve iterativamente un sistema de
ecuaciones no lineales donde las direcciones de movimiento corresponden a x k , y k

y s k . Para ello se pasa de una solucin estrictamente factible x k > 0 y s k > 0 en la

6
Se define una solucin como estrictamente factible en el poliedro Ax = b , x 0 a aqulla que
verifica Ax = b y x > 0.

19/02/2010 67
OPTIMIZACIN LINEAL

iteracin k a otra en la iteracin k + 1 que mantenga estricta factibilidad (de ah el


nombre de mtodo de punto interior) x k +1 > 0 y s k +1 > 0 y disminuya el intervalo de
dualidad x k +1 x k + x k , y k +1 y k + y k y s k +1 s k + s k

A (x k + x k ) = b Ax k = 0
(1.44)
AT (y k + y k ) + s k + s k = c AT y k + s k = 0

que es un sistema de (m + n ) ecuaciones lineales en funcin de x k , y k e s k .

Adems se deben satisfacer las condiciones de complementariedad de holguras para


cada dimensin j

x kj +1s kj +1 = (x kj + x kj )(s kj + s kj ) = k +1
(1.45)
s kj x kj + x kj s kj + x kj s kj = k +1 x kj s kj

que es un sistema de n ecuaciones no lineales en funcin de x kj y s kj . Si

despreciamos el trmino x kj s kj , ya que se supone que los incrementos de las

variables en cada iteracin sern pequeos, se obtiene un sistema de ecuaciones lineales

s kj x kj + x kj s kj = k +1 x kj s kj (1.46)

Representemos la condicin de complementariedad de holguras en forma matricial


en funcin de X = diag(x ) , matriz diagonal donde x j ocupa la posicin j,

( )
T
S = diag(s ) y e = 1 1 . Luego x = Xe , s = Se y, por consiguiente,

XSe = e (1.47)

De forma completa, una iteracin cualquiera del mtodo primal-dual resuelve este
sistema de (m + 2n ) ecuaciones lineales

S x + X s = e XSe
Ax = 0 (1.48)
AT y + s = 0

68 19/02/2010
MTODOS DE OPTIMIZACIN

Obteniendo s en funcin de y de la tercera ecuacin y sustituyendo en la


primera

S x XAT y = e XSe
(1.49)
Ax = 0

Premultiplicando por AS 1 y aprovechando la segunda ecuacin obtenemos este


sistema de m ecuaciones lineales para determinar y

AS 1XAT y = AS 1(e XSe) (1.50)

Si definimos la matriz diagonal D S 1X y v() = e XSe

ADAT y = AS 1v() (1.51)

y los otros vectores solucin se pueden calcular secuencialmente de esta manera

s = AT y
(1.52)
x = S 1v() D s

El coste computacional ms importante de este mtodo est en la resolucin del


sistema de ecuaciones lineales para el clculo de la direccin de movimiento y . En el

caso de columnas densas de A la matriz ADAT tiene muchos ms elementos no nulos


que la misma matriz A .

Si en el mtodo simplex tanto el manejo de matrices cuasivacas como la


factorizacin de la inversa son fundamentales para una buena implantacin en
problemas de gran tamao estas tcnicas resultan crticas en el mtodo de punto interior.

El algoritmo completo parte de una solucin estrictamente factible en la iteracin k


para x k > 0 , y k y s k > 0 . Se calculan las direcciones de movimiento x k , y k e

s k que definen las nuevas soluciones x k + x k , y k + y k y s k + s k . Entonces se

reduce el valor del parmetro k +1 = k k , siendo k [0,1] el parmetro de

disminucin para la siguiente iteracin k + 1 y se repite el proceso. El parmetro se


puede disminuir rpidamente (hasta un orden de magnitud en cada iteracin) siempre
que se mantenga estricta factibilidad de las soluciones y se garantice una disminucin

19/02/2010 69
OPTIMIZACIN LINEAL

de la holgura. Para garantizar la estricta factibilidad hay que limitar los movimientos de
las variables de forma que stas permanezcan dentro de sus cotas

x (P , ) = x + P x
y(D , ) = y + D y (1.53)
s(D , ) = s + D s

donde P = min x j x j
x j <0
( )y D (
= min s j s j
s j <0
) son las longitudes del paso que
aseguran x > 0 y s > 0 . Obsrvese que el parmetro D es nico para y k y s k . Una
estrategia habitual es tomar una longitud de paso nica = min(P , D )

x j + x j 0
y j + y j 0 (1.54)
s j + s j 0

Si adems de asegurar estricta factibilidad en la seleccin de P y D se satisface la


condicin de centralidad

(x k , s k ) C k (1.55)

siendo C k = {(x , s ) : x js j k , j = 1, , n } para (0,1) estamos en la estrategia

path following del mtodo primal-dual.

La seleccin heurstica de valores adecuados de la longitud de paso , parmetro de


centrado e intervalo de dualidad en cada iteracin son imprescindibles para
obtener en la prctica un comportamiento robusto del algoritmo.
32
El nmero de iteraciones es polinomial de orden n o n con el tamao del
problema.

La obtencin de un punto inicial estrictamente factible para el problema primal y


dual puede ser difcil. Sin embargo, las transformaciones anteriores se pueden modificar
para incluir puntos iniciales no factibles.

70 19/02/2010
MTODOS DE OPTIMIZACIN

A (x k + x k ) = b Ax k = b Ax k rP
(1.56)
AT (y k + y k ) + s k + s k = c AT y k + s k = c (AT y k + s k ) rD

o bien

S x + X s = e XSe v()
Ax = b Ax rP (1.57)
AT y + s = c AT y s rD

siendo rP y rD precisamente los residuos de las ecuaciones del primal y dual


respectivamente. Entonces, el clculo de los vectores de actualizacin en el mtodo
primal-dual para puntos iniciales infactibles queda de esta manera

y = (ADAT )1 AS 1v() ADrD rP


s = AT y + rD (1.58)
x = S 1v() D s

En el caso de puntos infactibles se debe dar prioridad en la disminucin de la


infactibilidad sobre el decremento del intervalo de dualidad .

El mtodo primal-dual predictivo-correctivo de Mehrotra est diseado para no


ignorar los trminos de segundo orden x j s j que anteriormente se haban

despreciado. Esto se realiza en dos etapas. En la etapa predictiva o afn se predicen


(calculan) los valores de x y de s junto con un valor del parmetro relacionado
con los valores de x y de s segn el sistema de ecuaciones anterior. En la etapa
correctiva con paso de Newton (i.e., segunda derivada) se utilizan estos valores para
resolver el siguiente sistema de ecuaciones lineales

S x + X s = e XSe X Se v()
Ax = b Ax rP (1.59)
AT y + s = c AT y s rD

donde X = diag(x ) e S = diag(s ) son los valores obtenidos en la etapa


predictiva.

19/02/2010 71
OPTIMIZACIN LINEAL

Los mtodos de punto interior no producen soluciones bsicas ptimas. Por ello
cuando llegan al ptimo se suele realizar un proceso de permutacin (crossover) para
determinar la solucin bsica ptima.

Veamos a continuacin la resolucin de este problema por el mtodo primal-dual.

min z = x 1 + x 2 min z = x 1 + x 2
2x 1 + x 2 2 2x 1 + x 2 + x 3 = 2
x 1 + 2x 2 6 x 1 + 2x 2 + x 4 = 6
x 1 + 2x 2 10 o expresado en forma estndar x 1 + 2x 2 + x 5 = 10
x 1 + 2x 2 5 x 1 2x 2 + x 6 = 5
x1 x 2 4 x1 x 2 + x 7 = 4
x 1, x 2 0 x 1, x 2 , x 3 , x 4 , x 5 , x 6 , x 7 0

Su problema dual ser el siguiente

max y 0 = 2y1 + 6y2 + 10y 3 5y 4 + 4y5


2y1 y2 + y 3 y 4 + y5 1
y1 + 2y2 + 2y 3 2y 4 y5 1
y1 0
y2 0
y3 0
y4 0
y5 0

que aadiendo variables de holgura

max y 0 = 2y1 + 6y2 + 10y 3 5y 4 + 4y5


2y1 y2 + y 3 y 4 + y5 + s1 = 1
y1 + 2y2 + 2y 3 2y 4 y5 + s2 = 1
y1 + s 3 = 0
y2 + s 4 = 0
y 3 + s5 = 0
y 4 + s6 = 0
y5 + s7 = 0
s1, s2 , s 3 , s 4 , s5 , s6 , s7 0

72 19/02/2010
MTODOS DE OPTIMIZACIN

Luego el sistema de 12 ecuaciones lineales y 7 no lineales a resolver es el siguiente

2x 1 + x 2 + x 3 = 2
x 1 + 2x 2 + x 4 = 6
x 1 + 2x 2 + x 5 = 10
x 1 2x 2 + x 6 = 5
x1 x 2 + x 7 = 4
2y1 y2 + y 3 y 4 + y5 + s1 = 1
y1 + 2y2 + 2y 3 2y 4 y5 + s2 = 1
y1 + s 3 = 0
y2 + s 4 = 0
y 3 + s5 = 0
y 4 + s6 = 0
y5 + s7 = 0
x 1s1 = 0
x 2s2 = 0
x 3s 3 = 0
x 4y 4 = 0
x 5s5 = 0
x 6s6 = 0
x 7s7 = 0
x 1, x 2 , x 3 , x 4 , x 5 , x 6 , x 7 0
s1, s2 , s 3 , s 4 , s5 , s6 , s7 0

Lo convertimos en un problema de minimizacin con restricciones de igualdad

max z = 3x 1 + 5x 2 min 3x 1 5x 2
x1 4 x1 +x 3 =4
2x 2 12 o bien 2x 2 +x 4 = 12
3x 1 +2x 2 18 3x 1 +2x 2 +x 5 = 18
x 1, x 2 0 x 1, x 2 , x 3 , x 4 , x 5 0

Su problema dual ser el siguiente

19/02/2010 73
OPTIMIZACIN LINEAL

max4y1 + 12y2 + 18y 3


max4y1 + 12y2 + 18y 3
y1 +3y 3 +s1 = 3
y1 +3y 3 3
2y2 +2y 3 +s2 = 5
2y2 +2y 3 5
o bien y1 +s 3 =0
y1 0
y2 +s 4 =0
y2 0
y3 +s5 =0
y3 0
s1, s2 , s 3 , s 4 , s5 0

I.10. Referencias

Bazaraa, M.S. and Jarvis, J.J. (1998) Programacin Lineal y Flujo en Redes. Limusa.

Bertsimas. D. and Tsitsiklis. J.N. (1997) Introduction to Linear Optimization. Athena


Scientific.

Chvtal. V. (1983) Linear Programming. W.H. Freeman and Co.

Dantzig, G. (1949) Programming of Independent Activities II, mathematical model.


Econometrica (17) pp. 200-211.

Dantzig, G. and Thapa, M. (1997) Linear Programming. Introduction. Springer.

Fiacco, A. V. and McCormick, G. P. (1968) Nonlinear Programming: Sequential


Unconstrained Minimization Techniques. John Wiley and Sons.

Gill, P.E., Murray, W. and Wright, M.H. (1991) Numerical Linear Algebra and
Optimization. Addison Wesley.

Nash. S.G. and Sofer. A. (1996) Linear and Nonlinear Programming. McGraw-Hill.

Ros Insa, S. (1996) Investigacin operativa. Programacin lineal y aplicaciones Ed.


Centro de estudios Ramn Areces.

Ros Insa, S., Ros Insa, D., Mateos, A. y Martn, J. (1997) Programacin lineal y
aplicaciones. Ejercicios resueltos Ed. Ra-Ma.

74 19/02/2010
MTODOS DE OPTIMIZACIN

Rivier, M. (1998) Modelo probabilista de explotacin de un sistema elctrico:


contribucin a la teora marginalista. Tesis doctoral. Universidad Pontificia
Comillas.

Vanderbei. R.J. (1996) Linear Programming: Foundations and Extensions. Kluwer


Academic Pusblishers.

I.11. Biblioteca de problemas

PROBLEMA 1

Dado el problema de programacin lineal:

min x 1 + x 2 3x 3
3x 1 x 3 = 5
x2 x 3 = 1
x 1, x 2 , x 3 0

Se pide:

1) Dar todas las soluciones bsicas factibles.

2) Comparar la funcin objetivo para todas las soluciones bsicas factibles y


decir cul es la mejor de todas ellas.

3) Es el vector x = (1335, 4001, 4000) una solucin para el problema anterior?


Es mejor solucin que la obtenida en el apartado anterior?

3
4) Comprobar que la base B = est asociada a una solucin no acotada.
1

PROBLEMA 2

Resolver los siguientes problemas de programacin lineal, utilizando el mtodo de


penalizaciones y el mtodo de las dos fases, cuando sea necesario.

1. Discutir el problema geomtricamente

19/02/2010 75
OPTIMIZACIN LINEAL

max 3x + 2y
4x + y 16
x + 4y 16
5x + 6y 30
x, y 0

2. Discutir el problema geomtricamente

max 3y + 8z
y + 2z = 4
z 3
y, z 0

3. Discutir el problema geomtricamente

max 3x + 2y
5x + y 0
y x 0

4.

min 3x + 5y 4z + 6t
x + 2z t = 6
y + 4z + t = 9
2z 2t = 3
x , y, z, t 0

5.

min x 1 + 2x 2 3x 3
x1 + x 2 + x 3 = 6
x 1 + x 2 + 2x 3 = 4
2x 2 + 3x 3 = 10
x3 2
x 1, x 2 , x 3 0

76 19/02/2010
MTODOS DE OPTIMIZACIN

PROBLEMA 3

Dados los siguientes problemas de programacin lineal, plantear los


correspondientes problemas duales:

1.

min 3x 1 + 2x 2 x 3
x1 + x 2 x 3 5
x 1 x 2 + 7x 3 4
x 1, x 2 0
x 3 libre

2.

max 3x 1 + 4x 2
x1 x 2 7
x1 + x 2 3
x 1, x 2 libres

3.

max x 1 + x 2 + x 3
x1 x 2 5
x1 + x 3 = 8
x 1, x 2 0

PROBLEMA 4

Dados los siguientes problemas

min x 1 + x 2 + x 3 + x 4
2x 1 x 2 + x 3 = 4
(i)
x 1 + 2x 3 x 4 = 3
x 1, x 2 , x 3 0

19/02/2010 77
OPTIMIZACIN LINEAL

max x 1 + 2x 2 + 3x 3
x 1 x 2 + 2x 3 5
(ii)
x1 x 3 = 3
x 1, x 2 , x 3 0

Se pide:

1) Resolverlos mediante el algoritmo primal.

2) Plantear el dual y resolverlo.

3) Comprobar la relacin existente entre ambas soluciones.

PROBLEMA 5

Dado el problema de programacin lineal

min x 1 + x 2 + x 3 + x 4
2x 1 x 2 + x 3 = 4
x 1 + 2x 3 x 4 = 3
x 1, x 2 , x 3 0

Se pide: (cada apartado es independiente de los dems)

1) La solucin ptima del problema si se aade la restriccin x 1 + x 2 x 3 = 2

2) Idem si se aade la restriccin x 1 + x 2 x 3 = 3

4 3
3) Idem al cambiar el vector b = por b =
3 1

1
4) Aadir x 5 con coste c5 = 3 y a 5 =
1

PROBLEMA 6

Dado el problema

78 19/02/2010
MTODOS DE OPTIMIZACIN

min c1x 1 + c2x 2 + c3x 3


x 1 + 2x 2 x 3 5
x 1 + 2x 3 8
x 1, x 2 , x 3 0

donde


c1 3 3
c = 2 + 2 [0, ]
2
c
3 1 1

PROBLEMA 7

Dado el problema de programacin lineal

min 3x 1 + 2x 2 + 4x 3
3x 1 + 2x 2 x 3 5
x1 + x 3 = 3
x 1, x 2 , x 3 0

Se pide:

1) La solucin ptima.

2) Resolver el problema paramtrico asociado si el trmino independiente es


bT () = (5, 3)T + (4,1)T , [0, )

PROBLEMA 8

Un ama de casa, tpico ejemplo de la economa sumergida, hace en sus ratos


domsticos libres dos clases de salsa de tomate que vende en jarras de barro al
supermercado de al lado. La primera requiere utilizar 3 kg de tomates y 4 tazas de
vinagre por jarra de salsa. La segunda requiere 5 kg de tomates y 2 tazas de vinagre. La
primera salsa le produce un beneficio neto de 0.4 por jarra y la segunda 0.5.

El supermercado que evaca su produccin casera hacia los circuitos comerciales


(no sabemos con qu beneficio relativo) le impone a nuestra amiga las siguientes
condiciones:

19/02/2010 79
OPTIMIZACIN LINEAL

- Que produzca como mnimo 3 jarras a la semana.

- Que le compre como mximo 24 kg de tomate y 3 botellas de vinagre a la


semana.

Sabiendo que una botella de vinagre equivale a 16 tazas y que el supermercado


monopoliza la venta de tomate y vinagre en la regin, analizar los precios a los que
estara dispuesta a pagar el tomate y el vinagre nuestra ama de casa a un primo suyo
contrabandista, que se los puede proporcionar recurriendo a otro de los variados
mecanismos de la economa subterrnea.

PROBLEMA 9

Dado el siguiente problema de programacin lineal

max 2x 1 x 2 17x 3
5x 1 2x 2 + 31x 3 1
3x 1 x 2 + 19x 3 0
x 1, x 2 , x 3 0

Se pide:

1) Resolver por el algoritmo dual.

2) Resolver por el algoritmo primal.

3) Obtener, usando postoptimizacin, la solucin para b1 = 1 .

PROBLEMA 10

Dado el siguiente problema de programacin lineal:

max 2x 1 + x 2 + 0.5x 3
2x 1 + x 2 + 2x 3 2
x1 x 2 x 3 1
x 1, x 2 , x 3 0

1) Resolver por el algoritmo primal.

2) Identificar razonadamente, en la tabla ptima anterior, el valor de las


variables duales.

80 19/02/2010
MTODOS DE OPTIMIZACIN

3) Verificar las condiciones de holgura complementaria.

4) Hacer una iteracin ms del algoritmo primal, qu ocurre?

PROBLEMA 11

Dado el siguiente problema y su correspondiente tabla ptima

max 4x + 2y
x +y 5
2x + y 7
x 3
x, y 0

x y s1 s2 s 3

z 0 0 0 2 0 14

s1 0 0 1 1 1 1

y 0 1 0 1 2 1

x 1 0 0 0 1 3

Se pide:

1) Resolverlo grficamente.

2) La solucin es nica? Si no es as, dar todas las posibles soluciones.

3) Plantear el problema dual.

4) Dar los precios sombra de los recursos.

5) Comprobar las relaciones existentes entre las soluciones primal y dual.

6) Obtener la nueva solucin ptima, sin resolver todo el problema de nuevo, si


se modifica la primera componente del vector b , cambiando de b1 = 5 a

b1 = 4 .

19/02/2010 81
OPTIMIZACIN LINEAL

7) Obtener la solucin ptima, sin resolver todo el problema de nuevo, si se


aade la restriccin 5x + 3y 15 .

8) Si se parametriza el vector de coeficientes de la funcin objetivo en la


direccin (1,2), es decir, c = (4,2) + (1,2) , 0 , para qu valores del
parmetro la solucin actual sigue siendo ptima?

PROBLEMA 12

Dado el siguiente problema lineal

max z = 2x 1 + 2x 2
x1 + x 2 3
x 1 + 2x 2 4
x 1, x 2 0

Se pide:

1) Resolverlo grficamente.

2) Resolverlo aplicando el mtodo simplex. Razonar la aplicacin y el


resultado.

3) Qu valores del coeficiente de x 2 en la funcin objetivo mantienen la base


ptima?

4) Cul es la solucin si el lado derecho de la segunda restriccin pasa a ser


10? Resolverlo mediante postoptimizacin.

5) Obtener los precios duales de los dos recursos. Cul es su significado? cul
es el sentido de su signo?

6) Determinar, mediante postoptimizacin, la solucin ptima si aadimos al


problema original la restriccin 2x 1 + x 2 2 .

PROBLEMA 13

En una fbrica se producen dos tipos de artculos. La semana siguiente se estima que
han de producirse al menos 50 artculos en total. Para producirlos se usan dos tipos de
materia prima, cuyo coste unitario es de 100 y 200 , respectivamente. El problema que

82 19/02/2010
MTODOS DE OPTIMIZACIN

se plantea para maximizar los beneficios de la empresa y su tabla ptima son los
siguientes:

max 200x + 400y


x + y 50
x + 2y 80
x + y 60
x, y 0

x y s1 s2 s3

z 0 0 0 200 0 16000

x 1 0 2 1 0 20

y 0 1 1 1 0 30

s3 0 0 1 0 1 10

1) Resolver el problema grficamente.

2) Hallar todas las posibles soluciones analticamente.

3) Interpretar todos los elementos del problema y las soluciones.

4) Dar los precios sombra e interpretarlos.

5) Hallar mediante postoptimizacin la nueva solucin si se dispone de 120


unidades de la primera materia en lugar de 80.

6) Estudiar mediante postoptimizacin qu ocurre si la produccin del segundo


producto se limita a 10 unidades.

PROBLEMA 14

Dado el siguiente problema de programacin lineal:

19/02/2010 83
OPTIMIZACIN LINEAL

max 2x + y
x +y 2
x + 4y 16
3x + y 15
x, y 0

1) Resolver el problema mediante el algoritmo del simplex.

2) Obtener la nueva solucin mediante postoptimizacin al aadir la restriccin


x +y 4.

PROBLEMA 15

En una fbrica se producen dos productos, P1 y P2, cuyos beneficios unitarios son
20 y 70, respectivamente. En la produccin se utilizan dos materias primas, disponiendo
de 30 y 60 unidades cada una. La demanda total es de al menos 20 productos y ha de ser
satisfecha. El planteamiento del problema es:

max 20x + 70y


x + 3y 30
2x + 4y 60
x + y 20
x, y 0

1) Resolver mediante el algoritmo del simplex.

2) Dar los valores e interpretacin de las variables originales, las de holgura, las
artificiales (si existen), las duales, de los costes reducidos y de la funcin
objetivo, si la tabla ptima fuera

x y s1 s2 s3
z 0 0 25 0 5 650
y 0 1 1/2 0 1/2 5
s2 0 0 1 1 1 10
x 1 0 1/2 0 3/2 15

84 19/02/2010
MTODOS DE OPTIMIZACIN

3) Surge ahora en el mercado la posibilidad de fabricar un tercer producto, P3.


Este producto requiere 1 unidad de la primera materia prima (de la que se
dispone de 30) y 1 unidad de la segunda, siendo su beneficio unitario de 60.
La demanda total sera de 20 unidades igualmente. Sin embargo, este
producto requiere del alquiler de un tipo de maquinaria cuyo coste es de 100
unidades monetarias, independientemente del tiempo que sea usada y de la
cantidad que se produzca. Adems, si se produce alguna cantidad de este
producto P3 han de producirse al menos 8 unidades del producto P2. Plantear
un problema de programacin lineal entera para maximizar el beneficio de la
empresa.

PROBLEMA 16

Dado el siguiente problema de programacin lineal

min 3x 1 + 5x 2 + 7x 3
x 1 + x 2 + x 3 300
x 1 200
x 2 200
x 3 100
x 1, x 2 , x 3 0

Se pide:

1) Resolver por el algoritmo primal.

2) Resolver el problema dual por el algoritmo primal.

PROBLEMA 17

Dado el siguiente problema de programacin lineal

19/02/2010 85
OPTIMIZACIN LINEAL

min 4x 1 + x 2
3x 1 + x 2 3
4x 1 + 3x 2 6
x 1 + 2x 2 4
x 1, x 2 0

Se pide:

1) Resolver por el algoritmo dual.

2) Resolver el problema dual por el algoritmo primal.

PROBLEMA 18

Convertir el siguiente problema a uno de programacin lineal en forma estndar

min x + y + z
x +y 1
2x + z = 3

PROBLEMA 19

Un cierto tipo de funciones poligonales se puede representar como

f (x ) = max {c1T x + d1, cT2 x + d2, , cTp x + d p }

n
donde x , c1, c2 , , cp y d1, d2 , , d p

Para tal funcin se considera el problema

min f (x )
Ax = b
x =0

Mostrar cmo se puede convertir este problema en uno de programacin lineal.

PROBLEMA 20

Un fabricante desea producir 90 toneladas de una aleacin de modo que el


porcentaje del metal A est entre el 60 y el 70%. En el mercado hay cinco aleaciones,

86 19/02/2010
MTODOS DE OPTIMIZACIN

cuya composicin y precio se indican a continuacin, a partir de las cuales el


metalrgico desea conseguir al precio ms barato la aleacin deseada.

Aleacin Al1 Al2 Al3 Al4 Al5


%A 10 25 50 75 90
%otros 90 75 50 25 10
Precio/t () 25 40 65 55 30

A tal efecto, el metalrgico modela la situacin con el siguiente problema de


programacin lineal

min 25x 1 + 40x 2 + 65x 3 + 55x 4 + 30x 5


x 1 + x 2 + x 3 + x 4 + x 5 = 90
0.1x 1 + 0.25x 2 + 0.5x 3 + 0.75x 4 + 0.9x 5 0.7(x 1 + x 2 + x 3 + x 4 + x 5 )
0.1x 1 + 0.25x 2 + 0.5x 3 + 0.75x 4 + 0.9x 5 0.6(x 1 + x 2 + x 3 + x 4 + x 5 )
x 1, x 2 , x 3 , x 4 , x 5 0

que tras agrupar trminos en cada restriccin, aadir dos variables de holgura ( s2 y s 3
en la segunda y tercera restriccin, respectivamente) y resolver (aadiendo una variable
artificial en la primera restriccin, a1 ), proporciona la siguiente tabla ptima

x1 x2 x3 x4 x5 s2 s3 a1 Cotas

cj z j 0 14.0625 37.5 25.9375 0 0 6.25 28.125 2531.25

x5 0 0.1875 0.5 0.8125 1 0 1.25 0.625 56.25

s2 0 0 0 0 0 1 1 0.1 9

x1 1 0.8125 0.5 0.1875 0 0 1.25 0.375 33.75

A la vista de los resultados, se pide (cada apartado es independiente de los dems):

19/02/2010 87
OPTIMIZACIN LINEAL

1) Determinar mediante postoptimizacin las cantidades ptimas y el nuevo


valor de la funcin objetivo si se tuvieran que producir 100 toneladas. A la
vista de lo obtenido qu conclusin puedes sacar?

2) Si el metalrgico pudiera comprar una tonelada de aleacin en el mercado


con los porcentajes deseados del metal A para satisfacer su demanda sin tener
que producirlo l, a qu precio mximo la pagara? por qu? hasta qu
cantidad?

3) Qu precios mximos tendran que tener las aleaciones no utilizadas para


que interesara incluirlas en la aleacin final?

4) Qu ocurrira si en el mercado aparece una nueva aleacin con un 40 % del


metal A y a un precio por tonelada de 30 ?

5) Qu ocurrira si en el mercado slo hay disponible 30 toneladas de la


aleacin Al1?

PROBLEMA 21

Un artesano fabrica trenes y camiones de juguete muy sencillos a base de tornillos,


bloques de plstico y ruedas. Para la prxima semana dispone de 8000, 6000 y 6300
unidades de las citadas componentes. La adquisicin de estas componentes y los gastos
semanales de operacin y amortizacin del local y utillaje ascienden a 40 .

La estructura de producto de trenes y camiones se refleja en la siguiente tabla y los


beneficios unitarios que reportan son de 1.6 y 1.4 respectivamente.

Tornillos Bloques Ruedas

Tren 10 15 18
10
Camin 20 6

88 19/02/2010
MTODOS DE OPTIMIZACIN

El objetivo del artesano es el de determinar qu gama de produccin le generar la


mayor cantidad de ingresos esta semana. Para ello modela la situacin con el siguiente
modelo lineal

max z = 1.6x 1 + 1.4x 2 + 0x 3 + 0x 4 + 0x 5


10x 1 + 20x 2 + x 3 =8000
15x 1 + 10x 2 + x4 =6000
18x 1 + 6x 2 + x 5 =6300
x 1, x 2 , x 3 , x 4 , x 5 0

del que se adjunta la ltima tabla del mtodo simplex de la que se deduce la solucin
ptima:

x1 x2 x3 x4 x5 Cotas

cj z j 0 0 0.025 0.09 0 740

x5 0 0 0.45 1.5 1 900

x2 0 1 0.075 0.05 0 300

x1 1 0 0.05 0.1 0 200

Situmonos sucesivamente e independientemente en los siguientes supuestos y


tomemos las decisiones pertinentes utilizando, cuando corresponda, el anlisis de
postoptimalidad (o sensibilidad):

1) El beneficio unitario de los trenes baja a 1 y el de camiones aumenta a 2.2


.

2) Por otro lado existe la posibilidad de adquirir 200 tornillos con un precio
unitario incrementado sobre el precio normal de adquisicin 0.05 . Merece
la pena adquirirlos? Se adquiriran los 200 tornillos si el citado incremento
fuera tan slo de 0.02 ? Por qu?

19/02/2010 89
OPTIMIZACIN LINEAL

3) Parece que una de las razones por las que los juguetes han perdido atractivo
es que son un poco pobres de ornamentacin. Cabe la posibilidad de
aadirles algunas ventanillas como adornos: los trenes necesitan 7 ventanillas
por unidad y los camiones 4. El artesano puede adquirir para la prxima
semana un mximo de 2100 ventanillas. Cmo afecta esta incidencia a la
produccin ptima de juguetes?

4) Otro enterado en estos asuntos le sugiere la posibilidad de ampliar la gama de


juguetes con la fabricacin de aviones. Un avin necesita 8 tornillos, 12
bloques y 3 ruedas y proporciona un beneficio unitario de 1.1 . Interesa
fabricar el nuevo juguete?

PROBLEMA 22

El ingeniero del ICAI Antn Pirulero Artesano, conocido por APA entre sus
compaeros de promocin, se dedica al ejercicio libre de la profesin, orientndose a
actividades comerciales. En la lnea que le ha hecho famoso como empresario-riesgo, se
dispone a participar en la feria agro-alimentaria de Vladivostock presentando una
coleccin de tres tipos de piruletas de su invencin. Estas piruletas son: A: piruletas de
naranja, B: piruletas de limn, C: piruletas de ans. Las piruletas tienen una base comn
de azcar y miel, en las cantidades que se indican en la siguiente tabla. Con la venta de
las piruletas tiene previsto cubrir en parte los gastos de participacin en la feria. Por
razones de limitacin en el peso autorizado, a la feria slo puede llevar 220 kg de azcar
y 90 kg de miel y quiere vender al menos 20000 piruletas.

Tipo de piruleta Azcar Miel Beneficio


(g/unidad) (g/unidad) Unitario ()
A 10 4 0.09
B 9 5 0.12
C 12 6 0.15
La solucin ptima de su problema la ha obtenido resolviendo el siguiente modelo
lineal

90 19/02/2010
MTODOS DE OPTIMIZACIN

max 0.09A + 0.12B + 0.15C


10A + 9B + 12C 220000
4A + 5B + 6C 90000
A + B + C 20000
A, B,C 0

donde A, B y C son las cantidades respectivas de piruletas de los tipos A, B y C que


puede fabricar con los kilos de azcar y miel que puede trasladar, y cuya ltima tabla es

Variables bsicas A B C Holgura 1 Holgura 2 Holgura 3 Cotas


cjzj 0 0 0 0 0.03 0.03 2100
Holgura 1 0 2 0 1 1 6 10000
C 0 0.5 1 0 0.5 2 5000
A 1 0.5 0 0 0.5 3 15000
1) Qu valores y qu interpretacin tienen las variables duales del problema?

2) Hay alguna otra solucin econmicamente equivalente a la obtenida? Por


qu? Cul es esa solucin? Cuntas soluciones tiene el problema? Cul es
su estructura general?

3) Antn Pirulensko Artesanov, delegado comercial de APA en Rusia, tras un


estudio de mercado entre la poblacin que acaba de abandonar el bibern, le
aconseja que lleve al menos 12000 piruletas de limn. Cmo afecta esto a
los planes de APA?

4) Nuestro amigo APA, adems de empresario emprendedor, patrocina


actividades de I+D y as, con el apoyo del IIT y de los profesores de MM, ha
obtenido un nuevo y original tipo de piruleta, la pirulica-I, el no va ms de
las piruletas (the remilk on the bicycle, como la calific la famosa revista
inglesa de gastronoma The big pork), cuya base sigue siendo el azcar y la
miel (12 y 8 gramos respectivamente por unidad) aunque el resto de los
ingredientes es un secreto industrial celosamente guardado por todos los que
hemos intervenido en su diseo. Si el beneficio unitario de una pirulica-I es
de 0.22 , interesa presentarla y venderla en feria, en orden a un mayor
beneficio?

19/02/2010 91
OPTIMIZACIN LINEAL

PROBLEMA 23

Se considera el programa lineal

max 10x 1 + 7x 2 + 12x 3


x1 + x 2 + x 3 9
3x 1 + 2x 2 + 4x 3 24
xi 0

1) Obtener todos los vrtices del poliedro de soluciones factibles, comprobando


que el ptimo se obtiene para x 1 = 6 , x 2 = 3 , x 3 = 0 .

2) Qu ocurre si se aade la nueva restriccin x 1 2x 2 1 ? Razonar y


obtener el resultado a partir de la tabla ptima del simplex del problema
original.

PROBLEMA 24

Dado el problema

max 4x + y
s.a. 2x + y 9
4x 3y 8
x, y 0

Se pide:

1) Mostrar la tabla ptima al resolver mediante el simplex.

2) Determinar el rango de variacin del coeficiente en la funcin objetivo de x


para que la solucin siga siendo ptima.

3) Plantear el problema dual, determinar el valor de las variables duales en el


ptimo, y dar el rango de variacin de cada trmino independiente en el que
no varan los valores de las variables duales.

4) Resolver numricamente y mostrando todas las tablas que sean necesarias, el


mismo problema pero con variables enteras (utilizar postoptimizacin).

92 19/02/2010
MTODOS DE OPTIMIZACIN

PROBLEMA 25

Una empresa produce una determinada bebida a partir de dos ingredientes bsicos.
El proceso de elaboracin de la bebida puede llevarse a cabo de dos formas distintas.
Para producir un litro de la bebida, de la forma 1 requerir 1 litro del primer ingrediente
y 2 del segundo, mientras que de la forma 2 requerir 2 litros del primer ingrediente y 1
del segundo. El proveedor habitual le puede suministrar hasta 900 litros de cada
ingrediente a un coste de 3 por litro el primero de ellos, y de 5 por litro el segundo.
La empresa plantea el siguiente problema para determinar cmo debe ser su produccin
de la prxima semana para satisfacer una demanda de 500 litros de la bebida con el
menor coste posible:

min z = 13x + 11y


x + y 500
x + 2y 900
2x + y 900
x, y 0

siendo su correspondiente tabla ptima

x y s1 s 2 s 3
z 0 0 15 2 0 5700
y 0 1 1 1 0 400
s3 0 0 3 1 1 300
x 1 0 2 1 0 100
Se pide responder a las siguientes cuestiones, independientemente unas de otras, y
razonando y calculando a partir de la tabla ptima:

1) Qu precio mnimo debera pedir para cubrir costes por cada litro ms que
se le solicite de la bebida? Si la demanda se mantiene pero puede acceder a
otro proveedor distinto del habitual aunque ms caro para que le suministre
los ingredientes, qu precio mximo debera pagar por cada litro de los dos
ingredientes?

19/02/2010 93
OPTIMIZACIN LINEAL

2) Cunto podra variar el coste del ingrediente 1 sin que cambie la solucin
actual?

3) Cul sera la solucin si la demanda fuera de 400 litros?

PROBLEMA 26

Un fabricante de piensos produce tres piensos compuestos, X , Y , y Z , a base de


dos nutrientes N1 y N2 de los que actualmente tiene existencias por valor de 1050 y 650
kilos respectivamente.

La composicin de un kilo de cada pienso viene dada en la siguiente tabla

X Y Z
N1 0.5 0.6 0.5
N2 0.4 0.2 0.5
Un kilo de X produce un beneficio de 5.9 , uno de Y 4 y uno de Z 7 . Un
contrato con un cliente obliga a fabricar al menos 300 kilos de X .

El siguiente programa lineal maximiza la cantidad a obtener por la fabricacin de


los piensos

max G = 5.9X + 4Y + 7Z
0.5X + 0.6Y + 0.5Z 1050
0.4X + 0.2Y + 0.5Z 650
X 300

La ltima tabla del simplex es

G X Y Z H1 H2 E3 Cotas
G 1 0 0 0 3 11 0 10300
Y 0 0 1 0 2.5 2.5 0.25 925
Z 0 0 0 1 1 3 0.7 690
X 0 1 0 0 0 0 1 300
1) Hay ms soluciones al problema? Si as fuera, cul es la estructura general
de todas ellas?

94 19/02/2010
MTODOS DE OPTIMIZACIN

2) En cunto se reduce el beneficio si las existencias del nutriente N1 se


reducen en 200 kilos?

3) Qu sucede si, adems del contrato sobre el pienso X , el fabricante de


piensos recibe un pedido de 1000 kilos de Y ?

4) Sin tener en cuenta el nuevo contrato y en las condiciones iniciales del


problema, le interesa producir un cuarto pienso W que da un beneficio por
kilo de 6 y en cuya composicin por kilo entran 0.3 kilos de N1 y 0.35 de
N2? Justificar la respuesta.

PROBLEMA 27

Un trapero se dedica a recoger tres tipos de artculos, X1, X2 y X3, que transporta en
un vehculo que puede acarrear hasta 300 kg de peso y un volumen mximo de 480
unidades de volumen. Las caractersticas de peso, volumen y beneficio generado por
cada unidad de esos artculos vienen dadas en la tabla siguiente.

Artculo Peso (kg) Volumen (u.v.) Beneficio ()


X1 2 3 7
X2 1 2 6
X3 3 1 4
El siguiente problema lineal proporciona el nmero de artculos de cada tipo que el
trapero debe recoger a fin de hacer mximo el beneficio

maxW = 7X1 + 6X 2 + 4X 3
2X1 + X 2 + 3X 3 300
3X1 + 2X 2 + X 3 480
Xi 0

La ltima tabla del mtodo simplex de este problema es

X1 X2 X3 H1 H2 Cotas
W 2.2 0 0 0.4 2.8 1464
X2 1.4 1 0 0.2 0.6 228
X3 0.2 0 1 0.4 0.2 24

19/02/2010 95
OPTIMIZACIN LINEAL

1) Tiene ms soluciones este programa? Por qu? Cul es el programa dual


del dado? Qu valores y dimensiones tienen las variables duales?

2) Si le ofrecen alquilarle por un da un vehculo que pudiera transportar hasta


320 kg de peso y contener 550 unidades de volumen, hasta qu cantidad
podra pagar por el alquiler de dicho vehculo?

3) Qu ocurre si una ordenanza municipal prohibiera trasladar ms de 200


artculos?

4) El trapero muestra inters por un cuarto artculo X4 que pesa 2.5 kg, ocupa 2
unidades de volumen y proporciona un beneficio unitario de 5 . Le interesa
recoger unidades de este artculo?

I.12. Resultados de la biblioteca de problemas

RESULTADO DEL PROBLEMA 1

Slo una: B = (a1, a2 ) , solucin (5/3,1,0)

Valor de la funcin objetivo 8/3

S, es solucin factible (verifica las restricciones) con funcin objetivo 1335+4001


12000=6664, luego es mejor solucin.

1/ 3 1/ 3
, y 3 = B 1a 3 =
B 1 = 1 es un vector con todos sus componentes <
1
0 y el coste reducido de x 3 es menor que 0, c3 = 5 / 3 .

RESULTADO DEL PROBLEMA 2

1) (x , y ) = (66 /19, 40 /19)

2) No hay solucin factible.

3) Solucin no acotada, direccin (1,1) siendo x = y .

4) (x , y, z , t ) = (12 / 5, 0,21/10, 3 / 5)

96 19/02/2010
MTODOS DE OPTIMIZACIN

5) (x 1, x 2 , x 3 ) = (2,2,2)

RESULTADO DEL PROBLEMA 3

1)

max 5w1 + 4w2


w1 - w 2 3
w1 - w 2 2
-w1 + 7w 2 = -1
w 1, w 2 0

2)

min 7w1 + 3w2


w1 + w 2 = 3
-w1 + w2 = 4
w 1, w 2 0

3)

min 5w1 + 8w2


w1 + w 2 1
-w1 1
w2 = 1
w1 0

RESULTADO DEL PROBLEMA 4

i.a) (x 1, x 2 , x 3 , x 4 ) = (2, 0, 0, -1) , z = 1

i.b) (w1, w 2 ) = (1, -1) , z = 1

i.c) Se cumplen las condiciones de holgura complementaria.

ii.a) Solucin no acotada, direccin (1/3,1,1/3).

ii.b) Dual no factible (observar geomtricamente).

ii.c) Obvias.

19/02/2010 97
OPTIMIZACIN LINEAL

RESULTADO DEL PROBLEMA 5

1) La solucin verifica la restriccin, sigue siendo ptima.

2) (x 1, x 2 , x 3 , x 4 ) = (7 / 3,2 / 3, 0, -2 / 3)

3) (x 1, x 2 , x 3 , x 4 ) = (3 / 2, 0, 0,1/ 2)

4) Solucin no acotada.

RESULTADO DEL PROBLEMA 6

0 1 (x 1, x 2 , x 3 ) = (0, 9 / 2, 4) z = -13 + 13

1 (x 1, x 2 , x 3 ) = (6, 0,1) z = 17 - 17

RESULTADO DEL PROBLEMA 7

1) (x 1, x 2 , x 3 ) = (2, 0,1)

2) 04 (x 1, x 2 , x 3 ) = (2 + 5 / 4, 0,1 - 1/ 4) 4
(x 1, x 2 , x 3 ) = (3 + , 0, 0)

RESULTADO DEL PROBLEMA 8

max 0.4x 1 + 0.5x 2


x1 + x 2 3 : y1
3x 1 + 5x 2 24 :y 2
4x 1 + 2x 2 3 16 :y 3
x 1, x 2 0

Por kg de tomate y2 = 0.4 / 3 /kg e y 3 = 0 /taza por el vinagre.

RESULTADO DEL PROBLEMA 9

1) x = (0, 0.5, 0)

2) x = (0, 0.5, 0)

3) x = (0, 0, 0)

RESULTADO DEL PROBLEMA 10

98 19/02/2010
MTODOS DE OPTIMIZACIN

1) x1 = 1 , x 2 = 0 , x 3 = 0

2) w1 = 1 , w 2 = 0

3) Comprobar que se verifican, evidente con estas soluciones.

4) Al introducir la segunda de holgura, cambia la base pero no la solucin.

RESULTADO DEL PROBLEMA 11

1) No. Las soluciones son (2,3)+(1-)(3,1) .

min 5w1 + 7w 2 + 3w 3
w1 + 2w 2 + w 3 4
2)
w1 + w 2 2
w 1, w 2 , w 3 0

3) (w1, w2 , w 3 ) = (0,2, 0)

4) Mismo valor de la funcin objetivo y condiciones de holgura


complementaria.

5) (x , y ) = (3,1) , slo cambia la holgura que ahora es 0.

6) (x , y ) = (3, 0)

7) Tan slo para = 0 .

RESULTADO DEL PROBLEMA 12

1) Mltiples soluciones, (2,1) + (1 - )(3, 0) [0,1] z = 6 .

2) La solucin (2,1) sigue siendo ptima para valores entre 2 y 4, y la solucin


(3,0) sigue siendo ptima para valores menores que 2.

3) Mltiples soluciones, (0, 3) + (1 - )(3, 0) [0,1] z = 6 .

4) w1 = 2 , w 2 = 0

5) (x 1, x 2 ) = (0,2)

19/02/2010 99
OPTIMIZACIN LINEAL

RESULTADO DEL PROBLEMA 13

b) Mltiples soluciones (x , y ) = (20, 30) + (1 - )(40,20) [0,1] z = 16000

d) (w1, w 2 , w 3 ) = (0,200, 0)

e) (x , y ) = (0, 60) , z = 24000

f) (x , y ) = (50,10) , z = 14000

RESULTADO DEL PROBLEMA 14

1) (x , y ) = (4, 3) , z = 11

2) (x , y ) = (4, 0) , z = 8

RESULTADO DEL PROBLEMA 20

100 0.625 0 1.25100 62.5






1) 1

B 0 = 0.1 1

1 0 = 10




0 0.375 0 1.25 0 37.5

Se puede concluir que son los porcentajes de la Al1 (37.5) y de la Al5 (62.5) sea
cul sea la cantidad a producir.

2) La pagara a lo sumo a 28.125 que es el valor de la primera variable dual, y


para cualquier cantidad hasta la demanda (es decir, hasta las 90 toneladas) ya
que nunca se har negativa ninguna variable bsica.

3) Son sus costes menos los costes reducidos, es decir,

Al2: 4014.0625=25.9375, Al3: 6537.5=27.5, Al4:5525.9375=29.0625

1 0.375 0.375

1
4) B 0.4 0.7 = 0 , 30 (30 0 25) 0 = 3.125


0.6 0.4 0.625 0.625

5) Nada, no interesa producir con la nueva.

6) Habra que aadir la restriccin: x 1 30 , quedando (quitando la artificial):

100 19/02/2010
MTODOS DE OPTIMIZACIN

x1 x2 x3 x4 x 5 s2 s3 s4 Cotas
cj z j 0 14.0625 37.5 25.9375 0 0 6.25 0 2531.25
x5 0 0.1875 0.5 0.8125 1 0 1.25 0 56.25
s2 0 0 0 0 0 1 1 0 9
x1 1 0.8125 0.5 0.1875 0 0 1.25 0 33.75
s4 1 0 0 0 0 0 0 1 30
Reorganizando (a la ltima restar la penltima solamente):

x1 x2 x3 x4 x 5 s2 s3 s4 Cotas
cj z j 0 14.0625 37.5 25.9375 0 0 6.25 0 2531.25
x5 0 0.1875 0.5 0.8125 1 0 1.25 0 56.25
s2 0 0 0 0 0 1 1 0 9
x1 1 0.8125 0.5 0.1875 0 0 1.25 0 33.75
s4 0 0.8125 0.5 0.1875 0 0 1.25 1 3.75
Aplicando el dual entra la tercera de holgura y sale la cuarta

x1 x2 x3 x4 x 5 s2 s 3 s4 Cotas
cj z j 0 10 35 25 0 0 0 5 2550
x5 0 1 1 1 1 0 0 1 60
s2 0 0.65 0.4 0.15 0 1 0 0.8 6
x1 1 0 0 0 0 0 0 1 30
s4 0 0.65 0.4 0.15 0 0 1 0.8 3

RESULTADO DEL PROBLEMA 21

1)

x1 x 2 x3 x4 x 5 Cotas
cj z j 0 0 0.115 0.01 0 860
x5 0 0 0.45 1.5 1 900
x2 0 1 0.075 0.05 0 300
x1 1 0 0.05 0.1 0 200
Cambia la solucin actual:

19/02/2010 101
OPTIMIZACIN LINEAL

x1 x2 x3 x 4 x 5 Cotas
c j z j 0.1 0 0.11 0 0 880
x5 15 0 0.3 0 1 3900
x2 0.5 1 0.05 0 0 400
x4 10 0 0.5 1 0 2000

2) Incrementando en 0.05 no interesa, la variable dual es 0.025. Incrementando


0.02 s interesa y la nueva solucin es

0.45 1.5 1 8200 990




B 1b = 0.075 0.05 0 6000 = 315

0.05 0.1 0 6300 190

El nuevo beneficio es 740 + 200(0.025 0.020) = 741 .

Hay que aadir la restriccin 7x 1 + 4x 2 2100 que no es verificada por la solucin


actual. La tabla que se tendra sera:

x1 x 2 x3 x4 x 5 x 6 Cotas
cj z j 0 0 0.025 0.09 0 0 740
x5 0 0 0.45 1.5 1 0 900
x2 0 1 0.075 0.05 0 0 300
x1 1 0 0.05 0.1 0 0 200
x6 0 0 0.05 0.5 0 1 500
Resultando la siguiente tabla ptima:

x1 x 2 x3 x4 x5 x6 Cotas
cj z j 0 0 0.034 0 0 0.18 650
x5 0 0 0.3 0 1 3 2400
x2 0 1 0.07 0 0 0.1 350
x1 1 0 0.04 0 0 0.2 100
x4 0 0 0.1 1 0 2 1000

102 19/02/2010
MTODOS DE OPTIMIZACIN

8


5. El coste reducido sera: 1.1 (0.025 0.09 0) 12 = 0.18 . No interesa.

3

RESULTADO DEL PROBLEMA 22

1) w1 = 0 Por un gramo extra de azcar no se pagara nada, pues no hay cambio


en la funcin objetivo (hay holgura)

w2 = 0.03 Por un gramo extra de miel pagara un sobrecoste de 0.03, ya que un


aumento de disponibilidad en un gramo de miel, supone un beneficio extra de 0.03 (lo
que vara la funcin objetivo)

w 3 = 0.03 Si el nmero de piruletas que hay que hacer aumenta en 1 el beneficio


disminuye en 0.03 . Alternativamente, si disminuyera en 1 piruleta la cantidad que
APA quiere llevar, lograra un beneficio de 0.03 mayor.

2)

A B C Holgura 1 Holgura 2 Exceso 3


cj z j 0 0 0 0 0.03 0.03 2100
Holgura 1 0 2 0 1 1 6 10000
C 0 0.5 1 0 0.5 2 5000
A 1 0.5 0 0 0.5 3 15000

A B C Holgura 1 Holgura 2 Exceso 3


cj z j 0 0 0 0 0.03 0.03 2100
Holgura 1 0 0 4 1 1 14 30000
B 0 1 2 0 1 4 10000
A 1 0 1 0 1 5 10000
Tiene infinitas soluciones de la forma

19/02/2010 103
OPTIMIZACIN LINEAL

A 10000
15000


B = 0 + (1 ) 10000 [0,1]


C 5000 0

3) Ninguna de las soluciones cumple la nueva restriccin, as que hay que aadir
B 12000 , es decir, B Exceso4 = 12000 . Sera:

A B C Holgura 1 Holgura 2 Exceso 3 Exceso 4


cj z j 0 0 0 0 0.03 0.03 0 2100
Holgura 1 0 2 0 1 1 6 0 10000
C 0 0.5 1 0 0.5 2 0 5000
A 1 0.5 0 0 0.5 3 0 15000
Exceso 4 0 1 0 0 0 0 1 12000

Reorganizando:
Exceso 4
A B C Holgura 1 Holgura 2 Exceso 3
cj z j 0 0 0 0 0.03 0.03 0 2100
Holgura 1 0 2 0 1 1 6 0 10000
C 0 0.5 1 0 0.5 2 0 5000
A 1 0.5 0 0 0.5 3 0 15000
Exceso 4 0 1 0 0 0 0 1 12000

Exceso 4
A B C Holgura 1 Holgura 2 Exceso 3
cj z j 0 0 0 0 0.03 0.03 0 2100
Holgura 1 0 2 0 1 1 6 2 34000
C 0 0 1 0 0.5 2 0.5 1000
A 1 0 0 0 0.5 3 0.5 9000
B 0 1 0 0 0 0 1 12000
Dual no acotado, primal no factible.

Con la otra tabla sera:

104 19/02/2010
MTODOS DE OPTIMIZACIN

A B C Holgura 1 Holgura 2 Exceso 3 Exceso 4


cj z j 0 0 0 0 0.03 0.03 2100
Holgura 1 0 0 4 1 1 14 30000
B 0 1 2 0 1 4 10000
A 1 0 1 0 1 5 10000
Exceso 4 0 1 0 0 0 0 1 12000

Reorganizando

A B C Holgura 1 Holgura 2 Exceso 3 Exceso 4


cj z j 0 0 0 0 0.03 0.03 0 2100
Holgura 1 0 0 4 1 1 14 0 30000
B 0 1 2 0 1 4 0 10000
A 1 0 1 0 1 5 0 10000
Exceso 4 0 0 2 0 1 4 1 2000
Directamente puede verse que es dual no acotado, luego primal no factible.

4)

cj = c j z j = c j cTB B 1a j = c j yT a j =
= 0.22 (0 0.15 0.09)(2 2 1)T = Interesa.
= 0.22 (0 0.03 0.03)(12 8 1)T = 0.01

1 1 6 12 2


B a j = 0
1
0.5 2 8 = 2

0 0.5 3 1 1

A B C Holgura 1 Holgura 2 Exceso 3 NUEVA


cj z j 0 0 0 0 0.03 0.03 0.01 2100
Holgura 1 0 2 0 1 1 6 2 10000
C 0 0.5 1 0 0.5 2 2 5000
A 1 0.5 0 0 0.5 3 1 15000

19/02/2010 105
OPTIMIZACIN LINEAL

A B C Holgura 1 Holgura 2 Exceso 3 NUEVA


cj z j 0 0.0025 0.005 0 0.0325 0.0301 0 2125
Holgura 1 0 1.5 1 1 0.5 8 0 15000
NUEVA 0 0.25 0.5 0 0.25 1 1 2500
A 1 0.75 0.5 0 0.25 2 0 17500
RESULTADO DEL PROBLEMA 23

a) Base (a4,a5) Punto (0,0,0) holguras (9,24) Z=0

Base (a4,a1) Punto (8,0,0) holguras (1,0) Z=80

Base (a4,a2) Punto (0,12,0) holguras (3,0) NO FACTIBLE

Base (a4,a3) Punto (0,0,6) holguras (3,0) Z=72

Base (a5,a1) Punto (9,0,0) holguras (0,3) NO FACTIBLE

Base (a5,a2) Punto (0,9,0) holguras (0,6) Z=63

Base (a5,a3) Punto (0,0,9) holguras (0,12) NO FACTIBLE

Base (a1,a2) Punto (6,3,0) holguras (0,0) Z=81

Base (a1,a3) Punto (66/7,0,3/7) holguras (0,0) NO FACTIBLE

Base (a2,a3) Punto (0,6,3) holguras (0,0) Z=78

2 1
b) B 1 =
3 1

x1 x 2 x 3 x 4 x 5
0 0 1 1 3 81
x1 1 0 2 2 1 6
x2 0 1 1 3 1 3
Aadir x 1 2x 2 1 6 2 3 = 0 < 1 x 1 2x 2 x 6 = 1

0 0 1 1 3 0 81
x 1 1 0 2 2 1 0 6
x 2 0 1 1 3 1 0 3
x 6 1 2 0 0 0 1 1

106 19/02/2010
MTODOS DE OPTIMIZACIN

Organizando:

0 0 1 1 3 0 81
x 1 1 0 2 2 1 0 6
x 2 0 1 1 3 1 0 3
x 6 0 0 4 8 3 1 1
Dual:

0 0 3/2 0 27/8 1/8 647/8


x 1 1 0 1 0 1/4 1/4 25/4
x 2 0 1 1/2 3 1/8 3/8 21/8
x 4 0 0 1/2 1 3/8 1/8 1/8
RESULTADO DEL PROBLEMA 24

a)

X Y S1 S2 X Y S1 S2 X Y S1 S2
Z 4 1 0 0 0 Z 0 4 0 1 8 Z 0 0 8/5 1/5 16
S1 2 1 1 0 9 S1 0 5/2 1 1/2 5 Y 0 1 2/5 1/5 2
S2 4 3 0 1 8 X 1 3/4 0 1/4 2 X 1 0 3/10 1/10 7/2
cx > 4 / 3
0 (2 / 5 + cx 3 /10) < 0
b) cx > 2

0 (1/ 5 + cx 1/10) < 0 cx > 2

min 9w + 8t
2w + 4t 4
c) Dual: Valor variables duales en el ptimo: w = 8 / 5 t = 1/ 5
w 3t 1
w, t 0

2 1 18 + 2inc1 8
9 + inc1 10 + 2inc1 0
5
B b = 5
1
= 5
0 inc1 5
3 1 8 27 + 3inc1 + 8 35 + 3inc1 0

10 10 10

18 8 inc2
2 / 5 1/ 5

9 5 10 inc2 0 inc2 35
1
B b = =
0

3 /10 1/10 8 + inc2 27 + 8 + inc2 35 + inc2 0 inc2 10
10

19/02/2010 107
OPTIMIZACIN LINEAL

d) Enteras: Branch and Bound. Z =

Nodo 0: Relajadas Solucin: (7/2, 3) Z= 16 No entera. Ramificar en x 3 y x 4 .

Nodo 1: Aadir la restriccin x 3 , es decir, x + S 3 = 3

x y S1 S2 S3 x y S1 S2 S3 x y S1 S2 S3
Z 0 0 8/5 1/5 0 16 Z 0 0 8/5 1/5 0 16 Z 0 0 1 0 2 15
Y 0 1 2/5 1/5 0 2 Y 0 1 2/5 1/5 0 2 Y 0 1 1 0 2 3
X 1 0 3/10 1/10 0 7/2 X 1 0 3/10 1/10 0 7/2 X 1 0 0 0 10 3
S3 1 0 0 0 1 3 S3 0 0 3/10 1/10 1 1/2 S2 0 0 3 1 10 5

Solucin nodo: (3,4) Z=15, entera podar y Z = 15 . No podar otros, seguir nodo 0

Nodo 2: Aadir la restriccin x 4 , es decir, x S 3 = 4

x y S1 S2 S3 x y S1 S2 S3
Z 0 0 8/5 1/5 0 16 Z 0 0 8/5 1/5 0 16
Y 0 1 2/5 1/5 0 2 Y 0 1 2/5 1/5 0 2
X 1 0 3/10 1/10 0 7/2 X 1 0 3/10 1/10 0 7/2
S3 1 0 0 0 1 4 S3 0 0 3/10 1/10 1 1/2
No factible, podar. Todos los nodos explorados, la solucin ptima es (3,3), Z=15.

RESULTADO DEL PROBLEMA 26

max G = 5.9X + 4Y + 7Z
0.5X + 0.6Y + 0.5Z 1050
0.4X + 0.2Y + 0.5Z 650
X 300

G X Y Z H1 H2 E3 Cotas
G 1 0 0 0 3 11 0 10300
Y 0 0 1 0 2.5 2.5 0.25 925
Z 0 0 0 1 1 3 0.7 690
X 0 1 0 0 0 0 1 300
1) S, nueva tabla:

G X Y Z H1 H2 E3 Cotas
G 1 0 0 0 3 11 0 10300

108 19/02/2010
MTODOS DE OPTIMIZACIN

Y 0 0 1 0.36 2.86 3.57 0 678.57


E3 0 0 0 1.43 1.43 4.29 1 985.71
X 0 1 0 1.43 1.43 4.29 1 1285.71
300 1285.71


Estructura: 925 + (1 ) 678.57 [0,1]

690 0

1050 2.5 2.5 0.25 1050 1425


1050

2) b = 650 b = 450 B 1b = 1 3 0.7 450 = 90 G = 8100

300 300 0 0 1 300 300

3) Aadir Y 1000 que no se cumple:

X Y Z H1 H2 E3 E4 Cotas X Y Z H1 H2 E3 E4 Cotas
G 0 0 0 3 11 0 0 10300 0 0 0 3 11 0 0 10300
Y 0 1 0 2.5 2.5 0.25 0 925 0 1 0 2.5 2.5 0.25 0 925
Z 0 0 1 1 3 0.7 0 690 0 0 1 1 3 0.7 0 690
X 1 0 0 0 0 1 0 300 1 0 0 0 0 1 0 300
E4 0 1 0 0 0 0 1 1000 0 0 0 2.5 2.5 0.25 1 75

X Y Z H1 H2 E3 E4 Cotas
G 0 0 0 14 0 1.1 4.4 9970
Y 0 1 0 0 0 0 1 1000
Z 0 0 1 2 0 1 1.2 600
X 1 0 0 0 0 1 0 300
H2 0 0 0 1 1 0.1 0.4 30
4) Interesa:

2.5 2.5 0.25


0.3 0.125


(
6 7 7 5.9 1

3 )
0.7 0.35 = 6 7 7 5.9 0.75 = 1.625




( )
0
1 0
0 0

19/02/2010 109
OPTIMIZACIN LINEAL

RESULTADO DEL PROBLEMA 27

No hay ms soluciones, cualquiera en que una variable no bsica pase a tener valor
positivo tendr un valor estrictamente menor de la funcin objetivo que el actual, ya que
todos los costes reducidos son distintos de 0.

min 300w1 + 480w2



2w1 + 3w2 7

w1 + 2w2 6 w1* = 0.4/kg w2* = 2.8/u.v.

3w1 + w 2 4

w 1, w 2 0
El dual:
320 0.2 0.6 320 266 X 2
b = B 1b = = = W = 1668

550 0.4 0.2 550 18 X 3
W W = 1668 1464 = 204
Aadir X1 + X 2 + X 3 200 X1 + X 2 + X 3 + H 3 = 200

X1 X2 X3 H1 H2 H3 Cotas
W 2.2 0 0 0.4 2.8 0 1464
X2 1.4 1 0 0.2 0.6 0 228
X3 0.2 0 1 0.4 0.2 0 24
H3 1 1 1 0 0 1 200

X1 X2 X3 H1 H2 H3 Cotas
W 2.2 0 0 0.4 2.8 0 1464
X2 1.4 1 0 0.2 0.6 0 228
X3 0.2 0 1 0.4 0.2 0 24
H3 0.6 0 0 0.2 0.4 1 52

X1 X2 X3 H1 H2 H3 Cotas
W 1 0 0 0 2 2 1360
X2 2 1 0 0 1 1 280
X3 1 0 1 0 1 2 80
H1 3 0 0 1 2 5 260

110 19/02/2010
MTODOS DE OPTIMIZACIN

X1 X2 X3 H1 H2 H3 Cotas
W 0 0 1 0 1 4 1280
X2 0 1 2 0 1 3 120
X1 1 0 1 0 1 2 80
H1 0 0 3 1 1 1 20
2.5
( )
Calculamos su coste reducido: c4 z 4 = 5 0.4 2.8 = 5 6.6 = 1.6 . No le
2
interesa

19/02/2010 111
MTODOS DE OPTIMIZACIN

II. Optimizacin lineal entera mixta

II.1. Resolucin por mtodos heursticos

La solucin de un problema lineal entero mixto (MIP) no es necesariamente la


solucin del problema relajado 7 discretizada heursticamente (redondeada a los valores
enteros ms prximos), se puede producir una posible prdida de optimalidad o de
factibilidad (es decir, no tiene por qu ser matemticamente ptima o factible). No
obstante, esta discretizacin heurstica puede ser una solucin aproximada vlida, en el
sentido fsico del problema modelado no en el matemtico, en el caso de que las
variables enteras tomen valores muy elevados.

En este ejemplo se obtienen soluciones no factibles al redondear. En l la solucin


del problema LP es (1.5,2). Las soluciones enteras ms prximas son (1,2) (2,2) que
resultan infactibles. Mientras que las solucionesx2enteras ptimas son (1,1) (2,1).
ptimo LP

max x 2
Heurstico
x 1 + x 2 0.5
x 1 + x 2 3.5 ptimo IP

x 1, x 2 0 xi Z x1

En el siguiente ejemplo las soluciones redondeadas son no ptimas. La solucin del


problema LP es (2,9/5). Las soluciones redondeadas son (2,2), que no es factible, y
(2,1). Mientras que la solucin entera ptima es (0,2).

7
Se entiende por problema relajado el problema original pero sin las condiciones de integralidad de
las variables.

19/02/2010 113
OPTIMIZACIN LINEAL ENTERA MIXTA

x2

max x 1 + 5x 2 ptimoLP

ptimo IP
x 1 + 10x 2 20
Heurstico
x1 2
x 1, x 2 0 xi Z
x1

A pesar de los contraejemplos mencionados, existen mtodos metaheursticos de


bsqueda como alternativa a la programacin matemtica (algoritmos genticos,
bsqueda heurstica, etc.) cuando los problemas son tan complejos que no pueden
solucionarse mediante procedimientos que aseguren la solucin ptima por falta de
tiempo o memoria.

Como criterio general la solucin de problemas MIP es ms difcil y costosa tanto


en tiempo como en memoria de ordenador que la de un problema LP.

II.2. Mtodo de ramificacin y acotamiento

En un problema MIP se pierde la convexidad de la regin factible, puesto que los


puntos de su interior no se pueden poner como combinacin lineal convexa de sus
puntos extremos. Tambin se pierde la potencia matemtica asociada a las variables
continuas (derivadas, condiciones de optimalidad, sensibilidades, etc.). Por
consiguiente, la solucin de un problema MIP es mucho ms difcil que la de un
problema LP.

La enumeracin exhaustiva sera una posibilidad, pero no es un mtodo de solucin


prctico ya que existen 2n posibles soluciones cuando todas las variables son binarias.

El mtodo de ramificacin y acotamiento (branch and bound) recurre a una


enumeracin implcita (como contrapuesta a la exhaustiva) de las soluciones enteras
factibles. Utiliza el principio de divide y vencers.

114 19/02/2010
MTODOS DE OPTIMIZACIN

Dividir es ramificar, es decir, partir el conjunto de soluciones enteras en


subconjuntos disjuntos cada vez menores.

Conquistar es acotar, determinar el valor de la mejor solucin del subconjunto (la


cota).

En un problema de maximizacin una cota inferior de la solucin ptima de un


problema MIP es la mayor solucin entera factible encontrada hasta el momento.

En un problema de maximizacin una cota superior de la solucin ptima de un


problema MIP es la solucin ptima del problema lineal relajado RMIP o LP.

Eliminar es podar la rama (o nodo) del rbol si la cota indica que no puede contener
la solucin ptima.

Sea el siguiente problema de programacin lineal entera mixta


n
maxz = c j x j
j =1
n

a x
j =1
ij j bi i = 1, , m

xj 0 j = 1, , n
xj Z j = 1, , I I n

El procedimiento que realiza el mtodo de ramificacin y acotamiento es el


siguiente:

1) Inicializacin de la funcin objetivo al valor de z = para un problema de


maximizacin (si fuera de minimizacin sera z = ). z es la mejor solucin
entera encontrada hasta el momento.

Resolver una relajacin del problema (habitualmente es la lineal, aunque pueden


usarse otras). ste problema es el nodo raz.

2) Se aplica al problema el acotamiento o poda y el criterio de optimalidad que se


describen a continuacin. Si no se puede etiquetar el problema como podado,
comienza una iteracin completa.

Pasos en cada iteracin

19/02/2010 115
OPTIMIZACIN LINEAL ENTERA MIXTA

RAMIFICACIN

Seleccionar uno de los nodos (por ejemplo, el creado ms recientemente 8) entre los
no explorados (subproblemas restantes).

Seleccionar una variable entera que tenga valor no entero en la solucin ptima del
subproblema relajado. Un criterio de seleccin es elegir la primera en el orden
natural 9. Si xj es el valor ptimo en el problema relajado, entonces se ramifica en

dos ramas, donde cada una incorpora una de estas restricciones respectivamente

x j xj


, siendo xj parte entera de xj .

x x + 1
j j

La ramificacin en problemas con variables binarias consiste en fijar variables, ya


que si la variable toma un valor fraccionario ser un valor entre 0 y 1 y en cada rama
lo que se hace es fijar el valor de esa variable a 0 a 1. Esto impide que se pueda
ramificar dos veces una variable binaria, pero s puede ocurrir en variables enteras.

La ramificacin aade una restriccin, luego el problema ser resuelto por anlisis
de sensibilidad mediante el mtodo simplex dual. El problema primal de la nueva
rama resulta infactible, cada rama elimina la solucin ptima del subproblema
ascendiente. El problema dual es factible pero no ptimo.

ACOTAMIENTO

Para cada uno de los subproblemas (nodos) se obtiene su cota z mediante


relajacin, resolucin del problema lineal.

Cuando se aplica a problemas de programacin entera pura (PIP o BIP) el mtodo


permite redondear las cotas de la funcin objetivo (hacia abajo o arriba segn
corresponda) a valores enteros si todos los coeficientes que aparecen en las
restricciones o en la funcin objetivo son enteros.

8
Ms adelante se vern otros criterios ms elaborados.

9
Este criterio tambin puede ser ms elaborado.

116 19/02/2010
MTODOS DE OPTIMIZACIN

PODA

Se intentan podar nodos y, por tanto, eliminar ramas que saldran de ellos, con los
siguientes criterios de poda para un problema de maximizacin:

- Se ha obtenido una solucin entera. El nodo ser descartado, aunque todava


existen dos posibilidades para la funcin objetivo z . En el caso de
maximizacin:

- z z , es decir, es peor que la mejor solucin entera encontrada hasta este


momento z , con lo cual se abandona esta solucin. Se poda la rama.

- z > z , es decir, es mejor que la mejor solucin entera encontrada hasta este
momento z , con lo que sta ser la nueva solucin entera, actualizando z = z .

- La solucin no es entera y z z , con lo que ramificando a partir de aqu no se


puede obtener una solucin mejor, por lo que se descarta continuar por ella. Se
poda la rama.

- El subproblema es infactible (ramificando, es decir, aadiendo restricciones no se


recuperar la factibilidad).

3) Criterio de optimalidad

Detener el proceso cuando no existan subproblemas sin analizar. Entonces, la


solucin entera actual z es la ptima.

4) Realizar otra iteracin.

Con este procedimiento, se va creando un rbol de soluciones, de modo que cada


nodo es el problema original con una serie de restricciones aadidas.

Veamos el mtodo de ramificacin y acotamiento con un ejemplo. Sea el problema


MIP siguiente

19/02/2010 117
OPTIMIZACIN LINEAL ENTERA MIXTA

max z = 4x 1 2x 2 + 7x 3 x 4
x1 +5x 3 10
x1 +x 2 x 3 1
6x 1 5x 2 0
x 1 +2x 3 2x 4 3
xj 0 j = 1, , 4
xj Z j = 1, , 3

Se resuelve el problema LP relajado y se obtiene z = 14.25 y


(x 1, x 2 , x 3 , x 4 ) = (1.25,1.5,1.75, 0) .

Se ramifica con la primera variable que debiera ser entera y no lo es, x 1 . Cada rama
corresponde a aadir las restricciones x 1 1 (nodo 1) y x 1 2 (nodo 2),
respectivamente. Se resuelve el nodo 1 y se obtiene z = 14.2 y
(x 1, x 2 , x 3 , x 4 ) = (1,1.2,1.8, 0) . Luego cualquier solucin ptima descendiente de este
nodo cumplir z 14.2 . El nodo 2 resulta infactible luego esa rama queda podada.

Partiendo del nodo 1 se ramifica con la primera variable que debiera ser entera y no
lo es, x 2 , de manera que el nodo 3 tiene las restricciones originales ms x 1 1 y
x 2 1 y en el nodo 4 se aaden x 1 1 y x 2 2 . Resolviendo el nodo 3 se obtiene

z = 14.16 y (x 1, x 2 , x 3 , x 4 ) = (0.83,1,1.83, 0) . Luego cualquier solucin ptima

descendiente de esta rama cumplir z 14.16 . Al resolver el nodo 4 z = 12.16 y

(x 1, x 2 , x 3, x 4 ) = (0.83,2,1.83, 0) . Luego sus descendientes cumplen z 12.16 .

Se selecciona ramificar el nodo 3 por tener la mayor funcin objetivo (ser el nodo
ms prometedor, aunque tambin este criterio puede ser modificado) y se ramifica con
la variable x 1 . En el nodo 5 se habrn aadido las restricciones x 1 1 , x 2 1 y
x 1 0 y su resultado es z = 13.5 y (x 1, x 2 , x 3, x 4 ) = (0, 0,2, 0.5) . Resulta la primera
solucin entera factible del problema MIP, con valor de la funcin objetivo z = 13.5 .
Una vez obtenida una solucin entera se intentan podar las ramas no exploradas y se
observa que el nodo 4 puede ser descartado porque su funcin objetivo es menor (en
maximizacin) que la solucin entera actual.

118 19/02/2010
MTODOS DE OPTIMIZACIN

Para el nodo 6 se aaden las restricciones x1 1 , x2 1 y x1 1 y resulta infactible.

Como no existen ramas sin explorar se ha alcanzado la solucin ptima z = 13.5 y


( x1 , x2 , x3 , x4 ) = (0, 0, 2, 0.5) .

z=14.25
(1.25,1.5,1.75,0)
x1 1 x1 2

1
2
z=14.2
INFACTIBLE
x2 1 (1,1.2,1.8,0) x2 2

3 4
z=14.16 z=12.16
x1 0 (0.83,1,1.83,0) x1 1 (0.83,2,1.83,0)

5
6
z=13.5
INFACTIBLE
(0,0,2,0.5)
z = 13.5

En la implantacin del mtodo existen diversas estrategias de bsqueda que no son


estrictas y pueden ser probadas en la bsqueda de la solucin ptima:

- Seleccin de la rama a resolver

Se puede llevar a cabo una bsqueda en profundidad, resolviendo siempre el ltimo


nodo generado (sin siquiera resolver los dos descendientes que se generan al
ramificar, sino slo uno de ellos). Con esta estrategia de factibilidad, se supone que
es ms rpido encontrar una solucin entera inicial con la que comparar las cotas,
aunque sta pueda estar muy alejada del ptimo y tener un mal valor de
comparacin. Por otra parte, la bsqueda en profundidad es adecuada para utilizar la
postoptimizacin por el mtodo simplex.

Otra opcin es seleccionar el nodo ms prometedor, es decir, aqul cuya funcin


objetivo sea mayor en un problema de maximizacin. Esta estrategia se denomina
de optimalidad.

Existen tambin otros criterios ms sofisticados que intentan explorar o predecir


mnimamente en un nodo qu se puede esperar si se ramifica a partir de l.

19/02/2010 119
OPTIMIZACIN LINEAL ENTERA MIXTA

- Seleccin de la variable entera a ramificar

Se ha presentado el criterio de seleccin que elige la encontrada en primer lugar. Sin


embargo, otros criterios como elegir la de mayor o menor infactibilidad entera
resultan ms adecuados en las estrategias previas.

Tambin se puede modificar (relajar) el criterio de parada del mtodo para evitar
explorar exhaustivamente el rbol. Es fundamental en la solucin de problemas reales
ya que puede marcar la diferencia entre acabar un problema, con una solucin
cuasiptima dentro de una cierta tolerancia conocida, o no solucionar el problema. Para
ello se aade en el criterio de poda una cierta tolerancia relativa o absoluta que descarta
una solucin no entera slo ligeramente mejor que la solucin entera actual, es decir,
poco prometedora. El criterio para maximizacin descarta las ramas con funcin
objetivo z que cumplen siendo el error de tolerancia relativo (por ejemplo 103 ) o
z z z + siendo el error de tolerancia absoluto, ambas constantes conocidas.

Otra tcnica que se utiliza en optimizadores reales es suponer que se dispone


inicialmente de una cota vlida de la funcin objetivo (inventada razonablemente u
obtenida mediante heursticos) (denominada incumbent) para poder podar rpidamente
el rbol. Si esta cota est muy alejada del valor del problema relajado tendr mucha
capacidad de poda pero puede hacer que se pode incluso la rama que contiene la
solucin ptima. Por otra parte, si es muy prxima al valor del problema relajado su
capacidad de poda ser muy pequea.

II.3. Mtodo de planos de corte

Es el primer mtodo que se propuso para resolver problemas de programacin


entera. Se llama plano de corte a toda restriccin vlidamente deducida de las
restricciones del problema.

120 19/02/2010
MTODOS DE OPTIMIZACIN

La idea del procedimiento es ir reduciendo la regin factible relajada aadiendo


planos de corte que reducen la regin factible continua pero no la entera, hasta encontrar
una solucin entera. El mtodo sera el siguiente:

1) Inicializar, resolviendo la relajacin lineal del problema.

2) Si la solucin ptima del problema relajado es entera, es la solucin del problema


entero. Si no, ir al paso 3.

3) Obtener un plano de corte, que la solucin ptima continua actual no verifique


(se dice, un plano de corte que est violado por la solucin actual o que asle a la
solucin actual).

4) Aadir el plano de corte a las restricciones del problema y reoptimizar. Volver al


paso 2.

Naturalmente, la mayor dificultad se encuentra en deducir planos de corte vlidos


para las soluciones enteras y que aslen a la solucin continua. Existen diversos planos
de corte, los primeros y ms conocidos son los formulados por Gomory (corte
fraccional y corte totalmente entero).

Este mtodo en general no asegura la convergencia, pero para los de Gomory, en


particular, manteniendo determinadas normas a la hora de aplicarlos, s est demostrada,
aunque puede ser muy lenta.

Actualmente, la metodologa de planos de corte como mtodo de resolucin


independiente est en desuso por mostrarse menos eficiente que el mtodo anterior, sin
embargo, combinado con otros procedimientos est tomando mucho auge, pues puede
acelerar enormemente la convergencia de otros algoritmos.

En concreto, el mtodo ms actual y que mejores resultados est dando se ve en la


siguiente seccin y es denominado mtodo de ramificacin y corte.

19/02/2010 121
OPTIMIZACIN LINEAL ENTERA MIXTA

II.4. Mtodo de ramificacin y corte

Este mtodo es una combinacin de los dos anteriores. Bsicamente consiste en


aplicar un mtodo de ramificacin y acotamiento, introduciendo planos de corte en los
nodos del rbol para acelerar la convergencia. De forma general, una iteracin del
mtodo sera:

1) Elegir un nodo (en el inicio es el nodo raz que es el problema original relajado).

2) Resolver el problema de ese nodo.

3) Decidir si generar o no planos de corte. En caso afirmativo, obtenerlos y


aadirlos al subproblema y resolver.

4) Estudiar las condiciones de poda del mtodo de ramificacin y acotamiento. Si se


dan, podar esa rama e ir a otro nodo. Si no, ramificar con los criterios del mtodo
de ramificacin y acotamiento.

Como se ve, la nica diferencia con el mtodo de ramificacin y acotamiento es que


en cada nodo hay que decidir si generar o no planos de corte que aadir al subproblema
y reoptimizar.

Aunque la diferencia terica no es muy grande, en la prctica produce muy buenos


resultados. Claro que hay varias cuestiones que resolver, por ejemplo, cul es el criterio
para decidir si generar planos de corte, o por ejemplo, qu planos de corte, ya que hay
de muchos tipos. Actualmente, hay diferentes implantaciones de este procedimiento y,
en general, particularizados a ciertas clases de problemas, de modo que los planos de
corte son especficos para esa clase. Sin embargo, ya existe una implantacin general en
un cdigo comercial en el que se pueden introducir planos de corte de varios tipos en el
proceso (GUB, cover, cliques, flow covers and Gomory cuts).

II.5. Preproceso y reformulacin

En la resolucin de problemas de programacin lineal entera han sido


fundamentales los avances que se han producido para permitir la resolucin de

122 19/02/2010
MTODOS DE OPTIMIZACIN

problemas de gran tamao. Entre ellos cabe destacar: el preproceso automtico, tanto
para problemas continuos como enteros. Como se ha visto en la resolucin, una buena
formulacin de un problema puede ser de vital importancia a la hora de resolverlo. Una
medida de la bondad de una formulacin en programacin entera que se suele utilizar es
la diferencia entre el ptimo del problema relajado y el ptimo entero (habitualmente se
utiliza el trmino anglosajn gap). Un valor pequeo de esta diferencia, suele implicar
un tiempo de resolucin reducido, que a la postre es lo que se desea.

A continuacin se presentan, brevemente, en dos bloques las principales tcnicas de


preproceso. El primer bloque son tcnicas de tipo general, aplicables a cualquier
problema lineal y el segundo bloque es particular para programacin entera.

II.5.1. Preproceso general

El objeto de este preproceso es la reduccin de las dimensiones del problema.

Eliminacin de filas mltiples y dominadas

El objetivo de este mtodo es detectar y eliminar filas repetidas o dominadas por


otras y eliminarlas del problema. Una consecuencia indirecta es que en algunos casos se
pueden detectar situaciones de infactibilidad con este procedimiento.

La aplicacin de la tcnica es bsicamente por comparacin, de modo que si hay una


fila en la que los elementos distintos de cero son un subconjunto de los de otra, ambas
pueden ser comparadas para ver si es posible eliminar una de ellas o detectar una
infactibilidad.

Eliminacin de restricciones redundantes

La idea bsica es detectar la redundancia por medio de las cotas de las variables. En
el proceso tambin se pueden fijar algunas variables a sus cotas y detectar infactibilidad.

La idea bsica es que si una restriccin se satisface incluso en la situacin ms


difcil la restriccin puede ser eliminada.

19/02/2010 123
OPTIMIZACIN LINEAL ENTERA MIXTA

Por ejemplo, para restricciones de se igualan a su cota superior las variables con
coeficientes positivos y a la inferior las dems. Las siguientes restricciones son
redundantes para variables con valores entre 0 y 1

3x1 + 2 x2 6
3x1 2 x2 3
3x1 2 x2 3

Las restricciones suelen ser redundantes a consecuencia del proceso de


reforzamiento de cotas que se explica a continuacin.

Reforzamiento de cotas

Esta tcnica es particularmente importante cuando existen variables enteras de tipo


general. La idea es aumentar las cotas inferiores y disminuir las superiores mediante
inspeccin de las variables en las restricciones en que intervienen. Una consecuencia
directa es la asignacin de valores de algunas variables, cuando se llegan a igualar la
cota inferior y la superior, y la deteccin de infactibilidad cuando se alcanza que la cota
inferior sea mayor que la cota superior.

Reduccin eucldea

Se utiliza especialmente en programacin entera para evitar coeficientes no enteros


en las restricciones y la funcin objetivo. Bsicamente consiste en multiplicar la
restriccin (o funcin objetivo) por el menor valor que haga que todos los coeficientes
sean enteros. Si bien en programacin lineal no es de especial relevancia, en
programacin lineal entera puede ser fundamental la condicin de que todos los
coeficientes sean enteros, siendo incluso una hiptesis de trabajo en muchas ocasiones.

Asignacin de variables

Consiste en identificar variables que pueden fijarse a una de sus cotas ya que los
dems valores no pueden dar una solucin factible y ptima.

Si un valor de una variable no puede satisfacer una restriccin, aun cuando las
dems variables tomen sus valores ms favorables para intentar cumplirla, la variable
debe fijarse al valor opuesto.

124 19/02/2010
MTODOS DE OPTIMIZACIN

La idea bsica es que si una variable slo va en contra de la funcin objetivo y de las
restricciones puede ser fijada a su cota inferior. Si es justo al revs, puede ser fijada a su
cota superior.

El procedimiento para variables binarias y restricciones de tipo con cota positiva se


describe a continuacin. Se identifica la variable con el mayor coeficiente positivo. Si la
suma de dicho coeficiente y cualquier coeficiente negativo excede la cota de la
restriccin, la variable debe fijarse a 0. Aqu se ven algunos ejemplos fciles de
asignacin de variables para variables binarias.

3 x1 2

3 x1 + x2 2 x1 = 1
5 x1 + x2 2 x3 2

x1 + x2 2 x3 1 x3 = 0

3x1 + x2 3 x3 2 x1 = 1, x3 = 0

3x1 2 x2 1 x1 = 0, x2 = 1

El procedimiento se repetir para las siguientes variables con el mayor coeficiente


en una reaccin en cadena.

3x1 + x2 2 x3 2 x1 = 1

De esta restriccin se deduce que x1 = 1 , valor que se utiliza en la siguiente


restriccin

x1 + x4 + x5 1 x4 = 0, x5 = 0

De sta se deduce que x4 = 0 y x5 = 0 , que se utiliza en la siguiente restriccin

x5 + x6 0 x6 = 0

19/02/2010 125
OPTIMIZACIN LINEAL ENTERA MIXTA

II.5.2. Preproceso mixto 0-1 y reformulacin

Estas tcnicas son especficas para problemas enteros y, en particular, con variables
binarias. Dos formulaciones de un problema entero se dicen 0-1 equivalentes si tienen
las mismas soluciones enteras. Dadas dos formulaciones equivalentes de un problema
entero, se dice que una es ms fuerte que la otra, si la regin factible de su relajacin
lineal est estrictamente contenida en la regin factible de la otra. En la formulacin
ms fuerte el intervalo de integralidad (integrality gap), es decir, la diferencia entre la
funcin objetivo de la solucin entera y la del problema relajado linealmente es menor.
La formulacin ms fuerte ideal es aqulla cuyo intervalo de integralidad es nulo, es
decir, cuya solucin entera se puede obtener resolviendo un problema lineal. Sin
embargo, formulaciones fuertes pueden requerir un nmero exponencial de
restricciones.

El preproceso con variables enteras busca a partir de la formulacin del problema


encontrar otra formulacin equivalente y ms fuerte, es decir, que tenga las mismas
soluciones enteras, pero menos soluciones continuas.

Difiere fundamentalmente de las tcnicas anteriores en que en este preproceso es


posible que las dimensiones del problema no slo no se mantengan sino que aumenten
en la bsqueda de esa formulacin ms fuerte, aadiendo nuevas restricciones al
problema. Por esta razn tambin a veces se incluyen dentro de un concepto ms amplio
que es la reformulacin de problemas.

Tcnicas de mejora de coeficientes

El objetivo es reducir la regin factible del problema lineal sin eliminar soluciones
factibles del problema BIP, variando los coeficientes de las restricciones.

Dentro de estas tcnicas hay dos variantes fundamentalmente: la reduccin de


coeficientes y el aumento de coeficientes.

Para reducir coeficientes la tcnica ms habitual es la denominada tcnica miope. El


procedimiento para restricciones de tipo como a1 x1 + a2 x2 + + an xn b con
variables binarias se presenta a continuacin.

126 19/02/2010
MTODOS DE OPTIMIZACIN

1) Calcular S como la suma de los valores a j positivos

2) Elegir cualquier a j 0 tal que S < b + a j

3) Si no existe dicho coeficiente implica que no se puede ajustar ms la restriccin

4) Si a j > 0 , se calculan aj = S b y b = S a j , el nuevo valor del coeficiente es

a j = aj y el de la cota b = b

5) Si a j < 0 , se calcula aj = S b , el nuevo valor del coeficiente es a j = aj

6) Ir a 1.

Veamos la restriccin 2 x1 + 3x2 4 . La suma de los coeficientes positivos es

S = 2 + 3 = 5 . Se toma a1 0 , como 5 < 4 + 2 , los valores de a1 = 5 4 = 1 y

b = 5 2 = 3 , luego a1 = 1 , b = 3 y, por consiguiente, la restriccin queda x1 + 3 x2 3 .

Para la nueva restriccin la suma es S = 1 + 3 = 4 . Se toma a2 0 , como 4 < 3 + 3 , los

valores de a2 = 4 3 = 1 y b = 4 3 = 1 , luego a2 = 1 y b = 1 , entonces la restriccin

ajustada queda como x1 + x2 1 .

Con esta nueva restriccin se puede ver que el conjunto de puntos enteros factibles
no ha cambiado, pero s la regin factible del problema relajado.

x2

x1
x1 + x 2 = 1 2x 1 + 3x 2 = 4

Este procedimiento puede ser ms efectivo si se aprovecha informacin no slo de


la propia restriccin sino tambin de otras restricciones que pueda haber en el problema.

19/02/2010 127
OPTIMIZACIN LINEAL ENTERA MIXTA

En cuanto al aumento o lifting de coeficientes, consiste en aumentar los


coeficientes de las variables en alguna restriccin manteniendo invariante su cota. En
general, el aumento ms habitual consiste en la inclusin de variables que no aparecan
en esa restriccin. Es especialmente utilizada cuando se generan nuevas restricciones
(ver un ejemplo en la seccin siguiente) para sacar el mayor partido de ellas.

Generacin de nuevas restricciones (planos de corte)

El concepto de plano de corte ya se ha explicado previamente lo que es. El plano de


corte es una nueva restriccin que reduce la regin factible del problema lineal sin
eliminar soluciones factibles del problema IP. Disminuye la diferencia entre funcin
objetivo del LP y del MIP. Como ya se ha dicho existen diferentes tipos de planos de
corte que pueden generarse en un problema de programacin lineal entera mixta.
Algunos son especficos para una clase de problemas y otros, aunque surgieron de la
misma manera, pueden ser aprovechados en formulaciones generales. Por ejemplo, para
el problema de la mochila se desarrollaron los planos de corte de tipo cubrimiento, pero
dado que casi todos los problemas incluyen alguna restriccin tipo mochila, con ellas se
pueden generar este tipo de planos que sern vlidos para el problema completo.

El procedimiento para generar planos de corte tipo cubrimiento es el siguiente:

1) Considerar cualquier restriccin con variables binarias de tipo con todos los
coeficientes no negativos (restriccin mochila).

2) Encontrar un grupo de variables (cubrimiento minimal) tal que

- Se viola la restriccin si las variables del cubrimiento son 1 y el resto son 0

- Se satisface la restriccin si una de las variables del cubrimiento se hace 0 en lugar


de 1

3) Formacin del plano de corte como i


xi N 1 , siendo N el nmero de

variables del cubrimiento

Por ejemplo, para la restriccin 6 x1 + 3 x2 + 5 x3 + 2 x4 9 se pueden encontrar estos

planos de corte x1 + x2 + x4 2 , y x 1 + x 3 1 .

128 19/02/2010
MTODOS DE OPTIMIZACIN

Estas desigualdades a su vez pueden ser reforzadas aumentando coeficientes.

Un plano de corte tipo cubrimiento se puede reforzar incluyendo en la restriccin


aquellas variables cuyo coeficiente sea mayor o igual que todos los del cubrimiento
(este procedimiento ya est automatizado al calcular estos planos de corte). Para el
ejemplo anterior, el primer y tercer plano no pueden ser reforzados ya que incluyen la
variable de mayor coeficiente, pero el segundo s, quedando su expresin
x 1 + x 2 + x 3 + x 4 2 . Esta nueva restriccin es ms fuerte que la segunda y que la
primera, por lo que pueden ser sustituidas ambas por ella. Sin embargo, no es
comparable con la tercera ya que los trminos independientes son diferentes y los
coeficientes de las variables tambin.

Otro tipo de planos de corte que se estudiaron fueron planos de corte en problemas
de flujo con coste fijo, que ahora son utilizados en programacin entera mixta.

En general, los cuatro tipos ms utilizados (no especficos) son cortes GUB, cliques,
cubrimientos (covers) y flujos (flow covers). Adems se estn retomando los planos de
corte de Gomory. Todos estos planos pueden ser utilizados en el preproceso, o en los
nodos del rbol de enumeracin cuando se desarrolla la tcnica de ramificacin y corte.

II.6. Referencias

Minoux, M. (1986) Mathematical Programming. Theory and Algorithms. John Wiley


and Sons

Nemhauser, G.L., Wolsey, L.A. (1988) Integer and Combinatorial Optimization. John
Wiley and Sons.

Wolsey, L.A. (1998) Integer Programming. John Wiley and Sons.

II.7. Biblioteca de problemas

PROBLEMA 1

19/02/2010 129
OPTIMIZACIN LINEAL ENTERA MIXTA

Resolver grficamente y mediante el mtodo ramificacin y acotamiento los


siguientes problemas.

1.

max 3x 1 + 2x 2
2x 1 + 2x 2 9
3x 1 + 3x 2 18
x 1, x 2 0 enteras

2.

max 2x 1 + 3x 2
5x 1 + 7x 2 35
4x 1 + 9x 2 36
x 1, x 2 0 enteras

3.

max x 1 + x 2
2x 1 + 5x 2 16
6x 1 + 5x 2 27
x 1, x 2 0 enteras

4.

min 5x 1 + 4x 2
3x 1 + 2x 2 5
2x 1 + 3x 2 7
x 1, x 2 0, x 2

5.

max 5x 1 + 7x 2
2x 1 + x 2 13
5x 1 + 9x 2 41
x 1, x 2 0, x 2

130 19/02/2010
MTODOS DE OPTIMIZACIN

PROBLEMA 2

Resolver los siguientes problemas mediante el mtodo ramificacin y acotamiento.

max 18x 1 + 14x 2 + 8x 3 + 4x 4


1. 15x 1 + 12x 2 + 7x 3 + 4x 4 + x 5 37
x j {0,1} j = 1,..., 5

max x 1 + 2x 2 + 5x 3
x 1 + 10x 2 3x 3 15
2.
2x 1 + x 2 + x 3 10
x 1, x 2x 3 0

PROBLEMA 3

Dado el siguiente problema

max 3x 1 + 2x 2 + 2x 3 + 2x 4
3x 1 + x 2 + 2x 3 + x 4 5
x 1 + 2x 2 + 2x 3 + x 4 3
x 1, x 2 , x 3 , x 4 {0,1}

1) Resolver mediante tcnicas de ramificacin y acotamiento.

2) Obtener para cada desigualdad los cubrimientos minimales y los planos de corte
obtenidos con ellos. Reforzar los cortes obtenidos.

3) Dada la solucin de la relajacin lineal x * = (1, 0.5, 0,1) cules de las


desigualdades anteriores se pueden utilizar para aislar esta solucin?

PROBLEMA 4

Dado el siguiente rbol incompleto de soluciones obtenido en un paso intermedio al


resolver mediante ramificacin y acotamiento un problema de programacin lineal
entera de minimizacin en que todas las variables son binarias, decir qu ramas se
descarta seguir explorando y por qu, adems de decir cul es el mnimo valor que se
puede obtener en el problema llegados a este punto y por qu.

19/02/2010 131
OPTIMIZACIN LINEAL ENTERA MIXTA

(0,1,0.75,0.2)
z=17

X1=0

(0.5, 0.75,1,1) (1,0,1,0)


z=15 z=18

X1=1 X2=0

(1,0.25,0.25,0.25)
z=15 (1,1,0,0.75)
z=19
X3=0
X2=1

(1,1,0.25,0)
z=16

X3=1

No factible

PROBLEMA 5

Dado el siguiente rbol de soluciones obtenido al resolver mediante ramificacin y


acotacin un problema de programacin lineal entera de minimizacin en que todas las
variables son binarias, dar valores a las cotas en cada nodo para que sea el rbol final
obtenido. Explicar por qu es el rbol final y el orden en qu se han generado los nodos.

132 19/02/2010
MTODOS DE OPTIMIZACIN

II.8. Resultados de la biblioteca de problemas

RESULTADO DEL PROBLEMA 1

1) No factible

2) z * = 14 , dos ptimos, x 1* = (4,2) , x 2* = (7, 0)

3) z * = 4 , tres ptimos, x 1* = (2,2) , x 2* = (3,1) , x 3* = (4, 0)

4) z * = 10.5 , x * = (0.5,2)

5) z * = 37 , dos ptimos, x 1* = (6,1) , x 2* = (4.6,2)

RESULTADO DEL PROBLEMA 2

1) z * = 40 , x * = (1,1,1, 0, 0)

2) z * = 50 , x * = (0, 0,10) , * = 1

RESULTADO DEL PROBLEMA 3

1) x 1 = 1 , x 2 = 5 , objetivo 5

2) restriccin 1 C 11 = {1,2, 3} , C 12 = {1, 3, 4}

3) x1 + x 2 + x 3 2 , x1 + x 3 + x 4 2

4) restriccin 2 C 21 = {2, 3} , C 22 = {1,2, 4} , C 23 = {1, 3, 4}

5) x 2 + x 3 1 , x1 + x 2 + x 4 2 , x1 + x 3 + x 4 2

6) x1 + x 2 + x 4 2

RESULTADO DEL PROBLEMA 4

Nodos sin explorar o ramificar:

No factible: se poda ya que no hay solucin factible

z=18: solucin entera, luego z*=18

19/02/2010 133
OPTIMIZACIN LINEAL ENTERA MIXTA

z=19: se poda ya que aunque no es entera, es peor que la mejor encontrada hasta el
momento (minimizacin)

z=17: no es entera, la cota es mejor que la de la solucin entera mejor encontrada


hasta el momento, es factible: no se puede podar, hay que seguir ramificando.

Resto de nodos ya estn explorados.

La mejor solucin por el momento es z=18, pero podra llegar a ser 17 explorando el
nodo que an queda activo.

134 19/02/2010
MTODOS DE OPTIMIZACIN

III. Optimizacin no lineal

De forma general, el problema de programacin no lineal (non linear programming


NLP) se plantea como

min f (x )
x
(1.60)
gi (x ) bi i = 1, , m
n n n
donde x , f (x ) : y gi (x ) : . Ntese que, en este caso, la no
negatividad de las variables no forma parte de la formulacin general. Aunque la
funcin objetivo puede ser de maximizacin o minimizacin, en lo que sigue, cuando se
hable de un problema de programacin no lineal se supondr, sin prdida de
generalidad, que es un problema de minimizacin.

III.1. Clasificacin de problemas de programacin no


lineal

Los problemas de NLP se presentan de muchas formas distintas y no existe un nico


algoritmo o mtodo para resolverlos. En su lugar, se han desarrollado algoritmos para
unas clases o tipos especiales de NLP. A continuacin, se presentan las clases ms
importantes y en secciones posteriores algunos de los algoritmos desarrollados.

La resolucin de estos problemas es, en general, ms difcil y computacionalmente


ms costosa que uno de LP de tamao equivalente. Mientras que en LP es fcil
encontrar optimizadores robustos, en NLP no existen mtodos completamente robustos
que solucionen cualquier tipo de problema. Por ello, en la formulacin de un problema
NLP es necesario seguir dos recomendaciones esenciales:

1) escalar adecuadamente las variables y restricciones del problema alrededor de 1,


es decir, hacer que tanto las variables originales como las de holgura o exceso de
las restricciones tomen en el ptimo valores cercanos a 1 y

19/02/2010 135
OPTIMIZACIN NO LINEAL

2) proporcionar un punto inicial suficientemente cercano al ptimo. Un mtodo para


obtener este punto puede ser ejecutar el mismo problema linealizado.

Optimizacin no restringida

Son problemas de optimizacin donde no hay restricciones

min f (x ) (1.61)
x

Para este tipo de problemas en la siguiente seccin se vern cules son las
condiciones que ha de cumplir un punto para que sea ptimo y algunos algoritmos de
bsqueda para encontrar tal punto, diferenciando entre problemas de una variable
(unidimensionales) o de ms variables (multidimensionales) y entre algoritmos que usan
diferenciacin y otros que no.

Optimizacin linealmente restringida

Son problemas donde todas las restricciones son lineales, aunque la funcin objetivo
no lo es

min f (x )
x (1.62)
Ax = b

En este caso, el problema se simplifica bastante y existe una extensin del algoritmo
simplex para resolverlo adems de algunos casos particulares, como el del problema
cuadrtico, con algoritmos particulares muy eficientes.

Programacin cuadrtica

Son problemas donde las restricciones son lineales, pero la funcin objetivo es
cuadrtica, es decir, que incluye algn trmino con el cuadrado de alguna variable o con
el producto de dos variables

1 T
min f (x ) = x Qx bT x
x 2 (1.63)
Ax = b

136 19/02/2010
MTODOS DE OPTIMIZACIN

Se han desarrollado muchos algoritmos para este tipo de problemas, algunos con la
hiptesis adicional de que f (x ) sea convexa (cncava para el caso de maximizacin).

La programacin cuadrtica es muy importante, ya que surge de forma natural en


muchas formulaciones, por ejemplo cuando la funcin objetivo representa distancias
eucldeas (mnimos cuadrados). Adems, una de sus utilidades es como problema
auxiliar en otros tipos de optimizacin.

Programacin convexa

La programacin convexa engloba una amplia clase de problemas, entre los que se
encuentran los casos anteriores cuando las funciones son convexas. Sus hiptesis son:
f (x ) es convexa (cncava si es maximizacin) y gi (x ) es convexa, i = 1, , m .

En tal caso, adems, se puede asegurar que todo ptimo local es tambin global.

Programacin separable

Es un caso especial de la programacin convexa, donde se aade la hiptesis de que


las funciones f (x ) y gi (x ) son separables.

Una funcin separable es una funcin en la que cada trmino incluye una sola
variable, por lo que la funcin se puede separar en una suma de funciones de las
variables individuales
n
f (x ) = fj (x j ) (1.64)
j =1

Supone que se cumple la hiptesis de aditividad, pero no la de proporcionalidad de


la programacin lineal.

Programacin no convexa

Incluye todos los problemas de programacin no lineal que no cumplen la hiptesis


de la programacin convexa. En este caso, aun cuando se logre encontrar un ptimo
local, no se puede asegurar que sea un ptimo global.

19/02/2010 137
OPTIMIZACIN NO LINEAL

Para este tipo de problemas existen algoritmos, bastante adecuados en algunos


casos, para encontrar ptimos locales. Para algunos casos especiales, adems, hay
algoritmos especficos que permiten resolver los problemas sin gran dificultad.

Programacin geomtrica

Surge a menudo en problemas de diseo de ingeniera, donde la funcin objetivo y


las restricciones toman la forma
n
g(x ) = c j Pj (x ) (1.65)
j =1

donde
a a a
Pj (x ) = x 1 j 1 x 2 j 2 ...x n jn , j = 1,..., n (1.66)

En tales casos, c j y a jj representan las constantes fsicas y x j las variables de

diseo. Estas funciones, en general, no son ni cncavas ni convexas, pero, existe un


caso particular bien resuelto cuando los coeficientes c j son estrictamente positivos.

Programacin fraccional

Surge cuando la funcin objetivo se encuentra como una fraccin

f1(x )
f (x ) = (1.67)
f2 (x )

Situacin que se puede plantear, por ejemplo, al maximizar la razn de la


produccin entre las horas-hombre empleadas (productividad) o la ganancia entre el
capital invertido (tasa de rendimiento), etc.

Existen algunos procedimientos especiales para ciertas formas de las funciones


f1(x ) y f2 (x ) , aunque en general, se intenta transformar el problema en algn otro para
el que se disponga de un procedimiento eficiente.

138 19/02/2010
MTODOS DE OPTIMIZACIN

III.2. Expansin en serie de Taylor

Antes de empezar con los mtodos de resolucin de problemas de optimizacin


vamos a revisar algunos conceptos bsicos de clculo numrico.

La expansin en serie de Taylor de una funcin nos permite calcular el valor de la


funcin en puntos prximos a otro dado, cuyo valor ya se conoce. Se puede expresar
como

1 T 2
f (x * + p) = f (x * ) + f (x * )T p + p f ( )p (1.68)
2
n
donde x n
, p es un vector diferente de 0, es un punto entre x y x * , f (x )

es el valor de la funcin, f (x ) el gradiente y 2 f (x ) o H f (x ) el hessiano o matriz

2 f
hessiana, tal que hij = (x * ) . sta es una matriz simtrica por tener f segundas
x i x j

derivadas continuas.

Veamos el gradiente y el hessiano de una funcin cuadrtica

1 T
f (x ) = x Qx bT x
2
n n nn
donde x ,b yQ .

El gradiente de una funcin cuadrtica es

f (x ) = Qx b

y el hessiano

2 f (x ) = Q

Si tenemos la funcin

1 2 1
f (x 1, x 2 ) = x 1 + 2x 1x 2 + x 22 x 2 + 9 ,
2 2

el gradiente es

19/02/2010 139
OPTIMIZACIN NO LINEAL

f

x 1 x 1 + 2x 2
f (x 1, x 2 ) = =
f 2x 1 + x 2 1

x 2

y el hessiano

2 f 2 f

x 12 x 1x 2 1 2
f (x 1, x 2 ) = 2
2
=
f 2 f 2 1

x 2x 1 x 22

Si el punto x * = (1, 1) es un mximo local con valor de la funcin f (1, 1) = 9 , el


valor de la funcin en un nuevo punto x = (1.1, 0.9) se puede calcular mediante la
expansin en serie de Taylor hasta segundo orden, que es exacta para una funcin
cuadrtica, siendo p = (0.1, 0.1)

0.1 1 1 2
0.1
( )
f (1.1, 0.9) = 9 + 1 0 + 0.1 0.1
0.1 2
( )
0.1 = 8.93
2 1

o, como comprobacin, por evaluacin directa en el nuevo punto

f (1.1, 0.9) = 0.605 1.98 + 0.405 + 0.9 + 9 = 8.93

III.3. Optimizacin no restringida

La optimizacin no restringida es aqulla donde no hay restricciones

min f (x ) (1.69)
x

En primer lugar se ven las condiciones necesarias y suficientes para que un punto
sea mnimo local y para que lo sea global, bajo ciertas hiptesis. A continuacin se ven
diferentes algoritmos iterativos de clculo de dicho mnimo.

140 19/02/2010
MTODOS DE OPTIMIZACIN

III.3.1. Condiciones de optimalidad

Condicin necesaria de optimalidad

n
Sea f : diferenciable en x * ; si x * es un mnimo local 10 entonces

f (x * ) = 0 (1.70)

sta se denomina condicin de primer orden porque involucra derivadas primeras.

Sin embargo, cualquier punto que satisfaga esta condicin es un punto estacionario,
no necesariamente un mnimo.

x 1 + 2x 2
Ejemplo: f (x 1, x 2 ) = = 0 luego (x 1, x 2 ) = (2 3, 1 3)
2x 1 + x 2 1

n
Sea f : dos veces diferenciable en x * ; si x * es un mnimo local entonces

f (x * ) = 0 y H f (x * ) es semidefinida positiva.

La condicin de que el hessiano en un punto sea una matriz semidefinida positiva se


denomina condicin de segundo orden porque involucra derivadas segundas. Es
equivalente a decir que la funcin es convexa en dicho punto, cncava para el caso de
maximizacin.

Una funcin f (x ) continua es convexa en el intervalo [a, b ] si u, v [a, b ] y

[0,1]

f (u + (1 ) v ) f (u ) + (1 ) f (v )

Se dice que f (x ) es cncava en el intervalo [a, b ] si u, v [a, b ] y [0,1]

10
Mnimo local es un punto x * n
que satisface la condicin f (x * ) f (x ) para todo x tal que

x x * < siendo un nmero positivo (tpicamente pequeo) cuyo valor puede depender de x * . Si

f (x * ) < f (x ) se habla de mnimo local estricto.

19/02/2010 141
OPTIMIZACIN NO LINEAL

f (u + (1 ) v ) f (u ) + (1 ) f (v )

Una funcin convexa (cncava) en [a, b ] tiene un valor mnimo (mximo) en dicho
intervalo.

Una matriz A es semidefinida positiva si x T Ax 0 para cualquier vector no nulo


x o bien todos sus autovalores son no negativos o bien si todos los determinantes de
orden 1,2, ,n (siendo n la dimensin de la matriz) obtenidos aadiendo filas y
columnas consecutivas desde el primer elemento son mayores o iguales que cero.

Una matriz A es semidefinida negativa si x T Ax 0 para cualquier vector no nulo


x o bien todos sus autovalores son no positivos o bien si los determinantes de orden
1,2, ,n (siendo n la dimensin de la matriz) obtenidos aadiendo filas y columnas
consecutivas desde el primer elemento son, alternativamente, menor que cero, mayor
que cero, etc. o bien si la matriz A (resultado de cambiar el signo de todos los
elementos) es semidefinida positiva.

Si una matriz tiene autovalores tanto positivos como negativos se dice que es
indefinida.

2 1
Ejemplo: 2 f (x 1, x 2 ) = es una matriz semidefinida positiva ya que sus
1 2

2 1
determinantes son positivos 2 = 2 0 y = 3 0 . Sin embargo, la matriz
1 2

1 2
hessiana del ejemplo anterior, 2 f (x 1, x 2 ) = , no lo es ya que el determinante de
2 1

orden 2 de la matriz es estrictamente menor que cero.

Condicin suficiente de optimalidad

n
Sea f : dos veces diferenciable en x * ; si f (x * ) = 0 y H f (x * ) es

definida positiva, entonces x * es mnimo local estricto.

142 19/02/2010
MTODOS DE OPTIMIZACIN

Condicin necesaria y suficiente de optimalidad

n
Sea f : convexa y diferenciable en x * (si es dos veces diferenciable el

hessiano ser semidefinido positivo); x * es un mnimo global si y slo si f (x * ) = 0 .

III.3.2. Funciones unidimensionales

Sea el problema

min f (x )
x
(1.71)
x [a, b ]

siendo f una funcin convexa, x y [a, b ] el intervalo de bsqueda del mnimo.

En principio, con las condiciones de optimalidad anteriores, un mtodo para


encontrar el ptimo de un problema sera resolver el sistema de ecuaciones resultante de
igualar el gradiente de la funcin a 0. Sin embargo, no siempre es posible aplicar este
mtodo, algunas veces porque la funcin no es diferenciable y otras porque no se puede
resolver directamente el sistema de ecuaciones, por lo que se presentan a continuacin
algunos algoritmos de bsqueda diseados para localizar el mnimo de una funcin.

Al igual que otros procedimientos de bsqueda, consisten en encontrar una sucesin


de puntos o soluciones prueba que conduzcan hacia una solucin ptima. Hay diversos
algoritmos para hacerlo, siendo la clasificacin fundamental entre algoritmos de
comparacin (que no utilizan derivadas) y algoritmos de interpolacin (que s las usan).

Existen varios algoritmos de comparacin: mtodo de la seccin urea, mtodo de


Fibonacci, mtodo de la biseccin, etc. Entre los cuales se va a presentar el primero.
Entre los algoritmos de interpolacin se presenta el mtodo de Newton.

Mtodo de la seccin urea

La idea fundamental es ir haciendo intervalos cada vez menores donde se encuentre


el mnimo, evaluando y comparando los valores de la funcin en puntos. El algoritmo
acaba cuando la longitud del intervalo considerado en una iteracin es menor que un
determinado nivel de tolerancia.

19/02/2010 143
OPTIMIZACIN NO LINEAL

Es un mtodo que da una forma particular de seleccionar estos puntos, determinando


esos intervalos cada vez menores donde se debe encontrar el mnimo buscado.

Sea I k la longitud del intervalo [ak , bk ] en la iteracin k . Sean k , k tales que

ak < k < k < bk . Entonces se pueden dar dos casos:

- Si f (k ) > f (k ) , en la siguiente iteracin se considera ak +1 = k y bk +1 = bk

- Si f (k ) f (k ) , en la siguiente iteracin se considera ak +1 = ak y bk +1 = k

Adems para ahorrar una evaluacin de la funcin f en la iteracin k + 1 , se hacen


coincidir los valores k +1 y k +1 con alguno de los anteriores. As, en la situacin a), se

hace k +1 = k ; y en la situacin b), se hace k +1 = k .

En cualquier caso, es fcil comprobar que I k = bk ak = I k +1 + I k +2 . El mtodo de


la seccin urea adems pretende que la reduccin de la longitud de los intervalos sea
constante, es decir, I k +1 = I k , 0 < < 1 . Con estas dos condiciones se deduce que el

valor de que hay que manejar es la solucin de la ecuacin 2 + 1 = 0 , cuyo


valor es = ( 5 1) 2 0.618 , conocido como nmero ureo. De esta forma, los

valores de los puntos interiores del intervalo sern

k = ak + (1 )I k
k = ak + I k

La convergencia del algoritmo es lineal.

Mtodo de Newton

Los algoritmos de interpolacin realizan en cada iteracin una aproximacin de la


funcin f , en el punto x k considerado en dicha iteracin, por un polinomio de segundo
o de tercer grado. Para hacerlo necesita evaluar las primeras derivadas de la funcin en
xk .

Este mtodo ajusta, en la iteracin k , una parbola q(x ) a f (x ) , f (x ) , f (x ) y


toma x k +1 como el vrtice de esa parbola

144 19/02/2010
MTODOS DE OPTIMIZACIN

1
q(x k +1 ) = f (x k ) + f (x k )(x k +1 x k ) + f (x k )(x k +1 x k )2 (1.72)
2

f (x k )
q (x k +1 ) = 0 x k +1 = x k (1.73)
f (x k )

El algoritmo converge cuadrticamente bajo ciertas condiciones, pero es muy


inestable y suele ser necesario tomar precauciones e incluir protecciones.

III.3.3. Funciones multidimensionales

Sea el problema

min f (x ) (1.74)
x

n
siendo f una funcin convexa y x .

En el caso de n variables, el problema de resolver el sistema de ecuaciones no


lineales f (x ) = 0 plantea mayores dificultades que el de resolver f (x ) = 0 , por lo
que se hace ms necesario disear procedimientos alternativos de bsqueda del mnimo.
Uno en particular es utilizar el mtodo de Newton para resolver el sistema de
ecuaciones. De hecho estos algoritmos utilizan aproximaciones similares.

Tambin ahora, la clasificacin de los algoritmos iterativos se hace igual que antes
por algoritmos sin diferenciabilidad y algoritmos que utilizan diferenciacin. Existen
varios mtodos que no requieren diferenciabilidad: mtodo de Rosenbrock o de las
coordenadas cclicas, mtodo de Hooke y Jeeves (con paso continuo o paso discreto),
mtodo de Nelder y Mead, etc. De los cuales se presenta el primero. Existen varios
mtodos que requieren diferenciabilidad para minimizar funciones de varias variables.
Se pueden clasificar en:

- Aquellos que slo utilizan derivadas primeras: mtodo del mximo descenso y
mtodo del gradiente conjugado

- Aquellos que adems utilizan segundas derivadas: mtodo de Newton y mtodo


de cuasi-Newton (con actualizaciones Broyden-Fletcher-Goldfarb-Shanno BFGS,
Davidon-Fletcher-Powell DFP)

19/02/2010 145
OPTIMIZACIN NO LINEAL

Los mtodos que utilizan derivadas son procedimientos iterativos con un mecanismo
de actualizacin del punto del tipo

x k +1 = x k + k pk (1.75)

Como se ver a continuacin, las diferencias entre ellos se establecen por la


seleccin de la direccin de bsqueda pk y de la longitud del paso k . Existen
condiciones generales o mejoras que se introducen para garantizar que convergen a un
mnimo, como elegir el escalar k de manera que f (x k +1 ) < f (x k ) y que la direccin

sea descendente pTk f (x k ) < 0 . Existen dos mtodos principales: el de bsqueda


unidimensional (line-search methods) y los de regin de confianza (trust-region
methods).

Los mtodos de bsqueda unidimensional controlan en las primeras iteraciones que


la funcin objetivo desciende suficientemente. En las ltimas iteraciones, prximas a la
solucin final, no afecta el movimiento de la solucin. Se trata de encontrar el valor k
que nos proporcione el mnimo de esta funcin mediante este problema de
minimizacin unidimensional

min F () f (x k + k pk ) (1.76)
k >0

Si el valor ptimo de k resulta calculable fcilmente y sin excesivo coste


computacional, se utiliza ste. Alternativamente, se pueden imponer dos condiciones
adicionales sobre k

- que el descenso sea suficiente

f (x k + k pk ) f (x k ) + k pkT f (x k ) 0 < < 1

que se denomina condicin de Armijo

- que el descenso no sea demasiado pequeo

Por ejemplo, se define k como una secuencia 1, , , 1/8, etc. Se van utilizando
los valores de la secuencia empezando por 1. Si para = 1 se satisface la condicin
anterior, si no se utiliza el valor siguiente.

146 19/02/2010
MTODOS DE OPTIMIZACIN

La direccin de bsqueda pk debe cumplir dos condiciones adicionales

- que el descenso sea suficiente

pT f (x k )
>0
p f (x k )

es decir, que los dos vectores no sean ortogonales

- que la direccin de movimiento est relacionada con el gradiente

p m f (x k )

es decir, que la norma de la direccin de bsqueda no sea demasiado pequea con


respecto al gradiente.

Mtodo de las coordenadas cclicas

Consiste en partir de un punto x 1 y minimizar la funcin f en la direccin


d1 = (1, 0, 0, , 0) (minimizacin de una funcin unidimensional); alcanzado el punto
x 2 que minimiza la funcin en esa direccin, se minimiza desde ese punto en la
direccin d2 = (0,1, 0, , 0) para determinar el punto x 3 y as sucesivamente hasta
llegar al punto x n +1 en que se vuelve a minimizar en la direccin d1 .

El proceso se repite hasta alcanzar la precisin deseada. No es un mtodo muy


eficiente, los otros mtodos aprovechan mejor las direcciones detectadas de mejora,
pero es bueno para hacerse una primera idea de lo que son mtodos de bsqueda sin
hiptesis de diferenciabilidad.

Mtodo del mximo descenso

El mtodo del mximo descenso (steepest descent) es el ms sencillo de ellos y se


basa en que la direccin de mximo descenso desde un punto es la direccin opuesta al
gradiente.

pk = f ( xk ) (1.77)

19/02/2010 147
OPTIMIZACIN NO LINEAL

Se puede interpretar como un caso particular del mtodo de Newton (que se ver a
continuacin) cuando el hessiano se sustituye por la matriz identidad.

As dado xk se evala pk = f ( xk ) (que es una direccin ortogonal a la curva de


nivel en ese punto) y se minimiza (minimizacin en una variable) en esa direccin para
determinar el punto xk +1 en que se vuelve aplicar el procedimiento. El proceso se repite
hasta que el valor del gradiente est por debajo de un cierto umbral.

No requiere el uso de segundas derivadas, ni resolver un sistema de ecuaciones


lineales. Por tanto, es poco costoso computacionalmente. Tiene una convergencia ms
lenta, lineal. En general, no se debe utilizar.

Sea la funcin cuadrtica

1 T
min f ( x) = x Qx bT x
x 2

1 1
donde Q = 5 y b = 1

25 1

En este caso particular, el ptimo se puede determinar mediante este sistema de


1
f ( x) = Qx b = 0 1
ecuaciones lineales y, por tanto, x = Q b = 1 5
*
y
1 25

f ( x* ) = 0.62 .

La direccin de mximo descenso es pk = f ( xk ) = (Qxk b) .

Si en este problema cuadrtico se utiliza una bsqueda unidimensional exacta para


determinar la longitud el paso el valor ptimo resultante de k es

f ( xk )T pk
k = (1.78)
pkT 2 f ( xk ) pk

148 19/02/2010
MTODOS DE OPTIMIZACIN

0 1
Supongamos un punto inicial x0 = 0 . Para ese punto f ( x0 ) = 0 , f ( x0 ) = 1 y si

0 1

se utiliza la norma 2 del gradiente como medida de la convergencia

f ( x0 ) = 12 + 12 + 12 = 1.73 . El valor de 0 = 3 31 = 0.097

0.097
La nueva estimacin de la solucin es x1 = x0 + 0 p0 = 0.097 . Para este punto
0.097

0.903
f ( x1 ) = 0.145 , f ( x1 ) = 0.516 y su norma 2 f ( x1 ) = 1.76 . El valor de
1.419

1 = 0.059 .

0.150

La nueva estimacin de la solucin es x2 = 0.127 . Para este punto
0.013

0.850
f ( x2 ) = 0.237 , f ( x2 ) = 0.364 y su norma 2 f ( x2 ) = 1.14 .
0.673

El proceso contina hasta que la norma 2 del gradiente se haga suficientemente


pequea (inferior a una cierta tolerancia, 108 por ejemplo). En este ejemplo se
necesitan 216 iteraciones hasta alcanzar esta tolerancia.

La convergencia del mtodo del mximo descenso para una funcin cuadrtica con
bsqueda unidimensional exacta es lineal. La relacin de mejora entre dos iteraciones
consecutivas se puede acotar superiormente de esta manera
2
f ( xk +1 ) f ( x* ) cond(Q) 1
(1.79)
f ( xk ) f ( x* ) cond(Q) + 1

19/02/2010 149
OPTIMIZACIN NO LINEAL

donde cond( A) el nmero de condicin de la matriz A que se define como

cond( A) A A1 y A 2 = max ( AT A) , siendo max ( AT A) el autovalor mximo de

la matriz AT A . Si A es una matriz definida positiva y simtrica cond( A) = 1 n siendo

1 y n el mayor y menor autovalor respectivamente.

En el ejemplo anterior cond(Q) = 25 . Un valor elevado del nmero de condicin


indica que la convergencia es muy lenta. Para cond(Q) = 100 este mtodo mejora la
solucin como mucho del 4 % en cada iteracin.

Para funciones no lineales generales la convergencia es tambin lineal con la misma


cota superior, pero donde ahora Q = 2 f ( x* ) es el hessiano de la funcin en la
solucin.

Mtodo de Newton

Es ms eficiente que el mtodo del mximo descenso y anlogo al de una variable,


ya que consiste en aproximar por una funcin cuadrtica la funcin f ( x) en el punto
considerado en una iteracin, hallar el mnimo de esa funcin cuadrtica y volver a
aplicar el mtodo

1
q( xk +1 ) = f ( xk ) + f ( xk )T ( xk +1 xk ) + ( xk +1 xk )T 2 f ( xk )( xk +1 xk ) (1.80)
2
1
q( xk +1 ) = 0 xk +1 = xk 2 f ( xk ) f ( xk ) (1.81)

Obsrvese que en este caso el clculo de la direccin de movimiento en cada


iteracin implica la resolucin de un sistema de ecuaciones lineales

2 f ( xk ) pk = f ( xk ) (1.82)

El algoritmo converge cuadrticamente en la cercana del ptimo bajo ciertas


condiciones (relativamente exigentes) y requiere algunas modificaciones para su
correcto y potente funcionamiento. Tiene la desventaja de que en cada iteracin se
necesita calcular y almacenar el hessiano.

150 19/02/2010
MTODOS DE OPTIMIZACIN

Mtodo de cuasi-Newton

El mtodo de cuasi-Newton es una mejora del mtodo de Newton que disminuye el


coste computacional asociado a calcular y almacenar el hessiano y la resolucin del
sistema de ecuaciones lineales.

Est basado en aproximar el hessiano de la funcin en cada punto 2 f ( xk ) por otra

matriz Bk definida positiva ms fcil de calcular. Las diferentes variantes difieren en la

eleccin de Bk y en su actualizacin en cada iteracin.

Las ventajas estriban en utilizar slo primeras derivadas en la aproximacin de Bk


y, por consiguiente, la direccin de bsqueda se puede calcular con menor coste
computacional. Las desventajas son que la convergencia ya no es cuadrtica y adems
requieren el almacenamiento de una matriz, luego no es apto para problemas de gran
tamao.

El algoritmo del mtodo de cuasi-Newton es el siguiente:

1) Especificacin de una solucin inicial x0 y de una aproximacin inicial al

hessiano B0 . La inicializacin de Bk suele ser la matriz identidad B0 = I

2) En cada iteracin k = 0,1, hasta encontrar la solucin ptima

- Calcular la direccin de movimiento

Bk pk = f ( xk ) (1.83)

- Hacer una bsqueda unidimensional para determinar

xk +1 = xk + k pk (1.84)

- Calcular la matriz Bk +1 mediante las ecuaciones

sk = xk +1 xk
(1.85)
yk = f ( xk +1 ) f ( xk )

19/02/2010 151
OPTIMIZACIN NO LINEAL

El clculo de la matriz Bk se basa en la condicin de la secante. Para una

funcin cuadrtica el hessiano Q satisface de manera exacta esta condicin.

2 f ( xk +1 )( xk +1 xk ) f ( xk +1 ) f ( xk )
Bk +1 ( xk +1 xk ) f ( xk +1 ) f ( xk ) (1.86)
Bk +1sk = yk

Sin embargo, la matriz Bk +1 no se calcula directamente sino mediante


actualizacin.

Actualizar la aproximacin del hessiano

Bk +1 = Bk + actualizacin (1.87)

Existen diferentes actualizaciones de Bk . La denominada BFGS (Broyden-Fletcher-


Goldfarb-Shanno)

( B s )( Bk sk )
T
yk ykT
Bk +1 = Bk k k + (1.88)
skT Bk sk ykT sk

o la denominada DFP (Davidon-Fletcher-Powell)

( B s )( Bk sk )
T
yk ykT
Bk +1 = Bk k k + T + ( skT Bk sk )uk ukT (1.89)
skT Bk sk y k sk

yk Bs
donde uk = T
Tk k
yk sk sk Bk sk

En ambas actualizaciones para garantizar que Bk +1 sigue siendo definida positiva se

debe cumplir ykT sk > 0 condicin que se debe garantizar controlando la bsqueda
unidimensional.

III.4. Optimizacin restringida

Al igual que en el caso de la optimizacin no restringida, en primer lugar se van a


ver las condiciones de optimalidad, que en muchos casos permiten determinar

152 19/02/2010
MTODOS DE OPTIMIZACIN

directamente la solucin ptima del problema entre los puntos que son soluciones del
sistema de ecuaciones que se plantea y, a continuacin, algoritmos de bsqueda como
alternativa al procedimiento anterior.

III.4.1. Lagrangiano y multiplicadores de Lagrange

Sea el problema de minimizacin de funcin objetivo no lineal con restricciones


lineales de igualdad ( P)

min f ( x)
x (1.90)
Ax = b
mn
donde x n
, A y b m
.

Se define la funcin no lineal denominada lagrangiano como

L( x, ) = f ( x) + T ( Ax b) (1.91)

donde m
se denominan multiplicadores o multiplicadores de Lagrange. El
mnimo del lagrangiano es el mnimo del problema ( P) puesto que en el ptimo
Ax = b .

El gradiente del lagrangiano con respecto a cada conjunto de variables es

x L( x, ) = f ( x) + AT
(1.92)
L( x, ) = Ax b

Aplicando las condiciones necesarias y suficientes de optimalidad al lagrangiano


tenemos

L ( x * , * ) = 0 (1.93)

o, expresado de otra manera, si x* es un mnimo local debe verificar

f ( x* ) = AT * (1.94)

Interpretando esta ecuacin se observa que en un mnimo local el gradiente de la


funcin objetivo es una combinacin lineal de los gradientes de las restricciones y los
multiplicadores de Lagrange son los pesos. Los multiplicadores representan el cambio

19/02/2010 153
OPTIMIZACIN NO LINEAL

en la funcin objetivo para un cambio unitario (marginal) en la cota de cada restriccin.


En el caso particular de programacin lineal stos reciban el nombre de variables
duales o precios sombra. Con esta formulacin del lagrangiano los multiplicadores
resultan con signo contrario a las variables duales.

Veamos ahora el problema de minimizacin de funcin objetivo no lineal con


restricciones no lineales de igualdad y desigualdad ( P)

min f ( x)
x

gi ( x) 0 i = 1,..., m
(1.95)
h j ( x) = 0 j = 1,..., l
x X

donde X es un conjunto abierto no vaco en n


, f: n
y gi : n
.

Definimos el lagrangiano como


m l
L( x, , ) = f ( x) + i gi ( x) + j h j ( x) (1.96)
i =1 j =1

donde m
, l
son los multiplicadores de Lagrange. Esta funcin es siempre
una cota inferior de f ( x) para valores factibles de x y valores conocidos de 0 (no
negativos) y (libre). Por consiguiente, interesa obtener la mayor cota inferior
max L( x, , ) y el problema original ( P) ser
0


min max L( x, , )
0 (1.97)

x

x X

De esta forma hemos transformado un problema de minimizacin con restricciones


en otro sin restricciones. Este procedimiento se denomina relajacin lagrangiana.

154 19/02/2010
MTODOS DE OPTIMIZACIN

III.4.2. Condiciones de optimalidad de Karush-Kuhn-Tucker

Estas condiciones estn basadas en unas previas, denominadas de Fritz John pero
menos tiles para resolver problemas. Fueron enunciadas por Karush en su tesis de
mster y publicadas en ruso, pero el hecho de que fueran presentadas en este idioma
dificult su expansin y, unos aos despus, Kuhn y Tucker (Kuhn, 1951) las
enunciaron y demostraron de nuevo (sin conocer el estudio previo en ruso), por lo que
durante mucho tiempo se conocieron como las condiciones de Kuhn-Tucker, hasta que
posteriormente se incluy a la primera persona que realmente las public.

Histricamente, se enunciaron primero para problemas con restricciones de


desigualdad y luego para problemas con restricciones de desigualdad e igualdad, por lo
que se va a mantener este orden.

Condiciones necesarias con restricciones de desigualdad

Sea el problema ( P)

min f ( x)
x

gi ( x) 0 i = 1,..., m (1.98)
x X

donde X es un conjunto abierto no vaco en n


, f: n
y gi : n
.

Sea x* un punto factible (es decir, debe satisfacer las restricciones);


I = {i / gi ( x* ) = 0} ; f y { g i , i I } diferenciables en x* ; { g i , i I } continuas en x* y

sean {gi ( x* )} linealmente independientes. Si x* es mnimo local de ( P) existen


iI

unos escalares {i , i I } tales que

f ( x* ) + i gi ( x* ) = 0
iI (1.99)
i 0 i I

si adems las funciones { g i , i I } son diferenciables en x* entonces

19/02/2010 155
OPTIMIZACIN NO LINEAL

m
f ( x* ) + i gi ( x* ) = 0
i =1

i gi ( x ) = 0 i = 1,..., m
*
(1.100)
i 0 i = 1,..., m

Veamos un ejemplo

min f ( x, y ) = 9 y ( x 5) 2
x, y

x2 + y 0
x y 0
x 1 0

Las condiciones de KKT seran este sistema de ecuaciones no lineales

2( x 5) 2 x1 2 + 3 = 0
9 + 1 2 = 0
1 ( x 2 + y ) = 0
2 ( x y ) = 0
3 ( x 1) = 0
1 , 2 , 3 0

adems se deben considerar todas las restricciones del problema puesto que el punto ha
de ser factible.

Vamos a resolverlo analticamente enumerando todas las combinaciones posibles


( = 0 o 0 ) de valores de los escalares i . Obsrvese que si 2 = 0 entonces 1 = 9

(valor infactible), luego 2 0 y, por tanto, x = y .

Ahora, consideremos dos casos:

- 1 = 0 : entonces 2 = 9 y el sistema que queda es

2 x + 10 9 + 3 = 0
3 ( x 1) = 0

Ahora se tiene:
o Si 3 = 0 , entonces x = 1 2 e y = 1 2 . Entonces A = (1 2, 1 2) y
A = ( 0,9, 0 ) .

156 19/02/2010
MTODOS DE OPTIMIZACIN

o Si x = 1 , entonces y = 1 y resulta 3 = 1 . Entonces B = (1, 1) y


B = ( 0,9,1) .
- 1 0 : entonces se tienen x 2 = y y x = y , con lo que x 2 = x , que da dos

posibilidades
o x = 0 , que implica y = 0 y al resolver se tiene C = (0, 0) y
C = (1,10, 0)
o x = 1 , que implica y = 1 y al resolver se tiene D = (1, 1) y
D = ( 3, 6, 0 )
As, el punto D no es un punto que cumpla las condiciones de KKT (los
multiplicadores no son mayores o iguales que 0). Los otros tres puntos las cumplen,
pero grficamente se puede observar que B y C son mnimos locales (ambos con valor
25 de la funcin objetivo), A no es nada y no existe mnimo global. De hecho, la
funcin no est acotada.

Si se hubiera deseado tambin buscar los mximos locales, basta buscar puntos con
las mismas condiciones pero en que todos los multiplicadores sean menores o iguales
que 0 y se habra obtenido el punto E = (1,1) con E = (9, 0, 26) que es un mximo
local.

Condiciones suficientes con restricciones de desigualdad

Sea x* un punto factible del problema ( P) ; I = {i / gi ( x* ) = 0} ; f y { gi , i I }


convexas y diferenciables en x* . Si existen escalares {i , i I } tales que

f ( x* ) + i gi ( x* ) = 0
iI (1.101)
i 0 i I

entonces x* es mnimo global de ( P) .

Alternativamente, en lugar de poner la condicin de que f y { gi , i I } sean

convexas y diferenciables en x* se puede expresar tambin como que el lagrangiano


restringido L( x) = f ( x) + iI i* gi ( x) , siendo i* los multiplicadores de Lagrange de

19/02/2010 157
OPTIMIZACIN NO LINEAL

las restricciones, tenga un hessiano, 2 L( x* ) = 2 f ( x* ) + iI i* 2 gi ( x* ) , que sea una

matriz semidefinida positiva en x* .

Las condiciones suficientes para el caso de maximizacin se traducen en que la


funcin f sea cncava en el punto, las restricciones no cambian y los multiplicadores
sean menores o iguales que 0.

Condiciones necesarias con restricciones de desigualdad e igualdad

Sea el problema ( P)

min f ( x)
x

gi ( x) 0 i = 1,..., m
(1.102)
h j ( x) = 0 j = 1,..., l
x X

donde X es un conjunto abierto no vaco en n


, gi : n
y hj : n
.

Sea x* un punto factible; I = {i / gi ( x* ) = 0} ; f y { g i , i I } diferenciables en x* ;

{ gi , i I } continuas en x* ; {h j , j = 1,..., l} continuamente diferenciables en x* y sean

{g ( x ), i I ; h ( x ), j = 1,..., l} linealmente independientes. Si x


i
*
j
* *
es mnimo local de

( P) existen unos escalares {i , i I ; j , j = 1, , l} tales que

l
f ( x* ) + i g i ( x* ) + j h j ( x* ) = 0
iI j =1 (1.103)
i 0 i I

si adems las funciones { g i , i I } son diferenciables en x* entonces

m l
f ( x* ) + i gi ( x* ) + j h j ( x* ) = 0
i =1 j =1

i gi ( x ) = 0 i = 1,..., m
*
(1.104)
i 0 i = 1,..., m

158 19/02/2010
MTODOS DE OPTIMIZACIN

Condiciones suficientes con restricciones de desigualdad e igualdad

Sea x* un punto factible del problema ( P) ; I = {i / gi ( x* ) = 0} ; f y { gi , i I }


convexas y diferenciables en x* . Si existen unos escalares {i , i I ; j , j = 1, , l} tales

que
l
f ( x* ) + i gi ( x* ) + j h j ( x* ) = 0
iI j =1 (1.105)
i 0 i I

de modo que h j sea convexa en x* si j > 0 o h j sea cncava en x* si j < 0 ,

entonces x* es mnimo global de ( P) .

III.4.3. Transformacin de un problema no lineal con


restricciones lineales de igualdad en uno sin restricciones

Sea el problema de minimizacin ( P) . Supongamos un punto factible x y una


direccin factible p que debe cumplir Ap = 0 , entonces cualquier punto factible se
puede expresar como

x=x+p (1.106)

n r
Si Z es una matriz (siendo r n m ) del espacio nulo de A (espacio definido
por el conjunto de vectores ortogonales a las filas de A , representa el conjunto de
direcciones factibles de las restricciones) la regin factible tambin se puede expresar
como

x = x + Zv (1.107)

donde v r
.

De esta forma el problema se transforma en una minimizacin de la funcin (v )


que es la funcin reducida (proyectada) de f en la regin factible, que es un problema
de optimizacin sin restricciones y de menores dimensiones. Se ha pasado de un
problema de n dimensiones a uno de n m .

19/02/2010 159
OPTIMIZACIN NO LINEAL

min (v) = f ( x + Zv) (1.108)


v

El gradiente reducido (o proyectado) de f en x es

(v ) = Z T f ( x ) (1.109)

El hessiano reducido de f en x es

2 (v) = Z T 2 f ( x) Z (1.110)

Para el clculo de la matriz de transformacin Z existen dos posibles mtodos:

1) Mtodo de reduccin de variables

p
Ap = ( B N ) B = BpB + NpN = 0
pN

p B 1 N
p= B = pN
pN I

B 1 N
Z = (1.111)
I

B 1b B 1 N
x = x + p = x + ZpN = + pN
0 I
mn mm m n m n n m
donde A , B , N , Z

2) Factorizacin QR

AT = QR

Q = ( Q1 Q2 )

AQ = RT
AQ1 = R1T
AQ2 = 0

mn n n m n n n m n n m n m
donde A , Z , Q , Q1 , Q2 , R y
mm
R1 (es una submatriz triangular superior de R )

160 19/02/2010
MTODOS DE OPTIMIZACIN

Z = Q2 (1.112)

es la base ortogonal ya que Z T Z = I .

Este mtodo tiene la ventaja de que el clculo de Z es numricamente estable pero


su coste computacional es elevado y la matriz Z es densa aunque la matriz A sea
cuasivaca.

Condiciones de optimalidad con restricciones lineales de igualdad

Las condiciones necesarias

Z T f ( x * ) = 0 (1.113)

p T 2 f ( x* ) p 0 (1.114)

siendo p = Zv un vector del espacio nulo de A .

Las condiciones suficientes para mnimo local estricto

Z T f ( x * ) = 0 (1.115)

siendo el hessiano reducido Z T 2 f ( x* ) Z en el punto definida positiva.

Veamos un ejemplo

minf ( x) = x12 + 2 x1 + x22 x32 + 4 x3


x1 x2 + 2 x3 = 2

El gradiente y hessiano de la funcin son

2 x1 2 2

f ( x) = 2 x2 , f ( x) = 2
2

2 x + 4 2
3

2.5 1 2
Sea el punto x = 1.5 y la matriz de transformacin Z = 1 . Entonces el
*
1 1

nuevo punto y el valor de la funcin a minimizar queda

19/02/2010 161
OPTIMIZACIN NO LINEAL

2.5 1 2 2.5 + v1 2v2


v1
x = x + Zv = 1.5 + 1 = 1.5 + v1
1 1 v2 1 + v
2

min (v) = ( 2.5 + v1 2v2 ) + 2 ( 2.5 + v1 2v2 ) +


2

v1 , v2

+ ( 1.5 + v1 ) ( 1 + v2 ) + 4 ( 1 + v2 )
2 2

Aplicamos las condiciones necesarias y suficientes de primer y segundo orden a la


funcin reducida

3
1 1
Z f ( x ) =
T *
3 =
2 1 6

2 1 2 1 2
1 1 2 2 4 4
Z f ( x )Z =
T 2 *
2 1 = 1 =
2 1 4 2 4 6
2 1 1

El hessiano de la funcin no es una matriz definida positiva y, sin embargo, el


hessiano reducido s lo es. Luego el punto es un mnimo local estricto.

Condiciones de optimalidad con restricciones lineales de desigualdad

Sea el problema de minimizacin no lineal con restricciones lineales de desigualdad


( P)

min f ( x)
x (1.116)
Ax b
mn
donde x n
, A y b m
.

Las condiciones necesarias de optimalidad son

f ( x* ) = AT *
(1.117)
*T ( Ax* b) = 0

o equivalentemente

162 19/02/2010
MTODOS DE OPTIMIZACIN

Z T f ( x* ) = 0
(1.118)
*T ( Ax* b) = 0

donde * 0 . El ltimo conjunto de ecuaciones corresponde a las condiciones de


complementariedad de holguras (o bien la restriccin se cumple o bien el multiplicador
es 0 pero no los dos). Adicionalmente Z T 2 f ( x* ) Z ha de ser semidefinida positiva,
siendo Z una matriz del espacio nulo del conjunto de restricciones activas de A .

Las condiciones suficientes para que sea un mnimo local estricto son

Z T f ( x* ) = 0
(1.119)
*T ( Ax* b) = 0

y adems Z T 2 f ( x* ) Z ha de ser definida positiva.

Condiciones de optimalidad con restricciones no lineales de igualdad

Sea el problema ( P)

min f ( x)
x
(1.120)
gi ( x) = 0 i = 1, , m

donde x n
y gi : n
. El lagrangiano de este problema es

L ( x, ) = f ( x ) + T g ( x ) (1.121)

Las condiciones necesarias de primer y segundo orden

Z ( x* )T f ( x* ) = 0 (1.122)

y adems Z ( x* )T 2xx L( x* , * ) Z ( x* ) ha de ser una matriz semidefinida positiva, donde

Z ( x* ) es una matriz del espacio nulo del jacobiano g ( x* )T .

Las condiciones suficientes de primer y segundo orden para mnimo local estricto

Z ( x* )T f ( x* ) = 0 (1.123)

19/02/2010 163
OPTIMIZACIN NO LINEAL

y adems Z + ( x* )T 2xx L( x* , * ) Z + ( x* ) ha de ser definida positiva. Z es una matriz del


espacio nulo del conjunto de restricciones activas y no degeneradas del jacobiano
g ( x* )T .

Condiciones de optimalidad con restricciones no lineales de desigualdad

Sea el problema ( P)

min f ( x)
x
(1.124)
gi ( x) 0 i = 1, , m

donde x n
y gi : n
. El lagrangiano de este problema es

L ( x, ) = f ( x ) + T g ( x ) (1.125)

Las condiciones necesarias de primer orden

x L ( x* , * ) = 0
(1.126)
*T g ( x* ) = 0

o equivalentemente

Z ( x* )T f ( x* ) = 0
(1.127)
*T g ( x* ) = 0

siendo * 0 . El ltimo subconjunto de ecuaciones son las condiciones de


complementariedad de holguras. Adems la condicin de segundo orden indica que ha
de ser una matriz semidefinida positiva, donde Z ( x* ) es una matriz del espacio nulo del

jacobiano de las restricciones activas de g ( x* )T .

Las condiciones suficientes de optimalidad para mnimo local estricto

Z ( x* )T f ( x* ) = 0
(1.128)
*T g ( x* ) = 0

164 19/02/2010
MTODOS DE OPTIMIZACIN

y adems Z + ( x* )T 2xx L( x* , * ) Z + ( x* ) ha de ser definida positiva, donde Z + ( x* ) es una


matriz del espacio nulo del jacobiano de las restricciones activas y no degeneradas de
g ( x* )T .

Veamos un ejemplo

min f ( x) = x1
( x1 + 1) 2 + x22 1
x12 + x22 2

El lagrangiano, el gradiente y el hessiano son

L( x, ) = x1 1 (( x1 + 1) 2 + x22 1) + 2 ( x12 + x22 2)

1 21 ( x1 + 1) + 22 x1
x L ( x, ) =
21 x2 + 22 x2

2(1 + 2 )
2xx L( x, ) =
2(1 + 2 )

0
a) Probar si x = es ptimo.
0

Como la restriccin 2 no es activa 2 = 0 . El valor de 1 se obtiene al establecer la


condicin necesaria de primer orden

1 21 0
x L ( x, ) = =
0 0

Luego 1 = 0.5

0
Si se toma Z = como la matriz base del espacio nulo del jacobiano de las
1
restricciones activas (slo la primera) g ( x* )T = ( 2 0 )

1
Z + ( x* )T 2xx L( x* , * ) Z + ( x* ) = ( 1) = 1
1 1

19/02/2010 165
OPTIMIZACIN NO LINEAL

0
luego x = no es ptimo.
0

1
b) Probar si x = es ptimo.
1

El valor de 1 y 2 se obtiene al establecer la condicin necesaria de primer orden

1 22 0
x L ( x, ) = =
21 22 0

Luego 1 = 2 = 0.5

La matriz base del espacio nulo del jacobiano de las restricciones activas es vaca.
Luego la condicin suficiente de segundo orden se satisface, luego el punto es un
mnimo local estricto.

0
c) Probar si x = es ptimo.
2

Como la restriccin 1 no es activa 1 = 0 . El valor de 2 se obtiene al establecer la


condicin necesaria de primer orden

1 + 22 0 0
x L( x, ) = =
22 2 0

El sistema es inconsistente, no se puede obtener el valor de 2 . Luego no se puede


satisfacer la condicin necesaria de primer orden.

III.4.4. Mtodos de programacin no lineal (NLP)

Son procedimientos algortmicos de bsqueda que se detienen cuando encuentran un


ptimo local y que suelen ser aplicados partiendo de distintos puntos iniciales, con el fin
de encontrar tantos ptimos locales distintos como sea posible y seleccionar el mejor de
ellos. En principio, el ptimo de un problema no lineal no est necesariamente en el
contorno de la regin factible como suceda en LP.

166 19/02/2010
MTODOS DE OPTIMIZACIN

Los mtodos de programacin no lineal se pueden clasificar en dos grandes familias:

- Mtodos factibles

Mantienen factibilidad al partir de un punto factible y moverse en direcciones


factibles. Son una generalizacin del mtodo simplex de LP. Resuelven una
secuencia de subproblemas con un conjunto de restricciones activas que cambia en
cada iteracin. Los principales inconvenientes son la seleccin del conjunto de
restricciones activas y la dificultad de satisfacer las restricciones. Entre ellos se van
a mostrar: mtodo del mximo descenso reducido, mtodo de Newton reducido,
mtodo de cuasi-Newton reducido, mtodo de programacin cuadrtica secuencial.

- Mtodos de penalizacin o de minimizacin no restringida secuencial SUMT

Minimizan una funcin relacionada con el lagrangiano que tiene el mismo mnimo.
Sustituyen un problema NLP por una sucesin de problemas de optimizacin no
restringida, cuyas soluciones convergen a la misma solucin. En la funcin objetivo
se incluyen unas penalizaciones que miden las violaciones de las restricciones y
adems unos parmetros que determinan la importancia de cada restriccin. Dentro
de estos mtodos existen dos variantes, una que se mueve por fuera de la regin
factible (penalizacin exterior) y otra que se mueve por dentro de la regin factible
(penalizacin interior). El mtodo de penalizacin (exterior) penaliza la violacin de
las restricciones. Se mueve por puntos infactibles. Se aplica para restricciones de
igualdad y desigualdad. El mtodo barrera (interior) evita que se alcance el
contorno de las restricciones. Se mueve por puntos estrictamente factibles. No es
vlido para restricciones de igualdad. El mtodo del lagrangiano aumentado aade
una penalizacin cuadrtica al lagrangiano de una funcin.

Mtodo del mximo descenso reducido

Sea el problema de minimizacin de funcin objetivo no lineal con restricciones


lineales ( P)

min f ( x)
x (1.129)
Ax = b

19/02/2010 167
OPTIMIZACIN NO LINEAL

mn
donde x n
, A y b m
.

El problema se transforma en una minimizacin de la funcin reducida (v) en la


regin factible

min (v) = f ( x + Zv) (1.130)


v

nm
donde v .

Cada iteracin determina un nuevo punto

xk +1 = xk + pk (1.131)

pk = Zvk (1.132)

donde pk se obtiene a partir de vk .

En el mtodo del mximo descenso vk en la funcin proyectada es su gradiente

vk = Z T f ( xk ) (1.133)

pk = Zvk = ZZ T f ( xk ) (1.134)

donde pk depende matemticamente de la eleccin de la matriz Z .

Mtodo de Newton reducido

Sea el problema de minimizacin de funcin objetivo no lineal con restricciones


lineales ( P) . En el mtodo de Newton vk se determina mediante la resolucin de un

sistema de ecuaciones lineales. pk no depende de la eleccin de la matriz de Z ,


matemticamente da lugar a la misma direccin, pero numricamente s puede afectar
de forma drstica

Z T 2 f ( xk ) Z vk = Z T f ( xk ) (1.135)

168 19/02/2010
MTODOS DE OPTIMIZACIN

Mtodo de cuasi-Newton reducido

Sea el problema de minimizacin de funcin objetivo no lineal con restricciones


lineales ( P) . En el mtodo de cuasi-Newton vk se calcula resolviendo un sistema de
ecuaciones con la aproximacin del hessiano en cada iteracin

Bk vk = Z T f ( xk ) (1.136)

y las matrices auxiliares en la actualizacin de la matriz Bk

sk = Z T ( xk +1 xk ) (1.137)

yk = Z T ( f ( xk +1 ) f ( xk ) ) (1.138)

Programacin cuadrtica secuencial

Sea el problema de funcin objetivo no lineal con restricciones no lineales de


igualdad ( P)

min f ( x)
x
(1.139)
gi ( x) = 0 i = 1, , m

donde x n
y gi : n
. El lagrangiano de este problema es

L ( x, ) = f ( x ) + T g ( x ) (1.140)

Se aplica el mtodo de Newton a la resolucin del sistema de ecuaciones no lineales


L( x, ) = 0 , que es la condicin de optimalidad del lagrangiano, mediante el
procedimiento iterativo

xk +1 xk pk
= + (1.141)
k +1 k k

donde pk y k se determinan resolviendo este sistema de ecuaciones lineales

p
2 L( xk , k ) k = L( xk , k ) (1.142)
k

19/02/2010 169
OPTIMIZACIN NO LINEAL

2xx L( xk , k ) g ( xk ) pk x L( xk , k )
= (1.143)
( ) 0 k g ( xk )
T
g xk

Este sistema de ecuaciones representa tambin las condiciones de optimalidad de


primer orden de este problema de optimizacin cuadrtica con restricciones lineales

1 T 2
min pk xx L( xk , k ) pk + pkT [ x L( xk , k ) ]
pk 2 (1.144)
[g ( xk )] pk + g ( xk ) = 0
T

siendo k los multiplicadores de Lagrange de las ecuaciones lineales.

La funcin objetivo cuadrtica resulta ser una aproximacin en serie de Taylor del
x
lagrangiano en el punto k y las restricciones resultan una aproximacin lineal de las
k
restricciones originales g ( xk + p ) .

En cada iteracin se resuelve el problema cuadrtico anterior y se obtiene pk y k y

se actualizan los valores de xk +1 y k +1 .

Mtodo de penalizacin exterior

Este procedimiento consiste en incluir las restricciones del problema en la funcin


objetivo penalizando los valores no permitidos en las restricciones. Puede utilizarse para
problemas con restricciones de desigualdad y de igualdad. Las iteraciones se pueden
mover por puntos exteriores de la regin factible.

Sea el problema ( P)

min f (x )
x

gi (x ) 0 i = 1,..., m (1.145)
h j (x ) = 0 j = 1,..., l

Se define una funcin de penalizacin P (x ) de la forma

m l
P (x ) = (gi (x )) + (h j (x )) (1.146)
i =1 j =1

170 19/02/2010
MTODOS DE OPTIMIZACIN

(y ) = 0 y 0 (y ) = 0 y = 0
de modo que y .
(y ) > 0 y > 0 (y ) > 0 y 0

Unas funciones que se utilizan habitualmente son (y ) = (max {0, y })p y

1 l 1

q
(y ) = y o (x ) = h j (x )2 = h(x )T h(x )
2 j =1 2

En cada iteracin partiendo de un punto x k se resuelve el problema

min (x , k ) = {f (x ) + k P (x )} (1.147)
x

siendo k un parmetro de penalizacin escalar positivo y se obtiene una solucin


ptima x k +1 . Si k P (x k +1 ) < (nivel de tolerancia admitido) acaba el proceso; si no, se
incrementa montonamente hacia la penalizacin definiendo el multiplicador de la
siguiente iteracin como k +1 = k , donde > 1 , y se repite el proceso. Conforme
aumenta el parmetro de penalizacin aumenta el efecto de dicho trmino y los puntos
se acercan a las restricciones de igualdad. En el lmite este parmetro es el encargado de
hacer cumplir las restricciones de igualdad y, por tanto, obtener soluciones factibles.

Para este problema de optimizacin

min f (x )
x
(1.148)
h j (x ) = 0 j = 1,..., l

las condiciones de optimalidad de la funcin de penalizacin suponiendo una


penalizacin cuadrtica son
l
f (x ()) + h j (x ())h j (x ()) = 0 (1.149)
j =1

y las condiciones necesarias de optimalidad de primer orden del problema original


l
f (x ()) + j ()h j (x ()) = 0
j =1 (1.150)
j () = h j (x ()) j = 1, , l

19/02/2010 171
OPTIMIZACIN NO LINEAL

Obsrvese que la condicin de complementariedad de holguras en lugar de ser 0 es


1 .

Mtodo de penalizacin interior o mtodo barrera

El mtodo de penalizacin interior es similar al anterior pero plantea funciones que


no permiten que la solucin est fuera de la regin factible. Se mueven siempre por el
interior, por lo que su uso se ha solido limitar a problemas con restricciones de
desigualdad.

Sea el problema (P )

min f (x )
x
(1.151)
gi (x ) 0 i = 1,..., m

Se define una funcin barrera, funcin continua en el interior de la regin factible


que se hace al acercarse al contorno
m
B(x ) = (gi (x )) (1.152)
i =1

(y ) 0 y < 0
donde . Lo ms habitual es definir (y ) = 1 y o

limy 0 (y ) =

(x ) = i =1 log(gi (x )) aunque haya otras.


m

Partiendo de un punto que cumple las restricciones, el procedimiento en la iteracin


k consiste en resolver el problema

min (x , k ) = {f (x ) + k B(x )} (1.153)


x

siendo k un parmetro barrera escalar positivo y se obtiene una solucin ptima x k +1 .

Si k B(x k +1 ) < (nivel de tolerancia admitido) acaba el proceso; si no, se decrementa


montonamente hacia 0 el parmetro barrera, definiendo el multiplicador de la siguiente
iteracin como k +1 = k , donde (0,1) (un valor habitual es 0.01), y se repite el
proceso. Conforme decrece el parmetro barrera disminuye el efecto del trmino barrera
y los puntos se acercan al contorno de la regin factible.

172 19/02/2010
MTODOS DE OPTIMIZACIN

La condicin de optimalidad para una funcin barrera definida como la inversa de la


funcin es
m

f (x ) + gi (x ) = 0 (1.154)
i =1 gi (x )

Las condiciones necesarias de optimalidad de primer orden del problema original


son
m
f (x ()) + i ()gi (x ()) = 0
i =1

i ()gi (x ()) = i = 1, , m (1.155)


i () 0

Obsrvese que la condicin de complementariedad de holguras en lugar de ser 0 es


.

Mtodo del lagrangiano aumentado

Sea el problema de funcin objetivo no lineal con restricciones no lineales de


igualdad (P )

min f (x )
x
(1.156)
gi (x ) = 0 i = 1, , m

cuyo ptimo es coincidente con el de este otro

min L(x , ) = f (x ) + T g(x )


x ,
(1.157)
gi (x ) = 0 i = 1, , m

aplicando ahora un mtodo de penalizacin exterior con penalizacin cuadrtica a las


restricciones de igualdad

1
min A(x , , ) = f (x ) + T g(x ) + g(x )T g(x ) (1.158)
x ,, 2

El proceso iterativo empieza por elegir valores de x 0 , 0 y 0 . Se comprueba la


condicin de optimalidad. Si se verifica se detiene el algoritmo. En caso contrario, se
sigue.

19/02/2010 173
OPTIMIZACIN NO LINEAL

Se resuelve el problema no lineal sin restricciones y se calcula x k +1

1
min A(x , k , k ) = f (x ) + kT g(x ) + k g(x )T g(x ) (1.159)
x 2

Se actualizan k +1 y k +1 , considerando > 1

k +1 = k
(1.160)
k +1 = k + k g(x k +1 )

Este mtodo proporciona soluciones factibles al introducir un parmetro de


penalizacin k suficientemente elevado. En el lmite este parmetro es el encargado de
hacer cumplir las restricciones y, por tanto, obtener soluciones factibles lo mismo que
en el mtodo de penalizacin exterior.

III.4.5. Resumen de mtodos de optimizacin no lineal

Los mtodos de programacin no lineal transforman el problema general con


restricciones en otro sin restricciones. Para ello utilizan tres tcnicas principales
dependiendo del tipo de restricciones: la proyeccin (reduccin) del problema en la
regin factible, la formacin del lagrangiano o la penalizacin de las mismas. Una vez
obtenido el problema sin restricciones utilizan un procedimiento iterativo para moverse
de un punto a otro o alternativamente resuelven iterativamente el sistema de ecuaciones
no lineales que representan las condiciones de optimalidad.

Mtodo

Mximo descenso min f (x ) min (v ) = f (x + Zv )


x v
reducido
Ax = b pk = Zvk = ZZ T f (x k )
Newton reducido min f (x ) min (v ) = f (x + Zv )
x v

Ax = b Z T 2 f (x k )Z vk = Z T f (x k )

Cuasi-Newton reducido min f (x ) min (v ) = f (x + Zv )
x v

Ax = b Bk vk = Z T f (x k )

174 19/02/2010
MTODOS DE OPTIMIZACIN

Programacin cuadrtica min f (x ) L(x , ) = f (x ) + T g(x )


x
secuencial
gi (x ) = 0 2 L(x , ) g(x ) p x L(x k , k )
xx k k
k k
=
k
g (x k )T
0 g (x k )

1
min pTk xx2
L(x k , k ) pk + pkT [x L(x k , k )]
pk 2
T
[g(x k )] pk + g(x k ) = 0
Penalizacin exterior min f (x )
x
min (x , k ) = {f (x ) + k P (x )}
x

gi (x ) 0 m l
P (x ) = (gi (x )) + (h j (x ))
h j (x ) = 0 i =1 j =1

Penalizacin interior o min f (x )


x
min (x , k ) = {f (x ) + k B(x )}
x
barrera
gi (x ) 0 m
B(x ) = (gi (x ))
i =1

Lagrangiano aumentado min f (x ) min L(x , ) = f (x ) + T g(x )


x x ,
gi (x ) = 0 gi (x ) = 0
1
min A(x , k , k ) = f (x ) + kT g(x ) + k g(x )T g(x )
x 2

III.5. Referencias

Bazaraa, M.S., Sherali, H.D. and Shetty, C.M. (1993) Nonlinear Programming. Theory
and Algorithms. John Wiley and Sons.

Gill, P.E., Murray, W. and Wright, M.H. (1981) Practical Optimization. Academic
Press.

Kuhn, H.W. and Tucker, A.W. (1951) Nonlinear Programming Econometrica (19) pp.
50-51.

Luenberger, D.G. (1984) Linear and Nonlinear Programming. Addison Wesley.

Nash. S.G. and Sofer. A. (1996) Linear and Nonlinear Programming. McGraw-Hill.

19/02/2010 175
OPTIMIZACIN NO LINEAL

III.6. Biblioteca de problemas

PROBLEMA 1

Un vendedor desea localizar el punto donde situar un kiosco de chucheras en las


inmediaciones de dos colegios. Los colegios se hallan situados, en un plano de
coordenadas, en los puntos A = (2, 0) y B = (0,2) . En el punto (0,0) existe una tienda
de caractersticas semejantes a sta y, por ordenanza municipal, el emplazamiento de la
nueva tienda ha de distar al menos 4 metros de la anterior. Determinar el punto en que
debe situarse la nueva tienda para que se minimice la suma de las distancias al cuadrado
a los colegios.

PROBLEMA 2

Una compaa elctrica se enfrenta a una demanda dividida en intervalos de carga


punta y valle. Si se cobra un precio de p1 /MWh durante el tiempo de carga punta, los
clientes pedirn 60 0.5p1 MWh de energa. Si se cobra un precio de p2 /MWh
durante el tiempo de carga valle, los clientes pedirn 40 p2 MWh de energa. La
compaa tiene que tener la suficiente capacidad para satisfacer la demanda durante los
dos intervalos. El coste de produccin de la compaa es de 100 /MWh. Determinar
cmo puede la compaa optimizar su margen de contribucin (ingresos costes).

PROBLEMA 3

Una empresa produce y vende dos productos A y B a los precios pA y pB y en las


cantidades QA y QB . Las cantidades vendidas se relacionan con los precios mediante
las siguientes funciones de demanda QA = 60 21pA + 0.1pB y
QB = 50 25pB + 0.1pA .

Los costes de produccin por unidad de producto son 0.2 y 0.3 y la capacidad de
produccin disponible en cada uno es 25 y 50, respectivamente. Adems, existe un
lmite en la capacidad total de produccin de la empresa representado por la ecuacin
QA + 2QB 50 .

176 19/02/2010
MTODOS DE OPTIMIZACIN

Formular y resolver el problema de determinar los valores que maximizan el margen


de contribucin (beneficios brutos) de la empresa.

PROBLEMA 4

Resolver los siguientes problemas utilizando las condiciones de Karush-Khun-


Tucker:

min(x 9 / 4)2 + (y 2)2


x2 y 0
1) x +y 6 0
x 0
y 0

max(x 13 / 6)2 + (y 1/ 6)2


4x 2 + 3y 10 0
2)
2x + y 0
x +y 0

Probar que A = (1,2) , B = (2, -2) , C = (0, 0) son mximos globales.

min 3x + y z 2
3) x +y +z 0
x + 2y + z 2 = 0

min x
4) x +y +z = 0
x 2 + y 2 + z 2 = 2 >0

2
Es x = ( , , ) mnimo global del problema, siendo los multiplicadores
6 6 6
1
(v1, v2 ) = (1/ 3, )?
6

PROBLEMA 5

Sea el problema de minimizar la distancia al cuadrado del punto (0,3) al conjunto de


puntos que satisfacen las restricciones

19/02/2010 177
OPTIMIZACIN NO LINEAL

y2 x 1
x 2

1) Representar grficamente el dominio definido por las restricciones.

2) Determinar las condiciones de Karush-Kuhn-Tucker que proporcionan los puntos


estacionarios o crticos y utilizarlas para determinar si los puntos A(1.54,0.735) y
B(2,1) lo son.

3) Alguno de los puntos anteriores es mnimo global del problema? Por qu?

PROBLEMA 6

Se considera el problema

max x 2 + y 2
(x 4)2 + (y 4)2 12
x +y 5

Responder a las siguientes preguntas.

1) Dar una interpretacin geomtrica del problema

2) Establecer todas las condiciones de ptimo de Karush-Kuhn-Tucker

3) Probar que el punto x = y = 4 + 6 satisface dichas condiciones. Es un mximo


global?

PROBLEMA 7

Resolver los siguientes problemas de programacin no lineal:

min e 3x1 +4x2


x 12 + x 22 = 1

min 2(x 12 + x 22 1) x 1
x 12 + x 22 1 = 0

1
min x TQx
2
Ax = b

178 19/02/2010
MTODOS DE OPTIMIZACIN

13 6 3 0

13 23 9 3 2 1 2 1 3 0


Q = A = b = partiendo de x =
6 9 12 1 1 1 3 1 2 0

3 3 1 1 0

1 1
min x 12 + x 22
2 2
x1 + x 2 1

1 1
min x 13 + x 23
3 3
x1 + x 2 1

1 1
min x 13 + x 23
3 3
2 2
x1 + x 2 1

min x 12 + x 22
x1 + x 2 = 1

min x 12 + x 22
x 12 x 22
+ =1
25 9

min x 1 + x 2
Resolver por el mtodo de penalizacin interior (barrera): x 1 0
x1 0

Resolver partiendo del punto (0,3): min(x 1 2)4 + (x 1 2x 2 )2

PROBLEMA 8

Calcular analticamente

3 4
min x 2 2xy + y 2 + xz + 3z 2 4zw + 2w 2 x z
2 3

donde x, y, z y w son variables enteras

19/02/2010 179
OPTIMIZACIN NO LINEAL

PROBLEMA 9

Una furgoneta que tiene 4 m 3 de capacidad tiene que transportar 600 kg de tres
productos, A, B y C. Cada kilo de A ocupa 0.08 m 3 , cada kilo de B ocupa 0.06 m 3 y
uno de C 0.07 m 3 .

El coste unitario de un kilo de A es funcin de la cantidad adquirida y viene dado


por

9x + 10
cA (x ) = , x 50 (la cantidad mnima a llevar es de 50 kg),
x

y lo mismo sucede con el artculo B: el coste unitario de un kilo depende de la cantidad


adquirida y viene dado por

12
cB (x ) =
1 + 0.1x

Un kilo de C cuesta 10 , independiente de la cantidad adquirida.

Plantear un problema para resolver cuntos kilos de cada artculo han de


transportarse para que el coste de transporte sea mnimo, y sus condiciones de
optimalidad.

PROBLEMA 10

Estamos a 27 de enero. La demanda de cierto producto para el prximo mes de


febrero es de 50 toneladas, siendo para el mes de marzo de 70 toneladas. El beneficio
por tonelada producida durante el mes de febrero, teniendo en cuenta los costes de
materias primas y operativos, depende del nmero x 1 de toneladas producidas y es, en
x1 x
euros, 100 , mientras que durante el mes de marzo es de 60 2 , donde x 2 son
6 6
las toneladas producidas en ese mes. La demanda debe ser satisfecha. Si en el mes de
febrero se producen ms toneladas de las demandadas, el excedente se puede almacenar
con un coste por tonelada de 30 , mientras que si hay excedentes en el mes de marzo
son saldados con una prdida residual por tonelada de 40 , ya que la empresa ha de
pagar esa cantidad por tonelada para que le retiren sus excedentes de produccin.

180 19/02/2010
MTODOS DE OPTIMIZACIN

Elaborar el correspondiente modelo de optimizacin, establecer las condiciones de


KKT asociadas y comprobar que x 1 =90, x 2 =60 es la solucin global del problema.

PROBLEMA 11

Sea el modelo de programacin lineal

min 4x + 3y
x +y 5
3x + 2y 12
x, y 0

1) Resolverlo grficamente

2) Establecer para dicho modelo las condiciones necesarias de ptimo de KKT y


resolver

3) Comprobar que los puntos que las cumplen son ptimos globales.

4) Plantear y resolver por el mtodo simplex el problema dual asociado a [1].

5) Interpretar los multiplicadores de Lagrange o KKT en relacin con el problema dual

PROBLEMA 12

Un inversor quiere invertir 9000 en dos negocios A y B de actividades afines. Las


rentabilidades RA y RB obtenidas en cada uno de ellos son variables aleatorias tales
que

E (RA ) = 0.30 E (RB ) = 0.20


Var (RA ) = 0.15 Var (RB ) = 0.1
Cov(RA, RB ) = 0.05

Se quiere obtener una rentabilidad esperada superior al 24%, pero de forma que se
minimice la varianza de dicha rentabilidad. Cmo se han de invertir los 9000 ? Probar
que, efectivamente, esa inversin es la mejor posible.

PROBLEMA 13

La funcin de potencial sobre el slido definido por la bola elipsoidal

19/02/2010 181
OPTIMIZACIN NO LINEAL

x 2 2xy + 2y 2 + 2yz + 2z 2 9

y el semiespacio

x + y + 4z 8

viene dada por

W = x 2 + y 2 + 2yz + 4z 2 x + 5y

Comprobar que el potencial mnimo se alcanza en el punto (1, 1,2) . Para ello,
probar que dicho punto satisface las condiciones necesarias de KKT y las condiciones
suficientes de mnimo global.

III.7. Resultados de la biblioteca de problemas

RESULTADO DEL PROBLEMA 1

min(x 0)2 + (y 2)2 + (x 2)2 + (y 0)2


x 2 + y 2 42

El mnimo (global por las condiciones suficientes de KKT) se alcanza en el punto


(2 2,2 2) (multiplicador u1 = 2 2 / 2 )

RESULTADO DEL PROBLEMA 2

max(60 0.5p1 )(p1 100) + (40 p2 )(p2 100)


60 0.5p1 0
40 p2 0

El mximo (global por las condiciones suficientes de KKT) se alcanza en los valores
(p1, p2 ) = (110, 40) (multiplicadores u1 = 0 , u2 = 60 ), beneficio = 50 .

RESULTADO DEL PROBLEMA 4

1) Mnimo (global KKT): (3/2,9/4), multiplicadores (1/2,0,0,0)

2) Para A, los multiplicadores son (5/14,109/42,0). Funcin objetivo 85/18

182 19/02/2010
MTODOS DE OPTIMIZACIN

Para B, los multiplicadores son (4/13,0,205/39). Funcin objetivo 85/18

Para C, los multiplicadores son (0,4/3,5/3). Funcin objetivo 85/18

Son candidatos a mximo. La funcin est acotada y otros puntos de KKT


candidatos a mximo son: D( 1/2,1) (0,7/3,0), valor de la funcin objetivo 125/36;
y E(1,1) (0,0,7/3), valor de la funcin objetivo 98/36. Al tener menor valor se
puede asegurar que A, B y C son mximos globales.

3) Mnimo: (115/588, 95/588, 5/14) (multiplicadores u1 = 5 / 3 , v1 = 4 / 3 ).

4) Como f es convexa, v1 < 0 y h1 es cncava, v2 < 0 y h2 es convexa, se dan las


condiciones suficientes de KKT, con lo que es mnimo global.

RESULTADO DEL PROBLEMA 5

1) Problema original forma para formular las condiciones KKT:

min x 2 + (y 3)2
x + y 2 + 1 0
x 2 0

Condiciones KKT:

2x u1 + u2 = 0
2(y 3) + 2yu1 = 0
u1(x + y 2 + 1) = 0
u2 (x 2) = 0
u1, u2 0

2) Son factibles ambos puntos? S (redondeo del tercer decimal)

Condiciones para primer punto:

Se da la primera restriccin del problema con igualdad pero no la segunda, entonces


u2 = 0 . Entonces de la primera ecuacin se tiene 2x u1 = 0 , es decir,
u1 = 2x = 2 1.54 = 3.08 y de la segunda ecuacin se tiene
2(0.735 3)
u1 = = 3.08 (redondeando, claro). Es candidato a mnimo.
2 0.735

19/02/2010 183
OPTIMIZACIN NO LINEAL

Condiciones para segundo punto:

Se dan ambas restricciones con igualdad, luego ambos multiplicadores pueden ser
2(1 3)
distintos de cero. De la segunda ecuacin se tiene u1 = =2 y
21
sustituyendo en la primera sera u2 = u1 2x = 2 2 2 = 2 , luego no es
candidato a mnimo.

El segundo no puede serlo y el primero lo es ya que todas las funciones son


convexas (basta verlo para la objetivo y la primera que es la activa aunque es trivial que
la segunda lo es; las matrices hessianas son:

2 0 0 0
H f = y H g =
0 2
0 2 1

ambas semidefinidas positivas).

RESULTADO DEL PROBLEMA 6

1) Se puede interpretar como el problema de encontrar el punto ms distante al origen

que est dentro del crculo de centro (4,4) y radio 12 y pertenece al semiespacio
x +y 5.

2) KKT:

2x + 2(x 4)u1 u2 = 0
2y + 2(y 4)u1 u2 = 0
u1((x 4)2 + (y 4)2 12) = 0
u2 (x y + 5) = 0
u1, u2 0

3) u2 = 0 pues no se da la igualdad en la segunda inecuacin, y de las dos primeras se


tiene:

2(4 + 6) + 2 6u1 = 0 4 6 6
u1 = < 0.
2(4 + 6) + 2 6u1 = 0 6

184 19/02/2010
MTODOS DE OPTIMIZACIN

Luego s cumple las condiciones (es de maximizacin).

No puede asegurarse que sea ptimo global por las KKT (la funcin objetivo es
convexa no cncava). Para asegurarlo haba que ver todos los puntos KKT que salen
y si es el nico se puede asegurar pues la funcin est acotada (salvo para puntos en
los que los gradientes de las restricciones activas sean linealmente dependientes que
podran no salir al resolver el sistema de ecuaciones de KKT). Es el nico que sale al
resolver.

RESULTADO DEL PROBLEMA 8

Nodo 0: todas relajadas y sin restricciones, resolver gradiente =0:

3x 2y + z 1 = 0 x + z 1 = 0
2x + 2y = 0 x =y
x + 6z 4w 4 / 3 = 0 x + 2z 4 / 3 = 0
4z + 4w = 0 z =w
(x , y, z , w ) = (2 / 3,2 / 3,1/ 3,1/ 3) f .ob = 0.5555

Se ramifica en x 0 y x 1 .

Nodo 1: Ramificado con x 0 . Al aplicar las condiciones KKT el sistema es casi


igual, excepto la primera restriccin que es la derivada respecto a x , y la holgura:

3x 2y + z 1 + u1 = 0 x + z 1 + u1 = 0
2x + 2y = 0 x =y
x + 6z 4w 4 / 3 = 0 Multiplicador mayor o igual que 0, x + 2z 4 / 3 = 0
4z + 4w = 0 z =w
u1x = 0 u1x = 0

- u1 = 0 Sera el mismo sistema anterior cuya solucin no es factible en este caso


(x > 0)

- u1 0 x = 0 z = 2 / 3 u1 = 1/ 3

Solucin: (x , y, z , w ) = (0, 0,2 / 3,2 / 3) u1 = 1/ 3 f .ob = 4 / 9 = 0.444

19/02/2010 185
OPTIMIZACIN NO LINEAL

Nodo 2: Ramificado con x 1 , o sea, x + 1 0 . Al aplicar las condiciones KKT el


sistema es casi igual, excepto la primera restriccin que es la derivada respecto a x , y la
holgura:

3x 2 y + z 1 u1 = 0 x + z 1 u1 = 0
2 x + 2 y = 0 x = y
x + 6 z 4w 4 / 3 = 0 Multiplicador mayor o igual que 0, x + 2z 4 / 3 = 0
4 z + 4 w = 0 z = w
u1 ( x 1) = 0 u1(x 1) = 0

- u1 = 0 Sera el mismo sistema del nodo 0 cuya solucin no es factible en este


caso ( x < 1 )

u1 0 x = 1 z = 1/ 6 u1 = 1/ 6
-

Solucin: (x , y, z , w ) = (1,1,1/ 6,1/ 6) u1 = 1/ 6 f .ob = 0.5277

No hay poda. Ramificamos este ltimo nodo (ms prometedor), en z . Es decir, se


ramifica en z 0 (nodo 3) y z 1 (Nodo 4), adems de tener x 1 en ambos.

Nodo 3: Ramificado con z 0 . Al aplicar las condiciones KKT el sistema es casi igual
al del nodo 2, excepto la tercera restriccin que es la derivada respecto a z, y la holgura:

3x 2 y + z 1 u1 = 0 x + z 1 u1 = 0
2 x + 2 y = 0 x = y
x + 6 z 4 w 4 / 3 + u2 = 0 x + 2z 4 / 3 + u2 = 0
Multiplicador mayor o igual que 0,
4 z + 4 w = 0 z=w
u1 ( x 1) = 0 u1(x 1) = 0
u2 z = 0 u 2z = 0

- u2 = 0 Sera el mismo sistema del nodo 2 cuya solucin no es factible en este


caso ( z > 0 )

u2 0 z = 0
-
u1 = 0 x = 1 u2 = 1/ 3 :
(x , y, z , w ) = (1,1, 0, 0) (u1, u2 ) = (0,1/ 3) f .ob = 0.5
u1 0 x = 1 u1 = 0, u2 = 1/ 3 misma solucin que la anterior

186 19/02/2010
MTODOS DE OPTIMIZACIN

El nodo 3 es podado, no se ramifica al ser entero, y adems es la mejor solucin


obtenida hasta el momento. Se puede podar el nodo 2, ya que tiene peor cota, pero
no el nodo 4.

Nodo 4: Ramificado con z 1 , o sea, z + 1 0 . Al aplicar las condiciones KKT el


sistema es casi igual al del nodo 2, excepto la tercera restriccin que es la derivada
respecto a z, y la holgura:

3x 2 y + z 1 u1 = 0 x + z 1 u1 = 0
2 x + 2 y = 0 x = y
x + 6 z 4 w 4 / 3 u2 = 0 x + 2z 4 / 3 u2 = 0
Multiplicador mayor o igual que 0,
4 z + 4 w = 0 z=w
u1 ( x 1) = 0 u1(x 1) = 0
u2 ( z 1) = 0 u2 (z 1) = 0

- u2 = 0 Sera el mismo sistema del nodo 2 cuya solucin no es factible en este


caso ( z < 1 )

u2 0 z = 1
-
u1 = 0 x = 0 No factible.
u1 0 x = 1 u1 = 1, u2 = 5 / 3
(x , y, z , w ) = (1,1,1,1) (u1, u2 ) = (1, 5 / 3) f .ob = 0.166666

Nodo podado por ser entera; y cota peor que la ya obtenida hasta el momento.

No quedan nodos sin explorar. FINAL.

19/02/2010 187
OPTIMIZACIN NO LINEAL

0
(2/3,2/3,1/3,1/3)
f.o= -0.5555

x 0 x 1

1 2
(0,0,2/3,2/3) (1,1,1/6,1/6)
f.o= -0.4444 f.o= -0.52777
Podado,
peor cota z 0 z 1

3 4
(1,1,0,0) (1,1,1,1)
f.o= -0.5 f.o=0.1666

Podado, Podado,
entera. Entera.
M ejor so lucin Solucin peor
hasta m o m ento

RESULTADO DEL PROBLEMA 9

9x + 10 12 12y
min x+ y + 10z

min 9x + 10 + + 10z
x 1 + 0.1y
1 + 0.1y
s.a. x + y + z = 600
s.a. x + y + z = 600


0.08x + 0.06y + 0.07z 4 0.08x + 0.06y + 0.07z 4



x 50 x 50


y0
y0


z 0
z 0

9 + v + 0.08u2 u 3 = 0
12
2 + v + u2 u 4 = 0
(1 + 0.1y )
10 + v + 0.07u2 u5 = 0

KKT: u2 (0.08x + 0.06y + 0.07z 4) = 0


u 3 (x 50) = 0
u 4y = 0
u 5z = 0
ui 0 (x , y, z ) factible

188 19/02/2010
MTODOS DE OPTIMIZACIN

0
0 0


2 orden: H f = 0 2.4 /(1 + 0.1y )3 0 semidefinida negativa, luego cncava,

0
0 0

luego no se dan las condiciones suficientes KKT. El problema es acotado, luego si slo
saliera un punto que verifique las necesarias sera el mnimo global, pero, si salen ms
habra que comparar entre ellos cul es el de menor valor.

RESULTADO DEL PROBLEMA 10


x x
max (100 1 )x 1 + (60 2 )x 2 30(x 1 50) 40(x 1 + x 2 120)

6 6

s.a. x 1 50 50 x 1 0
Modelo:

x 1 + x 2 120 120 x 1 x 2 0



x2 0 x2 0


KKT(necesarias):

100 x 1 30 40 1 2 = 0

60 2 x 40 = 0

6
2 2 3

1(50 x 1 ) = 0 2 (120 x 1 x 2 ) = 0 3 (x 1 ) = 0 i 0

KKT (suficientes): las restricciones son convexas (por ser lineales) y la funcin
2 / 6 0
definida negativa, luego es cncava
objetivo es cncava? H f (x ) =
0 2 / 6

para todo x . As pues las condiciones KKT son necesarias y suficientes para encontrar
el ptimo global de este problema.

Punto (90,60): para este punto (que es factible ya que cumple todas las
restricciones), ninguna restriccin es activa, luego i = 0 . La primera ecuacin KKT
sera entonces 100180/63040=0 que se cumple, y la segunda sera 60120/640=0
que se cumple. Luego, cumple las condiciones KKT, luego es mximo global del
problema.

19/02/2010 189
OPTIMIZACIN NO LINEAL

RESULTADO DEL PROBLEMA 11

4 1 + 32 3 = 0




min 4x + 3y 3 + 2
4 = 0
1 2
x y + 5 0

(x + y 5) = 0
1) 3x + 2y 12 0 LP KKT 1



2 (3x + 2y 12) = 0
x 0




3x = 0
y 0



y = 0 i 0


4

Resolver sistema:

- 3 = 0
4 = 0 4 1 + 32 = 0 y 3 1 + 22 = 0 2 = 1 NO
4 0 y = 0 No factible

3 0 x =0
-
4 = 0
1 = 0 2 = 3 / 2 NO
1 0 x +y 5 = 0 y=5 2 = 0 1 = 3 3 = 1
Punto (0, 5) Multiplicadores (3, 0,1, 0)
4 0 y = 0 No factible

2) Todo lineal, se da la convexidad de todas las funciones y por lo tanto las


condiciones suficientes de KKT.

3) Dual

190 19/02/2010
MTODOS DE OPTIMIZACIN

max 5w1 + 12w2 max 5w1 12t2


max 5w1 12t2



w1 + 3w2 4
w1 3t2 4 w1 3t2 + S 1 = 4
t2 = w2

w1 + 2w2 3
w1 2t2 3 w1 2t2 + S 2 = 3

w1 0, w2 0




w 0, t2 0 w1, t2 , S 1, S 2 0
1
5 12 0 0 0 0 2 0 5 15

S1 1 3 1 0 4 S1 0 1 1 1 1

S2 1 2 0 1 3 W1 1 2 0 1 3

4) Fcil ver que las condiciones KKT corresponden al mismo sistema, y a las
condiciones de holgura complementaria del ptimo del dual.

RESULTADO DEL PROBLEMA 13

Se trata de minimizar la funcin

minW = x 2 + y 2 + 2yz + 4z 2 x + 5y
x 2 2xy + 2y 2 + 2yz + 2z 2 9
x + y + 4z 8

que puesta en forma estndar

minW = x 2 + y 2 + 2yz + 4z 2 x + 5y
x 2 2xy + 2y 2 + 2yz + 2z 2 9 0
x y 4z + 8 0

El lagrangiano ser

L(x , y, z , 1, 2 ) = x 2 + y 2 + 2yz + 4z 2 x + 5y +
+1(x 2 2xy + 2y 2 + 2yz + 2z 2 9) + 2 (x y 4z + 8)

Las condiciones de KKT son las siguientes

19/02/2010 191
OPTIMIZACIN NO LINEAL

2x 1 + 1(2x 2y ) + 2 (1) = 0
2y + 2z + 5 + 1(2x + 4y + 2z ) + 2 (1) = 0
2y + 8z + 1(2y + 4z ) + 2 (4) = 0
1(x 2 2xy + 2y 2 + 2yz + 2z 2 9) = 0
2 (x y 4z + 8) = 0
1, 2 0

adems el punto debe ser factible, es decir, debe cumplir las ecuaciones

x 2 2xy + 2y 2 + 2yz + 2z 2 9
x + y + 4z 8

Para dicho punto las restricciones son activas luego los multiplicadores de Lagrange
pueden ser mayores que 0 de acuerdo con las ecuaciones de la complementariedad de
holguras. Sustituyendo el punto (1, 1,2) en las condiciones KKT nos queda

1 + 41 2 = 0
7 21 2 = 0
14 + 61 42 = 0

que da lugar a estos valores de los multiplicadores 1 = 1 y 2 = 5 que verifican las


ecuaciones. Luego el punto es un punto estacionario.

Calculamos el hessiano del lagrangiano

2L 2L 2L

x 2 x y x z
2
L 2L 2L
2L(x , y, z ) =
y x y 2 y z

2L 2L 2L

z x z y z 2

2L 2L 2L 2L 2L
siendo = 2 + 21 , = 21 , = 0, = 2 + 41 , = 2 + 21 ,
x 2 x y x z y 2 y z
2L
= 8 + 41 . Luego el hessiano es
z 2

192 19/02/2010
MTODOS DE OPTIMIZACIN

2 + 2 21 0 4 2 0
1

2
L(x , y, z ) = 21 2 + 41 2 + 21 = 2 6 4

0 2 + 21 8 + 41 0 4 12
1 =1

que es una matriz definida positiva ya que los determinantes en orden creciente son

4 2 0
4 2
todos estrictamente positivos 4 = 4 , = 20 y 2 6 4 = 176 . Los
2 6
0 4 12

autovalores son 2.1770, 5.7411 y 14.0819.

Alternativamente, se puede comprobar que la funcin objetivo y las restricciones son


convexas en dicho punto, es decir, el hessiano es matriz semidenifida positiva.

2 0 0


f (x , y, z ) = 0 2 2
2

0 2 8

que es una matriz definida positiva ya que los determinantes en orden creciente son

2 0 0
2 0
todos estrictamente positivos 2 = 2 , = 4 y 0 2 2 = 24 . Los autovalores
0 2
0 2 8

son 1.3944, 2.0000 y 8.6056.

2 2 0


g1(x , y, z ) = 2 4 2
2

0
2 4

que es una matriz definida positiva ya que los determinantes en orden creciente son

2 2 0
2 2
todos estrictamente positivos 2 = 2, =4 y 2 4 2 = 8 . Los
2 4
0 2 4

autovalores son 0.3961, 3.1099 y 6.4940.

19/02/2010 193
OPTIMIZACIN NO LINEAL

La segunda restriccin es una recta. Por tanto, es cncava y convexa a la vez

0 0 0


g 2 (x , y, z ) = 0 0 0
2

0 0 0

que es una matriz semidefinida positiva y semidefinida negativa ya que los


determinantes son todos 0.

194 19/02/2010
MTODOS DE OPTIMIZACIN

IV. Optimizacin estocstica

IV.1. Estocasticidad

La estocasticidad o incertidumbre aparece en todos los sistemas pero hasta ahora no


era posible la solucin de problemas de optimizacin de grandes sistemas considerando
explcitamente sta. La incertidumbre puede deberse a carencia de datos fiables, errores
de medida o tratarse de parmetros que representan informacin sobre el futuro. Por
ejemplo, en el caso de planificacin de sistemas de energa elctrica la incertidumbre
surge principalmente en la demanda y precios futuros, las aportaciones hidrulicas o la
disponibilidad de los elementos de generacin y red.

En optimizacin determinista se supone que los parmetros del problema son


conocidos con certeza. En optimizacin estocstica se relaja esta condicin. No se
conocen sus valores, slo sus distribuciones y habitualmente se supone que stas son
discretas con un nmero finito de estados posibles.

Los tipos de modelos que aparecen en programacin lineal 11 estocstica son


motivados principalmente por problemas con decisiones de tipo aqu y ahora (here and
now) (Dantzig, 1955), decisiones previas bajo futuro incierto. Esto es, decisiones que
deben tomarse basndose en informacin a priori, existente o supuesta, sobre
situaciones futuras sin realizar observaciones adicionales.

11
La restriccin a problemas lineales es por razones prcticas: primero, son los ms frecuentemente
utilizados, y segundo, aqullos con mtodos de solucin ms eficientes y avanzados. Las tcnicas que se
presentan admiten tambin funciones no lineales si regin factible y funcin objetivo son convexas

19/02/2010 195
OPTIMIZACIN ESTOCSTICA

Recurso 12 es la capacidad de tomar una accin correctora despus de que un suceso


aleatorio haya ocurrido. Por ejemplo, se toman hoy un conjunto de decisiones x 1 con
valores de los parmetros conocidos (es decir, deterministas), durante la noche se
producen unos sucesos aleatorios y maana se toman un conjunto de acciones
correctoras x 2 que mitigan (corrigen) los efectos de los sucesos aleatorios sobre las
decisiones de hoy. Las decisiones de la segunda etapa x 2 son los recursos. La funcin
objetivo asociada a estas decisiones es la funcin de recursos, depende de las decisiones
de la primera etapa x 1 y de los valores de los parmetros aleatorios. Esta
circunstancia incrementa exponencialmente el tamao del problema. Este problema,
denominado problema lineal estocstico bietapa 13 PLE-2, determina el valor ptimo de
x 1 y x 2 . En el mbito de planificacin, conceptualmente asignacin ptima de
recursos, de sistemas de energa elctrica se pueden citar como ejemplo modelos de:

- Coordinacin hidrotrmica (Morton, 1993), (Jacobs, 1995), (Morton, 1996, (Pereira,


1991)

sta consiste en la planificacin de la explotacin de un sistema hidrotrmico en


varios periodos considerando las aportaciones hidrulicas como parmetro aleatorio.
El objetivo es determinar la explotacin del subsistema hidrulico que minimiza los
costes de explotacin esperados derivados de la utilizacin del subsistema trmico.

- Planificacin a largo plazo de la expansin de la red (Perez, 1991), (Stanford, 1989)

La expansin de la red se formula como un problema estocstico bietapa. La


primera etapa recoge las decisiones de inversin en corredores y la segunda las

12
El recurso se denomina completo cuando para cualquier decisin de la primera etapa
(independientemente de su factibilidad) existen decisiones factibles para la segunda etapa. Se denomina
relativamente completo si se cumple slo para decisiones factibles de la primera etapa y parcial o simple
cuando no siempre las decisiones de la segunda etapa son factibles para las decisiones de la primera
etapa.

13
Se denomina bietapa porque tiene dos etapas, una asociada a las decisiones anteriores a la
realizacin de la incertidumbre y otra a las decisiones correctoras una vez realizada la incertidumbre.

196 19/02/2010
MTODOS DE OPTIMIZACIN

decisiones de explotacin. Los distintos escenarios se deben a variaciones en la


demanda, la hidraulicidad y la disponibilidad de elementos de generacin y red. En
el modelo PERLA la expansin de la red se formula como un problema de
planificacin esttica que optimiza el coste total anual, suma del coste anualizado de
inversin, explotacin e indisponibilidad. Este ha sido utilizado por REE como
herramienta de ayuda a la planificacin tctica (con horizontes de 15 a 30 aos). El
modelo ha sido desarrollado en FORTRAN y utiliza MINOS (Murtagh, 1987) y
ZOOM para la solucin de los problemas de optimizacin.

- Determinacin del precio de la electricidad para diferentes tipos de consumidores en


sistemas hidrulicos (Mathiesen, 1992)

Este modelo analiza la formacin de precios en el nuevo mercado de electricidad de


Noruega. Explcitamente considera la gran variacin interanual entre aportaciones
hidrulicas (estocsticas) y el reparto anual del agua teniendo en cuenta los
diferentes estados. Considera varias regiones y periodos en el ao. El modelo
propuesto se formula como problema no lineal (cuadrtico) estocstico multietapa.
La principal hiptesis es la estrecha relacin entre el precio de la electricidad y otros
precios de la energa. Se supone que todos los agentes son neutrales frente al riesgo
y compran al precio estipulado. Se distingue entre dos tipos de consumidores:
aqullos que no tienen fuentes de energa alternativas (demanda contractual cuyo
precio est estipulado y garantizado durante el ao) y aqullos que s (demanda
puntual cuyo precio es incierto hasta el comienzo del periodo).

- Otros mbitos de aplicacin pueden ser:

o planificacin a largo plazo de la expansin de la generacin (MIT, 1982),


(Stanford, 1989) o de la red de distribucin

o planificacin a largo plazo de la expansin de inversiones en elementos de


potencia reactiva

o planificacin de capacidad de una lnea de produccin (Ramos, 1992)

o gestin de una cartera de valores (Dantzig, 1991c)

19/02/2010 197
OPTIMIZACIN ESTOCSTICA

Veamos un ejemplo sencillo de planificacin lineal estocstica bietapa. Se trata de


un problema de planificacin ptima de la expansin de la generacin, es decir,
determinar la inversin ptima en generacin. Se dispone de varios tipos de generadores
candidatos para satisfacer la demanda durante varios periodos. El primero de los
periodos tiene una demanda aleatoria. La decisin de inversin debe ser nica para
todos los periodos. Adems existe una restriccin presupuestaria a la inversin total y
una potencia mnima a instalar.
$TITLE Planificacin ptima de la expansin de la generacin

SETS
I generadores / gen-1 * gen-4 /
J periodos / per-1 * per-3 /
S escenarios de demanda / s-1 * s-3 /

PARAMETERS
F(i) coste fijo de inversin []
/ gen-1 10
gen-2 7
gen-3 16
gen-4 6 /

PROB(s) probabilidad de cada escenario [p.u.]


/ s-1 0.2
s-2 0.5
s-3 0.3 /

DEM(j) demanda para un escenario [MW]

TABLE V(i,j) coste variable de operacin [/MW]

per-1 per-2 per-3


gen-1 40 24 4
gen-2 45 27 4.5
gen-3 32 19.2 3.2
gen-4 55 33 5.5

TABLE DEMS(s,j) demanda estocstica [MW]

per-1 per-2 per-3


s-1 3 3 2
s-2 5 3 2
s-3 7 3 2

SCALARS
POTMIN potencia mnima a instalar [MW] / 12 /
PRSPTO lmite presupuestario [] / 120 /

VARIABLES
X(i) potencia a instalar [MW]
Y(j,i) potencia en operacin [MW]
YS(s,j,i) potencia en operacin estocstica [MW]
COSTE coste total

POSITIVE VARIABLES X, Y, YS

EQUATIONS
COST coste total []
COSTS coste total estocstico []
PRESUP limitacin presupuestaria []
INSMIN potencia mnima instalada [MW]
BALPOT potencia en operacin menor que instalada [MW]

198 19/02/2010
MTODOS DE OPTIMIZACIN

BALPOTS potencia en operacin menor que instalada estocstica [MW]


BALDEM balance de demanda [MW]
BALDEMS balance de demanda estocstico [MW] ;

COST .. COSTE =E= SUM(i, F(i) * X(i))


+ SUM((j,i), V(i,j) * Y(j,i)) ;
COSTS .. COSTE =E= SUM(i, F(i) * X(i))
+ SUM((s,j,i), PROB(s) * V(i,j) * YS(s,j,i)) ;

PRESUP .. SUM(i, F(i) * X(i)) =L= PRSPTO ;

INSMIN .. SUM(i, X(i)) =G= POTMIN ;

BALPOT(j,i) .. Y(j,i) =L= X(i) ;


BALPOTS(s,j,i) .. YS(s,j,i) =L= X(i) ;

BALDEM(j) .. SUM(i, Y(j,i)) =G= DEM(j) ;


BALDEMS(s,j) .. SUM(i, YS(s,j,i)) =G= DEMS(s,j) ;

MODEL DETERM / COST, INSMIN, PRESUP, BALPOT, BALDEM / ;


MODEL ESTOCA / COSTS, INSMIN, PRESUP, BALPOTS, BALDEMS / ;

* cada escenario determinista por separado

LOOP (s,
DEM(j) = DEMS(s,j) ;
SOLVE DETERM MINIMIZING COSTE USING LP ;
) ;

* escenario de demanda media

DEM(j) = SUM(s, PROB(s) * DEMS(s,j)) ;


SOLVE DETERM MINIMIZING COSTE USING LP ;

* problema estocstico

SOLVE ESTOCA MINIMIZING COSTE USING LP ;

El problema se resuelve en primer lugar de forma determinista para cada escenario


de demanda por separado. A continuacin se resuelve el problema para el valor medio
de los parmetros estocsticos y finalmente el problema estocstico y sus resultados se
presentan a continuacin.

Determ 1 Determ 2 Determ 3 Medio Estocst


Generador 1 . 0.33 3.67 0.67 0.67
Generador 2 . . . . 2
Generador 3 3 4.67 3.33 4.53 4.33
Generador 4 9 7 5 6.8 5

Coste total 262 346.67 437.33 355.73 362.47


Para la solucin de problemas estocsticos se ha recurrido histricamente a
diferentes aproximaciones:

19/02/2010 199
OPTIMIZACIN ESTOCSTICA

o Una es solucionar el problema para cada posible escenario. sta se denomina espera
y observa (wait and see o scenario analysis o what-if analysis), corresponde a tomar
las decisiones una vez que se ha resuelto la incertidumbre. A partir de las soluciones
se observan sistemticamente semejanzas y diferencias entre ellas y mediante
criterios subjetivos tomar decisiones flexibles, es decir, aqullas cuyos componentes
forman parte de las decisiones ptimas bajo numerosos escenarios. Evidentemente
este procedimiento no garantiza la obtencin de la solucin ptima. De hecho la
solucin ptima estocstica no tiene por qu ser ptima para ningn escenario. Con
este criterio el generador 2 en el problema de expansin previo no aparecera puesto
que no aparece en la solucin para ninguno de los escenarios ni para el de demanda
media. Sin embargo, s aparece en la solucin ptima del problema estocstico.

o Otra es la solucin del problema estocstico para el valor medio de los parmetros
aleatorios convirtindolo, por tanto, en un problema determinista.

El paso de estas aproximaciones a la optimizacin estocstica supone un salto


cualitativo en cuanto a complejidad de solucin y tamao del problema. La
optimizacin estocstica se debe utilizar cuando las decisiones pueden no ser utilizables
o realizables si no se tiene en cuenta expresamente la incertidumbre. En el ejemplo
anterior se aprecia que las decisiones de inversin en las que se est interesado cambian
segn se haga la hiptesis sobre la ocurrencia de cada escenario futuro o del escenario
de demanda media. De hecho, las soluciones deterministas bajo un escenario pueden ser
infactibles bajo otro.

Las decisiones en un momento dado dependen exclusivamente de la informacin


disponible en ese momento, no pueden utilizar informacin futura. Las decisiones de la
primera etapa (de inversin) son independientes del escenario que ocurra, se toman con
antelacin a resolver la incertidumbre. Esta caracterstica se denomina propiedad de
implantabilidad o no anticipatividad de las decisiones.

Los diferentes estados que pueden tomar los parmetros aleatorios a lo largo del
tiempo se representan mediante un rbol de probabilidad o de escenarios (figura 4.1.).
Se define un escenario como cualquier camino (trayectoria) que va desde la raz del
rbol hasta las hojas de manera que los escenarios que comparten una misma

200 19/02/2010
MTODOS DE OPTIMIZACIN

informacin hasta una cierta etapa tambin comparten esa parte del rbol. El rbol de
probabilidad es la forma natural y explcita de representar la no anticipatividad de las
decisiones. En el caso ejemplo previo, el rbol es simplemente una raz y tres hojas. Las
decisiones de la primera etapa se comparten (son las mismas para cualquiera de los
escenarios) y por eso la raz es nica. Las decisiones de la segunda etapa son mltiples
(dependen de cada escenario) y por eso tiene tres hojas. La determinacin del rbol de
probabilidad debe considerar las dependencias temporales y/o espaciales que pudieran
existir entre los parmetros aleatorios. Si el proceso aleatorio es markoviano la
dependencia temporal slo alcanzar un periodo. En un caso general se puede extender
ms all.

En la formulacin que se utiliza en este ejemplo y en algunas de las tcnicas de


descomposicin (e.g., descomposicin de Benders), se utiliza expresamente la
estructura del rbol de probabilidad para definir las variables y los parmetros
aleatorios. As en el ejemplo, las variables de la primera etapa no dependen de los
escenarios mientras que los de la segunda s. Existe otra tcnica de resolucin
alternativa (scenario aggregation with splitting variable formulation (Rockafellar)) que
considera variables independientes para cada escenario (como se muestra en la figura
4.2) y establece restricciones de no anticipatividad que hacen que ciertas variables sean
iguales entre s en ciertos periodos. En esta tcnica se utiliza el mtodo de relajacin
lagrangiana, especialmente indicado cuando existe un nmero reducido de restricciones
de complicacin. Es decir, el rbol de la figura 4.1 se convierte en el de la figura 4.2
mediante restricciones. En el ejemplo previo sera equivalente a haber definido una
variable de inversin para cada escenario y haber impuesto restricciones que las obligan
a ser iguales.

Y1

Y2
X

Y3

Figura 4.1 rbol de probabilidad.

19/02/2010 201
OPTIMIZACIN ESTOCSTICA

X1 Y1

Y2
X2

X3 Y3

Figura 4.2 rbol de probabilidad para agregacin de escenarios.

La estructura de la matriz de restricciones del problema estocstico se observa en la


figura 4.3. En ella se muestran las restricciones que involucran variables de cada etapa
por separado y las que unen variables de ambas etapas. El problema estocstico es de
tamao mucho mayor que el de un problema determinista y tiene la estructura no
anticipativa del rbol de probabilidad. Las tcnicas de descomposicin aprovechan esta
estructura repetitiva de la matriz de restricciones.
Variables Variables
primera segunda
etapa etapa
X Y1, Y2, Y3
PRESUP Restricciones primera etapa
INSMIN
BALPOTS
Restricciones primer escenario
BALDEMS

BALPOTS
Restricciones segundo escenario
BALDEMS

BALPOTS
Restricciones tercer escenario
BALDEMS

Figura 4.3 Estructura de la matriz de coeficientes de las restricciones.

La funcin objetivo del problema estocstico es el valor de la funcin objetivo para


las decisiones de la primera etapa ms el valor esperado de la funcin objetivo para las
decisiones de la segunda etapa (362.47 en el ejemplo). El valor de la solucin
estocstica (VSS) es la diferencia entre la funcin objetivo del problema estocstico y la
del problema determinista para el valor medio de los parmetros (362.47355.73=6.73).

Se denomina valor esperado con informacin perfecta a la suma ponderada para


cada escenario de la funcin objetivo total sabiendo que dicho escenario va a ocurrir
con certeza (356.93 para el ejemplo). Es decir, se revela la incertidumbre antes de tomar

202 19/02/2010
MTODOS DE OPTIMIZACIN

las decisiones de la primera etapa. Este valor siempre ser menor o igual, si se est
minimizando, que la funcin objetivo del problema estocstico.

Para cada escenario, la solucin del problema estocstico es siempre peor o igual
que la solucin con informacin perfecta (280, 349.33 y 439.33 respectivamente). Se
denomina arrepentimiento a la diferencia entre ambas (280262=18, 349.33
346.67=2.66, 439.33437.33=2) y valor esperado de la informacin perfecta (EVPI) a
su esperanza.

Cuando esta diferencia en algn escenario pueda ser elevada (de consecuencias
catastrficas) o existe gran no linealidad en la funcin objetivo para los diferentes
escenarios la optimizacin estocstica se puede formular como minimizacin del
mximo arrepentimiento (o criterio minimax). ste es un criterio conservador de
proteccin frente el riesgo que determina planes robustos (es decir, estables frente a
perturbaciones en los datos).

Veamos otro ejemplo de un problema de optimizacin de una compaa de gas con


demanda y precio estocsticos. Cuando la compaa compra gas suministra parte a sus
consumidores y el resto lo almacena. Cuando vende gas lo toma de sus compras o de
sus depsitos. Luego sus decisiones son cunto gas comprar y vender directamente,
cunto comprar y almacenar, y cunto tomar del depsito y vender. Las decisiones
ptimas dependern del precio del gas ahora y en el futuro, del coste de
almacenamiento, del tamao del depsito y de la demanda en cada periodo. La demanda
anual y el precio del gas para cada escenario se presentan en la siguiente tabla. El precio
de almacenamiento de una unidad de gas es de 1 /ao. Se quieren tomar las decisiones
ptimas para los dos primeros aos sabiendo que el ao actual est siendo normal y el
ao prximo puede ser normal, fro o muy fro con las probabilidades que aparecen en
la tabla.

Escenario Coste del gas () Demanda Probabilidad

Normal 5.0 100 1/3

Fro 6.0 150 1/3

Muy fro 7.5 180 1/3

19/02/2010 203
OPTIMIZACIN ESTOCSTICA

$TITLE Planificacin ptima de la compra de gas

SETS
S escenarios de temperatura / nr, fr, mf /
O opciones de gestin / cyv, cya, ayv /

PARAMETERS
CVS(s) coste del gas en cada escenario []
/ nr 5.0
fr 6.0
mf 7.5 /

PROBS(s) probabilidad de cada escenario [p.u.]


/ nr 0.333333
fr 0.333333
mf 0.333334 /

DEMS(s) demanda en un escenario


/ nr 100
fr 150
mf 180 /

CV coste del gas


PROB probabilidad
DEM demanda en un escenario

SCALARS
CALM coste de almacenamiento [ por ao] / 1 /

VARIABLES
X(o) cantidad que gestiona el primer ao
Y(o) cantidad que gestiona el segundo ao
YS(s,o) cantidad que gestiona el segundo ao estocstico
COSTE coste total

POSITIVE VARIABLES X, Y, YS

EQUATIONS
COST coste total
COSTS coste total estocstico
BALDEM1 balance de demanda del primer ao
BALDEM2 balance de demanda del segundo ao
BALDEMS2 balance de demanda del segundo ao
GSTDEP gestin del depsito ;

COST .. COSTE =E= CVS('nr') * (X('cyv')+X('cya'))


+ CALM * X('cya')
+ CV * (Y('cyv')+Y('cya')) ;

COSTS .. COSTE =E= CVS('nr') * (X('cyv')+X('cya'))


+ CALM * X('cya')
+ SUM(s, PROBS(s) * CVS(s) * (YS(s,'cyv')+YS(s,'cya'))) ;

BALDEM1 .. X('cyv') =E= DEMS('nr') ;

BALDEM2 .. X('ayv') + Y('cyv') =E= DEM ;


BALDEMS2(s) .. X('ayv') + YS(s,'cyv') =E= DEMS(s) ;

GSTDEP .. X('cya') =E= X('ayv') ;

MODEL DETERM / COST , BALDEM1, BALDEM2 , GSTDEP / ;


MODEL PROBAB / COSTS, BALDEM1, BALDEMS2, GSTDEP / ;

* cada escenario determinista por separado

LOOP (s,
CV = CVS(s) ;
DEM = DEMS(s) ;

204 19/02/2010
MTODOS DE OPTIMIZACIN

SOLVE DETERM MINIMIZING COSTE USING LP ;


) ;

* escenario de demanda media

CV = SUM(s, PROBS(s) * CVS(s)) ;


DEM = SUM(s, PROBS(s) * DEMS(s)) ;
SOLVE DETERM MINIMIZING COSTE USING LP ;

* problema estocstico

SOLVE PROBAB MINIMIZING COSTE USING LP ;

Los resultados para cada escenario determinista, el escenario medio y el problema


estocstico se presentan a continuacin.

Compra y Compra y Depsito a Compra y Compra y Coste


Vende almacena venta vende almacena
Ao 1 Ao 2
Normal 100 . . 100 . 1000
Fro 100 . . 150 . 1400
Muy fro 100 180 180 . . 1580
Medio 100 143.33 143.33 . . 1360
. .
Estocstico 100 100 100 50 . 1400
80 .

Para este ejemplo tambin se observa que las soluciones en cada escenario son
claramente diferentes a las del escenario medio y a las decisiones del problema
estocstico.

Aunque las primeras investigaciones aparecen en 1955 con trabajos de Dantzig


(Dantzig, 1955) y Beale (Vale, 1955), slo recientemente el avance en la tecnologa de
los ordenadores ha permitido la solucin de problemas de muy gran tamao y ha
devuelto inters al tema de la optimizacin estocstica produciendo adems un avance
en la teora matemtica que lo sustenta. Los libros de Ermoliev y Wets (eds.), Kall y
Walace, Birge y Louveaux y Prkopa (Ermoliev, 1988), (Birge, 1997), (Kall, 1995),
(Prekopa, 1995) pueden servir de compendio a la investigacin reciente en este campo.
La resolucin de este tipo de problemas abre nuevas posibilidades en numerosos
mbitos.

La programacin estocstica apareci como una extensin de la programacin lineal


con nfasis en el gran nmero de variables y parmetros (Vale, 1955), (Dantzig, 1955),

19/02/2010 205
OPTIMIZACIN ESTOCSTICA

(Dantzig, 1963), (Dantzig, 1961). Por otra parte, como otra extensin de la
programacin lineal para grandes sistemas con estructuras especiales en la matriz de
coeficientes de las restricciones aparecieron las tcnicas de descomposicin (Benders,
1962), (Dantzig, 1963), (Dantzig, 1960), (Van Slyke, 1969), denominadas de
optimizacin matemtica a gran escala.

Algunas tcnicas que permiten la solucin de problemas de programacin lineal


estocstica de gran tamao son las siguientes:

o descomposicin

Las tcnicas de descomposicin resuelven problemas de muy gran tamao con


una estructura especial, que se aprovecha desde un punto de vista terico y
computacional con el uso de algoritmos especializados. Constituye una forma
flexible y elegante de resolver problemas.

o simulacin y reduccin de varianza

Las tcnicas de simulacin y reduccin de varianza son necesarias cuando la


resolucin explcita del nmero de problemas que surgen debido a la
aleatoriedad en los parmetros resulta inviable.

La conjuncin de varias de estas tcnicas fue propuesta por Dantzig (Dantzig, 1987),
(Dantzig, 1990) y ha dado resultados espectaculares por los tamaos de los problemas
de planificacin resueltos (Dantzig, 1991a), (Dantzig, 1991c), (Entriken, 1990),
(Infanger, 1991), (Infanger, 1994), (Stanford, 1989).

Las tcnicas de simulacin y descomposicin utilizadas en la solucin de estos


problemas de optimizacin de muy gran tamao hacen que el uso de procesamiento
paralelo o distribuido 14 sea muy conveniente (Dantzig, 1987), (Dantzig, 1990). Con ellas

14
Las tcnicas de descomposicin son de uso matemtico general y tienen sentido
independientemente de la tecnologa del ordenador/es utilizados en su resolucin. Sin embargo, dada su
naturaleza resulta muy conveniente la utilizacin de clculo en paralelo (un ordenador con mltiples
CPUs dbil o fuertemente acopladas) o clculo distribuido (mltiples ordenadores trabajando en
colaboracin) para reducir los tiempos de clculo de manera sustancial.

206 19/02/2010
MTODOS DE OPTIMIZACIN

la solucin repetida de los subproblemas o maestros se puede efectuar en paralelo entre


los diferentes procesadores disponibles (Entriken, 1988), (Entriken, 1989),
(Ruszczynski, 1993).

Actualmente existe una herramienta para la solucin de problemas lineales


estocsticos bietapa de gran tamao denominada DECIS que se puede ejecutar en un
ordenador paralelo (Dantzig, 1991b) o convencional (Infanger, 1991). Las reducciones
de tiempo con respecto a su solucin en ordenador convencional logradas para este tipo
de problema son del orden de la mitad del nmero de procesadores utilizados. Por
ejemplo, con un problema concreto resuelto con 64 procesadores en paralelo tomando
600 muestras en la simulacin el tiempo de clculo se redujo en 37.5 veces. Este
decremento depende del nmero de muestras y de procesadores.

Otra aplicacin denominada MSLiP permite la solucin de problemas lineales


estocsticos multietapa de tamao medio para su uso en un ordenador convencional
(Gassmann, 1990). Existe tambin una versin estocstica OSL-SE del optimizador de
programacin lineal entera mixta OSL. En (Ermoliev, 1988) se citan adems otros
cdigos de programacin lineal estocstica.

La formulacin de problemas estocsticos se est empezando a realizar tambin con


lenguajes algebraicos de modelado como GAMS (Ramos, 1998) o AMPL (Gassmann,
1995), (Gassmann, 1996). Tanto DECIS como OSL-SE estn disponibles con GAMS.

IV.2. Optimizacin lineal bietapa y multietapa

El problema lineal bietapa PL-2 se representa matemticamente de la forma


siguiente, considerando el vector x 1 las variables de la primera etapa y x 2 las variables
de la segunda:

min(c1T x 1 + cT2 x 2 )
x1 ,x 2

A1x 1 = b1
(1.161)
B1x 1 +A2x 2 = b2
x 1, x2 0

19/02/2010 207
OPTIMIZACIN ESTOCSTICA

donde la matriz A1 es m1 n1 y A2 es m2 n2 . Las dimensiones de los dems vectores


y matrices se derivan de stas. Por ser optimizacin determinista se suponen conocidas
las matrices y vectores. El tamao del problema completo es (m1 + m2 ) (n1 + n2 ) . La
estructura de la matriz de restricciones se presenta en la figura 4.4.

A1

B1 A2

Figura 4.4 Estructura de la matriz de coeficientes de las restricciones en PL-2.

Los dos ejemplos del captulo anterior corresponden a problemas lineales bietapa,
deben proporcionar decisiones antes de resolver la incertidumbre, siendo la segunda
etapa estocstica. Un problema de planificacin esttica (para un momento fijo en el
tiempo) se formula frecuentemente como minimizacin de una funcin objetivo suma
de costes totales de inversin y explotacin sujeta a restricciones propias de inversin y
de explotacin. Las decisiones de inversin corresponden a la primera etapa y las de
explotacin a la segunda.

Los problemas de planificacin dinmica deben proporcionar decisiones ptimas


para momentos discretos del tiempo. stos se conocen genricamente como problemas
lineales multietapa PL-P. Aparecen en el estudio de procesos dependientes del tiempo
donde las actividades de un periodo estn conectadas con las de los periodos anterior
pero no con otros (Dantzig, 1963). Para P etapas el problema se puede formular como:
P
min cTp x p
xp
p =1

Bp1x p1 + Ap x p = bp p = 1, , P (1.162)
xp 0
B0 0

donde las matrices Ap y Bp y los vectores bp y cp son conocidos por ser optimizacin

determinista y x p son las variables. La matriz Ap es m p n p . El problema completo

tiene m = p=1 m p filas y n = p=1 n p columnas.


P P

208 19/02/2010
MTODOS DE OPTIMIZACIN

Caracterstica de estos problemas es una estructura de la matriz de coeficientes de las


restricciones en escalera, tal como se presenta en la figura 4.5.

A1

B1 A2

B2 A3

BP 1 AP

Figura 4.5 Estructura de la matriz de coeficientes de las restricciones en problemas lineales multietapa.

El tamao del problema crece linealmente con el nmero de etapas. Aunque para
problemas pequeos o medianos se pueden utilizar tcnicas convencionales de
programacin lineal, esto resulta inviable para problemas de gran tamao. Por ello, para
su resolucin se emplean tcnicas de descomposicin que aprovechan su especial
estructura.

IV.3. Optimizacin lineal estocstica bietapa

El problema lineal estocstico bietapa PLE-2, donde se considera aleatoriedad en la


segunda etapa, se formula matemticamente como 15:

min c1T x 1 + p c2T x 2


x1 ,x 2

A1x 1 = b1
(1.163)
B1 x 1 +A2 x 2 = b2
x 1, x 2 0

donde funcin objetivo corresponde a las decisiones de la primera etapa ms el valor


esperado correspondiente a las decisiones de la segunda etapa y donde toma un

15
El superndice indica la dependencia de las matrices y vectores con respecto al valor de .

19/02/2010 209
OPTIMIZACIN ESTOCSTICA

nmero finito, (cardinal de ), de valores cada uno con probabilidad p . Si A2 es


independiente de este problema se denomina con recurso fijo. La estructura de la
matriz de restricciones de un problema PLE-2 para tres escenarios en la segunda etapa
se representa en la siguiente figura.

A1

B11 A21

B12 A22

B13 A23

Figura 4.14 Estructura de la matriz de coeficientes de las restricciones en PLE-2.

El problema de minimizacin de mximo arrepentimiento tiene una estructura


similar al anterior y se formula como:

min
,x1 ,x 2

c1T x 1 p c2T x 2 f (1.164)


A1x 1 = b1
B1 x 1 +A2 x 2 = b2
x 1, x 2 0

siendo f el valor ptimo de la funcin objetivo para cada escenario (i.e., la funcin
objetivo para la decisin ptima sabiendo que va a ocurrir un determinado escenario
).

El uso de tcnicas de descomposicin se justifica por la estructura especial que


presenta la matriz de restricciones del problema completo. Los subproblemas son
separables para cada escenario y tienen la misma estructura en las restricciones.

IV.4. Optimizacin lineal estocstica multietapa

El problema lineal estocstico multietapa PLE-P se puede formular como:

210 19/02/2010
MTODOS DE OPTIMIZACIN

p
p pT
min
p p p c xp p
xp
p =1 p p
p p 1
B x
p 1 p 1 + Ap p x p p = bp p p = 1, , P (1.165)
p
x p 0
B01 0

donde p representa el conjunto de los posibles valores de p en la etapa p cada uno



con probabilidad de ocurrencia pp p . Estas probabilidades son, en general, dependientes

de los valores tomados en la etapa anterior. Cuando se van a tomar las decisiones al

comienzo de la etapa p los valores de cp p , Bpp 1 , Ap p , bp p son conocidos y se conocen

las distribuciones condicionadas de los vectores para las etapas futuras p + 1, , P . Los
diferentes valores de los parmetros en las sucesivas etapas forman una estructura en
rbol.

Si p representa el cardinal de p , el problema lineal completo tiene


P P
p =1
m p p restricciones y p =1
n p p variables, siendo Ap p una matriz m p n p .

La matriz de restricciones de un problema PLE-3 con dos escenarios en la segunda


etapa y cuatro en la tercera se representa en la siguiente figura.

A1

B11 A21

B12 A22

B21 A31

B22 A32

B23 A33

B24 A34

Figura 4.15 Estructura de la matriz de coeficientes de las restricciones en problemas lineales multietapa.

19/02/2010 211
OPTIMIZACIN ESTOCSTICA

El mtodo de resolucin es descomposicin anidada estocstica de Benders


(tambin denominado en la literatura programacin dinmica dual estocstica (Pereira,
1991)) teniendo presente que los subproblemas para cada etapa son separables.

IV.5. Referencias

Beale, E.M.L. On Minimizing a Convex Function Subject to Linear Inequalities


Journal of the Royal Statistical Society. Vol 17b, pp 173-184. 1955.

Benders, J.F. Partitioning Procedures for Solving Mixed-Variable Programming


Problems Numerische Mathematik. Vol 4, pp 238-252. 1962.

Birge, J.R. and Louveaux, F. (1997) Introduction to Stochastic Programming. Springer-


Verlag.

Dantzig, G.B. Linear Programming Under Uncertainty Management Science. Vol 1,


No 3-4, pp 197-206. April-July 1955.

Dantzig, G.B. Linear Programming and Extensions. Princeton University Press.


Princeton, USA. 1963.

Dantzig, G.B. Planning Under Uncertainty Using Parallel Computing Systems


Optimization Laboratory. Department of Operations Research. Stanford
University. SOL 87-1. January 1987.

Dantzig, G.B. and Glynn, P.W. Parallel Processors for Planning Under Uncertainty
Annals of Operations Research. Vol 22, pp 1-21. 1990.

Dantzig, G.B. and Infanger, G. Large-Scale Stochastic Linear Programs: Importance


Sampling and Benders Decomposition Systems Optimization Laboratory.
Department of Operations Research. Stanford University. SOL 91-4. March 1991.

Dantzig, G.B., Ho, J.K. and Infanger, G. Solving Stochastic Linear Programs on a
Hypercube Multicomputer Systems Optimization Laboratory. Department of
Operations Research. Stanford University. SOL 91-10. August 1991.

212 19/02/2010
MTODOS DE OPTIMIZACIN

Dantzig, G.B. and Infanger, G. Multi-Stage Stochastic Linear Programs for Portfolio
Optimization Systems Optimization Laboratory. Department of Operations
Research. Stanford University. SOL 91-11. September 1991.

Dantzig, G.B. and Madansky, A. On the Solution of Two-Stage Linear Programs


Under Uncertainty Proceedings of the Fourth Berkeley Symposium on
Mathematical Statistics and Probability. University of California Press. Berkeley.
Vol I, pp 165-176. 1961.

Dantzig, G.B. and Wolfe, P. Decomposition Principle for Linear Programs


Operations Research. Vol 8, No 1, pp 101-111. January-February 1960.

Entriken, R. A Parallel Decomposition Algorithm for Staircase Linear Programs


Systems Optimization Laboratory. Department of Operations Research. Stanford
University. SOL 88-21. December 1988.

Entriken, R. The Parallel Decomposition of Linear Programs Systems Optimization


Laboratory. Department of Operations Research. Stanford University. SOL 89-17.
November 1989.

Entriken, R. and Infanger, G. Decomposition and Importance Sampling for Stochastic


Linear Models IBM Research Report. RC 15545 (#69107). March 1990.

Ermoliev, Y. and Wets, R.J-B. (eds.) Numerical Techniques for Stochastic


Optimization. Springer-Verlag. Berlin, Germany. 1988.

Gassmann, H.I. MSLiP: A Computer Code for the Multistage Stochastic Linear
Programming Problem Mathematical Programming. Vol 47, pp 407-423. August
1990.

Gassmann, H.I. and Ireland, A.M. Scenario Formulation in an Algebraic Modelling


Language Annals of Operations Research. Vol 59, pp 45-75. 1995.

Gassmann, H.I. and Ireland, A.M. On the Formulation of Stochastic Linear Programs
using Algebraic Modelling Languages Annals of Operations Research. Vol 64, pp
83-112. 1996.

19/02/2010 213
OPTIMIZACIN ESTOCSTICA

Infanger, G. Monte Carlo (Importance) Sampling within a Benders Decomposition


Algorithm for Stochastic Linear Programs. Extended Version: Including Results of
Large-Scale Problems Systems Optimization Laboratory. Department of
Operations Research. Stanford University. SOL 91-6. March 1991.

Infanger, G. Planning Under Uncertainty: Solving Large-Scale Stochastic Linear


Programs Boyd Fraser. 1994.

Jacobs, J, Freeman, G., Grygier, J., Morton, D. P., Schultz, G., Staschus, K. and
Stedinger, J. SOCRATES: A System for Scheduling Hydroelectric Generation
under Uncertainty Annals of Operations Research. Vol 59, pp 99-133. 1995.

Kall, P. and Wallace, S.W. (1995) Stochastic Programming. John Wiley and Sons.

Massachusetts Institute of Technology (MIT) Electric Generation Expansion Analysis


System. Volume 1: Solution Techniques, Computing Methods, and Results.
Volume 2: Details of Solution Techniques, Data of Test Systems, and Glossary of
Terms Electric Power Research Institute. EPRI EL-2561. August 1982.

Mathiesen, L. Pricing of Electricity in the Presence of Water Uncertainty February


1992.

Mayer, J. (1998) Stochastic Linear Programming Algorithms. A Comparison Based on


a Model Management System. Gordon and Breach Science Publishers.

Morton, D. P. Algorithmic Advances in Stochastic Programming Systems


Optimization Laboratory. Department of Operations Research. Stanford University.
SOL 93-6. July 1993.

Morton, D. P. An Enhanced Decomposition Algorithm for Multistage Stochastic


Hydroelectric Scheduling Annals of Operations Research. Vol 64, pp 211-235.
1996.

Murtagh, B.A. and Saunders, M.A. MINOS 5.1 User's Guide Systems Optimization
Laboratory. Department of Operations Research. Stanford University. SOL 83-
20R. December 1983. Revised January 1987.

214 19/02/2010
MTODOS DE OPTIMIZACIN

Pereira, M.V.F. and Pinto, L.M.V.G. Multi-Stage Stochastic Optimization Applied to


Energy Planning Mathematical Programming. Vol 52, pp 359-375. August 1991.

Prez Arriaga, J.I., Ramos, A. y Latorre, G. Volumen 1: Gua de usuario del programa
de planificacin esttica de la red de transporte a largo plazo. PERLA. Volumen 2:
Casos ejemplo Instituto de Investigacin Tecnolgica. Julio 1991.

Prkopa, A. Stochastic Programming. Kluwer Academic Publishers, 1995.

Ramos, A. Integrated Model for Capacity Planning for Manufacturing Systems March
1992.

Rockafellar, R.T. and Wets, R.J.B. Scenarios and Policy Aggregation in Optimization
Under Uncertainty Mathematics in Operations Research. Vol 16, pp 119-147.

Ruszczynski, A. Parallel Decomposition of Multistage Stochastic Programming


Problems Mathematical Programming. Vol 58, pp 201-228. 1993.

Stanford University Decomposition Techniques for Multi-Area Generation and


Transmission Planning Under Uncertainty Electric Power Research Institute.
EPRI EL-6484. August 1989.

Van Slyke, R.M. and Wets, R.J.-B. L-Shaped Linear Programs with Application to
Optimal Control and Stochastic Programming SIAM Journal on Applied
Mathematics. Vol 17, No 4, pp 638-663. July 1969.

19/02/2010 215
MTODOS DE OPTIMIZACIN

V. Programacin dinmica

V.1. Introduccin

Hay una gran variedad de situaciones de muy diversa naturaleza que se pueden
modelar como procesos de decisin secuenciales de tipo polietpico, para los cuales el
mtodo conocido como programacin dinmica (dynamic programming DP) se muestra
como una herramienta eficaz en la mayora de los casos.

A fin de plantear el problema en lneas generales, podemos suponer un sistema


fsico S cuyo estado en una etapa, fase o instante k cualquiera viene especificado por
un vector x k , a cuyas componentes daremos el nombre de variables de estado, las
cuales pueden evolucionar en el tiempo de forma discreta o continua, dependiendo en
cada instante dicha evolucin bien de la opcin adoptada por un decisor, bien de una
intervencin humana seguida de una intervencin del azar o viceversa. Dichos cambios
se hacen mediante un vector uk a cuyas componentes daremos el nombre de variables
de control o de decisin.

La programacin dinmica es una metodologa matemtica orientada a la solucin


de problemas con decisiones divisibles o separables en k etapas sucesivas 16 donde se
debe minimizar el coste total (o cualquier otra funcin objetivo) de dichas decisiones.
En cada etapa se valora no slo el coste actual o inmediato de tomar una decisin sino
el coste futuro que se origina a partir de ella. Cada etapa se caracteriza por x k estados
(situaciones en que puede encontrarse el sistema en cada etapa). El nmero de estados
puede ser finito o infinito. Cada estado guarda toda la informacin necesaria (i.e.,
variables de estado) para tomar las decisiones futuras sin necesidad de conocer cmo se

16
Estas etapas muchas veces se hallan asociadas a tiempo, de ah el nombre de programacin
dinmica, pero esto no es necesario.

19/02/2010 217
PROGRAMACIN DINMICA

ha alcanzado dicho estado. Mediante una decisin uk en la etapa k se va de un estado


x k al comienzo de la etapa k a otro estado x k +1 al comienzo de la siguiente. En cada
etapa se evala la decisin ptima para cada uno de sus estados.

Variables de Variables de
estado de etapa Decisiones estado de etapa
k k +1
xk uk x k +1
La programacin dinmica es una tcnica de divide y vencers. Resuelve el
problema de optimizacin del conjunto de todas las etapas mediante un procedimiento
recursivo que se resuelve de manera iterativa, incorporando cada vez una etapa, es
decir, partes cada vez mayores del problema original. El procedimiento puede hacerse
hacia delante (forward DP) o hacia atrs (backward DP). La recursin hacia atrs
define la poltica ptima en la etapa k conocida la poltica ptima en cualquier estado
de la etapa k + 1 , produciendo un modelo del tipo, por ejemplo,

fk* (x k ) = min {cxk uk + fk*+1(x k +1 )} (1.166)


uk

siendo x k el estado actual en la etapa k , x k +1 el estado al que se llega en la etapa k + 1

dependiente del estado inicial x k y de la decisin uk en la etapa k , fk (x k ) el valor


acumulado de la funcin objetivo para el estado x k desde la etapa k hasta la N y cxk uk

el valor inmediato de la funcin objetivo al tomar la decisin uk desde el estado x k .

El conjunto de estados en cada etapa debe estar dentro de un conjunto de valores


admisibles y las decisiones que permiten el paso de un estado en una etapa a otro en la
siguiente tambin puede estar sometido a un conjunto de restricciones. El problema en
cada etapa se supone determinista, es decir, se sabe con certeza cul es la transicin
entre los estados y su coste. La funcin objetivo no est restringida a ser lineal, tambin
puede ser no lineal. La programacin dinmica tiene la maldicin de la
dimensionalidad debido a la explosin de estados que se necesita analizar en cada etapa.
Esto hace que computacionalmente resulte muy costosa de resolver. Como contrapartida
la programacin dinmica proporciona mucha informacin. Por ejemplo, la funcin de
coste futuro en cada etapa para cada uno de los estados posibles de dicha etapa y,

218 19/02/2010
MTODOS DE OPTIMIZACIN

adems, no slo la decisin ptima sino otras soluciones cuasiptimas con los valores
correspondientes de la funcin objetivo.

De forma completa el problema de programacin dinmica de naturaleza aditiva se


puede formular como
N
min J = f0 (x 0 ) = cxk uk
uk
k =0

x k +1 = k (x k , uk ) (1.167)
gk ,ik (x k , uk ) = 0
x k X k , uk U k

siendo x 0 el estado en la etapa inicial conocido, X k el conjunto de estados posibles en

la etapa k , U k el conjunto de decisiones factibles en la etapa k , gk ,ik (x k , uk ) = 0 las

restricciones o ligaduras del sistema en esa etapa y k (x k , uk ) la ecuacin que gobierna

la transicin o paso del sistema de la etapa k a la siguiente. Obviamente, no todos los


modelos susceptibles de ser tratados mediante programacin dinmica son de naturaleza
aditiva.

Al conjunto de decisiones tomadas a lo largo del tiempo le daremos el nombre de


poltica en el caso de situaciones deterministas y el de estrategia cuando se hace
intervenir el azar. El objetivo en todo proceso de decisin polietpico del tipo que
vamos a analizar es el de determinar la poltica o estrategia que optimiza una funcin
criterio.

En lo que sigue supondremos que los posibles cambios slo pueden tener lugar en
instantes discretos del tiempo, no forzosamente equidistantes. Al intervalo de tiempo
transcurrido entre la adopcin de dos decisiones consecutivas es lo que hemos llamado
fase o etapa. En la prctica la dificultad radica en los aspectos siguientes:

o la identificacin de las fases o etapas, junto con las variables de estado y las de
decisin

o la formulacin del criterio que se pretende optimizar y de las restricciones en


trminos de dichas variables

19/02/2010 219
PROGRAMACIN DINMICA

La metodologa de la programacin dinmica es difcil de explicar en un contexto


puramente terico. A efectos de una introduccin, que permita una posterior
profundizacin en el tema, es mucho ms eficaz presentar dicha metodologa a partir de
ejemplos como los que se exponen en las secciones siguientes.

V.2. Principio de optimalidad de la programacin


dinmica o de Bellman

El principio en el que se basa la programacin dinmica fue establecido por Richard


Bellman en los aos 50. De forma resumida, el principio de optimalidad de Bellman
dice que toda poltica ptima est formada por subpolticas ptimas. A continuacin
se explica e interpreta con ms detalle este principio.

Dado un estado, la poltica ptima para las siguientes etapas no depende de la


poltica tomada en las etapas anteriores. La decisin ptima inmediata slo depende del
estado en el que se est, no de cmo se lleg hasta l. Toda la informacin sobre el
pasado se resume en el estado en que se encuentra.

Una vez conocida la solucin ptima global, cualquier solucin parcial que
involucre slo una parte de las etapas es tambin una solucin ptima. Todo
subconjunto de una solucin ptima es a su vez una solucin ptima para un problema
parcial.

Aplicando este principio a la bsqueda del camino ms corto entre Madrid y


Barcelona averiguamos que la solucin del problema pasa por Zaragoza. Si nos
preguntamos por el camino ms corto entre Zaragoza y Barcelona, es obvio que ser el
mismo que el utilizado en la solucin del problema global (Madrid-Barcelona). Si
existiera un camino ms corto entre Zaragoza y Barcelona (problema parcial), lo
habramos tomado como parte de la solucin del problema global.

220 19/02/2010
MTODOS DE OPTIMIZACIN

Andorra

Barcelona

Lrida

Zaragoza
Castelln

Madrid Valencia

A continuacin y a efectos de ilustrar el mtodo de trabajo de la programacin


dinmica vamos a analizar algunos modelos de aplicacin muy general.

V.2.1. Un ejemplo introductorio

Vamos a considerar un problema clsico soportado por una red valorada (es decir,
una red a cada uno de cuyos arcos le ha sido asignado uno o ms valores, que pueden
ser una distancia, un tiempo o un coste) y sin circuitos.

Supongamos que se quiere construir una carretera entre las ciudades de Aburgo y
Teburgo, que constar de seis tramos y pasar por una serie de ciudades. Los costes de
las distintas variantes que el trazado de la carretera puede tener vienen reflejados en la
figura 1 y en ellos se han tenido en cuenta los trabajos y construcciones de carcter
tcnico que la obra lleva implcitos, as como los gastos de expropiaciones,
indemnizaciones, etc.

19/02/2010 221
PROGRAMACIN DINMICA

Geburgo

7
1
Beburgo 6 Kaburgo
2 Hacheburgo 9
Eburgo 6 11
8 5 4
1 Peburgo
5
Ceburgo 8 2 6
6 Eleburgo
Iburgo 3
7 9
Aburgo
6 4 Teburgo
5 6 5
5 Efeburgo 6
6 Ereburgo
Deburgo 4 5
5
8 Emeburgo
Jotaburgo

Figura 1

Aunque la carretera puede ser construida en cualquiera de los dos sentidos


supondremos que lo ser de Aburgo a Teburgo y que el criterio para establecer el
trazado de la misma es solamente el objetivo econmico de minimizar los costes.

Comenzaremos, de acuerdo con el convenio anterior, por considerar la red orientada


de la figura 2. La clasificacin en niveles (en este caso, cada nivel ser uno de los
tramos en la construccin de la carretera) de los vrtices de la red es la dada en la Tabla
1. En el nivel 0 se encuentra la ciudad inicial Aburgo y en el nivel i-simo se encuentran
aquellos vrtices (ciudades) que slo tienen antecesores inmediatos en los niveles
precedentes. Hay algoritmos, muy sencillos de programar en el ordenador, para
proceder a esta clasificacin en niveles.

Llamaremos x i , i = 0,1, , 6 , a las variables de decisin relativas a cada tramo. La


variable x i puede tomar como valores las ciudades correspondientes al i-simo tramo.

222 19/02/2010
MTODOS DE OPTIMIZACIN

7
B 1
6 K
2 H 9
E 6 11
8 5 4
1 P
C 5
8 2 6
6 L
A 7 I 3
9 T
6 4
5 6 5
5 F 6 R
4 6 5
D 5
8 M
J
Tramo I Tramo II Tramo III Tramo IV Tramo V Tramo VI

Figura 2
Nivel Ciudades
0 A
1 B, C, D
2 E, F
3 G, H, I, J
4 K, L, M
5 P, R
6 T
Tabla 1

Designaremos por vi (x i1, x i ) al coste del tramo i-simo, el cual depender de los

valores que demos a x i1 y a x i . La expresin que nos proporciona el coste total es


6
G (x 0 , x 1, , x 6 ) = vi (x i1, x i ) (1.168)
i =1

1) El coste mnimo del tramo 1 para cada una de las ciudades B, C y D que lo
configuran es

g1 (B ) = 8, g1 (C ) = 6, g1 (D ) = 5
2) Calculamos ahora el coste mnimo conjunto de construccin de tramos 1 y 2. Las
ciudades en las que puede acabar el conjunto de los dos primeros tramos son E y
F. Tendremos

19/02/2010 223
PROGRAMACIN DINMICA

g1,2 (E ) = min (g1 (x 1 ) + v2 (x 1, E ))


x1

= min (g1 (B ) + v2 (B, E ), g1 (C ) + v2 (C , E ), g1 (D ) + v2 (D, E )) =


= min (8 + 2, 6 + 1, 5 + 6) = 7

Es decir, el camino ms barato hasta E es el que, partiendo de A, pasa por C.

g1,2 (F ) = min (g1 (x 1 ) + v2 (x 1, F ))


x1

= min (g1 (B ) + v2 (B, E ), g1 (C ) + v2 (C , E ), g1 (D ) + v2 (D, E )) =


= min (8 + 5, 6 + , 5 + 5) = 10

Hemos asignado un coste infinito a aquellos posibles trazados cuya construccin se


ha estimado como no realizable y que, en consecuencia, no aparecen en el diseo de la
figura 1. El camino ms barato hasta F es el que, partiendo de A, pasa por D.

Pasaramos luego a determinar el coste mnimo para los tramos I, II y III


considerados conjuntamente y para los vrtices G, H, I y J. Este coste es, para G,

g1,2,3 (G ) = min g1,2 (x 2 ) + v 3 (x 2 ,G ) =


x2

= min g1,2 (E ) + v 3 (E,G ), g1,2 (F ) + v3 (F ,G ) =


= min [7 + 1,10 + 6] = 8

y de la misma forma obtendramos

g1,2,3 (H ) = 13; g1,2,3 (I ) = 14; g1,2,3 (J ) = 13

que corresponden a los caminos ACEG, ACEH, ACEI y ACEJ.

Prosiguiendo en esta lnea, obtendramos para el conjunto de las cuatro primeras


fases

g1,2,3,4 (K ) = 15 , correspondiente al camino ACEGK

g1,2,3,4 (L ) = 17 , correspondiente al camino ACEJL

g1,2,3,4 (M ) = 20 , correspondiente al camino ACEIM

y para las cinco primeras fases se tendra

224 19/02/2010
MTODOS DE OPTIMIZACIN

g1,2,3,4,5 (P ) = 19 , a lo largo del camino ACEJPL

g1,2,3,4,5 (R) = 21 , a lo largo del camino ACEJLR

Finalmente, el coste mnimo del proyecto completo sera

G * (T ) = min G (x 0 , x 1, x 2 , x 3 , x 4 , x 5, x 6 ) = min g1,2,3,4,5 (x 5 ) + v6 (x 5,T ) = 25


x5

correspondiente a la secuencia ACEGKPT.

Este mtodo es caracterstico de los procedimientos de la programacin dinmica.


Su peculiaridad es la de ir investigando subpolticas ptimas que abarquen de paso en
paso ms fases unitivas hasta encontrar la o las polticas ptimas. Es, asimismo, posible,
en aplicacin del principio de optimalidad de Bellman, empezar por el otro extremo o
desdoblar el problema en mdulos.

As, si la construccin de la carretera se abordara simultneamente desde los dos


extremos A y T, a fin de coincidir en una de las ciudades del tramo III, para cada uno de
los valores de x 3 tendramos, por una parte, segn hemos calculado, que los caminos
ms econmicos desde A son

ACEG: coste 8, ADFH: coste 13, ACEI: coste 14, ACEJ: coste 13

mientras que los caminos ptimos desde T seran

TPKG: coste 8, TPLH: coste 16, TPMI: coste 15, TPLJ: coste 13

de donde el camino de A a T de coste total mnimo sera el que resulta de empalmar


los dos que terminan en J.

A continuacin vamos a presentar este mismo problema desde otro ngulo. Se trata
de un viajante de comercio que desea ir de la ciudad A a la J por el camino ms corto.
Vamos a resolver el problema mediante programacin dinmica hacia atrs. Notar que
el avance a travs de la red est dividido en etapas, necesarias para que se pueda utilizar
la programacin dinmica. Por consiguiente, no es un problema general de distancia
mnima en una red (para ese caso tambin es posible aplicar el principio de optimalidad
y ecuaciones para implantar la solucin, pero la definicin de las etapas y estados no es
tan evidente).

19/02/2010 225
PROGRAMACIN DINMICA

B 7 E
1
4
2 6 4 H
3 3
6
A 4 C 2 F J
4 3
4
3 I
4 3
1 3
D 5 G

Empezamos por la etapa k = 4

Estados x 4 Distancia acumulada f4* Decisin ptima u 4*


H 3 J
I 4 J
Para la etapa k = 3

Estados x 4
Estados x 3 H I Distancia acumulada f3* Decisin ptima u 3*
E 4 8 4 H
F 9 7 7 I
G 6 7 6 H
Para la etapa k = 2

Estados x 3
Estados x 2 E F G Distancia acumulada f2* Decisin ptima u2*
B 11 11 12 11 E, F
C 7 9 10 7 E
D 8 8 11 8 E, F
Finalmente en la etapa k = 1

Estados x 2
Estado x 1 B C D Distancia acumulada f1* Decisin ptima u1*
A 13 11 11 11 C, D

226 19/02/2010
MTODOS DE OPTIMIZACIN

A partir de la tabla final se deduce que las rutas ptimas son: ACEHJ, ADEHJ y
ADFIJ con distancia total de 11. Obsrvese que si en cada ciudad se hubiera tomado la
decisin miope, es decir, ir a la ciudad ms prxima, la distancia total recorrida sera de
13, que no coincide con la ptima.

Veamos ahora la resolucin mediante programacin dinmica hacia adelante. Para


la etapa k = 2

Estado x 1
Estados x 2 A Distancia acumulada f2* Decisin ptima u2*
B 2 2 A
C 4 4 A
D 3 3 A
Para k = 3

Estados x 2
Estados x 3 B C D Distancia acumulada f3* Decisin ptima u 3*
E 9 7 7 7 C, D
F 6 6 4 4 D
G 8 8 8 8 B, C, D
Para k = 4

Estados x 3
Estados x 4 E F G Distancia acumulada f4* Decisin ptima u 4*
H 8 10 11 8 E
I 11 7 11 7 F
Finalmente para la etapa k = 5

Estados x 4
Estados x 5 H I Distancia acumulada f5* Decisin ptima u5*
J 11 11 11 H, I
Las rutas ptimas son: JHECA, JHEDA y JIFDA con distancia ptima de 11.

19/02/2010 227
PROGRAMACIN DINMICA

V.2.2. Otro ejemplo: Planificacin de la expansin de la


generacin

Se trata de minimizar los costes totales (fijos y variables) de expansin del equipo
generador para un alcance de varios aos. Las decisiones son la potencia a instalar de
cada tipo de generacin en cada ao del alcance del modelo. Habitualmente se tienen en
cuenta estas restricciones en la expansin: potencia instalada inicial conocida, mxima
(mnima) potencia instalable, inversin mxima (mnima), nmero mximo (mnimo) de
generadores instalables en cada ao. Adems tambin se consideran estas restricciones
de operacin: el balance generacin demanda en cada ao. Los estados se definen como
el nmero total de generadores instalados al comienzo de cada ao.

Supongamos un sistema elctrico con los siguientes datos

Ao Demanda (MW) Coste de inversin por


generador de 1 GW [/GW ao]
1999 1000 50
2000 2000 55
2001 4000 60
2002 6000 65
2003 7000 45
2004 8000 40
Existe un coste adicional de 15 /ao por ao si se construye al menos un generador.
No se pueden instalar ms de 3000 MW de generacin en ningn ao y se parte de un
sistema elctrico sin ningn generador instalado.

Resolvemos el problema mediante programacin dinmica hacia atrs. En la etapa


n = 2004 se tiene

Est 2004
Est 2003 8000 Cst fut Inst pt
7000 15+40=55 55 1000
8000 0 0 0
Para la etapa n = 2003

228 19/02/2010
MTODOS DE OPTIMIZACIN

Est 2003
Est 2002 7000 8000 Cst fut Inst pt
6000 15+45+55=115 15+90=105 105 2000
7000 55 15+45=60 55 0
8000 0 0 0
Para la etapa n = 2002

Est 2002
Est 2001 6000 7000 8000 Cst fut Inst pt
4000 15+130+105=250 15+195+55=265 250 2000
5000 15+65+105=185 15+130+55=200 15+195=210 185 1000
6000 105 15+65+55=135 15+130=145 105 0
7000 55 15+65=80 55 0
8000 0 0 0
Para la etapa n = 2001
Est 2001
Est 2000 4000 5000 6000 7000 8000 Cst fut Inst pt
2000 15+120+250=385 15+180+185=380 380 3000
3000 15+60+250=325 15+120+185=320 15+180+105=300 300 3000
4000 250 15+60+185=260 15+120+105=240 15+180+55=250 240 2000
5000 185 15+60+105=180 15+120+55=190 15+180=195 180 1000
6000 105 15+60+55=130 15+120=135 105 0

Para la etapa n = 2000


Est 2000
Est 1999 2000 3000 4000 5000 6000 Cst fut Inst pt
1000 15+55+380=445 15+110+300=425 15+165+240=420 420 3000
2000 15+55+300=365 15+110+240=365 15+165+180=360 360 3000
3000 15+55+240=305 15+110+180=305 15+165+105=285 285 3000

Para la etapa n = 1999

Est 1999
Est 1998 1000 2000 3000 Cst fut Inst pt
0 15+50+420=485 15+100+360=475 15+150+285=450 450 3000
La potencia ptima a instalar en cada ao a partir de 1999 es: 3000, 3000, 0, 0, 2000
y 0 MW con un coste total de 450 .

19/02/2010 229
PROGRAMACIN DINMICA

Otras aplicaciones muy caractersticas de la programacin dinmica en sistemas de


energa elctrica son la programacin semanal de los generadores trmicos y la
coordinacin hidrotrmica. En el primer caso, las etapas son las horas (o das) de la
semana, los estados corresponden a las combinaciones posibles de acoplamiento o
parada de los grupos trmicos (por ejemplo, 2n siendo n el nmero de grupos trmicos
cada uno con dos posibles estados, acoplamiento o parada) y las decisiones son los
arranques y paradas de los grupos entre horas consecutivas. En el segundo caso, las
etapas son las semanas (o meses) del ao, los estados son las combinaciones de los
niveles de reserva de los embalses (por ejemplo, 5n siendo n el nmero de embalses
cada uno con cinco posibles niveles) y las decisiones son las producciones de las
centrales hidrulicas. En ambos casos, para sistemas elctricos reales se puede apreciar
el elevado nmero de estados que hay que evaluar en cada etapa. En el problema de
coordinacin hidrotrmica, adems es necesaria la discretizacin artificial de los niveles
de los embalses.

V.2.3. Modelos de asignacin

Los ejemplos utilizados muestran, tambin, una caracterstica fundamental de los


modelos de programacin dinmica, que es el carcter recurrente del proceso: el ptimo
en la fase n no tiene en cuenta todas las fases previas, sino slo las k precedentes
siendo, por lo general k = 1 , de forma que en este ltimo caso el valor ptimo para las
diferentes valores de las variables de estado x n de la fase n se obtiene como una
funcin de los ptimos parciales, previamente calculados, de los valores de las variables
x n 1 y de la relacin que ligue a x n y x n 1 .

Es precisamente en la determinacin de esta recurrencia donde radica la dificultad


de elaborar un modelo de programacin dinmica pero, una vez conseguido el modelo,
su aplicacin supone una reduccin drstica de las opciones a considerar a efectos de la
determinacin del ptimo.

Los ejemplos anteriores son tambin ilustracin de un caso general, que podemos
denominar de funciones separables en fases, y el proceso de optimizacin empleado se

230 19/02/2010
MTODOS DE OPTIMIZACIN

dice que es de tipo secuencial. Estas denominaciones son vlidas no slo para aquellas
funciones para las que

G (x 0 , x 1, , x n ) = v1 (x 0 , x 1 ) + v2 (x 1, x 2 ) + + vn (x n 1, x n ) (1.169)

sino tambin para aquellos casos en los que

G (x 0 , x 1, , x n ) = v1 (x 0 , x 1 ) v2 (x 1, x 2 )vn (x n 1, x n ) (1.170)

Vamos a continuacin a analizar algunos modelos dinmicos que, por su


generalidad y frecuente aplicacin, merecen mencin aparte. Son los denominados
modelos de asignacin. Bajo esta denominacin se engloban una serie de problemas
cuyo objetivo es determinar el mximo de

F (x 1, x 2 , , x n ) = f1 (x 1 ) + f2 (x 2 ) + + fn (x n ) (1.171)

sujetas las variables a las restricciones

x1 + x 2 + + xn = K ; xi 0 (1.172)

Una interpretacin econmica de este problema consiste en suponer que tenemos


una cierta cantidad de un recurso econmico que puede ser de muy diversa naturaleza:
hombres, agua, energa, dinero, mquinas, etc. , y que puede ser utilizado de diferentes
formas. Cada una de estas diferentes maneras de utilizar el recurso recibe el nombre de
actividad y como resultado de utilizar todo o parte del recurso en una determinada
actividad obtenemos un ingreso o retorno que, a su vez, puede venir expresado de muy
diferentes maneras. La magnitud del ingreso depende de la cantidad de recurso asignado
y de la actividad sobre la que se hace la asignacin. A estos efectos supondremos que:

o Los ingresos procedentes de distintas actividades pueden ser medidos con una
misma unidad.

o El ingreso o utilidad total es la suma de los ingresos o utilidades de cada actividad.

o El ingreso procedente de una determinada actividad es independiente de las


asignaciones hechas en las otras actividades.

Para ilustrar el problema de la asignacin y las condiciones matemticas que deben


cumplirse para garantizar la existencia, y eventualmente, la unicidad de las soluciones

19/02/2010 231
PROGRAMACIN DINMICA

vamos a analizar la situacin siguiente, en la que suponemos que disponemos de una


cantidad C 0 que tenemos que dividir en dos partes x 0 y C 0 x 0 , obteniendo de la

primera cantidad x 0 un retorno g (x 0 ) y de la segunda un retorno h (C 0 x 0 ) . Si

deseamos hacer el reparto de forma que maximicemos el retorno total estamos


enfrentados al problema analtico de obtener el mximo de la funcin

R1 (C 0 , x 0 ) = g (x 0 ) + h (C 0 x 0 ), x 0 [ 0,C 0 ] (1.173)

Supondremos que g y h son funciones continuas x [0,C 0 ] , de forma que su


mximo siempre existe en ese intervalo.

Consideremos ahora un proceso bietpico en el que, como precio de obtener un


retorno g (x 0 ) , la cantidad x 0 se ve reducida a cx 0 , 0 < c < 1 , y, anlogamente,

C 0 x 0 se ve reducida a b (C 0 x 0 ) , 0 < b < 1 . Con la cantidad restante total,

C 1 = cx 0 + b(C 0 x 0 )

volvemos a repetir el proceso, haciendo

C 1 = x 1 + (C 1 x 1 ), 0 < x 1 < C 1

y, como resultado de la nueva asignacin, obtenemos el retorno parcial

g (x 1 ) + h (C 1 x 1 )

y un retorno global para el conjunto del proceso bietpico

R2 (C 0 , x 0 , x 1 ) = g (x 0 ) + h (C 0 x 0 ) + g (x 1 ) + h (C 1 x 1 )
0 x 0 C 0 ; 0 x1 C 1

Si damos un salto a un proceso en N etapas, en cada una de las cuales repetimos el


proceso de asignacin anterior, el retorno total vendr dado por

RN (C 0 , x 0 , x 1, , x N 1 ) = g (x 0 ) + h (C 0 x 0 ) + g (x 1 ) + h (C 1 x 1 ) +
+ g (x N 1 ) + h (C N 1 x N 1 )

232 19/02/2010
MTODOS DE OPTIMIZACIN

x 1 = cx 0 + b (C 0 x 0 ), 0 x 0 C 0
x 2 = cx 1 + b (C 1 x 1 ), 0 x 2 C 1

x N 1 = cx N 2 + b (C N 2 x N 2 ), 0 x N 2 C N 2 , 0 x N 1 C N 1

y, en principio, parece que estamos enfrentados a un problema de maximizar una


funcin en un dominio N-dimensional. Pero observamos que, en cada etapa lo que
hacemos es una eleccin unidimensional, por lo que si conseguimos formular el
problema de manera que se preserva esta peculiaridad unidimensional, nos habremos
librado del engorroso tratamiento del anlisis multidimensional.

Con este fin definimos la funcin

fN (C 0 ) = mximo retorno obtenido en un proceso de N etapas

(N = 1,2, ) comenzando con una cantidad inicial

C0 = max RN (C 0 , x 0 , , x N 1 ), N = 2, 3,
{x 0 ,x1 ,....,x N 1 }

con

f1 (C 0 ) = max R1 (C 0 , x 0 ) = max g (x 0 ) + h (C 0 x 0 )
0x 0 C 0 0x 0 C 0

Nuestro siguiente objetivo ser obtener una ecuacin para f2 (C 0 ) en trminos de

f1 (C 0 ) . Considerando el proceso bietpico, vemos que el retorno total ser la suma del

retorno de la primera etapa ms el de la segunda, cuando en esta ltima se ha asignado


una cantidad C 1 = cx 0 + b (C 0 x 0 ) . Es claro que cualquiera que sea el valor de x 0

elegido en la etapa inicial, la cantidad restante C 1 debe ser usada de la mejor manera
posible en la segunda etapa, si deseamos obtener una asignacin ptima. Si lo hacemos
as, en la segunda etapa conseguiremos un retorno ptimo

f1 (cx 0 + b (C 0 x 0 ))

si x 1 es elegido de forma ptima. Como resultado el retorno total para el conjunto de las
dos primeras etapas, resultante de la asignacin inicial x 0 , viene dado por

19/02/2010 233
PROGRAMACIN DINMICA

R2 (C 0 , x 0 , x 1 ) = g (x 0 ) + h (C 0 x 0 ) + f1 (ax 0 + b (C 0 x 0 ))

Como x 0 es elegido de manera que haga mxima la expresin anterior, deducimos


la relacin de recurrencia

f2 (C 0 ) = max {g (x 0 ) + h (C 0 x 0 ) + f1 (ax 0 + b (C 0 x 0 ))}


0x 0 C 0

conectando a las funciones f1 y f2 . Usando el mismo argumento para el proceso en N


etapas, obtenemos la ecuacin funcional

fN (C 0 ) = max {g (x 0 ) + h (C 0 x 0 ) + fN 1 (ax 0 + b (C 0 x 0 ))} , N 2


0x 0 C 0

de forma que, comenzando con f1 , continuamos evaluando sucesivamente f2 , f3 , En

cada etapa del proceso, obtenemos, no slo fk (C 0 ) , sino tambin x k (C 0 ) , la asignacin

ptima que debemos hacer al comienzo de la k-sima etapa cuando inicialmente se parte
con una cantidad C 0 . As, la solucin de un problema especfico, dados C 0 y N , es de
la forma

x 0* = x N (C 0 )

x 1* = x N 1 (ax 0* + b (C 0 x 0* ))

x 2* = x N 2 (ax 1* + b (C 1 x 1* ))

x N* 1 = x 1 (ax N* 2 + b (C N 2 x N* 2 ))

siendo (x 0*, x 1*, , x N* 1 ) un conjunto de asignaciones, que puede no ser nico, que

maximiza el retorno total tras N etapas.

Las ventajas del mtodo son evidentes: hemos reducido un simple problema N-
dimensional a una secuencia de N problemas unidimensionales.

Qu ocurre si el proceso continua indefinidamente, es decir, si N ? Aunque


un proceso no acotado es siempre una ficcin fsica, como proceso matemtico es
atractivo, ya que el paso al lmite de la ecuacin [7] nos permite reducir el problema al
de resolver la ecuacin funcional

234 19/02/2010
MTODOS DE OPTIMIZACIN

f (C 0 ) = max g (x ) + h (C 0 x ) + f (ax + b (C 0 x ))
0x C 0

cuya solucin f (C 0 ) es el retorno total del proceso, con una funcin de asignacin

x (C 0 ) proporcionada por la ecuacin anterior.

Este ejemplo es un caso particular del modelo general consistente en obtener el


mximo de la funcin
N
F (x 1, x 2 , , x N ) = fi (x i ) (todas las fi continuas x 0 )
i =1

sobre la regin definida por

x1 + x 2 + + x N = C
xi 0

Como el mximo depende de N y c, definimos la secuencia de funciones

g N (C ) = max F (x 1, x 2 , , x N ), N = 1,2,
{xi }

y, argumentando como ejemplos anteriores, tenemos la relacin de recurrencia

fN (C ) = max [ ]
0x C

g N (C ) = max ( fN (x ) + g N 1 (C x )), N = 2, 3,
0x C

con g1 (C ) = f1 (C ) .

La ecuacin [8] nos plantea la necesidad de garantizar la existencia y unicidad de


sus soluciones. Los siguientes teoremas, cuya importancia no es meramente terica,
sino tambin computacional, establecen las condiciones requeridas.

Teorema 1:

Supongamos que

1) g (x ) h (x ) son funciones continuas de x para x 0 , con g (0) = h (0) = 0 .



2) 0 a < 1, 0 b < 1 n =0
M (c n x ) < , x 0, siendo

19/02/2010 235
PROGRAMACIN DINMICA

M (x ) = max max ( g (y ) , h (y ) ) y c = max (a, b )


0y x

Bajo estas hiptesis hay una solucin nica de [8] que es continua y que se anula
para x = 0 .

Definicin 1:

Una funcin f (x ) continua es convexa en el intervalo [a, b ] si u, v [a, b ] y

[0,1]

f (u + (1 ) v ) f (u ) + (1 ) f (v )

Se dice que f (x ) es cncava en el intervalo [a, b ] si u, v [a, b ] y [ 0,1]

f (u + (1 ) v ) f (u ) + (1 ) f (v )

Una funcin convexa (cncava) en [a, b ] tiene un valor mnimo (respectivamente,


mximo) en dicho intervalo.

Teorema 2:

Si, adems de las condiciones del teorema 1, g y h son funciones convexas de C 0


entonces f (C 0 ) es tambin una funcin convexa de C 0 y, para cada valor de C 0 , la
eleccin x ser igual a 0 o a C 0 .

Teorema 3:

Si, adems de las condiciones del teorema 1, g y h son funciones estrictamente


cncavas de C 0 , entonces f (C 0 ) es tambin una funcin estrictamente cncava de C 0 y
la poltica ptima es nica.

Teorema 4:

Supongamos que g(x ) y h(x ) son estrictamente cncavas para x 0 , montonas


crecientes con derivadas continuas y que g (0) = h (0) = 0 .

g (0) h (0)
> , h (0) > g (0), a < b
1 a 1 b

236 19/02/2010
MTODOS DE OPTIMIZACIN

Entonces la poltica ptima tiene la siguiente forma:

a) x = C 0 para 0 C 0 C * , donde C * es la raz de

h (0) = g (u ) + (b a ) g (au ) + a (b a ) g (a 2u ) + ...

x = x (C 0 ) para C 0 > C * , donde x (C 0 ) es una funcin que satisface las


b)
desigualdades 0 < x (C 0 ) < C 0 y es la solucin de

g (x ) h (C 0 x ) + (a b ) f (ax + b (C 0 x )) = 0

Veamos un ejemplo de problema de asignacin. Supongamos, a ttulo de ejemplo,


que una empresa quiere vender sus productos en cuatro zonas que denominaremos I, II,
III y IV y dispone de una cantidad de 9 millones de euros para invertir en publicidad.
Supuesto que se conocen en cada zona las ganancias correspondientes a cada una de las
posibles inversiones se desea determinar cual debe ser la distribucin ptima de los 9
millones. Suponiendo, para simplificar, que las asignaciones se hacen por millones
enteros de euros, podemos considerar que los beneficios, tambin en millones, para cada
posible asignacin vienen reflejados en la tabla 2.1

Inversin 0 1 2 3 4 5 6 7 8 9
Zona 1 0 0.5 0.6 0.8 1.1 1.3 1.4 1.46 1.50 1.52
Zona II 0 0.4 0.48 0.6 0.78 0.91 1 1.05 1.08 1.1
Zona III 0 0.6 0.71 0.9 1.08 1.26 1 1.48 1.55 1.6
Zona IV 0 0.3 0.45 0.7 0.85 0.95 1.02 I 1.07 1.1 1 1.13
Tabla 2.1

Llamando fi (x i ) a la ganancia obtenida en la zona i con una inversin x i en

publicidad, se tratara de hacer mximo

F (x 1, x 2 , x 3 , x 4 ) = f1 (x 1 ) + f2 (x 2 ) + f3 (x 3 ) + f4 (x 4 )

con las restricciones

x 1 + x 2 + x 3 + x 4 = 9 ; x i 0, x i

19/02/2010 237
PROGRAMACIN DINMICA

En estos modelos de asignacin es muy comn sustituir la variable x i por otra


variable yi que representa la cantidad total invertida en el conjunto de las i primeras
zonas. Es claro que x i = yi yi1 y la funcin [9] puede ser escrita como

F (y1, y2 , y 3 , y 4 ) = f1 (y1 ) + f2 (y2 y1 ) + f3 (y 3 y2 ) + f4 (9 y 3 )

Para construir un algoritmo recurrente, que es una caracterstica de la programacin


dinmica, comenzamos definiendo

g 0 (y 0 ) = 0 , y 0 = 0

Si el algoritmo fuera multiplicativo esta fase inicial sera definida por

g 0 (y 0 ) = 1 , y 0 = 1

A partir de aqu definimos para la zona i la funcin de optimizacin

gi (yi ) = max gi 1 (yi1 ) + fi (yi yi1 )


0yi 1 yi

y para i = 4 obtendremos el ptimo deseado con y 4 = 9

g 4 (9) = max g 3 (y 3 ) + f4 (9 y 3 )
0y3 9

Comenzaremos el desarrollo del algoritmo con ayuda de la tabla 2.2

y1 , y 2 0 1 2 3 4 5 6 7 8 9
0 0.5 0.6 0.8 1.1 1.3 1.4 1.46 1.50 1.52
f2 (y2 y1 ) = f2 (x 2 ) 0 0.4 0.48 0.6 0.78 0.91 1 1.05 1.08 1.1

g 2 (y2 ) 0 0.5 0.9 1 1.2 1.5 1.7 1.8 1.9 2.08

Subpolticas
ptimas para 0,0 1,0 1,1 2,1 3,1 4,1 5,1 6,1 5,3 5,4
las zonas I y II
Tabla 2.2

para obtener las subpolticas ptimas para el conjunto de las dos primeras zonas, en la
que, por ejemplo, g2 (3) se ha obtenido de la forma siguiente

238 19/02/2010
MTODOS DE OPTIMIZACIN

g 2 (3) = max [ f1 (0) + f2 (3), f1 (1) + f2 (2), f1 (2) + f2 (1), f1 (3) + f2 (0)] =
= max[0 + 0.6, 0.5 + 0.48, 0.6 + 0.4, 0.8 + 0] = 1

y los dems en forma similar.

Para determinar g 3 (y 3 ) obtenemos la tabla 2.3 con ayuda de la tabla anterior y de la

frmula [12]. Esta tabla y la frmula [13] nos permitirn obtener la tabla 2.4 y
determinar la poltica ptima.

x 3 , y2 0 1 2 3 4 5 6 7 8 9

( )
g 2 y2 0 0.5 0.9 1 1.2 1.5 1.7 1.8 1.9 2.08

( ) (
f3 x 3 = f3 y 3 y2 ) 0 0.6 0.71 0.9 1.08 1.26 1.4 1.48 1.55 1.6

( )
g 3 y3 0 0.06 1.1 1.5 1.61 1.8 2.1 2.8 2.41 2.6

Subpoltica
ptima para 0,0 1,0 1,1 2,1 3,1 4,1 5,1 6,1 5,3 5,4
zonas I y II
Subpolticas 3,1,1
ptimas para 0,0,0 0,0,1 1,0,1 1,1,1 1,1,2 4,1,1 5,1,1 5,1,2 5,1,3
zonas I a III 1,1,3
Tabla 2.3

x 4 , y3 0 1 2 3 4 5 6 7 8 9

( )
g 3 y3 0 0.6 1.1 1.5 1.61 1.8 2.1 2.3 2.41 2.6

( ) = f4 (9 y 3 )
f4 x 4 0 0.3 0.45 0.7 0.85 0.95 1.02 1.07 1.1 1 1.13

g 4 (9 ) 0 0.6 1.1 1.5 1.8 1.95 2.2 2.4 2.6 2.8

Subpolticas 3,1,1
ptimas para 0,0,0 0,0,1 1,0,1 1,1,1 1,2,2 4,1,1 5,1,1 5,1,2 5,1,3
Zonas I, II y III 1,1,3
Polticas
ptimas 0,0,0,0 0,0,1,0 1,0,1,0 1,1,1,0 1,1,1,1 1,1,1,2 1,1,1,3 4,1,1,1 5,1,1,1 4,1,1,3

Tabla 2.4

19/02/2010 239
PROGRAMACIN DINMICA

La poltica ptima es, por tanto, la (4,1,1,3), pudiendo verificarse que todas las
subpolticas son ptimas. As, por ejemplo, la tabla 2.2 nos muestra que la mejor
manera de distribuir 5 millones entre las zonas I y II es 4 y 1 respectivamente, mientras
que el anlisis combinado de las tablas 2.2 y 2.4 nos permitira establecer que la manera
ptima de distribuir 4 millones entre las zonas III y IV es asignar 1 milln a III y 3 a IV
con un beneficio de 1.3 millones.

Debe hacerse resaltar la gran eficiencia del mtodo. Una descripcin de todas las
polticas hubiera precisado el anlisis de 220 posibilidades, mientras que si el nmero
de millones a invertir hubiera sufrido un incremento slo de 3 millones, el nmero de
posibilidades hubiera llegado a 455.

En general, el nmero de posibilidades de repartir n unidades monetarias entre k


zonas viene dado por las combinaciones de (n + k 1) elementos seleccionados de
k 1 en k 1 .

V.2.4. Caminos ptimos sobre redes valoradas sin circuitos

Al comienzo vimos un ejemplo en el que sobre una red valorada, en la que cada arco
tena asociado el coste de la construccin del correspondiente tramo de carretera,
tratbamos de obtener el trazado de una carretera entre dos ciudades con coste mnimo.

En otras ocasiones el objetivo, por el contrario, ser determinar el camino de


mximo valor entre la entrada y la salida de una red valorada. Una tal situacin se da en
los modelos de gestin de proyectos en los que se utiliza la tcnica PERT-CPM.

En el caso siguiente se analiza una red del tipo conocido como red Manhattan, que
adopta una estructura rectangular. En el ejemplo considerado se trata de encontrar el
camino de duracin mnima entre los puntos O y B de una ciudad, separados por siete
manzanas de casas, conocindose el tiempo, en minutos, que se tarda en atravesar cada
una de las manzanas que constituyen las diversas rutas que unen O y B. Se trata de
obtener el camino que lleva de O hasta B con la condicin de que las direcciones de
avance son de izquierda a derecha o de abajo hacia arriba. A tal efecto, consideraremos
un origen de coordenadas en el punto O y asociaremos a cada encrucijada posible un par

240 19/02/2010
MTODOS DE OPTIMIZACIN

de coordenadas y en concreto, al punto B le asociaremos el par (3,4), tal como se


muestra en la figura 3, que es una red Manhattan 3 x 4.

En lo que sigue designaremos por t(i, j ) al mnimo tiempo que se tarda en alcanzar
el vrtice (i, j ) desde O. Adems llamamos i = 0 al tiempo que se tarda en llegar al
vrtice (i, j ) desde el vrtice inferior (i, j 1) y D(i, j ) al tiempo que se invierte en
el trayecto entre los vrtices (i 1, j ) e (i, j ) . El proceso de bsqueda del camino al que
corresponde el tiempo mnimo de viaje entre el punto O (0, 0) y el punto B (m, n ) lo
dividiremos en m + n etapas o fases, para una red Manhattan general de dimensin
m n . La variable de estado x k asociada a la fase k tomar como argumentos todos
los vrtices (i, j ) tales que i + j = k .

El algoritmo recurrente que nos conduce al ptimo se define para la etapa k , en la


que se supone que ya ha sido aplicado en las k 1 etapas anteriores, como


min [t (i 1, j ) + D (i, j ), t (i, j 1) + A (i, j )], j 0, i 0



t (i, j ) =
t (i 1, j ) + D (i, j ), si j = 0
i + j =k


t (i, j 1) + A (i, j ), si i = 0

con la condicin inicial evidente t(0, 0) = 0

Para cada fase, y para cada vrtice de la misma tal que i = 0 , j = 0 , la decisin a
tomar es si debe ser alcanzado desde el vrtice (i 1, j ) , que representaremos por una
Derecha, o desde el vrtice (i, j 1) , que representaremos por una Arriba. Para los
vrtices en los que i = 0 o j = 0 la decisin viene forzada: A o D, respectivamente.
(0,4) 5 (1,4) 4 (2,4) 3 (3,4)
2 3 4 6
(0,3) 2 (1,3) 3 (2,3) 2 (3,3)
3 5 4 1
(0,2) 1 (1,2) 3 (2,2) 6 (3,2)
4 3 6 5
(0,1) 2 (1,1) 4 (2,1) 4 (3,1)
3 1 3 5
(0,0) 2 (1,0) 3 (2,0) 4 (3,0)
Figura 3

19/02/2010 241
PROGRAMACIN DINMICA

Ntese que el algoritmo debe ser evaluado en los (m + 1) (n + 1) 1 vrtices de


la red (exceptuando el vrtice 0). En cada uno de los m n vrtices para los que i 0 ,
j 0 se realizan tres operaciones: dos sumas y una seleccin de mnimo; en cada uno
de los m + n vrtices para los que i = 0 o j = 0 se realiza una sola operacin. En
total, y para alcanzar el ptimo, se precisan 4(m + n ) operaciones; en nuestro caso 28.

Considerando la red de la figura 3 la aplicacin del algoritmo a las sucesivas fases


nos conduce a los siguientes resultados, entre los cuales los correspondientes a la fase
quinta aparecen detallados.
Fase 1 Vrtice t(i, j ) Decisin
(0,1) 3 A
(1,0) 2 D

Fase 2 Vrtice t(i, j ) Decisin


(0,2) 7 A
(1,1) 3 A
(2,0) 5 D

Fase 3 Vrtice t(i, j ) Decisin


(0,3) 10 A
(1,2) 6 A
(2,1) 7 D
(3,0) 9 D

Fase 4 Vrtice t(i, j ) Decisin


(0,4) 12 A
(1,3) 11 A
(2,2) 9 D
(3,1) 11 D

Fase 5 Vrtice t(i, j ) Decisin


(1,4) min[t(0, 4) + D(1, 4), t(1, 3) + A(1, 4)] = A
= min(12 + 5,11 + 3) = 14
(2,3) min[t(1, 3) + D(2, 3), t(2,2) + A(2, 3)] = A
= min(11 + 3, 9 + 4) = 13
(3,2) min[t(2,2) + D(3,2), t(3,1) + A(3,2)] = D
= min(9 + 6,11 + 5) = 15

242 19/02/2010
MTODOS DE OPTIMIZACIN

Fase 6 Vrtice t(i, j ) Decisin


(2,4) 17 A
(3,3) 15 D

Fase 7 Vrtice t(i, j ) Decisin


B(3,4) 20 D
La poltica ptima se obtiene ahora analizando las decisiones ptimas desde el final
al principio. La decisin ptima final era alcanzar el vrtice B desde la derecha; ello nos
sita en el vrtice (2,4). Para este vrtice la decisin ptima era A, esto es, ser alcanzado
desde el vrtice (2,3). Para el vrtice (2,3) la decisin ptima era A, ser alcanzado desde
el vrtice (2,2). Este ltimo vrtice era alcanzado de forma ptima desde (1,2), segn la
decisin D, y el vrtice (1,2) lo era desde (1,1), por la decisin ptima A. A su vez (1,1)
debe ser alcanzado desde (1,0) y este ltimo desde el origen O. As pues, la secuencia
ptima de vrtices es

0(0,0) (1,0) (1,1) (1,2) (2,2) (2,3) (2,4) B(3,4)

En este punto son interesantes algunas consideraciones. Observemos que si


hubiramos analizado todos los caminos que conducen de O a B hubiramos tenido que
evaluar

V.2.5. Procesos polietpicos aleatorios de decisin

Vamos a aclarar lo anterior estudiando una situacin en la que un buscador de oro


tiene dos pequeos minas, urea y Benfica, cuyas reservas se estiman respectivamente
en las cantidades x e y . El afortunado tiene un pequeo extractor mecnico para sacar
el oro de las minas. Cuando el buscador lo emplea en urea tiene una probabilidad pA
de que extraiga una fraccin rA del oro que haya en ese momento en la mina y siga

funcionando y una probabilidad (1 pA ) de que se avere y no extraiga nada. La avera,

de producirse, es catastrfica, sin posibilidad de reparacin. En forma similar, Benfica


tiene asociadas las probabilidades pB y (1 pB ) y la fraccin rB .

El proceso de extraccin comienza usando el extractor en una de las dos minas. Si la


mquina no se ha averiado tras esta operacin inicial, se vuelve a elegir en cual de las

19/02/2010 243
PROGRAMACIN DINMICA

dos minas se va a realizar la segunda extraccin, y as sucesivamente hasta que la


mquina se avera o hasta un determinado nmero de extracciones.

En los casos de procesos aleatorios, a la secuencia de decisiones se le suele dar el


nombre de estrategia, en vez del de poltica. En este caso, una estrategia ser
representada por una sucesin de As y Bs, segn se elija urea o Benfica. As, la
sucesin BAABABBBA representa una estrategia que comienza eligiendo Benfica
para, despus, elegir dos veces seguidas urea, suponiendo siempre que la mquina no
se avera, y as sucesivamente.

Dada la intervencin del azar, el valor de una estrategia se suele medir utilizando
algn tipo de promedio sobre los valores aleatorios que puede tomar la magnitud que se
quiere maximizar, en este caso la cantidad total de oro extrada. Suele ser habitual tomar
como medida de valoracin el valor esperado.

Volveremos a emplear la aproximacin mediante ecuaciones funcionales. Definimos

fN (x , y ) = cantidad esperada recogida de oro antes de que el extractor sea avere

cuando A tiene x ; B tiene y y se ha empleado una estrategia ptima que dura como
mucho N etapas o extracciones.

Si consideramos el proceso unietpico, vemos que elegir A conduce a una cantidad


esperada de oro dada por pArAx , mientras que optar por B produce pB rB y . Por tanto

f1 (x , y ) = max (pArAx , pB rB y )

Si nos situamos en el caso general de un proceso en N etapas, cualquiera que sea la


eleccin inicial, la continuacin sobre las N 1 etapas siguientes debe ser ptima si
deseamos obtener una estrategia global ptima. Como en el caso de haber elegido A el
retorno total esperado es

f (A, x , y ) = pA (rAx + fN 1 ((1 rA ) x , y ))

mientras que el retorno global esperado habiendo elegido B es

f (B, x , y ) = pB (rB y + fN 1 (x , (1 rB ) y ))

244 19/02/2010
MTODOS DE OPTIMIZACIN

y obtenemos para el retorno total la relacin de recurrencia

fN (x , y ) = max f (A, x , y ), f (B, x , y )

= max pA (rAx + fN 1 ((1 rA ) x , y )), pB (rB y + fN 1 (x , (1 rB ) y ))


Al igual que nos ocurri en los modelos de asignacin podemos plantearnos que
sucedera si el nmero de etapas crece indefinidamente. En este caso, el retorno total
f (x , y ) , suponiendo que exista, satisface la ecuacin funcional

f (x , y ) = max pA (rAx + f ((1 rA ) x , y )), pB (rB y + f (x , (1 rB ) y ))


Como antes tambin se hace necesario establecer las condiciones para la existencia
y unicidad de las soluciones de esta ecuacin.

V.2.6. Control ptimo de sistemas lineales

La programacin dinmica es un mtodo que tambin se puede utilizar para el


diseo de controles ptimos. En este caso, la funcin objetivo puede ser: el tiempo
necesario para moverse de una condicin operativa a otra, la suma de errores en estado
estacionario, la suma de errores transitorios, el coste de operacin, la amplitud o la
energa de las seales de control, etc. En los controles habituales la funcin objetivo
suele ser el sumatorio en el tiempo, cuando se trata de modelos de tiempo discreto, de
los cuadrados de los errores y de las variables de entrada.

Supongamos que tenemos un sistema dinmico lineal expresado en la forma

x k +1 = Ak x k + Bk uk (1.174)

siendo el valor inicial x 0 y las matrices Ak y Bk conocidas, x k y uk los n estados y m


controles en el intervalo de muestreo k , k = 0, , N . La funcin objetivo cuadrtica se
define como
N 1
1
J = (x Tk Qk x k + uTk Rk uk ) + x TNQN x N (1.175)
k =0 2

19/02/2010 245
PROGRAMACIN DINMICA

siendo Qk y Rk matrices cuadradas simtricas de la dimensin apropiada. Qk es una


matriz semidefinida positiva y Rk es definida positiva. El sumatorio total se ha dividido
en dos partes: 0 a N 1 y N . No tienen sentido los controles uN en el intervalo N .
Las matrices Qk y Rk puede ser iguales o diferentes en cada intervalo. Esta funcin
objetivo cuadrtica trata de mantener el sistema prximo al origen puesto que induce
penalizaciones elevadas para grandes desviaciones y penalizaciones pequeas para
desviaciones menores.

El problema de programacin dinmica consiste en encontrar la secuencia de


controles ptimos u 0 , u1, u2 , , uN 1 que hacen que la funcin objetivo sea mnima
sujeto a las restricciones propias del sistema dinmico lineal.

Veamos cmo se resuelve este problema mediante programacin dinmica hacia


atrs. Empezando en la etapa N el valor de la funcin objetivo ser

J N* = x TNQN x N (1.176)

La funcin objetivo en el intervalo N 1 se puede expresar como

J N 1 = (x TN 1QN 1x N 1 + uTN 1RN 1uN 1 ) + J N* (1.177)

Expandimos ahora el ltimo trmino

J N 1 = (x TN 1QN 1x N 1 + uTN 1RN 1uN 1 ) + x TNQN x N (1.178)

J N 1 = (x TN 1QN 1x N 1 + uTN 1RN 1uN 1 ) +


T
(1.179)
+ (AN 1x N 1 + BN 1uN 1 ) QN (AN 1x N 1 + BN 1uN 1 )

J N 1 = (x TN 1QN 1x N 1 + uTN 1RN 1uN 1 ) +


(1.180)
+x TN 1ANT 1QN AN 1x N 1 + uTN 1BNT 1QN BN 1uN 1 + 2x TN 1ANT 1QN BN 1uN 1

Para determinar el ptimo se deriva J N 1 con respecto a uN 1 y se iguala a cero


dicha derivada

J N 1
= (RN 1 + BNT 1QN BN 1 ) uN 1 + BNT 1QN AN 1x N 1 = 0
uN 1

246 19/02/2010
MTODOS DE OPTIMIZACIN

1
uN* 1 = (RN 1 + BNT 1QN BN 1 ) BNT 1QN AN 1x N 1

Si se sustituye el valor del control ptimo en el intervalo N 1 , uN* 1 , en la


ecuacin de la funcin objetivo de dicho intervalo J N 1 resulta ser

J N* 1 = x TN 1 (QN 1 + ANT 1QN AN 1 ) x N 1 + uN*T1 (RN 1 + BNT 1QN BN 1 ) uN* 1


1
2x TN 1ANT 1QN BN 1 (RN 1 + BNT 1QN BN 1 ) BNT 1QN AN 1x N 1 =
x TN 1 (QN 1 + ANT 1QN AN 1 ) x N 1
1
x TN 1ANT 1QN BN 1 (RN 1 + BNT 1QN BN 1 ) BNT 1QN AN 1x N 1

es decir, J N* 1 = x TN 1K N 1x N 1 , con

K N 1 = ANT 1 QN QN BN 1 (RN 1 + BNT 1QN BN 1 ) BNT 1QN AN 1 + QN 1


1

Ahora se pasa al intervalo N 2 y se obtiene la regla general del control ptimo


para cualquier etapa k .

uk* = Lk x k

donde la ganancia Lk viene dada por la ecuacin

1
Lk = (Rk + BkT K k +1Bk ) BkT K k +1Ak

estando las matrices Kk definidas recursivamente por estas expresiones

K N = QN

K k = AkT K k +1 K k +1Bk (Rk + BkT K k +1Bk ) BkT K k +1 Ak + Qk


1

Esta solucin del problema resulta especialmente atractiva porque cada estado x k es
realimentado como control uk mediante una ganancia lineal Lk .
uk xk
x k +1 = Ak x k + Bk uk

Lk

19/02/2010 247
PROGRAMACIN DINMICA

La ltima ecuacin se conoce con el nombre de ecuacin de Riccati de tiempo


discreto.

Cuando las matrices Ak , Bk , Qk y Rk son constantes, entonces para tiempo infinito


las matrices K k convergen al estado estacionario K satisfaciendo la denominada
ecuacin de Riccati algebraica

K = AT K KB (R + BT KB ) BT K A + Q
1

La ley de control del sistema se convierte ahora en

u * = Lx (1.181)

y la ganancia en estado estacionario es


1
L = (R + BT KB ) BT KA (1.182)

V.3. Biblioteca de problemas

PROBLEMA 1

Una empresa de aparatos electrnicos tiene un contrato para entregar el siguiente


nmero de radios durante los tres meses siguientes: mes 1 200 radios, mes 2 300 y mes
3 otras 300. Por cada radio que se produce los meses 1 y 2, se incurre en un coste
variable de 10 y si es en el mes 3 de 12 . El coste de almacenamiento es de 1.5 por
cada radio en inventario al final de un mes. El coste de preparar la produccin durante
un mes es de 250 . Las radios que se fabrican durante un mes pueden servir para
abastecer la demanda de ese mes o de alguno futuro. Suponga que la produccin durante
cada mes ha de ser mltiplo de 100. Dado que el nivel inicial de inventario es 0, utilizar
la programacin dinmica para dar un calendario ptimo de produccin.

PROBLEMA 2

Un dispositivo electrnico est compuesto por tres componentes. Las tres


componentes estn en serie con lo que el fallo de una de ellas provoca el fallo del
dispositivo. La fiabilidad (probabilidad de no fallar) del dispositivo puede ser mejorada

248 19/02/2010
MTODOS DE OPTIMIZACIN

instalando una o dos componentes de reserva en cada tipo de componente. La siguiente


tabla muestra la fiabilidad r y el coste en miles de euros. El presupuesto disponible
para la construccin del dispositivo es de un milln de euros. Cmo se debe construir
el dispositivo? (Nota: el objetivo es maximizar la fiabilidad r1r2r3 del dispositivo, lo que
implica que la descomposicin del objetivo es ms multiplicativa que aditiva.)

Nmero de unidades Componente 1 Componente 2 Componente 3


en paralelo r1 c1 r2 c2 r3 c3
1 0.6 100 0.7 300 0.5 200
2 0.8 200 0.8 500 0.7 400
3 0.9 300 0.9 600 0.9 500
PROBLEMA 3

El ingeniero responsable de una central elctrica tiene que decidir cada da, a la vista
de la demanda prevista para ese da, cules de los dos generadores de 600 y 1000 MW
de que dispone deben ser puestos en funcionamiento y en qu momento. La demanda
requerida vara a lo largo de cuatro periodos en los que el da se considera dividido a
estos efectos, de acuerdo con la siguiente tabla:

Periodo Demanda [MW]


0 a.m. 6 a.m. 400
6 a.m. 12 m. 900
12 m. 18 p.m. 1200
18 p.m. 24 p.m. 500
Al comienzo de cada periodo los generadores pueden ser conectados o
desconectados. Los costes de arranque de los generadores son, respectivamente, de 100
y 75 miles de euros respectivamente, en tanto que los costes operativos (costes por usar
el generador, no proporcionales a la demanda que satisfagan) por cada periodo de
utilizacin son de 175 y 210 miles de euros respectivamente. Si los dos generadores son
siempre desconectados a media noche y pueden volver a arrancar de forma inmediata,
mediante programacin dinmica obtener la programacin de funcionamiento de los
generadores que minimiza el coste diario.

19/02/2010 249
PROGRAMACIN DINMICA

PROBLEMA 4

Con la llegada del verano, la empresa artesanal HeladoSA desea determinar la


produccin de helados de turrn que debe realizar para la temporada estival. La
produccin mensual mxima de la empresa es de cuatro mil helados.

Tras realizar un estudio de mercado, la empresa estima que habr una demanda de
3000 helados en julio, 2000 helados en agosto y 1000 helados en septiembre. Los
pedidos de helados deben hacerse en cajas de 1000 unidades. Con el fin de simplificar
el clculo de costes, se considerar que cada helado almacenado al final de mes
supondr un coste de 10 . Los gastos de produccin dependen del nmero de cajas de
1000 unidades producidas mensualmente segn se muestra en la tabla.

Miles de unidades producidas 1 2 3 4

Coste unitario por helado (euros) 10 10 5 4

Se supone que los helados tienen una caducidad de 6 meses, por lo que los helados
que no se vendan un mes servirn para el mes siguiente. La empresa parte de un
inventario de cero unidades y no desea ningn inventario al final del verano. Se pide:

1) Determine cul debe ser la produccin de la empresa durante los meses de junio,
julio y agosto.

2) Razone el resultado del apartado anterior, por qu sale esa solucin? qu


modificaciones variaran la solucin?

PROBLEMA 5

Una empresa de televisin desea gestionar su programacin anual en las horas de


prime time nocturnas (20 a 23 h). Para llenar esas horas dispone de tres programas de
xito reconocido: Informativos 2, el magazine Operacin Musical y la serie Hospital
Comarcal. La programacin anual se divide en las temporadas de invierno, primavera,
verano y otoo. Los ndices de audiencia (estimados por una empresa especialista en
investigacin de mercados audiovisuales y expresados en nmero previsto de millones
de espectadores) de cada programa cambian en cada temporada dependiendo de la hora
de emisin de prime time y se muestran en la siguiente tabla:

250 19/02/2010
MTODOS DE OPTIMIZACIN

Invierno Invierno Invierno Primavera Primavera Primavera


2021 2122 2223 2021 2122 2223
Informativos 2 2.5 2.25 2 2.7 2.9 2.95
Hospital Comarcal 2.7 3.6 4.2 4 3.6 3.4
Operacin Musical 3.5 3.6 3.8 3 3.1 2.8

Verano Verano Verano Otoo Otoo Otoo


2021 2122 2223 2021 2122 2223
Informativos 2 2.6 2.35 2.2 2.7 2.9 2.95
Hospital Comarcal 2.7 3.7 4.3 4 3.6 3.4
Operacin Musical 3.3 3.5 3.9 3 3.5 2.8
Al final del ao pasado la empresa de televisin emita en primer lugar Informativos
2, a continuacin Hospital Comarcal y por ltimo Operacin Musical. La empresa
quiere conocer la programacin ptima para el presente ao que maximice el nmero de
espectadores previstos, sabiendo que cada cambio en la parrilla horaria de los
programas entre una temporada y la siguiente supone una prdida de 250000
espectadores. Adicionalmente, la Direccin General ha impuesto la restriccin de que
entre temporadas consecutivas no se produzcan tres cambios de horario de emisin
entre la parrilla de una temporada y la anterior. Por el xito tenido en los aos anteriores
se ha decidido que el orden de emisin, no necesariamente consecutivo, de Hospital
Comarcal primero y Operacin Musical despus se mantenga tanto en invierno como en
primavera, aunque es revisable para las otras dos temporadas, y que en verano se emita
Operacin Musical el ltimo mientras que en otoo se emitir Informativos 2 en primer
lugar. Proponer un modelo de optimizacin para este problema, y resolverlo.

PROBLEMA 6

Una compaa area tiene una flota de 15 aeronaves: 5 de cada uno de tres tipos A,
B y C, cuyas respectivas capacidades para el transporte de viajeros son de 80, 70 y 55
personas. Una agencia de viajes le solicita presupuesto para trasladar a 372 personas. La
compaa analiza sus costes, que dependen del nmero de aviones de cada tipo que

19/02/2010 251
PROGRAMACIN DINMICA

quiera utilizar para transportar a esas personas, datos que se dan en la siguiente tabla en
miles de euros

Tipo 1 2 3 4 5
A 11 20 30 40 50
B 9 17 24 34 45
C 8 15 21 26 31
Adems la compaa area incurre en un coste fijo adicional de 6 k por cada tipo
de aviones que utilice.

Proponer un modelo de programacin dinmica (etapas, decisiones, estados, funcin


en cada etapa, transiciones, ...) cuyo objetivo sea determinar la composicin ptima de
la flotilla de aviones que va a realizar el transporte para minimizar los costes de la
operacin y mostrar la resolucin de la primera etapa.

PROBLEMA 7

RentCar est desarrollando un plan de reemplazamiento para su flota de 1 coche


para los prximos 5 aos (2005-2009). Se supone la flota adquirida a 1 de enero de
2005 con un precio por coche de 20000 y necesariamente a 1 de enero 2009 empieza
con otra flota totalmente nueva (liquidando todos los coches). Al principio de cada ao,
se decide si un coche debe ser mantenido o reemplazado. Un coche debe estar en
servicio al menos un ao y a lo sumo tres. En la siguiente tabla se dan los costes de
reemplazamiento (en ) por coche en funcin del ao en que es adquirido y de los aos
que lleva en funcionamiento.

Aos funcionando
Ao adquisicin 1 2 3
1-ene-2005 4000 5400 9800
1-ene-2006 4300 6200 8700
1-ene-2007 4800 7100
1-ene-2008 4900
Adems se considera un coste de mantenimiento anual de 200 el primer ao de
uso, 300 en segundo y 500 el tercero.

252 19/02/2010
MTODOS DE OPTIMIZACIN

Resolver el problema de encontrar la poltica ptima que se debe seguir para


minimizar el coste mediante programacin dinmica.

PROBLEMA 8

Un alumno dispone de 5 das para preparar tres asignaturas. Dependiendo del


nmero de das que dedique a cada asignatura obtendr diferentes puntuaciones segn
se muestra en la tabla.

Asignaturas
Das dedicados CS ITF MM
0 0 0 0
1 4 5 5
2 5 6 7
3 6 7 9
4 8 8 9
5 10 9 10
Desarrollar un modelo de programacin dinmica que optimice la distribucin de
tiempo en orden a obtener una puntuacin global media mxima, dando la solucin
ptima.

V.4. Resultados de la biblioteca de problemas

RESULTADO DEL PROBLEMA 1

Etapas: principio de mes. Estados: nivel de inventario. Decisiones: cantidad a


producir. La solucin es producir 200 unidades en el primer mes, 600 en el segundo y
no producir en el tercero. El coste total es 8950 .

RESULTADO DEL PROBLEMA 2

Etapas: las piezas. Estados: capital disponible. Decisiones: 1, 2 3 componentes en


paralelo. La solucin es poner dos piezas de tipo 1, una de tipo 2 y tres de tipo 3. La
fiabilidad es 0.504.

RESULTADO DEL PROBLEMA 3

19/02/2010 253
PROGRAMACIN DINMICA

Etapas: periodos. Estados: grupos acoplados o parados. Decisiones: uso o no del


generador en el periodo. La solucin es arrancar inicialmente el 2 (grande) en la etapa 0,
arrancar el 1 (pequeo) en la etapa 3 y parar el 2 (grande) en la etapa 4. Coste total:
1155 k

RESULTADO DEL PROBLEMA 5

Las etapas son las temporadas. Los estados en cada etapa son las seis combinaciones
posibles de orden de emisin de los tres programas. Los denominamos (1,2, 3)k ,

(1, 3,2)k , (2,1, 3)k , (2, 3,1)k , (3,1,2)k , (3,2,1)k , para una etapa k cualesquiera.

La funcin de beneficio (nmero de espectadores) a maximizar en cada etapa estar


formada por el nmero de telespectadores de la configuracin de esa etapa, ms el que
corresponda por cambio de horario. A esto se aade el coste pasado para llegar al estado
(hacia delante), o el coste futuro si es hacia atrs.

Resolviendo hacia delante: Partimos del estado inicial (1,2, 3)0 .

(1,2, 3)0
(1,2, 3)1 2.5+3.6+3.8=9.9 (1,2, 3)0
(2,1, 3)1 2.25+2.7+3.80.250.25=8.25 (1,2, 3)0
(2, 3,1)1 2.25+4.2+3.50.250.250.25=9.2 (1,2, 3)0

(1,2, 3)1 (2,1, 3)1 (2, 3,1)1


(1,2, 3)2 9.9+9.1=19 8.25+9.10.5=16.85 19 (1,2, 3)1
(2,1, 3)2 9.9+9.70.5=19.1 8.25+9.7=17.95 9.2+9.70.5=18.4 19.1 (1,2, 3)1
(2, 3,1)2 8.25+9.30.5=17.05 9.2+9.3=18.5 18.5 (2, 3,1)1

(1,2, 3)2 (2,1, 3)2 (2, 3,1)2


(1,2, 3)3 19+10.2=29.2 19.1+10.2 29.2 (1,2, 3)2
0.5=28.8
(2,1, 3)3 19+8.95 19.1+8.95=28.05 18.5+8.95 28.05 (2,1, 3)2
0.5=27.45 0.5=26.95

(1,2, 3)3 (2,1, 3)3


(1,2, 3)4 29.2+9.1=38.3 28.05+9.10.5=36.65 38.3 (1,2, 3)3
(1, 3,2)4 29.2+9.60.5=38.3 38.3 (1,2, 3)3

254 19/02/2010
MTODOS DE OPTIMIZACIN

Luego la solucin ptima es emitir los programas en el siguiente orden (1,2, 3)1 ,

(1,2, 3)2 , (1,2, 3)3 , (1,2, 3)4 (1, 3,2)4 con un total de 38.3 millones de espectadores.

Resolviendo hacia atrs (estados en las filas y decisiones en columnas):


(1,2, 3)4 (1, 3,2)4
(1,2, 3)3 9.1 9.60.5=9.1 9.1 (1,2, 3)4 (1, 3,2)4
o
(2,1, 3)3 9.10.5=8.6 8.6 (1,2, 3)4

(1,2, 3)3 (2,1, 3)3


(1,2, 3)2 10.2+9.1=19.3 8.95+8.60.5=17.05 19.3 (1,2, 3)3
(2,1, 3)2 10.20.5+9.1=18.8 8.95+8.6=17.55 18.8 (1,2, 3)3
(2, 3,1)2 8.95+8.60.5=17.05 17.05 (2,1, 3)3

(1,2, 3)2 (2,1, 3)2 (2, 3,1)2


(1,2, 3)1 9.1+19.3=28.4 9.70.5+18.8=28 28.4 (1,2, 3)2
(2,1, 3)1 9.10.5+19.3=27.9 9.7+18.8=28.5 9.3+17.050.5=25.85 28.5 (2,1, 3)2
(2, 3,1)1 9.70.5+18.8=28 9.3+17.05=26.35 28 (2,1, 3)2

(1,2, 3)1 (2,1, 3)1 (2, 3,1)1


(no posible)
(1,2, 3)0 9.9+28.4=38.3 8.25+28.50.5=36.25 9.2+280.5=36.7 38.3 (1,2, 3)1

RESULTADO DEL PROBLEMA 6

Etapas: tipo de aviones (A, B, C)

Decisiones: nmero de aviones de ese tipo

Estados: capacidad acumulada

Funcin objetivo: coste de los aviones decididos de ese tipo + 6 si es distinto de 0 +


coste acumulado

Transiciones: de un estado a otro se pasa sumando la capacidad acumulada


A 0 1 2 3 4 5
(372) 0 (0) 17 (80) 26 (160) 36 (240) 46 (320) 56 (400)

19/02/2010 255
PROGRAMACIN DINMICA

B 0 1 2 3 4 5
0 0 (0) 17 (70) 23 (140) 30 (210) 40 (280) 51 (350)
80 17 (80) 34 (150) 40 (220) 47 (290) 57 (360) 68 (430)
160 26 (160) 43 (230) 49 (300) 56 (370) 66 (440) Sobra
240 36 (240) 53 (310) 59 (380) Sobra Sobra Sobra
320 46 (320) 63 (390) Sobra Sobra Sobra Sobra
400 56 (400) Sobra Sobra Sobra Sobra Sobra

C 0 1 2 3 4 5
0 Falta Falta Falta Falta Falta Falta Falta
70 Falta Falta Falta Falta Falta Falta Falta
80 Falta Falta Falta Falta Falta Falta Falta
140 Falta Falta Falta Falta Falta 31+6+23 60
150 Falta Falta Falta Falta Falta 31+6+34 71
160 Falta Falta Falta Falta 26+6+26 Sobra 58
210 Falta Falta Falta 21+6+30 Sobra Sobra 57
220 Falta Falta Falta 21+6+40 Sobra Sobra 67
230 Falta Falta Falta 21+6+43 Sobra Sobra 70
240 Falta Falta Falta 21+6+36 Sobra Sobra 63
280 Falta Falta 15+6+40 Sobra Sobra Sobra 61
290 Falta Falta 15+6+47 68
300 Falta Falta 15+6+49 70
310 Falta Falta 15+6+53 74
320 Falta 8+6+46 60
350 Falta 8+6+51 65
360 Falta 8+6+57 71
370 Falta 8+6+56 70
380 59 59
390 63 63
400 56 56
430 68 68
440 66 66
Mnimo: 56
Mnimo: 56 k con 0 de tipo C, 0 de tipo B y 5 de tipo A.

RESULTADO DEL PROBLEMA 7

Las etapas son los aos, de 2006 a 2009. Los estados de cada etapa son el ao de
antigedad del coche. Las decisiones al principio de cada etapa son comprar o no coche.
A2005
2006
A 4000+200=4200 A2005 4200
C2006A2005 200 A2005 200

256 19/02/2010
MTODOS DE OPTIMIZACIN

A2006 C2006A2005
A2007 4300+200+4200=8700 5400+300+200=5900 5900 C2006A2005
C2007A2006 200+4200=4400 4400 A2006
C2007A2005 300+200=500 500 C2006A2005

A2007 C2007A2006 C2007A2005


A2008 4800+200+5900=10900 9800+300+4400=14500 9800+500+500=10800 10800 C2007A2005
C2008A2007 200+5900=6100 6100 A2007
C2008A2006 300+4400=4700 4700 C2007A2006

A2008 C2008A2007 C2008A2006


A2009 4900+200+10800=15900 7100+300+6100=13500 8700+500+4700=13900 13500 C2008A2007

La solucin ptima es adquirir coche en 2007 y el resto de los aos no comprarlo.

RESULTADO DEL PROBLEMA 8

Etapas: asignaturas. Decisiones: das a dedicar. Estados: das ya utilizados.

Resolucin hacia atrs:


MM
Decisiones 0 1 2 3 4 5 pt f.pt.
Estados
0 0 5 7 9 9 10 5 10
1 0 5 7 9 9 34 9
2 0 5 7 9 3 9
3 0 5 7 2 7
4 0 5 4 5
5 0 0 0
ITF
Decisiones 0 1 2 3 4 5 pt f.pt.
Estados
0 10 14 15 14 13 9 2 15
1 9 14 13 12 8 1 14
2 9 12 11 7 1 12
3 7 10 6 1 10
4 5 5 0.1 5
5 0 0 0

19/02/2010 257
PROGRAMACIN DINMICA

CS
Decisiones 0 1 2 3 4 5 pt f.pt.
Estados
0 15 18 17 16 13 10 1 18
Solucin: dedicar a CS 1 da, a ITF 1 da y a MM 3 das. Notas: 4, 5 y 9. Nota media
6.
0 Nota total Decisin
acumulada ptima
0MM 0 0 0MM
1MM 5 5 1MM
2MM 7 7 2MM
3MM 9 9 3MM
4MM 9 9 4MM
5MM 10 10 5MM

0MM 1MM 2MM 3MM 4MM 5MM


Nota total Decisin
acumulada ptima
0ITF 0+0 0 0ITF
1ITF 0+5 5+0 5 1ITF, 0ITF
2ITF 0+6 5+5 7+0 10 1ITF
3ITF 0+7 5+6 7+5 9+0 12 1ITF
4ITF 0+8 5+7 7+6 9+5 9+0 14 1ITF
5ITF 0+9 5+8 7+7 9+6 9+5 10+0 15 2ITF

0ITF 1ITF 2ITF 3ITF 4ITF 5ITF


Nota total Decisin
acumulada ptima
0CS 0+0 0 0CS
1CS 0+4 5+0 5 0CS
2CS 0+5 5+4 10+0 10 1CS
3CS 0+6 5+5 10+4 12+0 14 1CS
4CS 0+8 5+6 10+5 12+4 14+0 16 1CS
5CS 0+10 5+8 10+6 12+5 14+4 15+0 18 1CS

258 19/02/2010
MTODOS DE OPTIMIZACIN

VI. Programacin matemtica multicriterio

VI.1. Introduccin: Conceptos bsicos

En la vida real, y tanto en el mbito profesional como el personal, nos vemos


enfrentados a multitud de situaciones en las que tenemos que decidir entre varias
alternativas. La propia optimizacin no es ms que una forma de tomar una decisin
entre unas alternativas factibles.

As, en su dimensin ms bsica, un proceso de toma de decisin puede entenderse


como la eleccin de lo mejor entre lo posible. Ahora bien, segn se defina qu es lo
mejor y qu es lo posible nos enfrentaremos a distintas situaciones de decisin.

La optimizacin clsica tiene como caracterstica general que lo mejor, el objetivo,


es nico y est claramente determinado y que lo posible, las soluciones factibles, no
vienen expresadas explcitamente sino en forma de restricciones y sin incertidumbre
(excepto en optimizacin estocstica, que no es precisamente clsica). Pero adems de
estos contextos de decisin de optimizacin clsica, existen otros que configuran lo que
se suele denominar en trminos amplios la teora de la decisin.

Dentro de este contexto surge la decisin multicriterio, en la que si bien dada una
decisin sus consecuencias estn perfectamente determinadas, lo que no est definido
tan claramente es qu es lo mejor, existiendo varios objetivos en conflicto.

Respecto a lo posible, se trata de establecer las alternativas o puntos factibles


existentes. El conjunto puede ser discreto o continuo. En general, se considera discreto
y se aplica la metodologa apropiada cuando es factible enumerar y tratar explcitamente
cada una de las alternativas posibles. En el caso continuo o caso discreto donde no viene
explcitamente definido el conjunto de alternativas es cuando se habla de conjunto o
regin factible. Este conjunto o regin factible, a su vez, puede venir definido de forma

19/02/2010 259
PROGRAMACIN MATEMTICA EN DECISIN MULTICRITERIO

rgida mediante restricciones o de forma ms flexible mediante lo que se conoce como


metas y niveles de aspiracin.

Respecto a lo mejor, se puede definir segn un nico criterio o segn varios


criterios. Los problemas de decisin con un nico criterio y conjunto factible continuo
(entendiendo por ste la extensin a conjuntos discretos no definidos explcitamente)
son bsicamente problemas de optimizacin clsica: lineal, entera o no lineal. Si
adems incluyen aleatoriedad, estaramos ante un problema de optimizacin estocstica.
Si el conjunto factible es discreto, slo tiene sentido plantearse el problema en el caso
de que haya aleatoriedad, siendo entonces un problema de los conocidos como
problemas clsicos de decisin.

En el caso en que haya varios criterios, si la regin factible es continua, se puede


resolver el problema mediante mtodos denominados de optimizacin multiobjetivo,
mtodos de compromiso o mediante mtodos satisfacientes (programacin por metas).
Si lo posible viene definido por un conjunto discreto de alternativas (pudiendo incluso
no ser numrico el valor de los criterios), existen mtodos multicriterio discretos para
resolver el problema.

VI.1.1. Conceptos bsicos

De forma general un problema de decisin multicriterio vendra formulado de la


siguiente forma:

opt z ( x) = ( z1 ( x),...., z p ( x))


xF

donde F es el espacio de decisiones o soluciones (si es continuo, se denomina regin


factible, F n
).

Al conjunto z ( F ) se le denomina espacio de objetivos o resultados (en el caso de

que sean criterios numricos z ( F ) p


).

A continuacin se exponen algunos conceptos bsicos de la decisin multicriterio:

260 19/02/2010
MTODOS DE OPTIMIZACIN

Atributo: valor observado (medido) de una decisin independientemente del


decisor. Los atributos suelen ser competetidores o contradictorios entre s.

Objetivo: direccin de mejora de un atributo. Esta direccin ser de maximizacin o


minimizacin en el caso de atributos numricos y en el caso de atributos no
numricos vendr dado por un sistema de preferencias (por ejemplo, si el problema
fuera la seleccin de un automvil, el color sera un atributo no numrico y se
establecera un sistema de preferencias sobre este atributo).

Nivel de aspiracin: es un nivel aceptable de logro para un atributo.

Meta: es la combinacin de un atributo con su nivel de aspiracin.

Criterio: son los atributos, objetivos o metas relevantes en un problema de decisin.

Dadas estas definiciones previas, lo primero que se necesita en un problema de


decisin multicriterio es dar un concepto de solucin. El concepto de solucin utilizado
habitualmente es el concepto de ptimo de Pareto. Este concepto est basado en el
criterio de optimalidad paretiana, enunciado por Pareto en 1896:

Una alternativa es eficiente (o Pareto ptima) si toda alternativa que proporcione


una mejora en un atributo produce un empeoramiento en al menos otro de los atributos.

De esta definicin, se deriva la de alternativa dominada o no eficiente, como una


alternativa para la que existe otra alternativa con todos los atributos iguales o mejores.

As se define el conjunto eficiente o de Pareto o tambin llamada frontera de Pareto


(por su representacin en el caso continuo como parte de la frontera del espacio de
objetivos o resultados) como el conjunto de alternativas eficientes o no dominadas. Es
decir, el conjunto de alternativas tales que no existe otra con todos los atributos
preferidos o iguales.

Para atributos numricos con objetivos de maximizacin la frontera de Pareto se


expresa como

= { x F : / x F/zk ( x) zk ( x) k y zt ( x) > zt ( x) para al menos un t {1,..., p}}

19/02/2010 261
PROGRAMACIN MATEMTICA EN DECISIN MULTICRITERIO

Un ejemplo grfico para dos atributos que se desea que tomen el mayor valor
posible podra ser el siguiente:
z2
Espacio de objetivos

Conjunto eficiente o de Pareto


max(z 1, z 2 )

Alternativas dominadas

z1

Sin embargo, en la mayora de las situaciones, el fin ltimo es dar una nica
solucin, no un conjunto de posibles soluciones. Se denomina solucin de mejor
compromiso a la solucin del conjunto eficiente que es seleccionada por el decisor.

Otro concepto fundamental en el anlisis de decisiones multicriterio es la matriz de


pagos, que respresenta el grado de conflicto entre los objetivos. La matriz de pagos
(pay-off matrix) es una matriz donde se representan por filas el valor ptimo de un
atributo sin considerar el resto de atributos (resolviendo el problema
independientemente), y los valores que resultaran para los dems objetivos con esa
solucin. Esta matriz representa el grado de conflicto que hay entre los objetivos.

Por ejemplo, supngase un problema en que hay que determinar la composicin de


una mezcla a partir de unas ciertas componentes bsicas. Supngase que se desea que el
coste de la mezcla sea mnimo pero que la calidad sea mxima, medida sta como una
funcin de las componentes. Se tendran entonces dos objetivos contrapuestos:
minimizar el coste y maximizar la calidad. La matriz de pagos sera de la forma

Coste Calidad
Coste m11 m12
Calidad m21 m22

donde m11 es el mnimo coste que se puede lograr con las condiciones impuestas en el

problema y m12 es la calidad para la composicin que da el mnimo coste; en la

siguiente fila sera al revs, es decir, m22 sera la mxima calidad que se puede lograr de

262 19/02/2010
MTODOS DE OPTIMIZACIN

la mezcla, y m21 sera el coste de esa mezcla. A la diagonal de esta matriz se le conoce
como punto ideal ya que tiene los mejores valores posibles para cada uno de los
atributos, y si existe realmente conflicto entre criterios, ser un punto inalcanzable.

As, si el espacio de objetivos fuera el siguiente, donde el conjunto eficiente est


marcado en negrita, y se considera un problema continuo,

500 C
D
Coste

300
E B

200
A

20% C alid ad 80% 100%

la matriz de pagos sera

Coste Calidad
Coste 200 20
Calidad 500 100
y el punto ideal sera (200,100), inalcanzable a la vista del espacio de objetivos.

Por otra parte, las tasas de intercambio (trade-offs o costes de oportunidad) entre los
atributos representan lo que se est dispuesto a empeorar un atributo por mejorar en una
unidad otro objetivo. Seran las pendientes de los segmentos que forman el conjunto
eficiente. As, en el segmento AB la tasa de intercambio entre el coste y la calidad ser
300 200
TA ' B ' = = 1.66 , es decir, en ese segmento cada unidad ms de calidad cuesta
80 20
1.66 unidades monetarias. Anlogamente, para el segmento BC la tasa ser
500 300
TB 'C ' = = 10 . Es decir, cada unidad ms de calidad cuesta 10 unidades
100 80
monetarias.

Problemas sencillos como ste pueden ser resueltos con Excel, utilizando el
complemento que viene por defecto, Solver.

19/02/2010 263
PROGRAMACIN MATEMTICA EN DECISIN MULTICRITERIO

VI.1.2. Un ejemplo bsico

Un empresario ha de producir un compuesto basado en un determinado componente


bsico. Este componente puede ir en una cantidad variable entre el 50 y el 100% del
total de la composicin. Por otra parte del componente bsico hay dos calidades, una
calidad superior que cuesta 200/unidad y otra que cuesta 100. El mercado le obliga a
que al menos un 20% ha de ser del componente de calidad superior. El empresario se
plantea maximizar la calidad y minimizar el coste. Plantear un modelo para este
problema, mostrar la regin factible o espacio de soluciones, mostrar el espacio de
objetivos y la frontera de Pareto, y obtener las tasas de intercambio.

El siguiente modelo de optimizacin sirve para determinar el espacio de soluciones,


donde X representa la calidad superior del componente e Y la calidad inferior:

X 20
X + Y 100
X + Y 50
X ,Y 0

Por otra parte, los dos atributos planteados y su direccin de optimizacin, seran:

Calidad: max X
Coste: min 200 X + 100Y

La regin factible o espacio de soluciones del modelo se presenta a continuacin.


Los vrtices de esa regin son puntos especialmente relevantes del problema.

Es pacio de s olucione s (re gin factible )

90
80
70
60
50
40
30
20
10
0
0 20 40 60 80 100 120

C ompone nt e X

264 19/02/2010
MTODOS DE OPTIMIZACIN

Las soluciones obtenidas optimizando cada criterio por separado forman la matriz
de pagos del problema:

Calidad Coste

Calidad 100 20000

Coste 20 7000

en la que la diagonal forma el ideal (inalcanzable) que sera (100,7000).

Para ir ms all, y poder obtener las tasas de intercambio, es necesario obtener la


frontera de Pareto. En este caso, se representan en el plano las imgenes segn los
atributos de Calidad y Coste de los vrtices de la regin factible o espacio de
soluciones, obteniendo el espacio de objetivos del problema:

Espacio de objetivos (frontera de Pareto)

25000
Coste (200X+100Y)

20000

15000

10000

5000

0
0 20 40 60 80 100 120
Calidad (X)

Y la frontera de Pareto es la formada por los puntos A (20, 7000), B (50,10000), C


(100, 20000). Pueden observarse las siguientes tasas de intercambio:

10000 7000 20000 10000


TAB = = 100 TBC = = 200
50 20 100 50

Obsrvese que para obtener las tasas de intercambio ha sido necesario tener la
Frontera de Pareto. Y por otra parte, para obtener la frontera de Pareto, hemos obtenido
todo el espacio de objetivos, a partir de las imgenes de los vrtices del espacio de
soluciones. Sin embargo, este procedimiento es altamente costoso, y nada trivial. Por lo
tanto, lo primero que se va a estudiar es cmo obtener la frontera de Pareto directamente

19/02/2010 265
PROGRAMACIN MATEMTICA EN DECISIN MULTICRITERIO

a travs de modelos de programacin matemtica, que son los mtodos multiobjetivo de


la siguiente seccin.

VI.2. Mtodos de optimizacin multiobjetivo

Estos mtodos se utilizan para obtener la frontera de Pareto en un problema. En


general, se plantean para conjuntos de alternativas continuos, ya que en el caso discreto
la eliminacin de alternativas dominadas se reduce a un simple algoritmo de
comparacin entre pares.

El planteamiento inicial del problema sera

max z = ( z1 ( x),...., z p ( x))


xF

donde zi ( x) es la funcin matemtica que describe el atributo i-simo, x n


es el
vector de variables de decisin y F es el conjunto de restricciones que definen las
posibles soluciones.

Dado que de forma natural surge que la decisin que debera tomarse en un
problema con criterios mltiples debera encontrarse en la frontera de Pareto, es lgico
querer conocer esta frontera, que incluso permite determinar las tasas de intercambio.
As dentro de los mtodos de anlisis existe la denominada optimizacin multiobjetivo,
que son un conjunto de mtodos para generar el conjunto eficiente en su totalidad.

Las tcnicas generadoras del conjunto eficiente, son tcnicas de carcter mecnico,
en las que no se incluyen las preferencias del decisor. El fin para el que estn diseadas
es la obtencin de todo el conjunto eficiente, en general, tras aplicar mtodos de
programacin paramtrica, aunque no llegaremos a ese nivel de profundidad.

VI.2.1. Mtodo de las ponderaciones [Zadeh, 1963]

Este mtodo consiste en multiplicar cada objetivo por un peso o factor no negativo y
agregarlos en una nica funcin. Variando los pesos se puede obtener todo el conjunto
eficiente, obteniendo las distintas soluciones mediante programacin paramtrica. Sin

266 19/02/2010
MTODOS DE OPTIMIZACIN

embargo, en este curso nos conformaremos con resolver los distintos problemas
planteados para los valores de los parmetros mediante Solver.

p

max i zi ( x)
i =1

xF P ( )
0

Uno de los resultados en que se fundamenta este mtodo dice que si i > 0 i ,

entonces cualquier solucin ptima del problema P ( ) es eficiente. El recproco es


cierto slo bajo ciertas condiciones (por ejemplo, si todas las funciones objetivo y las
restricciones son lineales).

En cualquier caso, hay que tener en cuenta que para aplicar este mtodo (y no slo
ste) es conveniente haber normalizado previamente los criterios (para que no influya la
diferencia de unidades de los criterios).

Sobre el ejemplo 1 de la seccin anterior, obtener la frontera de Pareto mediante el


mtodo de las ponderaciones.

En primer lugar, hay que tener en cuenta que para agregar los objetivos ambos tienen
que ir en el mismo sentido, es decir, no podemos tener uno de maximizacin (Calidad) y
otro de minimizacin (Coste). Para ello basta con cambiar de signo la expresin de uno
para que ya estn ambos en el mismo sentido. Por ejemplo, poniendo un menos en el
Coste, ya ser un criterio de maximizacin.

Por lo tanto, el modelo que hay que resolver para distintos valores de lambda es:

max X + (1 ) [ (200 X + 100Y ) ]


X 20
X + Y 100
X + Y 50
X ,Y 0

Para ello utilizamos un archivo de Excel, con una celda para el valor de lambda que
iremos introduciendo, y una celda para el objetivo agregado. Este modelo lo

19/02/2010 267
PROGRAMACIN MATEMTICA EN DECISIN MULTICRITERIO

resolveremos cambiando los valores de lambda entre 0 y 1, e iremos guardando en una


tabla los resultados obtenidos.

Obsrvese que la solucin es siempre la misma excepto para la ltima fila de la tabla.
El problema es que la programacin lineal siempre da un vrtice de la regin factible
como solucin, por lo que sta se va a ir repitiendo hasta el coste pierda fuerza en el
objetivo agregado. Por otra parte, dado que las unidades son muy distintas entre uno y
otro criterio resulta muy difcil llegar a compensar el coste con la calidad. Para evitar
este problema, puesto que con estos pocos valores de lambda y tal diferencia de
unidades es difcil creer que sa sea la frontera de Pareto (las combinaciones lineales de
ambas soluciones), se puede normalizar cada uno de los criterios en la funcin
agregada. Hay muchas formas de normalizar pero en decisin multicriterio, y dado que
ya se tiene la matriz de pagos, una forma es restar al ideal el criterio y dividir por la
diferencia entre el ideal y el anti-ideal, entendido como el peor valor en la matriz de
pagos para ese criterio. En nuestro ejemplo, la matriz de pagos es:

Calidad Coste

Calidad 100 20000

Coste 20 7000

268 19/02/2010
MTODOS DE OPTIMIZACIN

Entonces para nuestros criterios se planteara minimizar la agregacin de los


siguientes criterios normalizados:

100 Calidad 7000 Coste


100 20 7000 20000

Obsrvese adems que ahora ambos criterios son de minimizacin puesto que
queremos aproximarnos en ambos casos al ideal de cada criterio.

Puede observarse que se han obtenido tres puntos distintos, cuyos valores de los
criterios son: (20,7000), (50,10000) y (100,20000), cuya unin da lugar a toda la
frontera de Pareto segn el siguiente grfico:

19/02/2010 269
PROGRAMACIN MATEMTICA EN DECISIN MULTICRITERIO

Fronte ra de Pare to

25000

20000

15000

10000

5000

0
0 20 40 60 80 100 120

Calidad

Esta forma de aplicar el procedimiento no es la mejor, ya que con variaciones de


lambda de 0,1 no se puede asegurar que se obtengan todos los puntos extremos o
vrtices de la frontera. La programacin paramtrica es la herramienta idnea para ello.

VI.2.2. Mtodo de las -restricciones [Marglin, 1967]

Consiste en optimizar uno de los objetivos e incorporar el resto como restricciones


paramtricas, resolviendo el problema resultante para los distintos valores del
parmetro.

max zl ( x)

xF Pl ( )
zk ( x ) k k = 1,..., l 1, l + 1,..., p

El fundamento de este procedimiento se recoge en los dos resultados siguientes:

Teorema: Si la solucin del problema Pl ( ) es nica, entonces es una solucin

eficiente.

Teorema: Si x* es eficiente, l k tales que x* es solucin ptima de Pl ( ) .

Por lo tanto, de estos dos resultados se infiere que variando el lado derecho siempre
obtenemos soluciones eficientes, y que hacindolo variar adecuadamente debemos
obtener todas las soluciones eficientes. Sin embargo, su aplicacin prctica suele ser
relativamente compleja.

270 19/02/2010
MTODOS DE OPTIMIZACIN

Apliquemos este procedimiento al ejemplo 1 que venimos tratando. Para ello


seleccionamos un criterio que quedar como objetivo, y en nuestro caso, otro que pasar
a las restricciones. Por ejemplo, mantengamos como objetivo el Coste, y pasemos a las
restricciones la Calidad.

Para manejar coherentemente el parmetro del lado derecho de la restriccin,


normalizaremos este lado, de modo que variando E entre 0 y 1 obtengamos todos los
valores de la Calidad dentro de la Frontera de Pareto. Esto podemos hacerlo
multiplicando por E la diferencia entre lo mejor y lo peor de este criterio, y sumando lo
peor. Es decir, si hacemos (100-20)*E + 20, haremos corresponder E=0 con la peor
calidad, y E=1 con la mejor posible.

El objetivo del modelo ser minimizar el coste, y aadiremos en las restricciones la


restriccin paramtrica de la calidad:

min Coste = 200 X + 100Y


X 20
X + Y 100
X + Y 50
Calidad : X (100 20) + 20
X ,Y 0

A continuacin, se ejecuta secuencialmente el modelo haciendo variar E de 0 a 1, y


tomando nota de las soluciones obtenidas en cada paso, obteniendo la siguiente tabla:

19/02/2010 271
PROGRAMACIN MATEMTICA EN DECISIN MULTICRITERIO

cuyo grfico de frontera de Pareto es:

Fronte ra de Pare to

25000

20000

15000
Coste

10000

5000

0
0 20 40 60 80 100 120
Calidad

Obsrvese que este procedimiento no plantea problema de agregacin, problemas de


unidades, ni de sentido de la optimizacin. Adems, la frontera sale por puntos distintos,
no por unin de otros, ya que estamos modificando la regin factible y sus vrtices. Sin
embargo, con varios criterios en las restricciones es algo ms difcil de manejar que las
ponderaciones. A pesar de eso, este mtodo resulta mejor, en general, que el de
ponderaciones.

VI.3. Mtodos de decisin multicriterio continuos

VI.3.1. Programacin compromiso

En la programacin compromiso el fin ltimo es seleccionar un punto del conjunto


eficiente y, para ello, naturalmente, ha de incluir las preferencias del decisor. Las
tcnicas que se presentan fueron desarrolladas inicialmente en los trabajos de Yu (1973)
y Zeleny (1973, 1974).

Se define el punto o alternativa ideal, como un punto del espacio de objetivos que
recoge los valores ptimos de los objetivos individualmente tratados y se denota por

272 19/02/2010
MTODOS DE OPTIMIZACIN

z * = ( z1* ,..., zi* ,..., z *p ) , siendo zi* = max zi ( x) (en caso de maximizar el objetivo, en otro
xF

caso ser el mnimo), denominndose este valor individual punto ancla.

Se define la solucin ptima o mejor solucin compromiso, como la solucin


eficiente ms prxima al punto ideal (axioma de [Zeleny, 1973]).

La cuestin ahora es definir una distancia que ha de ser minimizada sobre el


conjunto eficiente. Para ello se define el grado de proximidad del objetivo i-simo
zi* zi ( x)
normalizado (ver seccin VI.2.1) como di ( x) = , siendo z*i el anti-ideal del
zi* z*i
objetivo, es decir, el peor valor posible para el objetivo sobre el conjunto eficiente.

Estos grados de proximidad son agregados para definir una mtrica:

1/
p
zi zi ( x )
*
min L = wi *
xF
i =1 zi z*i

donde el conjunto de los pesos wi suponen una ponderacin preferencial de los criterios

(ponderacin subjetiva dada por el decisor, este sistema de ponderacin se puede


intentar obtener del decisor por varios mtodos descritos en la literatura, como son el
mtodo de ordenacin, el mtodo de Saaty que puede verse en la seccin VI.3.3).

Para los distintos valores de se obtienen diferentes mtricas. As = , denota la


distancia de Tchebychev o lo que es lo mismo minimizar la mxima distancia (as se
obtiene una solucin equilibrada, en que todos los grados de proximidad individuales
estn acotados, siendo a su vez un problema lineal).

Para el caso = 1 , se trata de una agregacin lineal de distancias ponderadas, que


tambin mantiene el carcter lineal del problema.

En general, para diferentes valores de se obtiene diferente solucin, de ah que se


haya definido el conjunto compromiso, como el conjunto de soluciones que se obtienen
al variar . Para el caso de dos objetivos, es usual dar el conjunto definido por el
segmento [ L1 , L ] (es decir, el segmento que une las soluciones obtenidas con las dos

mtricas comentadas anteriormente), ya que bajo ciertas condiciones es cierto que el

19/02/2010 273
PROGRAMACIN MATEMTICA EN DECISIN MULTICRITERIO

conjunto compromiso coincide con este segmento. En nuestro caso, trabajaremos con el
caso lineal y Tchebychev.

Apliquemos el mtodo al ejemplo que venimos tratando.

En primer lugar, de la matriz de pagos obtenemos los puntos ancla que nos dan el
siguiente ideal z*= (100,7000), y el anti-ideal z* = (20,20000).

A continuacin normalizamos los criterios:

100 X 100 X
Calidad : d1 ( X , Y ) = =
100 20 80
7000 (200 X + 100Y ) 200 X + 100Y 7000
Coste : d 2 ( X , Y ) = =
7000 20000 13000

Ahora tenemos que dar la ponderacin subjetiva de los criterios. sta es la parte ms
complicada, ya que a veces es difcil decir cunto ms importante es un criterio respecto
al otro. Por otra parte, se suelen dar pesos cuya suma sea 1, por normalizar. De
momento, supongamos que consideramos que la calidad es 3 veces ms importante que
el coste, en cuyo caso el peso de la calidad sera 0,75, y el del coste 0,25.

El problema a resolver segn la mtrica L1 sera:

100 X 200 X + 100Y 7000


min 0, 75 + 0, 25
80 13000
s.a. X 20
X + Y 100
X + Y 50
X ,Y 0

El problema para la mtrica L sera:

100 X 200 X + 100Y 7000


min max 0, 75 ; 0, 25
80 13000
s.a. X 20
X + Y 100
X + Y 50
X ,Y 0

que linealmente se formula de la siguiente forma:

274 19/02/2010
MTODOS DE OPTIMIZACIN

min D
s.a. X 20
X + Y 100
X + Y 50
100 X
0, 75 D
80
200 X + 100Y 7000
0, 25 D
13000
X ,Y 0

Al resolver este modelo puede observarse que la solucin X=100 e Y=0, es


claramente sesgada hacia el criterio de Calidad ya que es al que hemos dado ms peso.
En general, cuando hay dos criterios esto es lo que ocurre, que la solucin es la mejor
para el criterio de mayor importancia. Habiendo ms, puede estar ms equilibrado pero
por lo general alguno de los criterios aparece muy desviado, y por eso se utiliza mucho
la mtrica infinito o Tchebychev, que al minimizar la mxima desviacin, da soluciones
ms equilibradas.

Puede observarse que la solucin es X=81,09 e Y=0, que no da la mxima calidad ni


el peor coste, de hecho se puede ver que el desvo ponderado al ideal es el mismo para
ambos objetivos. Es una solucin ms equlibrada.

Se pueden obtener diferentes soluciones si se modifican los pesos o ponderaciones


subjetivas de los criterios. En general este mtodo no es para hacer variar todos los
pesos posibles, pero s se debe si es que se puede, interactuar con el decisor hasta que
considere que el modelo refleja sus preferencias. Esta interaccin es habitual ya que no
es fcil captar numricamente las preferencias subjetivas, con lo que el ajuste de los
parmetros del modelo es necesario, e incluso en ocasiones ayuda a saber qu grado de
preferencia se tiene realmente por los distintos criterios.

VI.3.2. Mtodos satisfacientes: programacin por metas

Los mtodos satisfacientes se basan en la denominada lgica satisfaciente enunciada


por Simon en 1955:

19/02/2010 275
PROGRAMACIN MATEMTICA EN DECISIN MULTICRITERIO

en los contextos actuales de decisin (informacin incompleta, recursos limitados,


conflictos de intereses,...) el decisor ms que optimizar unas funciones objetivo intenta
que una serie de metas se aproximen lo ms posible a unos niveles de aspiracin
prefijados.

De ah que se desarrollara, basndose en esta filosofa, la denominada programacin


por metas ([Charnes y Cooper, 1961], [Lee, 1972] e [Ignizio, 1976]).

La idea de este mtodo es que si un atributo tiene por expresin matemtica zi ( x) y


para este atributo se tiene un nivel de aspiracin, es decir, un nivel aceptable de logro
para un atributo, zi , entonces una restriccin meta sera una restriccin de la forma

zi ( x) zi (para el caso de desear al menos ese valor).

Sin embargo, dado que son niveles de aspiracin, una restriccin meta, en general,
no puede ser incluida como una restriccin rgida en el problema, ya que soluciones que
no logren ese nivel de aspiracin tambin son soluciones admisibles. As, una
restriccin meta se formula utilizando variables de desviacin: zi ( x) + ni pi = zi . De
estas variables, una de ellas es una variable no deseada: si la meta es al menos un
valor, la variable no deseada ser ni , y si es del tipo a lo sumo, la variable de

desviacin no deseada ser pi . En ocasiones, hay metas de ser igual a cierto nivel de
aspiracin, en cuyo caso ambas variables son no deseadas, pero no es habitual.

As el problema a resolver, suponiendo que todos los objetivos fueran de tipo


maximizar sera:
p
min
xF restricciones meta
n
i =1
i

Este procedimiento se puede aplicar tambin a las restricciones del problema para
relajarlas, admitiendo soluciones cercanas a la regin factible (el mismo concepto se
ha aplicado en lgica difusa para resolver problemas de programacin lineal).

La programacin por metas aplicada en la realidad muestra que se estn obteniendo


valiosos resultados, siendo una de las tcnicas de decisin multicriterio que est
proporcionando mejores resultados. Es especialmente til cuando hay muchos criterios.

276 19/02/2010
MTODOS DE OPTIMIZACIN

Sin embargo, casi nunca se utiliza en su versin bsica. Algunas variantes de este
mtodo se han desarrollado con gran xito y se exponen a continuacin.

VI.3.2.1. Variantes de la programacin por metas

VI.3.2.1.1. Programacin por metas ponderadas

p
min ( i ni + i pi )
i =1

zi ( x) + ni pi = z i = 1,..., p
xF
ni 0, pi 0 i = 1,..., p

La idea bsica es ponderar las variables de desviacin, ya que pueden tener diferente
relevancia las metas o diferentes unidades si no han sido previamente normalizados los
criterios.

Los distintos criterios, en general, vendrn dados en distintas unidades, as que la


funcin objetivo estara agregando valores de distintas unidades. Una primera medida,
muy deseable y ampliamente utilizada, es ponderar las desviaciones dividiendo por el
nivel de aspiracin, con lo que seran desviaciones porcentuales que no tienen unidades
y que corrigen el efecto de las distintas magnitudes de stas.

Por otra parte, si slo se ponderan dividiendo por el nivel de aspiracin,


implcitamente lo que se est haciendo es dar una misma importancia a todos los
criterios. Si no es se el caso, se deben multiplicar por pesos que muestren la relevancia
dada por el decisor a cada meta.

A continuacin aplicamos esta tcnica al ejemplo con el que trabajamos.

En primer lugar, hemos de dar un nivel de aspiracin para la calidad y uno para el
coste. Por ejemplo, supongamos que queremos una calidad del 75% y un coste de
10000. Y supongamos que no damos preferencias subjetivas ms all de las marcadas
por los propios niveles de aspiracin. En ese caso el modelo sera:

19/02/2010 277
PROGRAMACIN MATEMTICA EN DECISIN MULTICRITERIO

n1 p2
min +
75 10000
s.a. X 20
X + Y 100
X + Y 50
X + n1 p1 = 75
200 X + 100Y + n2 p2 = 10000
X , Y , n1 , n2 , p1 , p2 0

La solucin es 50 de Calidad y 10000 de Coste, es decir, se cumple la meta del coste


a costa de incumplir la de la calidad. Esto muestra que no es posible cumplir las dos
metas a la vez, pero adems, este mtodo en muchas ocasiones da una solucin de este
tipo, en la que unas metas se cumplen por completo y otras se incumplen totalmente
(normalmente por un tema de unidades). Por ello, se presenta el siguiente mtodo, que
al igual que en el caso de programacin compromiso, da soluciones ms equlibradas.

VI.3.2.1.2. Programacin por metas MINIMAX o Tchebychev

En este caso se busca una solucin equilibrada, de modo que ninguna de las metas
se desve en exceso de su nivel de aspiracin. Para ello se minimiza la mxima distancia
a este nivel, es decir, el problema se planteara en estos trminos

min D
i ni + i pi D i = 1,..., p
zi ( x) + ni pi = z i = 1,..., p
xF
ni 0, pi 0 i = 1,..., p

Para el ejemplo que estamos viendo y con los mismos datos de la seccin anterior, el
modelo sera:

278 19/02/2010
MTODOS DE OPTIMIZACIN

min D
s.a. X 20
X + Y 100
X + Y 50
X + n1 p1 = 75
200 X + 100Y + n2 p2 = 10000
n1 / 75 D
p2 /10000 D
X , Y , n1 , n2 , p1 , p2 0

y la solucin obtenida es 60 de Calidad y 12000 de Coste, una solucin equilibrada, que


se desva un 20% de los niveles de aspiracin de ambos criterios.

VI.3.2.1.3. Programacin por metas lexicogrficas

Este procedimiento establece niveles de prioridad en las metas y resuelve


secuencialmente el problema para cada nivel de prioridad, manteniendo los valores
previamente obtenidos para metas con mayor nivel de prioridad. As, si en un problema
se formulan k metas es posible que se consideren agrupadas en h ( k ) niveles de
prioridad. Por ejemplo, si el problema incluye 6 metas, que denominaremos
gi (n, p ), i = 1,..., 6 , agrupadas en 3 niveles de prioridad de la forma las ms importantes

las dos primeras, despus la tercera, y por ltimo las 3 ltimas, el problema se
representa como

Lex min a = [ g1 (n, p) + g 2 (n, p ), g3 ( n, p ), g 4 (n, p) + g5 ( n, p) + g 6 ( n, p)]

Para resolver el problema, se resolvera primero con las dos primeras metas.
Obtenidos los valores de las variables de desviacin no deseadas para stas, se fijan y se
resuelve el problema para la tercera meta (segundo nivel de prioridad). Una vez
resuelto, se fija el valor de la variable no deseada tambin para esta meta, y se resuelve
el tercer nivel incluyendo las tres ltimas metas.

Es un procedimiento que requiere de varias ejecuciones secuenciales del modelo de


metas modificando el objetivo y fijando las variables no deseadas de los niveles

19/02/2010 279
PROGRAMACIN MATEMTICA EN DECISIN MULTICRITERIO

anteriores. Es til cuando hay muchas metas y claramente diferenciadas (por ejemplo
metas econmicas, metas de clientes, etc.) teniendo una prioridad clara unas sobre otras.

En nuestro ejemplo no tiene mucho sentido presentarlo. Por ejemplo, si damos


prioridad a la calidad, y un nivel de aspiracin de 75%, el primer nivel ser aproximarse
a este nivel. Dado que es posible, la solucin del primer nivel fijar la calida en 75% o
ms, y el segundo nivel, el del coste, nos dar la solucin de menos coste para esa
calidad, es decir, 75% de Calidad y 15000 de Coste.

VI.3.2.2. Temas crticos en programacin por metas

A pesar de que la programacin por metas resulta un potente instrumento de gran


aplicabilidad e indudable xito en la realidad, diferentes autores han apuntado algunas
aparentes debilidades de los modelos de metas. Estas consideraciones han llevado a
denominar temas crticos en programacin por metas a anomalas aparentemente
causadas por debilidades lgicas de la programacin por metas, aunque en realidad se
deben al uso insatisfactorio del enfoque. La mayora se presentan en las metas
lexicogrficas. Algunas de ellas se exponen a continuacin.

Posible equivalencia de soluciones entre modelos de programacin por metas y


modelos de optimizacin de un solo criterio.

Es cierto, que, por ejemplo, en las metas lexicogrficas si se fijan unos niveles muy
pesimistas en los primeros niveles (fciles de alcanzar) y muy optimistas en los
ltimos (difciles de alcanzar), al resolverlo para los primeros niveles se obtendr un
valor 0 de las desviaciones, y puede llegar un momento en que para una meta no
haya ptimos alternativos y, por lo tanto, fijar el valor de su desviacin es ya dar
una solucin haciendo redundantes las metas de prioridades ms bajas; de este
modo, sera equivalente a fijar las metas de los niveles anteriores en su nivel de
aspiracin y optimizar la meta para la que no hay ptimos alternativos. Sin embargo,
esta equivalencia se da por un mal planteamiento de los niveles de aspiracin. La
equivalencia puede darse tambin en metas ponderadas, por ejemplo, si se plantean
unos niveles de aspiracin muy pesimistas para las metas, excepto para una en que
resulte muy optimista, prcticamente inalcanzable. En tal caso, es cierto que el

280 19/02/2010
MTODOS DE OPTIMIZACIN

problema puede ser equivalente a optimizar ese atributo incluyendo las dems metas
como restricciones. En cualquier caso, estos problemas se derivan de la formulacin
del modelo y no a debilidades lgicas de la metodologa.

Conclusiones equivocadas por agregar metas lexicogrficas en una funcin objetivo

Cuando se plantea un modelo de programacin por metas lexicogrficas, suele haber


una tendencia (casi natural) a intentar plantear un modelo equivalente que se
resuelva en una sola iteracin, sin tener que resolver un problema para cada nivel de
prioridad. As es comn ver que se plantea una funcin objetivo como en el
procedimiento de metas ponderadas donde se multiplica cada variable de desviacin
por un peso asignado a su nivel de prioridad (as para el primer nivel el peso es
mucho mayor que para el segundo, etc.). En general, este planteamiento, adems de
ser lgicamente incorrecto, puede llevar a obtener soluciones que difieran mucho de
las que se obtendran con el modelo lexicogrfico, y por lo tanto, si se intenta
razonar sobre ellas como si fueran soluciones del modelo lexicogrfico, a
conclusiones claramente incorrectas.

Problemas derivados de la omisin de una variable de desviacin

Otros de los problemas que han surgido en la aplicacin, o mejor dicho, en la


incorrecta aplicacin de la programacin por metas, han sido los derivados por no
incluir una variable de desviacin. En ocasiones, se ha prescindido de la variable de
desviacin que no es considerada, por ejemplo, si se desea que un atributo sea
superior a un nivel de aspiracin, la variable no deseada es la de holgura al nivel de
aspiracin, n , sin embargo de la otra variable, la de exceso p , no se considera en el
objetivo. Obsrvese que prescindir de ella implica que el atributo no pueda tomar
valores superiores al nivel de aspiracin, slo inferiores (no deseados) o igual, lo
que restringe el espacio de soluciones, eliminando del espacio de objetivos toda la
regin en que el atributo sea superior. Por lo tanto, la variable de desviacin que no
es la no deseada, tambin debe aparecer en el modelo o formular la meta como una
desigualdad y no una igualdad. Ante el riesgo que puede presentar esta ltima
formulacin, se aconseja mantener ambas variables con la formulacin lgica
clsica de las metas, adems de que, en general, no incluirlas no conlleva una

19/02/2010 281
PROGRAMACIN MATEMTICA EN DECISIN MULTICRITERIO

mejora computacional (los mtodos de resolucin suelen aadir una variable en las
desigualdades como primera medida).

Problemas derivados de la inclusin de metas con dos lados innecesariamente

Las metas con dos lados no deseados son menos habituales que las de un solo lado,
ya que es raro que un decisor desee el logro exacto de una meta ms que superar, o
no hacerlo, un determinado nivel. Incluir entre las no deseadas una desviacin que
no lo es, puede llevar a obtener soluciones subptimas. Es claro, que hay que tener
un especial cuidado en identificar cules son las variables de desviacin no
deseadas.

Incompatibilidad entre ordenaciones lexicogrficas y la existencia de una funcin de


utilidad

Una de las crticas ms fuertes al modelo lexicogrfico ha sido su incompatibilidad


con una funcin de utilidad del decisor. Esta incompatibilidad demostrada, que aqu
no se niega, se deriva de la incompatibilidad con uno de los axiomas que se atribuye
a una funcin de utilidad. Los axiomas que se supone que deben ser cumplidos por
una funcin de utilidad son comparabilidad, reflexividad, transitividad y
continuidad. De ellos, el que resulta incompatible con las ordenaciones
lexicogrficas es el de la continuidad. Segn este axioma, los conjuntos de nivel de
la funcin de utilidad son superficies continuas, es decir, dada una combinacin de
dos elecciones posibles de un decisor, siempre se podr reducir la cantidad de una
eleccin encontrando un incremento de la otra eleccin que compense exactamente
la reduccin. Es fcil comprobar que en las metas lexicogrficas los conjuntos de
nivel o superficies de indiferencia estn formadas por un nico punto (ver estos
conjuntos como interseccin del conjunto mejor y el peor respecto a un punto), por
lo tanto, no es posible obtener el mismo valor con dos puntos distintos, lo que
supone que no se cumple el axioma. Sin embargo, la continuidad de las preferencias
dista mucho de ser un hecho, ni tan siquiera una hiptesis corroborada de forma
emprica. Es tan slo una hiptesis necesaria para axiomatizar la teora neoclsica
del consumo y asegurar la existencia de un equilibrio competitivo. Es ms, hay
situaciones en las que suponer vlido este axioma puede ser un disparate; por

282 19/02/2010
MTODOS DE OPTIMIZACIN

ejemplo, supngase un problema de planificacin forestal donde se tienen en cuenta


varios criterios, por ejemplo, uno econmico que fuera la produccin de madera y
otro que fuera un ndice que mida el riesgo de colapso ecolgico del bosque. En este
caso el supuesto de continuidad dira que siempre existe un incremento en el
volumen de madera producida que compense un incremento del riesgo de colapso
del bosque, por alto que ste sea, lo que puede ser un autntico disparate. Es obvio,
que en este caso y en otros muchos, las preferencias no son continuas y por lo tanto
no existe una funcin de utilidad para representarlas. Es decir, no es absolutamente
necesario aceptar la continuidad de las preferencias para poder representar el
problema de decisin.

Posible ineficiencia paretiana de la solucin obtenida por metas, y forma de


resolverlo

La programacin por metas no est pensada para obtener soluciones eficientes sino
para obtener soluciones satisfacientes. En este sentido, es posible que la solucin de
un modelo de programacin por metas no sea eficiente. Para ello, lo que tiene que
pasar es que haya ptimos alternativos del problema de metas ponderadas o del
ltimo nivel de metas lexicogrficos (esta condicin es necesaria aunque no es
suficiente). Para algunos autores es un gran inconveniente, pero no ha de olvidarse
que el objetivo de la programacin por metas, como ya se ha dicho, no es obtener
soluciones eficientes sino satisfacientes. Para comprobar si una solucin obtenida
mediante programacin por metas es eficiente, se fijan los valores de las variables
de desviacin no deseadas obtenidos, y se maximizan las variables opuestas; si la
solucin no cambia, es que la solucin es eficiente, mientras que si vara, la nueva
solucin ser una solucin eficiente con los mismos valores de las variables no
deseadas. Existe un test propuesto por Hannan (1980) que permite a partir de una
solucin obtenida por metas, obtener todas las soluciones eficientes que tienen el
mismo valor de las variables de desviacin no deseadas. Este test consiste en aplicar
la tcnicas multiobjetivo a un problema que sea el original pero incluyendo los
valores de las variables de desviacin (tanto las deseadas como las no deseadas)
obtenidas previamente mediante programacin por metas. As si una meta es que x1

19/02/2010 283
PROGRAMACIN MATEMTICA EN DECISIN MULTICRITERIO

sea al menos 5, y al resolverlo por metas se ha obtenido n1 = 0, p1 = 1 , se formulara

una restriccin para el test de Hannan que fuera: x1 5 n1* + p1* = 5 0 + 1 = 6 ..


Grficamente, si Z es el punto obtenido por programacin por metas, toda la zona
rayada son puntos mejores, y Z1 y Z2 seran puntos eficientes mejores que Z y todas
las combinaciones lineales convexas de ellos tambin:

Z1
f2
Z2
Z

f1

De aqu se deriva un procedimiento para resolver modelos de programacin por


metas si se desea que adems la solucin sea eficiente:

1) Resolver el modelo de metas inicial. Si no hay ptimos alternativos la solucin


es eficiente, en otro caso ir al paso 2.

2) Si se desea una nica solucin eficiente ir a 3, si se desea explorar un conjunto


de soluciones eficientes ir a 4.

3) Maximizar la suma de las variables desviacionales opuestas sin empeorar los


valores alcanzados. La solucin ser eficiente

4) Transformar el modelo de metas en uno multiobjetivo con el procedimiento de


Hannan para obtener todos los puntos eficientes del correspondiente modelo de
metas.

El concepto de meta redundante y repercusin en las metas lexicogrficas

El concepto de metas redundante puede surgir tanto en metas ponderadas como en


lexicogrficas, aunque con distinto sentido. As en metas ponderadas puede surgir
porque se plantee una meta inalcanzable y las dems de modo pesimista, con lo que
el problema puede desviarse hacia la meta inalcanzable olvidando las dems. Sin
embargo, donde es ms relevante y claro este concepto es en las metas

284 19/02/2010
MTODOS DE OPTIMIZACIN

lexicogrficas, ya que si en un determinado nivel de prioridad se llega a un nico


ptimo, todas las metas incluidas en niveles inferiores son un mero ornamento, ya
que no pueden variar la solucin. Se define como meta redundante aquella cuya
omisin no influye en el resultado. La existencia de metas redundantes puede darse
principalmente por tres causas:

o Una excesiva priorizacin de las metas, es decir, una agrupacin en un nmero


excesivamente elevado de niveles de prioridad

o Ser excesivamente optimista, fijando los niveles de aspiracin muy prximos al


ideal del atributo.

o Incluir muchas metas con dos lados, obligando a la minimizacin de ambas


variables de desviacin.

Cuando se da la redundancia es interesante saber en qu nivel de prioridad se ha


dado, y si parece oportuno, replantear el problema. El replanteamiento puede
hacerse redefiniendo los niveles de aspiracin de las metas anteriores o viendo si
se han incluido metas de dos lados innecesariamente, o agrupando en distintos
niveles (por ejemplo, se puede plantear un ltimo nivel con la ltima meta no
redundante ponderada para darle ms importancia y las restantes metas, las que
resultaron redundantes, con ponderacin menor).

VI.3.3. Obtencin de preferencias mediante programacin


por metas

Dentro de los mtodos de decisin multicriterio discretos, Saaty en 1977 introdujo el


mtodo AHP (procesos analticos jerarquizados) que tuvo un gran impacto terico y
aplicado. En el caso que nos ocupa, nos centramos no en el mtodo sino en la
metodologa para obtener preferencias entre criterios (ponderaciones) o preferencias
entre los atributos que incluye Saaty en su mtodo, aunque ya se haba establecido
antes: la comparacin por pares.

Hay algunas formas ms sencillas de obtener los pesos, como es pedirle al decisor
que clasifique los criterios por orden de importancia, de modo que si hay n criterios, al

19/02/2010 285
PROGRAMACIN MATEMTICA EN DECISIN MULTICRITERIO

ms importante le asigne el valor 1 y al menos importante el valor n ; a continuacin,


con el fin de que la suma de los pesos sea 1 se le asigna al criterio en posicin j-sima el
1/ rj n rj + 1
peso W j = n
o el peso W j = n
. El problema de este mtodo es que no
r
i =1
i (n r + 1)
i =1
i

tiene en cuenta la diferencia de importancia entre criterios, es decir, cunto ms


importante es uno que el siguientes.

Para evitarlo Saaty propone otro mtodo que consiste en comparar los criterios por
parejas, de modo que se asigne un 1 si ambos son de la misma importancia, un 3 si hay
una moderada importancia de un criterio respecto a otro, un 7 si hay una demostrada
importancia y un 9 si hay extrema importancia. Con ello se forma una matriz cuadrada
aij que valora la importancia del criterio i respecto al j. Si la importancia de un criterio

respecto a otro es aij , a la inversa ser 1/ aij . Obtenida esta matriz, se busca un vector

Wi
de pesos para los criterios que sea solucin del sistema = aij , o lo que es lo mismo
Wj

Wi = aijW j . Lamentablemente, ese sistema no suele tener solucin dadas las normales

inconsistencias del decisor y hay que buscar los que ms se aproximen, por ejemplo,
con la programacin por metas vista en la seccin anterior (planteando las restricciones
meta Wi aijW j + nij pij = 0 y penalizando ambas variables de desviacin).

Aunque no puede hablarse de cul es el mejor mtodo para estimar pesos


preferenciales, siempre que la situacin lo permita parecen tener ms solidez los
mtodos propuestos por Saaty que los anteriores.

Supngase que se quiere elegir el trazado de una autopista, supngase que el centro
decisor ha emitido sus juicios de valor obteniendo la siguiente matriz de comparaciones.

Coste Impacto Medioambiental Tiempo ejecucin


Coste 1 2 5
Impacto Medioambiental 1/2 1 3
Tiempo ejecucin 1/5 1/3 1

286 19/02/2010
MTODOS DE OPTIMIZACIN

A partir de esta matriz se buscan los pesos preferenciales de los criterios resolviendo
el siguiente problema donde se han introducido las variables de desviacin para
resolverlo (ver la seccin VI.3.2):
3
min (ni + pi )
i =1

w1 2 w2 + n12 p12 = 0 w2 1/ 2 w1 + n21 p21 = 0


w1 5w3 + n13 p13 = 0 w3 1/ 5w1 + n31 p31 = 0
w2 3w3 + n23 p23 = 0 w3 1/ 3w2 + n32 p32 = 0
w1 + w2 + w3 = 1

La solucin obtenida es ( w1 , w2 , w3 ) = (.588,.294,.118) , siendo las variables de

desviaciones n12 = n13 = n21 = n31 = n32 = p12 = p13 = p21 = p23 = 0, n23 = 0.06, p32 = 0.02 .

Esta misma estrategia puede utilizarse para comparar alternativas (numricas o no) y
asignarles un valor numrico de preferencias.

VI.4. Referencias

Benayoun, R., Roy, B., Sussman, B. Electre: Une Mthode pour Guider le Choix en
Prsence de Vue Multiples. Sema (Metra International), Direction Scientifique.
Note de travail, 49.

Charnes, A., Cooper, W.W (1961) Management Models and Industrial Applications of
Linear Programming. John Wiley and Sons.

DeGroot, M.H. (1970) Optimal Statistical Decisions, McGraw Hill, New York

French, S. (1986) Decision Theory: An introduction to the mathematics of rationality,


Ellis Horwood, Chichester.

Hannan, E.L. (1980) Nondominance in Goal Programming. INFOR, Canadian Journal


of Operational Research and Information Processing 18

Ignizio, J. P. (1976) Goal Programming and Extensions. Lexington Books.

Lee, S. M. (1972) Goal Programming for Decision Analysis. Auerbach Publishers.

19/02/2010 287
PROGRAMACIN MATEMTICA EN DECISIN MULTICRITERIO

Keeney, R.L. and Raiffa, H. (1976) Decisions with Multiple Objectives: Preferences
and Value Trade-Offs. John Wiley and Sons.

Ros, S., M.J. Ros-Insa, S. Ros-Insa. (1989) Procesos de Decisin Multicriterio.


Eudema.

Romero, C. (1991) Handbook of Critical Issues in Goal Programming. Pergamon Press.

Romero, C. (1993) Teora de la Decisin Multicriterio: Conceptos, Tcnicas y


Aplicaciones. Alianza Universidad.

Saaty, T. L. (1977) A Scaling Method for Priorities in Hierarchical Structures. Journal


of Mathematical Psychology, 15, 234-281.

Saaty, T.L. (1980) The Analytic Hierarchy Process. McGraw Hill

Simon, H. A. (1955) A Behavioral Model of Rational Choice. Quarterly Journal of


Economics, 69, 99-118.

Yu, P.L. (1973) A Class of Solutions for Group Decision Problems. Management
Science, 19, 936-946.

Yu, P.L. (1985) Multiple criteria decision making: Concepts, techniques and
extensions. Plenum, New York.

Zadeh, L.A. (1963) Optimality and Non-Scalar-Valued Performance Criteria. IEEE


Transactions on Automatic Control, 8, 59-60.

Zeleny, M. (1973) Compromise Programming, in Multiple Criteria Decision Making


(Cochrane, J.L. and Zeleny, M. ed.). University of South Carolina Press, 262-301

Zeleny, M. (1974) A Concept of Compromise Solutions and the Method of the


Displaced Ideal. Computers and Operations Research, 1, 479-496.

Zeleny, M. (1982) Multiple criteria decision making. McGraw-Hill, New York.

288 19/02/2010
MTODOS DE OPTIMIZACIN

VI.5. Ejemplos y Problemas

PROBLEMA 1

Se presenta una planificacin elctrica muy simplificada de un pas. Se supone una


demanda elctrica anual de 150000 GWh, que puede ser satisfecha mediante el empleo
de las siguientes fuentes de energa: carbn, energa nuclear, gas natural, energa elica,
biomasa procedente de cultivos energticos, y energa hidrulica. Se desea que tanto el
coste de generacin, as como las emisiones de CO2 producidas sean mnimas.

Las posibilidades de utilizacin de cada una de las opciones estn determinadas por
el potencial existente, o por condicionantes de otro tipo, que se detallan a continuacin:

o la energa nuclear est sujeta a una moratoria que impide la expansin de la


potencia instalada, con una produccin anual de 53000 GWh.

o respecto al gas natural, la produccin potencial sera de 12.845 GWh.

o el potencial de la energa elica ha sido evaluado en unos 2.000 MW, que, para
una utilizacin media de 2.500 h, producira un mximo de 5.000 GWh.

o los recursos de biomasa para produccin energtica han sido estimados en 22


Mtep, que equivaldran a unos 40000 GWh de produccin elctrica.

o por ltimo, se supone un potencial hidrulico de 31.755 GWh.

Toda la demanda debe ser satisfecha con estas opciones, sin tener en cuenta otras
como fuel-oil, energa solar La tabla 1 muestra los costes de generacin y emisiones
de CO2 de las opciones consideradas, referidos al kWh generado 1GWh= 106kWh

Tabla 1. Costes y emisiones de CO2 de la generacin elctrica


Fuentes de energa Coste (c/kWh) Emisiones de CO2 (g/kWh)
Carbn 5,85 1015
Nuclear 8,24 -
Gas natural 5,00 401
Elica 9,00 -
Biomasa 12,00 -
Hidrulica 6,00 -

19/02/2010 289
PROGRAMACIN MATEMTICA EN DECISIN MULTICRITERIO

Analizar el problema, obteniendo la matriz de pagos, la frontera de Pareto, la mejor


solucin compromiso suponiendo igualdad de preferencias, y la solucin por metas,
planteando como niveles de aspiracin un 125% de los respectivos ideales.

PROBLEMA 2

Un particular desea construir un chalet. A efectos de planificacin ha considerado las


siguientes actividades, con sus duraciones, y mano de obra por actividad:

A Compra de terrenos 12 das 2 trabajadores


B Planos del edificio y parcela 6 das 4 trabajadores
C Autorizacin municipal para construir 5 das 1 trabajador
D Financiacin de la construccin 7 das 2 trabajadores
E Cimientos del edificio 9 das 10 trabajadores
F Cavar zanjas alcantarillado de la parcela 8 das 5 trabajadores
G Colocar tuberas de alcantarillado 12 das 5 trabajadores
H Rellenar zanjas 4 das 5 trabajadores
I Construccin de la estructura de la casa 20 das 10 trabajadores
J Tabicado 5 das 5 trabajadores
K Instalacin elctrica 6 das 5 trabajadores
L Conexin desages del edificio de alcantarillado 2 das 5 trabajadores
M Instalacin fontanera 5 das 5 trabajadores
N Solado de la casa 4 das 10 trabajadores
O Pintura 3 das 5 trabajadores
P Pavimentacin exteriores y ajardinamiento 27 das 5 trabajadores
Q Cdula de habitabilidad 2 das 1 trabajador
Entre estas actividades existen las siguientes relaciones de precedencia:

A y B preceden a C y D I precede a J
D y C preceden a E y F J precede a K y a L
E precede a I K y M preceden a N y O
F precede a G L precede a M
G precede a H N y O preceden a Q
H precede a L y a P

290 19/02/2010
MTODOS DE OPTIMIZACIN

Supngase ahora que los tiempos sealados en la tabla son fijos, pero que podran
acelerarse las ejecuciones de las actividades hasta un mximo de dos das, excepto L y
Q que slo admiten un mximo de un da. Los costes de acelerar un da el tiempo de
ejecucin de una actividad son los siguientes:

A, C, B y G 6000 K, O, H 12000
D, F, E 8000
I, J, L, Q 10000 M, N, P 5000
Analizar el problema, obteniendo la matriz de pagos, la frontera de Pareto, la mejor
solucin compromiso suponiendo igualdad de preferencias, y la solucin por metas,
planteando como niveles de aspiracin 60 das de tiempo, y un coste de 50000.

Nota: El siguiente modelo sirve para representar las precedencias y las reducciones de
tiempo en la duracin de las tareas, y obtener el tiempo del proyecto y el coste.

DI i : duracin inicial tarea i ti + DI i ri t j (i, j ) P



Ri : mxima reduccin de duracin tarea i ti + DI i ri tt i I
ri Ri i I
Ci : coste unitario reduccin tarea i
t , r 0 i I
ti : variable instante inicio tarea i i i
ri : variable reduccin aplicada a tarea i Tiempo : tt

tt : tiempo total de ejecucin del proyecto Coste : Ci ri
i

VI.6. Resultados de los ejemplos y problemas

RESULTADO DEL PROBLEMA 1

El modelo que representa la regin factible es el siguiente:

X C + X H + X B + X E + X G + X N = 150000
X H 31755
X B 40000
X E 5000
X G 12845
X N 53000
X i 0 i

19/02/2010 291
PROGRAMACIN MATEMTICA EN DECISIN MULTICRITERIO

Y las expresiones de los dos criterios (Coste y Emisiones), expresados en c/kWh y


g/kWh (para ello basta dividir por la produccin total), son las siguientes:

5,85 X C + 8, 24 X N + 5 X G + 9 X E + 12 X B + 6 X H
Coste :
150000
1015 X C + 401X G
Emisiones :
150000

siendo la matriz de pagos:

Matriz de pagos
Coste Emisiones
Coste 5,777 962,421
Emisiones 8,398 84,413
Por el procedimiento de ponderaciones la tabla para obtener la frontera de Pareto es:

Lambda Agregado Coste Emisiones C N G E B H


0 0 8,3984 84,4123 7400 53000 12845 5000 40000 31755
0,1 0,1 8,3984 84,4123 7400 53000 12845 5000 40000 31755
0,2 0,2 8,3984 84,4123 7400 53000 12845 5000 40000 31755
0,3 0,3 8,3984 84,4123 7400 53000 12845 5000 40000 31755
0,4 0,3347 6,7584 355,0789 47400 53000 12845 5000 0 31755
0,5 0,3406 6,6534 388,9123 52400 53000 12845 0 0 31755
0,6 0,3094 5,8089 747,5456 105400 0 12845 0 0 31755
0,7 0,2351 5,8089 747,5456 105400 0 12845 0 0 31755
0,8 0,1608 5,8089 747,5456 105400 0 12845 0 0 31755
0,9 0,0865 5,8089 747,5456 105400 0 12845 0 0 31755
1 0 5,7772 962,4211 137155 0 12845 0 0 0
y el grfico obtenido:

Frontera de Pareto

1000
Emisiones (g/kWh)

800

600
400

200

0
5 6 7 8 9
Coste (c/kWh)

292 19/02/2010
MTODOS DE OPTIMIZACIN

La tabla mediante las e-restricciones es:

Tabla resultados
e Coste Emisiones C N G E B H
0 8,3984 84,4123 7400 53000 12845 5000 40000 31755
0,1 7,8664 172,2132 20375,5 53000 12845 5000 27024,5 31755
0,2 7,3344 260,0141 333501 53000 12845 5000 14049 31755
0,3 6,8024 347,8149 46326,5 53000 12845 5000 1073,5 31755
0,4 6,5434 435,6158 59302 46098 12845 0 0 31755
0,5 6,3367 523,4167 72277,5 33122,5 12845 0 0 31755
0,6 6,1299 611,2176 85253 20147 12845 0 0 31755
0,7 5,9232 699,0185 98228,5 7171,5 12845 0 0 31755
0,8 5,8031 786,8193 111204 0 12845 0 0 25951
0,9 5,7902 874,6202 124179,5 0 12845 0 0 12975,5
1 5,7772 962,4211 137155 0 12845 0 0 0
y el grfico obtenido:

Frontera de Pareto

1000
Emisiones (g/kWh)

800
600
400
200
0
5 5,5 6 6,5 7 7,5 8 8,5 9
Coste (c/kWh)

Para buscar la mejor solucin compromiso, primero lo hacemos con la mtrica L1,
normalizando la distancia al ideal de los criterios, y agregado de forma lineal en un
objetivo en que multiplicamos por 0,5 cada una de esas distancias (dado que dice que se
considere igualdad de preferencias). Con ello, obtenemos la solucin:

C N G E B H
52400 53000 12845 0 0 31755
con los siguientes valores de ambos criterios:

Coste 6,65343333
Emisiones 388,9123

19/02/2010 293
PROGRAMACIN MATEMTICA EN DECISIN MULTICRITERIO

Respecto a utilizar la distancia Tchebychev, en la siguiente hoja del archivo se


encuentra el modelo y la solucin, observndose que la solucin es la misma.

Por ltimo, aplicamos la programacin por metas con un 125% respecto al ideal
para ambos criterios, lo que supone un nivel de aspiracin para el coste de 7,22 c/kWh
y para las emisiones de 106 g/kWh. Suponemos preferencias iguales como en el caso
compromiso. Por otra parte, podemos hacerlo mediante metas ponderadas o
Tchebychev. Se tiene la solucin por metas ponderadas:

C N G E B H
10590,3005 53000 12845 5000 36809,6995 31755
cuyo coste y emisiones son:

Coste 8,26763101
Emisiones 106
siendo las desviaciones

n p
Desviaciones coste 0 1,04763102
Desviaciones emisiones 0 0
Como puede observarse, se cumple la meta de emisiones, y para esa meta se obtiene el
coste correspondiente.

Sin embargo, si aplicamos las metas Tchebychev la solucin es:

C N G E B H
12677,6333 53000 12845 5000 34722,3667 31755
con coste y emisiones

Coste 8,18205037
Emisiones 120,124285
y desviaciones

n p
Desviaciones coste 0 0,96205037
Desviaciones emisiones 0 14,1242852
que suponen para ambos criterios un incumplimiento respecto al nivel de aspiracin de
un 13%.

294 19/02/2010
MTODOS DE OPTIMIZACIN

RESULTADO DEL PROBLEMA 2

El modelo que se ha utilizado es el descrito en la nota del enunciado:

DI i : duracin inicial tarea i ti + DI i ri t j (i, j ) P



Ri : mxima reduccin de duracin tarea i ti + DI i ri tt i I
ri Ri i I
Ci : coste unitario reduccin tarea i
t , r 0 i I
ti : variable instante inicio tarea i i i
ri : variable reduccin aplicada a tarea i Tiempo : tt

tt : tiempo total de ejecucin del proyecto Coste : Ci ri
i

En primer lugar se obtiene la matriz de pagos (el coste se introduce en miles de


euros para que sean unidades semejantes al tiempo). Hay que tener cuidado en los
resultados del anti-ideal, puesto que pueden ser peores de los realmente alcanzablees:
Matriz de pagos
Tiempo Coste (k)
Tiempo 58 116
Coste (k) 70 0
El coste 0 se obtiene sin ninguna reduccin, dando una duracin de 70 das.
Mientras que para una duracin de 58 das, coste 116.000 euros, las reducciones son:
A B C D E F G H I J K L M N O P Q
r 2 0 0 2 2 2 2 2 0 0 0 0 1 1 0 2 0
La frontera de Pareto la obtenemos a continuacin mediante ponderaciones
obteniendo la siguiente tabla y el siguiente grfico:
Tabla resultados
Lambda Agregado Tiempo Coste Reducciones
0 0 70 0
0,1 0,1 70 0
0,2 0,2 70 0
0,3 0,3 70 0
0,4 0,37586 64 34 A, G, P 2
0,5 0,38218 62 50 A, D, G, P 2
0,6 0,36207 60 76 A, D, F, G, P 2 M, N 1
0,7 0,3 58 116 A, D, E, F, G, H, P 2 M, N 1
0,8 0,2 58 116
0,9 0,1 58 116
1 0 58 116

19/02/2010 295
PROGRAMACIN MATEMTICA EN DECISIN MULTICRITERIO

Frontera de Pareto

120
100
80
Coste

60
40
20
0
55 57 59 61 63 65 67 69
Tie m po

Si lo hacemos mediante las e-restricciones la tabla y el grfico resultan:

Tabla resultados
Lambda Tiempo Coste
0 70 0
0,1 67,7333 11,6
0,2 65,8 23,2
0,3 63,9 34,8
0,4 62,45 46,4
0,5 61,3846 58
0,6 60,4923 69,6
0,7 59,74 81,2
0,8 59,16 92,8
0,9 58,58 104,4
1 58 116

Frontera de Pareto

120
100
80
Coste

60
40
20
0
55 57 59 61 63 65 67 69
Tiempo

296 19/02/2010
MTODOS DE OPTIMIZACIN

A la hora de elegir un punto de esta frontera como solucin, aplicamos la


programacin compromiso. Si se aplica con la mtrica L1 y suponiendo igualdad de
preferencias sobre los criterios (aunque normalizados con el ideal y anti-ideal), se tiene:

Tiempo 62 0,33333
Coste (miles de euros) 50 0,43103
aplicando las siguientes reducciones: A, D, G, P 2 das

Si utilizamos la norma infinito o Tchebychev el resultado es:

Tiempo 62,6415 0,38679


Coste (miles de euros) 44,8679 0,38679
aplicando las siguientes reducciones: A, G, P 2 das y D 1,3585 das.

Si cambiamos el enfoque y olvidamos la frontera de Pareto para plantear niveles


de aspiracin de los criterios y sus respectivas metas, el modelo de programacin por
metas ponderadas con niveles de 60 das de duracin y 50.000 euros, e igualdad de
preferencias da el siguiente resultado:

Tiempo 62
Coste (miles de euros) 50
que cumple la meta del coste pero no la del tiempo, con reducciones: A, D, G, P 2 das.

Si utilizamos las metas Tchebychev se tiene:

Tiempo 61,8795
Coste (miles de euros) 51,5663
que incumple ambas metas, en un 3,1% respecto a su nivel de aspiracin, con las
reducciones: A, D, G, P 2 das y F y M 0,1205 das.

19/02/2010 297