← Back to project catalogue
GP-EE-04LIAZAElectricalReady

EV charging schedule optimiser

A completed offline electrical engineering study that coordinates workplace EV charging under connection windows, energy requests, charger ratings, EVSE availability, tariffs, and a site transformer limit.

EV charging schedule optimiser project visual
GP-EE-04LIAZA · Electrical
  • Python
  • NumPy
  • Pandas
  • SciPy
  • HiGHS
  • Matplotlib
  • Jupyter

Project definition

Problem statement

Uncoordinated workplace charging can create a new site peak, exceed a transformer or connection limit, and still leave some vehicles short of their requested energy before departure.

The engineering problem is to allocate charging power over time while respecting connection windows, charger ratings, EVSE availability, site capacity, tariffs, peak demand, energy requests, and fair service.

Project objectives

  • Prepare a traceable session table from an attributed public workplace charging dataset.
  • Model arrival, departure, requested energy, charger rating, EVSE availability, base load, site limit, and time-varying tariff profiles.
  • Compare immediate uncoordinated, first-come, earliest-deadline, and optimised schedules.
  • Measure delivered energy, shortfall, peak load, limit violations, charging cost, demand cost, and service fairness.
  • Test reduced transformer headroom, larger energy requests, early departures, evening tariff stress, and a station outage.
  • Quantify sensitivity to site capacity and demand charge and retain seeded uncertainty results.

Project structure

Project components

01

Session preparation

Selects the retained public records, converts time fields, removes vehicle models, and replaces source station IDs with project-only EVSE aliases.

02

Electrical site model

Defines the quarter-hour horizon, base load, site limit, charger efficiency, station availability, and tariff profile.

03

Comparison strategies

Runs immediate uncoordinated, capacity-aware first-come, and earliest-deadline charging.

04

Schedule optimiser

Uses a linear programme to coordinate charging power, peak demand, energy shortfall, and a common service floor.

05

Experiment runner

Executes six study cases, the capacity and demand-charge sensitivity grid, and 80 seeded uncertainty draws.

06

Evidence pipeline

Retains open CSV and JSON results and produces fourteen analytical figures from those files.

Methodology

Project workflow

  1. 01
    Prepare the sessions

    Create the anonymized project table from the attributed public CSV or use the retained prepared table.

  2. 02
    Build a study case

    Combine the sessions with the declared base load, tariff, site limit, and any case-specific change.

  3. 03
    Run four strategies

    Evaluate the same case with immediate, first-come, earliest-deadline, and optimised charging.

  4. 04
    Verify every result

    Recalculate energy, rate, window, station, site-limit, cost, peak, and fairness measures.

  5. 05
    Retain the evidence

    Export schedule traces, summary tables, sensitivity and uncertainty results, figures, tests, Word documents, and PDFs.

Demonstration scenario

Seventy-eight anonymized workplace charging sessions share 67 EVSE aliases under a declared base load and 250 kW site limit. Immediate charging produces a 334.75 kW peak. The optimiser coordinates the same requests to a 189.01 kW peak while retaining a 0.34 kWh shortfall and a 0.99997 fairness index.

Engineering

Tools and method

Tools
The project uses Python, NumPy, Pandas, SciPy, HiGHS, Matplotlib, Jupyter for subject analysis, simulation, and results.
Mathematical model
A quarter-hour linear programme represents per-session charging power, energy shortfall, site peak, and the common service floor.
Optimisation
SciPy builds the constrained problem and HiGHS returns the solver status and complete charging schedule.
Numerical analysis
NumPy and Pandas prepare aligned arrays, calculate retained metrics, and write open result tables.
Visualisation
Matplotlib creates the session, load, strategy, fairness, sensitivity, uncertainty, cost, and outage figures.
Verification
Automated tests, static analysis, dependency audits, repository checks, a non-root Linux container run, and rendered-document inspection form the release gate.

Testing

Evaluation

Evaluation measures

  • Reference peak reduction from 334.75 kW to 189.01 kW, or 43.54 percent
  • Reference optimised energy shortfall of 0.34 kWh and Jain fairness index of 0.99997
  • Zero maximum site-limit, station, connection-window, and charging-rate violation in retained optimised cases
  • Peak, energy, shortfall, cost, and fairness comparison across four strategies and six cases
  • Peak and cost response across 24 site-limit and demand-charge sensitivity cases
  • Peak and shortfall percentiles across 80 seeded arrival, departure, request, and base-load perturbations

Project boundaries

  • The source sessions come from one United States workplace dataset and do not represent Indian driving or charging behaviour.
  • The base-load and tariff profiles are declared analytical assumptions, not measurements or bills from a real site.
  • The optimiser has perfect knowledge of each retained connection window and requested energy and uses continuous charging power.
  • The study does not model battery state of charge, tapering, three-phase unbalance, voltage drop, harmonics, transformer thermal ageing, communication latency, or protection design.
  • The project is an offline engineering study and does not communicate with live chargers, vehicles, payment systems, or utility equipment.
  • A real installation requires authorised site data, detailed electrical studies, certified equipment, utility approval, and qualified review.

Included

  1. 01Prepared public-data-derived table with 78 anonymized workplace charging sessions
  2. 02Immediate, first-come, earliest-deadline, and optimised charging strategies
  3. 03Six reference, capacity, demand, departure, tariff, and station-outage study cases
  4. 04Twenty-four retained schedules, 24 sensitivity cases, and 80 seeded uncertainty runs
  5. 05Transformer-limit, energy, charger-rate, connection-window, station, cost, and fairness checks
  6. 06Fourteen labelled analytical figures in PNG and editable SVG formats
  7. 07Fifteen automated tests with 98.39 percent branch coverage
  8. 08Complete project files, calculations, results, and analysis material in a private GitHub repository
  9. 0972-page project documentation in PDF and editable Word formats
  10. 1019-page setup and usage guide in PDF and editable Word formats
  11. 11Forty-five annotated references

Project record

No information is collected on this page.

Permanent project ID
GP-EE-04LIAZA
Catalogued
21 Aug 2026
Completed
28 Aug 2026
Verified
28 Aug 2026
Demonstration
Included in repository

Handover

After purchase

  1. 01
    Payment is confirmed

    The project is marked unavailable and cannot be purchased again.

  2. 02
    Repository access is granted

    The buyer's submitted GitHub account receives access to the private repository.

  3. 03
    The purchase record is delivered

    The certification sheet is prepared from the reviewed buyer details and sent privately by email.