SlideShare una empresa de Scribd logo
cacheme.org
cacheme.org
cacheme.org
cacheme.org
cacheme.org
cacheme.org
cacheme.org

• Jorge Bernabé
• Ingeniero Químico
• Universidad de Alicante
jorge.bernabe@cacheme.org

2. Programación matemática (optimización)
Programación matemática

cacheme.org

Optimización: ¿por qué es importante?

• Mejorar calidad de un producto
• Aumentar beneficios
• Reducir riesgos ambientales
• Reducir costes de producción

Interés
empresarial

IQ: - selección de equipos y recursos
- gestión logística

(cc) Sam Derbyshire
Optimización con Python en IQ

cacheme.org

• Optimización matemática
–

min f(x)

–

s.a g(x) = 0
h(x) ≤ 0

• LP, NLP, MILP, MINLP

FO

(c) Sriram Sankaranarayanan
AML (Algebraic modelling languages)
Software propietario:
●

AMPL (www.ampl.com) – Lenguaje
sencillo, pero complicado interactuar
–

●

●

GLPK – Alternativa libre a AMPL
para LP y MILP

GAMS (www.gams.com) – Se comunica
con solvers incluso para resolver MINP

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
●

cacheme.org

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 o MIP. No resuelve NLP

–

OpenOpt – Más de 30 solvers para solucionar el
modelado, incluyendo NLP

–

Pyomo – Coopr. (Sandia National Laboratories, USA)
Permite la formulación de modelos algebraicos en el
lenguaje de programación en Python.
COmmon Optimization Python Repository
¿Por qué Pyomo?

cacheme.org

• 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)
• Pyomo (Coopr) es un paquete gratuito con licencia BSD,

maduro y bien documentado (en migración a Python 3.x)
• Fácil instalación “pip install coopr”
• Adaptabilidad a modelado de problemas de IQ

coin-or.org
Problema I: Logística empresarial

cacheme.org

• Problema clásico en optimización
• LP

Se puede resolver con cualquier herramienta

• Fundamental en el mundo empresarial
• Minimización de coste en transporte
Problema I: Logística empresarial

cacheme.org
Problema I: Logística empresarial
• Plantas
• Mercados

cacheme.org

producción máxima
demanda mínima

• Coste de transporte por unidad:

Alicante

Castellón

Vitoria

Cádiz

Cáceres

PRODUCCIÓN

Madrid

4.17

4.10

3.48

6.37

2.96

250

Barcelona

5.16

2.69

5.35

11.14

9.10

200

Almería

2.95

5.42

9.10

3.80

6.47

300

La Coruña

10.26

10.19

6.56

10.65

6.85

300

DEMANDA

150

150

100

150

175

-
Problema I: Logística empresarial

• Sentencia para importar pyomo
• Sentencia para definir el modelo, abstracto o concreto

cacheme.org
Problema I: Logística empresarial

• Definición de sets – series de datos
• Definición de parámetros – valores de los sets
• Definición de variables

cacheme.org

Sus valores en
archivo .dat
Problema I: Logística empresarial

cacheme.org

• Definición de ecuaciones: def Nombre_Ecuación (modelo y

variables de las que depende)
• return: se escribe la ecuación
• Modelo.nombre: va a mostrar el valor de la ecuación al ejecutar el
programa
Problema I: Logística empresarial

• Definición de restricciones: Constraint (indica que la palabra

mercado se refiere a model.mercados)

cacheme.org
Problema I: Logística empresarial

cacheme.org
Problema I: Logística empresarial

pyomo archivo.py datos.dat

cacheme.org
Problema I: Logística empresarial

cacheme.org
Transporte

cacheme.org

Solución óptima

•

Todas las posibilidades
(superestructura)
Problema II: Selección de equipos

cacheme.org

A

•

B

Superestructura (incluye todas las posibilidades)

C
Problema II: Selección de equipos
Aumento beneficio

Disminución beneficio
A

B

C
Coste uso reactor

• Objetivo: Seleccionar la óptima distribución de
reactores y bypass que aumentan el beneficio

