SIPSO_Optimization

sphere function is tested
5 Downloads
Updated 21 Nov 2024

View License

Self-Interest Particle Swarm Optimization (SIPSO)
Self-Interest Particle Swarm Optimization (SIPSO) is a variation of the traditional Particle Swarm Optimization (PSO) that incorporates the concept of self-interest. Unlike standard PSO, where particles are influenced by the global best (gbestg_{\text{best}}gbest) and local best (pbestp_{\text{best}}pbest), SIPSO focuses more on individual particle behavior driven by self-interest to improve exploration and prevent premature convergence.
Key Features of SIPSO:
  1. Self-Interest Mechanism:Each particle prioritizes its performance and chooses to either follow its personal best or deviate significantly for exploratory purposes.
  2. Adaptive Weights:The influence of self-interest, local best, and global best is adjusted dynamically based on the iteration or swarm's diversity.
  3. Exploration vs Exploitation:Balances exploration and exploitation by assigning greater self-interest in early iterations (to explore) and gradually reducing it in later iterations (to exploit).
SIPSO Algorithm Steps:
  1. Initialization:
  • Initialize particles with random positions and velocities in the search space.
  • Evaluate the fitness of each particle and assign pbestp_{\text{best}}pbest and gbestg_{\text{best}}gbest.
  1. Velocity Update:
  • Modify the velocity update rule to include a self-interest term: vi(t+1)=ωvi(t)+c1r1(pbest,ixi)+c2r2(gbestxi)+c3r3SelfTermv_{i}(t+1) = \omega v_{i}(t) + c_1 r_1 \cdot (p_{\text{best},i} - x_i) + c_2 r_2 \cdot (g_{\text{best}} - x_i) + c_3 r_3 \cdot \text{SelfTerm}vi(t+1)=ωvi(t)+c1r1(pbest,ixi)+c2r2(gbestxi)+c3r3SelfTerm
  • SelfTerm: A self-interest-driven direction based on the particle’s random exploration or attraction to specific regions.
  1. Position Update:
  • Update the particle position based on its new velocity: xi(t+1)=xi(t)+vi(t+1)x_i(t+1) = x_i(t) + v_i(t+1)xi(t+1)=xi(t)+vi(t+1)
  1. Fitness Evaluation:
  • Evaluate the fitness of the updated particle positions.
  1. Update pbestp_{\text{best}}pbest and gbestg_{\text{best}}gbest:
  • If the particle's current position is better than its pbestp_{\text{best}}pbest, update pbestp_{\text{best}}pbest.
  • If any particle's current position is better than gbestg_{\text{best}}gbest, update gbestg_{\text{best}}gbest.
  1. Termination:
  • Repeat until the maximum number of iterations or a convergence criterion is met.
MATLAB Release Compatibility
Created with R2022b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Tags Add Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.0.0