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



Documentos relacionados
Análisis de los datos

Resumen de técnicas para resolver problemas de programación entera Martes, 9 de abril. Enumeración. Un árbol de enumeración

H E R R A M I E N T A S D E A N Á L I S I S D E D A T O S HERRAMIENTAS DE ANÁLISIS DE DATOS

BREVE MANUAL DE SOLVER

Programación Entera. P.E pura: Todas las variables de decisión tienen valores enteros.

Curso Excel Básico - Intermedio

2) Se ha considerado únicamente la mano de obra, teniéndose en cuenta las horas utilizadas en cada actividad por unidad de página.

La nueva criba de Eratóstenes Efraín Soto Apolinar 1 F.I.M.E. U.A.N.L. San Nicolás, N.L. México. efrain@yalma.fime.uanl.mx

SOLUCION DE MODELOS DE PROGRAMACION LINEAL EN UNA HOJA DE CALCULO. PROBLEMAS DE TRANSPORTE Y ASIGNACION.

4.3 INTERPRETACIÓN ECONÓMICA DE LA DUALIDAD

MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO

2. Entorno de trabajo y funcionalidad en Arquímedes

Ejercicios Certamen #2

Guía de Apoyo Project Professional

Administración Local Soluciones

Tecnología de la Información y la Comunicación. Base de datos. Consultas

Herramienta Solver. Activar Excel Solver

Ejercicio de estadística para 3º de la ESO

Investigación Operativa

PROGRAMACIÓN LINEAL Introducción Inecuaciones lineales con 2 variables

Manual de guía para Clientes Sistema MoTrack

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

Dirección de Operaciones

El Problema del Transporte

x y 8000 x + y a) La región factible asociada a las restricciones anteriores es la siguiente: Pedro Castro Ortega lasmatematicas.

Manual Oficina Web de Clubes (FBM)

Unidad II: Análisis de Redes

Parámetros con la ventana de selección de usuario, reglas, texto y descomposición (IVE)

Manual para el uso del Correo Electrónico Institucional Via Webmail

CURSO DE INFORMATICA 2005

Hoja1!C4. Hoja1!$C$4. Fila

Instructivo Software de Gestión de Duplicados (Cor-Dupli)

Tema 5: Dualidad y sensibilidad de los modelos lineales.

Está invirtiendo demasiado tiempo y dinero en procesos que podrían ser mucho más simples, ágiles y beneficiosos para su empresa.

Programación Lineal: Modelos PLE

Ensayo: Construcción de la Frontera Eficiente de Markowitz mediante el uso de la herramienta SOLVER de Excel y el modelo Matricial.

Programación Lineal y Optimización Segundo Examen Parcial :Solución Profr. Eduardo Uresti, Verano 2009

Programación Lineal Entera

MÓDULO 2: TRATAMIENTO DE DATOS CON HOJA DE CÁLCULO. Tema 4: Herramientas de análisis: buscar objetivo, escenarios, Solver

INTERPRETACION ECONOMICA DEL ANALISIS DE SENSIBILIDAD

CANTABRIA / JUNIO 04. LOGSE / MATEMÁTICAS APLICADAS A LAS CIENCIAS SOCIALES / ÁLGEBRA / BLOQUE 1 / OPCIÓN A

Capítulo 12: Indexación y asociación

PRÁCTICA 1: Optimización con Excel 2010

Empresarial y Financiero NIVEL AVANZADO

Manual de la aplicación de seguimiento docente en la UJI

Pronósticos. Pronósticos y gráficos Diapositiva 1

En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.

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

INSTRUCCIONES BÁSICAS DE ACCESO AL PORTAL DEL CLIENTE

SISTEMAS DE INFORMACIÓN PARA ADMINISTRACIÓN DE OPERACIONES CADENA DE SUMINISTROS I

Bases de datos en Excel

Listado de Trabajo TRANSPORTE

x + y 4 2x + 3y 10 4x + 2y 12 x 0, y 0

MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO

ARREGLOS DEFINICION GENERAL DE ARREGLO

Problemas de Programación Entera

Conciliación bancaria en CheqPAQ Cargado de estado de cuenta

TÉCNICAS DE GESTIÓN ADMINISTRATIVA PARA PEQUEÑAS EMPRESAS

Si el comando Solver no aparece en el menú Herramientas, deberá instalar la macro automática Solver como sigue:

PAGINA WEB - MANUAL DE USUARIO

Tema 6: Problemas Especiales de Programación Lineal

P r e g u n t a s m á s F r e c u e n t e s :

