حل مسئله TSP با الگوریتم ژنتیک (GA) در سی شارپ (#C)

در این پروژه شما با نوشتن و کارکرد الگوریتم ژنتیک در مسئله ای مانند TSP یا فروشنده دوره گرد آشنا خواهید شد. هر دو مورد TSP و GA برای کامپیوتری ها آشنا هستند ولی در صورتی که در این دو مورد اطلاعاتی ندارید می توانید لینک های زیر را مشاهده کنید.

الگوریتم ژنتیک – Genetic Algorithm

مسئله فروشنده دوره گرد – TSP

برای دریافت فایل پروژه این مطلب در محیط Visual Studio 2010 و به زبان سی شارپ (#C) به ادامه همین مطلب مراجعه نمایید.

تنها دقت کنید که پس از اجرا باید بر روی پنل سمت چپ شهر ها را دستی با ماوس کلیک کنید و محدودیتی در شهرها نیست ولی با این الگوریتم زیر ۱۰ تای ۱۵ شهر را خوب جواب می دهد.

Download TSP GA SourceCode

 

همچنین شاید مطالب زیر مورد پسندتان باشد...

14
دیدگاه بگذارید

avatar
6 تعداد بحث‌ها
8 پاسخ‌های ‌بحث
0 دنبال کنندگان
 
جدیدترین دیدگاه
برترین دیدگاه
3 نویسنده دیدگاه
مسعود غیاث بیگیمهردادgoog نویسنده دیدگاه اخیر
  مشترک  
جدیدترین قدیمی‌ترین
اطلاع از
goog
مهمان
goog

به نظر من بهتر در توضیحاتش ذکر بشه که باید شهر ها به صورت پوینت گذاری به وجود بیاد
ولی از این مطلب گذشته , من هم ایرادی در اجرای ۵ تا یا بیشتر یا کمتر ندیدم
فقط باید حداقل یک یا ۲ پوینت در پنل سمت چپ وارد بشود
انشاللهاگه شد کاملش بکنم در اختیار تون قرار می دم
موفق باشید

مسعود غیاث بیگی
مهمان
مسعود غیاث بیگی

* دومین کامنت بالا رو یاد آوری میکنم از خودتون : ———————————————————————————– با سلام ؛ این پروژه درس طراجی الگوریتم هست و من خودم اون رو ننوشتم ؛ تا اون جایی هم که تست کرده بودم خطایی نداشت ؛ الان هم تعطیلات عید هست و کار و زندگی و چند پروژه دیگه که فکر نمی کنم وقتی برای این داشته باشم. اگر شما دوست داشتید نسخه ویرایش شده رو ارائه بدید تا به اسم خودتون درج بشه. ———————————————————————————– وقتی خودتان ننوشید یعنی از جایی به امانت گرفتین ،به اصطلاح جمع آوری مطلب کردید . شهر که روی ۵ ست باشه… مطالعه بیشتر »

مسعود غیاث بیگی
مهمان
مسعود غیاث بیگی

با سلام ، من برنامه رو چک کردم ، مشکل خاصی نداره ، فقط دوستانی که میخوان اجرا کنن باید دو پارامتر زیر رو دستی ست کنن توی Form1.cs private City[] allCity = new City[10]; private int countCity =0; بعد از این مرحله ، روی صفحه سفید کلیک کنید که شهر ها ایجاد بشن ، تو جه کنید من در خط بالا تعداد شهرها رو ۱۰ ست کردم ، پس باید ۱۰ بار کلیک کنم روی نقشه ، نه کمتر و نه بیشتر .. اگه به کارتون اومد ، برای آرامش رفتگان خودتون و من یه فاتحه بخونید . 🙂… مطالعه بیشتر »

مسعود غیاث بیگی
مهمان
مسعود غیاث بیگی

بله ، جواب میده ، اما اینطوری تریس کردنش راحت تر میشه ، الان پروژه رو دانلود کنن ، بدون داشتن اطلاع از این جریان ست کردن ها که countCity هم روی ۵ ست شده ، برنامه خطا میده .
به هر حال ممنون از شما بابت جمع آوری و به اشتراک گذاری 🙂

goog
مهمان
goog

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

موفق باشید و عیدتون مبارک

goog
مهمان
goog

ممنون برای پاسخ گویی تون
انشالله اگه درست شد میفرستم
فقط شما بفرمایید فایل exe اصلی داخل شاخه TSPGA\bin\Debug رو که اجرا کردید (قبل از اینکه سی شارپ رو باز کنید و فایل رو اور رایت کنید) اون فایل اصلی کار می کرد ؟
در صورت امکان این مطلب رو یک تست بفرمایید

goog
مهمان
goog

باسلام و تشکر برای برنامه خوبتون من دقیقا دنبال همین برنامه بودم ولی این برنامه یک خطای که اجرا نمیشه در متد سازنده کلاس chro خطای اور فلو میده public Chro(City[] c, int cCity) { allCity = c; countCity = cCity; fit = 0; chr = new int[countCity – 1]; همین آخر میگه countCity برابر ۰ هست منهای یک عددی میده که تو ایندکس آرایه مسلما نمی تونه بیاد ممنون میشم اگه اصلاحیش رو هم ضمیمه کنید با تشکر