-
Notifications
You must be signed in to change notification settings - Fork 88
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'master' into spelling-fix
- Loading branch information
Showing
24 changed files
with
907 additions
and
257 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -189,3 +189,6 @@ coverage.xml | |
|
||
# Mac crap | ||
.DS_Store | ||
|
||
# changelog | ||
./docs/source/changelog.md |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,36 +1,43 @@ | ||
## Exploratory Modeling workbench | ||
This is a stable version of the EMA workbench currently under | ||
development at Delft University of Technology. | ||
|
||
[![Build Status](https://github.com/quaquel/EMAworkbench/actions/workflows/ci.yml/badge.svg?master)](https://github.com/quaquel/EMAworkbench/actions) | ||
[![Coverage Status](https://coveralls.io/repos/github/quaquel/EMAworkbench/badge.svg?branch=master)](https://coveralls.io/github/quaquel/EMAworkbench?branch=master) | ||
[![Documentation Status](https://readthedocs.org/projects/emaworkbench/badge/?version=latest)](http://emaworkbench.readthedocs.org/en/latest/?badge=master) | ||
[![PyPi](https://img.shields.io/pypi/v/ema_workbench.svg)](https://pypi.python.org/pypi/ema_workbench) | ||
[![PyPi](https://img.shields.io/pypi/dm/ema_workbench.svg)](https://pypi.python.org/pypi/ema_workbench) | ||
|
||
If you are interested in using the most recent version of the workbench and | ||
would like to contribute to its further development, contact Jan Kwakkel at | ||
Delft University of Technology. | ||
# Exploratory Modeling workbench | ||
|
||
Exploratory Modeling and Analysis (EMA) is a research methodology that uses computational experiments to analyze complex and uncertain systems ([Bankes, 1993](http://www.jstor.org/stable/10.2307/171847)). That is, exploratory modeling aims at offering computational decision support for decision making under [deep uncertainty](http://inderscience.metapress.com/content/y77p3q512x475523/) and [robust decision making](http://en.wikipedia.org/wiki/Robust_decision_making). | ||
|
||
The EMA workbench aims at providing support for performing exploratory modeling with models developed in various modelling packages and environments. Currently, the workbench offers connectors to [Vensim](https://vensim.com/), [Netlogo](https://ccl.northwestern.edu/netlogo/), [Simio](https://www.simio.com/), [Vadere](https://www.vadere.org/) and Excel. | ||
|
||
The EMA workbench offers support for designing experiments, performing the experiments - including support for parallel processing on both a single machine as well as on clusters-, and analysing the results. To get started, take a look at the high level overview, the tutorial, or dive straight into the details of the API. | ||
|
||
The EMA workbench currently under development at Delft University of Technology. If you would like to collaborate, open an issue/discussion or contact [Jan Kwakkel](https://www.tudelft.nl/en/tpm/our-faculty/departments/multi-actor-systems/people/professors/prof-drir-jh-jan-kwakkel). | ||
|
||
## Documentation | ||
|
||
The workbench is available from pip. Version 1.x is compatible with both | ||
python 2 and 3, while the 2.x branch requires python 3.8 or newer. | ||
Documentation for the workbench is availabe at [Read the Docs](https://emaworkbench.readthedocs.io/en/latest/index.html), including an introduction on Exploratory Modeling, tutorials and documentation on all the modules and functions. | ||
|
||
There are also a lot of example models available at [ema_workbench/examples](ema_workbench/examples), both for pure Python models and some using the different connectors. A release notes for each new version are available at [CHANGELOG.md](CHANGELOG.md). | ||
|
||
# Releasing | ||
## Installation | ||
|
||
Releases are published automatically when a tag is pushed to GitHub. | ||
The workbench is available from [PyPI](https://pypi.org/project/ema-workbench/), and currently requires Python 3.8 or newer. It can be installed with: | ||
``` | ||
pip install -U ema_workbench | ||
``` | ||
To also install some recommended packages for plotting, testing and Jupyter support, use the `recommended` extra: | ||
``` | ||
pip install -U ema_workbench[recommended] | ||
``` | ||
There are way more options installing the workbench, including installing connector packages, edible installs for development, installs of custom forks and branches and more. See [Installing the workbench](https://emaworkbench.readthedocs.io/en/latest/installation.html) in the docs for all options. | ||
|
||
```bash | ||
## Contributing | ||
|
||
# Set next version number | ||
export RELEASE=x.x.x | ||
We greatly appreciate contributions to the EMA workbench! Reporting [Issues](https://github.com/quaquel/EMAworkbench/issues) such as bugs or unclairties in the documentation, opening a [Pull requests](https://github.com/quaquel/EMAworkbench/pulls) with code or documentation improvements or opening a [Discussion](https://github.com/quaquel/EMAworkbench/discussions) with a question, suggestions or comment helps us a lot. | ||
|
||
# Create tags | ||
git commit --allow-empty -m "Release $RELEASE" | ||
git tag -a $RELEASE -m "Version $RELEASE" | ||
Please check [CONTRIBUTING.md](CONTRIBUTING.md) for more information. | ||
|
||
# Push | ||
git push upstream --tags # for a fork | ||
## License | ||
|
||
# use git push origin --tags if on origin | ||
``` | ||
This repository is licensed under BSD 3-Clause License. See [LICENSE.md](LICENSE.md). |
This file was deleted.
Oops, something went wrong.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
|
||
******************** | ||
Alternative packages | ||
******************** | ||
So how does the workbench differ from other open source tools available for | ||
exploratory modeling? In Python there is `rhodium <https://github.com/Project-Platypus/Rhodium>`_, | ||
in R there is the `open MORDM <https://github.com/OpenMORDM/OpenMORDM>`_ toolkit, and there is also | ||
`OpenMole <https://openmole.org>`_. Below we discuss the key differences with rhodium. Given a lack of | ||
familiarity with the other tools, we wont comment on those. | ||
|
||
.. _workbench_vs_rhodium: | ||
|
||
The workbench versus rhodium | ||
============================ | ||
For Python, the main alternative tool is `rhodium <https://github.com/Project-Platypus/Rhodium>`_, | ||
which is part of `Project Platypus <https://github.com/Project-Platypus>`_. Project Platypus is a collection of | ||
libraries for doing many objective optimization (`platypus-opt <https://platypus.readthedocs.io/en/latest/>`_), setting | ||
up and performing simulation experiments (`rhodium <https://github.com/Project-Platypus/Rhodium>`_), and | ||
scenario discovery using the Patient Rule Induction Method (`prim <https://github.com/Project-Platypus/PRIM>`_). The | ||
relationship between the workbench and the tools that form project platypus is a | ||
bit messy. For example, the workbench too relies on `platypus-opt <https://platypus.readthedocs.io/en/latest/>`_ for many | ||
objective optimization, the `PRIM <https://github.com/Project-Platypus/PRIM>`_ package is a, by now very dated, fork of the | ||
prim code in the workbench, and both `rhodium <https://github.com/Project-Platypus/Rhodium>`_ and the workbench rely on | ||
`SALib <https://salib.readthedocs.io>`_ for global sensitivity analysis. Moreover, the API | ||
of `rhodium <https://github.com/Project-Platypus/Rhodium>`_ was partly inspired by an older version of the | ||
workbench, while new ideas from the rhodium API have in turned resulting in profound changes in the API of the | ||
workbench. | ||
|
||
Currently, the workbench is still actively being developed. It is also not just used | ||
in teaching but also for research, and in practice by various organization globally. | ||
Moreover, the workbench is quite a bit more developed when it comes to providing off | ||
the shelf connectors for some popular modeling and simulation tools. Basically, | ||
everything that can be done with project Platypus can be done with the workbench | ||
and then the workbench offers additional functionality, a more up to date code | ||
base, and active support. |
File renamed without changes.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Oops, something went wrong.