در این بخش سورس کد تعیین درخت پوشای مینیمم با الگوریتم SA تبرید شبیه سازی شده در متلب قرار داده شده است. درخت پوشای مینیمم درختی است از زیر مجموعه ای از گراف G که تمام رأس ها با حداقل تعداد ممکن لبه ها پوشیده شده است. از این رو، در درخت پوشای مینیمم حلقه ای وجود ندارد و همچنین نمی تواند قطع باشد. با استفاده از الگوریتم های فرا ابتکاری می توان، درخت پوشای مینیمم را تعیین نمود. یکی از این الگوریتم ها SA یا الگوریتم شبیه سازی تبرید می باشد که سورس کد کامل آن در این بخش آورده شده است.
برنامهنویس: تیم برنامه نویسی پی استور
متشکل از اساتید و فارغ التحصیلان رشته های فنی - مهندسی
تیم برنامه نویسی پی استور یکی از اولین گروه های تشکیل شده در مجموعه آموزشی پی استور می باشد. این تیم از اساتید مجرب و فارغ التحصیلان رشته های فنی و مهندسی تشکیل شده که در زمینه های مختلف برنامه نویسی و تهیه سورس کد فعال هستند.
درخت پوشای کمینه (مینیمم)
در نظریه گراف، درخت پوشا T، درختی است از یک گراف G کامل و بدون جهت و وزن دار که شامل تمام راس ها و حداقل یالها میباشد. به بیان دیگر میتوان گفت، درخت پوشای G درختی است که مجموعهای از یالها را شامل میشود که تمام رئوس را پوشش میدهد. در واقع تمام رئوس G در درخت پوشا وجود دارند به شرطی که هیچ حلقه یا دوری ایجاد نشود و درخت همبند نیز باشد. درخت پوشای کمینه (Minimum Spanning Tree) یک درخت پوشا است که داری کمترین هزینه (مجموع هزینه یال ها) باشد.
با توجه به یک گراف متصل و بدون جهت، درخت پوشا از آن گراف یک زیرگرافی است که اولاً یک درخت است و تمام رأس ها را با یکدیگر متصل می کند. یک گراف می تواند انواع درخت های مختلف را پوشش دهد. یک Minimum Spanning Tree درخت پوشای کمینه (MST) یا درخت پوشای مینیمال برای یک گراف وزنم دار، متصل و بدون جهت یک درخت پوشا با وزن کمتر یا برابر با وزن هر درخت دیگر است. وزن یک درخت، مجموع وزن های داده شده به هر لبه درخت است.
الگوریتم تبرید شبیه سازی شده
الگوریتم شبیه سازی تبرید یا تبرید شبیه سازی شده Simulated Annealing که در بسیاری موارد با نام الگوریتم شبیه سازی حرارتی نیز شناخته می شود، از جمله الگوریتم های متاهیورستیک یا فرا ابتکاری است که برای حل مسائل بهینه سازی مورد استفاده قرار می گیرد. یکی از مسائلی که برای حل آن می توان از الگوریتم شبیه سازی تبرید SA استفاده کرد، مسئله n وزیر می باشد.
الگوریتم شبیه سازی حرارتی SA با الهام از روش باز پخت فلز به وجود آمده است. روش باز پخت، آرایش مولکولی بهینه ذرات فلز را که در آن انرژی پتانسیل جرم به حداقل می رسد، را تعریف می کند و به خنک شدن تدریجی فلزات پس از قرار گرفتن در معرض حرارت زیاد اشاره می کند. بهطور کلی، الگوریتم شبیه سازی حرارتی SA یک حرکت تکراری را با توجه به پارامتری به نام دما که متغیر است، انجام میدهد که برای انجام آن، از عملیات انجامشده در کار باز پخت فلزات تقلید میکند.
تعیین درخت پوشای مینیمم با الگوریتم SA
در این سورس کد همانند دیگر روش های حل مسئله، با استفاده از توابع CostFun به تعیین درخت پوشای کمینه با استفاده از الگوریتم تبرید شبیه سازی شده پرداخته شده است. پس از اجرای سورس کد، گراف به صورت خودکار شروع به طراحی می شود و در نهایت، در بهینه ترین حالت ممکن که قابل انجام با الگوریتم تبرید شبیه سازی شده می باشد جابه جایی گره ها و طراحی گراف به اتمام می رسد. این سورس کد دارای 12 فایل می باشد که فایل SA.m فایل اصلی بوده و تمامی فراخوانی توابع و تعریف Iteration ها در این فایل انجام می گیرد.
در ادامه تصاویر خروجی سورس کد و همچنین ویدیو نحوه اجرای برنامه و خروجی آن قرار گرفته است. بخشی از سورس کد در زیر آورده شده است.
%% Problem Definition model=CreateModel(); CostFunction=@(xhat) CostFun(xhat,model); % Cost Function nVar=model.n*(model.n-1)/2; % Number of Decision Variables VarMin=0; % Lower Bound of Variables VarMax=1; % Upper Bound of Variables VarSize=[1 nVar]; %% SA Parameters MaxIt=300; % Maximum Number of Iterations MaxSubIt=10; % Maximum Number of Sub-iterations T0=0.05; % Initial Temp. alpha=0.99; % Temp. Reduction Rate nPop=10; % Population Size nMove=10; % Number of Neighbors per Individual
برای دریافت سورس کد کامل آن را خریداری نمایید.
تصاویر خروجی حل مسئله
ویدئوی معرفی
درباره سورس کد
سورس کد تعیین درخت پوشای مینیمم با الگوریتم SA تبرید شبیه سازی شده در متلب در محیط Matlab 2017 برنامه نویسی و اجرا شده است و قابل اجرا با نسخه های بالاتر متلب نیز هست. این سورس کد توسط تیم پشتیبانی پی استور تست و اجرا شده است. کیفیت محصول توسط پی استور تضمین می شود و محصول دارای نشان تضمین کیفیت پی استور است. برای دانلود محصول آن را خریداری فرمایید به محض خرید لینک دانلود در دسترس خواهد بود.
مباحث مرتبط با الگوریتم SA
تاریخ انتشار: | 13 بهمن 1401 |
---|---|
حجم فایل: | 4.8 کیلوبایت |
فرمت فایل | m. |
هماهنگی با: | متلب 2017 و بالاتر |
سفارش تدریس: | توضیحات تکمیلی |
تاکنون 38 نفر این محصول را تهیه کرده اند و 1 نظر برای آن ثبت شده است.
نظرات و دیدگاه ها
قوانین ثبت دیدگاه
- لطفاً دیدگاه های خود را فارسی تایپ کنید.
- دیدگاه های نامرتبط به مطلب تایید نخواهد شد.
- از درج دیدگاه های تکراری پرهیز نمایید.
- سوالات تخصصی خودتان را از طریق تیکت پشتیبانی مطرح کنید.
قیمت 49,000 تومان
تاریخ انتشار: | 13 بهمن 1401 |
---|---|
حجم فایل: | 4.8 کیلوبایت |
فرمت فایل | m. |
هماهنگی با: | متلب 2017 و بالاتر |
سفارش تدریس: | توضیحات تکمیلی |
1 بازخورد (مشاهده نظرات)
قیمت: 49,000 تومان
فاطمه اسماعیلی
نظرات و دیدگاه های خود را برای ما ارسال کنید.