cacheme.org
Problema II: Selección de equipos

cacheme.org

AS = AE exp( − τ )

BS = ( AEτ + BE ) exp( − τ
 Cf + CV1 AE Si
Coste =  1
 Cf 2 + CV2 AE Si

)

0 ≤ AE ≤ 7
7 ≤ AE ≤ 10

 

τ (h)

Cf1 (um/h)

Cf2 (um/h)

CV1 (um/kmol)

CV2 (um/kmol)

Reactor 1

0.1

10

5

1

8

Reactor 2

0.4

20

10

2

10

Reactor 3

0.4

50

25

1

9

Reactor 4

0.2

20

10

1

50

Reactor 5

0.7

60

30

2

70

Reactor 6

0.2

10

20

1

10

Reactor 7

0.9

50

25

3

15

Reactor 8

0.5

100

50

5

10
Problema II: Selección de equipos

cacheme.org

• Toma de decisiones – MILP
• Resolución de la parte disyuntiva del problema mediante

la reformulación de la envolvente convexa
• Disgregación de variables
YRi



 
   ¬ YRi 
Wi,c1
Wi,c2


 
 
  Ci = Cf i + CVi ·E i, A  ∨  C i = Cf i + CVi ·E i, A   ∨  C i = 0 

  7 ≤ E i, A ≤ 10    Si, j = 0
0 ≤ E i, A ≤ 7
 
 







y i = wi ,c1 + wi ,c 2
Problema II: Selección de equipos

cacheme.org

• Disyunciones para el bypass

by b 

 BY ≤ 10  ∨
 b, j


 ¬ by b
 BY =
 b, j


0


• Balances de materia

F j = E1, j + E 2 , j + BY1, j

y1 + y2 + by1 = 1
Problema II: Selección de equipos

cacheme.org
Problema II: Selección de equipos

cacheme.org

• within = NonNegativeReals – Valores reales no negativos
• within = Binary – Valores binarios
Problema II: Selección de equipos

cacheme.org

• Por defecto, pyomo, minimiza la FO. Para maximizar, se escribe

sense = maximize
Problema II: Selección de equipos

cacheme.org
Problema II: Selección de equipos

cacheme.org
Problema II: Selección de equipos

cacheme.org
Problema II: Selección de equipos

cacheme.org
Problema II: Selección de equipos

cacheme.org
Problema II: Selección de equipos

cacheme.org

•

●

Solución óptima:

Superestructura:
Conclusiones

cacheme.org

•

Python junto a sus librerías permite la resolución de problemas típicos de
ingeniería y todo ello en un mismo lenguaje-entorno.

•

Python permite centrarse en el algoritmo y no en la sintaxis del lenguaje. Es
la navaja suiza de los lenguajes permitiendo pasar a C en cualquier momento
que se necesite.

•

Es multiplataforma, libre y gratuito por lo que su adopción en universidades
y empresa es sencilla

•

Si se quiere una herramienta lo más compatible con MATLAB, Octave UPM
es otra opción interesante pero mantendrá sus mismas capacidades (y
limitaciones) técnicas.

•

Python es posiblemente la mejor opción como primer lenguaje de
programación en el ámbito de programación científica.
¡Muchas gracias!

www.cacheme.org
@CAChemEorg
CAChemEorg
CAChemE
mail

info@cacheme.org

Más contenido relacionado

La actualidad más candente

Modelos De Programacion Entera
Modelos De Programacion EnteraModelos De Programacion Entera
Modelos De Programacion EnteraCris Tenorio
 
ejercicios-resueltos-programacion-lineal
 ejercicios-resueltos-programacion-lineal ejercicios-resueltos-programacion-lineal
ejercicios-resueltos-programacion-lineal
Andres Sanchez
 
Ejercicios y Soluciones Productividad
Ejercicios y Soluciones ProductividadEjercicios y Soluciones Productividad
Ejercicios y Soluciones Productividad
Patricia Murillo
 
