Skip to main content
Loading navigation

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

What you are building

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

How work is evaluated

Evaluation

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

Datasets

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

How submissions are scored

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

  • 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

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)

Shows the first task, up to three tools, and up to three evidence 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