Programación Lineal Entera



Documentos relacionados
Programación Lineal Continua/ Investigación Operativa. EJERCICIOS DE INVESTIGACIÓN OPERATIVA. Hoja 1

Fundamentos de Investigación de Operaciones Investigación de Operaciones 1

Dirección de Operaciones

L3 ORGANIZACIÓN DE ARCHIVOS ELECTRÓNICOS

POR QUÉ EL VALOR PRESENTE NETO CONDUCE A MEJORES DECISIONES DE INVERSIÓN QUE OTROS CRITERIOS? ( Brealey & Myers )

CASO PRÁCTICO DISTRIBUCIÓN DE COSTES

Tipo de máquina Tiempo disponible. (h/maq. Por semana) Fresadora 500 Torno 350 Rectificadora 150

Estudiante: Mag. Ingeniero. Roberto Schovelin Surhoff Director: Dr. Arq. Josep Roca Cladera Tutor Dr. Ingeniero. Francisco Nuñez Cerda

Centro de Capacitación en Informática

PROBLEMAS RESUELTOS SELECTIVIDAD ANDALUCÍA MATEMÁTICAS APLICADAS A LAS CIENCIAS SOCIALES TEMA 3: PROGRAMACIÓN LINEAL

Capitulo V Administración de memoria


PODER ADJUDICADOR: DIPUTACIÓN PROVINCIAL DE ALBACETE

Unidad 7. Activos intangibles. Objetivos. Al i nalizar la unidad, el alumno:

Ejercicios de Programación Lineal

Guía para la elaboración de Proyectos de Formación Sindical Ambiental e Investigación en Trabajo y Desarrollo Sustentable

Programación Lineal. Ficha para enseñar a utilizar el Solver de EXCEL en la resolución de problemas de Programación Lineal

La transnacionalidad en los proyectos comunitarios

02 Ejercicios de Selectividad Programación Lineal

Actividades Complementarias.

MEDICION DE LA CREACIÓN DE VALOR ECONOMICO EN LA EMPRESA

Módulo III. Aprendizaje permanente Tema 4: Aprendizaje de actividades laborales Entrevista. El papel de las familias como impulsoras del empleo

MATEMÁTICAS APLICADAS A LAS C.C. SOCIALES

1.- JUSTIFICACIÓN 2.- OBJETO DEL CONTRATO

SECRETARÍA DE EDUCACIÓN PÚBLICA SUBSECRETARÍA DE EDUCACIÓN SUPERIOR COORDINACIÓN GENERAL DE UNIVERSIDADES TECNOLÓGICAS

Colección de Problemas IV

PROGRAMACIÓN LINEAL. Ejemplo a) Dibuja el recinto formado por los puntos que cumplen las siguientes condiciones:

Los números racionales

Guía breve para la. Versión abreviada del Manual para la. evaluación de desempeño y potencial

Trasplante renal. Dudas más frecuentes

Qué son las prácticas externas extracurriculares realizadas bajo el convenio de cooperación educativa?

MODELOS DE RECUPERACION

1 El plan de contingencia. Seguimiento

Problemas de Programación Entera

CAL. CONTROL Y ASEGURAMIENTO DE CALIDAD

Informática Aplicada a la Gestión de Empresas (IAGE) Parte III Excel e Internet Tema 2

CITAS SOBRE LA IMPORTANCIA DE LA COMUNICACIÓN EN INGENIERÍA

El proceso de edición digital en Artelope y CTCE

TEMA 1. LA ECONOMÍA: CUESTIONES INTRODUCTORIAS QUÉ ES MACROECONOMÍA Y MICROECONOMÍA?

OBTENER DATOS EXTERNOS

NemoTPV SAT Manual de usuario 1. NemoTPV SAT APLICACIÓN DE GESTIÓN DE SERVICIO TÉCNICO PARA PUNTOS DE VENTA DE EUSKALTEL

INFORMACIÓN ACADÉMICA