GESTIÓN DE RR.HH. DE LA PANIFICADORA "ROSITA"
GESTIÓN DE RR.HH. DE LA PANIFICADORA "ROSITA"GESTIÓN DE RR.HH. DE LA PANIFICADORA "ROSITA"
GESTIÓN DE RR.HH. DE LA PANIFICADORA "ROSITA"
CESAR GUSTAVO
 
Ejemplo 1 ruta mas corta entre dos nodos especificos
Ejemplo 1 ruta mas corta entre dos nodos especificosEjemplo 1 ruta mas corta entre dos nodos especificos
Ejemplo 1 ruta mas corta entre dos nodos especificos
podersonico
 
Io 3ra modelo de transporte
Io 3ra modelo de transporteIo 3ra modelo de transporte
Io 3ra modelo de transporte
Augusto Javes Sanchez
 
EL OLIGOPOLIO Y LA COMPETENCIA MONOPOLÍSTICA
EL OLIGOPOLIO Y LA COMPETENCIA MONOPOLÍSTICAEL OLIGOPOLIO Y LA COMPETENCIA MONOPOLÍSTICA
EL OLIGOPOLIO Y LA COMPETENCIA MONOPOLÍSTICA
UTPL
 
AP - TEMA 08: ADMINISTRACION DE RESTRICCIONES
AP - TEMA 08: ADMINISTRACION DE RESTRICCIONESAP - TEMA 08: ADMINISTRACION DE RESTRICCIONES
AP - TEMA 08: ADMINISTRACION DE RESTRICCIONESMANUEL GARCIA
 
21065991 ejercicios-resueltos-de-metodo-de-asignacion-y-metodo-de-transportes...
21065991 ejercicios-resueltos-de-metodo-de-asignacion-y-metodo-de-transportes...21065991 ejercicios-resueltos-de-metodo-de-asignacion-y-metodo-de-transportes...
21065991 ejercicios-resueltos-de-metodo-de-asignacion-y-metodo-de-transportes...joinergac
 
Práctica dirigida 2
Práctica dirigida 2Práctica dirigida 2
Práctica dirigida 2
Alejandro Diaz Cruz
 
Ejercicios de Programacion Lineal, LINDO, teoria de decisiones
Ejercicios de Programacion Lineal, LINDO, teoria de decisionesEjercicios de Programacion Lineal, LINDO, teoria de decisiones
Ejercicios de Programacion Lineal, LINDO, teoria de decisiones
Héctor Antonio Barba Nanfuñay
 
Capacidad del proceso
Capacidad del procesoCapacidad del proceso
Capacidad del procesoJuan Medellin
 
Modelo de transporte
Modelo de transporteModelo de transporte
Modelo de transporte
Carlos Solis Herrera
 
Solucion de ejercicios_capitulo_7_libro
Solucion de ejercicios_capitulo_7_libroSolucion de ejercicios_capitulo_7_libro
Solucion de ejercicios_capitulo_7_libro
Darkmono
 
Mapa conceptual [Economía II]
Mapa conceptual [Economía II]Mapa conceptual [Economía II]
Mapa conceptual [Economía II]
maricel
 
5.5 flujo a costo minimo
5.5 flujo a costo minimo5.5 flujo a costo minimo
5.5 flujo a costo minimo
ADRIANA NIETO
 
Mcroeconomía Cap. 5 Competencia perfecta
Mcroeconomía Cap. 5 Competencia perfectaMcroeconomía Cap. 5 Competencia perfecta
Mcroeconomía Cap. 5 Competencia perfecta
Manuel Salas-Velasco, University of Granada, Spain
 
Administración de Operaciones - Ejercicios Resueltos
Administración de Operaciones - Ejercicios ResueltosAdministración de Operaciones - Ejercicios Resueltos
Administración de Operaciones - Ejercicios Resueltos
Jonathan Stalin Delgado Guerrero
 

La actualidad más candente (20)

Modelos De Programacion Entera
Modelos De Programacion EnteraModelos De Programacion Entera
Modelos De Programacion Entera
 
