Optimización lineal. José María Ferrer Caja Universidad Pontificia Comillas ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INDUSTRIAL

Documentos relacionados
Dualidad y postoptimización

Tema 3: El Método Simplex. Algoritmo de las Dos Fases.

El método simplex 1. 1 Forma estándar y cambios en el modelo. 2 Definiciones. 3 Puntos extremos y soluciones factibles básicas. 4 El método simplex.

Tema 3 Optimización lineal. Algoritmo del simplex

Dualidad 1. 1 Formas simétricas. 2 Relación primal-dual. 3 Dualidad: el caso general. 4 Teoremas de dualidad. 5 Condiciones de holgura complementaria.

Forma estándar de un programa lineal

Algebra lineal y conjuntos convexos 1

Conjuntos y funciones convexas

Algebra lineal y conjuntos convexos

Optimización lineal. Diego A. Patino. 2 de septiembre de Pontificia Universidad Javeriana 1/ 29

Optimización de Problemas de Producción

Programación lineal: Algoritmo del simplex

INGENIERÍA DE SISTEMAS INVESTIGACIÓN OPERATIVA

Repaso del algoritmo SIMPLEX

7. PROGRAMACION LINEAL

RESOLUCIÓN DE MODELOS DE PROGRAMACIÓN ENTERA MÉTODOS DE CORTE CORTES DE GOMORY

Universidad Nacional Autónoma de Nicaragua UNAN-Managua Curso de Investigación de Operaciones

Jesús Getán y Eva Boj. Marzo de 2014

Programación Lineal. María Muñoz Guillermo Matemáticas I U.P.C.T. M. Muñoz (U.P.C.T.) Programación Lineal Matemáticas I 1 / 13

Forma estándar de un PPL con m restricciones y n variables. (b 0)

Programación Lineal Continua

MÉTODO ALGEBRAICO: Obtención de las soluciones básicas:

METODO SIMPLEX. Paso 1 Se convierte el modelo matemático de Programación Lineal (PL) a su forma estándar.

Programación Lineal. El método simplex

UNIDAD 3 MÉTODO SIMPLEX. Fundamentos del método simplex

x 1, x 2 0 Maximizar 3x 1 + x 2 s.a 2x 1 + x 2 4 2x 1 + 3x 2 4 x 1 + 3x 2 3

Degeneración y ciclaje. Método de las dos fases CO-3411 (S08) 30/03/

Formulación del problema de la ruta más corta en programación lineal

El algoritmo del Simplex. Forma tabular

84 Tema 3. Dualidad. todas las restricciones son del tipo, todas las variables son no negativas.

1.Restricciones de Desigualdad 2.Procedimiento algebraico

Dualidad. Dpto. Ingeniería Industrial, Universidad de Chile. 22 de abril de IN3701, Optimización

La lección de hoy de febrero de Notación. Solución factible básica

Un sistema de ecuaciones diferenciales son aquellas que tienen varias posibilidades para su solución. Estas son:

Programación Lineal Pedro Sánchez

Guía de Problemas para el Control 2

Formato para prácticas de laboratorio

Universidad Nacional de Ingeniería UNI-RUACS 01/09/11

3.1. Motivación gráfica del método Simplex

0. En la solución inicial estos ratios son 30; 155

Tema 2 Conjuntos convexos

Soluciones básicas factibles y vértices Introducción al método símplex. Investigación Operativa, Grado en Estadística y Empresa, 2011/12

EL MÉTODO SIMPLEX ALGEBRAICO. M. En C. Eduardo Bustos Farías

Con miras a conocer la metodología que se aplica en el Método SIMPLEX, tenemos a continiacion un ejemplo:

Tema 5 Dualidad y condiciones de Karush-Kuhn-Tucker

La Geometría de la Programación Lineal

Contenido: Solución algebraica a los problemas de programación lineal con el método simplex.

Universidad Tec Milenio: Profesional HG04002 Análisis de Decisiones I

ANÁLISIS DE SENSIBILIDAD.

Introducción a la programación lineal

Dirección de Operaciones

INVESTIGACION DE OPERACIONES:

Auxiliar 7: Dualidad

Tema 4 Funciones convexas y optimización convexa

METODO SIMPLEX: SOLUCION DE PROBLEMAS DE PROGRAMACION LINEAL.

UNIVERSIDAD CARLOS III DE MADRID Ingeniería Informática Examen de Investigación Operativa 16 de febrero de 2007

Optimización y Programación Lineal

MATE Método Simplex maximización estándar

INTRODUCCIÓN A LA PROGRAMACIÓN MATEMÁTICA

(2.b) PROPIEDADES DE LOS MODELOS LINEALES

Tema V: Optimización Lineal

Programación Entera. Nelson Devia C. IN Modelamiento y Optimización Departamento de Ingeniería Industrial Universidad de Chile

Tema 3. El metodo del Simplex.

PROGRAMACIÓN MATEMÁTICA

Investigación Operacional I EII 445

Lo que se hace entonces es introducir variables artificiales ADAPTACIÓN A OTRAS FORMAS DEL MODELO.

MÉTODO SIMPLEX REVISADO O FORMA MATRICIAL

Ejercicios - Resolución de problemas lineales. Método Simplex

Tema 7: Problemas clásicos de Programación Lineal

RELACIÓN DE PROBLEMAS DE CLASE DE PROGRAMACIÓN LINEAL ENTERA

Es decir, det A = producto de diagonal principal producto de diagonal secundaria. Determinante de una matriz cuadrada de orden 3

Tema 2: Optimización lineal. Ezequiel López Rubio Departamento de Lenguajes y Ciencias de la Computación Universidad de Málaga

IN Guía de Problemas Resueltos de Geometría de Programación Lineal v1.0

Investigación Operativa I. Programación Lineal. Informática de Gestión

EJERCICIO 1. Max Z = 6 x x 2 s.r. (1) 4 x x 2 12 (2) 2 x x 2 16 (3) 2 x 1 6 x 1, x 2 0

Figura 1: Esquema de las tablas simplex de inicio y general.

Matemáticas.

maximización (con restricciones de la forma menor igual que). asociado al modelo primal de minimización y viceversa.

RESOLUCIÓN DE SISTEMAS MEDIANTE DETERMINANTES

PROGRAMACIÓN LINEAL. Programación Lineal

Resolvamos los modelos de una vez por todas (aunque tengan más de dos variables) Usaremos el Método Simplex, desarrollado por George Dantzig en 1947

EL PROBLEMA GENERAL DE OPTIMIZACION

BASES MATEMÁTICAS DEL MÉTODO SIMPLEX (Parte 3)

Examen de Investigación Operativa (Plan 96) Febrero de er Parcial

PASO 1: Poner el problema en forma estandar.

Control 2 IN mayo 2009

MÉTODO DEL DUAL (TEORIA DE DUALIDAD)

Análisis de Sensibilidad de los Resultados

Algunos conceptos que utilizaremos en lo sucesivo son: Sistema de restricciones lineales: conjunto de todas las restricciones.

Comenzaremos presentando la idea principal del método de Karmarkar, para después describir los detalles de cómputo del algoritmo.

Análisis Post Optimal y Algoritmo de Ramificación y Acotamiento

Tema 5: Análisis de Sensibilidad y Paramétrico

Tema 7: Programación matemática

POST-OPTIMIZACIÓN Y SENSIBILIDAD EN PROBLEMAS LINEALES.

Control 2 13 de Mayo 2009

Matemáticas 2ºBachillerato Aplicadas a las Ciencias Sociales

Universidad Carlos III de Madrid Licenciatura en Administración de Empresas Examen de Programación Matemática 19 de Septiembre de 2007 Soluciones

Teoría de grafos y optimización en redes

UNIVERSIDAD NACIONAL DE TRUJILLO

Coeficiente objetivo de la variable artificial = +M, para minimización

Transcripción:

Optimización lineal José María Ferrer Caja Universidad Pontificia Comillas

Introducción Herramienta más importante de la optimización y de la investigación operativa Multitud de aplicaciones en campos diversos Economía y finanzas Sector energético Producción industrial Logística Marketing Existencia de métodos potentes de resolución Base para resolver problemas más complejos Programación entera Programación estocástica Programación multiobjetivo Optimización lineal- 1

Forma estándar min s.a z= cx + cx + + cx 1 2 a x + a x + + a x = b n n 11 1 12 2 1n n 1 a x + a x + + a x = b m1 1 m2 2 mn n m x, x,, x 0 n Matricialmente T mincx x Ax= b x 0 x R, c R, A R, b R n n m n m Notación m a R j Columna j-ésima de la matriz A Optimización lineal- 2

Conversión a forma estándar Maximización a minimización max z = min z Desigualdad a igualdad De a = : Se añade una variable de holgura u 0 j ax b ax + u = b ij j i ij j i i j De a = : Se añade una variable de exceso v 0 j ax b ax v = b ij j i ij j i i j Variables negativas a positivas x 0 y = x ; y 0 j j j j Variables no restringidas en signo a positivas x + + R x = x x ; x, x 0 j j j j j j i i Optimización lineal- 3

Formas canónicas min s.a z= cx + cx + + cx 1 2 a x + a x + + a x b n n 11 1 12 2 1n n 1 a x + a x + + a x b m1 1 m2 2 mn n m x, x,, x 0 n max s.a z= cx + cx + + cx 1 2 a x + a x + + a x b n n 11 1 12 2 1n n 1 a x + a x + + a x b m1 1 m2 2 mn n m x, x,, x 0 n Matricialmente T mincx x Ax b x 0 x R, c R, A R, b R n n m n m T maxcx x Ax b x 0 x R, c R, A R, b R n n m n m Optimización lineal- 4

