INSTITUTO TECNOLOGICO DE CD GUZMAN INVESTIGACION DE OPERACIONES PROGRAMACION ENTERA Integrantes: Rafael Santos Martha Edith Fermín Mata Chantal Rocío Profesor: Erika Citlalli Rodríguez López 23/05/2024 1 Programación Entera La programación entera es el método empleado para resolver problemas que tienen variables de decisión enteras. Estos modelos se han considerado submodelos de la programación lineal con la característica de enteridad. Los creadores e investigadores de esta técnica fueron Wagner (1950) y Manne (1959), quienes desarrollaron varios métodos de solución. Uno de los primeros enfoques de solución al tipo de problemas que plantea la programación entera, fue el de evaluación de cada posible solución, es decir, cada una de las combinaciones de valores enteros para las variables del problema, conduciendo a una solución óptima exacta. A este tipo de resoluciones se les dio el nombre de métodos exactos. Por otro lado, se desarrollaron otro tipo de técnicas que recibieron el nombre de métodos heurísticos, los cuales hacen referencia a la intuición y conducen a una solución próxima a la óptima en un tiempo razonable. Si se requiere que todas las variables sean enteras se habla de programación lineal entera pura; si se necesita que algunas de las variables de decisión sean números enteros, se tiene un problema de programación lineal entera mixta. En otro tipo de problemas sólo se permite que las variables tomen un valor de cero o de uno; en estos casos se habla de programación lineal entera binaria (digital); si se requiere que solamente algunas de las variables tomen valores de cero o uno, se tiene un problema de programación lineal entera binaria mixta. 2 Método Grafico de Programación Entera. Este método nos permite graficar las rectas correspondientes a las restricciones de tal modo que delimita la región factible de solución. Posteriormente se identifican los puntos enteros más próximos al límite de la zona de solución y se unen por medio de una línea de modo que se habrá generado una nueva zona de solución formada por esta y los ejes estando la solución del problema de programación entera en uno de los vértices! que será aquel que optimice la función objetivo. 3 Método de Ramificación y Acotación. Consiste en una enumeración en árbol en el cual el espacio de las variables enteras se divide de forma sucesiva dando lugar a problemas lineales que se resuelven en cada nodo del árbol. Estos problemas lineales se obtienen relajando las restricciones de integralidad y añadiendo restricciones adicionales. El procedimiento de ramificación y acotación establece inicialmente una cota inferior y una cota superior del valor óptimo de la función objetivo. El mecanismo de ramificación aumenta progresivamente el valor de la cota inferior y disminuye progresivamente el valor de la cota superior. La diferencia entre estas dos cotas es una medida de la proximidad del punto actual a la solución óptima, si ésta existe. 4 Método heurístico Para Problemas Binarios El objetivo del método heurístico es encontrar buenas soluciones aproximadas de problemas combinatorios difíciles que de lo contrario no puedan resolverse mediante los algoritmos de optimización disponibles. Es aplicable a cualquier ciencia e incluye la elaboración de medios auxiliares, principios, reglas, estrategias y programas que faciliten la búsqueda de vías de solución a problemas; o sea, para resolver tareas de cualquier tipo para las que no se cuente con un procedimiento algorítmico. Con frecuencia los métodos heurísticos se basan en ideas bastante simples, de sentido común, acerca de la forma en que se debe buscar una buena solución. Estas ideas deben ajustarse al problema específico de interés. Es una técnica de búsqueda directa que utiliza reglas favorables prácticas para localizar soluciones mejoradas. 5 • x1: Número de aviones grandes a comprar • x2: Número de aviones medianos a comprar • x3: Número de aviones chicos a comprar Las restricciones del modelo son: • Restricción de presupuesto: 67x1 + 90x2 + 95x3 ≤ 1500 • Restricción de pilotos: x1 + x2 + x3 ≤ 30 • Restricción de mantenimiento: 40x3 + 1.5x2 + 2x1 ≤ 1200 6 El objetivo del modelo es maximizar la ganancia neta anual total, que se puede expresar como: • Función objetivo: 4.2x1 + 3x2 + 2.3x3 → Máximo Resolución del problema: El problema se puede resolver utilizando software de programación lineal o entera. La solución óptima al problema es: • x1: 15 aviones grandes • x2: 10 aviones medianos • x3: 5 aviones chicos 7 8 • Tiempo de producción por unidad: Producto A: 3 horas en la máquina 1, 2 horas en la máquina 2 Producto B: 2 horas en la máquina 1, 3 horas en la máquina 2 • Disponibilidad de recursos: Máquina 1: 8 horas diarias Máquina 2: 7 horas diarias • Ganancia por unidad vendida: Producto A: $16 Producto B: $10 • Restricciones: La cantidad diaria fabricada de cada producto debe ser un múltiplo entero de 0.25 Formulación del modelo de programación entera Para resolver este problema, se puede utilizar un modelo de programación entera. 9 Las variables de decisión del modelo son: • x1: Número de unidades del producto A a producir • x2: Número de unidades del producto B a producir Las restricciones del modelo son: • Restricción de tiempo de producción en la máquina 1: 3x1 + 2x2 ≤ 8 • Restricción de tiempo de producción en la máquina 2: 2x1 + 3x2 ≤ 7 • Restricción de cantidad mínima: x1 ≥ 0.25, x2 ≥ 0.25 • Restricción de divisibilidad: x1 ∈ Z, x2 ∈ Z El objetivo del modelo es maximizar la ganancia total, que se puede expresar como: • Función objetivo: 16x1 + 10x2 → Máximo Resolución del problema El problema se puede resolver utilizando software de programación entera. La solución óptima al problema es: • x1: 4 unidades del producto A • x2: 3 unidades del producto B 10 ¿En qué situaciones es conveniente aplicar la programación entera? En conclusión, la programación entera es una herramienta valiosa para resolver problemas de optimización donde las decisiones están sujetas a restricciones específicas y las variables de decisión solo pueden tomar valores enteros. Se aplica en una amplia gama de áreas, como planificación de recursos, optimización de rutas, diseño de redes, programación de la producción y más. Cuando se enfrenta a problemas donde se deben tomar decisiones óptimas con variables discretas, la programación entera proporciona un enfoque efectivo para encontrar soluciones eficientes. ¿Por qué es importante aplicar la programación entera en la ingeniería industrial? En conclusión, la programación entera es esencial en la ingeniería industrial porque permite optimizar recursos, planificar la producción de manera eficiente, mejorar de forma óptima y tomar decisiones estratégicas. Su aplicación conduce a una mejora significativa en la eficiencia operativa y la reducción de costos.