ANEXO (NÓMINA DE CANDIDATOS EN SOPORTE INFORMÁTICO

GUÍA TÉCNICA PARA LA DEFINICIÓN DE COMPROMISOS DE CALIDAD Y SUS INDICADORES

TRABAJO COOPERATIVO EN ROBOTS

Cómo ahorrar mucho, tiempo y dinero imprimiendo on-line

Términos de funcionamiento para los grupos de trabajo Comisión para la Cooperación Ambiental (Aprobadas el 6 de agosto de 2012) Introducción

REGLAMENTO DE EXAMEN DE GRADO

4. Base de datos XML nativa: Marklogic

Programación Lineal: Modelos PLE

Correspondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech

Programación Lineal. Programación Lineal

Unidad 5 Utilización de Excel para la solución de problemas de programación lineal

EJERCICIOS RESUELTOS SOBRE ERRORES DE REDONDEO

Soluciones Óptimas y Aproximadas para Problemas de Optimización Discreta

Selectividad Septiembre 2009 SEPTIEMBRE Opción A

SISTEMAS OPERATIVOS AVANZADOS

TALLER 2. MEJORA CONTINUA

Fórmulas y funciones

EXPOSICIÓN DE MOTIVOS.

EVALUACIÓN DE LA EXPOSICIÓN A RUIDO

VENTAJAS Y DESVENTAJAS DE LAS TECNOLOGIAS

NÚMEROS NATURALES Y NÚMEROS ENTEROS

MÓDULO III. ELABORACIÓN DE LA NORMATIVA INTERNA DEL ARCHIVO

Programa de embajadores de Longomatch Términos y Condiciones

INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS

Programa de Criminología UOC

Tutorial Sistema de indicadores Observatorio de la Persona Joven

Análisis de propuestas de evaluación en las aulas de América Latina

Figura 1.12 Señalización analógica y digital de datos analógicos y digitales.

CAPITULO VI ESTRATEGIAS DE OUTSOURCING

Selectividad Septiembre 2013 OPCIÓN B

CAPITULO V PLANIFICACIÓN Y GESTIÓN DEL PROYECTO

5 Ecuaciones lineales y conceptos elementales de funciones

Sistemas de evaluación alternativos (experiencia piloto EEES-Derecho-UCA) 1

CAPITULO 3 REDES HIBRIDAS-COMPLEJAS. 3.1 Descripción de la Red Híbrida Compleja (HCNN)

GUIA PROGRAMACIÓN ORIENTADA A OBJETOS

Asistente Liberador de Espacio. Manual de Usuario

INFORME SOBRE EL PROYECTO DE REESTRUCTURACIÓN DE LA ATENCIÓN PRIMARIA EN ARAGÓN

Unidad 2 Método gráfico de solución

FocalPoint Business Coaching

El modelo EOQ básico (Economic Order Quantity) es el más simple y fundamental de todos los modelos de inventarios.

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL

Manual de usuario para Android de la aplicación PORTAFIRMAS MÓVIL

Planificación de Procesos. Módulo 5. Departamento de Informática Facultad de Ingeniería Universidad Nacional de la Patagonia San Juan Bosco

ISO14001: disponer de un certificado bajo la versión de 2008 en vigor - superar una auditoria bajo los requisitos de la nueva versión

EL MERCADO DE DIVISAS

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

PLAN DE MÉTRICAS EN OCHO PASOS

Informática I Notas del curso

I. MUNICIPALIDAD DE ÑUÑOA. Plan de capacitación

Programación Avanzada

UNIDAD 4. Producción: proceso por el cual los insumos se combinan, se transforman y se convierten en productos.

INFORME SOBRE LA NATURALEZA Y MAGNITUD ASOCIADAS AL SUBSIDIO DE LA GASOLINA EN VENEZUELA

BANCOS. Manejo de Bancos. Como crear una ficha de Banco? Como modificar los datos de una ficha de Banco? Como borrar una ficha de Banco?

E n el taller, además de la reparación de una avería o daño,

Análisis y cuantificación del Riesgo

CACHIVACHES. Un estilo de vida CASOS DE ÉXITO

8. RESULTADOS PREVISTOS

La Herramienta Solver de Excel

Transcripción:

Programación Lineal Entera Los modelos de programación entera son una extensión de los modelos lineales en los que algunas variables toman valores enteros. Con frecuencia las variables enteras sólo toman valores en 0-1, ya que este tipo de variables permiten representar condiciones lógicas. Este tipo de modelos permite representar sistemas mucho más complejos. A cambio, la resolución de los mismos se complica excesivamente. No se puede utilizar la suavidad de las funciones para inferir el comportamiento de las mismas cerca del óptimo. Problemas con unas solas decenas de variables pueden ser casi imposibles de resolver. 1

Programación Entera: contenidos 1. Introducción 2. Algunos modelos básicos y modelización con variables binarias a) Problema de la mochila b) Problema de asignación y de asignación generalizada c) Problema del cubrimiento d) Relaciones lógicas 3. Resolución del problema. a) Relajaciones lineales y relación fundamental. b) Calidad de una solución entera: brecha de suboptimalidad. c) Ramificación y acotación (Branch and Bound). 2

