Descargar la presentación
La descarga está en progreso. Por favor, espere
1
Optimización de Procesos
2
Tier I: Métodos Matemáticos de Optimización
Sección 2: Programación Lineal
3
Programació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 + 7x4 sujeta a: 2x1 + 8x3 + x4 ≥ 20 x1 – 5x2 – 2x3 + 3x4 = -5
4
Programació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.
5
Forma 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.
6
Bases 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 = donde s1 ≥ 0
7
Usando 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.
8
Ejemplo de Forma Estándar
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
9
Ejemplo de Problema Reescrito
El problema ahora puede escribirse: minimizar: g = –x1 – x2 sujeta a: 2x1 + 3x2 + x = 6 x1 + 7x – x4 = 4 x1 + x = 3 x1 ≥ 0, x2 ≥ 0, x3 ≥ 0, x4 ≥ 0
10
Repaso 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
11
Vectores e Independencia Lineal
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 j=1, 2, …, k
12
Independencia Lineal Continuació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.
13
Independencia Lineal Continuació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
14
Grupos 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
15
Bases 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
16
Bases 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.
17
Sistemas 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:
18
Sistemas de Ecuaciones Continuació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
19
Resolviendo SOE’s 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
20
Resolviendo SOE’s 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
21
Matriz 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
22
Ecuaciones 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.
23
Solución General a los SOE’s
Dado un sistema de ecuaciones en la forma Asume m (número de ecuaciones) < 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.
24
Solució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.
25
Solución General continuación
Separa la matriz A en la siguiente manera: O,
26
Solució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”
27
Solució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.
28
Solució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.
29
Solución General continuación
Ahora tenemos Multiplica ambos lados por B-1: Así,
30
Solució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, entonces A esto se le llama "solución básica" del sistema Solución Básica:
31
Soluciones 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
32
Puntos Extremos Un punto es llamado punto extremo (extreme point, EP) si no puede ser representado como una combinación convexa estricta (0 < l < 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.
33
Puntos 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 Feasible Region Punto Extremo
34
Puntos 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?
35
Puntos 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
36
Soluciones 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.
37
Desafortunadamente, esto toma mucho tiempo.
Enlazá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.
38
Introducció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
Recuerda: 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
41
Ecuaciones 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 < 0 para cualquier j, esa variable no básica, xj, podría entrar la base y reducir la función objetivo. Sujeta a:
42
Variables 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.
43
Ecuació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
44
Variables 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
45
Variable 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 > 0, así que es una variable básica. Entonces, x2 deja la base y x1 entra en la base. x4 x3 x2 x1
46
Ecuació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.
47
Ecuación de Variable Saliente
La expresión previa es obtenida de la ecuación: que aplica cuando una restricción es cumplida
48
El Ejemplo Revisado x1 x2 x3 x4 x2, x3, y x4 inician en (B-1b)i ; (i=2, 3, 4) y tienen pendientes de (–B-1aj)i ; (i=2, 3, 4) donde j=1 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 > 0. Pero, si (B-1a1)i < 0 (como x3), nunca alcanzará el cero.
49
El 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
50
Problema de Ejemplo Minimizar f = -x1 – x2 Sujeta a: x1 + x2 ≤ 5
x ≤ 3 ; x1, x2 ≥ 0 Dados: La base inicial es x1, x2, y x3. Insertar variables flojas x3, x4, y x5.
51
Ejemplo Minimizar f = -x1 – x2 Sujeta a: x1 + x2 + x3 = 5
x1, x2, x3, x4, x5 ≥ 0
52
Ejemplo 1a Iteración:
53
Ejemplo Ahora, revisa la optimización x4: x5: < 0 > 0
54
Ejemplo Entonces, x4 entra a la base puesto que su indicador de optimización es < 0.
55
Ejemplo Entonces, x3 es la variable saliente
56
Ejemplo a4 ha sido sustituida por a3 2a Iteración:
57
Ejemplo Indicadores de Optimización: x3: x5:
58
Solución al Ejemplo Todos los indicadores son ≥ 0, así que esta es la solución óptima. Entonces,
59
Pasos 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 – zj’s 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.
60
Pasos del Algoritmo Simplex
Usando la ecuación elige la variable saliente. Si todos los (B-1aj)i’s 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.
61
Eligiendo 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
62
Eligiendo una Base Inicial
Consideremos s = vector de variables flojas El problema se convertirá en Sujeta a Donde I = La matriz de Identidad . . . . . . . . .
63
Eligiendo 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):
64
Problema #2 de Ejemplo Minimizar -x1 – 3x2 Sujeta a 2x1 + 3x2 ≤ 6
-x1 + x2 ≤ x1, x2 ≥ 0 Inserta variables flojas: 2x1 + 3x2 + x = 6 -x x x4 = 1 x1, x2, x3, x4 ≥ 0 Matriz de Identidad
65
Ejemplo #2 Usa las variables flojas como la base inicial: &
66
Ejemplo #2 Indicadores de Optimización:
c2 - z2 es el más negativo, así que x2 entra a la base
67
Ejemplo #2 x2 está entrado a la base
68
Ejemplo #2 Entonces, x4 es la variable saliente.
69
Ejemplo #2 2a Iteración: x2 reemplazó a x4
70
Ejemplo #2 Indicadores de Optimización: Entonces, x1 entra a la base
71
Ejemplo #2 Variable Saliente:
Entonces, x3 deja la base y x1 lo reemplaza.
72
Ejemplo #2 3a Iteración:
73
Ejemplo #2 Indicadores de Optimización:
Ambos cj-zj’s son ≥ 0, entonces la solución actual es óptima
74
Ejemplo #2 Esta gráfica muestra el procedimiento seguido.
Las líneas punteadas son perpendiculares al vector de costo, c. x2 c en aumento x1
75
Ejemplo #2 Puesto que estamos minimizando, fuimos en la dirección opuesta como el vector costo x2 C en aumento x1
76
Má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.
77
Caso #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
78
Variables 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.
79
Mé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.
80
Método de 2 Fases Continuación
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
81
Variables 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 (< o >) 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.
82
Ejemplo 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 – x = 4 -3x1 + 4x – x = 5 2x1 + x x5 = 6
83
Ejemplo 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 – x y = 4 -3x1 + 4x – x y2 = 5 2x1 + x x = 6
84
Ejemplo 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.
85
Ejemplo 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 – x = -4 3x1 – x2 + 3x x5 = 2 -x1 + x2 + x = -1
86
Ejemplo 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 + x = 4 3x1 – x2 + 3x x5 = 2 x1 – x2 – x y1 = 1 x1, x2, x3, x4, x5, y1 ≥ 0
87
Manipulació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.
88
Ejemplo 3 de Variable Artificial (AV)
Considera el problema: Maximizar -x1 + 8x2 Sujeta a: x1 + x2 ≥ 1 -x1 + 6x2 ≤ 3 x2 ≤ 2 x1, x2 ≥ 0
89
Ejemplo 3 de AV Inserta variables flojas: x1 + x2 – x3 = 1
Ahora necesitamos una variable artificial en la 1a restricción.
90
Ejemplo 3 de AV Inserta una variable artificial: x1 + x2 – x3 + y1 = 1
91
Ejemplo 3 de AV Entonces, la Fase 1 es: Minimizar y1
Sujeta a: x1 + x2 – x y1 = 1 -x1 + 6x x4 = 3 x x5 = 2 Nuestra base inicial es: y1, x4, y x5.
92
Ejemplo 3 de AV &
93
Ejemplo 3 de AV Indicadores de Optimización: j=1: j=2: j=3:
94
Ejemplo 3 de AV Es un vínculo entre x1 y x2 – elige x1 para entrar a la base x1 está entrando a la base
95
Ejemplo 3 de AV Así que x1 reemplaza a y1 en la base
96
Ejemplo 3 de AV
97
Ejemplo 3 de AV Indicadores de Optimización: j=2: j=3: j=6:
98
Ejemplo 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.
99
La base sigue siendo la misma
Ejemplo 3 de AV Volviendo al problema original: La base sigue siendo la misma
100
Ejemplo 3 de AV Indicadores de Optimización:
Puesto que estamos maximizando, buscamos el más positivo. Entonces, x2 entra en la base.
101
Ejemplo 3 de AV x2 está entrando a la base
102
Ejemplo 3 de AV Mínimo De este modo x4 deja la base
103
Ejemplo 3 de AV Indicadores de Optimización: j=3: j=4:
104
Ejemplo 3 de AV
105
Ejemplo 3 de Variable Artificial
Todos los indicadores de optimización son ≤ 0, por lo tanto esta es la solución óptima:
106
Condiciones 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í
107
Condiciones 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.
108
Condiciones KKT Recordatorio: Ejemplo:
El gradiente () de una función f con n variables es calculada como sigue: Ejemplo:
109
Ejemplo de Restricciones KKT
Ejemplo: En el problema #2 de ejemplo, tenemos el problema: Minimizar f = -x1 – 3x2 Sujeta a: 2x x2 ≤ 6 -x x2 ≤ 1 x1, x2 ≥ 0 El gradiente de la función de costo, -x1 – 3x2 es:
110
Ejemplo 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
111
Ejemplo KKT Cambia todas las restricciones para que sean ≥:
g1: -2x1 – 3x2 ≥ -1 g2: x1 – x2 ≥ -1 g3: x ≥ 0 g4: x2 ≥ 0
112
Ejemplo KKT Los gradientes de las cuatro restricciones (contando las restricciones no negativas), g1, …, g4 son:
113
Ejemplo 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) g1 g2 g3 (0, 1) Restricción 1 g2 g4 g4 (3, 0) (0, 0) x1 g3 g1
114
Ejemplo KKT c = (-1, -3) se ve así:
Entonces, cualquier cono en el que este vector encaje corresponde al punto extremo óptimo.
115
Ejemplo KKT x2 x1 ¡Encaja! No encaja No encaja No encaja (3/5, 8/5)
g1 g2 (0, 1) g3 g2 g4 g4 (3, 0) (0, 0) x1 g3 g1 No encaja No encaja
116
Ejemplo 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
117
Definició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.
118
Definición Matemática de las Condiciones KKT para LP
Si existe una solución para x* y las li’s para las condiciones de abajo, entonces x* es el óptimo global Ecuación 1 Ecuación 2 Ecuación 3 Ecuación 4
119
Explicació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
120
Explicació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.
121
Explicació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 li’s fueran negativas, el cono estaría en la dirección opuesta. Entonces, esta ecuación previene que eso suceda.
122
Resumen 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
123
Solvers 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)
124
Ejemplo #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 x ≤ 3 ; x1, x2 ≥ 0
125
Ejemplo #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
126
Ejemplo #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
127
Ejemplo #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
128
Ejemplo #1 de LP en Excel Entonces, la hoja de cálculo se ve así:
129
Ejemplo #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.
130
Ejemplo #1 de LP en Excel La ventana del Solver debe parecerse a esta:
131
Ejemplo #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
132
Ejemplo #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 “<=“ aparece entre la Celda de Referencia y los cuadros de Restricción
133
Ejemplo #1 de LP en Excel Ahora, la ventana de Solver debe lucir así:
134
Ejemplo #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)
135
Ejemplo #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.
136
Ejemplo #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
137
Ejemplo #1 de LP en Excel La hoja de cálculo con los valores óptimos debe verse así:
138
Ejemplo #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
139
Ejemplo #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
140
Ejemplo #2 en Excel La hoja de cálculo con las ecuaciones debe quedar como sigue:
141
Ejemplo #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
142
Ejemplo #2 en Excel Ahora, las fórmulas en la hoja de cálculo deben verse así:
143
Ejemplo #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 ≥.
144
Ejemplo #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
145
Ejemplo #2 en Excel La ventana del Solver debe verse como sigue:
146
Ejemplo #2 en Excel Después de resolver, la hoja de cálculo debe lucir así:
147
Ejemplo #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
149
Referencias 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
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.