Particle Swarm Optimization

Particle Swarm Optimization(PSO) เป็นแขนงหนึ่งของ Swarm Intelligence  ซึ่งมี Particle swarm กับ Ant colony optimization ซึ่งเป็นวิธีการพัฒนาการเรียนรู้หรือมีความจำ ซึ่งแตกต่างจากวิธีการ Genetic Algorithm,Shuffle frog, memetic ซึ่งใช้การวิวัฒนาการหรือ การคัดสรรสายพันธุ์ ที่ดี หรือ แย่

PSO ถูกพัฒนา โดย Eberhart & Kennedy(1995) ซึ่งใช้สำหรับการแก้ปัญหาทางคอมพิวเตอร์ หรือ วิศวกรรม ซึ่งมีแนวคิดจากการหาอาหารของนก หรือ หาอาหารของปลา และ ทฤษฎีการเคลื่อนที่(Velocity Theory ) ซึ่งต้องอาศัยการเคลื่อนที่กันเป็นกลุ่มและการเว้นระยะห่างระหว่าง นกแต่ละตัวซึ่งในที่นี้ เรียกว่า Particle

เราสามารถอธิบายขั้นตอนการทำงานของ PSO ได้ ดังนี้ คือ

ขั้นตอนที่หนึ่ง คือการกำหนด Parameter ของ PSO ,Random Position and Random Velocity

ขั้นตอนที่สอง คำนวณหาค่า Fitness Function ของปัญหา จากการ Random

ขั้นตอนที่สาม เปรียบเทียบคำตอบกับ Particle ในรอบเดียวกันแล้วเลือก ตัวที่ดีที่สุดเก็บไว้ เรียกวิธีการนี้ว่า คัดสรรเฉพาะ พื้นที่

ขั้นตอนที่สี่ นำตัวที่ดีที่สุดใน  Particle ในรอบเดียวกัน ไปเปรียบเทียบคำตอบ ระดับ รอบอื่นๆ เพื่อหาคำตอบที่เป็น Best so far

ขั้นตอนที่ห้า คำนวณหาค่าของ Velocity จากสูตรการคำนวณ

ขั้นตอนที่หก นำค่า Velocity ไปคำนวณหาค่าของ Position 

ขั้นตอนที่เจ็ด ทำซ้ำกระบวนการที่ 1-6 ไปเรื่อยจนครบกับ Parameter ที่เรากำหนดไว้ที่โปรแกรมที่เรา

เขียนขึ้น แล้ว นำเอา คำตอบที่เป็น Best so far เป็นคำตอบของปัญหา