Programación Entera: ejemplos mín c t x Ax b x 0 x i entera para i I {1,..., n} Si I = {1,..., n} Programación Lineal Entera Pura. Si I = {1,..., n} Programación Lineal Entera Mixta. Si x i {0,1}, i I Programación Binaria o 0 1. 3

Problema de la Mochila: ejemplo Un ingeniero informático autónomo quiere optar a realizar un proyecto informático de entre 5 que salen a concurso. Sólo tiene presupuesto para pagar las tasas de solicitud en 3 proyectos. A qué 3 proyectos optar? Beneficio esperado (en miles de euros) que puede obtener a los 3 años con cada uno de los proyectos. Estimación de la probabilidad de que no le concedan cada uno de los proyectos Proyecto 1 2 3 4 5 Beneficio (miles euros) 90 150 80 100 120 Probabilidad de rechazo 0.4 0.7 0.4 0.5 0.6 Problema: qué proyectos debería solicitar para obtener un beneficio mayor y asegurarse de que la suma de las probabilidades de rechazo no sea superior a 1.5 4

Problema de la Mochila: ejemplo (cont.) Variables de decisión: x i = 1, si se solicita el proyecto i, 0, si no se soliciota el proyecto i. i = 1,2,3,4,5 Restricciones: Límite presupuestario: x 1 + x 2 + x 3 + x 4 + x 5 3 Suma de las probabilidades de rechazo no exceda 1.5 0,4x 1 + 0,7x 2 + 0,4x 3 + 0,5x 4 + 0,6x 5 1,5 Condición de variables binarias: x i {0,1}, i = 1,2,3,4,5 5

Problema de la Mochila: ejemplo (cont.) Objetivo: maximizar el beneficio esperado 90x 1 + 150x 2 + 80x 3 + 100x 4 + 120x 5 Cómo cambiarías el modelo anterior si se hubiera pedido que la probabilidad de no obtener ningún proyecto fuese, a lo sumo, del 10 %? Si seleccionamos, por ejemplo, los proyectos 1, 2 y 3: P {no obtener ningún proyecto} = P {rechazan P 1 y P 2 y P 3 } = (0,4)(0,7)(0,4) = P {no obtener ningún proyecto} 0,1 (0,4)(0,7)(0,4) 0,1 log((0,4)(0,7)(0,4)) log(0,1) log(0,4) + log(0,7) + log(0,4) log(0,1) log(0,4)x 1 log(0,7)x 2 log(0,4)x 3 log(0,5)x 4 log(0,6)x 5 1 6

Problema de la Mochila Se dispone de n objetos para llenar una mochila. El objeto j tiene un peso p j y tiene una utilidad (valor) c j. La mochila admite un peso máximo de b. El problema consiste en decidir qué objetos se introducen en la mochila de forma que se maximice la utilidad de los objetos seleccionados. Variables: x j = 1 si el objeto j es seleccionado, 0 en otro caso. j = 1,..., n 7

Problema de la Mochila Restricciones: Límite de peso de la mochila: n j=1 p j x j b Condición de variables binarias: x j {0,1} j = 1,..., n Función objetivo: máx n j=1 c j x j Se pueden considerar variantes en las que se incluya también el volumen, etc. O la posibilidad de que haya más de una unidad de cada objeto. Entonces, las variables serían x j igual al número de unidades del objeto j seleccionadas. 8

Problema de asignación El modelo de asignación permite asignar eficientemente un conjunto de personas a un conjunto de trabajos, máquinas a tareas, coches de policía a sectores de una ciudad, vendedores a zonas, etc. El objetivo es minimizar los costes, tiempos de desplazamiento, o maximizar la efectividad. Es un modelo muy frecuente como submodelo en otros más complejos. 9

Problema de asignación. Ejemplo Juan es el jefe de un bufete de jóvenes abogados y está interesado en la utilización más efectiva de sus recursos de personal buscando la forma de hacer las mejores asignaciones de abogado-cliente. El 1 de Marzo le llegan 4 nuevos clientes. Revisando a su personal encuentra que 4 abogados: Ana, Bruno, Carmen y Domingo. Todos pueden ser asignados a los casos. Cada uno de ellos sólo se puede hacer cargo de un caso. 10

Problema de asignación. Ejemplo (cont.) Para decidir la mejor asignación Juan tiene en cuenta una tasa de efectividad (de 1 a 9) construida sobre actuaciones anteriores de dichos abogados, ya que no todos son igual de buenos (especialistas) en todo tipo de procesos: tasa de efectividad según caso de cliente Abogado divorcio (1) fusión desfalco (3) herencias (4) empresarial (2) ana (1) 6 2 8 5 bruno (2) 9 3 5 8 carmen (3) 4 8 3 4 domingo (4) 6 7 6 4 11

Problema de asignación. Ejemplo (cont.) Para determinar la asignación más efectiva Juan debe resolver el siguiente problema de asignación máx 6x 11 + 2x 12 + 8x 13 + 5x 14 + 9x 21 + 3x 22 + 5x 33 + 8x 44 + s.a. 4x 31 + 8x 32 + 3x 33 + 4x 34 + 6x 41 + 7x 42 + 6x 43 + 4x 44 4 i=1 4 j=1 x ij = 1, j = 1,...,4, x ij = 1, i = 1,...,4, x ij {0,1}, i = 1,...,4, j = 1,...,4. donde las variables x ij, i = 1,...,4, j = 1,...,4, se definen como x ij = 1, si el abogado i lleva el caso del cliente j, 0, en otro caso. 12

Problema de Asignación Generalizada. Ejemplo Es una generalización del modelo anterior. Cada abogado puede hacerse cargo de más de un cliente simultáneamente, siempre y cuando no supere su capacidad Un sistema de procesamiento compartido tiene 3 ordenadores diferentes (O j, j = 1,2,3) y tiene que procesar 6 tareas (T i i = 1,...,6) Todas las tareas se pueden realizar en cualquier ordenador, pero no pueden fraccionarse (se deben completar en el ordenador en que se inician) Los tiempos de procesamiento de cada tarea i en cada ordenador j, t ij, varía según el ordenador El tiempo disponible de cada ordenador para ejecutar las tareas está limitado 13

Problema de Asignación Generalizada. Ejemplo (cont.) Ordenador Tarea O 1 O 2 O 3 T 1 18 16 12 T 2 14 21 19 T 3 23 27 33 T 4 16 24 23 T 5 17 24 24 T 6 25 28 30 T. disp. (C j ) 47 41 46 A qué ordenador debemos mandar cada tarea si queremos minimizar el tiempo total de procesamiento? Variables x ij = i = 1,...,6, j = 1,2,3. 1, si la tarea i se asigna al ordenador j, 0, en otro caso., 14

Problema de Asignación Generalizada. Ejemplo (cont.) Función objetivo T = 18x 11 + 16x 12 + 12x 13 + 14x 21 + 21x 22 + 19x 23 + + 23x 31 + 27x 32 + 33x 33 + 16x 41 + 24x 42 + 23x 43 + + 17x 51 + 24x 52 + 24x 53 + 25x 61 + 28x 62 + 30x 63 Restricciones Cada tarea se procesa en un sólo ordenador: 3 j=1 x ij = 1, i = 1,...,6. Limitación de tiempo disponible en cada ordenador: 18x 11 + 14x 21 + 23x 31 + 16x 41 + 17x 51 + 25x 61 47 16x 12 + 21x 22 + 27x 32 + 24x 42 + 24x 52 + 28x 62 41 12x 13 + 19x 23 + 33x 33 + 23x 43 + 24x 53 + 30x 63 46 15

Problema de Asignación Generalizada. Ejemplo (cont.) T = mín 6 3 i=1 j=1 3 j=1 6 i=1 t ij x ij x ij = 1, i = 1,...,6 t ij x ij C j, j = 1,2,3 x ij {0,1} Cómo cambiarías el modelo para que el tiempo de procesamiento total fuese el tiempo que tardan en completarse todas las tareas que se procesan en paralelo en los 3 ordenadores? 16

Problema de Asignación Generalizada. Ejemplo (cont.) Función objetivo T = máx { 18x 11 + 14x 21 + 23x 31 + 16x 41 + 17x 51 + 25x 61, 16x 12 + 21x 22 + 27x 32 + 24x 42 + 24x 52 + 28x 62, 12x 13 + 19x 23 + 33x 33 + 23x 43 + 24x 53 + 30x 63 } T = mínmáx 3 j=1 6 i=1 6 i=1 t i1 x i1, 6 i=1 t i2 x i2, 6 i=1 x ij = 1, i = 1,...,6 t ij x ij C j, j = 1,2,3 x ij {0,1} t i3 x i3, 17

Problema de Asignación Generalizada. Ejemplo (cont.) T = mín z 6 i=1 6 i=1 6 i=1 3 j=1 6 i=1 t i1 x i1 z t i2 x i2 z t i3 x i3 z x ij = 1, i = 1,...,6 t ij x ij C j, j = 1,2,3 x ij {0,1} 18

Problema de Cubrimiento. Ejemplo Un técnico de sistemas del laboratorio de cálculo de la Escuela Politécnica Superior quiere acceder a cinco archivos distintos. Hay copia de estos archivos en distintas cintas de backup: CINTAS f1 C1, C2, C5, C6, C8, C9, C10 f2 C1, C3 f3 C2, C5, C7, C10 f4 C3, C6, C8 f5 C1, C2, C4, C6, C7, C9, C10 Los tamaños de las cintas de backup C1,...,C10 son: (30,50,10,20,10,40,30,10,20,20) Para poder recuperar los archivos, primero hay que hacer un volcado de las cintas al disco duro. Éste tiene que ser de la cinta completa, no puede copiarse sólo una parte. Cómo determinar el conjunto de cintas a volcar de forma que se ocupe el menor espacio de disco posible y se puedan recuperar todos los archivos? 19

Problema de Cubrimiento. Ejemplo (cont.) Variables x i = 1 si volcamos la cinta i al disco duro, 0 si no la volcamos. i = 1,...,10. Restricciones El archivo 1 tiene que ser accesible al menos 1 de las cintas de backup que tiene copia del archivo 1 se debe volcar: x 1 + x 2 + x 5 + x 6 + x 8 + x 9 + x 10 1 El resto de archivos debe ser también accesible: x 1 + x 3 1 x 2 + x 5 + x 7 + x 10 1 x 3 + x 6 + x 8 1 x 1 + x 2 + x 4 + x 6 + x 7 + x 9 + x 10 1 Condición de variables binarias: x ij {0,1}, i = 1,..., n. 20

