OPTIMIZACIÓN Y SIMULACIÓN PARA LA EMPRESA. Tema 3 Programación Entera

Documentos relacionados
OPTIMIZACIÓN Y SIMULACIÓN PARA LA EMPRESA. Tema 4 Optimización no Lineal

Práctica N o 8 Desigualdades Válidas - Algoritmos de Planos de Corte - Algoritmos Branch & Cut

Programación entera: Ejemplos, resolución gráfica, relajaciones lineales. Investigación Operativa, Grado en Estadística y Empresa, 2011/12

PLE: Ramificación y Acotamiento

Introducción a la programación lineal

PROGRAMACION CUADRATICA

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

TEMA 2: PROGRAMACIÓN LINEAL.

PROGRAMACIÓN LINEAL ENTERA

Universidad de Managua Curso de Programación Lineal

Breve introducción a la Investigación de Operaciones

PROGRAMACIÓN LINEAL PROGRAMACIÓN LINEAL.

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

Práctica N 6 Modelos de Programación Lineal Entera

PROGRAMACIÓN DINÁMICA. Idalia Flores

Formule un modelo de programación lineal binaria que minimice la distancia máxima entre un distrito y su respectiva estación.

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

Dar una introducción sobre la asignatura IO Familiarizar al estudiante con las características y aplicación del modelo de matriz de decisiones

Programación Lineal Entera

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

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

NOTACIÓN O GRANDE. El análisis de algoritmos estima el consumo de recursos de un algoritmo.

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

MÁSTER UNIVERSITARIO EN INGENIERÍA DE SISTEMAS Y DE CONTROL. Curso 2010/2011. (Código: )

Clase #1 INTRODUCCIÓN: INVESTIGACIÓN DE OPERACIONES (I.O.) Y MODELAMIENTO MATEMATICO

TEMA 1 LOS NÚMEROS REALES

Programación Lineal Continua

(2.a) INTRODUCCIÓN A LA FORMULACIÓN DE MODELOS LINEALES

Álgebra Matricial y Optimización Ma130

Programación Lineal Entera

Antecedentes. Ejemplos de Optimización en Procesos Agrícolas. Planificación v/s Operación. Planificación, Operación y Control en el negocio agrícola

UNIDAD 6 PROGRAMACIÓN LINEAL ENTERA. de programación lineal entera. lineal entera.

Prof. Pérez Rivas Lisbeth Carolina

UNIDAD UNO PROGRAMACIÓN LÍNEAL Parte 4

Introducción a las RdP. Optimización basada en redes de Petri. Redes de Petri. Son objeto de estudio: RdP. Ejemplos:

UNIDAD III. INVESTIGACIÓN DE OPERACIONES

Ejercicios de Programación Entera

Práctica 2: Análisis de sensibilidad e Interpretación Gráfica

Programación Lineal (PL)

Club GeoGebra Iberoamericano. 9 INECUACIONES 2ª Parte

DIPLOMADO. Evaluación de la Calidad de la práctica docente para la implementación del Nuevo Modelo Educativo en Escuelas de Ingeniería del I.P.N.

Integradora 3. Modelos de Programación Lineal

Distribuciones de Probabilidad

LICENCIATURA ADMINISTRACIÓN Y DIRECCIÓN DE EMPRESAS

IV. EL ESTUDIO TECNICO

Introducción a la Programación Dinámica. El Problema de la Mochila

UNIDAD 6.- PROGRAMACIÓN LINEAL

Ejemplo: El problema de la mochila. Algoritmos golosos. Algoritmos y Estructuras de Datos III. Segundo cuatrimestre 2013

CAPITULO III. Determinación de Rutas de Entregas

MANUAL DE USO PROGRAMA SENSIBAR

Componentes clave. A. Énfasis en los términos riesgo y eficiencia

Complejidad computacional (Análisis de Algoritmos)

2.3 Clasificación de modelos matemáticos.

