System Architecture
Five-layer architecture integrating Forecast (sources/Forecast) and Reinforcement (sources/Reinforcement) for Turkey's 2024–2050 energy transition.
Key Metrics
Hybrid AI Framework — Conceptual Overview
The diagram below summarises the data flow, computational modules, and validation processes of the hybrid AI framework developed for Turkey's 2050 energy transition. It shows the integration of physical constraints, neural networks, and reinforcement learning.

1. Data Sources and Physical Constraints
Data from TEİAŞ, IEA, IRENA, Ember and NREL ATB for 2000–2024. Energy balance (P=K×CF×8760), reserve margin and regional limits (7 TEİAŞ regions) applied as physical constraints.
2. Data Preparation and Feature Engineering
Raw data transformed into 106 features: temporal (year, season), technology-regional (26 technologies × 7 regions) and economic-policy variables (GDP, energy prices, regulations).
3. ENSM Forecast Module
Gompertz curves (technology diffusion) combined with GRU (time series). 2024–2050 capacity and generation forecasts. R²=0.9799, outperforms 17 benchmark models.
4. Uncertainty Layer
Monte Carlo Dropout (100 runs) quantifies forecast reliability. PICP (Prediction Interval Coverage Probability) and MPIW (Mean Prediction Interval Width) metrics. PICP=95.4%, MPIW=11.8 GW.
5. RL Optimization (MAPPO/PPO)
Uncertainty-aware forecasts fed to MAPPO (Multi-Agent Proximal Policy Optimization) / PPO. Optimal policy learned with 1000+ forward passes. 13 algorithms compared; MAPPO/PPO selected.
6. Policy and System Outputs
2050 portfolio (solar 32%, wind 28%, hydro 27%), emissions (152→14.30 MtCO₂), investment ($226.79B), LCOE ($42.8/MWh) and reliability (99.2%) computed.
7. Bidirectional Integration
Wright's law (learning curves) and CAPEX updates: policy decisions update forecasts; updated forecasts improve policy. Convergence in 4–7 iterations, 89% reduction in forecast-policy gap.
8. Validation and Analysis
17 model benchmarks, 13 RL algorithm benchmarks, 78 Diebold-Mariano tests, Bootstrap/ANOVA and SHAP analysis validate the framework. Explainable AI provided.
9. Web Platform Simulator
Interactive scenario analysis with forecast_original.json, forecast_projection.json, reinforcement_unified.json. Users explore transition pathways via map, charts and comparison tools.
10. Outcome: Turkey 2050 Energy Transition
97.34% renewable share, near net-zero electricity system (90.6% emission reduction), technical and economic feasibility (0.35% GDP investment). Evidence-based roadmap aligned with 2053 net-zero commitment.
Five-Layer Flow
Data Flow Sequence
Python Packages — Full List
All Python packages used in Forecast, Reinforcement, and scripts. Categorized, classified, and described in detail.

