دانلود رایگان کد الگوریتم ژنتیک ترکیب شده با الگوریتم پرندگان

الگوریتم ژنتیک، شناخته شده تربن و پرکاربرد ترین ابزار بهینه سازی تکاملی است. این الگوریتم در اغلب مسائل بهینه سازی به ویژه بهینه سازی گسسته، کارایی بالایی از خود نشان داده است. اما در حل مسائل پیوسته آنچنان که باید و شاید، کاراریی این الگوریتم نشان داده نشده است. در مقابل الگوریتم بهینه سازی انبوه ذرات که در داخل ایران به الگوریتم پرندگان نیز شناخته می شود، در حل مسائل گسسته بسیار موفق عمل کرده است. بنابراین یک ایده برای افزایش کارایی الگوریتم ژنتیک در حل مسائل پیوسته می تواند ترکیب آن با الگوریتم پرندگان (Hybrid Genetic and Particle Swarm Optimization) باشد. با ما در ادامه مطلب، همراه باشید.

متلب سایت در راستای رسالت علمی خود بر آن است تا مراجعین محترم را نه تنها با ابزارهای استاندارد در حوزه هوش مصنوعی آشنا کند، بلکه دریچه ای نیز به سوی جدیدترین متدهای مطرح شده در این حوزه برای مراجعین باز نماید. در این راستا متخصصین بخش بهینه سازی هوشمند متلب سایت، کد Hybrid Genetic and Particle Swarm Optimization را بر مبنای یکی از جدیدترین مقالات منتشر شده تهیه کرده و برای دانلود در اختیار مراجعین محترم قرار داند. بررسی و مطالعه این کد را به همه مراجعین که با الگوریتم های ژنتیک اآشنا هستند، توصیه می کنیم. به همراه کدها مقاله ای که مبنای پیاده سازی بوده است نیز قرار داده شده است.

 

در ادامه لینک دانلود این برنامه قرار داده شده است:
لینک دانلود کد الگوریتم ژنتیک ترکیب شده با الگوریتم پرندگان (340 KB)

کدها و برنامه رایگان ارائه شده می توانند به عنوان یک پروژه کامل  و مجزا در مورد الگوریتم ژنتیک و الگوریتم پرندگان (ازدحام ذرات یا PSO)، مورد استفاده آموزشی نیز قرار بگیرند.

نکته:اگر فایلهای دریافتی نیاز به پسورد داشتند، عبارت matlabsite.com را استفاده کنید.

نیاز به راهنمائی و مشاوره بیشتری در مورد این کدها دارید؟
یک فیلم کوتاه با کد محصول icaMV006 شامل توضیحاتی در مورد برنامه نوشته شده و نحوه اجرا و ایجاد تغییرات در آن تهیه شده است. قیمت این فیلم 2690 تومان است. با ارائه کد محصول فوق و با واریز وجه، لینک دانلود این فیلم را در عرض چند ساعت در ایمیل خود داشته باشد. از طریق بخش تماس با ما با ما جهت دریافت این محصول مکاتبه نمایئد. همچنین جلسات آموزشی آنلاین ما (در این لینک) نیز، تجربه موفقی از یک دوره فشرده آموزشی هوش مصنوعی را بر جای گذاشته است.

 

اگر به هر نحو ممکن در دانلود فایلهای فوق با مشکل روبرو شدید، با ارسال ایمیل از طریق قسمت تماس با ما و یا با نوشتن کامنت در پایین همین پست، ما را در جریان قرار دهید.
_____________________________________________

نظرات شما در انتهای این پست برای سایر خوانندگان، بسیار مفید خواهد بود. می توانید نظر خود را با اکانت سرویس های مختلف و یا به عنوان ناشناس در این پست درج نمائید.

صرف زمان برای یادگیری اتلاف زمان نیست. سرمایه گذاری زمانی است.

دانلود رایگان کد حل مسئله فروشنده دوره گرد توسط الگوریتم ژنتیک

مساله فروشنده دوره گرد (TSP) يكي از مسائل مشهور بهينه سازي تركيبي است كه اساس آن به اين صورت است كه يك فروشنده دوره گرد مي خواهد بهN شهر برود و كالاي خود را به فروش برساند ، به طوري كه از هر شهر فقط يك بار عبور كند و تمام شهر ها را رفته باشد و در نهايت كمترين مسير را طي كرده باشد عکس. دراينجا يك ماتريس فاصله شهر ها (d) وجود دارد كه فاصله شهر i از j را با dij نشان می دهد و فاصله شهر i از خودش را با dii نشان مي دهيم كه مقدار آن صفر است و روي قطر اصلي ماتريس مي باشد . يك تور يك جايگشت Π از {n،……1,2,} مي باشد . هدف مساله فروشنده دوره گرد پيدا كردن جايگشتي است كه كمترين طول را دارد. فضاي حل مساله TSP با زياد شدن تعداد شهرها به سرعت افزايش مي باشد و ديگر با روشهاي برنامه ريزي خطي نمي توان جواب بهينه آن را به دست آورد. با ما در ادامه مطلب، همراه باشید.

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

