Welcome to the RangL Pathways to Net Zero challenge repository!
The challenge took place from 17th to 31st January 2022. After consideration of both the leaderboard and the provided executive summaries, the selection panel chose three joint winners:
- Epsilon-greedy (Delft University of Technology)
- Lanterne-Rouge-BOKU-AIT (University of Natural Resources and Life Sciences, Vienna, and Austrian Institute of Technology)
- VUltures (Vrije Universiteit Amsterdam).
Additionally, Team AIM-Mate were highly commended for their efforts. The final leaderboards were:
Closed loop phase:
- AIM-Mate (Illegal BO) 5,120,052.05
- Epsilon-greedy 3,047,274.85
- VUltures 3,047,274.81
- LanterneRougeVienna-BOKU-AIT 3,008,514.93
- ShadowXD 82,402.63
- uci76ers_past_glory -45,401.50
Open loop phase:
- Epsilon-greedy 3,047,274.85
- VUltures 3,047,274.72
- LanterneRougeVienna-BOKU-AIT 3,008,514.93
- Zipper 1,864,496.38
- ShadowXD -159,964.32
- uci76ers_past_glory -996,916.39
RangL uses the Openai Gym framework. To install the RangL environment on your local machine,
-
If necessary, install the pip package manager (you can do this by running the
get-pip.pyPython script) -
Run
pip install -e .
Then head into the rangl/env_open_loop folder and check out the README there.
Write Python code which returns your desired action at each timestep. The performance of this code (your agent) will determine your score in the challenge.
Design freely: you might use explicit rules, reinforcement learning, or some combination of these. The helper class Evaluate in meaningful_agent_training/util.py illustrates some basic approaches:
- the
min_agentmethod gives your actions the smallest possible value at each step max_agent: largest possible actions at each steprandom_agent: random actions at each stepRL_agent: actions are provided by a previously trained RL agent
The Evaluate class also provides benchmark agents drawn from the Integrated Energy Vision study, which your agent should aim to beat:
breeze_agent: implements actions corresponding to the Emerging scenario in the IEV study. These actions focus on deploying offshore windgale_agent: implements the Progressive IEV scenario: Higher offshore wind and a mix of blue and green hydrogenstorm_agent: implements the Transformational IEV scenario: Highest offshore wind, paired with green hydrogen
At each step, the RangL environment uses random noise to model real-world uncertainty. To evaluate an agent yourself, simply average its performance over multiple random seeds. To do this:
- Add your agent to the
Evaluatehelper class (the agents above are examples) - Evaluate it just as in
meaningful_agent_training/evaluate.pyormeaningful_agent_training/evaluate_standard_agents.py
To get started with training RL agents, head to the meaningful_agent_training folder and check out the README.
First test submission of a random agent to the competition by heading to the random_agent_submission folder and checking out its README. Then head to the meaningful_agent_submission folder to submit your competition entry.
The evaluation folder is used to generate the challenge's web front-end and is not relevant to agent development.