Curso de Excel. Empresarial y Finanzas SESIÓN 5: ÍNDICE EXCEL. Documento propiedad de J. David Moreno Universidad Carlos III de Madrid

GENERACIÓN DE ANTICIPOS DE CRÉDITO

Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología

GUÍA DE USUARIO: GOOGLE DRIVE

Para crear una lista como la anterior, primero escribe la información, y después selecciona el texto y aplícale el formato de viñetas.

Gestión de Retales WhitePaper Noviembre de 2009

INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA UNIDAD CULHUACÁN INTEGRANTES

Fórmulas y enfoques utilizados para calcular el Tasa Efectiva de Interés (TEI) o Costo Anual Total (CAT)

Universidad Tec Milenio: Profesional IO04001 Investigación de Operaciones I. Tema #8

magh - CBTis12 Recuerde que debe contar con un correo valido de Gmail.

MUNIA Manual de usuario

Manual para la utilización de PrestaShop

AXIOMAS DE CUERPO (CAMPO) DE LOS NÚMEROS REALES

L A P R O G R A M A C I O N

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)

NOTAS TÉCNICAS SOBRE EL SIT: Documentos de Gestión

Ingeniería en Informática

Programación Lineal Entera

Covarianza y coeficiente de correlación

Instructivo de Microsoft Excel 2003

Unidad 4 Programación lineal

MANUAL DE USUARIO DESKTOP

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

Plataforma Educativa Manual del Docente Nivel II Módulo 3 Wiki

Guía para la Automatización de Documentos en. Microsoft Word

MANUAL GESTIÓN DE STOCKS

Guía Práctica para el Uso del Servicio de Software Zoho CRM

Clases de apoyo de matemáticas Fracciones y decimales Escuela 765 Lago Puelo Provincia de Chubut

APLICACIONES CON SOLVER OPCIONES DE SOLVER

EJERCICIOS EXCEL. Guardar el libro en tu pen drive, con el nombre PRACTICA1_ALUMNO_GRUPO.

Operaciones Morfológicas en Imágenes Binarias

Combinar correspondencia (I)

Matrices equivalentes. El método de Gauss

SOLUCIÓN CASO GESTIÓN DE COMPRAS

UNIDAD 6. Programación no lineal

Práctica B: Monitorización del rendimiento del sistema

TPVFÁCIL. Caja Real. Definiciones.

Transcripción:

15.053 Jueves, 4 de abril Un programa entero de dos variables Introducción a la programación entera Modelos de programación entera Handouts: material de clase maximizar 3x + 4y sujeto a 5x + 8y 24 x, y 0 y entero Cuál es la solución óptima? 1 2 0 1 2 3 4 5 La región factible Resolver PL (ignorar integralidad) obtener x=24/5, y=0; y z =14 2/5. Redondeo, obtener x=5, y=0, no factible! Dividir, obtener x=4, y=0, y z =12 El mismo valor de solución en x=0, y=3. El punto óptimo es x=3, y=1, y z =13 Por qué programación entera? Ventajas de las variables restringidas en valores enteros Más realistas Más flexibles Desventajas Más difícil de modelar Quizás mucho más difícil de resolver 0 1 2 3 4 5 4 Variables 0-1 Programación entera: igualdades y desigualdades lineales más restricciones que dicen que una variable debe ser entera También permitimos x j {0,1}. Esto es equivalente a 0 x j 1 y x j entero El misterio de la programación lineal Algunos problemas de PL son fáciles (podemos resolver problemas con milliones de variables). Otros son más difíciles (incluso 100 variables pueden resultar complicadas). Hacen falta conocimientos y experiencia para saber cuál es cuál. Se trata de un área activa de investigación en el MIT y en otros centros. 5 6

El juego del fiver. El juego del fiver. Al hacer clic en un círculo cambia su color y el de los círculos adyacentes. Puede cambiar a rojo todos los círculos? 7 8 El juego del fiver. El juego del fiver. Escribamos un problema de optimización que resuelva el problema con el menor número de movimientos 9 10 1 2 3 4 5 La optimización del juego del fiver. 1 2 3 4 5 x(i,j) = 1 si hago clic en en el cuadro en la fila i y la columna j. x(i,j) = 0 de otro modo Observemos el elemento en fila 3, y columna 2. Para convertirlo a rojo necesitamos que x(2,2) + x(3,1) + x(3,2) + x(3,3) + x(4,2) sea impar La optimización del juego del fiver. (i, j) que sea rojo para i = 1 a 5 y para j = 1 a 5 Deseamos minimizar el número de movimientos. Minimizar Σ i,j=1 a 5 x(i,j) Sujeto a x(i, j) + x(i, j-1) + x(i, j+1) + x(i-1, j) + x(i+1, j) es impar para i = 1 a 5, j = 1 a 5 x(i, j) es 0 o 1 para i = 1 a 5 y j = 1 a 5 x(i, j) = 0 de otro modo. Esto (con pocas modificaciones) es programación entera 11 12

