https://www.youtube.com/watch?v=LfBGGTUdbXU
La optimización o programación matemática mediante lenguajes de modelado algebraico ---comúnmente GAMS, AMPL y AIMMS--- es utilizada en la industria para la resolución de diferentes problemas que van desde la selección óptima de equipos y recursos a la gestión logística de una empresa. Pyomo es un paquete de software de código abierto ---licenciado bajo BSD por Sandia National Laboratories, USA--- desarrollado en Python, y que soporta un conjunto diverso de capacidades de optimización para la formulación y el análisis de modelos de optimización. En particular, Pyomo permite el modelado de problemas tipo LP, QP, NP, MILP, MINLP, MISP entre otros y se comunica con los principales solvers comerciales, gratuitos y/o libres, así como la plataforma ofrecida por NEOS server. La resolución mediante métodos de optimización ---comunes en un ámbito de investigación científica--- son a menudo desconocidos en la industria o bien delegados por falta de tiempo y/o recursos. Por tanto, su resolución acaba siendo mediante métodos menos eficientes que resultan en formas de trabajo con condiciones sustancialmente mejorables. Por este motivo, en esta charla, estudiantes de ingeniería química de la Universidad de Alicante realizarán una introducción visual a conceptos de optimización, presentarán Pyomo y mostrarán la resolución de casos de estudio de diferentes industrias mediante este lenguaje de modelado algebraico desarrollado en Python.
Programación matématica (optimización) con Python - Ingeniería Química - PyConESCAChemE
Los programas de modelado algebraico son utilizados para la resolución de diferentes problemas que van desde la selección óptima de equipos y recursos en sector industrial químico a la gestión logística de una empresa genérica. La resolución de casos de estudio reales de la industria mediante métodos de optimización, tan comunes en un ámbito de investigación científica, son a menudo desconocidos por las empresas, que resuelven estos problemas mediante métodos menos eficientes y a que a menudo les conducen a trabajar en unas condiciones sub-optimizas. El paquete basado en Python llamado pyomo permite la formulación y resolución de problemas de optimización con restricciones no lineales de manera eficiente, reutilizable y portátil.
Programación matématica (optimización) con Python - Ingeniería Química - PyConESCAChemE
Los programas de modelado algebraico son utilizados para la resolución de diferentes problemas que van desde la selección óptima de equipos y recursos en sector industrial químico a la gestión logística de una empresa genérica. La resolución de casos de estudio reales de la industria mediante métodos de optimización, tan comunes en un ámbito de investigación científica, son a menudo desconocidos por las empresas, que resuelven estos problemas mediante métodos menos eficientes y a que a menudo les conducen a trabajar en unas condiciones sub-optimizas. El paquete basado en Python llamado pyomo permite la formulación y resolución de problemas de optimización con restricciones no lineales de manera eficiente, reutilizable y portátil.
La finalidad de los planes agregados es mostrar los costos directos implicados en el sistema ó entorno de producción, tales como: costos variables de producción, costo de mano de obra, costos de inventario, costos asociados con el faltante de una unidad, costos de contratación y despido, entre los más importantes
Un aceite con gravedad específica de S=0,83 fluye a través de la tubería mostrada en la figura. Si se desprecian los efectos viscosos, ¿Cuál es el caudal que circula por el tubo?
El uso de Python en la Ingenieria Química - Charla CompletaCAChemE
Diapositivas para la charla completa:
El uso de Python en Ingeniería Química - PyConES 2013
Video en: http://www.youtube.com/watch?v=AGGaqjn9GuI
En la conferencia de Python nacional (PyConES) que se celebró en Madrid se propuso la introducción teórica y resolución de ejemplos mediante Python de problemas clásicos presentes en ingenierías.
La resolución de ecuaciones diferenciales parciales (EDPs) mediante métodos numéricos permite obtener soluciones a problemas típicos presentes en diferentes fenómenos físicos como la propagación del sonido o del calor, la electrostática, la electrodinámica, la dinámica de fluidos, la elasticidad, etc.
Programas de modelado algebraico permiten la resolución de diferentes problemas que van desde la selección óptima de equipos y recursos en sector industrial químico, a la gestión logística de una empresa genérica.
Resolución de ecuaciones EDO (ecuación diferencial ordinaria) para el diseño de reactores químicos.
Se introducen así Python y sus librerías con el objetivo de mostrar su potencial actual.
La finalidad de los planes agregados es mostrar los costos directos implicados en el sistema ó entorno de producción, tales como: costos variables de producción, costo de mano de obra, costos de inventario, costos asociados con el faltante de una unidad, costos de contratación y despido, entre los más importantes
Un aceite con gravedad específica de S=0,83 fluye a través de la tubería mostrada en la figura. Si se desprecian los efectos viscosos, ¿Cuál es el caudal que circula por el tubo?
El uso de Python en la Ingenieria Química - Charla CompletaCAChemE
Diapositivas para la charla completa:
El uso de Python en Ingeniería Química - PyConES 2013
Video en: http://www.youtube.com/watch?v=AGGaqjn9GuI
En la conferencia de Python nacional (PyConES) que se celebró en Madrid se propuso la introducción teórica y resolución de ejemplos mediante Python de problemas clásicos presentes en ingenierías.
La resolución de ecuaciones diferenciales parciales (EDPs) mediante métodos numéricos permite obtener soluciones a problemas típicos presentes en diferentes fenómenos físicos como la propagación del sonido o del calor, la electrostática, la electrodinámica, la dinámica de fluidos, la elasticidad, etc.
Programas de modelado algebraico permiten la resolución de diferentes problemas que van desde la selección óptima de equipos y recursos en sector industrial químico, a la gestión logística de una empresa genérica.
Resolución de ecuaciones EDO (ecuación diferencial ordinaria) para el diseño de reactores químicos.
Se introducen así Python y sus librerías con el objetivo de mostrar su potencial actual.
Demostración de casos concretos aplicando CFD - SIMULACION - OPTIMIZACION.
Análisis de flujo en gasoductos - Análisis y mejora de recuperadores - Modelo Multifase: Optimización de diseño
Skimmers - FWKO – Térmico - Diseño de un cortavientos
Aislamiento térmico de hornos - Estudio sistema - Horno/calentador
Este proyecto consistió en el diseño en C++ de un módulo de manejo de enteros de precisión infinita, el cual permitir´pa expresar operaciones como:
123456789823642384234 + 2346891790891235
las cuales ningún lenguaje soporta nativamente hasta ahora. Aunque se especifica que es infinito, el límite máximo deberá ser de 1024 d´kigitos. El nombre BigNum fue tomado del New Hacker's Dictionary (MIT Press, 1991) el cual provee una nota histórica del nombre.
Python para resolver EDPs - Ingeniería Química - PyConES 2013CAChemE
La resolución de ecuaciones diferenciales parciales (EDPs) mediante métodos numéricos permite obtener soluciones a problemas típicos presentes tanto en el ámbito ingenieril como científico. Tales problemas incluyen diferentes fenómenos físicos como propagación del sonido o del calor, la electrostática, la electrodinámica, la dinámica de fluidos, la elasticidad etc.
Existen numerosos paquetes de software para resolver EDPs, usando una variedad de idiomas y métodos numéricos. Muchos de ellos son propietarios y suponen un alto coste para las empresas y/o universidades. Además, la madurez de los mismos y su sencillez de uso pueden ocasionar efectos adversos convirtiendo estás herramientas en auténticas cajas negras.
En este marco, Python, en conjunto con sus librerías (NumPy, SciPy, FiPy), proporciona una herramienta perfecta que facilita el aprendizaje y desarrollo de la intuición necesarias para la resolución de estos problemas de forma libre y gratuita.
Representatives of I4MS initiative and partners of the associated projects have participated in I4MS Information Day, a dissemination session in Bilbao (Spain), on 21st November. The main objective of this session was introducing I4MS to Spanish SMEs and RTD performers interested in getting involved through the Open Calls.
After a brief presentation of I4MS initiative and the functioning of the Open Calls, Spanish partners of INTEFIX, LASHARE, Appolo and CloudSME explained the objectives of their projects and the related experiments and demonstrators.
The success of I4MS Information day became clear with the large list of questions made by the audience, very interested in being part of this pioneer initiative in Europe.
Similar a Optimizacion con Python (Pyomo vs GAMS vs AMPL) (20)
Simulation of Chemical Rectors - Introduction to chemical process simulators ...CAChemE
Learn the fundamentals of any chemical process simulator software by means of free and open source software as an alternative to Aspen, Aspen HYSYS, etc. We will be using DWSIM (open source and free) and COCO Simulator (freeware) for this course. Material is licensed under CC BY-NC-SA 3.0.
You can find more learning material for chemical engineers in http://CAChemE.org
Introduction to free and open source Chemical Process Simulators - (DWSIM & C...CAChemE
Learn the fundamentals of any chemical process simulator software by means of free and open source software as an alternative to Aspen, Aspen HYSYS, etc. We will be using DWSIM (open source and free) and COCO Simulator (freeware) for this course. Material is licensed under CC BY-NC-SA 3.0.
You can find more learning material for chemical engineers in http://CAChemE.org
TAGs: chemical , process , simulator , engineering , coco , dwsim , hysys , aspen , prosim , theory, software, free, open, source, flowsheet, course
Simulador de reactores químicos - COCO Simulator - FreeCAChemE
Quinta sesión del curso de iniciación a la simulación de procesos químicos con COCO Simulator y ChemSep
COCO Simulator
Simulación de reactores químicos con COCO (CORN+COUSCUS)
Reactor de conversión fija
Reactor de Flujo Pistón (RFP) con COCO
Producción de etilenglicol
Reactor contínuo de tanque agitado (RCTA) con COCO
S4 - Process/product optimization using design of experiments and response su...CAChemE
Session 3 – Central composite designs, second order models, ANOVA, blocking, qualitative factors
An intensive practical course mainly for PhD-students on the use of designs of experiments (DOE) and response surface methodology (RSM) for optimization problems. The course covers relevant background, nomenclature and general theory of DOE and RSM modelling for factorial and optimisation designs in addition to practical exercises in Matlab. Due to time limitations, the course concentrates on linear and quadratic models on the k≤3 design dimension. This course is an ideal starting point for every experimental engineering wanting to work effectively, extract maximal information and predict the future behaviour of their system.
Mikko Mäkelä (DSc, Tech) is a postdoctoral fellow at the Swedish University of Agricultural Sciences in Umeå, Sweden and is currently visiting the Department of Chemical Engineering at the University of Alicante. He is working in close cooperation with Paul Geladi, Professor of Chemometrics, and using DOE and RSM for process optimization mainly for the valorization of industrial wastes in laboratory and pilot scales.”
Schedule and details:
The course took place at the University of Alicante and would not had been possible without the support of the Instituto Universitario de Ingeniería de Procesos Químicos.
S3 - Process product optimization design experiments response surface methodo...CAChemE
Session 3/4 – Central composite designs, second order models, ANOVA, blocking, qualitative factors
An intensive practical course mainly for PhD-students on the use of designs of experiments (DOE) and response surface methodology (RSM) for optimization problems. The course covers relevant background, nomenclature and general theory of DOE and RSM modelling for factorial and optimisation designs in addition to practical exercises in Matlab. Due to time limitations, the course concentrates on linear and quadratic models on the k≤3 design dimension. This course is an ideal starting point for every experimental engineering wanting to work effectively, extract maximal information and predict the future behaviour of their system.
Mikko Mäkelä (DSc, Tech) is a postdoctoral fellow at the Swedish University of Agricultural Sciences in Umeå, Sweden and is currently visiting the Department of Chemical Engineering at the University of Alicante. He is working in close cooperation with Paul Geladi, Professor of Chemometrics, and using DOE and RSM for process optimization mainly for the valorization of industrial wastes in laboratory and pilot scales.”
The course took place at the University of Alicante and would not had been possible without the support of the Instituto Universitario de Ingeniería de Procesos Químicos.
S2 - Process product optimization using design experiments and response surfa...CAChemE
An intensive practical course mainly for PhD-students on the use of designs of experiments (DOE) and response surface methodology (RSM) for optimization problems. The course covers relevant background, nomenclature and general theory of DOE and RSM modelling for factorial and optimisation designs in addition to practical exercises in Matlab. Due to time limitations, the course concentrates on linear and quadratic models on the k≤3 design dimension. This course is an ideal starting point for every experimental engineering wanting to work effectively, extract maximal information and predict the future behaviour of their system.
Mikko Mäkelä (DSc, Tech) is a postdoctoral fellow at the Swedish University of Agricultural Sciences in Umeå, Sweden and is currently visiting the Department of Chemical Engineering at the University of Alicante. He is working in close cooperation with Paul Geladi, Professor of Chemometrics, and using DOE and RSM for process optimization mainly for the valorization of industrial wastes in laboratory and pilot scales.”
S1 - Process product optimization using design experiments and response surfa...CAChemE
An intensive practical course mainly for PhD-students on the use of designs of experiments (DOE) and response surface methodology (RSM) for optimization problems. The course covers relevant background, nomenclature and general theory of DOE and RSM modelling for factorial and optimisation designs in addition to practical exercises in Matlab. Due to time limitations, the course concentrates on linear and quadratic models on the k≤3 design dimension. This course is an ideal starting point for every experimental engineering wanting to work effectively, extract maximal information and predict the future behaviour of their system.
Mikko Mäkelä (DSc, Tech) is a postdoctoral fellow at the Swedish University of Agricultural Sciences in Umeå, Sweden and is currently visiting the Department of Chemical Engineering at the University of Alicante. He is working in close cooperation with Paul Geladi, Professor of Chemometrics, and using DOE and RSM for process optimization mainly for the valorization of industrial wastes in laboratory and pilot scales.”
Python en ciencia e ingenieria: lecciones aprendidasCAChemE
¿Python científico? Este es un resumen de experiencias por parte de alumnos de ingeniería química que empezaron con Python.
¡Python visto con los ojos de un novato!
http://CAChemE.org
Simulación de columnas de destilación multicomponente con COCO+ChemSep (alter...CAChemE
COCO Simulator en combinación con ChemSep permite la simulación de procesos químicos de forma gratuita y se presenta como alternativa a Aspen y ChemCAD. Este curso presencial mostrará su descarga e instalación así como la resolución de ejemplos de menor a mayor grado de complejidad.
Método McCabe-Thiele colmuna destilación - Curso gratutito de simulación de p...CAChemE
COCO Simulator en combinación con ChemSep permite la simulación de procesos químicos de forma gratuita y se presenta como alternativa a Aspen y ChemCAD. Este curso presencial mostrará su descarga e instalación así como la resolución de ejemplos de menor a mayor grado de complejidad.
Curso inciación a COCO Simulator y ChemSep - Simulación de procesos químicos ...CAChemE
COCO Simulator en combinación con ChemSep permite la simulación de procesos químicos de forma gratuita y se presenta como alternativa a Aspen y ChemCAD. Este curso presencial mostrará su descarga e instalación así como la resolución de ejemplos de menor a mayor grado de complejidad.
Cómo hacer una búsqueda bibliográfica en bases de datos científicas (Scopus y...CAChemE
Aprende a buscar artículos (papers) en bases de datos científicas. Se realizará un ejemplo de búsqueda genérica y resultados en Scopus y Web of Science (WOK). Por último se dan algunos consejos a aquellos que se inician en invesitigación.
Este material ha sido creado con motivo de la asignatura de "Polímeros Conductores" impartida en el Máster de Materiales de la Universidad de Alicante.
Instalar Python 2.7 y 3 en Windows (Anaconda)CAChemE
¿Cómo instalar Python en Windows?
Diapositivas que explican cómo instalar paso a paso Python en Windows.
Nota: Están orientadas a científicos e ingenieros con poca experiencia en el entorno de windows.
Diseño de reactores químicos con Python - Ingeniería Química - PyConESCAChemE
Un reactor químico es un equipo en cuyo interior tiene lugar una reacción química, estando éste diseñado para maximizar la conversión y selectividad de la misma con el menor coste posible. El diseño de un reactor químico requiere conocimientos de termodinámica, cinética química, transferencia de masa y energía, así como de mecánica de fluidos; balances de materia y energía son necesarios. Por lo general se busca conocer el tamaño y tipo de reactor, así como el método de operación, además en base a los parámetros de diseño se espera poder predecir con cierta certidumbre la conducta de un reactor ante ciertas condiciones, por ejemplo un salto en escalón en la composición de entrada. En estas diapositivas indicamos las ecuaciones y la llamada al ODE necesario para resolverlo con Python.
Criterios de la primera y segunda derivadaYoverOlivares
Criterios de la primera derivada.
Criterios de la segunda derivada.
Función creciente y decreciente.
Puntos máximos y mínimos.
Puntos de inflexión.
3 Ejemplos para graficar funciones utilizando los criterios de la primera y segunda derivada.
Aletas de Transferencia de Calor o Superficies Extendidas.pdfJuanAlbertoLugoMadri
Se hablara de las aletas de transferencia de calor y superficies extendidas ya que son muy importantes debido a que son estructuras diseñadas para aumentar el calor entre un fluido, un sólido y en qué sitio son utilizados estos materiales en la vida cotidiana
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
…
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
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?
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
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
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
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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