ejercicios-resueltos-programacion-lineal
 ejercicios-resueltos-programacion-lineal ejercicios-resueltos-programacion-lineal
ejercicios-resueltos-programacion-lineal
 
Ejercicios y Soluciones Productividad
Ejercicios y Soluciones ProductividadEjercicios y Soluciones Productividad
Ejercicios y Soluciones Productividad
 
GESTIÓN DE RR.HH. DE LA PANIFICADORA "ROSITA"
GESTIÓN DE RR.HH. DE LA PANIFICADORA "ROSITA"GESTIÓN DE RR.HH. DE LA PANIFICADORA "ROSITA"
GESTIÓN DE RR.HH. DE LA PANIFICADORA "ROSITA"
 
Ejemplo 1 ruta mas corta entre dos nodos especificos
Ejemplo 1 ruta mas corta entre dos nodos especificosEjemplo 1 ruta mas corta entre dos nodos especificos
Ejemplo 1 ruta mas corta entre dos nodos especificos
 
Io 3ra modelo de transporte
Io 3ra modelo de transporteIo 3ra modelo de transporte
Io 3ra modelo de transporte
 
Planeacion agregada
Planeacion agregadaPlaneacion agregada
Planeacion agregada
 
EL OLIGOPOLIO Y LA COMPETENCIA MONOPOLÍSTICA
EL OLIGOPOLIO Y LA COMPETENCIA MONOPOLÍSTICAEL OLIGOPOLIO Y LA COMPETENCIA MONOPOLÍSTICA
EL OLIGOPOLIO Y LA COMPETENCIA MONOPOLÍSTICA
 
AP - TEMA 08: ADMINISTRACION DE RESTRICCIONES
AP - TEMA 08: ADMINISTRACION DE RESTRICCIONESAP - TEMA 08: ADMINISTRACION DE RESTRICCIONES
AP - TEMA 08: ADMINISTRACION DE RESTRICCIONES
 
21065991 ejercicios-resueltos-de-metodo-de-asignacion-y-metodo-de-transportes...
21065991 ejercicios-resueltos-de-metodo-de-asignacion-y-metodo-de-transportes...21065991 ejercicios-resueltos-de-metodo-de-asignacion-y-metodo-de-transportes...
21065991 ejercicios-resueltos-de-metodo-de-asignacion-y-metodo-de-transportes...
 
Práctica dirigida 2
Práctica dirigida 2Práctica dirigida 2
Práctica dirigida 2
 
Ejercicios de Programacion Lineal, LINDO, teoria de decisiones
Ejercicios de Programacion Lineal, LINDO, teoria de decisionesEjercicios de Programacion Lineal, LINDO, teoria de decisiones
Ejercicios de Programacion Lineal, LINDO, teoria de decisiones
 
Capacidad del proceso
Capacidad del procesoCapacidad del proceso
Capacidad del proceso
 
Modelo de transporte
Modelo de transporteModelo de transporte
Modelo de transporte
 
Solucion de ejercicios_capitulo_7_libro
Solucion de ejercicios_capitulo_7_libroSolucion de ejercicios_capitulo_7_libro
Solucion de ejercicios_capitulo_7_libro
 
Mapa conceptual [Economía II]
Mapa conceptual [Economía II]Mapa conceptual [Economía II]
Mapa conceptual [Economía II]
 
5.5 flujo a costo minimo
5.5 flujo a costo minimo5.5 flujo a costo minimo
5.5 flujo a costo minimo
 
Mcroeconomía Cap. 5 Competencia perfecta
Mcroeconomía Cap. 5 Competencia perfectaMcroeconomía Cap. 5 Competencia perfecta
Mcroeconomía Cap. 5 Competencia perfecta
 
Pert cpm (ruta crítica)
Pert   cpm (ruta crítica)Pert   cpm (ruta crítica)
Pert cpm (ruta crítica)
 
Administración de Operaciones - Ejercicios Resueltos
Administración de Operaciones - Ejercicios ResueltosAdministración de Operaciones - Ejercicios Resueltos
Administración de Operaciones - Ejercicios Resueltos
 