از لحاظ مهم بودن و كاربرد بسيار زياد TSP در مسائل گوناگون تا كنون افراد زيادي روي اين مساله با روشهاي گوناگوني كار كره اند . تاريخ ابداع مساله TSP دقيقا معلوم نيست . ولي براي اولين بار در سال 1700 براي مساله حركت اسب در شطرنج به كار برده شد و در سال 1800 آقاي William Rowan Hamilton در تئوري گراف از مساله فروشنده دوره گرد استفاه كرد .و در سال 1832 در آلمان به نام مساله فروشنده دوره گرد شناخته شد .و در سال 1930 Whitney Hassler ، مساله TSP را در دانشگاه Harvard و Princeton در ايالات متحده معرفي كرد. در سال 1940 آقاي M Floodاين مساله را در شركت RAND در كاليفرنيا مشهور كرد و Dantzig, Fulkerson و Johnson براي اولين بار يك روش به نام روش صفحه برش كه قسمتي از برنامه ريزي خطي مي باشد را براي حل TSP ارائه كردند .و بدین ترتیب روشهاي گوناگوني براي حل ان پيدا شد و مساله كاربرد بيشتري پيدا كرد.و كم كم از سال 1978 به بعد از الگوريتمهاي متا هيوريستيك براي حل آن استفاده شد. حل این مساله کاربرد وسیعی در حوزه های مختلف مهندسی از جمله حل انواع مسایل زمانبندی، مسیریابی، جایابی کالا در انبار، جایابی ماشینها در کارگاهها، طراحی مدارات چاپی و.. دارد.

در ادامه لینک دانلود این برنامه قرار داده شده است:

دانلود کد حل مسئله فروشنده دوره گرد توسط الگوریتم ژنتیک (35.5 KB)

کدها و برنامه رایگان ارائه شده می توانند به عنوان یک پروژه کامل  و مجزا در مورد الگوریتم ژنتیک و مسئله فروشنده دوره گرد، مورد استفاده آموزشی نیز قرار بگیرند.

نکته:اگر فایلهای دریافتی نیاز به پسورد داشتند، عبارت matlabsite.com را استفاده کنید.

نیاز به راهنمائی و مشاوره بیشتری در مورد این کدها دارید؟
یک فیلم کوتاه با کد محصول icaMV005 شامل توضیحاتی در مورد برنامه نوشته شده و نحوه اجرا و ایجاد تغییرات در آن تهیه شده است. قیمت این فیلم 2690 تومان است. با ارائه کد محصول فوق و با واریز وجه، لینک دانلود این فیلم را در عرض چند ساعت در ایمیل خود داشته باشد. از طریق بخش تماس با ما با ما جهت دریافت این محصول مکاتبه نمایئد. همچنین جلسات آموزشی آنلاین ما (در این لینک) نیز، تجربه موفقی از یک دوره فشرده آموزشی هوش مصنوعی را بر جای گذاشته است.

 

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

منبع این پست، متلبسایت، مرجع کاربران و برنامه نویسان متلب و هوش مصنوعی می باشد.

_____________________________________________
نظرات شما در انتهای این پست برای سایر خوانندگان، بسیار مفید خواهد بود. می توانید نظر خود را با اکانت سرویس های مختلف و یا به عنوان ناشناس در این پست درج نمائید.

صرف زمان برای یادگیری اتلاف زمان نیست. سرمایه گذاری زمانی است.

دانلود رایگان کد حل مسئله کوله پشتی توسط الگوریتم ژنتیک

منبع این پست، متلبسایت، مرجع کاربران و برنامه نویسان متلب و هوش مصنوعی می باشد.

متلب سایت کد حل مسئله کوله پشتی توسط الگوریتم ژنتیک (Genetic Algorithm for solving Backpack Problem) را برای دانلود در اختیار مراجعین قرار داده است. با ما در ادامه مطلب، همراه باشید.

مسئله کوله پشتی چیست؟ فرض کنید که جهانگردی می خواهد کوله پشتی خود را با انتخاب حالتهای ممکن از بین وسائل گوناگونی که بیشترین راحتی را برایش فراهم می سازند پر کند. این مسئله می تواند با شماره گذاری این وسائل از 1 تا n و تعریف برداری از متغیرهای دودویی(Binary) (j = 1,2,…n) بصورت ریاضی فرمول بندی شود. به این معنی که: اگر شیء j ام انتخاب شود در غیر اینصورت وقتی میزان راحتی باشد که وسیله j ا م فراهم می آورد و وزن آن و c اندازه کوله پشتی باشد. مسئله ما انتخاب برداری از بین بردارهای دودویی x است،که محدودیت را بر آورده کند. بطوریکه تابع هدف ماکزیمم مقدار خود را بگیرد.

