KPG Run Overview
KPG Run is a cross-platform desktop application for solving various power system optimization problems. It provides a modern UI for running production-grade solvers and reviewing optimization results. KPG Run also exports result files compatible with KPG View.
flowchart LR
A["Test System Data"] --> C["KPG Run GUI"]
B["User Configuration"] --> C
C --> D["Solver Selection"]
D --> |Simple| E["Economic Dispatch"]
D --> |Scheduling| F["Unit Commitment"]
D --> |"Network (DC)"| G["DC-OPF"]
D --> |"Network (AC)"| H["AC-OPF"]
E --> I["Results"]
F --> I
G --> I
H --> I
I --> J["Visualization"]
Test System Data
KPG Run uses the KPG 193 test system dataset and visualizes key optimization results. KPG 193 is a synthetic Korean transmission grid model constructed from publicly available data and intended as a benchmark for studies of the Korean power system.
Available Optimization Models
KPG Run includes four optimization models commonly used in power system operations and planning.
- Economic Dispatch (ED): Simplest model for cost-minimized generation dispatch without network constraints. → ED Formulation Details
- Unit Commitment (UC): Day-ahead scheduling with generator commitment decisions and temporal constraints. → UC Formulation Details
- DC Optimal Power Flow (DC-OPF): Network-constrained dispatch using linearized power flow equations. → DC-OPF Formulation Details
- AC Optimal Power Flow (AC-OPF): Nonlinear network-constrained dispatch using AC power flow, capturing voltage magnitudes and reactive power. → AC-OPF Formulation Details
Custom Solvers
KPG Run supports custom solver scripts written in Julia.
To create a custom solver, use the existing .jl solver scripts as templates. Implement your own optimization model in Julia using JuMP.jl, and run it through KPG Run.
For details on using Julia and JuMP, refer to the resources listed below.
- Julia Documentation: docs.julialang.org
- JuMP Documentation: jump.dev
Model Comparison
| Feature | ED | UC | DC-OPF | AC-OPF |
|---|---|---|---|---|
| Problem Type | LP/QP | MILP | LP/QP | NLP |
| Network Model | None | None | DC | AC |
| Time Periods | Single | Multiple | Single | Single |
| Commitment Decisions | None | Binary | None | None |
| Accuracy | Low | Medium | Medium | High |
| Solving Speed | Fastest | Slow | Fast | Medium |
Key Features
User-Friendly Interface
- Intuitive GUI with clean, modern design
- Real-time solver output streaming to console
- Parameter validation before solving
- Status indicators for running optimizations
- Result summarization with key metrics
Configuration
- Data Source: Test system folder selection for the run.
- Problem Setup: Problem type configuration and optimization horizon settings.
- Solver: Solver engine selection with solver options (e.g., time limit and output level).
Solver Engine Support
- Ipopt (open source)
- Gurobi (commercial)
- Knitro (commercial)
| Model | Ipopt | Gurobi | Knitro |
|---|---|---|---|
| ED | ✓ | ✓ | ✓ |
| UC | ✗ | ✓ | ✓ |
| DC-OPF | ✓ | ✓ | ✓ |
| AC-OPF | ✓ | ✓ | ✓ |
- Each optimization model must be solved with a solver engine that supports its problem type.
- Solver choice may affect runtime and convergence.
- Academic users may obtain a free Gurobi academic license.
Workflow Integration
- Chain solvers (UC → OPF) using stored results (planned)
- Batch processing for multiple scenarios (planned)
- CSV export for external analysis
- GeoJSON generation for KPG View visualization
Installation Guide
System Requirements
- Operating System: macOS 10.15+, Windows 10+ (Linux support planned)
- Julia: 1.11.2+
- Solvers: Ipopt, Gurobi, Knitro
- Memory: 8GB RAM minimum, 16GB recommended
- Storage: 2GB for application and data
Getting Started
- Launch KPG Run
- Choose “KPG 193 v1.5” as the data source
- Select “DC-OPF” for the problem type
- Set Day to
1 - Click Solve button and monitor the console output
- View results in the Results tab