Propiedades Proporcionalidad La contribución de cada actividad al valor de la función objetivo y a la parte izquierda de cada restricción es proporcional al nivel de la actividad Aditividad La función objetivo y la parte izquierda de cada restricción son las sumas de las contribuciones individuales de las actividades Divisibilidad, continuidad Cualquier variable puede tomar cualquier valor real (también fraccionario) Determinismo Los coeficientes son conocidos con certidumbre, o han sido estimados Optimización lineal- 5

Resolución gráfica Puede aplicarse cuando se tienen dos variables No es necesario pasar a forma estándar ni canónica Dibujar el conjunto factible en el plano, por medio de las ecuaciones de las rectas que lo delimitan Tomar el vector gradiente de la función objetivo c 1 z= c= c 2 Problema de maximización: Buscar el último punto del conjunto factible en la dirección del vector gradiente Problema de minimización: Buscar el último punto del conjunto factible en la dirección contraria al vector gradiente Las rectas de isobeneficio (perpendiculares al gradiente) pueden ayudar a encontrar el óptimo Optimización lineal- 6

Resolución gráfica. Ejemplo 1 x = 0 1 maxx + 3x s.a 4 14, 3 3 Óptimo x + x 6 x + 2x 8 x, x 0 x + 2x = 8 x + 3x = 46 3 c 1 = 3 x + 3x = 0 x + x = 6 x = 0 2 La solución óptima es x 1 * = 4/3, x 2 * = 14/3 La función objetivo vale z* = 46/3 Optimización lineal- 7

Resolución gráfica. Ejemplo 2 x = 0 1 max 4x + x s.a x x 1 x, x 0 x x = 1 c 4 = 1 x = 0 2 4x + x = 0 La solución óptima es no acotada: z* Optimización lineal- 8

Resolución gráfica. Ejemplo 3 minx + x s.a 1 x + x 1 x x x 0 3 x = 0 1 x x = 3 1 c= 1 ( 0, 1) ( 1, 2) x + x = 0 x x + = 1 Solución óptima: segmento que une los puntos (0,-1) y (1,-2), z*=-1 Optimización lineal- 9

Conjuntos poliédricos Hiperplano Semiespacio j j a x = b ij j a x b ij j Cada hiperplano divide al espacio en dos semiespacios Conjunto poliédrico o poliedro: Intersección de un número finito de semiespacios El conjunto factible de un problema de PL es poliédrico Politopo: Conjunto poliédrico acotado y no vacío i i Optimización lineal- 10

Conjuntos convexos n Un subconjunto X de R es convexo si xy, X, λ 0,1 λx+ (1 λ) y X Cada segmento que une cualquier par de puntos de X está contenido en el conjunto X. convexo no convexo Todo conjunto poliédrico es convexo El conjunto factible de un problema de PL es convexo Optimización lineal- 11

Combinaciones y envolturas convexas Una combinación lineal convexa de un conjunto de puntos {x 1,x 2,,x k } es un punto que se puede expresar de la forma k λx i= 1 i i siendo λ i 0 i, λ = 1 Se llama envoltura convexa de un conjunto de puntos {x 1,x 2,,x k } al conjunto de todas las combinaciones lineales convexas del conjunto k La envoltura convexa de un conjunto de 2 puntos es un segmento i= 1 i La envoltura convexa de un conjunto de puntos es un politopo Optimización lineal- 12

Vértices y aristas Un vértice o punto extremo de un poliedro es un punto del poliedro que no puede expresarse como combinación lineal convexa de dos puntos distintos del poliedro x 1 x 2 x 3 4 vértices: x 1, x 2, x 3, x 4 x 4 n Un vértice de un poliedro en R es la intersección de n de los hiperplanos que definen el poliedro Un politopo es la envoltura convexa de sus vértices Una arista es el subconjunto del conjunto factible obtenido intersecando n-1 hiperplanos. Optimización lineal- 13

Direcciones de recesión y direcciones extremas Una dirección de recesión de un poliedro es un vector d, tal quex+ d X x X Un politopo no tiene direcciones de recesión Una dirección extrema de un poliedro es una dirección de recesión que no puede expresarse como combinación lineal positiva de dos direcciones de recesión distintas Dirección de recesión Dirección extrema Toda dirección de recesión de un poliedro es combinación lineal positiva de sus direcciones extremas Optimización lineal- 14

Teorema de representación de un poliedro Todo punto del poliedro se puede representar como una combinación lineal convexa de sus puntos extremos más una combinación lineal positiva de sus direcciones extremas Sean {x 1,x 2,,x k } los puntos extremos del poliedro Sean {d 1,d 2,,d l } las direcciones extremas del poliedro Seax X k x= λx + ηd λ i i i i= 1 j= 1 k 0 i, λ = 1 µ 0 j j i= 1 i l j j Optimización lineal- 15

