Manual Simulation#

You can also be part of the simulation by submitting the bids yourself. This can be done to test a specific behavior, challenge yourself or create a game using a distributed simulation, where everyone can participate.

Single Manual Terminal Client#

You can test this by opening the example_01a/powerplant_units.csv and change the bidding_strategy of a single powerplant from naive_eom to manual_strategy.

Now run assume -c tiny in your terminal to have a small local simulation with assume, which prompts you for the bids of this single agent.

Distributed Game#

As shown in Distributed Simulation - one can also run a distributed simulation where each participant manages a single unit operator and is asked for the bids of a unit.

To now use the manual strategy in a distributed simulation, you can edit the world_agent.py and replace naive_eom with manual_strategy. Then you can first start a terminal for the agent:

python -m distributed_simulation.world_agent

And run the manager in a separate window:

python -m distributed_simulation.world_manager

This asks for the bids in the world_agent terminal while the manager waits for all agents to submit the bids. This can be extended to include better multi user support, which would make this usable in a game environment.

Future Work#

A common idea in university is to have an interactive market simulation where users can simulate market participation. By extending this small setup, one could create a webserver or GUI for each client, which would also allow to embed Grafana results for decision making.