230 likes | 1k Views
Programación Entera. Optimización de Operaciones. Optimización de Operaciones - Ing. Ricardo Fernando Otero - Pregrado Ingeniería Industrial – Pontificia Universidad Javeriana Sede Bogotá. Variables Discretas.
E N D
Programación Entera Optimización de Operaciones Optimización de Operaciones - Ing. Ricardo Fernando Otero - Pregrado Ingeniería Industrial – Pontificia Universidad Javeriana Sede Bogotá
Variables Discretas • Una variable discreta es aquella que sólo puede tomar valores dentro de un conjunto numerable. • En estas variables se dan separaciones entre valores observables sucesivos. • Una variable discreta puede representar un conjunto de posibles decisiones. • Las variables binarias sólo pueden comprender valores entre 0 y 1. • Ejemplos • Número de Personas • Turnos de Trabajo • Rutas de transporte • Número de productos • Secuencia de Producción Optimización de Operaciones Ing. Ricardo Fernando Otero - Pregrado Ingeniería Industrial – Pontificia Universidad Javeriana Sede Bogotá
Modelo de PLE Programación Lineal Programación Entera Programación Binaria Optimización de Operaciones Ing. Ricardo Fernando Otero - Pregrado Ingeniería Industrial – Pontificia Universidad Javeriana Sede Bogotá
Modelación. • Imagine que usted acaba de terminar su semestre académico y se dispone a planear qué asignaturas cursar el siguiente semestre. Suponga además, que a cada asignatura usted le tiene asignado un valor que representa su importancia en el plan de estudios. • Plantear el modelo de PLE asociado que maximice el valor total de importancia del conjunto de materias elegidas. • ¿De qué naturaleza son las variables de decisión?. • ¿Cuántas posibles respuestas existen? Optimización de Operaciones Ing. Ricardo Fernando Otero - Pregrado Ingeniería Industrial – Pontificia Universidad Javeriana Sede Bogotá
Método de Ramificación Y Acotamiento • Resolver el modelo relajado. Si la solución es entera detenerse si no continuar con el método. • Escoger arbitrariamente una variable entera xj cuyo resultado sea fracción e igual a xbj. • Resolver dos nuevos problemas similares al anterior pero uno con la restricción adicional xj≤[xbj] y otro modelo con la restricción adicional xj≥[xbj]+1. • De los subproblemas en el paso 3 analizar sólo aquellos subproblemas cuya solución sea mayor (max) o menor (min) a cualquiera de las soluciones enteras conocidas (cota inferior: caso máx y cota superior: caso min). Optimización de Operaciones - Ing. Ricardo Fernando Otero - Pregrado Ingeniería Industrial – Pontificia Universidad Javeriana Sede Bogotá
Ejemplo • Resolver el siguiente problema de programación entera. Optimización de Operaciones - Ing. Ricardo Fernando Otero - Pregrado Ingeniería Industrial – Pontificia Universidad Javeriana Sede Bogotá
Solución Optimización de Operaciones - Ing. Ricardo Fernando Otero - Pregrado Ingeniería Industrial – Pontificia Universidad Javeriana Sede Bogotá
Procedimiento gráfico Optimización de Operaciones - Ing. Ricardo Fernando Otero - Pregrado Ingeniería Industrial – Pontificia Universidad Javeriana Sede Bogotá
Posibles soluciones de subproblemas • Solución no factible (ya no se divide en subproblema • Problema agotado: (ya no se divide en subproblemas) • Una solución factible entera del problema original (Z) • Cota inferior (caso max)=Zcota→SiZcota<Z→Zcota=Z • Cota superior (caso min)= Zcota→SiZcota>Z→Zcota=Z • Una solución que no sea mejor a las soluciones enteras conocidas: • Max: Zcota≥Z • Min: Zcota≤Z • Solución no entera, que cumpla con Zcota≤Z (máx) o Zcota≥Z (min), continuar con el método. • Seleccionar el modelo lineal que tenga el máximo valor de la función objetivo (caso máx). Optimización de Operaciones - Ing. Ricardo Fernando Otero - Pregrado Ingeniería Industrial – Pontificia Universidad Javeriana Sede Bogotá
Comentarios en Software MLP • Los programas o paquetes enfocados a la solución de los problemas de programación lineal, por lo general también tienen métodos de ramificación y acotamiento para resolver problemas de programación entera o mixta. • LPSolve • Debe indicarse al final del programa a través del comando int cuáles variables son enteras. • Solver • En opciones seleccionar la celda de la variable y elegir “INT”. • R statistics • Se debe crear un vector que contenga las letras ‘C’ para las variables continuas, ‘B’ para las binarias e ‘I’ para las enteras.