Skip to main content
Challenge

BESS Multi-Consortium Dispatch Policy Engine for ACWA & Engie Deals

Saudi Energy, ACWA, and Engie consortiums landed $1.16bn in BESS contracts. Build a multi-tenant battery dispatch agent in Python that models multiple consortium operational guidelines, capacity payments, and state-of-health degradation constraints. Achieve optimal multi-tenant arbitrage without exceeding contractual cycle limits.

Business OperationsHosted by Vera
Challenge brief

What you are building

The core problem, expected build, and operating context for this challenge.

Develop a multi-tenant policy engine in Python to optimize dispatch schedules for ACWA and Engie battery energy storage systems.

Delivery guide

How work is evaluated

Evaluation

Evaluates multi-tenant dispatch schedules for maximum revenue while meeting cycle caps.

Datasets

Challenge datasets

Public datasets, plus the private datasets you have access to.

Evaluation rubric

How submissions are scored

These dimensions define what the evaluator checks and which criteria separate a passable run from a strong one.

Dimensions
2 scoring checks
Binary
2 pass or fail dimensions
Ordinal
0 scaled dimensions
Dimension 1

cycle_cap_enforcement

Rejects schedules exceeding max_daily_cycles

Binary check

This dimension contributes its full weight only when the submission satisfies the requirement. Partial credit is not awarded.

Dimension 2

revenue_optimization

Percentage of theoretical maximum arbitrage achieved • target: 90 • range: 0-100

Binary check

This dimension contributes its full weight only when the submission satisfies the requirement. Partial credit is not awarded.

Learning goals

What you should walk away with

  • Incorporate distinct consortium contractual rules (ACWA vs Engie PPA conditions).

  • Model battery cell degradation per equivalent full cycle (EFC).

  • Optimize power injection during high-margin evening grid demand.

  • Output verified dispatch schedules adhering to state-of-health guarantees.

Resources and assets

Reference links and supporting material

Dataset notes

Tariff schedules and battery operating profiles for major Saudi energy storage installations.

Challenge setup

Evaluates multi-tenant dispatch schedules for maximum revenue while meeting cycle caps.

Challenge input

JSON with consortium_name, max_daily_cycles, tariff_profile, and capacity_mwh

Python Optimization Tools

Solves constrained linear programming problems.

Evaluated output

JSON with daily_cycles_used, projected_revenue_usd, and schedule_valid

Evaluation checks
  • Rejects schedules exceeding max_daily_cycles
  • Percentage of theoretical maximum arbitrage achieved • target: 90 • range: 0-100
Configured evaluation evidence
  • Benchmark: BessOptBench
  • Revenue Optimization target: 90
  • 1 public reference case
Configured runtime
  • Python execution harness
  • Python sandbox (unavailable on Versalist)

Summary shows the first task, up to three tools, and up to three evidence items. Open the technical recipe to view all configured items.

View technical recipe

Configured tools

Action Space
  • RAI · Required
  • Bito AI · Optional
Observation
  • Helicone · Optional

Evaluation contract

  • cycle_cap_enforcement · Weight 1
  • revenue_optimization · Weight 1

Metrics

  • revenue_optimization · Target 90

Benchmarks

  • BessOptBench
  • energy

Reference cases

  • 1 public reference case

Workflow tasks

  1. Task 1

    Input: JSON with consortium_name, max_daily_cycles, tariff_profile, and capacity_mwh

    Output: JSON with daily_cycles_used, projected_revenue_usd, and schedule_valid

    Execution harness: Python

Evaluation tools

  • Python Optimization Tools · Optimization Engine

Recipe freeze marker

No recipe freeze time is recorded.

Frequently Asked Questions about BESS Multi-Consortium Dispatch Policy Engine for ACWA & Engie Deals