סקירה כללית על ה-API של האופטימיזציה של הנתיב

אופטימיזציית מסלולים היא ממשק API של הפלטפורמה של מפות Google שמקבל יעדים ומגבלות תפעוליות לניתוב רכבים בצורה של נתונים מובְנים, כדי לספק תוכנית מסלול לרכב אחד או יותר.

למה כדאי להשתמש באופטימיזציה של מסלולים

באמצעות Route Optimize API אפשר ליצור או לשפר תהליך שליחה אוטומטי או תכנון מסלול שמשפרים את היעילות התפעולית של צורכי התחבורה שלכם. השירות משתמש בפרמטרים שמציינים את היעדים והמגבלות הייחודיים שלכם, ואלגוריתם המבוסס על הנתונים המהימנים של מפות Google. השירות יוצר את תוכניות המסלול הטובות ביותר כדי לעמוד במגבלות האלה. הנה כמה דוגמאות לתרחישים לדוגמה:

  • חברת לוגיסטיקה משתמשת באופטימיזציה של מסלולים כדי לבצע אופטימיזציה להקצאות של כל המשלוחים ביום המחרת, ומספקת מסלול לכל משלוח עם אופטימיזציה מבחינת מרחק וזמן, חיסכון בעלויות, עמידה בזמנים ושביעות רצון של נהגים ולקוחות קצה.
  • חברה למשלוחי אוכל על פי דרישה משתמשת באופטימיזציה של מסלולים בזמן אמת כדי לבחור את הנהג הפעיל הטוב ביותר שיאסוף כמה הזמנות חדשות ותוסיף אותן למסלולים הקיימים שלה.
  • ספקי שירותים רפואיים משתמשים באופטימיזציית מסלולים של ספקי שירותי הבריאות כדי למפות פגישות לפגישות, וכך לשפר את יעילות המסלולים של כל ספק לאורך היום.
  • ספק שירות בשטח משתמש באופטימיזציה של מסלולים כדי למצוא את המסלול והרצף האופטימליים לפגישות השירות של הטכנאי, ולבצע אופטימיזציה מחדש כשמתרחשים שינויים במצב, למשל עיכובים במסלול.

מה אפשר לעשות באמצעות אופטימיזציה של מסלולים

באמצעות Route Optimize API אפשר לבצע אופטימיזציה של המסלולים וההקצאות במשימות של צי כלי רכב, תוך התייחסות ליעדים שונים ולמגבלות שונות.

דוגמאות ליעדים:

  • יעילות נסיעה: מגדירים את הדרישות ליעילות בנסיעה על סמך פרמטרים כמו המרחק והזמן ליעד.
  • בזמן ההגעה: צריך לוודא שכלי הרכב מגיעים בזמן למשימות שלהם. לדוגמה, תוכלו להגדיר חלון זמן נתון לפעולת איסוף, משלוח או שירות.
  • עלות השימוש של הרכב: צמצום מספר כלי הרכב שנדרשים לביצוע המשימות כדי לחסוך בעלויות.
  • איזון עומסים: חשוב לוודא שהמשימות מחולקות בצורה הוגנת בין צי הרכבים והעובדים.

דוגמאות למגבלות:

  • שעות העבודה של הנהגים: שעות ההתחלה והסיום לעבודה וזמן להפסקות.
  • קיבולת הרכב: המשקל המרבי שרכב יכול לשאת בכל זמן.
  • חלונות זמן: משבצת זמן ספציפית שנדרשת להגעה, כמו זמינות ללקוחות או שעות הפעילות בחנות.
  • תלות ותאימות: אפשר להגדיר יחסי תלות בעבודה באחת מהדרכים הבאות:

    • נדרשים סוגים ספציפיים של רכב או צוות
    • קודם צריך לבצע עבודה אחרת
    • בכל זמן נתון, המשלוח חייב להיות היחיד ברכב.

פרטים לגבי כל הפרמטרים הזמינים מפורטים במדריכי העזרה למפתחים (REST, gRPC).

איך פועלת האופטימיזציה של מסלולים

ה-Rout Optimize API משתמש בכמה מקורות קלט כדי להחזיר תוכנית של מסלולים. הנתונים האלה כוללים כלי רכב, משימות או משלוחים, יעדים ואילוצים. תוכנית מסלול כוללת הקצאת משימות לכלי רכב, מסלולים עם עצירות ביניים לכל רכב ומדדים שקשורים אליהם.