FORMULARIO DE APLICACIÓN. Identificación de la organización:

Algebra lineal y conjuntos convexos

Agro 6998 Conferencia 2. Introducción a los modelos estadísticos mixtos

PREPARACIÓN Y EVALUACIÓN DE PROYECTOS

II. INTRODUCCIÓN A LA INVESTIGACIÓN DE OPERACIONES

2.3 Análisis de alternativas e identificación de soluciones

Departamento de Matemáticas IES Giner de los Ríos

CEA 112 Fundamentos de Economía Costos de Producción

Técnicas de modelado. Problemas adicionales

FUNCIONES BÁSICAS DE LA GERENCIA DE PROYECTOS

CONTABILIDAD GERENCIAL

Aritmética de Enteros

Dirección de operaciones. SESIÓN # 2: Programación lineal

POST-OPTIMIZACIÓN Y SENSIBILIDAD EN PROBLEMAS LINEALES.

Conteste a cuatro de las siguientes cinco cuestiones. Explique el concepto y ponga un ejemplo. Cada una de las cuestiones vale 1 punto.

IN34A - Optimización

Concepto de Probabilidad

Formulación de un Modelo de Programación Lineal

Modelos de Programación Matemática

PROGRAMACIÓN LINEAL. Para resolver estos problemas la investigación de operaciones los agrupa en dos categorías básicas:

Programación NO Lineal (PNL) Optimización sin restricciones

1 ÁLGEBRA DE MATRICES

UNLPam - Fac. Cs. Econ. y Jur.

SIIGO WINDOWS. Asignación y Administración de las Listas de Precios. Cartilla I

Tablas de dispersión (hash tables)

Tema 5. Muestreo y distribuciones muestrales

Desarrollo de las condiciones de optimalidad y factibilidad. El problema lineal general se puede plantear como sigue:

Análisis de. Análisis de. Decisiones:

PROBLEMA DE PROGRAMACIÓN LINEAL RESUELTO POR MÉTODO SIMPLEX

SISTEMAS INFORMÁTICOS PROGRAMACION I - Contenidos Analíticos Ing. Alejandro Guzmán M. TEMA 2. Diseño de Algoritmos

Investigación Operativa

Tema 1: El modo de pensar en Economía

LAS CIENCIAS DE LA PLANIFICACIÓN

PLANEACIÓN AGREGADA VARIABLES Y CONSIDERACIONES DE UN PLAN AGREGADO

Introducción a Programación Lineal

Introducción a la unidad 4:

Clase 2 Introducción al Modelamiento

Tema II: Metodología para la construcción de programas. Profesora: Nelly García Mora

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

Un programa entero de dos variables Jueves, 4 de abril. La región factible. Por qué programación entera? Variables 0-1

Métodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo

Procesos de la Dirección de Proyectos para un proyecto

Tema 3. Electrónica Digital

Asignatura: Horas: Total (horas): Obligatoria X Teóricas 4.0 Semana 4.0 Optativa Prácticas 0 16 Semanas 64.0

TALLER VINCULACIÓN POA - PRESUPUESTO. Coordinadora de Planificación CUNORI-

Teoria del consumidor Ma. Monserrat Diaz Lopez 26/10/2011

Electrónica. Tema 6 Circuitos Secuenciales. Tema 1 Fundamentos de semiconductores

Transcripción:

OPTIMIZACIÓN Y SIMULACIÓN PARA LA EMPRESA Tema 3 Programación Entera

ORGANIZACIÓN DEL TEMA Sesiones: Introducción y formulación Variables binarias Métodos de solución

OPTIMIZACIÓN DE MODELOS DISCRETOS Los modelos discretos son una extensión de los modelos lineales, donde algunas variables toman valores enteros Habitualmente estas variables toman los valores 0-1: variables binarias Estas variables se usan para representar condiciones lógicas Estos modelos permiten representar mejor situaciones complejas Economías de escala Discontinuidades en el problema Incluso aproximaciones de soluciones globales

