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

کد تخفیف: PR1404

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

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

الگوریتم مورچه و حل مسئله فروشنده دوره گرد TSP در پایتون

هزینه سفارش:

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

قیمت اصلی: ۲۳۰,۰۰۰ تومان بود.قیمت فعلی: ۹۲,۰۰۰ تومان.

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

این سورس کد به زبان پایتون Python برای الگوریتم کلون مورچگان یا همان ACO نوشته شده است. این سورس کد بر اساس ساز و کار الگوریتم مورچه مسئله TSP را حل می‌کند. برای اینکه بتوانید الگوریتم ACO را واضح و کامل درک کنید مقاله‌ای کامل با عنوان الگوریتم کلونی مورچگان ACO در همین سایت نوشته شده است. در ادامه مختصری از الگوریتم برای درک کد الگوریتم مورچه در پایتون بیان می‌شود.

در این بخش سورس کد الگوریتم مورچه و حل مسئله فروشنده دوره گرد TSP در پایتون قرار گرفته شده است. این سورس کد به زبان پایتون Python برای الگوریتم کلون مورچگان یا همان ACO نوشته شده است. این سورس کد بر اساس ساز و کار الگوریتم مورچه مسئله TSP را حل می‌کند. برای اینکه بتوانید الگوریتم ACO را واضح و کامل درک کنید مقاله‌ای کامل با عنوان الگوریتم کلونی مورچگان ACO در همین سایت نوشته شده است. در ادامه مختصری از الگوریتم برای درک کد الگوریتم مورچه در پایتون بیان می‌شود.

الگوریتم کلونی مورچگان ACO

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

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

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

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

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

به طور کلی هدف پیدا کردن کم هزینه ترین تور برای ملاقات همه شهرها و بازگشت به شهر آغازین حرکت است. مساله فروشنده دوره گرد در شکل ساده و اختصاری با نام TSP شناخته می‌شود. شکل زیر یک نمونه جواب از مساله فروشنده دوره گرد که در سال ۱۵۹۱ برای ۱۵ شهر از کشور آمریکا مطرح شد را نشان می‌دهد که با روش شاخه وحد حل شد.

فروشنده دوره گرد TSP

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

در این قسمت الگوریتم مورچه و حل مسئله فروشنده دوره گرد TSP در پایتون آماده شده است این سورس کد شامل ۳ فایل می‌باشد و یک فولدر برای با سه فایل برای مختصات شهرها در نظر گرته شده است که عبارتند از:

  • aco.py: این فایل تابع الگوریتم مورچه است و تمامی عملیات‌های مربوط به فرمون گذاری و تکرار و حرکت مورچه‌ها در این فایل انجام می‌شود.
  • plot.py: برای نشان دادن نحوه حرکت از شهرها از این تابع استفاده شده است.
  • main.py: فایل اصلی برنامه است که تمامی فراخوانی‌ها از این فایل انجام می‌شود.
  • فولدر data: که به عنوان نمونه شامل ۳ فایل txt. است و دارای دو ستون که هر سطر مختصات یک شهر را نشان می‌دهد.

قسمت هایی از سورس کد

import math
from aco import ACO, Graph
from plot import plot


def distance(city1: dict, city2: dict):
    return math.sqrt((city1['x'] - city2['x']) ** 2 + (city1['y'] - city2['y']) ** 2)


def main():
    cities = []
    points = []
    with open('./data/chn144.txt') as f:
        for line in f.readlines():
            city = line.split(' ')
            cities.append(dict(index=int(city[0]), x=int(city[1]), y=int(city[2])))
            points.append((int(city[1]), int(city[2])))
    cost_matrix = []
    rank = len(cities)
    for i in range(rank):
        row = []
        for j in range(rank):
            row.append(distance(cities[i], cities[j]))
        cost_matrix.append(row)
    aco = ACO(10, 100, 1.0, 10.0, 0.5, 10, 2)
    graph = Graph(cost_matrix, rank)
    path, cost = aco.solve(graph)
    print('cost: {}, path: {}'.format(cost, path))
    plot(points, path)

if __name__ == '__main__':
    main()

***  توجه  ***

قبل از اجرای سورس کد الگوریتم در محیط پایتون حتماً از نصب پکیج‌های مورد استفاده در این سورس کد در Python خود مطمئن شوید پکیج‌های استفاده شده در این سورس کد numpy و matplotlib می‌باشد که اولی پکیج مربوط به استفاده از آرایه‌ها و ماتریس‌ها در پایتون و دومی مربوط به عملیات‌های نموداری و Plot گرفتن می‌باشد. پیشنهاد ما نصب اسپایدر (Spyder (Python 3.7 می‌باشد که هم پایتون و پکیج‌های مختلف و هم IDEهای مختلفی را همراه با امکان آپدیتشان نصب می‌کند.


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

سورس کد الگوریتم مورچه و حل مسئله فروشنده دوره گرد TSP در پایتون Python عنوان اثری است که در این پست به آن پرداخته شده است. اثر در پایتون و با IDE اسپایدر (Spyder (Python 3.8 نوشته شده و بصورت کامل توسط گروه پشتیبانی پی استور تست و اجرا شده است و دارای نشان تضمین کیفیت پی استور می‌باشد. برای دانلود اثر مذکور آن را خریداری کنید.

مشاهده بیشتر

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

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


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

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

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

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

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

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

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

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

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

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

نظرات

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

  1. آواتار mehdi.farzamiani

    mehdi.farzamiani

    عالی بود واقعا مرسی

  2. آواتار سارا

    سارا

    سلام. من اینو بخرم عین ویدیو اجرا میشه؟

    • آواتار فاطمه اسماعیلی

      فاطمه اسماعیلی

      سلام دوست عزیز.
      بله میتونید به راحتی سورس کد رو با نرم افزار اسپایدر اجرا کنید.

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

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

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

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

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

هزینه سفارش:

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

قیمت اصلی: ۲۳۰,۰۰۰ تومان بود.قیمت فعلی: ۹۲,۰۰۰ تومان.

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