Title: Optimizaci
1Optimización de Procesos
2Tier I Métodos Matemáticos de Optimización
- Sección 2
- Programación Lineal
3Programación Lineal (Linear Programming, LP)
- La programación lineal (optimización lineal) es
el área de problemas de optimización con
funciones objetivo y restricciones lineales - Ejemplo
- minimizar f(x) 6x1 5x2 2x3 7x4sujeta
a 2x1 8x3 x4 20 - x1 5x2 2x3 3x4 -5
4Programación Lineal continuación
- Ninguna de las variables está multiplicada por
otra variable, elevada a una potencia o usada en
una función no linear - Puesto que la función objetivo y las
restricciones son lineales, son convexas.
Entonces, si la solución óptima de un problema de
LP es encontrada, ésta es el óptimo global.
5Forma estándar de LP
- Forma estándar de LP
- minimizar f cx
- sujeta a Ax b
- xi 0 i 1, , n
- donde c es llamada el vector costo (1 por n), x
es el vector de variables (n por 1), A es la
matriz de coeficientes (m por n), y b es un
vector de constantes dadas m por 1.
6Bases de la Forma Estándar
- Para un problema de maximización, podemos
transformar usando - max(f(x)) ? min(-f(x))
- Para restricciones de desigualdad, se usan
variables "flojas" 2x1 3x2 5 ? 2x1 3x2
s1 5 donde s1 0
7Usando Variables flojas
- Cuando transformamos la ecuación
- 2x1 3x2 5 to 2x1 3x2 s1 5
- Si el lado izquierdo (left-hand side, LHS) (2x1
3x2) es menor que el lado derecho (right-hand
side, RHS) (5), entonces s1 tomará un valor
positivo para hacer la igualdad verdadera.
Mientras el valor del LHS sea más cercano al RHS,
más pequeño será el valor de s1. Si el LHS es
igual al RHS, s1 0. s1 no puede ser negativo
porque el LHS no puede ser mayor que el RHS.
8Ejemplo de Forma Estándar
- Ejemplo
- Escrito en Forma Estándar
- maximizar f x1 x2
- sujeta a 2x1 3x2 6
- x1 7x2 4
- x1 x2 3
- x1 0, x2 0
- Definir las variables flojas x3 0 x4 0
9Ejemplo de Problema Reescrito
- El problema ahora puede escribirse
- minimizar g x1 x2
- sujeta a 2x1 3x2 x3 6
- x1 7x2 x4 4
- x1 x2 3
- x1 0, x2 0, x3 0, x4 0
10Repaso de Álgebra Lineal
- La siguientes diapositivas revisan varios
conceptos de álgebra lineal que son la base de
los métodos usados para resolver problemas de
optimización lineal
11Vectores e Independencia Lineal
- Vectores
- Un vector k es una columna o fila o un arreglo
de columnas de k números. Tiene una dimensión de
k. - Independencia Lineal (Linear Independence, LI)
- Una recopilación de vectores a1, a2, , ak, cada
uno de dimensión n, es llamado linealmente
independiente si la significa
que para j1, 2, , k
12Independencia LinealContinuación
- En otras palabras, un grupo de vectores es
linealmente independiente si un vector no puede
escribirse como una combinación de cualquiera de
los otros vectores. - El número máximo de vectores LI en un espacio
n-dimensional es n.
13Independencia LinealContinuación
- Por ejemplo, en un espacio de 2 dimensiones
- Los vectores y no son
- Linealmente independientes porque x2 5x1.
- son LI porque no hay
- Una constante que puedas multiplicar para obtener
la otra.
y
14Grupos de Cobertura
- Se dice que un grupo de vectores a1, a2, , ak en
un espacio n-dimensional abarca el espacio si
cualquier otro vector en el espacio puede
escribirse como una combinación lineal de
vectores - En otras palabras, para cada vector b, deben
existir escalares l1, l2, , lk tales que
15Bases
- Se dice que un grupo de vectores es una base para
un espacio n-dimensional si - Los vectores abarcan el espacio
- Si cualquiera de los vectores es removido, el
grupo ya no abarcará el espacio - Una base para un espacio n-dimensional debe tener
exactamente n vectores - Pueden existir muchas bases diferentes para un
espacio dado
16Bases continuación
- Un ejemplo de una base es el eje coordenado de
una gráfica. Para una gráfica en 2-D, no puedes
remover uno de los ejes y aún formar una línea
cualquiera con solo los ejes restantes. - O, no puedes tener tres ejes en una gráfica 2-D
porque siempre puedes representar el tercero
usando los otros dos.
17Sistemas de Ecuaciones(SOE)
- El Álgebra Lineal puede ser usada para resolver
un sistema de ecuaciones - Ejemplo
- 2x1 4x2 8 3x1 2x2 11
- Esto puede ser escrito como una matriz aumentada
18Sistemas de EcuacionesContinuación
- Las operaciones de fila pueden ser realizadas en
la matriz sin cambiar el resultado - Operaciones de fila válidas incluyen lo
siguiente - Multiplicar una fila por una constante
- Intercambiar dos filas
- Sumar una fila a otra
19Resolviendo SOEs
- En el ejemplo previo, queremos cambiar la matriz
A para ser triangular superior - multiplica la
- fila superior por ½
- suma 3 veces la
- fila superior a
- la fila inferior
20Resolviendo SOEs continuación
- multiplica la fila
- inferior por -1/8
- De la matriz triangular superior aumentada,
podemos fácilmente ver que x2 1/8 y usar este
para obtener x1 - x1 4 2 . 1/8 15/4
21Matriz Invertida
- El inverso de una matriz puede ser encontrado
usando operaciones de filas - Ejemplo
- Forma la matriz aumentada (A, I)
- Transformala a (I, A-1)
- Usando operaciones
- de filas
22Ecuaciones de Optimización
- Hemos visto que las restricciones pueden ser
escritas en la forma . - Debemos tener más variables que ecuaciones así
que tenemos algunos grados de libertad para
optimizar. - Si el número de ecuaciones es mayor o igual que
el número de variables, los valores de las
variables ya están especificados.
23Solución General a los SOEs
- Dado un sistema de ecuaciones en la forma
- Asume m (número de ecuaciones) lt n (número de
variables) ? sistema underspecified system - Podemos separar el sistema en variables
independientes (n-m) y variables dependientes
(m). Los valores de las variables dependientes
dependerán de los valores que elijamos para las
variables independientes.
24Solución General continuación
- Llamamos a las variables dependientes variables
básicas porque su matriz de coeficientes A forma
una base. Las variables independientes serán
llamadas variables no básicas. - Al cambiar las variables en la base, podemos
cambiar las bases. Se mostrará que esto permite
examinar diferentes puntos óptimos posibles.
25Solución General continuación
- Separa la matriz A en la siguiente manera
- O,
26Solución General continuación
- Define las matrices B y N como sigue
- donde B es una matriz m por m matriz, N es una
matriz m por (n-m), y aj es la columna jth de la
matriz A - B es llamada matriz básica y N es llamada
matriz no básica
27Solución General continuación
- La matriz B contiene las columnas de la matriz A
que corresponden a las variables x que están en
la base. Se debe mantener el orden. - Así, si x4 es la segunda variable de la base, a4
debe ser la segunda columna de la matriz B - La matriz N es solo las columnas de la matriz A
que quedan fuera.
28Solución General continuación
- Similarmente, define
- y
- Más adelante veremos como determinar que
variables poner en la base. Este es un paso
importante para examinar todas las soluciones
óptimas posibles.
29Solución General continuación
- Ahora tenemos
- Multiplica ambos lados por B-1
- Así,
30Solución Básica
- Podemos elegir cuales quiera valores para las
variables (n-m) (aquellas en xN)y entonces
resolver para las variables m restantes en xB - Si elegimos xN 0, entoncesA esto se le llama
"solución básica" del sistema - Solución Básica
31Soluciones Básicas Factibles
- Ahora tenemos una solución para Ax b. Pero esa
era solo uno de dos grupos de restricciones para
el problema de optimización. El otro era xi
0, i 1, , n (no-negativa) - Una solución básica factible (basic feasible
solution, BFS) es una solución básica donde cada
x es no-negativa - Una BFS satisface todas las restricciones del
problema de optimización
32Puntos Extremos
- Un punto es llamado punto extremo (extreme point,
EP) si no puede ser representado como una
combinación convexa estricta (0 lt l lt 1) de otros
dos puntos factibles. - Recuerda una combinación convexa de dos puntos
es una línea entre ellos. - Entonces, un EP no puede estar en una línea de
otros dos puntos factibles.
33Puntos Extremos (Gráficos)
- Dada una región factible, un punto extremo no
puede hallarse en una línea entre dos otros
puntos factibles (debe estar en un vértice) - En un espacio n-dimensional, un punto extremo
está localizado en la intersección de n
restricciones
Not Extreme Points
FeasibleRegion
Punto Extremo
34Puntos Extremos y óptimos
c
Punto de Inicio
- Tenemos un problema de maximización, así que
queremos ir tan lejos como sea posible en la
dirección del vector c (función objetivo) - Podemos determinar algo sobre la ubicación del
punto óptimo?
35Puntos Extremos y óptimos
c
- Si iniciamos en una línea, podemos movernos a lo
largo de la línea en la dirección de la función
objetivo hasta llegar a un vértice - De hecho, para cualquier vector c, el punto
óptimo siempre será en un vértice
36Soluciones Básicas Factibles (Basic Feasible
Solutions, BFS)
- En un espacio n-dimensional, una BFS es formada
por la intersección de n ecuaciones. - En 2-D
Solución Básica Factible
Restricción 1
Restricción 2
- Pero, solo vimos que un punto extremo es
también el punto en un vértice. Entonces, una BFS
corresponde a un EP.
37Enlazándolos
- Acabamos de ver que una solución básica factible
corresponde a un punto extremo. - Esto es muy importante porque para los problemas
de LP , el punto óptimo es siempre un punto
extremo. - Entonces, si podemos resolver para todos las
BFS's (EP's), podemos comprarlos para encontrar
el óptimo. - Desafortunadamente, esto toma mucho tiempo.
38Introducción al Método Simplex
- El método simplex es el método más común para
resolver problemas de LP. - Trabaja encontrando una BFS determinando si ésta
es óptima y si no lo es, se mueve a una "mejor"
BFS hasta que la óptima es alcanzada. - De esta manera, no tenemos que calcular cada
solución.
39Álgebra del Método Simplex
Suma global de las variables no básicas
Función Objetivo
sustituir
en la ecuación de arriba
40Álgebra del Método Simplex
Multiplica y colecta términos xj
donde
41Ecuaciones del Método Simplex
- Minimiza
- Si (cj zj) 0 para todo j ? N, entonces la BSF
actual es optima para un problema de
minimización. - Porque, si fuera lt 0 para cualquier j, esa
variable no básica, xj, podría entrar la base y
reducir la función objetivo.
Sujeta a
42Variables Entrantes
- Una variable no básica puede entrar en la base y
reemplazar una de las variables básicas - Puesto que xN 0, y no tenemos restricciones no
negativas, la variable entrante debe incrementar
su valor. - El valor de la variable entrante se incrementará,
reduciendo la función objetivo, hasta que una
restricción sea cumplida.
43Ecuación de Variable Entrante
- La ecuación para determinar cual variable entra
es . Calculada para todos los índices no
básicos j - Para un problema de minimización, elige el índice
j para el que cj - zj es el más negativo - Si cj - zj 0 para todo j, la solución es óptima
- Para un problema de maximización, elige el índice
j para el que cj - zj es el más positivo - Si cj - zj 0 para todo j, la solución es óptima
44Variables salientes (Leaving Variables)
- Mientras el valor de la variable entrante se
incrementa, usualmente el valor de al menos una
variable básica decrecerá - Si no, el problema es llamado "no ligado" y el
valor de la función mínima objetivo es -? - La variable cuyo valor alcanza el cero primero
será la variable que deja la base
45Variable Entrantes y Salientes
- Ejemplo x1 está entrando en la base mientras que
x2, x3 y x4 son las variables básicas actuales - Cuando x2 llegue a cero, debemos parar dsebido a
las restricciones no negativas. Pero, ahora x2
0, así que es una variable no básica y x1 gt 0,
así que es una variable básica. Entonces, x2 deja
la base y x1 entra en la base.
x4
x3
x2
x1
46Ecuación de Variable Saliente
- Consideremos a j como el índice de la variable
que está entrando a la base y a i como el índice
de la variable que está dejando la base - Esto significa que, para cada índice i que esté
en la base y que tenga , se
calcula . El índice del valor que es el
mínimo es el índice de la variable saliente.
47Ecuación de Variable Saliente
- La expresión previa es obtenida de la ecuación
- que aplica cuando una restricción es cumplida
48El Ejemplo Revisado
- x2, x3, y x4 inician en (B-1b)i (i2, 3, 4) y
tienen pendientes de (B-1aj)i (i2, 3, 4)
donde j1 porque 1 es el índice de la variable
entrante (x1) - Entonces, la distancia a la que podemos ir antes
de que la variable básica alcance el valor de
cero es para B-1a1 gt 0. Pero, si
(B-1a1)i lt 0 (como x3), nunca alcanzará el cero.
49El Ejemplo Revisado
x4
x3
x2
x1
- Podemos también ver como, si ninguna de las
variables decrece, podemos mantener x1
incrementándose y mejorar la función objetivo sin
siquiera cumplir una restricción Esto da una
solución desligada
50Problema de Ejemplo
- Minimizar f -x1 x2
- Sujeta a x1 x2 5
- 2x1 x2 4
- x1 3 x1, x2 0
- Dados La base inicial es x1, x2, y x3.
- Insertar variables flojas x3, x4, y x5.
51Ejemplo
- Minimizar f -x1 x2
- Sujeta a x1 x2 x3 5
- 2x1 x2 x4 4
- x1 x5 3
- x1, x2, x3, x4, x5 0
52Ejemplo
53Ejemplo
- Ahora, revisa la optimización
- x4
- x5
lt 0
gt 0
54Ejemplo
- Entonces, x4 entra a la base puesto que su
indicador de optimización es lt 0.
55Ejemplo
- Entonces, x3 es la variable saliente
56Ejemplo
a4 ha sido sustituida por a3
57Ejemplo
- Indicadores de Optimización
- x3
- x5
58Solución al Ejemplo
- Todos los indicadores son 0, así que esta es la
solución óptima. - Entonces,
59Pasos del Algoritmo Simplex
- Con la base elegida, obtén B y resuelve xB B-1b
y f cBxB. - Calcula cj zj para todas las variables no
básicas, j. - Para un problema de min., si todo cj zjs are
0, la solución actual es óptima. Si no, elige el
índice con el cj zj mas negativo. - Para un problema de max., si todos los cj zj's
son 0, la solución actual es óptima. Si no es
así, elige el índice con el cj zj más positivo.
60Pasos del Algoritmo Simplex
- Usando la ecuación elige la variable saliente.
- Si todos los (B-1aj)is son 0, entonces la
solución es desligada - Deja que xj entre a la base y que xi deje la
base. Obtén la nueva matriz B y comienza
nuevamente con el paso 1.
61Eligiendo una Base Inicial
- En el ejemplo, se nos dio una base inicial. Cómo
podemos obtener una por nosotros mismos? - Caso 1 problema de max (o min) con
- Ax b (todas desigualdades ) y
- Todas las entradas del vector b son 0.
- Inserta variables flojas en las ecuaciones de
restricción y usa la matriz de identidad
resultante como la base inicial
62Eligiendo una Base Inicial
- Consideremos s vector de variables flojas
- El problema se convertirá en
Sujeta a
Donde I La matriz de Identidad
. . .
. . .
. . .
63Eligiendo una Base Inicial
- Elige las variables flojas como la base inicial
- La matriz base inicial(B) está conformada por los
coeficientes de las variables flojas. Esto es la
matriz de identidad. - Podemos observar que la base inicial es
factible(xB 0)
64Problema 2 de Ejemplo
- Minimizar -x1 3x2
- Sujeta a 2x1 3x2 6
- -x1 x2 1 x1, x2 0
- Inserta variables flojas
- 2x1 3x2 x3 6
- -x1 x2 x4 1
- x1, x2, x3, x4 0
65Ejemplo 2
- Usa las variables flojas como la base inicial
66Ejemplo 2
- Indicadores de Optimización
- j1
- j2
c2 - z2 es el más negativo, así que x2 entra a la
base
67Ejemplo 2
x2 está entrado a la base
68Ejemplo 2
Entonces, x4 es la variable saliente.
69Ejemplo 2
x2 reemplazó a x4
70Ejemplo 2
- Indicadores de Optimización
- j1
- j4
- Entonces, x1 entra a la base
71Ejemplo 2
- Variable Saliente
- Entonces, x3 deja la base y x1 lo reemplaza.
72Ejemplo 2
73Ejemplo 2
- Indicadores de Optimización
- j3
- j4
- Ambos cj-zjs son 0, entonces la solución
actual es óptima
74Ejemplo 2
- Esta gráfica muestra el procedimiento seguido.
- Las líneas punteadas son perpendiculares al
vector de costo, c.
x2
c en aumento
x1
75Ejemplo 2
- Puesto que estamos minimizando, fuimos en la
dirección opuesta como el vector costo
x2
C en aumento
x1
76Más sobre Bases Iniciales
- Caso 2 problema de max (o min) con
- Ax b (al menos algunas restricciones ) y
- Todas las entradas del vector b son 0
- Suma variables flojas para convertir el problema
en - Ax Is b x, s 0.
- No podemos usar el mismo truco que antes porque
ahora tenemos una matriz de identidad negativa
como matriz B.
77Caso 2 continuación
- Método de 2 fases
- Introduce variables artificiales (y) donde se
requiera obtener una matriz de identidad. Si
todas las restricciones fueran , el problema se
convertiría en - Ax Is Iy b x, s, y 0
78Variables Artificiales
- Las variables artificiales no son variables
reales. - Las usamos solo para obtener una base inicial,
así que debemos deshacernos de ellas. - Para deshacernos de ellas, resolvemos un problema
extra de optimización antes de comenzar a
resolver el problema normal.
79Método de 2 Fases
- Fase 1
- Resuelve la siguiente LP comenzando con B I y
xB y b - Minimiza y
- Sujeta a Ax Is Iy b x, s, y 0
- Si y ? 0 en el punto óptimo, detente el
problema no es factible. Si y 0, entonces usa
la base actual y continua con la fase 2.
80Método de 2 Fases Continuación
- Fase 2
- Usando la función objetivo del problema original,
cambia el vector c y continua resolviendo usando
la base actual. - Minimiza (o Maximiza) cx
- Sujeta a Ax Is b x, s 0
81Variables Artificiales vs. flojas
- Las variables flojas son variables reales que
pueden ser positivas en una solución óptima, lo
que significa que su restricción es una
desigualdad estricta (lt o gt) en el punto óptimo. - Las variables artificiales no son variables
reales. Éstas están solo insertadas para darnos
una base inicial para comenzar el método simplex.
Se deben volver cero para tener una solución
factible del problema original.
82Ejemplo 1 de Variable Artificial (AV)
- Considera las restricciones
- x1 2x2 4
- -3x1 4x2 5
- 2x1 x2 6 x1, x2 0
- Introduce variables flojas
- x1 2x2 x3 4
- -3x1 4x2 x4 5
- 2x1 x2 x5 6
83Ejemplo 1. AV
- Como observamos, no podemos obtener una matriz de
identidad en los coeficientes ni números
positivos en el lado derecho. Necesitamos agregar
variables artificiales - x1 2x2 x3 y1 4
- -3x1 4x2 x4 y2 5
- 2x1 x2 x5 6
84Ejemplo 1. AV
- Ahora tenemos una matriz de identidad, hecha de
las columnas de coeficientes de y1, y2, y x5. - Resolveremos el problema con el objetivo de
minimizar y1 y2 para librarnos de las variables
artificiales, después usamos cualquier base que
obtengamos y continuamos resolviendo, usando la
función objetivo original.
85Ejemplo 2 de Variable Artificial (AV)
- Considera las restricciones
- x1 2x2 5x3 -4
- 3x1 x2 3x3 2
- -x1 x2 x3 -1 x1, x2, x3 0
- Introduce variables flojas
- x1 2x2 5x3 x4 -4
- 3x1 x2 3x3 x5 2
- -x1 x2 x3 -1
86Ejemplo 2 de AV
- No tenemos que agregar variables artificiales
para la primera restricción si multiplicamos por
-1. - Cuando multiplicamos la última restricción por -1
y agregamos una variable artificial, tenemos - -x1 2x2 5x3 x4 4
- 3x1 x2 3x3 x5 2
- x1 x2 x3 y1 1
- x1, x2, x3, x4, x5, y1 0
87Manipulación de Restricciones
- Entonces, después de agregar variables flojas,
debemos hacer que los números del lado derecho
sean positivos. Así que agregamos variables
artificiales si las necesitamos.
88Ejemplo 3 de Variable Artificial (AV)
- Considera el problema
- Maximizar -x1 8x2
- Sujeta a x1 x2 1
- -x1 6x2 3
- x2 2 x1, x2 0
89Ejemplo 3 de AV
- Inserta variables flojas
- x1 x2 x3 1
- -x1 6x2 x4 3
- x2 x5 2
- Ahora necesitamos una variable artificial en la
1a restricción.
90Ejemplo 3 de AV
- Inserta una variable artificial
- x1 x2 x3 y1 1
- -x1 6x2 x4 3
- x2 x5 2
91Ejemplo 3 de AV
- Entonces, la Fase 1 es
- Minimizar y1
- Sujeta a x1 x2 x3 y1 1
- -x1 6x2 x4 3
- x2 x5 2
- Nuestra base inicial es y1, x4, y x5.
92Ejemplo 3 de AV
93Ejemplo 3 de AV
- Indicadores de Optimización
- j1
- j2
- j3
94Ejemplo 3 de AV
- Es un vínculo entre x1 y x2 elige x1 para
entrar a la base
x1 está entrando a la base
95Ejemplo 3 de AV
Así que x1 reemplaza a y1 en la base
96Ejemplo 3 de AV
97Ejemplo 3 de AV
- Indicadores de Optimización
- j2
- j3
- j6
98Ejemplo 3 de AV
- Todos los indicadores de optimización son 0,
así que esta es una solución óptima. - Entonces, mantenemos esta base y cambiamos la
función objetivo por la original - Maximizar x1 8x2
- Nuestra base todavía es x1, x4, y x5.
99Ejemplo 3 de AV
- Volviendo al problema original
La base sigue siendo la misma
100Ejemplo 3 de AV
- Indicadores de Optimización
- j2
- j3
Puesto que estamos maximizando, buscamos el más
positivo. Entonces, x2 entra en la base.
101Ejemplo 3 de AV
x2 está entrando a la base
102Ejemplo 3 de AV
Mínimo
De este modo x4 deja la base
103Ejemplo 3 de AV
- Indicadores de Optimización
- j3
- j4
104Ejemplo 3 de AV
105Ejemplo 3 de Variable Artificial
- Todos los indicadores de optimización son 0,
por lo tanto esta es la solución óptima
106Condiciones KKT
- Las condiciones Karush-Kuhn-Tucker (KKT) pueden
ser usadas para ver la optimización gráficamente - Las usaremos más posteriormente en programación
no linear, pero podemos usar una versión
simplificada aquí
107Condiciones KKT para LP
- Cambia las restricciones para que todas ellas
sean restricciones . - El punto óptimo es el punto donde el gradiente de
la función objetivo se encuentra dentro del cono
formado por los vectores normal a las
restricciones que se intersectan.
108Condiciones KKT
- Recordatorio
- El gradiente (?) de una función f con n variables
es calculada como sigue
Ejemplo
109Ejemplo de Restricciones KKT
- Ejemplo En el problema 2 de ejemplo, tenemos el
problema - Minimizar f -x1 3x2
- Sujeta a 2x1 3x2 6
- -x1 x2 1
- x1, x2 0
- El gradiente de la función de costo, -x1 3x2
es
110Ejemplo KKT
- Previamente, vimos que este problema luce como
sigue
x2
Restricción 2
(3/5, 8/5)
Puntos Extremos
(0, 1)
Restricción 1
(3, 0)
(0, 0)
x1
111Ejemplo KKT
- Cambia todas las restricciones para que sean
- g1 -2x1 3x2 -1
- g2 x1 x2 -1
- g3 x1 0
- g4 x2 0
112Ejemplo KKT
- Los gradientes de las cuatro restricciones
(contando las restricciones no negativas), g1, ,
g4 son
113Ejemplo KKT
- La gráfica del problema con las normales de las
restricciones se convierte en
x2
Restricción 2
El gradiente correspondiente a cada restricción
(?gi) es perpendicular a la restricción i.
(3/5, 8/5)
?g2
?g1
?g3
(0, 1)
Restricción 1
?g2
?g4
?g4
(3, 0)
(0, 0)
x1
?g3
?g1
114Ejemplo KKT
- c (-1, -3) se ve así
- Entonces, cualquier cono en el que este vector
encaje corresponde al punto extremo óptimo.
115Ejemplo KKT
x2
(3/5, 8/5)
?g2
?g1
?g3
(0, 1)
?g2
?g4
?g4
(3, 0)
x1
(0, 0)
?g3
?g1
116Ejemplo KKT
- De esta manera, obtenemos el mismo punto óptimo
que cuando usamos el método simplex - Éste método también puede usarse para problemas
con tres variables en un espacio 3-D - Con cuatro variables o más, la visualización no
es posible y es necesario usar la definición
matemática
117Definición Matemática de las Condiciones KKT para
LP
- Dado un problema de minimización de LP
- Modificar las restricciones de manera que
tengamos
Donde gi(x) es la ecuación lineal de restricción
i. La bi que estaba en el lado derecho del signo
de desigualdad es movida al lado izquierdo e
incluida en gi.
118Definición Matemática de las Condiciones KKT para
LP
- Si existe una solución para x y las lis para
las condiciones de abajo, entonces x es el
óptimo global
Ecuación 1
Ecuación 2
Ecuación 3
Ecuación 4
119Explicación de la Ecuación 1
- La Ecuación 1 establece matemáticamente que el
vector de la función objetivo debe hallarse
dentro del cono formado por los vectores normales
a las restricciones activas en el punto óptimo
120Explicación de la Ecuación 2
- La Ecuación 2 fuerza a li a ser cero para todas
las restricciones inactivas llamada la
condición de soltura complementaria - Si la restricción es activa, gi(x) 0, entonces
li puede ser positiva y ?gi será parte del cono
en la Ecuación 1. - Si la restricción es inactiva, gi(x) ? 0,
entonces li debe ser cero. ?gi no será incluida
en el cono en la Ecuación 1 porque será
multiplicada por cero.
121Explicación de las Ecuaciones 3 y 4
- La Ecuación 3 asegura que x es factible
- La Ecuación 4 asegura que la dirección del cono
es correcta. - Si las lis fueran negativas, el cono estaría en
la dirección opuesta. Entonces, esta ecuación
previene que eso suceda.
122Resumen de Condiciones KKT
- Las condiciones KKT no son útiles al resolver
para puntos óptimos, pero pueden ser usadas para
revisar optimización y pueden ayudarnos a
visualizar la optimización - Las usaremos frecuentemente al tratar problemas
de optimización no lineal in la siguiente sección
123Solvers de LP Automatizados
- Existen muchos programas de software disponibles
que resolverán numéricamente los problemas de LP - Microsoft Excel es un programa que resuelve
problemas LP - Para ver los ejemplos de Excel para problemas de
optimización, busca y abre el archivo
"solvsamp.xls" (debe estar incluido en la
instalación estándar de Microsoft Office)
124Ejemplo 1 de LP en Excel
- Resolvamos el primer ejemplo en este capítulo con
Excel - El problema era
- Minimizar f -x1 x2
- Sujeta a x1 x2 5
- 2x1 x2 4
- x1 3 x1, x2 0
125Ejemplo 1 de LP en Excel
- Aquí está la hoja de cálculo de Excel con los
datos necesarios
En la hoja de cálculo, A2 es la celda de
referencia para x1 y B2 es la referencia para x2
126Ejemplo 1 de LP en Excel
- Puedes ver que bajo el encabezado "valor" para
las restricciones y función objetivo, simplemente
usamos las funciones dadas para calcular el valor
de la función
127Ejemplo 1 de LP en Excel
- En el lado derecho de las restricciones, en la
columna de "límite", escribimos el valor de bi
para esa restricción - Obviamente, la función objetivo no tiene un límite
128Ejemplo 1 de LP en Excel
- Entonces, la hoja de cálculo se ve así
129Ejemplo 1 de LP en Excel
- Ahora, necesitamos usar la función solver de
Excel - Busca "solver" en el menú Herramientas
- Si no está ahí, ve a complementos (Add-Ins) en
el menú herramientas (Tools) y selecciona Solver.
130Ejemplo 1 de LP en Excel
- La ventana del Solver debe parecerse a esta
131Ejemplo 1 de LP en Excel
- Este es un problema de minimización,l entonces
selecciona Mínimo (Min) y establece la "celda
objetivo" (Set target cell) como el valor de la
función objetivo - Las variables son x1 y x2, entonces en el cuadro
"Cambiando las celdas" (By Changing Cells),
selecciona A2 y B2
132Ejemplo 1 de LP en Excel
- Ahora agrega las restricciones
- Para la "Celda de Referencia" (Cell Reference),
usa el valor de la función de restricción y para
la "Restricción" (Constraint), usa el número en
la columna de Límite - Las restricciones son todas , así que debes
asegurarte de que lt aparece entre la Celda de
Referencia y los cuadros de Restricción
133Ejemplo 1 de LP en Excel
- Ahora, la ventana de Solver debe lucir así
134Ejemplo 1 de LP en Excel
- Finalmente, presiona el botón Opciones (Options)
- Todas las variables están especificadas como
positivas, así que selecciona el recuadro "Asumir
no negativos" (Assume Non-Negative)
135Ejemplo 1 de LP en Excel
- Puesto que este es un problema de LP, selecciona
el recuadro "Adoptar Modelo Lineal" (Assume
Linear Model) - Finalmente, la tolerancia por default de 5 es
por lo general demasiado grande. A menos que el
problema sea muy difícil, una tolerancia de 1 o
incluso 0.1 está usualmente bien.
136Ejemplo 1 de LP en Excel
- Da click en "Resolver" (Solve) y la ventana de
Resultados de Solver debe aparecer - Bajo "Informes" (Reports), selecciona Respuestas
(Answer Report) y presiona Aceptar (OK) - Una nueva hoja de cálculo que contiene el Informe
de Respuestas (Answer Report) se ha agregado al
archivo
137Ejemplo 1 de LP en Excel
- La hoja de cálculo con los valores óptimos debe
verse así
138Ejemplo 1 de LP en Excel
- Los valores para x1 y x2 son los mismos que
cuando resolvimos el problema usando el método
simplex - También, si observas el Informe de Respuestas
(Answer Report) puedes ver que todas las
variables flojas son iguales a cero, que es lo
que también obtuvimos con el método simplex
139Ejemplo 2 de LP en Excel
- Vamos a resolver otro problema de LP con Excel
- Maximizar 5x1 2x2 x3
- Sujeta a 2x1 4x2 x3 6
- 2x1 x2 3x3 2
- x1, x2 0
- x3 no restringida en signo
140Ejemplo 2 en Excel
- La hoja de cálculo con las ecuaciones debe quedar
como sigue
141Ejemplo 2 en Excel
- A diferencia del último ejemplo, no se especificó
que todas las variables sean positivas, ase que
no podemos usar la opción "Asumir no negativos"
(Assume Non-Negative) para todas las variables. - Entonces tenemos que especificar manualmente que
x1 y x2 son no negativas agregando dos
restricciones mas
142Ejemplo 2 en Excel
- Ahora, las fórmulas en la hoja de cálculo deben
verse así
143Ejemplo 2 en Excel
- Ahora, abre la ventana de parámetros del solver y
especifica - La Celda Objetivo (Target Cell),
- El rango de celdas variables,
- Problema de Maximización
- Las restricciones
- La primera restricción es y el resto son .
144Ejemplo 2 en Excel
- Presiona el botón de Opciones y selecciona el
recuadro de "Adoptar Modelo Lineal". - Recuerda, puesto que x3 no está restringida en
signo, no selecciones el recuadro de "Asumir no
negativos" - Puedes reducir la tolerancia si así lo deseas
145Ejemplo 2 en Excel
- La ventana del Solver debe verse como sigue
146Ejemplo 2 en Excel
- Después de resolver, la hoja de cálculo debe
lucir así
147Ejemplo 2 en Excel
- Nota que, debido a que x3 no estaba restringida
en signo, fue posible obtener un valor negativo y
esto mejoró la solución - Para ver cuanta diferencia hace esto en la
solución, resuelve el problema ahora
seleccionando la opción "Asumir no negativos"
148 Resolviendo Problemas de LP con Excel
- De estos ejemplos, puedes ver que Excel puede ser
una herramienta eficiente para usar al resolver
problemas de optimización de LP - El método para resolver problemas que fue
descrito aquí es obviamente solo una manera y el
usuario debe sentirse libre para experimentar y
encontrar su propio estilo
149Referencias
- Linear Programming and Network Flows Bazaraa,
Mokhtar John Jarvis Hanif Sherali. - Optimization of Chemical Processes 2nd Ed.
Edgar, Thomas David Himmelblau Leon Lasdon. - Pollution Prevention Through Process Integration
El-Halwagi, Mahmoud