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

PPTX
Optimizacion con Python (Pyomo vs GAMS vs AMPL)
PDF
Dual y método dual simplex
PPTX
Matematicas Discretas - Grupos, Subgrupos, Anillos, Cuerpos.
PDF
Método simplex
PPTX
Programación no lineal
DOCX
Formulario para ecuaciones diferenciales de primer orden
PDF
Analisis de dualidad
PDF
Programacion lineal entera
Optimizacion con Python (Pyomo vs GAMS vs AMPL)
Dual y método dual simplex
Matematicas Discretas - Grupos, Subgrupos, Anillos, Cuerpos.
Método simplex
Programación no lineal
Formulario para ecuaciones diferenciales de primer orden
Analisis de dualidad
Programacion lineal entera

La actualidad más candente (20)

PPTX
programacion Lineal y Metodo simplex alvaro espinoza
PPTX
Resolución de problemas (oa)
PPT
Ejemplo de flujo a costo minimo 1
DOCX
Metodo de transporte pdi
PDF
Calculo avanzado-formula de taylor
PDF
4. ejemplos regresion
PPT
Modelos Lineales y No Lineales
PDF
Problemas resueltos-cadenas-de-markov
DOCX
Propagación de errores
PPTX
Matrices
DOCX
Laboratorio de-estad -stica_prob
PDF
20 arbol de_extension_minima
PDF
METODO DUAL : EJERCICIOS RESUELTOS DE INVESTIGACIONES DE OPERACIONES
PDF
Ecuaciones Diferenciales - Teoria de Ecuaciones Diferenciales no lineales
DOCX
Informe nro1 ivestigacion_operativa ii
PPTX
Problema de-flujo-de-costo-mínimo
PDF
Ejercicios+analisis+de+sensibilidad
PPTX
2.3. procedimiento para resolver problemas
programacion Lineal y Metodo simplex alvaro espinoza
Resolución de problemas (oa)
Ejemplo de flujo a costo minimo 1
Metodo de transporte pdi
Calculo avanzado-formula de taylor
4. ejemplos regresion
Modelos Lineales y No Lineales
Problemas resueltos-cadenas-de-markov
Propagación de errores
Matrices
Laboratorio de-estad -stica_prob
20 arbol de_extension_minima
METODO DUAL : EJERCICIOS RESUELTOS DE INVESTIGACIONES DE OPERACIONES
Ecuaciones Diferenciales - Teoria de Ecuaciones Diferenciales no lineales
Informe nro1 ivestigacion_operativa ii
Problema de-flujo-de-costo-mínimo
Ejercicios+analisis+de+sensibilidad
2.3. procedimiento para resolver problemas
Publicidad

Destacado (6)

PPTX
Python Internals Optimization Choices Made - Codementors Office Hours with St...
PDF
Faster Python Programs Through Optimization by Dr.-Ing Mike Muller
PPTX
Espacios Y Subespacios Vectoriales
DOCX
5.5 flujo a costo minimo
PDF
DIAGONALIZACION DE MATRICES
PPTX
Simulación del Modelo de Inventario
Python Internals Optimization Choices Made - Codementors Office Hours with St...
Faster Python Programs Through Optimization by Dr.-Ing Mike Muller
Espacios Y Subespacios Vectoriales
5.5 flujo a costo minimo
DIAGONALIZACION DE MATRICES
Simulación del Modelo de Inventario
Publicidad

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

