تخفیف نوروزی پی استور

کد تخفیف: PR1404

شامل تمامی آثار
روز
ساعت
دقیقه
ثانیه

با خرید اشتراک ویژه ، با هزینه بسیار کمتر به فایل های پاورپوینت دسترسی داشته باشید!

سورس کد الگوریتم مورچه ACO برای حل مسئله کوله پشتی Knapsack در متلب

هزینه سفارش:

تخفیف ویژه 60 درصدی

قیمت اصلی: ۲۱۹,۰۰۰ تومان بود.قیمت فعلی: ۸۷,۶۰۰ تومان.

روز
ساعت
دقیقه
ثانیه
دریافت کد تخفیف با گردونه شانس %
تعداد فراگیر
291 نفر
امتیاز کاربران
امتیاز 5.00 از 5

در این پست حل مسئله  کوله پشتی Knapsack در متلب با استفاده از الگوریتم  الگوریتم‌های فرا اکتشافی و هوش جمعی الگوریتم مورچه آماده شده است. این سورس کد در متلب برای بهینه سازی بسیاری از مسائل NP-Hard در علوم کامپیوتر مفید می‌باشد و برای علاقه مندان و محققان بسیار کارآمد می‌باشد. برای استفاده از سورس کد در سایر مسائل بهینه سازی می‌توان مدل و تابع هزینه آن را منطبق بر مسئله کرد و از آن سود برد.

در این پست حل مسئله  کوله پشتی Knapsack در متلب با استفاده از الگوریتم فرا اکتشافی و هوش جمعی مورچه آماده شده است. این سورس کد برای بهینه سازی بسیاری از مسائل NP-Hard در علوم کامپیوتر بسیار کارآمد می‌باشد. برای استفاده از سورس کد در سایر مسائل بهینه سازی می‌توان مدل و تابع هزینه آن را منطبق بر مسئله کرد و از آن سود برد.

مسئله کوله پشتی Knapsack

فرض کنید که جهانگردی می‌خواهد کوله پشتی خود را با انتخاب حالت‌های ممکن از بین وسایل گوناگونی که بیشترین راحتی را برایش فراهم می‌سازند پر کند. این مسئله می‌تواند با شماره گذاری این وسایل از ۱ تا n و تعریف برداری از متغیرهای دودویی بصورت ریاضی فرمول بندی شود. به این معنی که: اگر شیء j ام انتخاب شود در غیر اینصورت وقتی میزان راحتی باشد که وسیله j ا م فراهم می‌آورد و وزن آن و c اندازه کوله پشتی باشد.

مسئله ما انتخاب برداری از بین بردارهای دودویی x است، که محدودیت را برآورده کند. بطوریکه تابع هدف ماکزیمم مقدار خود را بگیرد به عنوان نمونه‌ای از مساللی که می‌توانند بصورت مسئله کوله پشتی فرمول بندی شوند.

مسئله کوله پشتی

مسئله زیر را در نظر بگیرید:

فرض کنید که شما مایل به سرمایه‌گذاری همه یا قسمتی ازسرمایه‌تان باشید. اگر مبلغی که برای سرمایه گذاری در نظر گرفتید c دلار باشد و n مورد برای سرمایه گذاری ممکن باشد، اجازه دهیدکه سود حاصل از سرمایه گذاری j ام و مقدار دلارهایی باشد که آن سرمایه گذاری لازم دارد. بدین ترتیب جواب بهینه مسئله کوله پشتی که تعریف کردیم به ما این امکان را می‌دهد که بهترین حالت ممکن را از بین حالت‌های مختلف سرمایه گذاری انتخاب کنیم.

در این رابطه باید روشی برای حل این مسئله پیدا کرد. یک روش ابتدایی که در نگاه اول توجه ما را به خود جل می‌کند، عبارت از برنامه نویسی برای کامپیوتر به منظور امتحان کردن تمامی بردارهای دودویی ممکن x است، تا از بین بردارهایی که محدودیت مسئله را ارضاء می‌کنند بهترین را انتخاب کند. متأسفانه تعداد چنین بردارهایی است.

به طوری که یک کامپیوتر فرضی که می‌تواند یک بیلیون بردار را در یک ثانیه امتحان کند؛ برای n = 60 بیش از ۳۰ سال وقت لازم دارد و بیش از ۶۰ سال برای n = 61 و ده ها قرن برای n = 65 والی آخر. با این وجود، با استفاده از الگوریتم‌هایی خاص می‌توان در بسیاری موارد مسئله‌ای با n = 100000 را در عرض چند ثانیه روی یک کامپیوترکوچک حل کرد.

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

مسئله کوله پشتی

الگوریتم بهینه سازی کلونی مورچگان ACO

الگوریتم بهینه سازی کلونی مورچه  Ant Colony Optimization یا به اختصار ACO مورچگان تحت عنوان الگوریتم‌های هوش ازدحامی (هوش گروهی) شناخته شده و به مدل سازی رفتار مورچه‌های واقعی می‌پردازد. مورچه‌ها حشراتی هستند که می‌توانند گروه‌ها (کلونی‌ها) را شکل دهند. چنین رویکرد جمعیت محوری این امکان را برای الگوریتم ACO ایجاد می‌کند تا به حل مسائل بهینه سازی پویا به طور کاملا کارآمد بپردازد. مورچه‌ها به عنوان مخلوقات خودسازمانده می‌باشند.

