الگوریتم تکاملی توده ذرات (PSO Algorithm), حل مسئله کوله پشتی (knapsak) در متلب

حل مسئله کوله پشتی با الگوریتم توده ذرات PSO

حل مسئله کوله پشتی با الگوریتم توده ذرات PSO

مسئله کوله پشتی که با عنوان های Knapsack یا Rucksack مطرح می شود، مسئله ای در بهینه سازی ترکیبیاتی است. فرض کنید مجموعه ای از اشیا، که هر کدام داری وزن و ارزش خاصی هستند در اختیار دارید. به هر شی تعدادی را تخصیص دهید به طوری که وزن اشیا انتخاب شده کوچکتر یا مساوی حدی از پیش تعیین شده، و ارزش آنها بیشینه شود. علت نامگذاری این مسئله، جهانگردی است که کوله پشتی ای با اندازه ی محدود دارد و باید آن را با مفیدترین صورت ممکن از اشیا پر کند.

فرض کنید n جسم داریم که از 1 تا n شماره گذاری شده‌اند. جسم  i ام ارزشی معادل v_iو وزنی برابر با w_i دارد. معمولاً فرض می شود که وزن ها و ارزش ها نامنفی اند. برای ساده تر شدن نمایش، بدون کم شدن از کلیت مسئله می توان فرض کرد اشیا به ترتیب صعودی بر حسب وزنشان مرتب شده‌اند. بیشترین وزنی که می توان در کوله پشتی حمل کرد،W است.

معروف ترین نوع از این مسئله، مسئله ی کوله پشتی ۰ و ۱ است. یعنی تعداد از هر شی، یا ۰ است (آن شی را انتخاب نمی‌کنیم) یا ۱ ( آن شی انتخاب می شود). مسئله ی کوله پشتی ۰ و ۱ را می توان به این صورت، به زبان ریاضی بیان کرد:

  • مقدار \qquad \sum_{i=1}^n v_ix_i را بیشینه کنید.
  • به طوری که \qquad \sum_{i=1}^n w_ix_i \leqslant W, \quad  x_i \in \{0,1\}

برای دریافت کد حل مسئله کوله پشتی با الگوریتم توده ذرات يا PSO با ما تماس بگيريد

 

كد متلب حل كوله پشتي 0 و 1 با الگوريتم توده ذرات (pso) به همراه فايل توضيحات خط به خط و روش حل

کد به همراه یک فایل توضیحات خط به خط کد

جهت دانلود فایل از بخش زیر اقدام کنید و بصورت انلاین خرید و دانلود کنید

 

[parspalpaiddownloads id=”59″]

 

ایمیل : matlab24ir@gmail.com و یا info@matlab24.ir

شماره تماس : ۰۹۱۳۹۹۳۵۳۶۰

مطالب مرتبط

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *