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

  • Fix the numpy dependency to <2 and casadi<3.7 to avoid errors

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.2.tar.gz (54.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: mopeds-0.10.2.tar.gz
  • Upload date:
  • Size: 54.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.0.1 CPython/3.12.10 Darwin/23.6.0

File hashes

Hashes for mopeds-0.10.2.tar.gz
Algorithm Hash digest
SHA256 ac7888c3adcd58ba315848d1430f7a922db74c08892c217ada1716e2319f2282
MD5 7bfa87790d3574786485c89010a0d688
BLAKE2b-256 4f38e10575a9a05e558b8a09461fc02485c8a4aac8efb24ad88bbf85f0044cf7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mopeds-0.10.2-py3-none-any.whl
  • Upload date:
  • Size: 59.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.0.1 CPython/3.12.10 Darwin/23.6.0

File hashes

Hashes for mopeds-0.10.2-py3-none-any.whl
Algorithm Hash digest
SHA256 e3de3a9cd5a020a57933d652f62958df65f70c7f9392bb81c446805589690eaf
MD5 f4d388e76d1b4eb77fccb7a9ba46dc18
BLAKE2b-256 85170596258c5ed72908bec9e421f28c0b74ceb12aa9c82dc102021669c5d81f

See more details on using hashes here.

Supported by

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