در این محصول ما الگوریتم فراابتکاری PSO را در Python کد نویسی کرده ایم و با پیاده سازی الگوریتم pso در پایتون این امکان را برای شما فراهم کرده ایم که به حل مسائل بهینه سازی در Python بپردازید.
الگوریتم pso در پایتون : کد پایتون الگوریتم pso
الگوریتم PSO یا توده ذرات ، که به آن الگوریتم اجتماع پرندگان نیز گفته میشود مخفف عبارت Particle Swarm Optimization است ، که در سال 1995 توسط ابرهارت و کندی معرفی شد.
الگوریتم فراابتکاری pso یک الگوریتم بهینه سازی مبتنی بر جمعیت است که در سال 1995 توسط جیمز کندی و ابرهارت معرفی شد. کندی و ابرهارت در مقاله ای با عنوان “Particle Swarm Optimization” برای اولین بار یک الگوریتم مبتنی بر توده یا جمعیت را معرفی کردند.
در این محصول ، الگوریتم توده ذرات یا PSO را در پایتون پیاده سازی کرده ایم و برای دانلود قرار داده ایم.
بخشی از کد الگوریتم PSO در پایتون در زیر نمایش داده شده است، کد کامل را با خرید محصول میتوانید دریافت کنید:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
import numpy as np import math import time import matplotlib.pyplot as plt def Sphere(x): return sum(x**2) timerStart=time.time() #problem parameters varNum=2 lowerBound= -100 * np.ones(varNum) upperBound= 100 * np.ones(varNum) CostFunction = Sphere #PSO Parameters PopSize=40 #number of particle MaxIter=50 #maximom number of Iteration W=1 C1=2 C2=2 alpha=0.05 # Empty Solution Template Particle = { 'Position': None, 'Cost': None, 'Velocity': None, }; # Initialize Leader GlobalBest_Position=[] GlobalBestCost= float("inf") Pop=[] LocalBest=[] |
نمونه ای از اجرای کد پایتون الگوریتم PSO و خروجی آن در شکل زیر قابل مشاهده می باشد:
برای اجرای برنامه در پایتون ، از کتابخانه هایی مثل numpy استفاده شده است که در ابتدای کد و در دموی کد نیز قابل مشاهده است. این کتابخانه ها باید روی سیستم شما نصب باشد.
خروجی برنامه برای تابع Sphere با دو متغیر بصورت زیر با اجرای کد نمایش داده میشود:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
In Iteration 0: Best Cost = 6.029073638800301 In Iteration 1: Best Cost = 6.029073638800301 In Iteration 2: Best Cost = 6.029073638800301 In Iteration 3: Best Cost = 6.029073638800301 In Iteration 4: Best Cost = 6.029073638800301 In Iteration 5: Best Cost = 3.2782747114332995 In Iteration 6: Best Cost = 3.2782747114332995 In Iteration 7: Best Cost = 1.5226826205341288 In Iteration 8: Best Cost = 1.5226826205341288 In Iteration 9: Best Cost = 1.5226826205341288 In Iteration 10: Best Cost = 1.5226826205341288 In Iteration 11: Best Cost = 1.5226826205341288 In Iteration 12: Best Cost = 0.0542179196711845 In Iteration 13: Best Cost = 0.0542179196711845 In Iteration 14: Best Cost = 0.0542179196711845 In Iteration 15: Best Cost = 0.0542179196711845 In Iteration 16: Best Cost = 0.0542179196711845 In Iteration 17: Best Cost = 0.025639632791528047 In Iteration 18: Best Cost = 0.0021286230087211424 In Iteration 19: Best Cost = 0.0021286230087211424 In Iteration 20: Best Cost = 0.0021286230087211424 In Iteration 21: Best Cost = 0.0021286230087211424 In Iteration 22: Best Cost = 0.0021286230087211424 In Iteration 23: Best Cost = 1.9554811842294792e-05 In Iteration 24: Best Cost = 1.9554811842294792e-05 In Iteration 25: Best Cost = 1.9554811842294792e-05 In Iteration 26: Best Cost = 1.9554811842294792e-05 In Iteration 27: Best Cost = 1.9554811842294792e-05 In Iteration 28: Best Cost = 2.4666075525121967e-06 In Iteration 29: Best Cost = 2.4666075525121967e-06 In Iteration 30: Best Cost = 2.4666075525121967e-06 In Iteration 31: Best Cost = 8.987527883206572e-07 In Iteration 32: Best Cost = 1.89411470820339e-08 In Iteration 33: Best Cost = 1.89411470820339e-08 In Iteration 34: Best Cost = 1.89411470820339e-08 In Iteration 35: Best Cost = 1.89411470820339e-08 In Iteration 36: Best Cost = 4.4712988229945714e-09 In Iteration 37: Best Cost = 3.5191076647754115e-09 In Iteration 38: Best Cost = 2.1357664387689375e-09 In Iteration 39: Best Cost = 3.9169731256872064e-10 In Iteration 40: Best Cost = 2.188604245217669e-10 In Iteration 41: Best Cost = 2.942294410457947e-12 In Iteration 42: Best Cost = 2.942294410457947e-12 In Iteration 43: Best Cost = 1.9412446664011605e-12 In Iteration 44: Best Cost = 4.259611084217281e-13 In Iteration 45: Best Cost = 4.2304670030280365e-13 In Iteration 46: Best Cost = 4.2304670030280365e-13 In Iteration 47: Best Cost = 3.186923554559819e-13 In Iteration 48: Best Cost = 1.613102101687678e-14 In Iteration 49: Best Cost = 1.613102101687678e-14 ============================================================== Exe Time=0.26 secend best Cost : 1.613102101687678e-14 best Solution : [ 1.20939419e-07 -3.87901779e-08] |
نقد و بررسیها
هنوز بررسیای ثبت نشده است.