Optimización de Procesos.

Slides:



Advertisements
Presentaciones similares
FACTORIZACIÓN LU Bachilleres:
Advertisements

Tema 4 Introducción a la Programación Lineal
DERIVADA DE UNA FUNCION REAL
Término independiente
El presente material contiene
1.- Definiciones. 2.- Fórmulas. 3.- Esquema. 4.- Ejercicios.
KRIGING.
Sistemas de Ecuaciones Diferenciales Lineales
METODO SIMPLEX El método Simplex es un procedimiento iterativo que permite ir mejorando la solución a cada paso. El proceso concluye cuando no es posible.
Investigación Operativa
Circunferencia. Presentado por: María del Rosario Ochoa Guerrero.
DERIVADAS PARCIALES Gráficas.
Función Lineal.
2- SIMPLEX.
Optimización de Procesos.
Supongamos que nos plantean el siguiente problema:
Tema 2: Métodos de ajuste
EXPONENTES Y RADICALES
CONCEPTOS BÁSICOS DEL SOLVER
Exponentes y Logaritmos.
TRANSFORMACIONES LINEALES PARA REDES NEURALES ARTIFICIALES
ECUACIONES DE SEGUNDO GRADO
Universidad de los Andes-CODENSA
GEOMETRÍA ANALÍTICA ESPACIO RECTAS Y PLANOS
Resolución de Problemas Método Simplex
EL PODER DE SOLVER.
GEOMETRÍA ANALÍTICA ESPACIO RECTAS Y PLANOS
Resolución de Problemas Método Simplex
Programación Lineal Unidad 1 Parte 3.
DIVISIÓN DE POLINOMIOS 1
Optimización de Procesos
DEFINICIONES Sea (P) el siguiente problema de programación lineal:
Diseño y análisis de algoritmos
Descomposición Factorial Unidad 5
Cap. 2 – Movimiento en Una Dimension
Tema 4 PROGRAMACIÓN LINEAL.
Ecuaciones de segundo grado
Ecuaciones Algebraicas
Calculadora Gráfica TI- 83: Conociendo el Menú de CALC.
Programación entera y optimización combinatoria Mayo 2007 Módulo 2:
5. El Método Simplex En lo que sigue consideremos un problema de programación lineal en su forma estándar ³ =
Microsoft Office Excel
Modelos Cuantitativos
Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas.
1 Condiciones de extremo Proceso para derivar las condiciones De problema más simple a más complejo Progresión de problemas: Problema sin restricciones.
TEMA 5: El problema del flujo con costo mínimo
Ecuaciones Algebraicas
POLINOMIOS p(x) = p0 + p1x + p2x2 + p3x3 + … + pnxn pn ≠ 0
INAOE CURSO PROPEDEUTICO PARA LA MAESTRIA EN ELECTRONICA
GEOMETRÍA ANALÍTICA ESPACIO RECTAS Y PLANOS
Matriz inversa Método Gauss Jordan.
Presentado por: carolina gallardo Universidad metropolitana de B/quilla.
FACTORIZACION.
Tipos de Funciones Función lineal.
MATRICES.
Modelos de Minimización
“CURSO PROPEDÉUTICO PARA EL MEJORAMIENTO DEL PENSAMIENTO MATEMÁTICO”
Matemáticas II. Profesor: Ing. Yadhira M. Rangel Carrillo.
Método Simplex Es un procedimiento sistemático y eficiente para encontrar y probar soluciones situadas en los puntos extremos de la región de soluciones.
Resolución Gráfica de PPL
MATEMÁTICAS EN SECUNDARIA: LAS UNIDADES DIDÁCTICAS EN INTERNET
6. Sistemas de ecuaciones diferenciales lineales
RECTAS Primera Parte.
OPTIMIZACION DEL DESEMPEÑO DE ERROR
TEMA 2 : ALGEBRA DE MATRICES.
Método Simplex Es un procedimiento sistemático y eficiente para encontrar y probar soluciones situadas en los puntos extremos de la región de soluciones.
Ing. Haydeli del Rosario Roa Lopez
UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO FACULTAD DE QUÍMICA P.E.L: INGENIERO QUÍMICO U.A: ÁLGEBRA LINEAL Unidad II Conceptos básicos de Álgebra Tema:
FUNCIONES EXPONENCIALES Y LOGARÍTMICAS. 1. Funciones exponenciales. Una función exponencial es una función cuya expresión es siendo la base a un número.
Presentado por: Yuli Domínguez. Portal Educativo El mentor de matemáticas Grupo Océano MÚLTIPLOS Y DIVISORES DE UN NÚMERO.
Transcripción de la presentación:

Optimización de Procesos

Tier I: Métodos Matemáticos de Optimización Sección 2: Programación Lineal

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

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.

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.

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 = 5 donde s1 ≥ 0

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.

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

Ejemplo 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

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

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

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.

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

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

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

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.

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:

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

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

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

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

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.

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.

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.

Solución General continuación Separa la matriz A en la siguiente manera: O,

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”

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.

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.

Solución General continuación Ahora tenemos Multiplica ambos lados por B-1: Así,

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:

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

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.

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

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?

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

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.

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.

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.

Álgebra del Método Simplex Recuerda: Suma global de las variables no básicas Función Objetivo: sustituir en la ecuación de arriba:

Álgebra del Método Simplex Multiplica y colecta términos xj: donde

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:

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.

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

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

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

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.

Ecuación de Variable Saliente La expresión previa es obtenida de la ecuación: que aplica cuando una restricción es cumplida

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.

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

