https://github.com/mahmood-anaam/mppt-gwo-pso-optimizer
A MATLAB-based repository for MPPT optimization using a Hybrid Grey Wolf Optimizer (GWO) and Particle Swarm Optimization (PSO) algorithm in photovoltaic systems.
https://github.com/mahmood-anaam/mppt-gwo-pso-optimizer
gray-wolf-optimizer matlab matlab-simulink mppt particle-swarm-optimization photovoltaic-systems
Last synced: 2 months ago
JSON representation
A MATLAB-based repository for MPPT optimization using a Hybrid Grey Wolf Optimizer (GWO) and Particle Swarm Optimization (PSO) algorithm in photovoltaic systems.
- Host: GitHub
- URL: https://github.com/mahmood-anaam/mppt-gwo-pso-optimizer
- Owner: Mahmood-Anaam
- Created: 2025-01-18T23:26:14.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-01-18T23:43:58.000Z (4 months ago)
- Last Synced: 2025-01-19T00:24:37.464Z (4 months ago)
- Topics: gray-wolf-optimizer, matlab, matlab-simulink, mppt, particle-swarm-optimization, photovoltaic-systems
- Language: MATLAB
- Homepage: https://github.com/Mahmood-Anaam/mppt-gwo-pso-optimizer.git
- Size: 0 Bytes
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# MPPT Optimization Using Hybrid GWO-PSO Algorithm
This repository implements a **Hybrid Grey Wolf Optimizer (GWO) and Particle Swarm Optimization (PSO)** algorithm for Maximum Power Point Tracking (MPPT) in photovoltaic (PV) systems. The hybrid approach enhances the dynamic response and steady-state performance of MPPT under varying environmental conditions by combining the exploration capabilities of GWO with the exploitation efficiency of PSO.
## Repository Structure
```plaintext
mahmood-anaam-mppt-gwo-pso-optimizer/
├── README.md # Documentation file
├── main.m # Main script to run the simulation
├── algorithms/ # Implementation of MPPT algorithms
│ ├── Cuckoo.m # Cuckoo search algorithm
│ ├── GWO.m # Grey Wolf Optimizer algorithm
│ ├── HHO.m # Harris Hawks Optimization algorithm
│ ├── Hybrid_GWO_PSO.m # Hybrid GWO-PSO algorithm
│ ├── PSO.m # Particle Swarm Optimization algorithm
│ ├── PandO.m # Perturb and Observe algorithm
│ └── Temp_GWO_PSO.m # Experimental Hybrid GWO-PSO variant
├── assets/ # Directory for additional resources
├── simulinks/ # Simulink models for simulation
│ ├── hybrid_gwo_pso_mppt_grid_det.slx # Main simulation model
│ └── slprj/ # Simulink generated files
```## Features
1. **Hybrid Algorithm**: Combines the strength of GWO and PSO for improved MPPT performance.
2. **Algorithmic Variants**: Includes standalone implementations of GWO, PSO, HHO, and Cuckoo algorithms.
3. **Simulink Integration**: Provides a detailed Simulink model for grid-connected PV systems to test the algorithms in dynamic scenarios.
4. **Optimization Scope**: Tracks the Maximum Power Point under rapid irradiance and temperature variations.## Hybrid GWO-PSO Algorithm
The hybrid GWO-PSO algorithm leverages the strengths of both Grey Wolf Optimizer and Particle Swarm Optimization.
### Update Equations:
1. **Distance Computation with Alpha, Beta, and Delta:**
```math
D_{\alpha} = \left| C_1 \cdot D_{\text{alpha\_pos}} - w \cdot D_i \right|
``````math
D_{\beta} = \left| C_2 \cdot D_{\text{beta\_pos}} - w \cdot D_i \right|
``````math
D_{\delta} = \left| C_3 \cdot D_{\text{delta\_pos}} - w \cdot D_i \right|
```2. **Intermediate Positions Update:**
```math
X_1 = D_{\text{alpha\_pos}} - A_1 \cdot D_{\alpha}
``````math
X_2 = D_{\text{beta\_pos}} - A_2 \cdot D_{\beta}
``````math
X_3 = D_{\text{delta\_pos}} - A_3 \cdot D_{\delta}
```3. **New Position Calculation:**
```math
D_{\text{new}} = w \cdot \left( D_i + r_1 \cdot (X_1 - D_i) + r_2 \cdot (X_2 - D_i) + r_3 \cdot (X_3 - D_i) \right)
```4. **Boundary Enforcement:**
```math
D_{\text{new}} =
\begin{cases}
ub, & \text{if } D_{\text{new}} > ub \\
lb, & \text{if } D_{\text{new}} < lb \\
D_{\text{new}}, & \text{otherwise}
\end{cases}
```5. **Adaptive Parameter Update (\(a\)):**
```math
a = 2 - \frac{2 \cdot \text{iteration}}{\text{Max\_iteration}}
```### Algorithm Steps:
1. **Initialization**: Randomly initialize the positions of search agents (duty cycles) within $$\([lb, ub]\)$$.
2. **Fitness Calculation**: Evaluate power output $$(\(P = V_{pv} \cdot I_{pv}\))$$ for each agent.
3. **Update Dominant Positions**: Identify $$\(D_{\alpha}\), \(D_{\beta}\)$$, and $$\(D_{\delta}\)$$ based on fitness values.
4. **Position Update**: Update positions using the equations above.
5. **Convergence Check**: Stop if the maximum iterations are reached or if the power changes fall below a predefined threshold.## Recommendations for Algorithm Improvement
- **Dynamic Parameter Adaptation**: Introduce mechanisms to adapt $$\(w\)$$ and $$\(a\)$$ dynamically based on the convergence rate.
- **Hybrid Exploration Strategy**: Combine GWO's exploration with mutation operators from evolutionary algorithms for better search diversity.
- **Scalability Testing**: Evaluate performance under varying numbers of agents and iterations for robustness in complex PV systems.
- **Real-World Testing**: Integrate noise tolerance and real-world disturbances into the Simulink model for practical validation.