Tipos de soluciones de un problema de PL Sea el problema T mincx Ax= b x 0 Solución: Punto que verifica las restricciones Ax= b Solución factible: Solución que además cumple x 0 Conjunto factible: Conjunto de soluciones factibles n { R : Ax bx, 0} X= x = Solución básica factible: Solución factible que se corresponde con un punto extremo del conjunto factible Solución óptima: Solución factible donde se alcanza el mínimo de la función objetivo Optimización lineal- 16

Tipos de problemas de PL Infactible: El conjunto factible es vacío Si existe alguna solución factible, entonces existe alguna solución básica factible Con solución óptima: Existe alguna solución óptima para el problema Si existe alguna solución óptima, entonces existe alguna solución básica factible óptima (Teorema fundamental de la PL) Si la solución óptima es única, esta es básica factible Si hay múltiples soluciones óptimas y el conjunto factible es acotado, el conjunto de soluciones óptimas es la envoltura convexa de las soluciones básicas factibles óptimas No acotado: Se puede avanzar siguiendo una dirección de recesión disminuyendo indefinidamente la función objetivo Optimización lineal- 17

Idea general del método simplex Buscar una solución básica factible (vértice) inicial Compararlo con los vértices adyacentes y quedarnos con el que más disminuya la función objetivo Repetir hasta que no se pueda disminuir más la función objetivo Dificultades a salvar Cómo se caracterizan analíticamente las soluciones básicas factibles Cómo encontrar una solución básica factible inicial Cuáles son los vértices adyacentes, y cómo saber cuánto disminuye cada uno la función objetivo Cómo detectar infactibilidad y no acotamiento Optimización lineal- 18

Hipótesis para el método simplex El problema está expresado en forma estándar T mincx x Ax= b x 0 x R, c R, A R, b R n n m n m La matriz de coeficientes tiene rango máximo por filas: rg(a) = m n Si no es cierto, o bien pueden eliminarse algunas restricciones por ser redundantes, o bien el problema es infactible Los términos independientes son no negativos: b 0 Esta hipótesis no es obligatoria, pero sí conveniente para iniciar el método de forma sencilla Optimización lineal- 19

Soluciones básicas: Caracterización Partir el conjunto de variables en m básicas y n m no básicas Igualar a 0 las variables no básicas y despejar las variables básicas en Ax = b Si todas las variables son no negativas la solución básica es factible Si alguna variable es negativa la solución básica es infactible El número de soluciones básicas (entre factibles y infactibles) es C nm, n n! = = m m!( n m)! No todas las soluciones básicas son siempre distintas: Si alguna variable básica vale 0 en una solución básica (solución básica degenerada), ésta se puede obtener mediante otra selección de variables básicas y no básicas Optimización lineal- 20

Soluciones básicas: Ejemplo maxx + 3x x + x 3 x + x 1 x, x 0 (-1,0) (0,3) (0,1) (0,0) (1,2) (3,0) En forma estándar Soluciones básicas: x, x x, x 1 3 min x 3x x + x + x = 3 x + x + x = 4 x, x, x, x 0 3 4 x x x, x x, x x, x 2 3 2 4 3 4, 1 4 (1,2,0,0) (-1,0,4,0) (3,0,0,4) (0,1,2,0) (0,3,0,-2) (0,0,3,1) Factible Infactible Factible Factible Infactible Factible 3 1 Optimización lineal- 21

Bases Una base es una submatriz B de orden m de la matriz A Hay una correspondencia biunívoca entre particiones (en variables básicas y no básicas) y bases Dada una base, los elementos del problema se pueden descomponer: mxm B matriz BÁSICA o BASE R A = ( B N ) mxn m N R matriz NO BÁSICA m x vector de variables BÁSICAS B xb x R = n m x N x R vector de variables NO BÁSICAS N m c c coeficien B B c= R tes de variables BÁSICAS c n m N c N R coeficientes de variables NO BÁSICAS Conjunto de índices básicos Conjunto de índices no básicos I B I N Optimización lineal- 22

Reformulación del problema Despejar variables básicas Ax= b Función objetivo ( ) Bx + Nx = b x = B b Nx = B b B Nx 1 1 1 B N B N N z= c x + c x = c B b+ c c B N x T T T 1 T T 1 B B N N B N B N Si se fijan a 0 las variables no básicas se obtiene la solución básica asociada a la base B ˆ ˆ 1 x = b= B b B xˆ = 0 N T T 1 zˆ = c x = c B b B B B Valor de las variables básicas en la solución básica Valor de las variables no básicas en la solución básica Valor de la función objetivo en la solución básica Optimización lineal- 23

Adyacencia Dos vértices son adyacentes si el segmento que los une es una arista del poliedro Cada vértice adyacente corresponde a una variable no básica Para cada solución básica factible existen n - m soluciones básicas factibles adyacentes Moverse de una solución básica factible a otra adyacente corresponde a hacer básica una variable no básica (y por lo tanto una básica pasará a ser no básica) Una vez elegida la variable no básica que pasa a ser básica, ésta se ha de incrementar hasta que alguna de las básicas valga 0 Interesará elegir la variable no básica cuyo incremento suponga una mayor disminución en la función objetivo Optimización lineal- 24

Costes reducidos Cada variable no básica tiene su coste reducido o derivada direccional cˆ = c z = c c B a T 1 j j j j B j Matricialmente 1 cˆ T = c T c T B N N N B Mide en cuanto aumenta la f. o. por cada unidad que aumente marginalmente la variable ( ) Criterio de entrada ( ) z= c x + c x = zˆ+ c c B N x = zˆ+ c c B a x T T T T 1 T 1 B B N N N B N j B j j j I = zˆ+ c z x = zˆ+ cx ˆ j I N j j j j j j I N Seleccionar la variable no básica con coste reducido más negativo N Optimización lineal- 25

Costes reducidos y optimalidad El coste reducido de cada variable básica es 0 Si todos los costes reducidos son no negativos la solución básica factible es óptima Si en una solución básica factible óptima una variable no básica tiene coste reducido nulo, la solución básica factible adyacente asociada a dicha variable es también óptima En este caso puede haber óptimos múltiples Optimización lineal- 26

Elección de la variable de salida Sea la variable de entrada a la base x t Debe incrementarse el valor de con lo que las variables básicas ven modificado su valor x t Debe incrementarse hasta que alguna variable básica decrezca a 0. Esta variable pasará a ser no básica Si todas las variables básicas crecen la solución óptima es no acotada, pues podría incrementarse indefinidamente 1 Y= B N 1 y = B a t t La variable básica i decrece si ( x ) = 0 x = bˆ / y Criterio de salida bˆ i Elegir la variable básica i con y > 0 para la que sea mínimo it y x t x t x B b B Nx b Yx ( x ) = bˆ yx 1 1 = = ˆ B N N B i B i t i it i it t y > it 0 Valor de la variable entrante si se hace 0 la variable básica i it Optimización lineal- 27

Algoritmo simplex 1. Inicialización Elegir una base B que proporcione una solución básica factible ˆ 1 1 xˆ = b= B b 0 Y = B N B xˆ = 0 N zˆ = c B b= c x = cb T 1 T T ˆ ˆ B B B B 2. Criterio de optimalidad. Elección de la variable de entrada 1 Cálculo de costes reducidos ˆT T T c = c c B N= c T cy T N N B N B T Si c ˆ 0 La solución actual es óptima N Si no, elegir la variable tal quecˆ = min cˆ : cˆ < 0 3. Elección de la variable de salida Si y 0 i I solución no acotada it Si no, elegir la variable básica 4. Pivoteo Con la nueva base B actualizar Volver al paso 2 B x { } t tal que Optimización lineal- 28 x s t ˆ j bˆ y j j s st ˆ 1 B, x, Y, z B bˆ i = min : y 0 > i I it B y it

Interpretación geométrica del simplex Operación algebraica Solución básica factible inicial Selección de la variable no básica Incremento de la variable entrante La variable básica saliente se hace cero Nueva solución básica factible Interpretación geométrica Vértice inicial Selección de arista Movimiento a lo largo de la arista Se alcanza un vértice adyacente Nuevo vértice Optimización lineal- 29

Comentarios al método simplex Criterio de entrada En caso de empate, elegir cualquiera (menor índice, al azar, ) Seleccionar la variable con menor coste reducido no garantiza la mayor disminución de la función objetivo tras el pivoteo Existen otras reglas de entrada Criterio de salida En caso de empate, elegir cualquiera (menor índice, regla lexicográfica, ). Un empate produce degeneración Problema de maximización: 2 opciones Pasar a minimización cambiando el signo de los costes Cambiar el criterio de optimalidad y la regla de entrada: T Si cˆ 0 N La solución actual es óptima Si no, elegir la variable tal quecˆ = max cˆ : cˆ > 0 x { } t t j j j Optimización lineal- 30

Algoritmo simplex. Ejemplo (1) maxx + 3x x + x 3 x + x 1 x, x 0 Se pasa a forma estándar Los elementos del problema son min x 3x x + x + x = 3 x + x + x = 4 x, x, x, x 0 3 4 3 1 x 1 1 x 3 1 1 1 0 3 2 x= ; c ; A ; b = = ; m 2; n 4 x 0 = = = 1 1 0 1 1 3 x 0 4 Se cumple rga ( ) = m Optimización lineal- 31

Algoritmo simplex. Ejemplo (2) PASO 1: Se elige una base 1 0 1 1 x x 0 1 3 1 B= ; N ; x ; x ; c ; c = = B = N = B = N 0 1 1 1 x x 0 3 4 2 Se comprueba que proporciona una solución básica factible B 1 0 1 0 3 3 ; xˆ bˆ = B b = = = = 0 0 1 0 1 1 1 1 1 B Factible Se obtienen los valores de las variables, de la f. o. y la matriz Y 3 0 3 ˆ ˆ ; ˆ T ; ˆ ˆ x = b= x z cb ( 0 0) 0 B = N = = B = 1 0 1 1 0 1 1 1 1 = = = 0 1 1 1 1 1 1 Y B N Optimización lineal- 32

Algoritmo simplex. Ejemplo (3) PASO 2: Se calculan los costes reducidos ( ) ( ) ( ) T T T 1 T T ˆ = = = 1 3 0 0 = 1 3 N N B N B c c c B N c cy cˆ = c z = 1 1 1 1 cˆ = c z = 3 2 2 2 1 1 1 1 Como hay costes reducidos negativos Solución no óptima Entra en la base la variable, por tener menor coste reducido PASO 3: Criterio de salida 1 0 1 1 1 y = B a = Ambos valores positivos 2 2 = 0 1 1 1 bˆ bˆ bˆ 3 4 3 1 min i : y 0 min, > min, 1 i I i2 = = B y y y 1 1 i2 32 42 Sale de la base la variable x 2 x 4 Optimización lineal- 33

Algoritmo simplex. Ejemplo (4) PASO 4: Pivoteo 1 1 1 0 x x 0 1 3 1 B= ; N= ; x = ; x ; c ; c B = N = B = N 0 1 1 1 x x 3 0 2 4 1 1 1 1 3 2 0 1 ˆ 1 ; ˆ B x b B b ; xˆ = = = = B = = N 0 1 0 1 1 1 0 2 T ˆ zˆ = cb = ( 0 3) 3 B = 1 1 1 1 0 2 1 1 Y = B N= = 0 1 1 1 1 1 Volver al paso 2 Optimización lineal- 34

Algoritmo simplex. Ejemplo (5) PASO 2: Se calculan los costes reducidos ( ) ( ) ( ) T T T 1 T T ˆ = = = 1 0 0 3 = 4 3 N N B N B c c c B N c cy cˆ = c z = 4 1 1 1 cˆ = c z = 3 4 4 4 2 1 1 1 Como hay costes reducidos negativos Solución no óptima Entra en la base la variable, por tener menor coste reducido PASO 3: Criterio de salida x 1 y 1 2 = 1 Sale de la base la variable x 3, única variable básica con coeficiente positivo en la columna y 1 : y = 2> 0 31 Optimización lineal- 35

Algoritmo simplex. Ejemplo (6) PASO 4: Pivoteo 1 1 1 0 x x 1 1 3 0 B= ; N ; x ; x ; c ; c = = B = N = B = N 1 1 0 1 x x 3 0 2 4 B 1 / 2 1 / 2 1 / 2 1 / 2 3 1 0 1 ˆ 1 ; ˆ ; ˆ B N 1 / 2 1 / 2 x b B b 1 / 2 1 / 2 x = = = = = = 0 1 T ˆ ˆ z= cb= ( 1 3) 7 B = 2 1 / 2 1 / 2 1 0 1 1 / 2 1 / 2 Y = B N= 1 / 2 1 / 2 = 0 1 1 / 2 1 / 2 Volver al paso 2 Optimización lineal- 36

Algoritmo simplex. Ejemplo (7) PASO 2: Se calculan los costes reducidos ( ) ( ) ( ) T T T 1 T T ˆ = = = 0 0 1 3 = 2 1 N N B N B c c c B N c cy cˆ = c z = 2 3 3 3 cˆ = c z = 1 4 4 4 1 / 2 1 / 2 1 / 2 1 / 2 Como todos los costes son positivos Solución óptima (única) La solución óptima es x * = 1, x * = 2 con valor objetivo z * = 7 Vértice intermedio (-1,0) (0,3) (0,1) (0,0) Vértice inicial (1,2) Vértice final: Solución óptima (3,0) Optimización lineal- 37

Degeneración y convergencia Si una solución básica factible es degenerada, es posible que tras el pivoteo se obtenga el mismo vértice para la nueva base Esta situación podría dar lugar a un bucle infinito. El algoritmo no convergería Se puede evitar de varias formas Regla lexicográfica para el criterio de salida Regla de Bland para los criterios de entrada y de salida Si se parte de una solución básica factible inicial, el algoritmo simplex (con cualquiera de las reglas anteriores) converge en un número finito de iteraciones a la solución óptima o detecta la no acotación Optimización lineal- 38

Múltiples óptimos Se produce cuando en una solución óptima alguna variable no básica tiene coste reducido nulo Introduciendo dicha variable se obtendría otra solución básica factible óptima Cuando la solución óptima original es degenerada, si la variable saliente es nula, la variable entrante valdrá 0, y se llegará a la misma solución (aunque asociada a otra base) Si al introducir la variable entrante se produce no acotación, la arista infinita correspondiente estará formada por soluciones óptimas El conjunto de soluciones óptimas será la envoltura convexa de todas las soluciones básicas factibles óptimas Optimización lineal- 39

