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

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

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

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

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

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

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

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

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

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

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

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

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

איך פועלת אופטימיזציית נתיבים

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

כדי להשיג את המטרה הזו ב-Route Optimization API, אפשר להשתמש בשתי שיטות:

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

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

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

הבקשה של OptimizeTours

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

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

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

התגובה של OptimizeTours

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

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

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

למידע נוסף על בניית הבקשה ופירוש התגובה, אפשר לקרוא את המאמר פירוש התשובה.

משאבים

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

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

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

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

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

במאמר שימוש בספריות לקוח מופיעה רשימה של ספריות הלקוח הזמינות ב-Route Optimization API.

המאמרים הבאים