Problema de Cubrimiento. Ejemplo (cont.) Función objetivo: Espacio disco ocupado 30x 1 + 50x 2 + 10x 3 + 20x 4 + 10x 5 + 40x 6 + 30x 7 + 10x 8 + 20x 9 + 20x 10 mín 30x 1 + 50x 2 + 10x 3 + 20x 4 + 10x 5 + 40x 6 + 30x 7 + 10x 8 + 20x 9 + 20x 10 x 1 + x 2 + x 5 + x 6 + x 8 + x 9 + x 10 1 x 1 + x 3 1 x 2 + x 5 + x 7 + x 10 1 x 3 + x 6 + x 8 1 x 1 + x 2 + x 4 + x 6 + x 7 + x 9 + x 10 1 x i {0,1}; i = 1,...,10 21

Implicaciones entre variables binarias Cómo le añadirías al modelo las siguientes condiciones? Si se vuelca la cinta 4, debe volcarse la 6: x 4 x 6 Si no se vuelca la cinta 3, debe volcarse la 1: x 3 + x 1 1 ( 1 x 3 x 1 ) Si se vuelca la cinta 2, no se puede volcar la cinta 6: x 2 + x 6 1 ( x 6 1 x 2 ) No se pueden volcar a la vez las cintas 1, 9 y 10: x 1 + x 9 + x 10 2 22

Implicaciones entre variables binarias (cont.) Si se vuelca la cinta 2 o la 5, no pueden volcarse ni la 6, ni la 9. Existen varias alternativas: Si se vuelca la cinta 2, no se puede volcar la cinta 6, y si se vuelca la cinta 5 tampoco: Lo mismo para la cintas 9: x 2 + x 6 1 x 5 + x 6 1 x 2 + x 9 1 x 5 + x 9 1 Otra posibilidad es modelar esta condición como: x 6 + x 9 2 2x 2 x 6 + x 9 2 2x 5 23

Implicaciones entre variables binarias En general, cuando un valor concreto de una variable binaria condiciona el valor que han de tomar otras variables binarias. La condición (y = 0 x = 0), es equivalente a x y. Si no se vuelca la cinta y, entonces tampoco se puede volcar la cinta x. La condición (y = 0 x = 1), es equivalente a x 1 y. Si no se vuelca la cinta y, entonces se debe volcar la cinta x. La condición (y = 1 x = 0), es equivalente a x 1 y. Si se vuelca la cinta y, entonces no se puede volcar la cinta x. La condición (y = 1 x = 1), es equivalente a x y. Si se vuelca la cinta y, entonces también hay que volcar la cinta x. 24

Resolución del problema 25

La resolución se complica: el redondeo La primera tentación a la hora de abordar la resolución de un problema de programación entera es redondear la solución obtenida al relajar la condición de integralidad. Esta no es una buena estrategia ya que: 1. No siempre proporciona la solución óptima. 2. No garantiza la obtención de soluciones factibles. 3. La selección del redondeo adecuado es un problema exponencial. 26

El redondeo: ejemplo Consideremos el siguiente problema de programación lineal entera z = mínx 1 11x 2 x 1 + 10x 2 40 10x 1 + 10x 2 205 x 1, x 2 0 y enteras Solución óptima sin considerar las condiciones de integralidad: x 1 = 15 y x 2 = 5,5 27

El redondeo: ejemplo La región factible del modelo es: (10, 5) (15, 6) (15, 5) (15, 11 2 ) Posibles redondeos: x 1 = 15 y x 2 = 6: no verifica la primera restricción. x 1 = 15 y x 2 = 5: es factible y z = 40. La solución x 1 = 10 y x 2 = 5 es factible y z = 45 28

Resolución de un problema entero Idea: Un problema lineal continuo es muy sencillo de resolver por qué no desarrollar métodos de resolución que empleen la programación lineal continua como una herramienta para resolver el problema entero? cómo desarrollar estos métodos? a partir de las propiedades de la solución de un problema continuo y de las del método de resolución del mismo, y a partir de las características de un problema entero (cómo se modele el problema será muy importante) 29

Resolución del problema Los métodos más usados parten de la relajación del problema Idea: sustituir el problema entero original por un problema más sencillo, que pueda ser resuelto más fácilmente y, por tanto, que pueda ser utilizado para obtener cotas. La más usada es la relajación lineal que consiste en eliminar la condición de que las variables tomen valores enteros. Pero, no es la única 30