1 Introducción A La Optimización
1 Introducción A La Optimización
1 Introducción A La Optimización
Producción
Diego Vallejo-Huanga
https://dievalhu.github.io/diegovallejo/
Introducción a la Optimización
Definiciones y Métodos
Bibliografía
Introducción a los Métodos Numéricos
para Ecuaciones Diferenciales
Sergio Blanes Zamora, Damián Ginestar Peiró,
María Dolores Roselló. (2014).
Segunda Edición
Universitat Politècnica de València
Capítulo 1
Richard Feynman
4
Modelamiento Matemático
Antecedentes
Modelo Matemático
Modelo
Es una representación o abstracción de una
situación u objeto real, que muestra las
relaciones (directas o indirectas) y las
interrelaciones de la acción y la reacción en
términos de causa y efecto.
Modelado
• Es el proceso completo de abstracción del
sistema real al modelo cuantitativo
• Tiene como resultado un modelo matemático,
de diferente naturaleza:
6. Implementación.
1. Definición del Problema de Interés y
Recolección de Datos
• Este proceso de definición del problema es crucial,
pues afectará de forma significativa la relevancia de
las conclusiones del estudio.
¿Cuál es el
Delimitar Descubrir
problema
el el
al que me
problema problema
enfrento?
2. Formulación de un Modelo Matemático
Representación
idealizada de un
sistema, mediante:
• Identificación de
las variables
• Formulación
Matemática
3. Generación de Soluciones a partir del
Modelo
• Desarrollar un procedimiento para obtener una
solución a partir de este modelo
• Se deben realizar análisis de sensibilidad, es decir
(comportamiento del modelo a cambios en
especificaciones y parámetros del sistema).
4. Prueba del Modelo
Mirar el pasado
3
responsabilid pruebas el programa e
ad entre estos pilotos implementaci
grupos ón
Naturaleza Iterativa de los Modelos
Introducción a la Programación
Lineal
Método Gráfico y Analítico
Optimización
Optimización
En matemáticas, estadística, ciencias empíricas, ciencias de la
computación, o economía, optimización matemática (o
programación matemática) es la selección del mejor elemento
(con respecto a algún criterio) de un conjunto de elementos
disponibles.
Maximizar y Minimizar
Optimización de Funciones
(Criterio de la Primera Derivada)
Optimización de Funciones
(Criterio de la Primera Derivada)
Optimización Mediante
Programación Lineal
Historia de la Programación Lineal
La programación lineal se plantea como un modelo matemático
desarrollado durante la Segunda Guerra Mundial para planificar los
gastos y los retornos, a fin de reducir los costos al ejército y aumentar las
pérdidas del enemigo. Se mantuvo en secreto hasta 1947.
https://miktex.org/
http://www.xm1math.net/texmaker/
Latex: Trabajo en la Nube
https://es.overleaf.com/
Tarea
Leer el artículo: Allende, Sira M., and Carlos N. Bouza. "Professor George Bernard
Dantzig, life and legend." Investigación Operacional 26.3 (2013): 205-211 y realizar un
resumen en el template de Latex de la IEEE. La extensión debe ser de máximo dos
páginas, debe estar escrito en castellano, debe incluir una tabla, una figura y una
ecuación.
https://www.ieee.org/conferences/publishing/templates.html
Investigación de Operaciones
Programación Lineal
Definición
• La programación lineal utiliza un modelo
matemático para describir el problema.
• El adjetivo lineal significa que todas las
funciones matemáticas del modelo deben ser
funciones lineales
Definición: Ejemplo
¿De las relaciones matemáticas siguientes, cuáles
podrían encontrarse en un modelo de
programación lineal y cuáles no?
Introducción
Método de solución de problemas que asiste en la
toma de decisiones.
Ejemplos:
• Programas de producción.
• Políticas de inventario.
• Portafolios de inversiones.
• Asignar presupuestos.
• Optimizar transporte.
Requerimientos
• El objetivo es maximizar o minimizar alguna
cantidad.
• Combinar recursos limitados para producir
diferentes productos, con máxima utilidad.
• Existen limitaciones o restricciones.
• Existen diferentes alternativas o cursos de acción
• Las relaciones matemáticas son lineales.
Formulación del problema
• Traducir descripción verbal en un modelo
matemático.
• Entender el problema a fondo.
• Describir el objetivo.
• Describir las restricciones.
• Definir las variables de decisión.
• Escribir la función objetivo.
Formulación
matemática
Problemas Problemas
generales específicos
Producto Disponible
Materia Prima Premium Estándar [Tn]
A 0.3 0.4 15
B 0 0.1 3
C 0.7 0.5 25
Utilidad/Tn 30 25
Tabla de Mezclas
Variables de Decisión
•Toneladas a producir
x
de producto premium
•Toneladas a producir de
y
productoestándar
Objetivo
Restricciones de No Negatividad
Solución por Computadora:
Programación Lineal
Herramientas Computacionales
Software para Programación
Lineal
Software Libre
Multiplataforma:
Software para Programación
Lineal
Software Libre
Plataforma
Específica:
Software para Programación
Lineal
Software de Pago:
Programación Lineal
Método Gráfico
Ecuaciones Vs. Inecuaciones
Representación Gráfica de
Restricciones
Representación Gráfica de
Restricciones
Representación Gráfica de
Restricciones
• 0.3𝑥 + 0.4𝑦 ≤ 15
• 0𝑥 + 0.1𝑦 ≤ 3
• 0.7𝑥 + 0.5𝑦 ≤ 25
• 𝑥,𝑦 ≥ 0
Representación Gráfica de
Restricciones
• 0.3𝑥 + 0.4𝑦 ≤ 15
• 0𝑥 + 0.1𝑦 ≤ 3
• 0.7𝑥 + 0.5𝑦 ≤ 25
• 𝑥,𝑦 ≥ 0
Representación Gráfica de
Restricciones
• 0.3𝑥 + 0.4𝑦 ≤ 15
• 0𝑥 + 0.1𝑦 ≤ 3
• 0.7𝑥 + 0.5𝑦 ≤ 25
• 𝑥,𝑦 ≥ 0
Representación Gráfica de
Restricciones
• 0.3𝑥 + 0.4𝑦 ≤ 15
• 0𝑥 + 0.1𝑦 ≤ 3
• 0.7𝑥 + 0.5𝑦 ≤ 25
• 𝑥,𝑦 ≥ 0
Representación Gráfica de
Restricciones
• 0.3𝑥 + 0.4𝑦 ≤ 15
• 0𝑥 + 0.1𝑦 ≤ 3
• 0.7𝑥 + 0.5𝑦 ≤ 25
• 𝑥,𝑦 ≥ 0
Demarcación de la Región Factible
Representación Gráfica de la
Función Objetivo
• 0.3𝑥 + 0.4𝑦 ≤ 15
• 0𝑥 + 0.1𝑦 ≤ 3
• 0.7𝑥 + 0.5𝑦 ≤ 25
• 𝑥,𝑦 ≥ 0
• Zmax = 30𝑥 + 25𝑦
Función Objetivo: Iteraciones
Función Objetivo: Iteraciones
Función Objetivo: Iteraciones
Solución: Punto Externo de la
Región Factible
Supuestos del Modelo de PL
• Proporcionalidad: La contribución en la función
objetivo y las restricciones es proporcional al valor de
las variables de decisión.
• Aditividad: En la funciónobjetivo y las restricciones.
• Divisivilidad: Las variables de decisión son
continuas.
Casos Especiales
Variables de Holgura
A B C
Premium (x):19.2 0.3 0 0.7
Estandar (y):23.1 0.4 0.1 0.5
Disponible 15 3 25
Consumido 15 2.3 25
z x y s1 s2 s3 cte
z 1 -30 -25 0 0 0 0
s1 0 0.3 0.4 1 0 0 15
s2 0 0 0.1 0 1 0 3
s3 0 0.7 0.5 0 0 1 25
z x y s1 s2 s3 cte
z 1 -30 -25 0 0 0 0
s1 0 0.3 0.4 1 0 0 15
s2 0 0 0.1 0 1 0 3
s3 0 0.7 0.5 0 0 1 25
z x y s1 s2 s3 cte
z 1 -30 -25 0 0 0 0
s1 0 0.3 0.4 1 0 0 15 15/0.3=50
s2 0 0 0.1 0 1 0 3 3/0 = Ind
s3 0 0.7 0.5 0 0 1 25 25/0.7=35.7
Escoger la fila pivote, con el valor más pequeño de la división del lado
derecho para los coeficientes respectivos de la columna pivote.
Paso 5
s3 = s3/0.7
z x y s1 s2 s3 cte
z
s1
s2
s3 0 1 0.714 0 0 1.429 35.714
Transformo el coeficiente de intersección fila y columna pivote a 1.
Paso 6
z x y s1 s2 s3 cte
z 1 0 -3.571 0 0 42.857 1071.429
s1 0 0 0.1857 1 0 -0.429 4.286
s2 0 0 0.1 0 1 0 3
s3 0 1 0.714 0 0 1.429 35.714
Transformo los coeficientes restantes de la columna pivote a 0,
tomando como base la fila pivote modificada.
Paso 7
z x y s1 s2 s3 cte
z 1 0 -3.571 0 0 42.857 1071.429
s1 0 0 0.1857 1 0 -0.429 4.286
s2 0 0 0.1 0 1 0 3
s3 0 1 0.714 0 0 1.429 35.714
Repetimos el proceso hasta que no exista ningún coeficiente de la
función objetivo con valor negativo.
Paso 8
z x y s1 s2 s3 cte
z 1 0 -3.571 0 0 42.857 1071.429
s1 0 0 0.186 1 0 -0.429 4.286 4.286/0.186=23.02
s2 0 0 0.1 0 1 0 3 3/0.1=30
s3 0 1 0.714 0 0 1.429 35.714 35.714/0.714=50
s1 = s1/0.186
z x y s1 s2 s3 cte
z
s1 0 0 1 5.385 0 -2.308 23.08
s2
s3
Transformo el coeficiente de intersección fila y columna pivote a 1.
Paso 10
z x y s1 s2 s3 Cte
z 1 0 0 19.23 0 34.62 1153.85
Restricciones de No Negatividad
Implementación
Variables:
Función Objetivo:
Implementación
Restricciones:
Implementación
Variables, Función Objetivo y Restricciones:
Implementación
Restricciones:
Resultado
Solución:
Software R
Instalación y Comandos Básicos
Componentes Necesarios
+
Descarga e Instalación de R
https://cran.r-project.org/
Consola y Editor de R
Descarga e Instalación de RStudio
https://www.rstudio.com/
Ambiente de Trabajo: RStudio
EDITOR
WORKSPACE
CONSOLA
Comandos
Básicos
para
Análisis de
Datos
(Estadística
Descriptiva)
Comandos Básicos para Análisis
de Datos (Análisis Gráfico)
Comandos Básicos para Análisis de
Datos (Instalación/Carga de Datos)
Comandos Básicos para Análisis de
Datos (Manejo de Datos)
Tópicos de Interés
Versionamiento:
Tópicos de Interés
Trabajo en la Nube: R Cloud
https://rstudio.cloud/
Cambio de Paradigma en el
Desarrollo de Productos
Desarrollo Local
Cambio de Paradigma en el
Desarrollo de Productos
Desarrollo Local
Cambio de Paradigma en el
Desarrollo de Productos
Desarrollo Stand-Alone
Cambio de Paradigma en el
Desarrollo de Productos
https://ceferra.shinyapps.io/ADoCS/
Desarrollo Web: Local / Nube
Programación Lineal
Algoritmo Simplex: Resolución con R
Instalación de Librerías: Rglpk,
lpSolve, linprog
Desde el interfaz gráfico:
Instalación de Librerías: Rglpk,
lpSolve, linprog
Desde el interfaz gráfico:
Instalación de Librerías: Rglpk,
lpSolve, linprog
Desde consola:
Modelo Matemático
Restricciones de No Negatividad
Implementación
Modelo de PL:
Método Simplex
Resultados Tabla Simplex:
Método Simplex
Resultados Tabla Simplex:
Resultado
Respuesta:
Caso de Estudio
Interpretación de las Soluciones
Interpretación de Soluciones en PL