از آنجایی که مورچه‌ها اصلا چشم ندارند، تعاملات آن‌ها از طریق ماده شیمیایی فرومون که از آن برای نشان گذاری مسیر استفاده می‌شود، انجام می‌گیرد. هرچه فرومن‌های بیشتری در مسیر قرار گیرد مابقی مورچه‌ها از این مسیر بیشتر استفاده می‌کنند؛ بنابراین، چنین کمیتی نشان می‌دهد که این مسیر به عنوان یکی از بهینه‌ترین و کوتاه ترین راه می‌باشد. اکنون نگاهی به یک نمونه عینی می‌اندازیم. هدف پیدا کردن بهترین راه از نقطه آغازی N (آشیانه) به نقطه مقصد F (منبع غذا) می‌باشد.الگوریتم مورچه ACO

ممکن است این حدس زده شودکه احتمال برای مورچه‌ای که مسیر درست را می‌پیماید برابر با همان احتمالی می‌باشد که مسیر اشتباه را انتخاب کند. نکته در اینجا اینست که مورچه‌ای که کوتاه ترین مسیر را می‌پیماید، اولین مورچه‌ای است که به نقطه مقصد رسیده و سپس به اشیانه ( نقطه مبدا حرکت) بر می‌گردد، بنابراین در این کوتاه ترین مسیر فرمون‌های بیشتری وجود دارد. از این رو فرمون دقیقا همان چیزی است که نشان می‌دهد که مورچه باید از چه مسیری برود و در پایان کوتاه‌ترین راه، بهترین مسیر می‌باشد.

سورس حل مسئله  کوله پشتی با الگوریتم کلونی مورچه ACO در متلب

در این قسمت سورس برنامه حل مسئله فروشنده دوره گرد TSP با الگوریتم کلونی مورچه ACO در متلب آماده شده است این سورس کد شامل ۴ فایل می‌باشد که عبارتند از:

  • aco.m: فایل اصلی برنامه است و فراخوانی دیگر توابع و مقادیر پارامترها و الگوریتم مورچه در داخل این فایل قرار دارد.
  • CreateModel.m: برای ایجاد وزن و ارزش کالاها از این تابع استفاده می‌شود.
function model=CreateModel()

    v=[391 444 250 330 246 400 150 266 268 293 471 388 364 493 202 161 410 270 384 486];
    
    w=[55 52 59 24 52 46 45 34 34 59 59 28 57 21 47 66 64 42 22 23];
    
    n=numel(v);
    
    W=500;
    
    model.n=n;
    model.v=v;
    model.w=w;
    model.W=W;

end
  • RouletteWheelSelection.m: انتخاب چرخه رولت که در بحث انتخاب تصادفی برای حرکت مورچه است از این تابع استفاده می‌شود.
  • MyCost.m: تابع هزینه می‌باشد که بصورت زیر است.
function [z, sol]=MyCost(x,model)

    v=model.v;
    w=model.w;
    W=model.W;

    V1=sum(v.*x);
    W1=sum(w.*x);
    V0=sum(v.*(1-x));
    W0=sum(w.*(1-x));
    
    Violation=max(W1/W-1,0);
    
    z=V0*(1+100*Violation);
    
    sol.V1=V1;
    sol.W1=W1;
    sol.V0=V0;
    sol.W0=W0;
    sol.Violation=Violation;
    sol.z=z;
    sol.IsFeasible=(Violation==0);

end

برای دریافت سورس کامل محصول لطفا آن را خریداری کنید.


درباره محصول

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

مشاهده بیشتر

معرفی و نحوه اجرا

ویدئوی نحوه اجرا


برنامه‌نویس:  تیم برنامه‌نویسی پی‌استور

متشکل از اساتید و فارغ التحصیلان رشته‌های فنی - مهندسی

تیم برنامه نویسی پی استور یکی از اولین گروه‌های تشکیل شده در مجموعه آموزشی پی استور می‌باشد. این تیم از اساتید مجرب و فارغ التحصیلان رشته‌های فنی و مهندسی تشکیل شده که در زمینه‌های مختلف برنامه‌نویسی و تهیه سورس کد فعال هستند.

مشخصات تکمیلی سورس کد

نام اثر: سورس کد الگوریتم مورچه ACO برای حل مسئله کوله پشتی Knapsack در متلب
نوع اثر: سورس کد
برنامه‌نویس: تیم برنامه‌نویسی پی‌استور
زبان برنامه نویسی: Matlab
ویژگی: قابل دانلود و ویرایش

راهنمای خرید و ثبت سفارش

تصویر مراحل خرید از پی استور

اگر در مورد این اثر یا نحوه تهیه آن سوالی دارید؟
  • با شماره تلفن واحد مخاطبین 44225175 (پیش شماره 041) تماس بگیرید. – تمام ساعات اداری
  • با ما مکاتبه ایمیلی داشته باشید (این لینک). – تمام ساعات

توجه: کیفیت این محصول توسط پی استور تضمین شده و در صورت عدم رضایت از محصول، به انتخاب شما:

تصویر و لوگوی گارانتی

نظرات

2 نظر|5.00 (میانگین امتیاز کاربران)

  1. آواتار زهرا ابراهیمی

    زهرا ابراهیمی

    خیلی کاربردی بود ممنون از پشتیبانی خوبتون.

  2. آواتار مدیریت و پشتیبانی

    مدیریت و پشتیبانی

    نظرات و دیدگاه های خود را با ما درمیان بگذارید.

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

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

شناسه اثر: 4441 دسته‌بندی موضوعی: برچسب , ,

هزینه سفارش:

تخفیف ویژه 60 درصدی

قیمت اصلی: ۲۱۹,۰۰۰ تومان بود.قیمت فعلی: ۸۷,۶۰۰ تومان.

دریافت کد تخفیف %