به عنوان نمونه ای از مسائلی که می توانند بصورت مساله کوله پشتی فرمول بندی شوند، مسئله زیر را در نظر بگیرید:

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

در این رابطه باید روشی برای حل این مسئله پیدا کرد . یک روش ابتدایی که در نگاه اول توجه ما را به خود جلب می کند ، عبارت از برنامه نویسی برای کامپیوتر به منظور امتحان کردن تمامی بردارهای دودویی ممکن x است، تا از بین بردارهایی که محدودیت مسئله را ارضاء می کنند بهترین را انتخاب کند. متاسفانه تعداد چنین بردارهایی است.بطوریکه یک کامپیوتر فرضی که می تواند یک بیلیون بردار را در یک ثانیه امتحان کند؛برای n = 60 بیش از 30 سال وقت لازم دارد و بیش از 60 سال برای n = 61 و دهها قرن برای n = 65 والی اخر.

در ادامه لینک دانلود این برنامه قرار داده شده است:

دانلود کد حل مسئله کوله پشتی توسط الگوریتم ژنتیک (35.5 KB)

کدها و برنامه رایگان ارائه شده می توانند به عنوان یک پروژه کامل  و مجزا در مورد الگوریتم ژنتیک در حل مسئله کوله پشتی (Backpack problem)، مورد استفاده آموزشی نیز قرار بگیرند.

نکته:اگر فایلهای دریافتی نیاز به پسورد داشتند، عبارت matlabsite.com را استفاده کنید.

نیاز به راهنمائی و مشاوره بیشتری در مورد این کدها دارید؟
یک فیلم کوتاه با کد محصول icaMV004 شامل توضیحاتی در مورد برنامه نوشته شده و نحوه اجرا و ایجاد تغییرات در آن تهیه شده است. قیمت این فیلم 2690 تومان است. با ارائه کد محصول فوق و با واریز وجه، لینک دانلود این فیلم را در کمتر از 24 ساعت در ایمیل خود داشته باشد. از طریق بخش تماس با ما با ما جهت دریافت این محصول مکاتبه نمایئد. همچنین جلسات آموزشی آنلاین ما (در این لینک) نیز، تجربه موفقی از یک دوره فشرده آموزشی هوش مصنوعی را بر جای گذاشته است.
اگر به هر نحو ممکن در دانلود فایلهای فوق با مشکل روبرو شدید، با ارسال ایمیل از طریق قسمت تماس با ما و یا با نوشتن کامنت در پایین همین پست، ما را در جریان قرار دهید.
_____________________________________________
نظرات شما در انتهای این پست برای سایر خوانندگان، بسیار مفید خواهد بود. می توانید نظر خود را با اکانت سرویس های مختلف و یا به عنوان ناشناس در این پست درج نمائید.

صرف زمان برای یادگیری اتلاف زمان نیست. سرمایه گذاری زمانی است.

دانلود رایگان کد الگوریتم بهینه سازی کلونی مورچه ها برای حل مسأله فروشنده دوره گرد

الگوریتم بهینه سازی کلونی مورچه ها، و یا به اختصار الگوریتم مورچه ها، از رفتار مورچه های طبیعی که در مجموعه ها بزرگ در کنار هم زندگی می کنند الهام گرفته شده است و یکی از الگوریتم های بسیار کارآمد در حل مسائل بهینه سازی ترکیبی است. الگوریتم های دیگری نیز بر اساس الگوریتم مورچه ها ساخته شده اند که همگی سیستم های چند عاملی هستند و عامل ها مورچه های مصنوعی یا به اختصار مورچه هایی هستند که مشابه با مورچه های واقعی رفتار می کنند. الگوریتم مورچه ها، یک مثال بارز از هوش جمعی هستند که در آن عامل هایی که قابلیت چندان بالایی ندارند، در کنار هم و با همکاری یکدیگر می توانند نتایج بسیار خوبی به دست بیاورند. این الگوریتم برای حل و بررسی محدوده وسیعی از مسائل بهینه سازی به کار برده شده است. از این میان می توان به حل مسأله کلاسیک فروشنده دوره گرد و همچنین مسأله راهیابی در شبکه های مخابرات راه دور اشاره نمود. با ما در ادامه مطلب، همراه باشید.