Forma tabular del método simplex Facilita los cálculos y ahorra operaciones Útil para resolver a mano pequeños problemas Tabla simplex: z x B z 1 x N x B c 0 T ˆT N RHS ẑ 0 Y I ˆb Para realizar el pivoteo: Entra y sale. Pivote: Dividir la fila s por se obtiene un 1 en el pivote Para el resto de filas (incluyendo la fila de la f. o. ) f f it i i s yst y f y st x t x s se obtienen 0 en el resto de elementos de la columna pivote f 0 y st Optimización lineal- 40

Algoritmo simplex. Ejemplo (8) Resolvamos el ejemplo anterior mediante el simplex tabular min x 3x x + x + x = 3 x + x + x = 4 x, x, x, x 0 3 4 La base inicial era B I, que corresponde a las variables básicas 1 1 1 Por lo tanto B = I, Y = B N= N, bˆ = B b= b 3 1 x, x = 3 4 z x 1 x 2 x 3 x 4 RHS -z -1-1 -3 0 0 0 x 3 0 1 1 1 0 3 3 x 4 0-1 1 0 1 1 1 Optimización lineal- 41

Algoritmo simplex. Ejemplo (9) Operaciones de pivoteo Tras el pivoteo la nueva tabla es f f + 3f 0 0 4 f f f 3 3 4 z x 1 x 2 x 3 x 4 RHS -z -1-4 0 0 3 3 x 3 0 2 0 1-1 x 2 0-1 1 0 1 1 Operaciones de pivoteo 1 f f 3 3 2 f f + 2f 0 0 3 1 f f + f 2 2 2 3 Optimización lineal- 42

Algoritmo simplex. Ejemplo (10) Tras el pivoteo la nueva tabla es z x 1 x 2 x 3 x 4 RHS -z -1 0 0 2 1 7 x 1 0 1 0 1/2-1/2 1 x 2 0 0 1 1/2 1/2 2 Como todos los costes reducidos de las variables no básicas son estrictamente positivos hemos llegado a la tabla óptima Para la forma estándar la solución es Para el problema original la solución óptima es x * = 1, x * = 2, x * = 0, x * = 0, z* = 7 3 4 x * = 1, x * = 2, z* = 7 Optimización lineal- 43

Solución básica factible inicial Probar una a una todas las bases es muy costoso En el peor caso habría que analizar bases Se necesita un método para obtener una solución básica factible y para detectar la infactibilidad Si la matriz identidad ésta como base es submatriz de A se toma Las columnas de las variables de holgura I m C nm, I m Para conseguir el resto de columnas se suman variables artificiales en las ecuaciones correspondientes En el peor caso se añadirán m variables artificiales Problema original P T mincx Ax= b x 0 T mincx Ax+ Ix = b a xx, 0 a Problema con variables artificiales Optimización lineal- 44

Solución básica factible inicial: Ejemplo (1) Se tiene el problema min 2x + x 3x 3 x + 2x + x = 6 3 3 x + 2x 2 2 3 2x + x 4 2 3 x, x, x 0 Se pasa a forma estándar restando una variable de exceso, x 4, en la 2ª restricción y sumando una variable de holgura, x 5, en la 3ª restricción min 2x + x 3x 3 x + 2x + x = 6 3 x + 2x x = 2 2 3 4 2x + x + x = 4 3 4 5 2 3 5 x, x, x, x, x 0 Optimización lineal- 45

Solución básica factible inicial: Ejemplo (2) Las variables x 1 y x 5 aportan 2 columnas a la matriz identidad: 1 0 a = 0, a 0 1 = 5 0 1 La última columna se consigue añadiendo una variable artificial, x 6, en la 2ª restricción min 2x + x 3x 3 x + 2x + x = 6 3 Se consigue entonces la base B= I= a a a que proporciona la solución básica factible inicial x + 2x x + x = 2 2 3 4 6 2x + x + x = 4 2 3 5 x, x, x, x, x, x 0 3 4 5 6 ( 1 6 5) x 6 x 0 x = x 2, x x 0 B 6 = = N 3 = x 4 x 0 5 4 Optimización lineal- 46

Eliminación de las variables artificiales Las variables artificiales, a diferencia de las variables de holgura y de exceso, no forman parte del problema original, es necesario sacarlas de la base y eliminarlas Existen dos métodos: Método de las penalizaciones Método de las 2 fases Ambos métodos asignan un coste elevado a las variables artificiales para forzarlas a salir de la base Si se consigue sacar de la base todas las variables artificiales el problema es factible Se pueden eliminar las columnas de las variables artificiales una vez que todas han salido de la base, pero puede ser conveniente mantenerlas para conocer B 1 en cada iteración, pues ocupará las columnas que originalmente constituían I m Optimización lineal- 47

