Skip to main content

Simulate and Optimize (Parameter Estimation, Optimal Experimental Design) NLE, ODE and DAE

Project description

mopeds

mopeds - Model based Parameter Estimation and Design of Experiments is a library wrapped around casadi to solve Simulation / Optimization problems based on steady state and dynamic models.

The system of equations can be a set of nonlinear equations (NLE), ordinary differential equations (ODE) or differential and algebraic equations (DAE) of index 1.

Parameter Estimation (PE) and Optimal Experimental Design (OED) are supported out of the box.

The project is looking for case studies and testers, so if you have any problems using the package or have any questions, do not hesitate to contact us.

Documentation is available here.

Installation

pip Installation:

pip install mopeds

Migration from par_est

If you used par_est before, in order to move to mopeds you need to replace the name, API did not change. In comparison to par_est, mopeds uses casadi == 3.6.4, so different results might be expected. Considering creating a test to compare the numerical results while migrating.

What's New?

0.10.1

  • Fixed installation error in Windows python 3.11

0.10.0

  • Rename par_est to mopeds and open-source the package

0.9.3.a1

  • OED of dynamic models supports multiple different modes and strategies
  • Added multiple regularization techniques

0.9.2

  • fix WLS formulation (remove division by 2)
  • feature -> remove rounding of time_grid in Simulator

0.9.1

  • fix bugs in identifiability analysis

0.9.0

  • BREAKING: DAE simulators API change: from self.simulate() to self.simulate_sym()
  • Added support for ACADOS ODE / DAE simulator
  • Rework how PE for DAE and NLE works -> more simmilar code, easier to maintain
  • Rework how Confidence Intervals of Parameters are calculated for multivariate measurements with different variance

0.8.0

NLE Simulator and Parameter Estimation were reworked, with focus on analysis of parameter variance-covariance matrix. Parameter Estimation has different internals on how objective function is calculated, making it a bit faster and much more unrestandable. Examples from Bates, Watts "Nonlinear Regression analysis and its applications" were imlemented and tested.

Contributors

Many people have been involved in the development of this package, either by writing actual code, helping with the methods behind it, or simply using it and providing feedback and feature requests. Here are just a few names:

  • Volodymyr Kozachynskyi
  • Dario Staubach
  • Martin Bubel
  • Lorenz Hafner
  • Mudassar Javed
  • Torben Talis
  • Joris Weigert
  • Erik Esche
  • Markus Illner
  • Christian Hoffman
  • Georg Brösigke
  • Maria Stockman

and many, many others ...

Development

  • Clone this repo on your computer git clone https://git.tu-berlin.de/dbta/optimization/mopeds.git
  • Run poetry install (ensure that correct python version is installed ex. pyenv)
  • Run tests via pytest, final tests should be run with tox -r command

par_est

Built versions of par_est are available in internal pypi registry:

pip install par_est --index-url https://git.tu-berlin.de/api/v4/projects/1237/packages/pypi/simple

Acknowledgement

This work is funded by the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) - 56091768 and 466397921.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mopeds-0.10.1.tar.gz (55.4 kB view details)

Uploaded Source

Built Distribution

mopeds-0.10.1-py3-none-any.whl (59.8 kB view details)

Uploaded Python 3

File details

Details for the file mopeds-0.10.1.tar.gz.

File metadata

  • Download URL: mopeds-0.10.1.tar.gz
  • Upload date:
  • Size: 55.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.11.6 Linux/5.15.142-1-MANJARO

File hashes

Hashes for mopeds-0.10.1.tar.gz
Algorithm Hash digest
SHA256 701c08feb8b5bd6406d5131ac4cc04a6989de12647b72b7077074efa1cc42b48
MD5 f966f4029ad89e6bd01e9c7d8efa95f5
BLAKE2b-256 3e72312ef37addc71e0f0a8e59413226b15c7f93ffa688d49a3bc159752f1f42

See more details on using hashes here.

File details

Details for the file mopeds-0.10.1-py3-none-any.whl.

File metadata

  • Download URL: mopeds-0.10.1-py3-none-any.whl
  • Upload date:
  • Size: 59.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.11.6 Linux/5.15.142-1-MANJARO

File hashes

Hashes for mopeds-0.10.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e8fb820e58ab58660d0efb49cb354f6dc2ecb6f6f384ad27afb7ec3f2f534304
MD5 c01f9584a3e0e9ce3b633edfb73695a8
BLAKE2b-256 bccdfad8751b96cbb29dd8cf49dfb66132d1f96f49ad251c775c85f492457fb2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page