OPTIMIZACIÓN DE MODELOS DISCRETOS En cambio, el cálculo de soluciones es mucho más costoso Ya no podemos usar las propiedades suaves de las funciones para obtener información útil cerca de la solución Ahora es necesario explorar muchos más candidatos a óptimo Algunos problemas con decenas de variables son casi imposibles de resolver en un tiempo razonable

MODELOS DISCRETOS: FORMULACIÓN La formulación es similar a la de los modelos lineales: Si I={1,, n}, el problema es lineal entero puro Si I {1,, n}, el problema es lineal entero mixto Si x i {0,1} i I, el problema es binario o 0-1

MODELOS DISCRETOS: FORMULACIÓN En general, un modelo discreto se usa por distintas razones: Directas: las variables de interés deben tomar valores enteros Codificación: las variables enteras (usualmente 0-1) se usan para representar el cumplimiento (o no) de algunas condiciones Transformación: las variables enteras son útiles para representar ciertas condiciones (implicaciones, condiciones lógicas, etc.)

SELECCIÓN DE ALTERNATIVAS Primer caso: selección entre alternativas Usaremos variables binarias y i para escoger subconjuntos entre una serie de alternativas Si las variables y i toman el valor1, la alternativa se escoge, en caso contrario no se escoge (o no se realiza) Estas variables se multiplican por sus correspondientes costes, uso de recursos, etc. Si la variable toman el valor 1, asumimos el correspondiente coste Si toma el valor 0, no incurrimos en el coste Las variables se pueden usar para contar el número de proyectos seleccionados, etc. Sumando los valores de y i

EJEMPLO 1: SELECCIÓN DE PROYECTOS Descripción: Una compañía quiere evaluar 5 proyectos a ejecutar en próximos 3 años Estos proyectos requieren de inversiones durante los próximos 3 años Si se ejecuta un proyecto, se deben realizar todas las inversiones anuales asociadas al mismo Hay un presupuesto total, que no se debe exceder Qué proyectos seleccionar para aumentar lo más posible los beneficios?

Datos: EJEMPLO 1: SELECCIÓN DE PROYECTOS Cada año, se dispone de 25 millones de euros para realizar inversiones El beneficio esperado (en mill de euros) para cada proyecto, y las cantidades a invertir cada año para ejecutar los proyectos son: Inversión Proyecto Año 1 Año 2 Año 3 Beneficio 1 5 1 8 20 2 4 7 10 40 3 3 9 2 20 4 7 4 1 15 5 8 6 10 30

EJEMPLO 1: SELECCIÓN DE PROYECTOS Modelo: Variables de decisión Dónde invertir el presupuesto Función objetivo Maximizar el beneficio total Restricciones No exceder el presupuesto anual

EJEMPLO 1: SELECCIÓN DE Modelo: PROYECTOS Variables de decisión Una variable binaria x i asociada a cada proyecto x i = 1 si se selecciona el proyecto i, 0 si no se lleva a cabo el proyecto i. i =1,...,5 Función objetivo Maximizar el beneficio esperado max x 20x 1 + 40x 2 + 20x 3 + 15x 4 + 30x 5

EJEMPLO 1: SELECCIÓN DE Restricciones: PROYECTOS Presupuestos anuales: 5x 1 +4x 2 +3x 3 +7x 4 +8x 5 apple 25 (presupuesto año 1) 1x 1 +7x 2 +9x 3 +4x 4 +6x 5 apple 25 (presupuesto año 2) 8x 1 + 10x 2 +2x 3 +1x 4 + 10x 5 apple 25 (presupuesto año 3) Definición de variables binarias: x i 2 {0, 1}, i =1,...,5 Cálculo de solución en Excel

PROBLEMAS DE ASIGNACIÓN Segundo caso: problemas de asignación Se trata de encontrar asignaciones eficientes de algunos recursos a un conjunto de tareas Ejemplos: Planificación de horarios, de tareas a máquinas, rotas de trenes o aviones, asignación de comerciales a regiones, etc. Problema binario 0-1 El objetivo es generalmente minimizar costes, tiempo de viaje, o maximizar eficiencia Aparece como submodelo de modelos más complejos Las variables binarias y ij toman valor 1 si recurso i se asigna a tarea j El número de tareas o recursos a asignar se controla sumando y ij

EJEMPLO 2: PROBLEMA DE ASIGNACIÓN Descripción: John es el director un bufete de abogados y está interesado en asignar de la forma más eficiente posible sus abogados a los casos (clientes) en este momento Actualmente, el bufete tiene 4 casos (clientes) distintos Para atender esos casos, cuenta con 4 abogados: Ann, Brian, Casey y Don Cada uno de ellos puede ser asignado a un único caso Un único abogado debe llevar cada caso La asignación se realizará en función de alguna medida de eficiencia

EJEMPLO 2: PROBLEMA DE ASIGNACIÓN Datos: John ha recogido datos sobre la eficiencia de cada abogado y tipo de caso (en una escala de 1 a 9): Medida de eficiencia Abogado Divorcios (1) Fusiones (2) Robos (3) Donaciones (4) Ann (1) 6 2 8 5 Brian (2) 9 3 5 8 Casey (3) 4 8 3 4 Don (4) 6 7 6 4 Estos datos son estimaciones basadas en el éxito en casos pasados Y tienen en cuenta la especialización/experiencia de cada abogado

EJEMPLO 2: PROBLEMA DE ASIGNACIÓN Modelo: Variables de decisión Una variable binaria x ij para cada posible asignación x ij = 1 si se asigna al abogado i el caso j, 0 si no se asigna. Función objetivo Maximizar la calidad de la asignación maximize 6x 11 +2x 12 +8x 13 +5x 14 +9x 21 +3x 22 +5x 33 +8x 44 +4x 31 +8x 32 +3x 33 +4x 34 +6x 41 +7x 42 +6x 43 +4x 44

EJEMPLO 2: PROBLEMA DE ASIGNACIÓN Restricciones Cada caso debe tener un (único) abogado asignado: 4X x ij =1, j =1,...,4 i=1 Cada abogado debe estar asignado a un (único) caso: 4X x ij =1, i =1,...,4 j=1 Condición de variables binarias: x ij 2 {0, 1}, i =1,...,4, j=1,...,4

CONDICIONES LÓGICAS Tercer caso: condiciones lógicas Variables binarias que se pueden usar para forzar asociaciones entre variables Si una actividad se lleva a cabo, otras tareas se deben llevar a cabo (o no) Una compañía debe decidir qué proyectos abordar en próximos años: Algunos proyectos requieren de la ejecución de otros previamente Algunos proyectos pueden no ser compatibles Algunos proyectos no pueden empezarse hasta que no pase un tiempo tras la finalización de otros

CONDICIONES LÓGICAS Aparecen cuando el valor de una variable binaria impone condiciones sobre otras La condición y = 0 x = 0 es equivalente a x y Si el proyecto y no se lleva a cabo, el proyecto x tampoco La condición y = 0 x = 1 es equivalente a x 1 - y Si el proyecto y no se lleva a cabo, el proyecto x se debe llevar a cabo La condición y = 1 x = 0 es equivalente a x 1 - y Si el proyecto y se lleva a cabo, el proyecto x no se puede llevar a cabo La condición y = 1 x = 1 es equivalente a x y Si el proyecto y se lleva a cabo, el proyecto x también

EJEMPLO 3: PRESUPUESTO NASA Descripción: La NASA debe decidir qué proyectos espaciales ejecutar en próximos años Periodo 2015-2039 Cada proyecto tiene un beneficio o interés científico determinado Cada proyecto requiere de una inversión durante periodos específicos Los proyectos presentan dependencias complejas entre sí Algunos no se pueden llevar a cabo hasta que otros se hayan ejecutado Algunos proyectos son incompatibles entre sí: solo uno se puede llevar a cabo

