سرویس مسیریابی فروشنده دوره گرد

سرویس مسیریابی فروشنده دوره گرد - TSP (Traveling Salesman Problem)

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

شیوه‌ی فراخوانی:
GET:
	https://api.neshan.org/v3/trip?parameters
Headers:
	Api-Key: YOUR_API_KEY
پارامتر های وروردی:
  • waypoints: مختصات نقاط مورد نظر برای حل مساله فروشنده دوره گرد. این نقاط باید صورت latitude,longitude باشند که با کاما (,) از یکدیگر جدا شده‌اند. هر نقطه باید با علامت پایپ ( | ) از نقطه دیگر جدا شود.
  • roundTrip: این پارامتر اختیاری است و مشخص می‌کند که آیا سفر به نقطه شروع باز می‌گردد یا خیر. مقدار آن به صورت true,false می‌باشد، پیش فرض آن true است.
  • sourceIsAnyPoint: این پارامتر اختیاری است و مشخص می‌کند که آیا مبدا می‌تواند هر نقطه‌ایtrue باشد، یا باید اولین نقطه باشد false
    پیش فرض آن true است.
  • lastIsAnyPoint: این پارامتر اختیاری است و مشخص می‌کند که آیا مقصد می‌تواند هر نقطه‌ای true باشد، یا باید آخرین نقطه باشد false
    پیش فرض آن true است.
roundTrip sourceIsAnyPoint lastIsAnyPoint
false true false
false false false
فرمت پاسخ:
{
    "points": [
        {
            "name": "محقق امین",
            "location": [
                35.725682,
                51.49544
            ],
            "index": 0
        },
        {
            "name": "فردوسی",
            "location": [
                35.715012,
                51.499415
            ],
            "index": 1
        },
        {
            "name": "توحید",
            "location": [
                35.751292,
                51.538933
            ],
            "index": 2
        },
        {
            "name": "جلیل آباد",
            "location": [
                35.691695,
                51.391455
            ],
            "index": 3
        },
        {
            "name": "پیامبر",
            "location": [
                35.737673,
                51.321258
            ],
            "index": 4
        },
        {
            "name": "مجموعه ورزشی آزادی",
            "location": [
                35.729842,
                51.265652
            ],
            "index": 5
        }
    ]
}
اجزای این پاسخ بصورت زیر می‌باشند:
  • points: لیست نقاط ورودی که به ترتیب پاسخ مساله مرتب شده‌اند. هر نقطه شامل اطلاعات زیر است:
    • name: نام نزدیک‌ترین معبر به آن نقطه
    • location: مختصات نقطه به صورت latitude,longitude
    • index: ایندکس نقطه بر اساس جواب مساله