مساله فروشنده دوره گرد (Traveling Salesman Problem) و یا به اختصار TSP، يكي از مسائل مشهور بهينه سازي تركيبي است. در این مسأله، يك فروشنده دوره گرد مي خواهد به چند شهر سفر کند و كالاي خود را به فروش برساند. اما می بایست از تمام شهرها عبور کند، از هر شهر فقط يك بار عبور كند و با طی کوتاه ترین مسير، سفر خود را به پایان برساند. حل این مساله کاربردهای وسیعی در حوزه های مختلف مهندسی دارد. از جمله مسائلی که از نظر ریاضی با مسأله TSP معادل هستند، می توان به حل انواع مسایل زمانبندی، مسیریابی، جایابی کالا در انبار، جایابی ماشینها در کارگاه ها، و طراحی مدارات چاپی اشاره نمود.

با توجه به درخواست های مکرر مراجعین و بازدیدکنندگان محترم، گروه برنامه نویسان متلب سایت، اقدام به تهیه برنامه حل مسئله فروشنده دوره گرد با استفاده از الگوریتم بهینه سازی کلونی مورچه ها کرده است و کد متلب آن را برای دانلود در اختیار مراجعین قرار داده است.

لینک دانلود برنامه الگوریتم مورچه ها برای حل مسأله فروشنده دوره گرد، در ادامه قرار داده شده است. کدها و برنامه رایگان ارائه شده می توانند به عنوان یک پروژه کامل  و مجزا در مورد الگوریتم ;کلونی مورچگان (انت کلونی – Ant Colony – ACO) در حل مسئله فروشنده دوره گرد (Traveling Salesman Problem – TSP )، مورد استفاده آموزشی نیز قرار بگیرند.

دانلود رایگان کد الگوریتم بهینه سازی کلونی مورچه ها برای حل مسأله فروشنده دوره گرد (70 KB)

نکته:اگر فایلهای دریافتی نیاز به پسورد داشتند، عبارت matlabsite.com را استفاده کنید.

نیاز به راهنمائی و مشاوره بیشتری در مورد این کدها دارید؟
یک فیلم کوتاه با کد محصول icaMV003 شامل توضیحاتی در مورد برنامه نوشته شده و نحوه اجرا و ایجاد تغییرات در آن تهیه شده است. قیمت این فیلم 2690 تومان است. با ارائه کد محصول فوق و با واریز وجه، لینک دانلود این فیلم را در کمتر از 24 ساعت در ایمیل خود داشته باشد. از طریق بخش تماس با ما با ما جهت دریافت این محصول مکاتبه نمایئد. همچنین جلسات آموزشی آنلاین ما (در این لینک) نیز، تجربه موفقی از یک دوره فشرده آموزشی هوش مصنوعی را بر جای گذاشته است.
اگر به هر نحو ممکن در دانلود فایلهای فوق با مشکل روبرو شدید، با ارسال ایمیل از طریق قسمت تماس با ما و یا با نوشتن کامنت در پایین همین پست، ما را در جریان قرار دهید.

منبع این پست، متلبسایت، مرجع کاربران و برنامه نویسان متلب و هوش مصنوعی می باشد.

_____________________________________________
نظرات شما در انتهای این پست برای سایر خوانندگان، بسیار مفید خواهد بود. می توانید نظر خود را با اکانت سرویس های مختلف و یا به عنوان ناشناس در این پست درج نمائید.

صرف زمان برای یادگیری اتلاف زمان نیست. سرمایه گذاری زمانی است.

دانلود رایگان کد الگوریتم PSO یا الگوریتم پرندگان

الگوریتم بهینه سازی ازدحام ذرات یا PSO، که به نام الگوریتم پرندگان نیز شناخته می شود، یکی از الگوریتم های قدرتمند و پر طرفدار برای بهینه سازی است که بیشتر به خاطر سرعت همگرایی نسبتا بالایی که دارد، مورد استفاده قرار می گیرد. این الگوریتم با وجود عمر کمی که دارد، اما توانسته است در حوزه های کاربردی بسیاری، از الگوریتم های قدیمی تر، مانند الگوریتم ژنتیک، پیشی بگیرد و به عنوان انتخاب اول محسوب شود. گروه برنامه نویسان متلب سایت، کد الگوریتم کلاسیک PSO را تهیه نموده در برای دانلود در اختیار دوستان و مراجعین عزیز قرار داده است. با ما در ادامه مطلب، همراه باشید.

لینک دانلود کد الگوریتم PSO در ادامه قرار داده شده است. کدها و برنامه رایگان ارائه شده می توانند به عنوان یک پروژه کامل  و مجزا در مورد الگوریتم پرندگان (ازدحام انبوه ذرات – Particle Swarm Optimization) که به اختصار PSO نامیده می شود، مورد استفاده آموزشی نیز قرار بگیرند.
لینک دانلود کد الگوریتم پرندگان یا ازدحام ذرات – 32 کیلوبایت

نکته: اگر فایلهای دریافتی نیاز به پسورد داشتند، عبارت matlabsite.com را استفاده کنید.

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



منبع این پست، متلبسایت، مرجع کاربران و برنامه نویسان متلب و هوش مصنوعی می باشد.