Similar a Programación matématica (optimización) con Python - Ingeniería Química - PyConES

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
CAChemE
 
Io 2da programacion lineal
Io 2da programacion linealIo 2da programacion lineal
Io 2da programacion lineal
Augusto Javes Sanchez
 
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
 
C++ Como Programar - Deitel 6edi.pdf
C++ Como Programar - Deitel 6edi.pdfC++ Como Programar - Deitel 6edi.pdf
C++ Como Programar - Deitel 6edi.pdf
bilgrado01
 
Calidad de código en Chamilo: Behat, Travis-CI y Scrutinizer-CI
Calidad de código en Chamilo: Behat, Travis-CI y Scrutinizer-CICalidad de código en Chamilo: Behat, Travis-CI y Scrutinizer-CI
Calidad de código en Chamilo: Behat, Travis-CI y Scrutinizer-CI
Yannick Warnier
 
Introducción a Personal en Formación
Introducción a Personal en FormaciónIntroducción a Personal en Formación
Introducción a Personal en Formación
Tomás Morales
 
Concepto Básicos Algoritmia
Concepto Básicos Algoritmia Concepto Básicos Algoritmia
Concepto Básicos Algoritmia
Daniel Gómez
 
Utp pds_lab1 introduccion a mat_lab
 Utp pds_lab1 introduccion a mat_lab Utp pds_lab1 introduccion a mat_lab
Utp pds_lab1 introduccion a mat_labjcbenitezp
 
Introducción Análisis y Diseño
Introducción Análisis y DiseñoIntroducción Análisis y Diseño
Introducción Análisis y Diseño
Carlos A. Iglesias
 
Elementos basicos c
Elementos basicos cElementos basicos c
Elementos basicos c
Juan Torres
 
Unidad 1 IO.ppt
Unidad 1 IO.pptUnidad 1 IO.ppt
Unidad 1 IO.ppt
Manuel35837
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
09072014
 
Algoritmos
AlgoritmosAlgoritmos
Python + Ciencia = ♥
Python + Ciencia = ♥Python + Ciencia = ♥
Python + Ciencia = ♥
Synergic Partners
 
Prog est 1
Prog est 1Prog est 1
Prog est 1
Alex Flores
 
Logica de la programacion i bimestre
Logica de la programacion i bimestreLogica de la programacion i bimestre
Logica de la programacion i bimestreUTPL UTPL
 
C ++.ppt
C ++.pptC ++.ppt
Clase 01
Clase 01Clase 01
Clase 01
Juan Navia
 

Similar a Programación matématica (optimización) con Python - Ingeniería Química - PyConES (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
 
Io 2da programacion lineal
Io 2da programacion linealIo 2da programacion lineal
Io 2da programacion lineal
 
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)
 
C++ Como Programar - Deitel 6edi.pdf
C++ Como Programar - Deitel 6edi.pdfC++ Como Programar - Deitel 6edi.pdf
C++ Como Programar - Deitel 6edi.pdf
 
Calidad de código en Chamilo: Behat, Travis-CI y Scrutinizer-CI
Calidad de código en Chamilo: Behat, Travis-CI y Scrutinizer-CICalidad de código en Chamilo: Behat, Travis-CI y Scrutinizer-CI
Calidad de código en Chamilo: Behat, Travis-CI y Scrutinizer-CI
 
Introducción a Personal en Formación
Introducción a Personal en FormaciónIntroducción a Personal en Formación
Introducción a Personal en Formación
 
Concepto Básicos Algoritmia
Concepto Básicos Algoritmia Concepto Básicos Algoritmia
Concepto Básicos Algoritmia
 
Utp pds_lab1 introduccion a mat_lab
 Utp pds_lab1 introduccion a mat_lab Utp pds_lab1 introduccion a mat_lab
Utp pds_lab1 introduccion a mat_lab
 
Introducción Análisis y Diseño
Introducción Análisis y DiseñoIntroducción Análisis y Diseño
Introducción Análisis y Diseño
 
