JModelica.org es una plataforma de software comercial basada en el lenguaje de modelado Modelica para modelar, simular, optimizar y analizar sistemas dinámicos complejos. [1] La plataforma es mantenida y desarrollada por Modelon AB en colaboración con instituciones académicas e industriales, en particular la Universidad de Lund y el Centro de Lund para el Control de Sistemas Complejos (LCCC). [2] La plataforma se ha utilizado en proyectos industriales con aplicaciones en robótica, [3] sistemas de vehículos, [4] sistemas de energía, [5] separación de CO2 [6] y producción de polietileno. [7]
Desarrollador (es) | Modelon AB |
---|---|
Lanzamiento estable | 2.10 / 22 de marzo de 2019 |
Repositorio | trac |
Escrito en | C , Python , C ++ , Java |
Sistema operativo | Linux , Windows y OS X |
Tipo | Optimización y simulación dinámica |
Licencia | Propiedad |
Sitio web | www |
Los componentes clave de la plataforma son:
- Un compilador de Modelica para traducir el código fuente de Modelica a código C o XML. El compilador también genera modelos que cumplen con el estándar Functional Mock-up Interface .
- Un paquete de Python para la simulación de modelos dinámicos, Assimulo. Assimulo proporciona interfaces a varios integradores de última generación y se utiliza como motor de simulación en JModelica.org.
- Algoritmos para resolver problemas de optimización dinámica a gran escala implementando métodos de colocación local en elementos finitos y métodos de colocación pseudoespectrales .
- Un paquete de Python para la interacción del usuario. Se accede a todas las partes de la plataforma desde Python, incluida la compilación y carga de modelos, la simulación y la optimización.
JModelica.org admite el lenguaje de modelado Modelica para modelar sistemas físicos. Modelica proporciona descripciones de alto nivel de sistemas dinámicos híbridos, que se utilizan como base para diferentes tipos de cálculos en JModelica.org, incluida la simulación, el análisis de sensibilidad y la optimización.
Los problemas de optimización dinámica, incluido el control óptimo , la optimización de la trayectoria , la optimización de los parámetros y la calibración del modelo, pueden formularse y resolverse utilizando JModelica.org. La extensión Optimica [8] permite la formulación de alto nivel de problemas de optimización dinámica basados en modelos de Modelica. El proyecto mintOC [9] proporciona una serie de problemas de referencia codificados en Optimica.
La plataforma promueve interfaces abiertas para la integración con paquetes numéricos. La suite de integradores Sundials [10] ODE / DAE, el solucionador de NLP IPOPT y el paquete AD CasADi son ejemplos de paquetes que están integrados en la plataforma JModelica.org.
JModelica.org cumple con el estándar Functional Mock-up Interface (FMI) y las Functional Mock-up Units (FMU), generadas por JModelica.org o por otra herramienta compatible con FMI, se pueden simular en el entorno Python.
Una comparación independiente entre JModelica.org y los sistemas de optimización ACADO Toolkit, [11] IPOPT y CppAD, se proporciona en el informe Software de código abierto para optimización restringida no lineal de sistemas dinámicos. [12]
El complemento de Eclipse para editar el código fuente de Modelica ha sido descontinuado. [13]
El 18 de diciembre de 2019, Modelon decidió mover el código fuente de JModelica.org de código abierto a cerrado. [14] La última versión de código abierto está disponible para su descarga a pedido.
Ver también
- AMESim
- AMPL
- APMonitor
- ASCENDER
- Dymola
- Sistema de modelado algebraico general (GAMS)
- MapleSim
- Wolfram SystemModeler
- Openmodelica
- SimulaciónX
- PROPT
Referencias
- ^ Johan Åkesson, Karl-Erik Årzén, Magnus Gäfvert, Tove Bergdahl, Hubertus Tummescheit: "Modelado y optimización con Optimica y JModelica.org: lenguajes y herramientas para resolver problemas de optimización dinámica a gran escala" . Computers and Chemical Engineering, 34:11, págs. 1737-1749, noviembre de 2010.
- ^ "Centro de Lund para el control de sistemas complejos (LCCC)" .
- ^ Björn Olofsson, Henrik Nilsson, Anders Robertsson, Johan Åkesson: "Identificación y seguimiento óptimos de rutas para robots industriales" . En Proc. 18o Congreso Mundial de la Federación Internacional de Control Automático (IFAC), Milán, Italia, agosto de 2011.
- ^ Tomas Gustafsson: "Calculando la línea de carreras ideal usando el control óptimo" . Universidad de Linköping, 2008
- ^ Francesco Casella, Filippo Donida, Johan Åkesson: "Modelado orientado a objetos y control óptimo: un estudio de caso en la puesta en marcha de centrales eléctricas" . En Proc. del XVIII Congreso Mundial de la Federación Internacional de Control Automático (IFAC), agosto de 2011.
- ^ Johan Åkesson, R Faber, Carl Laird, Katrin Prölss, Hubertus Tummescheit, Stéphane Velut, Yu Zhu: "Modelos de una unidad de absorción de postcombustión para esquemas de simulación, optimización y control predictivo de modelos no lineales" . En 8th International Modelica Conference, marzo de 2011.
- ^ Per-Ola Larsson, Johan Åkesson, Staffan Haugwitz, Niklas Andersson: "Modelado y optimización de cambios de grado para reactores de polietileno multietapa" . En Proc. del XVIII Congreso Mundial de la Federación Internacional de Control Automático (IFAC), septiembre de 2011.
- ^ Johan Åkesson: "Optimica: una extensión de Modelica que admite la optimización dinámica" . En In 6th International Modelica Conference 2008, Modelica Association, marzo de 2008.
- ^ "El proyecto mintOC" .
- ^ "El proyecto de los relojes de sol" .
- ^ "El proyecto ACADO Toolkit" .
- ^ Rune Brus: "Software de código abierto para la optimización restringida no lineal de sistemas dinámicos" . Universidad Técnica de Dinamarca, Departamento de Informática y Modelado Matemático, Computación Científica. 2010.
- ^ "Eliminar complementos de Eclipse" .
- ^ "Anuncio de código cerrado de JModelica" . Archivado desde el original el 13 de febrero de 2020 . Consultado el 13 de febrero de 2020 .