نیاز به راهنمائی و مشاوره بیشتری در مورد این کدها دارید؟
یک فیلم کوتاه با کد محصول icaMV002 شامل توضیحاتی در مورد برنامه نوشته شده و نحوه اجرا و ایجاد تغییرات در آن تهیه شده است. قیمت این فیلم 2690 تومان است. با ارائه کد محصول فوق و با واریز وجه، لینک دانلود این فیلم را در کمتر از 24 ساعت در ایمیل خود داشته باشد. از طریق بخش تماس با ما با ما جهت دریافت این محصول مکاتبه نمایئد. همچنین جلسات آموزشی آنلاین ما (در این لینک) نیز، تجربه موفقی از یک دوره فشرده آموزشی هوش مصنوعی را بر جای گذاشته است.
_____________________________________________
نظرات شما در انتهای این پست برای سایر خوانندگان، بسیار مفید خواهد بود. می توانید نظر خود را با اکانت سرویس های مختلف و یا به عنوان ناشناس در این پست درج نمائید.

صرف زمان برای یادگیری اتلاف زمان نیست. سرمایه گذاری زمانی است.

دانلود رایگان کد الگوریتم پرندگان گسسته Binary PSO

الگوریتم بهینه سازی انبوه ذرات (PSO) در سال 1995 معرفی شد. توانایی اصلی این الگوریتم در حل مسائل پیوسته بود. اما دیری نگذشت که به علت استقبال بیش از انتظار از این روش بهینه سازی، نسخه های گسسته (Binary) آن نیز طراحی و معرفی شدند. در این بخش، متخصصین گروه بهینه سازی متلب سایت با تهیه برنامه مربوط به این روش، آن را به صورت رایگان در اختیار بازدید کنندگان محترم قرار داده اند. با ما در ادامه مطلب، همراه باشید.

در ادامه لینک دانلود این برنامه قرار داده شده است. کدها و برنامه رایگان ارائه شده می توانند به عنوان یک پروژه کامل  و مجزا در مورد نسخه گسسته الگوریتم پرندگان (ازدحام انبوه ذرات – Particle Swarm Optimization) که به اختصار PSO نامیده می شود، مورد استفاده آموزشی نیز قرار بگیرند.

لینک دانلود کد رایگان الگوریتم پرندگان گسسته (427.93 KB)

نکته: اگر فایلهای دریافتی نیاز به پسورد داشتند، عبارت matlabsite.com را استفاده کنید.

نکته مهم: نیاز به راهنمائی و مشاوره بیشتری در مورد این کدها دارید؟
متلب سایت، اخیراً یک محصول آموزشی جامع را به صورت فیلم تهیه کرده است که بصورت کامل نحوه پیاده سازی عملی کد الگوریتم پرندگان گسسته  Binary PSO را به همراه مباحث تئوری، آموزش می دهد. برای استفاده از این محصول لینک زیر را ببینید.
بررسی و مطالعه این کد را به همه مراجعین که در حوزه بهینه سازی تکاملی فعالیت می کنند، توصیه می کنیم. به همراه کدها مقاله ای که مبنای پیاده سازی بوده است نیز قرار داده شده است.
اگر به هر نحو ممکن در دانلود فایلهای فوق با مشکل روبرو شدید، با ارسال ایمیل از طریق قسمت تماس با ما و یا با نوشتن کامنت در پایین همین پست، ما را در جریان قرار دهید.

 

_____________________________________________
نظرات شما در انتهای این پست برای سایر خوانندگان، بسیار مفید خواهد بود. می توانید نظر خود را با اکانت سرویس های مختلف و یا به عنوان ناشناس در این پست درج نمائید.

صرف زمان برای یادگیری اتلاف زمان نیست. سرمایه گذاری زمانی است.

دانلود رایگان کد الگوریتم رقابت استعماری در سی شارپ و متلب

بالاخره پس از مدت ها، با توجه به درخواست های مکرر دوستان و علاقه مندان مباحث هوش مصنوعی و بهینه سازی هوشمند، و کاربران الگوریتم رقابت استعماری، نسخه جدید کد متلب الگوریتم رقابت استعماری، توسط گروه برنامه نویسان متلب سایت، ارائه گردیده است. همچنین با توجه به افزایش روز افزون کاربرد الگوریتم رقابت استعماری، و لزوم دسترسی به سرعت های اجرای بالاتر، برای اولین بار، الگوریتم رقابت استعماری با استفاده از زبان برنامه نویسی سی سارپ یا C# پیاده سازی شده است. این برنامه ها توسط مهندس سید مصطفی کلامی هریس، یکی از اعضای گروه برنامه نویسان متلب سایت، برنامه نویسی و تدوین شده است. لینک دانلود دو نسخه یاد شده، در ادامه آمده است:

رمز فایل ها، عبارت matlabsite.com است.
کدها و برنامه رایگان ارائه شده می توانند به عنوان یک پروژه کامل و مجزا در مورد الگوریتم رقابت استعماری (Imperialist Competitive Algorithm) که به اختصار ICA نامیده می شود، مورد استفاده آموزشی نیز قرار بگیرند.
توجه: به زودی فایل راهنمای استفاده از این برنامه ها، در متلب سایت ارائه خواهد شد. منتظر باشید. البته بر روی “وب سایت الگوریتم رقابت استعماری و بهینه سازی تکاملی” نسخه دیگری از کدها به همراه فایل راهنمای استفاده و نیز فیلم آموزشی نحوه پیاده سازی بر روی مسئله دلخواه موجود می باشد. این لینک را ببینید.
صرف زمان برای یادگیری اتلاف زمان نیست. سرمایه گذاری زمانی است.
 
کلمات کلیدی:
Imperialist Competitive Algorithm Codes in C##, Matlab, Free
کدهای الگوریتم رقابت استعماری در C، سی، شارپ، رایگان
_____________________________________________
نظرات شما در انتهای این پست برای سایر خوانندگان، بسیار مفید خواهد بود. می توانید نظر خود را با اکانت سرویس های مختلف و یا به عنوان ناشناس در این پست درج نمائید.
صرف زمان برای یادگیری اتلاف زمان نیست. سرمایه گذاری زمانی است.

کدهای الگوریتم رقابت استعماری و فیلم آموزش استفاده از آنها

 
 
در این پست یک نسخه از کدهای مربوط به الگوریتم رقابت استعماری (Imperialist Competitive Algorithm) که به اختصار ICA نامیده می شود، ارائه شده است. این کدها در متلب می باشند و به سادگی قابل اعمال به انواع مسائل بهینه سازی هستند. به همراه کدها یک فایل کوتاه متنی توضیحات مربوط نحوه استفاده از کد ها موجود می باشد. در نهایت یک فیلم کوتاه نیز نحوه استفاده از این کدها را به خوبی نمایش می دهد. این فیلم در پاسخ به سوال یکی از دوستان در مورد نحوه استفاده از کدها تهیه شده است. اما مشاهده آن برای بسیاری از دوستان که خود کدها و فایل کوتاه آموزشی همراه آن برایشان کافی نبوده است، توصیه می شود. به زودی فیلم های کامل تر و بهتری راجع به الگوریتم رقابت استعماری بر روی وب قرار خواهند گرفت. در ضمن این فیلم به زبان فارسی می باشد.

دانلود رایگان کدها و فیلم آموزشی نحوه استفاده از آنها:
نکته: برای دریافت فایل ها، از لینک Google Doc پس از کلیک بر روی لینک ها باید از اکانت گوگل (جی میل) خود استفاده کنید.

 

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

مشاهده فیلم در یوتیوب
فیلم مذکور را در صورت دسترسی به یوتیوب می توانید در این لینک ببینید.

 

توضیحات مربوط به توابع موجود در کنار کدهای آماده:

شبه کد الگوریتم رقابت استعماری همانگونه که در فایل راهنمای فارسی آن بطور مفصل توضیح داده شده است، به صورت زیر است.
  1. چند نقطه تصادفي روي تابع انتخاب کرده و امپراطوري‌هاي اوليه را تشکيل بده.
  2. مستعمرات را به سمت کشور امپرياليست حرکت بده (سياست همسان‌سازي یا جذب).
  3. عملگر انقلاب (Revolution) را اعمال کن.
  4. اگر مستعمره‌اي در يک امپراطوري‌، وجود داشته باشد که هزينه‌اي کمتر از امپرياليست داشته باشد؛ جاي مستعمره و امپرياليست را با هم عوض کن.
  5. هزينه‌ي کل يک امپراطوري را حساب کن (با در نظر گرفتن هزينه‌ي امپرياليست و مستعمراتشان).
  6. يک (یا چند) ستعمره از ضعيف‌ترين امپراطوري انتخاب کرده و آن را به امپراطوري‌اي که بيشترين احتمال تصاحب را دارد، بده.
  7. امپراطوري‌هاي ضعيف را حذف کن.
  8. اگر تنها يک امپراطوري باقي‌ مانده باشد، توقف کن وگرنه به 2 برو.
نکته مهم: شبه کد فوق مربوط به نسخه اولیه معرفی شده از الگوریتم است. نسخه های جدید تر الگوریتم در بندهایی از این شبه کد ممکن است با آنچه در بالا آمد، متفاوت باشند.

 

در فایل زیپ شده کدها چندین تابع وجود دارند که به ترتیب الفبا در زیر مرتب شده اند. در ادامه در کنار هر تابع ارتباط آن با بخشی از الگوریتم رقابت استعماری نوشته شده است.