Elementos basicos c
Elementos basicos cElementos basicos c
Elementos basicos c
 
Unidad 1 IO.ppt
Unidad 1 IO.pptUnidad 1 IO.ppt
Unidad 1 IO.ppt
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
4 algoritmos
4 algoritmos4 algoritmos
4 algoritmos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Python + Ciencia = ♥
Python + Ciencia = ♥Python + Ciencia = ♥
Python + Ciencia = ♥
 
Prog est 1
Prog est 1Prog est 1
Prog est 1
 
tema-1.pptx
tema-1.pptxtema-1.pptx
tema-1.pptx
 
Logica de la programacion i bimestre
Logica de la programacion i bimestreLogica de la programacion i bimestre
Logica de la programacion i bimestre
 
C ++.ppt
C ++.pptC ++.ppt
C ++.ppt
 
Clase 01
Clase 01Clase 01
Clase 01
 

Más 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. Grossmann
CAChemE
 
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
CAChemE
 
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 - Free
CAChemE
 
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 aprendidas
CAChemE
 
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 Octave
CAChemE
 
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
CAChemE
 
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 - PyConES
CAChemE
 
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
CAChemE
 

Más de CAChemE (20)

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
 
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
 

Último

CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIALCUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
DivinoNioJess885
 
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
pablomarin116
 
Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...
Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...
Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...
AracelidelRocioOrdez
 
Testimonio Paco Z PATRONATO_Valencia_24.pdf
Testimonio Paco Z PATRONATO_Valencia_24.pdfTestimonio Paco Z PATRONATO_Valencia_24.pdf
Testimonio Paco Z PATRONATO_Valencia_24.pdf
Txema Gs
 
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptxSemana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
LorenaCovarrubias12
 
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfUn libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
sandradianelly
 
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
auxsoporte
 
Mauricio-Presentación-Vacacional- 2024-1
Mauricio-Presentación-Vacacional- 2024-1Mauricio-Presentación-Vacacional- 2024-1
Mauricio-Presentación-Vacacional- 2024-1
MauricioSnchez83
 
Sesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdfSesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdf
https://gramadal.wordpress.com/
 
PPT: El fundamento del gobierno de Dios.
PPT: El fundamento del gobierno de Dios.PPT: El fundamento del gobierno de Dios.
PPT: El fundamento del gobierno de Dios.
https://gramadal.wordpress.com/
 
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNETPRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
CESAR MIJAEL ESPINOZA SALAZAR
 
El Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundoEl Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundo
SandraBenitez52
 
Semana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptxSemana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptx
LorenaCovarrubias12
 
Educar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdfEducar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdf
Demetrio Ccesa Rayme
 
3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...
3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...
3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...
rosannatasaycoyactay
 
Proceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de PamplonaProceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de Pamplona
Edurne Navarro Bueno
 
Conocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del ArrabalConocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del Arrabal
Profes de Relideleón Apellidos
 
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdfINFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
Alejandrogarciapanta
 
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptxc3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
Martín Ramírez
 
Horarios Exámenes EVAU Ordinaria 2024 de Madrid
Horarios Exámenes EVAU Ordinaria 2024 de MadridHorarios Exámenes EVAU Ordinaria 2024 de Madrid
Horarios Exámenes EVAU Ordinaria 2024 de Madrid
20minutos
 

Último (20)

CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIALCUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
 
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
 
Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...
Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...
Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...
 
Testimonio Paco Z PATRONATO_Valencia_24.pdf
Testimonio Paco Z PATRONATO_Valencia_24.pdfTestimonio Paco Z PATRONATO_Valencia_24.pdf
Testimonio Paco Z PATRONATO_Valencia_24.pdf
 
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptxSemana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
 
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfUn libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
 
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
 
Mauricio-Presentación-Vacacional- 2024-1
Mauricio-Presentación-Vacacional- 2024-1Mauricio-Presentación-Vacacional- 2024-1
Mauricio-Presentación-Vacacional- 2024-1
 
Sesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdfSesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdf
 
PPT: El fundamento del gobierno de Dios.
PPT: El fundamento del gobierno de Dios.PPT: El fundamento del gobierno de Dios.
PPT: El fundamento del gobierno de Dios.
 
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNETPRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
 
El Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundoEl Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundo
 
Semana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptxSemana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptx
 
Educar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdfEducar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdf
 
3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...
3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...
3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...
 
Proceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de PamplonaProceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de Pamplona
 
Conocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del ArrabalConocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del Arrabal
 
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdfINFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
 
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptxc3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
 
Horarios Exámenes EVAU Ordinaria 2024 de Madrid
Horarios Exámenes EVAU Ordinaria 2024 de MadridHorarios Exámenes EVAU Ordinaria 2024 de Madrid
Horarios Exámenes EVAU Ordinaria 2024 de Madrid
 

Programación matématica (optimización) con Python - Ingeniería Química - PyConES

  • 7. cacheme.org • Jorge Bernabé • Ingeniero Químico • Universidad de Alicante jorge.bernabe@cacheme.org 2. Programación matemática (optimización)
  • 8. Programación matemática cacheme.org Optimización: ¿por qué es importante? • Mejorar calidad de un producto • Aumentar beneficios • Reducir riesgos ambientales • Reducir costes de producción Interés empresarial IQ: - selección de equipos y recursos - gestión logística (cc) Sam Derbyshire
  • 9. Optimización con Python en IQ cacheme.org • Optimización matemática – min f(x) – s.a g(x) = 0 h(x) ≤ 0 • LP, NLP, MILP, MINLP FO (c) Sriram Sankaranarayanan
  • 10. AML (Algebraic modelling languages) Software propietario: ● AMPL (www.ampl.com) – Lenguaje sencillo, pero complicado interactuar – ● ● GLPK – Alternativa libre a AMPL para LP y MILP GAMS (www.gams.com) – Se comunica con solvers incluso para resolver MINP AIMMS (www.aiims.com) – Diseñado para resolver problemas de optimización a gran escala y programación de actividades. cacheme.org
  • 11. Optimización en Python ● cacheme.org 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 o MIP. No resuelve NLP – OpenOpt – Más de 30 solvers para solucionar el modelado, incluyendo NLP – Pyomo – Coopr. (Sandia National Laboratories, USA) Permite la formulación de modelos algebraicos en el lenguaje de programación en Python. COmmon Optimization Python Repository
  • 12. ¿Por qué Pyomo? cacheme.org • 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) • Pyomo (Coopr) es un paquete gratuito con licencia BSD, maduro y bien documentado (en migración a Python 3.x) • Fácil instalación “pip install coopr” • Adaptabilidad a modelado de problemas de IQ coin-or.org
  • 13. Problema I: Logística empresarial cacheme.org • Problema clásico en optimización • LP Se puede resolver con cualquier herramienta • Fundamental en el mundo empresarial • Minimización de coste en transporte
  • 14. Problema I: Logística empresarial cacheme.org
  • 15. Problema I: Logística empresarial • Plantas • Mercados cacheme.org producción máxima demanda mínima • Coste de transporte por unidad: Alicante Castellón Vitoria Cádiz Cáceres PRODUCCIÓN Madrid 4.17 4.10 3.48 6.37 2.96 250 Barcelona 5.16 2.69 5.35 11.14 9.10 200 Almería 2.95 5.42 9.10 3.80 6.47 300 La Coruña 10.26 10.19 6.56 10.65 6.85 300 DEMANDA 150 150 100 150 175 -
  • 16. Problema I: Logística empresarial • Sentencia para importar pyomo • Sentencia para definir el modelo, abstracto o concreto cacheme.org
  • 17. Problema I: Logística empresarial • Definición de sets – series de datos • Definición de parámetros – valores de los sets • Definición de variables cacheme.org Sus valores en archivo .dat
  • 18. Problema I: Logística empresarial cacheme.org • Definición de ecuaciones: def Nombre_Ecuación (modelo y variables de las que depende) • return: se escribe la ecuación • Modelo.nombre: va a mostrar el valor de la ecuación al ejecutar el programa
  • 19. Problema I: Logística empresarial • Definición de restricciones: Constraint (indica que la palabra mercado se refiere a model.mercados) cacheme.org
  • 20. Problema I: Logística empresarial cacheme.org
  • 21. Problema I: Logística empresarial pyomo archivo.py datos.dat cacheme.org
  • 22. Problema I: Logística empresarial cacheme.org
  • 24. Problema II: Selección de equipos cacheme.org A • B Superestructura (incluye todas las posibilidades) C
  • 25. Problema II: Selección de equipos Aumento beneficio Disminución beneficio A B C Coste uso reactor • Objetivo: Seleccionar la óptima distribución de reactores y bypass que aumentan el beneficio cacheme.org
  • 26. Problema II: Selección de equipos cacheme.org AS = AE exp( − τ ) BS = ( AEτ + BE ) exp( − τ  Cf + CV1 AE Si Coste =  1  Cf 2 + CV2 AE Si ) 0 ≤ AE ≤ 7 7 ≤ AE ≤ 10   τ (h) Cf1 (um/h) Cf2 (um/h) CV1 (um/kmol) CV2 (um/kmol) Reactor 1 0.1 10 5 1 8 Reactor 2 0.4 20 10 2 10 Reactor 3 0.4 50 25 1 9 Reactor 4 0.2 20 10 1 50 Reactor 5 0.7 60 30 2 70 Reactor 6 0.2 10 20 1 10 Reactor 7 0.9 50 25 3 15 Reactor 8 0.5 100 50 5 10
  • 27. Problema II: Selección de equipos cacheme.org • Toma de decisiones – MILP • Resolución de la parte disyuntiva del problema mediante la reformulación de la envolvente convexa • Disgregación de variables YRi         ¬ YRi  Wi,c1 Wi,c2         Ci = Cf i + CVi ·E i, A  ∨  C i = Cf i + CVi ·E i, A   ∨  C i = 0     7 ≤ E i, A ≤ 10    Si, j = 0 0 ≤ E i, A ≤ 7           y i = wi ,c1 + wi ,c 2
  • 28. Problema II: Selección de equipos cacheme.org • Disyunciones para el bypass by b    BY ≤ 10  ∨  b, j   ¬ by b  BY =  b, j  0  • Balances de materia F j = E1, j + E 2 , j + BY1, j y1 + y2 + by1 = 1
  • 29. Problema II: Selección de equipos cacheme.org
  • 30. Problema II: Selección de equipos cacheme.org • within = NonNegativeReals – Valores reales no negativos • within = Binary – Valores binarios
  • 31. Problema II: Selección de equipos cacheme.org • Por defecto, pyomo, minimiza la FO. Para maximizar, se escribe sense = maximize
  • 32. Problema II: Selección de equipos cacheme.org
  • 33. Problema II: Selección de equipos cacheme.org
  • 34. Problema II: Selección de equipos cacheme.org
  • 35. Problema II: Selección de equipos cacheme.org
  • 36. Problema II: Selección de equipos cacheme.org
  • 37. Problema II: Selección de equipos cacheme.org • ● Solución óptima: Superestructura:
  • 38. Conclusiones cacheme.org • Python junto a sus librerías permite la resolución de problemas típicos de ingeniería y todo ello en un mismo lenguaje-entorno. • Python permite centrarse en el algoritmo y no en la sintaxis del lenguaje. Es la navaja suiza de los lenguajes permitiendo pasar a C en cualquier momento que se necesite. • Es multiplataforma, libre y gratuito por lo que su adopción en universidades y empresa es sencilla • Si se quiere una herramienta lo más compatible con MATLAB, Octave UPM es otra opción interesante pero mantendrá sus mismas capacidades (y limitaciones) técnicas. • Python es posiblemente la mejor opción como primer lenguaje de programación en el ámbito de programación científica.