Método de las 2 fases Fase 1 Se resuelve el problema Siempre tiene solución óptima acotada (x,x a *) 1. Si x a * 0 P es infactible 2. Si x a * = 0 t min1x a Ax+ Ix = b a xx, 0 a) Todas las variables artificiales son no básicas x es solución básica factible del problema P Ir a la fase 2 b) Alguna variable artificial es básica sacarla de la base introduciendo en su lugar una variable original pivotando en el elemento correspondiente subcaso a) Fase 2 Calcular los costes reducidos originales y aplicar simplex a Optimización lineal- 48

Método de las 2 fases. Ejemplo (1) Resolvamos el problema min 2x + x 3x 3 x + 2x + x = 6 3 x + 2x x = 2 2 3 4 2x + x + x = 4 3 4 5 2 3 5 x, x, x, x, x 0 x 6 es artificial min 2x + x 3x 3 x + 2x + x = 6 3 x + 2x x + x = 2 2 3 4 6 2x + x + x = 4 2 3 5 x, x, x, x, x, x 0 3 4 5 6 Fase 1 minx6 x + 2x + x = 6 3 x + 2x x + x = 2 2 3 4 6 2x + x + x = 4 2 3 5 x, x, x, x, x, x 0 3 4 5 6 Optimización lineal- 49

Método de las 2 fases. Ejemplo (2) Tabla inicial para la fase 1 0 0 0 0 0 1 z x 1 x 2 x 3 x 4 x 5 x 6 RHS -z -1 0-1 -2 1 0 0-2 0 x 1 0 1 0 0 0 6 6 1 x 6 0 0-1 0 1 0 x 5 0 0 2 1 0 1 0 4 4 z x 1 x 2 x 3 x 4 x 5 x 6 RHS -z -1 0 0 0 0 0 1 0 x 1 0 1 3/2 0 1/2 0-1/2 5 x 3 0 0 1/2 1-1/2 0 1/2 1 x 5 0 0 3/2 0 1/2 1-1/2 3 Tabla óptima para la fase 1: La variable artificial está fuera de la base. Pasamos a la fase 2 Optimización lineal- 50

Método de las 2 fases. Ejemplo (3) Fase 2 min 2x + x 3x 3 Tabla inicial para la fase 2-2 1-3 0 0 z x 1 x 2 x 3 x 4 x 5 RHS -z -1 0 11/2 0-1/2 0 13-2 x 1 0 1 3/2 0 1/2 0 5 10-3 x 3 0 0 1/2 1-1/2 0 1 0 x 5 0 0 3/2 0 1/2 1 3 6 z x 1 x 2 x 3 x 4 x 5 RHS -z -1 0 7 0 0 1 16 x 1 0 1 0 0 0 - x 3 0 0 2 1 0 1 4 x 4 0 0 3 0 6 Tabla óptima para la fase 2 x * = 2, x * = 0, x * = 4, 3 x * = 6, x * = 0 4 5 z* = 16 Optimización lineal- 51

Método de las penalizaciones Se resuelve el problema P(M) siendo M grande: T t mincx+ M1x Ax+ Ix = b xx, 0 a 1. Si el problema P(M) tiene solución óptima (x*,x a *) Si x a * = 0 x* es solución óptima de P Si x a * 0 P es infactible a 2. Si el problema P(M) tiene solución no acotada Si x a * = 0 P tiene solución no acotada Si x a * 0 P es infactible a Puede presentar problemas computacionales Optimización lineal- 52

Método de las penalizaciones. Ejemplo (1) Queremos resolver Pasamos a forma estándar (hay que cambiar de signo la segunda restricción) min x 2x x x 1 3x 2x 1 x, x 0 min x 2x x x e = 1 2 No hay ninguna columna de la matriz identidad: Añadimos variables artificiales (con coste M) a ambas restricciones 1 3x + 2x e = 1 x, x, e, e 0 problema P(M) minx 2x + Ma + Ma x x e + a = 1 1 3x + 2x e + a = 1 2 2 x, x, e, e, a, a 0 1 Optimización lineal- 53

Método de las penalizaciones. Ejemplo (2) Tabla inicial para P(M) tomando las variables artificiales como básicas: 1-2 0 0 M M z x 1 x 2 e 1 e 2 a 1 a 2 RHS -z -M+1 -M-2 M M 0 0-2M M a 1 0 1-1 -1 0 1 0 1 M a 2 0-3 2 0-1 0 1 1 1/2 z x 1 x 2 e 1 e 2 a 1 a 2 RHS -z -1 M/2-2 0 M M/2-1 0 M/2+1 1-3M/2 a 1 0-1/2 0-1 -1/2 1 1/2 3/2 x 2 0-3/2 1 0-1/2 0 1/2 1/2 Tabla óptima para P(M): Como a 1 * = 3/2 > 0 El problema original no tiene solución factible Optimización lineal- 54