Indian campus microgrid dispatch optimiser
A completed offline electrical-engineering study that schedules solar PV, battery storage, grid exchange, backup generation, demand response, and prioritised load shedding for a synthetic Indian campus microgrid.

Project definition
Problem statement
A campus microgrid must satisfy changing electrical demand while coordinating variable solar generation, finite battery energy, connection limits, time-of-day prices, outages, backup supply, and load priorities.
The engineering problem is to formulate a transparent dispatch model, preserve power and stored-energy balances, compare it with simple operating rules, and explain why price, reserve, and horizon information change the selected schedule.
Project objectives
- Create aligned quarter-hour profiles for campus load, available solar, tariffs, grid availability, export limits, and reserve requirements.
- Formulate grid, battery, generator, demand-response, curtailment, and load-shedding decisions under explicit electrical and energy constraints.
- Compare optimised operation with no-storage, greedy, and reserve-aware greedy strategies.
- Test typical, evening-peak, planned-outage, monsoon, heatwave, and grid-constrained scenarios.
- Measure cost, import, export, solar use, generator energy, battery throughput, curtailment, emissions, and unserved energy.
- Quantify sensitivity to battery power, battery energy, carbon price, and seeded load and solar perturbations.
Project structure
Project components
Electrical model
Defines the aggregate power balance, component ratings, load priorities, battery limits, directional efficiency, reserve, and terminal energy.
Profile generator
Creates six deterministic weekly scenarios with a common quarter-hour time base and declared synthetic assumptions.
Dispatch optimiser
Builds and solves a sparse linear programme with SciPy HiGHS and records the complete decision trace and solver status.
Baseline strategies
Runs greedy and reserve-aware priority rules under the same scenarios and physical limits.
Evidence pipeline
Writes open CSV and JSON results, sensitivity and uncertainty records, and nineteen reproducible analytical figures.
Verification layer
Recalculates electrical balance, stored energy, simultaneous flows, ratings, terminal state, and retained result claims.
Methodology
Project workflow
- 01Prepare a scenario
Generate aligned campus demand, available PV, tariff, outage, grid-limit, and reserve profiles.
- 02Run comparison strategies
Solve the linear programme and execute the three comparison strategies on the same input.
- 03Check every interval
Recalculate power balance, battery recursion, component bounds, reserve, and terminal stored energy.
- 04Run sensitivity and uncertainty
Compare nine battery designs at two carbon prices and solve 120 seeded profile perturbations.
- 05Retain evidence
Export dispatch traces, summary tables, analytical figures, tests, Word documents, and PDFs.
Demonstration scenario
The evening-peak case raises the import price from 18:00 to 22:00. The greedy rule charges whenever surplus solar is available and discharges as soon as demand remains. The optimiser uses the complete horizon to coordinate stored energy, import, export, reserve, and terminal state. Across all prepared scenarios, the largest saving relative to the greedy rule is INR 29,312.95 in the grid-constrained case.
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 import, export, solar use, battery charge and discharge, generator output, demand response, curtailment, and prioritised shedding.
- Optimisation
- SciPy constructs the sparse problem and HiGHS returns the solver status, objective, and complete decision vector.
- Scenario analysis
- NumPy and Pandas create traceable weekly profiles and retain all results as open CSV and JSON files.
- Uncertainty
- Seeded load and solar perturbations preserve reproducibility while exposing the spread in cost, import, renewable use, and shortfall.
- Verification
- Unit and branch tests, repository checks, dependency audit, exact Linux container run, and rendered-document inspection form the release gate.
Testing
Evaluation
Evaluation measures
- Optimal solver status and maximum electrical-balance residual for every retained case
- Power, energy, efficiency, reserve, state-of-charge, availability, and terminal-state constraint satisfaction
- Cost and resource use relative to greedy, reserve-aware, and no-storage strategies
- Generator energy and critical-load service through the prepared outage
- Solar utilisation, curtailment, grid import, export, battery throughput, and operating-emissions indicator
- Cost and emissions response to battery power, energy, and the declared carbon-price term
- Cost percentiles and critical shortfall across 120 seeded profile perturbations
Project boundaries
- All included campus demand, solar, tariff, outage, reserve, and grid-limit profiles are declared synthetic assumptions.
- The model is a balanced active-power study and does not calculate voltage, reactive power, phase imbalance, loading, short circuit, stability, or protection coordination.
- The generator omits commitment, ramp, start, minimum-load, and nonlinear fuel behaviour.
- The battery throughput penalty is not a validated life, thermal, safety, warranty, or degradation model.
- The project is an offline study and does not control live equipment or provide a utility-approved operating schedule.
- A real installation requires authorised data, current tariff and interconnection documents, detailed electrical studies, certified equipment, and qualified review.
Included
- 01Six synthetic weekly campus demand, solar, tariff, outage, and grid-constraint scenarios
- 02Optimised, no-storage, greedy, and reserve-aware greedy dispatch strategies
- 03Quarter-hour grid, solar, battery, generator, demand response, shedding, and state-of-charge traces
- 04Twenty-four primary cases, eighteen battery and carbon-price sensitivity cases, and 120 seeded uncertainty draws
- 05Power-balance, component-rating, battery-state, reserve, and terminal-energy verification
- 06Nineteen labelled analytical figures in PNG and SVG formats
- 07Sixty automated tests with 99.43 percent branch coverage
- 08Complete project files, models, calculations, and analysis material in a private GitHub repository
- 0988-page project documentation in PDF and editable Word formats
- 1014-page setup and usage guide in PDF and editable Word formats
- 11Fifty-two annotated references
Project record
No information is collected on this page.
- Permanent project ID
- GP-EE-023V7AW
- Catalogued
- 21 Aug 2026
- Completed
- 27 Aug 2026
- Verified
- 27 Aug 2026
- Demonstration
- Included in repository
Handover
After purchase
- 01Payment is confirmed
The project is marked unavailable and cannot be purchased again.
- 02Repository access is granted
The buyer's submitted GitHub account receives access to the private repository.
- 03The purchase record is delivered
The certification sheet is prepared from the reviewed buyer details and sent privately by email.