La optimización del juego del fiver. (i, j) que sea rojo para i = 1 a 5 y para j = 1 a 5 Deseamos minimizar el número de movimientos. Desvelo la solución? Minimizar Σ i,j=1 a 5 x(i,j) Sujeto a x(i, j) + x(i, j-1) + x(i, j+1) + x(i-1, j) + x(i+1, j) - 2y(i,j) = 1 para i = 1 a 5, j = 1 a 5 x(i, j) es 0 o 1 para i = 1 a 5 y j = 1 a 5 y(i,j) es integral x(i, j) = 0 de otro modo. Esto es programación entera. 13 14 Tipos de programación entera Toda programación entera tiene igualdades y desigualdades lineales y todas o parte de las variables requieren ser enteras. Si todas las variables han de ser enteras, entonces se la conoce como programación entera pura. Si se requiere que todas las variables sean 0 ó 1, se llama programación entera binaria, o 0-1 Si algunas variables pueden ser fracionales y otras han de ser enteras, se llama programación entera mixta (PEM) 15 El ejemplo de la compañía Stockco Stockco está estudiando 6 inversiones. El líquido que se requiere para cada inversión así como el VAN de la inversión se da más adelante. El líquido disponible para las inversiones es 14.000$. Stockco desea maximizar su VAN. Cuál es la estrategia óptima? La inversión ha de seleccionarse entera, no se puede seleccionar una fracción de una inversión. 16 Datos para el problema Stockco Presupuesto inversión = 14.000$ Formulación programación entera Inversión 1 2 3 4 5 6 Líquido necesario (miles) VAN añadido (miles) 5$ 7$ 4$ 3$ 4$ 6$ 16$ 22$ 12$ 8$ 11$ 19$ 17 Cuáles son las variables de decisión? 1, invirtiendo en i = 1,...,6, x i = 0, en otro caso Objetivo y restricciones? Max 16x 1 + 22x 2 + 12x 3 + 8x 4 + 11x 5 + 19x 6 5x 1 + 7x 2 + 4x 3 + 3x 4 + 4x 5 + 6x 6 14 x j ε {0,1} para cada j = 1 a 6 18

Restricciones en programaciones enteras Las restricciones en este caso son las indivisibilidades economicas, o se selecciona un proyecto, o no. No se puede seleccionar una fracción de un proyecto. Igualmente, la variables enteras pueden modelar requisitos lógicos (p. ej., si se selecciona el stock 2, también el stock 1.) Cómo modelar restricciones lógicas Se seleccionan 3 stocks. Si se selecciona el stock 2, también el stock 1. Si se selecciona el stock 1, el stock 3 no se selecciona. Se puede seleccionar el stock 4 o el stock 5, pero no ambos. 19 20 Formulación de restricciones Si se selecciona el stock 2, también el stock 1 Se seleccionan 3 stocks Representación bidimensional La restricción de la programación entera: x 1 + x 2 + x 3 + x 4 + x 5 + x 6 =3 x 1 x 2 Stock 2 21 Stock 1 Trabaje con su compañero 5 min para tratar de modelar las otras restricciones. 22 Si se selecciona el stock 1, el stock 3 no se selecciona Se puede seleccionar el stock 4 o el stock 5, pero no ambos Representación bidimensional La restricción de la programación entera: Representación bidimensional La restricción de la programación entera: Stock 3 x 1 + x 3 1 stock 5 x 4 + x 5 = 1 Stock 1 23 stock 4 24

