الگوریتم توده ذرات که به نام انگلیسی Particle Swarm Optimization معروف است یا به اختصار به آن PSO هم می گویند برگرفته از تجمع انبوهی از ذرات است، به این معنی از حرکت دسته جمعی پرندگانٰ، ماهی ها و … الهام گرفته است. در حرکت جمعی هر جز خود هوشمندی ندارد ولی رفتار گروه یک هوشمندی رو دنبال دارد.
یکی از روش های مطرح در زمینه بهینه سازی، الگوریتم ازدحام ذرات می باشد. این روش در سال 1995 برای اولین بار توسط کندی و ابرهارت ارائه گردید. این الگوریتم از رفتارهای اجتماعی یک دسته از پرندگان و گروهی از ماهی ها در یافتن غذا الهام گرفته شده است(کندی و ابرهارت، 1995). اساس این الگوریتم بر تکرار جستجو در محیط مسئله توسط جمعیت تصادفی می باشد که در هر تکرار ،تابع شایستگی مورد ارزیابی قرار می گیرد و سپس بهترین موقعیت هر پرنده و بهترین موقعیت تمام پرندگان در آن نسل در دو حافظه(بهترین موقعیت محلی ، بهترین موقعیت کلی ) قرار می گیرند،سپس در نسل بعد جمعیت جدیدی جایگزین جمعیت قبلی می شود و در این نسل نیز بهترین موقعیت محلی و بهترین موقعیت کلی با آنچه در نسل قبلی بدست آمد مورد مقایسه قرار می گیرد. در واقع حرکت پرندگان در این الگوریتم به دو عامل حرکت فردی و حرکت جمعی وابسته است.
ترکیب این دو حرکت منجر به ایجاد یک مدل کار آمد جهت یافتن بهترین نقطه هدف در مسائل بهینه سازی می شود. اگر پرندگان فقط به حرکت فردی توجه کنند، بزودی گروه یا دسته آنها از هم پاشیده و هر کدام به سمتی خواهند رفت و اگر آنها فقط بدنبال بهترین فرد گروه حرکت کنند ، ممکن است آنها راه را گم کرده و یا در مینیمم های محلی گرفتار شوند و یا دیر به مقصد برسند.