AssimilateColonies
این تابع بخش آسیمیلاسیون (Assimilation) یا به عبارت دیگر سیاست جذب را پیاده سازی می کند.

BenchmarkFunction

در این برنامه تعداد زیادی از توابع مطرح استاندارد بهینه سازی قرار داده شده اند. از این توابع می توان جهت تست روشهای مختلف بهینه سازی استفاده نمود. در کنار این توابع، یک مثال عملی از حل یک مسئله کنترل برای طراحی کنترل کننده PID نیز وجود دارد. به احتمال زیاد این بخش مربوط به کار انجام شده در مقاله به عنوان زیر است که در بخش مقالات انگلیسی فایل کامل آن قابل دانلود است.
Esmaeil Atashpaz Gargari & Caro Lucas, “Designing an optimal PID controller using Colonial Competitive Algorithm”, First Iranian Joint Congress on Intelligent and Fuzzy Systems, September 2007, Mashhad, Iran.

CreateInitialEmpires

با در نظر گرفتن موقعیت و هزینه (عکس قدرت) کشورهای اولیه، امپراطوری های اولیه را با تقسیم مناسب مستعمرات میان آنها شکل می دهد.

DisplayEmpires

اگر توجه کرده باشید، در فایل راهنمای فارسی الگوریتم رقابت استعماری و نیز در بسیاری از مقالات فارسی و انگلیسی شکلهایی برای نشان دادن محل امپراطوری ها وجود دارند. در این شکلها معمولاً هر رنگ نشان دهنده یک امپراطوری است. در هر امپراطوری نیز کشور مرکزی (امپریالیست) با علامت ستاره و مستعمرات با علامت دایره نشان داده می شوند. تابع DisplayEmpires مسئول انجام چنین ترسیماتی است. لازم به ذکر است که این نوع ترسیمات برای برای بهینه سازی های با بعد کمتر یا مساوی 3 معنا دارد. برای ابعاد با تعداد بیشتر این ترسیم را متوقف می کنیم.

GenerateNewCountry

این تابع که بیش از چند خط نیست، یک کشور را با موقعیت تصادفی خلق می کند. کشور با موقعیت تصادفی در بازه ای که قبلاً به عنوان قیود بهینه سازی در برنامه اصلی Main_ImperialistCompetitveAlgorithm داده شده است، ایجاد می شود.

ImperialisticCompetition

انجام رقابت استعماری میان امپراطوری ها جهت جذب مستعمرات همدیگر، توسط این تابع انجام می پذیرد. حذف امپراطوری های ضعیف (از بین رفته) نیز در این تابع گنجانده شده است.

Main_ImperialistCompetitveAlgorithm

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

در این بخش از برنامه تنظیمات مرتبط با مسئله، همانند نام تابع هزینه، تعداد متغیرها (بعد مسئله بهینه سازی)، تعداد کشور های اولیه، تعداد دهه ها و … صورت می پذیرد. توجه شود که برنامه تابع هزینه با آوردن نام آن، شناخته می شود. در حالت پیشفرض، توابع استاندارد موجود همراه فایل ها برای تست اجرای برنامه تنظیم شده اند. پارامتر Costfunction.ExtraPrams شماره تابع استاندارد موجود را تعیین می کند. توجه شود که این پارامتر برای کاربردهای آتی پیش بینی شده است و در حالت استفاده عادی برای اتصال به توابع هزینه نوشته شده توسط شما، باید خالی (تهی []) باشد. راهنمای موجود در مقابل این عبارت که به صورت کامنت نوشته شده است نیز، به خوبی به این موضوع اشاره دارد.

PossesEmpire

تعویض جای مستعمره و استعمارگر در این تابع انجام می پذیرد. اگر مستعمره ای به جای بهتری نسبت به استعمارگر رسید، فوراً کنترل امپراطوری را در دست گرفته و کار را با اعمال سیاست جذب بر روی آنها ادامه می دهد.

RevolveColonies

انقلاب که وزنه اصلی توازن Exploration و Exploitation و به نفع Exploration است، در این تابع انجام می شود. تغییراتی ناگهانی در برخی کشور ها اتفاق افتاده و در برخی موارد به کشف نقاط ناپیدای مینیمم در تابع منجر می شود. لازم به ذکر است که این بخش مهم از الگوریتم رقابت استعماری که از اولین نسخه های این الگوریتم با آن بوده است، متاسفانه در هیچ یک از مستندات آن از جمله در فایل راهنمای فارسی و مقالات اولیه مرتبط با الگوریتم مورد بررسی قرار نگرفته است. در نهایت برای اولین بار توضیحات مرتبط با این بخش مهم از الگوریتم در مقاله با عنوان زیر که در بخش مقالات انگلیسی فایل کامل آن قابل دانلود است، ارائه شده است.
“Solving the Integrated Product Mix-Outsourcing Problem by a Novel Meta-Heuristic Algorithm: Imperialist Competitive Algorithm”, Expert Systems with Application, Elsevier

