All Projects → sdu-cfei → modest-py

sdu-cfei / modest-py

Licence: BSD-2-Clause license
FMI-compliant Model Estimation in Python

Programming Languages

python
139335 projects - #7 most used programming language
Modelica
51 projects

Projects that are alternatives of or similar to modest-py

zoofs
zoofs is a python library for performing feature selection using a variety of nature-inspired wrapper algorithms. The algorithms range from swarm-intelligence to physics-based to Evolutionary. It's easy to use , flexible and powerful tool to reduce your feature size.
Stars: ✭ 142 (+255%)
Mutual labels:  optimization, genetic-algorithm
Jenetics
Jenetics - Genetic Algorithm, Genetic Programming, Evolutionary Algorithm, and Multi-objective Optimization
Stars: ✭ 616 (+1440%)
Mutual labels:  optimization, genetic-algorithm
Pagmo2
A C++ platform to perform parallel computations of optimisation tasks (global and local) via the asynchronous generalized island model.
Stars: ✭ 540 (+1250%)
Mutual labels:  optimization, genetic-algorithm
bio ik
MoveIt kinematics_base plugin based on particle optimization & GA
Stars: ✭ 104 (+160%)
Mutual labels:  optimization, genetic-algorithm
awesome-fmi
A curated list of Functional Mock-up Interface (FMI) libraries, tools and resources.
Stars: ✭ 86 (+115%)
Mutual labels:  fmi, fmu
Geneticalgorithmpython
Source code of PyGAD, a Python 3 library for building the genetic algorithm and training machine learning algorithms (Keras & PyTorch).
Stars: ✭ 435 (+987.5%)
Mutual labels:  optimization, genetic-algorithm
Pymoo
NSGA2, NSGA3, R-NSGA3, MOEAD, Genetic Algorithms (GA), Differential Evolution (DE), CMAES, PSO
Stars: ✭ 547 (+1267.5%)
Mutual labels:  optimization, genetic-algorithm
JuliaFMI
Simulator for FMUs in Julia (WIP)
Stars: ✭ 20 (-50%)
Mutual labels:  fmi, fmu
Scikit Opt
Genetic Algorithm, Particle Swarm Optimization, Simulated Annealing, Ant Colony Optimization Algorithm,Immune Algorithm, Artificial Fish Swarm Algorithm, Differential Evolution and TSP(Traveling salesman)
Stars: ✭ 2,791 (+6877.5%)
Mutual labels:  optimization, genetic-algorithm
Fantasy Basketball
Scraping statistics, predicting NBA player performance with neural networks and boosting algorithms, and optimising lineups for Draft Kings with genetic algorithm. Capstone Project for Machine Learning Engineer Nanodegree by Udacity.
Stars: ✭ 146 (+265%)
Mutual labels:  optimization, genetic-algorithm
pyPESTO
python Parameter EStimation TOolbox
Stars: ✭ 93 (+132.5%)
Mutual labels:  optimization, parameter-estimation
RaPId
RaPId (a recursive acronym for "Rapid Parameter Identification") utilizes different optimization and simulation technologies to provide a framework for model validation and calibration of any kind of dynamical systems, but specifically catered to power systems.
Stars: ✭ 35 (-12.5%)
Mutual labels:  fmi, fmu
goga
Go evolutionary algorithm is a computer library for developing evolutionary and genetic algorithms to solve optimisation problems with (or not) many constraints and many objectives. Also, a goal is to handle mixed-type representations (reals and integers).
Stars: ✭ 39 (-2.5%)
Mutual labels:  optimization, genetic-algorithm
Hyperparameter Optimization Of Machine Learning Algorithms
Implementation of hyperparameter optimization/tuning methods for machine learning & deep learning models (easy&clear)
Stars: ✭ 516 (+1190%)
Mutual labels:  optimization, genetic-algorithm
pikaia
Modern Fortran Edition of the Pikaia Genetic Algorithm
Stars: ✭ 29 (-27.5%)
Mutual labels:  optimization, genetic-algorithm
Solid
🎯 A comprehensive gradient-free optimization framework written in Python
Stars: ✭ 546 (+1265%)
Mutual labels:  optimization, genetic-algorithm
FMU-proxy
Tool that allows Functional Mock-up Units (FMUs) to be accessed through language independent RPC calls by wrapping the original FMU into a new one with network capabilities.
Stars: ✭ 38 (-5%)
Mutual labels:  fmi, fmu
Eaopt
🍀 Evolutionary optimization library for Go (genetic algorithm, partical swarm optimization, differential evolution)
Stars: ✭ 718 (+1695%)
Mutual labels:  optimization, genetic-algorithm
FMI4j
FMI4j is a software package for dealing with Functional Mockup Units (FMUs) on the JVM
Stars: ✭ 17 (-57.5%)
Mutual labels:  fmi, fmu
geneal
A genetic algorithm implementation in python
Stars: ✭ 47 (+17.5%)
Mutual labels:  optimization, genetic-algorithm

FMI-compliant Model Estimation in Python

modestpy

Description

modestpy facilitates parameter estimation in models compliant with Functional Mock-up Interface.

Features:

  • combination of global and local search methods (genetic algorithm, pattern search, truncated Newton method, L-BFGS-B, sequential least squares),
  • suitable also for non-continuous and non-differentiable models,
  • scalable to multiple cores (genetic algorithm from modestga),
  • Python 3.

Installation with pip (recommended)

It is now possible install ModestPy with a single command:

pip install modestpy

Alternatively:

pip install https://github.com/sdu-cfei/modest-py/archive/master.zip

Installation with conda

Conda is installation is less frequently tested, but should work:

conda config --add channels conda-forge
conda install modestpy

Test your installation

The unit tests will work only if you installed modestpy with conda or cloned the project from GitHub. To run tests:

>>> from modestpy.test import run
>>> run.tests()

or

cd <project_directory>
python ./bin/test.py

Usage

Users are supposed to call only the high level API included in modestpy.Estimation. The API is fully discussed in the docs. You can also check out this simple example. The basic usage is as follows:

from modestpy import Estimation

if __name__ == "__main__":
    session = Estimation(workdir, fmu_path, inp, known, est, ideal)
    estimates = session.estimate()
    err, res = session.validate()

More control is possible via optional arguments, as discussed in the documentation.

The if __name__ == "__main__": wrapper is needed on Windows, because modestpy relies on multiprocessing. You can find more explanation on why this is needed here.

modestpy automatically saves results in the working directory including csv files with estimates and some useful plots, e.g.:

  1. Error evolution in combined GA+PS estimation (dots represent switch from GA to PS): Error-evolution
  2. Visualization of GA evolution: GA-evolution
  3. Scatter matrix plot for interdependencies between parameters: Intedependencies

Cite

To cite ModestPy, please use:

K. Arendt, M. Jradi, M. Wetter, C.T. Veje, ModestPy: An Open-Source Python Tool for Parameter Estimation in Functional Mock-up Units, Proceedings of the American Modelica Conference 2018, Cambridge, MA, USA, October 9-10, 2018.

The preprint version of the conference paper presenting ModestPy is available here. The paper was based on v.0.0.8.

License

Copyright (c) 2017-2019, University of Southern Denmark. All rights reserved.

This code is licensed under BSD 2-clause license. See LICENSE file in the project root for license terms.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].