Datos: EJEMPLO 3: PRESUPUESTO NASA Inversión Proyecto 2015/19 2020/24 2025/29 2030/34 2035/39 Beneficio esperado no con depende de 1 Satélite de comunicaciones 6 200 2 Enlace microondas orbital 2 3 3 3 Aterrizaje en Io 3 5 20 4 Misión Urano 2042 10 50 5 3 5 Misión Urano 2027 5 8 70 4 3 6 Aterrizaje en Mercurio 1 8 4 20 3 7 Misión a Saturno 1 8 5 3 8 Imágenes infrarrojas AR 5 10 11 9 SETI desde la Tierra 4 5 200 14 10 Grandes estructuras orbitales 8 4 150 11 Imágenes en color AR 2 7 18 8 2 12 Tecnología médica espacial 5 7 8 13 Plataforma en órbita polar 1 4 1 1 300 14 SETI satélites geosíncronos 4 5 3 3 185 9 Presupuestos 10 12 14 14 14

Modelo: EJEMPLO 3: PRESUPUESTO Variables de decisión NASA Una variable binaria x i para cada proyecto Función objetivo Maximizar el beneficio (científico) esperado de los proyectos seleccionados max x x i = ( 1 si la misión i se aprueba, 0 si se rechaza. 200x 1 +3x 2 + 20x 3 + 50x 4 + 70x 5 + 20x 6 +5x 7 + 10x 8 + 200x 9 + 150x 10 + 18x 11 +8x 12 + 300x 13 + 185x 14

EJEMPLO 3: PRESUPUESTO NASA Modelo: Restricciones: Límites presupuestarios en cada periodo de 5 años 6x 1 +2x 2 +3x 3 +1x 7 +4x 9 +5x 12 apple 10 3x 2 +5x 3 +5x 5 +7x 8 +5x 9 +8x 10 +7x 12 + x 13 +4x 14 apple 12 8x 5 + x 6 +4x 10 +2x 11 +4x 13 +5x 14 apple 14 8x 6 +5x 8 +7x 11 +1x 13 +3x 14 apple 14 10x 4 +4x 6 +1x 13 +3x 14 apple 14 Condición de variables binarias x i 2 {0, 1}, i =1,...,14

Modelo: EJEMPLO 3: PRESUPUESTO Restricciones: Incompatibilidades: NASA Los proyectos Misión Urano 2042 (4) y Misión Urano 2027 (5) son incompatibles x 4 + x 5 apple 1 Los proyectos 8 y 11, o 9 y 14, también son incompatibles x 8 + x 11 apple 1 x 9 + x 14 apple 1

EJEMPLO 3: PRESUPUESTO NASA Modelo: Restricciones: Dependencias: Si el proyecto Aterrizaje en Io (3) no se lleva a cabo, los proyectos 4, 5, 6 y 7 tampoco pueden realizarse: O alternativamente, x 4 apple x 3, x 5 apple x 3, x 6 apple x 3, x 7 apple x 3 x 4 + x 5 + x 6 + x 7 apple 4x 3 Para seleccionar el proyecto 11, el proyecto 2 debe haber sido completado previamente x 11 apple x 2

VALORES DISCONTINUOS Cuarto caso: valores discontinuos Las variables binarias se pueden usar para representar discontinuidades en funciones o variables Costes fijos: Cuando ejecutar una determinada tarea conlleva un gasto fijo, independientemente de su nivel Comisiones mínimas al cambiar de moneda (de euros a dólares p.e.), o al sacar dinero en un cajero del extranjero, o al comprar acciones en bolsa, etc. Variables semicontinuas: Si una tarea se lleva a cabo, se debe realizar a un nivel mínimo Por ejemplo, una variable vale 0 o bien 20, 21,..., 100

VALORES DISCONTINUOS Modelización En estos casos definimos tanto variables continuas como discretas Sea x i una variable continua con coste fijo, o semicontinua Sea y i una variable binaria asociada, que toma el valor 1 cuando x i es distinta de 0 y el valor 0 en otro caso Una función con coste fijo K y coste variable d se representará como Una variable semicontinua x i {0,[a,b]} se representará como

VALORES DISCONTINUOS Representación de discontinuidades con variables binarias Necesitamos asegurar que las variables x i e y i estén relacionadas Si x i es 0, y i debe ser 0, y si x i es positivo entonces y i debe valer 1 En el caso de variables semicontinuas esto es automático Para costes fijos, necesitamos restricciones adicionales Las constantes C y c se deben escoger como cotas inferiores y superiores para x i

EJEMPLO 4: PROBLEMA DE PRODUCCIÓN Descripción: La compañía X produce ketchup en 5 plantas Estas plantas tienen distintos costes Costes de operación fijos y variables Y capacidades de producción El producto se transporta a 4 grandes centros de distribución Con contratos que definen las cantidades anuales a proporcionar Con diferentes costes de producción y de distribución El objetivo es determinar la producción óptima y el plan de distribución Minimizando el coste total

EJEMPLO 4: PROBLEMA DE PRODUCCIÓN Datos: Capacidades de plantas y costes fijos: Planta P1 P2 P3 P4 P5 Capacidad 300 200 300 200 400 Coste fijo 35000 45000 40000 42000 40000 Costes de producción y transporte/demandas: Costes A: C1 C2 C3 C4 P1 1180 1160 1190 1200 P2 810 800 850 760 De: P3 850 830 890 840 C1 C2 C3 C4 Demanda 200 300 200 250 P4 770 750 810 780 P5 800 770 820 830

EJEMPLO 4: PROBLEMA DE Modelo: PRODUCCIÓN Variables: x ij = toneladas de ketchup producidas en la planta j y entregadas al cliente i ( 1 si la planta j está produciendo y j = i =1,...,4, j =1,...,5 0 si no lo está Función objetivo:

EJEMPLO 4: PROBLEMA DE PRODUCCIÓN Modelo Restricciones Demanda: Capacidad de las plantas y relaciones entre x e y : No negatividad y definición de variables binarias:

MODELOS DISCRETOS: SOLUCIÓN Herramienta básica: Resolver problemas relajados (ignorando condición de variables enteras): PLs Estrategias naif: Redondeo Redondear los valores que han de ser enteros en la solución Muchas alternativas de redondeo (cantidad exponencial) No hay garantías de optimalidad Peor aún: no hay garantías de factibilidad

MODELOS DISCRETOS: SOLUCIÓN Algoritmos eficientes: Cutting planes (Planos de corte) No se redondea directamente el vértice solución del PL relajado Se introducen restricciones que fuerzan a la solución entera a ser un vértice del problema modificado En el proceso se eliminan puntos que no pueden ser soluciones Existen técnicas sofisticadas basadas en las propiedades de la solución Gomory cuts O en propiedades de las restricciones del problema Las aproximaciones convexas contienen las soluciones enteras

MODELOS DISCRETOS: SOLUCIÓN Algoritmos eficientes: Branch and bound Dividir el problema introduciendo condiciones simples sobre los valores de las variables Esto fuerza a las soluciones de las distintas partes a ser enteras Aparte, esto permite enumerar implícitamente todas las posibles soluciones enteras Para ganar eficiencia, se calculan cotas sobre la función objetivo para eliminar subproblemas donde no puede estar la solución Branch and cut Dividir el problema en subproblemas más pequeños: branching o ramificar Descartar muchos de ellos: bounding o acotar Una combinación eficiente de ambos métodos (branch and bound and cutting planes)