PDF
El uso de Python en la Ingenieria Química - Charla Completa
PDF
Io 2da programacion lineal
PPTX
Iniciación al modelado de reactores químicos com MATLAB - Octave (intro)
PDF
C++ Como Programar - Deitel 6edi.pdf
PDF
Calidad de código en Chamilo: Behat, Travis-CI y Scrutinizer-CI
PDF
Introducción a Personal en Formación
PDF
Concepto Básicos Algoritmia
PPT
Utp pds_lab1 introduccion a mat_lab
PDF
Introducción Análisis y Diseño
PDF
Elementos basicos c
PPT
Unidad 1 IO.ppt
PPT
Algoritmos
PDF
Python + Ciencia = ♥
PPT
Prog est 1
PPT
Logica de la programacion i bimestre
PPT
PDF
Clase 01
El uso de Python en la Ingenieria Química - Charla Completa
Io 2da programacion lineal
Iniciación al modelado de reactores químicos com MATLAB - Octave (intro)
C++ Como Programar - Deitel 6edi.pdf
Calidad de código en Chamilo: Behat, Travis-CI y Scrutinizer-CI
Introducción a Personal en Formación
Concepto Básicos Algoritmia
Utp pds_lab1 introduccion a mat_lab
Introducción Análisis y Diseño
Elementos basicos c
Unidad 1 IO.ppt
Algoritmos
Python + Ciencia = ♥
Prog est 1
Logica de la programacion i bimestre
Clase 01

Más de CAChemE (20)

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

Último (20)

PDF
Guia de Tesis y Proyectos de Investigacion FS4 Ccesa007.pdf
DOCX
V UNIDAD - PRIMER GRADO. del mes de agosto
DOCX
PLANES DE área ciencias naturales y aplicadas
PDF
Mi Primer Millon - Poissant - Godefroy Ccesa007.pdf
PDF
Educación Artística y Desarrollo Humano - Howard Gardner Ccesa007.pdf
PDF
Unidad de Aprendizaje 5 de Educacion para el Trabajo EPT Ccesa007.pdf
DOCX
PLAN DE CASTELLANO 2021 actualizado a la normativa
PDF
Habitos de Ricos - Juan Diego Gomez Ccesa007.pdf
DOCX
V UNIDAD - SEGUNDO GRADO. del mes de agosto
PDF
COMPLETO__PROYECTO_VIVAN LOS NIÑOS Y SUS DERECHOS_EDUCADORASSOS.pdf
PPTX
Presentación de la Cetoacidosis diabetica.pptx
PDF
2.0 Introduccion a processing, y como obtenerlo
PDF
CONFERENCIA-Deep Research en el aula universitaria-UPeU-EduTech360.pdf
PDF
biología es un libro sobre casi todo el tema de biología
PDF
Escuelas Desarmando una mirada subjetiva a la educación
PDF
DI, TEA, TDAH.pdf guía se secuencias didacticas
PPTX
Doctrina 1 Soteriologuia y sus diferente
PDF
IDH_Guatemala_2.pdfnjjjkeioooe ,l dkdldp ekooe
PPTX
Welcome to the 7th Science Class 2025-2026 Online.pptx
PDF
Híper Mega Repaso Histológico Bloque 3.pdf
Guia de Tesis y Proyectos de Investigacion FS4 Ccesa007.pdf
V UNIDAD - PRIMER GRADO. del mes de agosto
PLANES DE área ciencias naturales y aplicadas
Mi Primer Millon - Poissant - Godefroy Ccesa007.pdf
Educación Artística y Desarrollo Humano - Howard Gardner Ccesa007.pdf
Unidad de Aprendizaje 5 de Educacion para el Trabajo EPT Ccesa007.pdf
PLAN DE CASTELLANO 2021 actualizado a la normativa
Habitos de Ricos - Juan Diego Gomez Ccesa007.pdf
V UNIDAD - SEGUNDO GRADO. del mes de agosto
COMPLETO__PROYECTO_VIVAN LOS NIÑOS Y SUS DERECHOS_EDUCADORASSOS.pdf
Presentación de la Cetoacidosis diabetica.pptx
2.0 Introduccion a processing, y como obtenerlo
CONFERENCIA-Deep Research en el aula universitaria-UPeU-EduTech360.pdf
biología es un libro sobre casi todo el tema de biología
Escuelas Desarmando una mirada subjetiva a la educación
DI, TEA, TDAH.pdf guía se secuencias didacticas
Doctrina 1 Soteriologuia y sus diferente
IDH_Guatemala_2.pdfnjjjkeioooe ,l dkdldp ekooe
Welcome to the 7th Science Class 2025-2026 Online.pptx
Híper Mega Repaso Histológico Bloque 3.pdf

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

  • 7. cacheme.org • Jorge Bernabé • Ingeniero Químico • Universidad de Alicante [email protected] 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.