באמצעות API לאופטימיזציה של המסלול, אפשר לעשות זאת בשתי שיטות:

  • OptimizeTours: ממשק API סינכרוני, שמחייב את הלקוח לחכות לתגובת השרת לפני שממשיכים במשימות אחרות.
  • BatchOptimizeTours: ממשק API אסינכרוני שמאפשר ללקוח להמשיך בביצוע משימות אחרות לפני שהשרת מסיים ומגיב.

שתי השיטות חולקות את אותו הממשק ואותו הפרמטרים הנתמכים. קראו מידע נוסף על BatchOptimizeTours במאמר נקודות קצה סינכרוניות ואסינכרוניות.

ה-Route Optimize API מקבל בקשת HTTP POST עם גוף בקשת JSON שמכיל את פרטי הקלט.

הבקשה ל-OptimizeTours

הבקשה מורכבת מהישויות הנדרשות הבאות:

  • Model: ישות גלובלית עם הגדרות ואילוצים ברמה הגלובלית. הוא מכיל גם משלוחים וכלי רכב.
  • משלוח: משמש להגדרת משימה או משלוח בפועל שיכול לכלול משימת איסוף וביקור במשלוח, יחד עם המאפיינים המתאימים, כולל מיקומים ומאפיינים אחרים, אילוצים ופונקציות עלות. פרטים נוספים זמינים במסמכי העזרה בנושא משלוחים (REST, gRPC).
  • רכב: משמש להגדרת רכב (או נהג, כוח אדם) ומאפייני הנסיעה המתאימים, כולל מיקומים התחלתיים ומאפיינים אחרים של הרכב או הנסיעה, מגבלות ופונקציות עלות. פרטים נוספים זמינים במאמר (REST, gRPC).

דוגמה פשוטה זמינה במאמר אופטימיזציה של הזמנות באיסוף עצמי ובהפסקה של משלוח.

התשובה של OptimizeTours

ה-Route Optimize API מחזיר תגובת JSON שכוללת את תוכנית המסלול של כלי הרכב ואת המשימות או המשלוחים.

  • מסלולים: הוא מכיל את המסלולים של כל רכב עם המשימות שהוקצו לו (או משלוחים)
  • מדדים: מדדים מצטברים לגבי תוכנית המסלול שנוצרה

דוגמה פשוטה זמינה במאמר אופטימיזציה של הזמנות באיסוף עצמי ובהפסקה של משלוח.

קוראים פרטים נוספים על בניית הבקשה ופירוש התשובה במאמר פירוש התשובה.

מקורות מידע

בטבלה הבאה מופיע סיכום של המשאבים שזמינים דרך Route Optimize API ושל הנתונים שהוא מחזיר.

מקורות נתונים הנתונים שהוחזרו פורמט החזרה
batchOptimizeTours (REST, gRPC) הפונקציה מחזירה את שם המשאב של פעולה ממושכת, שמציינת מתי העיבוד הסתיים. JSON או Proto של gRPC
optimizeTours (REST, gRPC) הפונקציה מחזירה מסלול שעבר אופטימיזציה, עם פרטים על הביקורים והמדדים. JSON או Proto של gRPC

איך משתמשים באופטימיזציה של מסלולים

1 שנתחיל? מתחילים עם הגדרת הפרויקט ב-Google Cloud ומשלימים את הוראות ההגדרה הבאות.
2 הרצת בקשה בסיסית וקבלת תשובה אחרי ההגדרה, מתחילים לשלוח בקשה בסיסית ומקבלים את התשובה, לפי השלבים הבאים: בניית בקשה ופירוש התשובה.
3 התנסות בתרחיש מתקדם יותר ויצירת בקשה משלכם אפשר לעיין בתרחישים לדוגמה שמתחילים באופטימיזציה של יעד ההזמנה באיסוף עצמי ובמשלוח כדי להתחיל ליצור בקשות שתואמות לתרחישים לדוגמה שלכם.

ספריות לקוח זמינות

במאמר ספריות לקוח תוכלו למצוא רשימה של ספריות הלקוח שזמינות ל-Rout Optimize API.

מה עושים אחר כך