SlideShare une entreprise Scribd logo
1  sur  44
Computer-aided Chemical Engineering
www.cacheme.org
Chem. Engineer
Daniel Domene
Python en la industria: el
problema de optimización
(matemática)
Carlos Planelles
Chem. Engineering Student
Índice
• Programación matemática
• AML (Algebraic Modeling Languages)
• Optimización en Python: ¿Por qué
Pyomo?
• Ejemplos
• Bibliografía
www.cacheme.org
Índice
• Programación matemática
• AML (Algebraic Modeling Languages)
• Optimización en Python: ¿Por qué
Pyomo?
• Ejemplos
• Bibliografía
www.cacheme.org
cacheme.org
Programación matemáticacacheme.org
n matemática
ón: ¿por qué es importante?
producto
entales
ducción
uipos y recursos
a
Interés
empresarial
(cc) Sam Derbyshire
Optimización: ¿por qué es importante?
• Mejorar la calidad de un producto
• Aumentar beneficios
• Reducir riesgos ambientales
• Reducir costes de producción
• Etc.
En la Ingeniería Química
Selección de equipos
Gestión logística
…
cacheme.org
Programación matemáticaOBJECTIVEFUNCTION
WITHCONSTRAINTS
©Benmoran
©Benmoran
cacheme.org
Programación matemática
Problemas de optimización
• Programación
Lineal (LP)
• Programación Lineal
Mixta Entera (MILP)
• Programación No
Lineal (NLP)
• Programación No Lineal
Mixta Entera (MINLP)
cacheme.org
Programación matemática
Programación Lineal (LP)
Función objetivo y
restricciones lineales
Algoritmo de SIMPLEX
EJEMPLO:
PROBLEMA DEL
TRANSPORTE
cacheme.org
Programación matemática
Programación Lineal Mixta Entera (MILP)
Función objetivo y
restricciones lineales.
Incluye la toma de
decisiones lógicas con la
incorporación de variables
binarias.
Algoritmo de
RAMIFICACIÓN Y
ACOTAMIENTO
EJEMPLO:
SELECCIÓN DE LA
MEJOR RUTA DE
PRODUCCIÓN
𝒎𝒊𝒏: 𝒄 𝑻
𝒙 + 𝒅 𝑻
𝒚
𝑠. 𝑎: 𝐴𝑥 + 𝐵𝑦 ≤ 𝑏
𝑥 ≥ 0 , 𝑥 ∈ 𝑋 ⊆ ℜ 𝑛
𝑦 ∈ 0,1
cacheme.org
min z = f (x)
s.a h(x) = 0
g(x) £ 0
x Î » n
Programación matemática
Programación No Lineal (NLP)
Función objetivo y/o
restricciones lineales y no
lineales.
Algoritmo:
Condiciones de optimalidad de
Karush-Kuhn-Tucker
EJEMPLO: DISEÑO DE UN REACTOR
CONTINUO DE TANQUE AGITADO
cacheme.org
{ }
) +
) +
) +
min (
. (
(
, 0,1
: , : , :
, ,
T
mn
n n l n p
m l m p m
z f
s a
f
´ ´
=
=
£
Î Î
® ® ®
Î Î Î
¡
¡ ¡ ¡ ¡ ¡ ¡
¡ ¡ ¡
x d y
h x By 0
g x Dy 0
x y
h g
d B D
Programación matemática
Programación No Lineal Mixta Entera (MINLP)
Función objetivo y/o
restricciones lineales y no
lineales.
Incorporación de
decisiones lógicas
mediante la inclusión de
variables binarias.
Algoritmo:
APROXIMACIONES
EXTERIORES
EJEMPLO:
SELECCIÓN DE LA
MEJOR RUTA DE
PRODUCCIÓN
Índice
• Programación matemática
• AML (Algebraic Modeling Languages)
• Optimización en Python: ¿Por qué
Pyomo?
• Ejemplos
• Bibliografía
www.cacheme.org
cacheme.org
AML (Algebraic modelling languages)
Software propietario:
AMPL (www.ampl.com) Lenguaje
sencillo, pero complicado interactuar
- GLPK es una alternativa libre
para LP y MILP
GAMS (www.gams.com) Se comunica
con solvers incluso para resolver MINLP
AIMMS (www.aiims.com) Diseñado para
resolver problemas de optimización a gran
escala, y programación de actividades.
cacheme.org
Optimización en Python: ¿Por qué Pyomo?
Free Open source:
CVXOPT – M. Andersen, J. Dahl, L. Vandenberghe
Notación matricial. Optimización Convexa
PuLP – Trabaja con lenguaje Python. Muy buenos
resultados para LP y MILP. No resuelve NLP
OpenOpt – Más de 30 solvers para solucionar el
modelado, incluyendo programación no lineal.
Pyomo – Coopr. (Sandia National Laboratories, USA)
Permite la formulación de modelos algebraicos en
Python.
cacheme.org
• Se comunica directamente con los principales solvers de AMPL,
GLPK, Gurobi, CPLEZ, CBC y PICO.
• Programación en Python tipo AMPL/GAMS.
• Compatible con Python 2 y 3.
• Pyomo (Coopr) es un paquete gratuito con licencia BSD, maduro y
bien documentado.
• Fácil instalación “pip install pyomo”, instalación de solver aparte.
• Adaptabilidad a modelado de la mayoría de problemas.cacheme.org
¿Por qué Pyomo?
Se comunica directamente los principales solvers de AMPL,
GLPK, Gurobi, CPLEX, CBC y PICO.
Programación en Python tipo AMPL/GAMS
Open source (COIN-OR)
coin-or.org
Optimización en Python: ¿Por qué Pyomo?
Índice
• Programación matemática
• AML (Algebraic Modeling Languages)
• Optimización en Python: ¿Por qué
Pyomo?
• Ejemplos
• Bibliografía
www.cacheme.org
cacheme.org
Ejemplos
EL PROBLEMA DEL TRANSPORTE
Linear Programing
• Problema clásico de optimización LP
• Se puede resolver con GLPK
• Hay que minimizar el coste en el transporte del producto
cacheme.org
Ejemplos
EL PROBLEMA DEL TRANSPORTE
Linear Programing
A1#
A2#
C1#
C2#
C3#
x2#
y2#
z2#
x1#
y1#
z1#
C3
C2
cacheme.org
Ejemplos
EL PROBLEMA DEL TRANSPORTE
Linear Programing
A1
A2
C1
C3
C2
0.1
0.7
0.8
0.3
cacheme.org
Ejemplos
EL PROBLEMA DEL TRANSPORTE
PROGRAMACIÓN ORIENTADA A
OBJETOS: se crea la clase.
Se importan las librerias
Mercados
Plantas
Demanda mínima
Producción máxima
Coste/distancia
Distancia plata-mercado
cacheme.org
Ejemplos
EL PROBLEMA DEL TRANSPORTE
Se nombran las variables, que corresponderán con la cantidad de
producto desde una planta a un mercado.
No puede ser negativaDepende de las plantas y
los mercados.
Declaramos que es una variable
cacheme.org
Ejemplos
EL PROBLEMA DEL TRANSPORTE
Por defecto minimiza. (Para
maximizar teclear maximize)
Declaramos que es la función a optimizar
cacheme.org
Ejemplos
EL PROBLEMA DEL TRANSPORTE
Declaramos que es una restricción
Declaramos que es una restricción
Hace referencia a la demanda mínima de los mercados
Hace referencia a la máxima producción por planta
cacheme.org
Ejemplos
EL PROBLEMA DEL TRANSPORTE
Archivo con los datos del problema:
Exigencias de los mercados, costes
por transporte…
Mercados
Plantas
Demanda
mínima
Producción
máxima
Coste/distancia
Distancia plata-mercado
cacheme.org
Ejemplos
EL PROBLEMA DEL TRANSPORTE
Linear Programing
cacheme.org
Ejemplos
EL PROBLEMA DEL TRANSPORTE
Cantidad de
producto de
cada planta al
correspondie
nte mercado
Coste total
cacheme.org
Ejemplos
PROCESS SYNTHESIS PROBLEM
Mixed Integred Linear Programing
• Problema de optimización MILP
• Se puede resolver con Pyomo, GAMS…
• Se puede emplear el solver GLPK
• Hay que decidir la ruta optima de producción
The goal is to maximize profits. Consider the following two cases:
1- The maximum demand for C is 10 tons / h, with a selling price of 1800 Euros / ton.
2- The maximum demand for C is 15 ton / h, the sale price is 1800 Euros / ton for the first 10 ton and 1500 Euros /
ton for excess.
Capital and operational costs
Fixed cost (Euros / h.) Variable (Euros / ton of raw
material entering the process)
Process I 1000 250
Process II 1500 400
Process III 2000 550
Prices A 500 Euros / ton.
B 950 Euros / ton.
Conversion Process I 90 % from A to B
Process II 82 % from B to C
Process III 95 % from B to C
Maximum availability for A: 16 ton / h.
Solve again the problem for the case where the input-ouput relationships for process II and III are given by the
following equations:
Proceso II: C = 6.5 Ln(1+B)
I
II
III
A
Bext
CB
https://github.com/Planelles20/pyomo/blob/master/MixedIntegerLinearProgramming/process_synthesis/EnunciadoProcess_Synthesis.pdf
Simulation, design and optimization of chemical processes – compute lab GAMS
Grado en Ingeniería Química – Universidad de Alicante
cacheme.org
Ejemplos
PROGRAMACIÓN ORIENTADA A
OBJETOS: se genera el modelo.
Se cargan los operadores
y la biblioteca numpy
Variables binarias del sistema para toma de decisiones lógicas ( 0 , 1 )
0: No proceso I , 1: Si proceso I
0: No proceso II , 1: Si proceso II
0: No proceso III , 1: Si proceso III
PROCESS SYNTHESIS PROBLEM
cacheme.org
Ejemplos
Declaración del resto de variables.
Unidades de producción que circulan por las corrientes
Físicamente no
pueden ser
negativas
PROCESS SYNTHESIS PROBLEM
cacheme.org
Ejemplos
Declaración del resto de variables.
Costes asociados a las corrientes
Pueden ser
positivas o
negativas
PROCESS SYNTHESIS PROBLEM
cacheme.org
Ejemplos
Declaración de las restricciones
PROCESS SYNTHESIS PROBLEM
cacheme.org
Ejemplos
Declaración de las restricciones
PROCESS SYNTHESIS PROBLEM
cacheme.org
Ejemplos
Declaración de las restricciones
PROCESS SYNTHESIS PROBLEM
El proceso II y III son
excluyentes, por lo se
introduce esta restricción
para que en el resultado final
solo se escoja uno de los dos
El problema también
establece unos valores
máximos para ciertas
variables, por lo que se ha de
tener en cuenta con estas
restricciones de límite
superior.
cacheme.org
Ejemplos
FUNCIÓN OBJETIVO
PROCESS SYNTHESIS PROBLEM
Tiene en cuenta los beneficios de venta del producto final
y el coste de los productos y de producción
cacheme.org
Ejemplos
PROCESS SYNTHESIS PROBLEM
Máximo beneficio
cacheme.org
Ejemplos
PROCESS SYNTHESIS PROBLEM
Existe el proceso IIExiste el proceso I
“Es más barato producir B que comprarlo”
cacheme.org
rices A 500 Euros / ton.
B 950 Euros / ton.
onversion Process I 90 % from A to B
Process II 82 % from B to C
Process III 95 % from B to C
Maximum availability for A: 16 ton / h.
again the problem for the case where the input-ouput relationships for process II and III are given by the
wing equations:
Proceso II: C = 6.5 Ln(1+B)
Proceso III: C= 7.2 Ln(1+B)
e B y C are the mass flow rate (ton/h) for B y C, respectively.
I
II
III
A
Bext
CB
Ejemplos
PROCESS SYNTHESIS PROBLEM
or excess.
Capital and operational costs
Fixed cost (Euros / h.) Variable (Euros / ton of raw
material entering the process)
rocess I 1000 250
rocess II 1500 400
rocess III 2000 550
rices A 500 Euros / ton.
B 950 Euros / ton.
onversion Process I 90 % from A to B
Process II 82 % from B to C
Process III 95 % from B to C
Maximum availability for A: 16 ton / h.
I
II
III
A
Bext
CB
Caso de estudio
Caso para cuando
aumenta la producción y el
exceso de C es menos
rentable
or excess.
Capital and operational costs
Fixed cost (Euros / h.) Variable (Euros / ton of raw
material entering the process)
rocess I 1000 250
rocess II 1500 400
rocess III 2000 550
rices A 500 Euros / ton.
B 950 Euros / ton.
onversion Process I 90 % from A to B
Process II 82 % from B to C
Process III 95 % from B to C
Maximum availability for A: 16 ton / h.
I
II
III
A
Bext
CB
cacheme.org
Ejemplos
REACTOR DESIGN
Non Linear Programming
• Problema NLP
• Problema típico en la industria química
• Se puede resolver con ipopt
• Hay que maximizar la producción de B, atendiendo a la
velocidad espacial
https://en.wikipedia.org/wiki/Continuous_stirred-tank_reactor
Carl D. Laid
Chemical Engineer
cacheme.org
Ejemplos
REACTOR DESIGN
Se cargan los datos del problema
Coeficientes de reacción y
concentración inicial de reactivo
PROGRAMACIÓN ORIENTADA A
OBJETOS: se crea la clase
cacheme.org
REACTOR DESIGN
Ejemplos
Se crean las variables
Se aporta un valor inicial
de las variables para
facilitar el cálculo
Físicamente no
pueden ser
negativas
Concentraciones
de las especies
cacheme.org
REACTOR DESIGN
Ejemplos
RESTRICCIONES
ESTADO ESTACIONARIO
Balance de componente A
Balance de componente B
Tiempo de
residencia
cacheme.org
REACTOR DESIGN
Ejemplos
RESTRICCIONES
ESTADO ESTACIONARIO
Balance de componente C
Balance de componente B
cacheme.org
REACTOR DESIGN
Ejemplos
RESTRICCIONES
Función objetivo
Maximizar la
concentración de B
cacheme.org
Bibliografía
• Apuntes de la asignatura Simulación y Optimización de procesos
Industriales del Grado en Ingeniería Química de la Universidad de
Alicante.
• Pyomo – Optimization modeling in Python
• Springer Optimization and its aplications Vol. 67. Willian E. Hart
• Sandia National Laboratories
Agradecimientos
• Dr. Rubén Ruiz-Femenia
• Dr. Ignacio Aracil
• Francisco J. Navarro-Brull
@CAChemEorg
CAChemEorg
CAChemE
info@cacheme.orgmail
www.cacheme.org
Muchas gracias por su atención
Chem. Engineer
Chem. Engineering Student
Daniel Domene
Carlos Planelles
https://github.com/CAChemE/pyomo

Contenu connexe

Tendances

Unidad III: Polos y Ceros de una función de transferencia.
Unidad III: Polos y Ceros de una función de transferencia.Unidad III: Polos y Ceros de una función de transferencia.
Unidad III: Polos y Ceros de una función de transferencia.Mayra Peña
 
EJERCICIOS TEMA 1. MICROCONTROLADORES II EN C
EJERCICIOS TEMA 1. MICROCONTROLADORES II EN CEJERCICIOS TEMA 1. MICROCONTROLADORES II EN C
EJERCICIOS TEMA 1. MICROCONTROLADORES II EN CLuis Zurita
 
Transformada de laplace (tablas)
Transformada de laplace (tablas)Transformada de laplace (tablas)
Transformada de laplace (tablas)MateoLeonidez
 
Variables de estado
Variables de estadoVariables de estado
Variables de estadoluisatero
 
Simulación: Teoría y aplicaciones con Promodel
Simulación: Teoría y aplicaciones con PromodelSimulación: Teoría y aplicaciones con Promodel
Simulación: Teoría y aplicaciones con PromodelAlvaro Gil
 
solucionario Investigación de operaciones Hamdy a. Taha
 solucionario Investigación de operaciones Hamdy a. Taha solucionario Investigación de operaciones Hamdy a. Taha
solucionario Investigación de operaciones Hamdy a. Tahaangel05az
 
Ejercicios sobre Transformada de Laplace
Ejercicios sobre Transformada de LaplaceEjercicios sobre Transformada de Laplace
Ejercicios sobre Transformada de LaplaceJeickson Sulbaran
 
Formulario para ecuaciones diferenciales de orden superior
Formulario para ecuaciones diferenciales de orden superiorFormulario para ecuaciones diferenciales de orden superior
Formulario para ecuaciones diferenciales de orden superiorMiguel Ángel Hernández Trejo
 
1.2 control pid INGENIERIA DEL CONTROL
1.2 control pid INGENIERIA DEL CONTROL1.2 control pid INGENIERIA DEL CONTROL
1.2 control pid INGENIERIA DEL CONTROLPether Davila
 
Economia proy. inversiones - van y tir
Economia   proy. inversiones - van y tirEconomia   proy. inversiones - van y tir
Economia proy. inversiones - van y tirGonzalo Mestas
 
2.2 el modelo primal y dual
2.2 el modelo primal y dual2.2 el modelo primal y dual
2.2 el modelo primal y dualDavid Mar
 
Aplicaciones del cálculo a la ingeniería
Aplicaciones del cálculo a la ingenieríaAplicaciones del cálculo a la ingeniería
Aplicaciones del cálculo a la ingenieríaAbel Rivera Cervantes
 
Teoria de control analisis de la respuesta en frecuencia
Teoria de control analisis de la respuesta en frecuenciaTeoria de control analisis de la respuesta en frecuencia
Teoria de control analisis de la respuesta en frecuenciaBendryx Bello Bracho
 

Tendances (20)

Unidad III: Polos y Ceros de una función de transferencia.
Unidad III: Polos y Ceros de una función de transferencia.Unidad III: Polos y Ceros de una función de transferencia.
Unidad III: Polos y Ceros de una función de transferencia.
 
EJERCICIOS TEMA 1. MICROCONTROLADORES II EN C
EJERCICIOS TEMA 1. MICROCONTROLADORES II EN CEJERCICIOS TEMA 1. MICROCONTROLADORES II EN C
EJERCICIOS TEMA 1. MICROCONTROLADORES II EN C
 
Ejercicios resueltos de costes
Ejercicios resueltos de costes Ejercicios resueltos de costes
Ejercicios resueltos de costes
 
Ejercicio de externalidades
Ejercicio de externalidadesEjercicio de externalidades
Ejercicio de externalidades
 
Transformada de laplace (tablas)
Transformada de laplace (tablas)Transformada de laplace (tablas)
Transformada de laplace (tablas)
 
Función de transferencia
Función de transferenciaFunción de transferencia
Función de transferencia
 
Variables de estado
Variables de estadoVariables de estado
Variables de estado
 
Modelos de sistemas
Modelos de sistemasModelos de sistemas
Modelos de sistemas
 
Simulación: Teoría y aplicaciones con Promodel
Simulación: Teoría y aplicaciones con PromodelSimulación: Teoría y aplicaciones con Promodel
Simulación: Teoría y aplicaciones con Promodel
 
solucionario Investigación de operaciones Hamdy a. Taha
 solucionario Investigación de operaciones Hamdy a. Taha solucionario Investigación de operaciones Hamdy a. Taha
solucionario Investigación de operaciones Hamdy a. Taha
 
Ejercicios sobre Transformada de Laplace
Ejercicios sobre Transformada de LaplaceEjercicios sobre Transformada de Laplace
Ejercicios sobre Transformada de Laplace
 
Formulario para ecuaciones diferenciales de orden superior
Formulario para ecuaciones diferenciales de orden superiorFormulario para ecuaciones diferenciales de orden superior
Formulario para ecuaciones diferenciales de orden superior
 
1.2 control pid INGENIERIA DEL CONTROL
1.2 control pid INGENIERIA DEL CONTROL1.2 control pid INGENIERIA DEL CONTROL
1.2 control pid INGENIERIA DEL CONTROL
 
8 2 convertidor-analogico_-digital
8 2 convertidor-analogico_-digital8 2 convertidor-analogico_-digital
8 2 convertidor-analogico_-digital
 
CPI1 - CLASE 2 - PARTE 2
CPI1 - CLASE 2 - PARTE 2CPI1 - CLASE 2 - PARTE 2
CPI1 - CLASE 2 - PARTE 2
 
Economia proy. inversiones - van y tir
Economia   proy. inversiones - van y tirEconomia   proy. inversiones - van y tir
Economia proy. inversiones - van y tir
 
2.2 el modelo primal y dual
2.2 el modelo primal y dual2.2 el modelo primal y dual
2.2 el modelo primal y dual
 
Aplicaciones del cálculo a la ingeniería
Aplicaciones del cálculo a la ingenieríaAplicaciones del cálculo a la ingeniería
Aplicaciones del cálculo a la ingeniería
 
Sistemas dinamicos de orden superior
Sistemas dinamicos de orden superiorSistemas dinamicos de orden superior
Sistemas dinamicos de orden superior
 
Teoria de control analisis de la respuesta en frecuencia
Teoria de control analisis de la respuesta en frecuenciaTeoria de control analisis de la respuesta en frecuencia
Teoria de control analisis de la respuesta en frecuencia
 

Similaire à Optimizacion con Python (Pyomo vs GAMS vs AMPL)

El uso de Python en la Ingenieria Química - Charla Completa
El uso de Python en la Ingenieria Química - Charla CompletaEl uso de Python en la Ingenieria Química - Charla Completa
El uso de Python en la Ingenieria Química - Charla CompletaCAChemE
 
Iniciación al modelado de reactores químicos com MATLAB - Octave (intro)
Iniciación al modelado de reactores químicos com MATLAB - Octave (intro)Iniciación al modelado de reactores químicos com MATLAB - Octave (intro)
Iniciación al modelado de reactores químicos com MATLAB - Octave (intro)CAChemE
 
Latin America Webinar Cfd 3 18 11 Final V Final
Latin America Webinar Cfd 3 18 11 Final V FinalLatin America Webinar Cfd 3 18 11 Final V Final
Latin America Webinar Cfd 3 18 11 Final V FinalEd Erb
 
Concepto Básicos Algoritmia
Concepto Básicos Algoritmia Concepto Básicos Algoritmia
Concepto Básicos Algoritmia Daniel Gómez
 
Optimización fred
Optimización fredOptimización fred
Optimización fred12412006
 
BigNum - Programación 3 - UFM - FISICC
BigNum - Programación 3 - UFM - FISICCBigNum - Programación 3 - UFM - FISICC
BigNum - Programación 3 - UFM - FISICCEgdares Futch H.
 
El rol de mediciones formales en proyectos de tecnología
El rol de mediciones formales en proyectos de tecnologíaEl rol de mediciones formales en proyectos de tecnología
El rol de mediciones formales en proyectos de tecnologíaGeneXus Consulting
 
C++ Como Programar - Deitel 6edi.pdf
C++ Como Programar - Deitel 6edi.pdfC++ Como Programar - Deitel 6edi.pdf
C++ Como Programar - Deitel 6edi.pdfbilgrado01
 
Luis cabello
Luis cabelloLuis cabello
Luis cabelloJulio1443
 
Python para resolver EDPs - Ingeniería Química - PyConES 2013
Python para resolver EDPs - Ingeniería Química - PyConES 2013Python para resolver EDPs - Ingeniería Química - PyConES 2013
Python para resolver EDPs - Ingeniería Química - PyConES 2013CAChemE
 
Practicas de-io-con-pom-qm
Practicas de-io-con-pom-qmPracticas de-io-con-pom-qm
Practicas de-io-con-pom-qmFreddy López
 
I4MS Information Day
I4MS Information DayI4MS Information Day
I4MS Information DayI4MS_eu
 

Similaire à Optimizacion con Python (Pyomo vs GAMS vs AMPL) (20)

El uso de Python en la Ingenieria Química - Charla Completa
El uso de Python en la Ingenieria Química - Charla CompletaEl uso de Python en la Ingenieria Química - Charla Completa
El uso de Python en la Ingenieria Química - Charla Completa
 
Iniciación al modelado de reactores químicos com MATLAB - Octave (intro)
Iniciación al modelado de reactores químicos com MATLAB - Octave (intro)Iniciación al modelado de reactores químicos com MATLAB - Octave (intro)
Iniciación al modelado de reactores químicos com MATLAB - Octave (intro)
 
Latin America Webinar Cfd 3 18 11 Final V Final
Latin America Webinar Cfd 3 18 11 Final V FinalLatin America Webinar Cfd 3 18 11 Final V Final
Latin America Webinar Cfd 3 18 11 Final V Final
 
Optimización
OptimizaciónOptimización
Optimización
 
Io 2da programacion lineal
Io 2da programacion linealIo 2da programacion lineal
Io 2da programacion lineal
 
Modulo6
Modulo6Modulo6
Modulo6
 
Concepto Básicos Algoritmia
Concepto Básicos Algoritmia Concepto Básicos Algoritmia
Concepto Básicos Algoritmia
 
Candoit CASOS CFD 2015
Candoit CASOS CFD 2015Candoit CASOS CFD 2015
Candoit CASOS CFD 2015
 
T gams ar
T gams arT gams ar
T gams ar
 
Optimización fred
Optimización fredOptimización fred
Optimización fred
 
08 compalgoritmos
08 compalgoritmos08 compalgoritmos
08 compalgoritmos
 
Programacion lineal
Programacion linealProgramacion lineal
Programacion lineal
 
BigNum - Programación 3 - UFM - FISICC
BigNum - Programación 3 - UFM - FISICCBigNum - Programación 3 - UFM - FISICC
BigNum - Programación 3 - UFM - FISICC
 
El rol de mediciones formales en proyectos de tecnología
El rol de mediciones formales en proyectos de tecnologíaEl rol de mediciones formales en proyectos de tecnología
El rol de mediciones formales en proyectos de tecnología
 
7 b
7 b7 b
7 b
 
C++ Como Programar - Deitel 6edi.pdf
C++ Como Programar - Deitel 6edi.pdfC++ Como Programar - Deitel 6edi.pdf
C++ Como Programar - Deitel 6edi.pdf
 
Luis cabello
Luis cabelloLuis cabello
Luis cabello
 
Python para resolver EDPs - Ingeniería Química - PyConES 2013
Python para resolver EDPs - Ingeniería Química - PyConES 2013Python para resolver EDPs - Ingeniería Química - PyConES 2013
Python para resolver EDPs - Ingeniería Química - PyConES 2013
 
Practicas de-io-con-pom-qm
Practicas de-io-con-pom-qmPracticas de-io-con-pom-qm
Practicas de-io-con-pom-qm
 
I4MS Information Day
I4MS Information DayI4MS Information Day
I4MS Information Day
 

Plus de CAChemE

Mixed-integer and Disjunctive Programming - Ignacio E. Grossmann
Mixed-integer and Disjunctive Programming - Ignacio E. GrossmannMixed-integer and Disjunctive Programming - Ignacio E. Grossmann
Mixed-integer and Disjunctive Programming - Ignacio E. GrossmannCAChemE
 
Mixed-integer Models for Planning and Scheduling - Ignacio E. Grossmann
Mixed-integer Models for Planning and Scheduling - Ignacio E. GrossmannMixed-integer Models for Planning and Scheduling - Ignacio E. Grossmann
Mixed-integer Models for Planning and Scheduling - Ignacio E. GrossmannCAChemE
 
Simulation of Chemical Rectors - Introduction to chemical process simulators ...
Simulation of Chemical Rectors - Introduction to chemical process simulators ...Simulation of Chemical Rectors - Introduction to chemical process simulators ...
Simulation of Chemical Rectors - Introduction to chemical process simulators ...CAChemE
 
Introduction to free and open source Chemical Process Simulators - (DWSIM & C...
Introduction to free and open source Chemical Process Simulators - (DWSIM & C...Introduction to free and open source Chemical Process Simulators - (DWSIM & C...
Introduction to free and open source Chemical Process Simulators - (DWSIM & C...CAChemE
 
Simulador de reactores químicos - COCO Simulator - Free
Simulador de reactores químicos - COCO Simulator - FreeSimulador de reactores químicos - COCO Simulator - Free
Simulador de reactores químicos - COCO Simulator - FreeCAChemE
 
S4 - Process/product optimization using design of experiments and response su...
S4 - Process/product optimization using design of experiments and response su...S4 - Process/product optimization using design of experiments and response su...
S4 - Process/product optimization using design of experiments and response su...CAChemE
 
S3 - Process product optimization design experiments response surface methodo...
S3 - Process product optimization design experiments response surface methodo...S3 - Process product optimization design experiments response surface methodo...
S3 - Process product optimization design experiments response surface methodo...CAChemE
 
S2 - Process product optimization using design experiments and response surfa...
S2 - Process product optimization using design experiments and response surfa...S2 - Process product optimization using design experiments and response surfa...
S2 - Process product optimization using design experiments and response surfa...CAChemE
 
S1 - Process product optimization using design experiments and response surfa...
S1 - Process product optimization using design experiments and response surfa...S1 - Process product optimization using design experiments and response surfa...
S1 - Process product optimization using design experiments and response surfa...CAChemE
 
Python en ciencia e ingenieria: lecciones aprendidas
Python en ciencia e ingenieria: lecciones aprendidasPython en ciencia e ingenieria: lecciones aprendidas
Python en ciencia e ingenieria: lecciones aprendidasCAChemE
 
Simulación de columnas de destilación multicomponente con COCO+ChemSep (alter...
Simulación de columnas de destilación multicomponente con COCO+ChemSep (alter...Simulación de columnas de destilación multicomponente con COCO+ChemSep (alter...
Simulación de columnas de destilación multicomponente con COCO+ChemSep (alter...CAChemE
 
Método McCabe-Thiele colmuna destilación - Curso gratutito de simulación de p...
Método McCabe-Thiele colmuna destilación - Curso gratutito de simulación de p...Método McCabe-Thiele colmuna destilación - Curso gratutito de simulación de p...
Método McCabe-Thiele colmuna destilación - Curso gratutito de simulación de p...CAChemE
 
Curso inciación a COCO Simulator y ChemSep - Simulación de procesos químicos ...
Curso inciación a COCO Simulator y ChemSep - Simulación de procesos químicos ...Curso inciación a COCO Simulator y ChemSep - Simulación de procesos químicos ...
Curso inciación a COCO Simulator y ChemSep - Simulación de procesos químicos ...CAChemE
 
Cómo hacer una búsqueda bibliográfica en bases de datos científicas (Scopus y...
Cómo hacer una búsqueda bibliográfica en bases de datos científicas (Scopus y...Cómo hacer una búsqueda bibliográfica en bases de datos científicas (Scopus y...
Cómo hacer una búsqueda bibliográfica en bases de datos científicas (Scopus y...CAChemE
 
Instalar Python 2.7 y 3 en Windows (Anaconda)
Instalar Python 2.7 y 3 en Windows (Anaconda)Instalar Python 2.7 y 3 en Windows (Anaconda)
Instalar Python 2.7 y 3 en Windows (Anaconda)CAChemE
 
Reactor de flujo piston con MATLAB Octave
Reactor de flujo piston con MATLAB OctaveReactor de flujo piston con MATLAB Octave
Reactor de flujo piston con MATLAB OctaveCAChemE
 
Reactor flujo piston en MATLAB - Octave - Craqueo termico
Reactor flujo piston en MATLAB - Octave - Craqueo termicoReactor flujo piston en MATLAB - Octave - Craqueo termico
Reactor flujo piston en MATLAB - Octave - Craqueo termicoCAChemE
 
Simulación de reactores químicos con octave
Simulación de reactores químicos con octaveSimulación de reactores químicos con octave
Simulación de reactores químicos con octaveCAChemE
 
Diseño de reactores químicos con Python - Ingeniería Química - PyConES
Diseño de reactores químicos con Python - Ingeniería Química - PyConESDiseño de reactores químicos con Python - Ingeniería Química - PyConES
Diseño de reactores químicos con Python - Ingeniería Química - PyConESCAChemE
 

Plus de CAChemE (19)

Mixed-integer and Disjunctive Programming - Ignacio E. Grossmann
Mixed-integer and Disjunctive Programming - Ignacio E. GrossmannMixed-integer and Disjunctive Programming - Ignacio E. Grossmann
Mixed-integer and Disjunctive Programming - Ignacio E. Grossmann
 
Mixed-integer Models for Planning and Scheduling - Ignacio E. Grossmann
Mixed-integer Models for Planning and Scheduling - Ignacio E. GrossmannMixed-integer Models for Planning and Scheduling - Ignacio E. Grossmann
Mixed-integer Models for Planning and Scheduling - Ignacio E. Grossmann
 
Simulation of Chemical Rectors - Introduction to chemical process simulators ...
Simulation of Chemical Rectors - Introduction to chemical process simulators ...Simulation of Chemical Rectors - Introduction to chemical process simulators ...
Simulation of Chemical Rectors - Introduction to chemical process simulators ...
 
Introduction to free and open source Chemical Process Simulators - (DWSIM & C...
Introduction to free and open source Chemical Process Simulators - (DWSIM & C...Introduction to free and open source Chemical Process Simulators - (DWSIM & C...
Introduction to free and open source Chemical Process Simulators - (DWSIM & C...
 
Simulador de reactores químicos - COCO Simulator - Free
Simulador de reactores químicos - COCO Simulator - FreeSimulador de reactores químicos - COCO Simulator - Free
Simulador de reactores químicos - COCO Simulator - Free
 
S4 - Process/product optimization using design of experiments and response su...
S4 - Process/product optimization using design of experiments and response su...S4 - Process/product optimization using design of experiments and response su...
S4 - Process/product optimization using design of experiments and response su...
 
S3 - Process product optimization design experiments response surface methodo...
S3 - Process product optimization design experiments response surface methodo...S3 - Process product optimization design experiments response surface methodo...
S3 - Process product optimization design experiments response surface methodo...
 
S2 - Process product optimization using design experiments and response surfa...
S2 - Process product optimization using design experiments and response surfa...S2 - Process product optimization using design experiments and response surfa...
S2 - Process product optimization using design experiments and response surfa...
 
S1 - Process product optimization using design experiments and response surfa...
S1 - Process product optimization using design experiments and response surfa...S1 - Process product optimization using design experiments and response surfa...
S1 - Process product optimization using design experiments and response surfa...
 
Python en ciencia e ingenieria: lecciones aprendidas
Python en ciencia e ingenieria: lecciones aprendidasPython en ciencia e ingenieria: lecciones aprendidas
Python en ciencia e ingenieria: lecciones aprendidas
 
Simulación de columnas de destilación multicomponente con COCO+ChemSep (alter...
Simulación de columnas de destilación multicomponente con COCO+ChemSep (alter...Simulación de columnas de destilación multicomponente con COCO+ChemSep (alter...
Simulación de columnas de destilación multicomponente con COCO+ChemSep (alter...
 
Método McCabe-Thiele colmuna destilación - Curso gratutito de simulación de p...
Método McCabe-Thiele colmuna destilación - Curso gratutito de simulación de p...Método McCabe-Thiele colmuna destilación - Curso gratutito de simulación de p...
Método McCabe-Thiele colmuna destilación - Curso gratutito de simulación de p...
 
Curso inciación a COCO Simulator y ChemSep - Simulación de procesos químicos ...
Curso inciación a COCO Simulator y ChemSep - Simulación de procesos químicos ...Curso inciación a COCO Simulator y ChemSep - Simulación de procesos químicos ...
Curso inciación a COCO Simulator y ChemSep - Simulación de procesos químicos ...
 
Cómo hacer una búsqueda bibliográfica en bases de datos científicas (Scopus y...
Cómo hacer una búsqueda bibliográfica en bases de datos científicas (Scopus y...Cómo hacer una búsqueda bibliográfica en bases de datos científicas (Scopus y...
Cómo hacer una búsqueda bibliográfica en bases de datos científicas (Scopus y...
 
Instalar Python 2.7 y 3 en Windows (Anaconda)
Instalar Python 2.7 y 3 en Windows (Anaconda)Instalar Python 2.7 y 3 en Windows (Anaconda)
Instalar Python 2.7 y 3 en Windows (Anaconda)
 
Reactor de flujo piston con MATLAB Octave
Reactor de flujo piston con MATLAB OctaveReactor de flujo piston con MATLAB Octave
Reactor de flujo piston con MATLAB Octave
 
Reactor flujo piston en MATLAB - Octave - Craqueo termico
Reactor flujo piston en MATLAB - Octave - Craqueo termicoReactor flujo piston en MATLAB - Octave - Craqueo termico
Reactor flujo piston en MATLAB - Octave - Craqueo termico
 
Simulación de reactores químicos con octave
Simulación de reactores químicos con octaveSimulación de reactores químicos con octave
Simulación de reactores químicos con octave
 
Diseño de reactores químicos con Python - Ingeniería Química - PyConES
Diseño de reactores químicos con Python - Ingeniería Química - PyConESDiseño de reactores químicos con Python - Ingeniería Química - PyConES
Diseño de reactores químicos con Python - Ingeniería Química - PyConES
 

Dernier

Calavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfCalavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfyoseka196
 
CLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxCLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxbingoscarlet
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaXimenaFallaLecca1
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacajeremiasnifla
 
Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdfFernandaGarca788912
 
Sesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdfSesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdfannavarrom
 
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxPPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxSergioGJimenezMorean
 
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPSEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPJosLuisFrancoCaldern
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdffredyflores58
 
Introducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptIntroducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptEduardoCorado
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASfranzEmersonMAMANIOC
 
Seleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSeleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSaulSantiago25
 
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptxguillermosantana15
 
PPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfPPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfalexquispenieto2
 
Unidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxUnidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxEverardoRuiz8
 
sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7luisanthonycarrascos
 
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdfCristhianZetaNima
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)ssuser563c56
 
Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...
Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...
Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...wvernetlopez
 

Dernier (20)

Calavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfCalavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdf
 
CLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxCLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptx
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpaca
 
Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdf
 
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdfVALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
 
Sesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdfSesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdf
 
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxPPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
 
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPSEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
 
Introducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptIntroducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.ppt
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
 
Seleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSeleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusibles
 
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
 
PPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfPPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdf
 
Unidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxUnidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptx
 
sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7
 
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
 
Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...
Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...
Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...
 

Optimizacion con Python (Pyomo vs GAMS vs AMPL)

  • 1. Computer-aided Chemical Engineering www.cacheme.org Chem. Engineer Daniel Domene Python en la industria: el problema de optimización (matemática) Carlos Planelles Chem. Engineering Student
  • 2. Índice • Programación matemática • AML (Algebraic Modeling Languages) • Optimización en Python: ¿Por qué Pyomo? • Ejemplos • Bibliografía www.cacheme.org
  • 3. Índice • Programación matemática • AML (Algebraic Modeling Languages) • Optimización en Python: ¿Por qué Pyomo? • Ejemplos • Bibliografía www.cacheme.org
  • 4. cacheme.org Programación matemáticacacheme.org n matemática ón: ¿por qué es importante? producto entales ducción uipos y recursos a Interés empresarial (cc) Sam Derbyshire Optimización: ¿por qué es importante? • Mejorar la calidad de un producto • Aumentar beneficios • Reducir riesgos ambientales • Reducir costes de producción • Etc. En la Ingeniería Química Selección de equipos Gestión logística …
  • 6. cacheme.org Programación matemática Problemas de optimización • Programación Lineal (LP) • Programación Lineal Mixta Entera (MILP) • Programación No Lineal (NLP) • Programación No Lineal Mixta Entera (MINLP)
  • 7. cacheme.org Programación matemática Programación Lineal (LP) Función objetivo y restricciones lineales Algoritmo de SIMPLEX EJEMPLO: PROBLEMA DEL TRANSPORTE
  • 8. cacheme.org Programación matemática Programación Lineal Mixta Entera (MILP) Función objetivo y restricciones lineales. Incluye la toma de decisiones lógicas con la incorporación de variables binarias. Algoritmo de RAMIFICACIÓN Y ACOTAMIENTO EJEMPLO: SELECCIÓN DE LA MEJOR RUTA DE PRODUCCIÓN 𝒎𝒊𝒏: 𝒄 𝑻 𝒙 + 𝒅 𝑻 𝒚 𝑠. 𝑎: 𝐴𝑥 + 𝐵𝑦 ≤ 𝑏 𝑥 ≥ 0 , 𝑥 ∈ 𝑋 ⊆ ℜ 𝑛 𝑦 ∈ 0,1
  • 9. cacheme.org min z = f (x) s.a h(x) = 0 g(x) £ 0 x Î » n Programación matemática Programación No Lineal (NLP) Función objetivo y/o restricciones lineales y no lineales. Algoritmo: Condiciones de optimalidad de Karush-Kuhn-Tucker EJEMPLO: DISEÑO DE UN REACTOR CONTINUO DE TANQUE AGITADO
  • 10. cacheme.org { } ) + ) + ) + min ( . ( ( , 0,1 : , : , : , , T mn n n l n p m l m p m z f s a f ´ ´ = = £ Î Î ® ® ® Î Î Î ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ x d y h x By 0 g x Dy 0 x y h g d B D Programación matemática Programación No Lineal Mixta Entera (MINLP) Función objetivo y/o restricciones lineales y no lineales. Incorporación de decisiones lógicas mediante la inclusión de variables binarias. Algoritmo: APROXIMACIONES EXTERIORES EJEMPLO: SELECCIÓN DE LA MEJOR RUTA DE PRODUCCIÓN
  • 11. Índice • Programación matemática • AML (Algebraic Modeling Languages) • Optimización en Python: ¿Por qué Pyomo? • Ejemplos • Bibliografía www.cacheme.org
  • 12. cacheme.org AML (Algebraic modelling languages) Software propietario: AMPL (www.ampl.com) Lenguaje sencillo, pero complicado interactuar - GLPK es una alternativa libre para LP y MILP GAMS (www.gams.com) Se comunica con solvers incluso para resolver MINLP AIMMS (www.aiims.com) Diseñado para resolver problemas de optimización a gran escala, y programación de actividades.
  • 13. cacheme.org Optimización en Python: ¿Por qué Pyomo? Free Open source: CVXOPT – M. Andersen, J. Dahl, L. Vandenberghe Notación matricial. Optimización Convexa PuLP – Trabaja con lenguaje Python. Muy buenos resultados para LP y MILP. No resuelve NLP OpenOpt – Más de 30 solvers para solucionar el modelado, incluyendo programación no lineal. Pyomo – Coopr. (Sandia National Laboratories, USA) Permite la formulación de modelos algebraicos en Python.
  • 14. cacheme.org • Se comunica directamente con los principales solvers de AMPL, GLPK, Gurobi, CPLEZ, CBC y PICO. • Programación en Python tipo AMPL/GAMS. • Compatible con Python 2 y 3. • Pyomo (Coopr) es un paquete gratuito con licencia BSD, maduro y bien documentado. • Fácil instalación “pip install pyomo”, instalación de solver aparte. • Adaptabilidad a modelado de la mayoría de problemas.cacheme.org ¿Por qué Pyomo? Se comunica directamente los principales solvers de AMPL, GLPK, Gurobi, CPLEX, CBC y PICO. Programación en Python tipo AMPL/GAMS Open source (COIN-OR) coin-or.org Optimización en Python: ¿Por qué Pyomo?
  • 15. Índice • Programación matemática • AML (Algebraic Modeling Languages) • Optimización en Python: ¿Por qué Pyomo? • Ejemplos • Bibliografía www.cacheme.org
  • 16. cacheme.org Ejemplos EL PROBLEMA DEL TRANSPORTE Linear Programing • Problema clásico de optimización LP • Se puede resolver con GLPK • Hay que minimizar el coste en el transporte del producto
  • 17. cacheme.org Ejemplos EL PROBLEMA DEL TRANSPORTE Linear Programing A1# A2# C1# C2# C3# x2# y2# z2# x1# y1# z1# C3 C2
  • 18. cacheme.org Ejemplos EL PROBLEMA DEL TRANSPORTE Linear Programing A1 A2 C1 C3 C2 0.1 0.7 0.8 0.3
  • 19. cacheme.org Ejemplos EL PROBLEMA DEL TRANSPORTE PROGRAMACIÓN ORIENTADA A OBJETOS: se crea la clase. Se importan las librerias Mercados Plantas Demanda mínima Producción máxima Coste/distancia Distancia plata-mercado
  • 20. cacheme.org Ejemplos EL PROBLEMA DEL TRANSPORTE Se nombran las variables, que corresponderán con la cantidad de producto desde una planta a un mercado. No puede ser negativaDepende de las plantas y los mercados. Declaramos que es una variable
  • 21. cacheme.org Ejemplos EL PROBLEMA DEL TRANSPORTE Por defecto minimiza. (Para maximizar teclear maximize) Declaramos que es la función a optimizar
  • 22. cacheme.org Ejemplos EL PROBLEMA DEL TRANSPORTE Declaramos que es una restricción Declaramos que es una restricción Hace referencia a la demanda mínima de los mercados Hace referencia a la máxima producción por planta
  • 23. cacheme.org Ejemplos EL PROBLEMA DEL TRANSPORTE Archivo con los datos del problema: Exigencias de los mercados, costes por transporte… Mercados Plantas Demanda mínima Producción máxima Coste/distancia Distancia plata-mercado
  • 24. cacheme.org Ejemplos EL PROBLEMA DEL TRANSPORTE Linear Programing
  • 25. cacheme.org Ejemplos EL PROBLEMA DEL TRANSPORTE Cantidad de producto de cada planta al correspondie nte mercado Coste total
  • 26. cacheme.org Ejemplos PROCESS SYNTHESIS PROBLEM Mixed Integred Linear Programing • Problema de optimización MILP • Se puede resolver con Pyomo, GAMS… • Se puede emplear el solver GLPK • Hay que decidir la ruta optima de producción The goal is to maximize profits. Consider the following two cases: 1- The maximum demand for C is 10 tons / h, with a selling price of 1800 Euros / ton. 2- The maximum demand for C is 15 ton / h, the sale price is 1800 Euros / ton for the first 10 ton and 1500 Euros / ton for excess. Capital and operational costs Fixed cost (Euros / h.) Variable (Euros / ton of raw material entering the process) Process I 1000 250 Process II 1500 400 Process III 2000 550 Prices A 500 Euros / ton. B 950 Euros / ton. Conversion Process I 90 % from A to B Process II 82 % from B to C Process III 95 % from B to C Maximum availability for A: 16 ton / h. Solve again the problem for the case where the input-ouput relationships for process II and III are given by the following equations: Proceso II: C = 6.5 Ln(1+B) I II III A Bext CB https://github.com/Planelles20/pyomo/blob/master/MixedIntegerLinearProgramming/process_synthesis/EnunciadoProcess_Synthesis.pdf Simulation, design and optimization of chemical processes – compute lab GAMS Grado en Ingeniería Química – Universidad de Alicante
  • 27. cacheme.org Ejemplos PROGRAMACIÓN ORIENTADA A OBJETOS: se genera el modelo. Se cargan los operadores y la biblioteca numpy Variables binarias del sistema para toma de decisiones lógicas ( 0 , 1 ) 0: No proceso I , 1: Si proceso I 0: No proceso II , 1: Si proceso II 0: No proceso III , 1: Si proceso III PROCESS SYNTHESIS PROBLEM
  • 28. cacheme.org Ejemplos Declaración del resto de variables. Unidades de producción que circulan por las corrientes Físicamente no pueden ser negativas PROCESS SYNTHESIS PROBLEM
  • 29. cacheme.org Ejemplos Declaración del resto de variables. Costes asociados a las corrientes Pueden ser positivas o negativas PROCESS SYNTHESIS PROBLEM
  • 30. cacheme.org Ejemplos Declaración de las restricciones PROCESS SYNTHESIS PROBLEM
  • 31. cacheme.org Ejemplos Declaración de las restricciones PROCESS SYNTHESIS PROBLEM
  • 32. cacheme.org Ejemplos Declaración de las restricciones PROCESS SYNTHESIS PROBLEM El proceso II y III son excluyentes, por lo se introduce esta restricción para que en el resultado final solo se escoja uno de los dos El problema también establece unos valores máximos para ciertas variables, por lo que se ha de tener en cuenta con estas restricciones de límite superior.
  • 33. cacheme.org Ejemplos FUNCIÓN OBJETIVO PROCESS SYNTHESIS PROBLEM Tiene en cuenta los beneficios de venta del producto final y el coste de los productos y de producción
  • 35. cacheme.org Ejemplos PROCESS SYNTHESIS PROBLEM Existe el proceso IIExiste el proceso I “Es más barato producir B que comprarlo”
  • 36. cacheme.org rices A 500 Euros / ton. B 950 Euros / ton. onversion Process I 90 % from A to B Process II 82 % from B to C Process III 95 % from B to C Maximum availability for A: 16 ton / h. again the problem for the case where the input-ouput relationships for process II and III are given by the wing equations: Proceso II: C = 6.5 Ln(1+B) Proceso III: C= 7.2 Ln(1+B) e B y C are the mass flow rate (ton/h) for B y C, respectively. I II III A Bext CB Ejemplos PROCESS SYNTHESIS PROBLEM or excess. Capital and operational costs Fixed cost (Euros / h.) Variable (Euros / ton of raw material entering the process) rocess I 1000 250 rocess II 1500 400 rocess III 2000 550 rices A 500 Euros / ton. B 950 Euros / ton. onversion Process I 90 % from A to B Process II 82 % from B to C Process III 95 % from B to C Maximum availability for A: 16 ton / h. I II III A Bext CB Caso de estudio Caso para cuando aumenta la producción y el exceso de C es menos rentable or excess. Capital and operational costs Fixed cost (Euros / h.) Variable (Euros / ton of raw material entering the process) rocess I 1000 250 rocess II 1500 400 rocess III 2000 550 rices A 500 Euros / ton. B 950 Euros / ton. onversion Process I 90 % from A to B Process II 82 % from B to C Process III 95 % from B to C Maximum availability for A: 16 ton / h. I II III A Bext CB
  • 37. cacheme.org Ejemplos REACTOR DESIGN Non Linear Programming • Problema NLP • Problema típico en la industria química • Se puede resolver con ipopt • Hay que maximizar la producción de B, atendiendo a la velocidad espacial https://en.wikipedia.org/wiki/Continuous_stirred-tank_reactor Carl D. Laid Chemical Engineer
  • 38. cacheme.org Ejemplos REACTOR DESIGN Se cargan los datos del problema Coeficientes de reacción y concentración inicial de reactivo PROGRAMACIÓN ORIENTADA A OBJETOS: se crea la clase
  • 39. cacheme.org REACTOR DESIGN Ejemplos Se crean las variables Se aporta un valor inicial de las variables para facilitar el cálculo Físicamente no pueden ser negativas Concentraciones de las especies
  • 40. cacheme.org REACTOR DESIGN Ejemplos RESTRICCIONES ESTADO ESTACIONARIO Balance de componente A Balance de componente B Tiempo de residencia
  • 43. cacheme.org Bibliografía • Apuntes de la asignatura Simulación y Optimización de procesos Industriales del Grado en Ingeniería Química de la Universidad de Alicante. • Pyomo – Optimization modeling in Python • Springer Optimization and its aplications Vol. 67. Willian E. Hart • Sandia National Laboratories Agradecimientos • Dr. Rubén Ruiz-Femenia • Dr. Ignacio Aracil • Francisco J. Navarro-Brull
  • 44. @CAChemEorg CAChemEorg CAChemE info@cacheme.orgmail www.cacheme.org Muchas gracias por su atención Chem. Engineer Chem. Engineering Student Daniel Domene Carlos Planelles https://github.com/CAChemE/pyomo

Notes de l'éditeur

  1. La forma más común para representar un problema de optimización matemática es el dado por una función objetivo y un conjunto de funciones de restricción. f x,y s.a: g x,y≤0 h x,y= 0 x ∈X ⊆ Rn y ∈ 0,1m
  2. La forma más común para representar un problema de optimización matemática es el dado por una función objetivo y un conjunto de funciones de restricción. f x,y s.a: g x,y≤0 h x,y= 0 x ∈X ⊆ Rn y ∈ 0,1m
  3. La forma más común para representar un problema de optimización matemática es el dado por una función objetivo y un conjunto de funciones de restricción. f x,y s.a: g x,y≤0 h x,y= 0 x ∈X ⊆ Rn y ∈ 0,1m
  4. La forma más común para representar un problema de optimización matemática es el dado por una función objetivo y un conjunto de funciones de restricción. f x,y s.a: g x,y≤0 h x,y= 0 x ∈X ⊆ Rn y ∈ 0,1m
  5. La forma más común para representar un problema de optimización matemática es el dado por una función objetivo y un conjunto de funciones de restricción. f x,y s.a: g x,y≤0 h x,y= 0 x ∈X ⊆ Rn y ∈ 0,1m
  6. La forma más común para representar un problema de optimización matemática es el dado por una función objetivo y un conjunto de funciones de restricción. f x,y s.a: g x,y≤0 h x,y= 0 x ∈X ⊆ Rn y ∈ 0,1m
  7. La forma más común para representar un problema de optimización matemática es el dado por una función objetivo y un conjunto de funciones de restricción. f x,y s.a: g x,y≤0 h x,y= 0 x ∈X ⊆ Rn y ∈ 0,1m
  8. La forma más común para representar un problema de optimización matemática es el dado por una función objetivo y un conjunto de funciones de restricción. f x,y s.a: g x,y≤0 h x,y= 0 x ∈X ⊆ Rn y ∈ 0,1m
  9. La forma más común para representar un problema de optimización matemática es el dado por una función objetivo y un conjunto de funciones de restricción. f x,y s.a: g x,y≤0 h x,y= 0 x ∈X ⊆ Rn y ∈ 0,1m
  10. La forma más común para representar un problema de optimización matemática es el dado por una función objetivo y un conjunto de funciones de restricción. f x,y s.a: g x,y≤0 h x,y= 0 x ∈X ⊆ Rn y ∈ 0,1m
  11. La forma más común para representar un problema de optimización matemática es el dado por una función objetivo y un conjunto de funciones de restricción. f x,y s.a: g x,y≤0 h x,y= 0 x ∈X ⊆ Rn y ∈ 0,1m
  12. La forma más común para representar un problema de optimización matemática es el dado por una función objetivo y un conjunto de funciones de restricción. f x,y s.a: g x,y≤0 h x,y= 0 x ∈X ⊆ Rn y ∈ 0,1m
  13. La forma más común para representar un problema de optimización matemática es el dado por una función objetivo y un conjunto de funciones de restricción. f x,y s.a: g x,y≤0 h x,y= 0 x ∈X ⊆ Rn y ∈ 0,1m
  14. La forma más común para representar un problema de optimización matemática es el dado por una función objetivo y un conjunto de funciones de restricción. f x,y s.a: g x,y≤0 h x,y= 0 x ∈X ⊆ Rn y ∈ 0,1m
  15. La forma más común para representar un problema de optimización matemática es el dado por una función objetivo y un conjunto de funciones de restricción. f x,y s.a: g x,y≤0 h x,y= 0 x ∈X ⊆ Rn y ∈ 0,1m
  16. La forma más común para representar un problema de optimización matemática es el dado por una función objetivo y un conjunto de funciones de restricción. f x,y s.a: g x,y≤0 h x,y= 0 x ∈X ⊆ Rn y ∈ 0,1m
  17. La forma más común para representar un problema de optimización matemática es el dado por una función objetivo y un conjunto de funciones de restricción. f x,y s.a: g x,y≤0 h x,y= 0 x ∈X ⊆ Rn y ∈ 0,1m
  18. La forma más común para representar un problema de optimización matemática es el dado por una función objetivo y un conjunto de funciones de restricción. f x,y s.a: g x,y≤0 h x,y= 0 x ∈X ⊆ Rn y ∈ 0,1m
  19. La forma más común para representar un problema de optimización matemática es el dado por una función objetivo y un conjunto de funciones de restricción. f x,y s.a: g x,y≤0 h x,y= 0 x ∈X ⊆ Rn y ∈ 0,1m
  20. La forma más común para representar un problema de optimización matemática es el dado por una función objetivo y un conjunto de funciones de restricción. f x,y s.a: g x,y≤0 h x,y= 0 x ∈X ⊆ Rn y ∈ 0,1m
  21. La forma más común para representar un problema de optimización matemática es el dado por una función objetivo y un conjunto de funciones de restricción. f x,y s.a: g x,y≤0 h x,y= 0 x ∈X ⊆ Rn y ∈ 0,1m
  22. La forma más común para representar un problema de optimización matemática es el dado por una función objetivo y un conjunto de funciones de restricción. f x,y s.a: g x,y≤0 h x,y= 0 x ∈X ⊆ Rn y ∈ 0,1m
  23. La forma más común para representar un problema de optimización matemática es el dado por una función objetivo y un conjunto de funciones de restricción. f x,y s.a: g x,y≤0 h x,y= 0 x ∈X ⊆ Rn y ∈ 0,1m
  24. La forma más común para representar un problema de optimización matemática es el dado por una función objetivo y un conjunto de funciones de restricción. f x,y s.a: g x,y≤0 h x,y= 0 x ∈X ⊆ Rn y ∈ 0,1m
  25. La forma más común para representar un problema de optimización matemática es el dado por una función objetivo y un conjunto de funciones de restricción. f x,y s.a: g x,y≤0 h x,y= 0 x ∈X ⊆ Rn y ∈ 0,1m
  26. La forma más común para representar un problema de optimización matemática es el dado por una función objetivo y un conjunto de funciones de restricción. f x,y s.a: g x,y≤0 h x,y= 0 x ∈X ⊆ Rn y ∈ 0,1m
  27. La forma más común para representar un problema de optimización matemática es el dado por una función objetivo y un conjunto de funciones de restricción. f x,y s.a: g x,y≤0 h x,y= 0 x ∈X ⊆ Rn y ∈ 0,1m
  28. La forma más común para representar un problema de optimización matemática es el dado por una función objetivo y un conjunto de funciones de restricción. f x,y s.a: g x,y≤0 h x,y= 0 x ∈X ⊆ Rn y ∈ 0,1m
  29. La forma más común para representar un problema de optimización matemática es el dado por una función objetivo y un conjunto de funciones de restricción. f x,y s.a: g x,y≤0 h x,y= 0 x ∈X ⊆ Rn y ∈ 0,1m
  30. La forma más común para representar un problema de optimización matemática es el dado por una función objetivo y un conjunto de funciones de restricción. f x,y s.a: g x,y≤0 h x,y= 0 x ∈X ⊆ Rn y ∈ 0,1m
  31. La forma más común para representar un problema de optimización matemática es el dado por una función objetivo y un conjunto de funciones de restricción. f x,y s.a: g x,y≤0 h x,y= 0 x ∈X ⊆ Rn y ∈ 0,1m
  32. La forma más común para representar un problema de optimización matemática es el dado por una función objetivo y un conjunto de funciones de restricción. f x,y s.a: g x,y≤0 h x,y= 0 x ∈X ⊆ Rn y ∈ 0,1m
  33. La forma más común para representar un problema de optimización matemática es el dado por una función objetivo y un conjunto de funciones de restricción. f x,y s.a: g x,y≤0 h x,y= 0 x ∈X ⊆ Rn y ∈ 0,1m
  34. La forma más común para representar un problema de optimización matemática es el dado por una función objetivo y un conjunto de funciones de restricción. f x,y s.a: g x,y≤0 h x,y= 0 x ∈X ⊆ Rn y ∈ 0,1m
  35. La forma más común para representar un problema de optimización matemática es el dado por una función objetivo y un conjunto de funciones de restricción. f x,y s.a: g x,y≤0 h x,y= 0 x ∈X ⊆ Rn y ∈ 0,1m