UniteSimilarEmpires

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

دانلود رایگان کد الگوریتم رقابت استعماری در سی شارپ و متلب

Myrandint

این تابع یک یا تعدادی عدد رندم صحیح در بازه دلخواه داده شده به آن ایجاد می کند. در حقیقت متلب تابعی با نام randint دارد که مربوطه به یکی از تولباکس های آن (به احتمال زیاد Communications Toolbox) می باشد. چون ممکن است این تولباکس بر روی خیلی از کامپیوتر ها نباشد (به ویژه خارج از ایران که هزینه تهیه و نصب برنامه متلب بسیار بالا است!!!)، این تابع به عنوان جایگزینی برای آن نوشته شده است.

چگونه ترسیم شکل ها را کنترل کنیم؟

دو نوع ترسیم در کدهای موجود پیش بینی شده اند. ترسیم اول، رسم نمودار موقعیت امپراطوری ها است. این ترسیم تنها برای مسائل با بعد دو یا سه معنی دار می باشد. زیر در این حالت امکان نمایش امپراطوری ها (کشور مرکزی به همراه مستعمرات هر یک) وجود دارد. برای فعال کردن و یا غیر فعال کردن این ترسیم، خط کد زیر را در میان کدها بیابید.
DisplayParams.PlotEmpires = true;    % “true” to plot. “false” to cancel ploting.
 
اگر به جای true در خط کد فوق، عبارت false بنویسید، ترسیم موقعیت امپراطوری ها غیر فعال خواهد شد. true بودن ترسیم امپراطوری ها را فعال می کند.
 
نوع دوم شکل و ترسیم در این کدها، ترسیم نمودارهای همگرایی تابع هزینه است. از جهت نوع کنترل، ترسیم نمودار های همگرایی هزینه نیز داستان مشابهی دارند، با این تفاوت که این نمودار، هیچ محدودیتی در ابعاد ندارد و برای تمام مسائل قابل ترسیم است و حتی رسم آن توصیه نیز می شود. ترسیم این نمودار را نیز به همان ترتیب بالا با ایجاد تغییر در خط کد زیر در میان کدها می توانید کنترل نمایید.
DisplayParams.PlotCost = true;    % “true” to plot. “false”
 
توجه: در متلب، به جای true و false عددهای 1 و 0 را می توانید به ترتیب استفاده نمایید.

________________________________
در ضمن نسخه های دیگری از الگوریتم رقابت استعماری به ویژه در زبانهای برنامه نویسی دیگر در حال تهیه بوده و به زودی منتشر می شوند. همچنین کدهای مربوط به روشهای دیگر بهینه سازی همانند الگوریتم های ژنتیک (Genetic Algorithms)، الگوریتم پرندگان (Particle Swarm Optimization) و بهینه سازی کلونی موچگان (Ant Colony Optimization) نیز به مرور زمان بر روی سایت قرار خواهند گرفت. البته متلبسایت مرجع کاربران و برنامه نویسان متلب و هوش مصنوعی ایران تا به حال مطالب بسیاری را در این موضوعات منتشر کرده است.

کدها و برنامه رایگان ارائه شده می توانند به عنوان یک پروژه کامل و مجزا در مورد الگوریتم رقابت استعماری (Imperialist Competitive Algorithm) که به اختصار ICA نامیده می شود، مورد استفاده آموزشی نیز قرار بگیرند.

تولباکس گرافیکی

در بخش از متن پایان نامه منشتر شده بر روی وبسایت به یک تولباکس گرافیکی اشاره شده است که کدهای متلب آن را می توانید در لینک زیر دانلود نمایید.

توجه مهم: توجه داشته باشید که این تولباکس بر مبنای کدهای قدیمی (اولیه) ICA نوشته شده است (و ممکن است کارایی کافی نداشته باشد) و بیشتر به درد مسائل ساده و استاندارد می خورد و انتشار آن صرفاً جنبه آموزشی و یادگیری دارد. توصیه اکید این هست که شما از این برنامه صرفاً جهت آشنایی با الگوریتم استفاده نمایید و کار علمی خود را با کدهای آماده منتشر شده که داراری فیلم آموزشی نیز می باشند، پیاده سازی نمایید.

نکته جهت اجرا: پس از دانلود فایل زیپ شده، برنامه  FirstPage.m را باز کرده و آنرا (مثلاً با فشار دکمه F5) اجرا نمایید.

_____________________________________________
نظرات شما در انتهای این پست برای سایر خوانندگان، بسیار مفید خواهد بود. می توانید نظر خود را با اکانت سرویس های مختلف و یا به عنوان ناشناس در این پست درج نمائید.

 

صرف زمان برای یادگیری اتلاف زمان نیست. سرمایه گذاری زمانی است.