Core Scientific Computing
NumPy (≥1.21) — Numerical arrays, linear algebra. Used in Forecast, Reinforcement, scripts. Modules: numpy
pandas (≥1.3) — DataFrames, CSV/Excel/Parquet I/O, time series. Used in Forecast, Reinforcement, scripts. Modules: pandas
SciPy (≥1.7) — curve_fit (S-curve fitting), statistical tests, signal processing. Used in Forecast, Reinforcement. Modules: scipy.optimize, scipy.stats, scipy.signal
Deep Learning
PyTorch (≥1.12) — GRU, LSTM, Dense layers; PPO, SAC, DQN, A3C, TD3 agents; Monte Carlo Dropout; Adam optimizer. Used in Forecast, Reinforcement. Modules: torch, torch.nn, torch.optim, torch.nn.functional, torch.utils.data
Machine Learning & Preprocessing
scikit-learn (≥1.0) — RobustScaler, StandardScaler, MinMaxScaler; train_test_split, TimeSeriesSplit; SimpleImputer; PCA; mutual_info_regression. Used in Forecast, Reinforcement. Modules: sklearn.preprocessing, sklearn.model_selection, sklearn.impute, sklearn.decomposition, sklearn.feature_selection
Visualization
Matplotlib (≥3.5) — 18 figure categories, Q1 journal standards, 300 DPI. Used in Forecast, Reinforcement. Modules: matplotlib.pyplot, matplotlib.dates, matplotlib.patches, matplotlib.ticker, mpl_toolkits.axes_grid1
Seaborn (≥0.11) — Statistical plots, model comparison, heatmap, distribution plots. Used in Forecast, Reinforcement. Modules: seaborn
Data I/O
pyarrow — Parquet read (pd.read_parquet). Turkey_Energy_Technology_Metrics.parquet, unified_energy_technology_dataset.parquet. Used in Reinforcement, scripts. Modules: pyarrow
openpyxl — Excel (.xlsx) read. Turkey_Renewable_Energy_Annual_Dataset.xlsx backend for pandas. Used in Forecast. Modules: openpyxl
Utilities & Config
PyYAML — config/main.yaml. Environment, reward, agent, training parameters. Used in Reinforcement. Modules: yaml
emoji — Console emoji support (✅, ⚠️, 📊). Used in Forecast. Modules: emoji
psutil — CPU, memory monitoring. SystemMonitor (optional). Used in Reinforcement. Modules: psutil
# Core numpy>=1.21 pandas>=1.3 scipy>=1.7 # Deep Learning torch>=1.12 # Machine Learning scikit-learn>=1.0 # Visualization matplotlib>=3.5 seaborn>=0.11 # Data I/O pyarrow openpyxl # Config & Utilities pyyaml emoji psutil
Run Commands
Copy and run from the project root:
cd sources/Forecast && python advanced_neural_physical_forecasting.pycd sources/Reinforcement && python main.py --mode datacd sources/Reinforcement && python main.py --mode traincd sources/Reinforcement && python main.py --mode fullpnpm run data:exportSource Structure
advanced_neural_physical_forecasting.py— Main entry — HNSM + ENSMprofessional_visualization/— 18 visualizerscoordinator.py— Orchestrates all figuresmain_figures.py— Methodology, dual approachforecast_analysis.py— CI, trend, sensitivityperformance_analysis.py— Benchmarks, convergencemodel_parameters.py— Hyperparams, activationvalidation_results.py— Validation statsliterature_comparison.py— Random Forest, methodologyscientific_rigor.py— Power analysisreproducibility.py— Data/experiment reprodata_quality.py— Data validationmodel_selection.py— Model rankingtime_series_analysis.py— Decomposition, trendtarget_compliance.py— Regulatory complianceerror_analysis.py— Error distributioninternational_comparison.py— Regional, policyeconomic_analysis.py— ROI, cost-benefitadvanced_statistics.py— Bootstrap, testsreporting_documentation.py— Code/data docsoutputs/— Results01_Figures/— 18 figure categories04_Raw_Data/— Data dictionary, CSVscomprehensive_results_*.json— Forecast resultsadvanced_neural_physical_2024_2050.csv— Projection CSVmain.py— Main launcher — data, train, comparisonrun_analysis_and_visualization.py— Post-training analysisconfig/main.yaml— Environment, reward, agent, trainingsrc/— Core modulesagent/— PPO, DQN, A3C, SAC, TD3, GA, PSO, DE, FuzzyQL, NeuroFuzzy, MARL, MAML, ProgressiveNNdata/— loader, processor, validator, structuresenvironment/energy_env.py— Turkey 2024–2050 RL envtraining/trainer.py— PPO trainerreward/— reward_calculator, technology_weightscost/cost_calculator.py— Cost calculationcomparison/— comprehensive_comparison, statistical, sensitivity, monte_carloevaluation/— evaluator, detailed_reportervisualization/— dashboard, portfolio_visualizermonitoring/system_monitor.py— System monitordata/— Input/outputraw/— Turkey_Energy_Technology_Metrics.parquet, capacity projectionprocessed/— integrated_data.parquet, state_space_data.parquetoutputs/— Resultsmodels/— *.pth checkpointscomparison/comprehensive_comparison.json— 13-algorithm comparison2050_final_portfolio.csv— Final portfolioyearly_evolution_summary.csv— Year-by-year evolutionSystem Code Processing Architecture
How the Forecast and Reinforcement modules execute: entry points, execution flow, core modules, and data integration.
Forecast (sources/Forecast)
advanced_neural_physical_forecasting.pycd sources/Forecast && python advanced_neural_physical_forecasting.py- Load data: pd.read_excel() → Turkey_Renewable_Energy_Annual_Dataset.xlsx (2000–2024, 106 vars)
- Feature engineering: make_enhanced_features(df) → lags, growth, CF, GDP, demand, RES share
- HNSM: main() → S-curve + CapacityForecastingNN + CapacityFactorNN, G = K × CF × 8760/1000
- ENSM: run_enhanced_neural_scurve_model() → S-curve fit with neural fallback
- Benchmarking: run_benchmarking_models() → ARIMA, LSTM, RF, XGBoost, Prophet, SARIMA, VAR, CNN-LSTM, Transformer (30+ models)
- Visualization: run_dual_model_visualization() → coordinator → 18 visualizers, 163 figures
Turkey_Renewable_Energy_Annual_Dataset.xlsxReinforcement (sources/Reinforcement)
main.pypython main.py --mode <mode>- Data pipeline: DataLoader → integrated_data.parquet; DataProcessor → state_space_data.parquet; DataValidator → validation_report.json
- Environment: TurkeyEnergyTransitionEnv (state 446-dim, action 119-dim, 26 steps, 2024–2050)
- Cost & reward: CostCalculator (CAPEX/OPEX); RewardCalculator (multi-objective); TechnologyWeights
- Training: PPOTrainer or selected agent (PPO, DQN, A3C, SAC, TD3, GA, PSO, DE, FuzzyQL, NeuroFuzzy, MARL, MAML, ProgressiveNN)
- Comparison: ComprehensiveComparison → 13 algorithms benchmarked
- Analysis: run_analysis_and_visualization.py → statistical, sensitivity, Monte Carlo, reports, visualizations
data/raw/Turkey_Energy_Technology_Metrics.parquet, data/raw/Turkey_Power_Installed_Capacity_Projection_2024_2050.parquetCore modules
advanced_neural_physical_forecasting.py— Main script: HNSM + ENSM dual-model forecastingprofessional_visualization/coordinator.py— Orchestrates all 18 visualization modulesprofessional_visualization/main_figures.py— Capacity, generation, methodology figuresprofessional_visualization/forecast_analysis.py— Forecast analysis plotsprofessional_visualization/performance_analysis.py— Benchmarks, convergence, metricsprofessional_visualization/model_parameters.py— Hyperparams, SHAP, activationprofessional_visualization/validation_results.py— Validation statisticsprofessional_visualization/literature_comparison.py— Random Forest, methodology comparisonprofessional_visualization/scientific_rigor.py— Power analysis, statistical testsprofessional_visualization/data_quality.py— Data validationprofessional_visualization/time_series_analysis.py— Decomposition, trend, ACF, PACFprofessional_visualization/advanced_statistics.py— Bootstrap, Monte Carlo
main.py— Main launcher, CLI, orchestrationsrc/data/loader.py— Load raw parquet, integrate datasetssrc/data/processor.py— Build state space (446-dim)src/data/validator.py— Validate data, reportsrc/data/structures.py— StateSpace, ActionSpace definitionssrc/environment/energy_env.py— TurkeyEnergyTransitionEnvsrc/agent/ppo_agent.py— PPO agentsrc/agent/mappo_agent.py— MAPPO multi-agentsrc/cost/cost_calculator.py— CAPEX, OPEX, LCOEsrc/reward/reward_calculator.py— Multi-objective rewardsrc/training/trainer.py— PPOTrainer training loopsrc/comparison/comprehensive_comparison.py— 13-algorithm comparisonsrc/evaluation/evaluator.py— Model evaluationrun_analysis_and_visualization.py— Post-training analysis, stats, sensitivity, Monte Carlo
Integration flow
| From | To | Data |
|---|---|---|
Forecast | Reinforcement | Capacity/generation projections, 2024–2050 |
Reinforcement | Forecast | Policy-induced CAPEX updates, learning curves |
Reinforcement | Web | forecast_original.json, forecast_projection.json, reinforcement_unified.json |
scripts | Web | export-explorer-data.py → apps/web/data/explorer/*.json |
Forecast ↔ RL Bidirectional Integration
Forecast provides projections → RL optimizes policy → Policy updates Forecast scenarios. 4–7 iterations to convergence, 89% gap reduction.
Technology Stack
| Module | Python | PyTorch | Other |
|---|---|---|---|
| Forecast | 3.9+ | ✓ | NumPy, SciPy, scikit-learn, matplotlib, seaborn, emoji |
| Reinforcement | 3.x | ✓ | NumPy, pandas, scipy, scikit-learn, PyYAML, pyarrow, psutil |
| Web | — | — | Next.js 15, React 19, Recharts |
Five-Layer Architecture (Details)
Forecast Module (sources/Forecast)
| Entry point | advanced_neural_physical_forecasting.py |
| Models | HNSM (Hybrid Neural-Sigmoid), ENSM (Enhanced Neural S-curve) |
| Input data | Turkey_Renewable_Energy_Annual_Dataset.xlsx (2000–2024, 106 vars) |
| Outputs | comprehensive_results_*.json, advanced_neural_physical_2024_2050.csv, 18 figure categories |
| Key equations | G = K × CF × 8760/1000; S-curve fit (K_max, α, t₀), Monte Carlo dropout |
| Visualization | professional_visualization/ — coordinator, 18 visualizers |
Reinforcement Module (sources/Reinforcement)
| Entry point | main.py |
| Config | config/main.yaml — environment, reward, agent, training |
| Input data | Turkey_Energy_Technology_Metrics.parquet, Turkey_Power_Installed_Capacity_Projection_2024_2050.parquet |
| Environment | src/environment/energy_env.py — Turkey 2024–2050, state 446, action 119, max_steps 26 |
| Algorithms | PPO, DQN, A3C, SAC, TD3, GA, PSO, DE, FuzzyQL, NeuroFuzzy, MARL, MAML, ProgressiveNN (13 total) |
| Outputs | outputs/comparison/comprehensive_comparison.json, 2050 portfolio, yearly evolution |
| Key modules | src/agent/, src/data/, src/reward/, src/cost/, src/comparison/, src/visualization/ |
Output Preview
Data Flow & Integration
sources/Data/ ├── forecast_data/ → original_dataset, advanced_neural_physical_2024_2050_*.csv ├── reinforcement_data/→ raw/*.parquet, processed/integrated_data, state_space_data └── atb_data/ → ATBe.csv, 2024_v3_Workbook.xlsx Forecast → 2000–2024 training → 2024–2050 projections → comprehensive_results.json Reinforcement → projections + constraints → 13 algorithms → 2050_final_portfolio.csv Data Explorer (scripts/export-explorer-data.py) → apps/web/data/explorer/*.json
Forecast vs Reinforcement
| Aspect | Forecast | Reinforcement |
|---|---|---|
| Purpose | Long-term capacity/generation forecasting (2024–2050) | Policy optimization for energy transition |
| Models | HNSM, ENSM (S-curve + NN) | 13 algorithms (RL, evolutionary, fuzzy, meta-learning) |
| Input | Turkey_Renewable_Energy_Annual_Dataset.xlsx | Turkey_Energy_Technology_Metrics.parquet, capacity projection |
| Output | comprehensive_results.json, figures, projection CSV | comparison JSON, 2050 portfolio, yearly evolution |
| Relation | Provides forecasts and uncertainty | Consumes constraints and projections; optimizes pathways |
Python Packages — Full List (Detailed)
All Python packages used in Forecast, Reinforcement, and scripts. Categorized, classified, and described in detail.
# Core numpy>=1.21 pandas>=1.3 scipy>=1.7 # Deep Learning torch>=1.12 # Machine Learning scikit-learn>=1.0 # Visualization matplotlib>=3.5 seaborn>=0.11 # Data I/O pyarrow openpyxl # Config & Utilities pyyaml emoji psutil