Problema de Ejemplo Minimizar f = -x1 – x2 Sujeta a: x1 + x2 ≤ 5 x1 ≤ 3 ; x1, x2 ≥ 0 Dados: La base inicial es x1, x2, y x3. Insertar variables flojas x3, x4, y x5.

Ejemplo Minimizar f = -x1 – x2 Sujeta a: x1 + x2 + x3 = 5 x1, x2, x3, x4, x5 ≥ 0

Ejemplo 1a Iteración:

Ejemplo Ahora, revisa la optimización x4: x5: < 0 > 0

Ejemplo Entonces, x4 entra a la base puesto que su indicador de optimización es < 0.

Ejemplo Entonces, x3 es la variable saliente

Ejemplo a4 ha sido sustituida por a3 2a Iteración:

Ejemplo Indicadores de Optimización: x3: x5:

Solución al Ejemplo Todos los indicadores son ≥ 0, así que esta es la solución óptima. Entonces,

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.

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.

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

Eligiendo una Base Inicial Consideremos s = vector de variables flojas El problema se convertirá en Sujeta a Donde I = La matriz de Identidad . . . . . . . . .

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

Problema #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 Matriz de Identidad

Ejemplo #2 Usa las variables flojas como la base inicial: &

Ejemplo #2 Indicadores de Optimización: c2 - z2 es el más negativo, así que x2 entra a la base

Ejemplo #2 x2 está entrado a la base

Ejemplo #2 Entonces, x4 es la variable saliente.

Ejemplo #2 2a Iteración: x2 reemplazó a x4

Ejemplo #2 Indicadores de Optimización: Entonces, x1 entra a la base

Ejemplo #2 Variable Saliente: Entonces, x3 deja la base y x1 lo reemplaza.

Ejemplo #2 3a Iteración:

Ejemplo #2 Indicadores de Optimización: Ambos cj-zj’s son ≥ 0, entonces la solución actual es óptima

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

Ejemplo #2 Puesto que estamos minimizando, fuimos en la dirección opuesta como el vector costo x2 C en aumento x1

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.

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

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.

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.

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

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.

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 – x3 = 4 -3x1 + 4x2 – x4 = 5 2x1 + x2 + x5 = 6

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 – x3 + y1 = 4 -3x1 + 4x2 – x4 + y2 = 5 2x1 + x2 + x5 = 6

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.

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 – x4 = -4 3x1 – x2 + 3x3 + x5 = 2 -x1 + x2 + x3 = -1

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 + x4 = 4 3x1 – x2 + 3x3 + x5 = 2 x1 – x2 – x3 + y1 = 1 x1, x2, x3, x4, x5, y1 ≥ 0

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.

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

Ejemplo 3 de AV Inserta variables flojas: x1 + x2 – x3 = 1 Ahora necesitamos una variable artificial en la 1a restricción.

Ejemplo 3 de AV Inserta una variable artificial: x1 + x2 – x3 + y1 = 1

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

Ejemplo 3 de AV &

Ejemplo 3 de AV Indicadores de Optimización: j=1: j=2: j=3:

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

Ejemplo 3 de AV Así que x1 reemplaza a y1 en la base

Ejemplo 3 de AV

Ejemplo 3 de AV Indicadores de Optimización: j=2: j=3: j=6:

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.

La base sigue siendo la misma Ejemplo 3 de AV Volviendo al problema original: La base sigue siendo la misma

Ejemplo 3 de AV Indicadores de Optimización: Puesto que estamos maximizando, buscamos el más positivo. Entonces, x2 entra en la base.

Ejemplo 3 de AV x2 está entrando a la base

Ejemplo 3 de AV Mínimo De este modo x4 deja la base

Ejemplo 3 de AV Indicadores de Optimización: j=3: j=4:

Ejemplo 3 de AV

Ejemplo 3 de Variable Artificial Todos los indicadores de optimización son ≤ 0, por lo tanto esta es la solución óptima:

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í

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.

Condiciones KKT Recordatorio: Ejemplo: El gradiente () de una función f con n variables es calculada como sigue: Ejemplo:

Ejemplo 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:

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

Ejemplo KKT Cambia todas las restricciones para que sean ≥: g1: -2x1 – 3x2 ≥ -1 g2: x1 – x2 ≥ -1 g3: x1 ≥ 0 g4: x2 ≥ 0

Ejemplo KKT Los gradientes de las cuatro restricciones (contando las restricciones no negativas), g1, …, g4 son:

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

Ejemplo KKT c = (-1, -3) se ve así: Entonces, cualquier cono en el que este vector encaje corresponde al punto extremo óptimo.

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

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

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.

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

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

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.

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.

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

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)

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 x1 ≤ 3 ; x1, x2 ≥ 0

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

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

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

Ejemplo #1 de LP en Excel Entonces, la hoja de cálculo se ve así:

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.

Ejemplo #1 de LP en Excel La ventana del Solver debe parecerse a esta:

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

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

Ejemplo #1 de LP en Excel Ahora, la ventana de Solver debe lucir así:

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)

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.

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

Ejemplo #1 de LP en Excel La hoja de cálculo con los valores óptimos debe verse así:

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

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

Ejemplo #2 en Excel La hoja de cálculo con las ecuaciones debe quedar como sigue:

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

Ejemplo #2 en Excel Ahora, las fórmulas en la hoja de cálculo deben verse así:

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

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

Ejemplo #2 en Excel La ventana del Solver debe verse como sigue:

Ejemplo #2 en Excel Después de resolver, la hoja de cálculo debe lucir así:

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"

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

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