Representación de funciones no lineales Coste de los PC Pongamos que el coste de los PC es el siguiente: 2000$ cada uno si compra de 1 a 10 1000$ cada uno si compra más de 10 Pongamos que se van a comprar como máximo 30 PC Asumamos que el nº de PC comprados sea x + y donde 0 x 10, y y 0 sólo si x = 10. coste es 2000$ x + 1000$ y. 35000 30000 25000 20000 15000 10000 5000 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 25 26 Formulación con programacíón entera crear una variable tal que w = 1 si x = 10. coste es 2000 x + 1000 y sujeto a 0 x 10 0 y w x/10 y 20 w w binario, x, y 0 entero Problema de localización del almacén n almacenes coste f i de abrir almacén i m clientes cliente j tiene una demanda de d j coste de envío por unidad c ij de servir al ciente i a través del almacén j. Variables: y j = 1 si se abre el almacén x ij = cantidad de la demanda del cliente i satisfecha a través del almacén j. 27 28 Supongamos que sabía qué almacenes estaban abiertos. S = conj. de alm. abiertos x ij = demanda satisfecha para cliente i en almacén j y j = 1 para j en S, y j = 0 para j no en S. sujeto a: los clientes ven su demanda satisfecha no se realizan envíos desde un almacén vacío minimice Σ i,j c ij x ij + Σ j S f j Σ i x ij = d j x ij d j if y j = 1 x ij = 0 if y j = 0 y, x 0 29 Más sobre localización de almacenes y i = 1 si se abre el almacén i y i = 0 en caso contrario x ij = flujo de i a j sujeto a: los clientes ven satisfecha su demanda los almacenes se abren o no se abren (no se dan aperturas parciales) no se realizan envíos desde un almacén vacío minimice Σ i,j c ij x ij + Σ i f i y i Σ i x ij = d j 0 y i 1 y i integral para todo i. x ij d j y i para todo i, j y, x 0 30

Dos aspectos clave de usar las variables enteras en el modelo Costes: incluimos el coste del almacén sólo si está abierto. Σ i f i y i Restricciones: no permitimos el envío desde el almacén j si no está abierto. x ij d j y i para todo i, j 31 Más sobre localización de almacenes El anterior es un subproblema que ocurre en la gestión de la cadena de suministo, y se puede enriquecer sistema de distribución más complejo restricciones de capacidad costes de transporte no lineales horarios de entrega productos múltiples normas de gestión y más 32 Utilización de Excel Solver para resolver programación entera Añadir las restricciones de las variables enteras (o añadir que una variable es binaria) Configurar Solver Tolerance. (La tolerancia es la desviación de porcentaje de la optimalidad permitida por Solver para resolver programación entera) el valor por defecto es 5% este valor es demasiado alto suele hallar el punto óptimo en pequeños problemas Comentarios sobre los modelos PE A menudo existen varios modos de modelar el mismo programa entero. Las calculadoras para resolver programación entera son muy sensibles a la formulación (lo que no sucede en la programación lineal) 33 34 Ejemplo restricción A: 2x 1 + 2x 2 + + 2x 50 51 restricción B: x 1 + x 2 + + x 50 25 asumir que x es binario restricciones C: x 1 y, x 2 y,, x 50 y donde y es binario) restricción D: x 1 + + x 50 50 y B domina A, C domina D La razón no es obvia, hasta que se ven los algoritmos. 35 Resumen sobre programación entera Mejora mucho la capacidad de modelar Indivisibilidades económicas Restricciones lógicas Construcción de modelos no lineales problemas clásicos sobre gestión de presupuesto y gestión de la cadena de suministro No es fácil de modelar No es fácil de resolver 36

El número de stocks seleccionado no es tres Bien x 1 +x 2 +x 3 +x 4 +x 5 +x 6 4 o (1) x 1 +x 2 +x 3 +x 4 +x 5 +x 6 2 (2) Añadir una variable auxiliar w {0,1} con las siguientes propiedades: Si w = 1, se satisface la primera restricción (A) Si w = 0, se satisface la segunda restricción (B) Ya que w es 0 ó 1, al menos una de las dos restricciones debe ser satisfecha. 37 El número de stocks seleccionado no es tres (continuación) Añadir la restricción: x 1 +x 2 +x 3 +x 4 +x 5 +x 6 4w (A) Así que, si w=1, x 1 +x 2 +x 3 +x 4 +x 5 +x 6 4 (1) Nota: si w = 0, la primera restricción se satisface automáticamente x 1 +x 2 +x 3 +x 4 +x 5 +x 6 2 + 4w (B) Así que, si w=0, x 1 +x 2 +x 3 +x 4 +x 5 +x 6 2 (2) Nota: si w = 1, la segunda restricción se satisface automáticamente (Si hubiésemos escrito 2 + 3w, habríamos eliminado de modo incorrecto la solución en la que x j = 1 para toda j) 38 Debe seleccionar el stock 1 salvo que el VAN de la cartera de valores supere 42.000$. Si VAN< 42 entonces x 1 =1. Añadir la restricción: x 1 (42 NPV)/42. Un denominador más grande también funciona. Recuerde que el VAN es 16x 1 + 22x 2 + 12x 3 + 8x 4 + 11x 5 + 19x 6 42x 1 42 - (16x 1 +22x 2 +12x 3 +8x 4 +11x 5 +19x 6 ) 39