שיעור תאוריה עם דוגמה מודרכת

בעיית תובלה: מפתרון התחלתי לאופטימום

איך מזהים שהנושא מתאים

אינטואיציה

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

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

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

הגדרות פורמליות

min  Z = ∑ᵢ∑ⱼ cᵢⱼxᵢⱼ ממזערים את עלות המשלוחים בכל צירופי המקור והיעד.
∑ⱼ xᵢⱼ = sᵢ,   i = 1,...,m בכל שורת מקור, סכום המשלוחים שווה להיצע של אותו מקור.
∑ᵢ xᵢⱼ = dⱼ,   j = 1,...,n בכל עמודת יעד, סכום המשלוחים שווה לביקוש של אותו יעד.
xᵢⱼ ≥ 0 כמות משלוח אינה יכולה להיות שלילית.
סימון או מושג משמעות
xᵢⱼהכמות שנשלחת ממקור i ליעד j.
cᵢⱼעלות משלוח של יחידה אחת ממקור i ליעד j.
sᵢההיצע הזמין במקור i.
dⱼהביקוש הנדרש ביעד j.
תא בסיסיתא שהקצאתו משתתפת בבסיס הנוכחי. בפתרון לא מנוון יש m+n-1 תאים בסיסיים.
uᵢ, vⱼפוטנציאל של שורת מקור ופוטנציאל של עמודת יעד.
Δᵢⱼהעלות המצומצמת של תא לא בסיסי.
θכמות העדכון במעגל השיפור.

הבעיה מאוזנת כאשר:

∑ᵢ sᵢ = ∑ⱼ dⱼ

אם שני הסכומים אינם שווים, מוסיפים מקור דמה או יעד דמה. עלות תא דמה היא אפס רק כאשר אין עלות ממשית לחוסר או לעודף.

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

שיטת פתרון

שלב 1: פתרון התחלתי

הפינה הצפון-מערבית: מתחילים בתא העליון הקרוב לפינת הטבלה. מקצים את המינימום בין ההיצע והביקוש שנותרו, מוחקים שורה או עמודה שהושלמה וממשיכים לתא הבא.

שיטת המחיר המינימלי:

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

שיטת הקנסות של פוגל:

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

שלב 2: בדיקת אופטימליות בשיטת הפוטנציאלים

  1. בכל תא בסיסי כותבים uᵢ+vⱼ=cᵢⱼ.
  2. קובעים פוטנציאל אחד לאפס ופותרים את שאר הפוטנציאלים.
  3. לכל תא לא בסיסי מחשבים Δᵢⱼ=cᵢⱼ-uᵢ-vⱼ.
  4. בבעיית מינימום, אם כל העלויות המצומצמות אינן שליליות, הפתרון אופטימלי.
  5. אם יש ערך שלילי, התא בעל הערך השלילי ביותר נכנס לבסיס.

שלב 3: מעגל שיפור

  1. מתחילים בתא הנכנס ומסמנים אותו בפלוס.
  2. נעים אופקית ואנכית בלבד דרך תאים בסיסיים עד שחוזרים לתא ההתחלה.
  3. מסמנים את תאי המעגל לסירוגין בפלוס ובמינוס.
  4. בוחרים θ כהקצאה הקטנה ביותר בתאי המינוס.
  5. מוסיפים θ לתאי הפלוס ומחסרים אותו מתאי המינוס.
  6. מחשבים מחדש פוטנציאלים ועלויות מצומצמות.

דוגמה מלאה: שלושה מקורות וארבעה יעדים

בכל תא המספר הכחול הקטן הוא העלות ליחידה. ההיצע הכולל הוא 90+40+100=230, והביקוש הכולל הוא 70+30+50+80=230; לכן הבעיה מאוזנת.

מקור \ יעד יעד 1 יעד 2 יעד 3 יעד 4 היצע
מקור 1 10 14 13 9 90
מקור 2 17 8 15 14 40
מקור 3 19 20 13 21 100
ביקוש 70 30 50 80 230

א. פתרון בפינה הצפון-מערבית

מקור \ יעד יעד 1 יעד 2 יעד 3 יעד 4 היצע
מקור 1 1070 1420 13 9 90
מקור 2 17 810 1530 14 40
מקור 3 19 20 1320 2180 100
ביקוש 70 30 50 80 230
WNW = 10·70 + 14·20 + 8·10 + 15·30 + 13·20 + 21·80 WNW = 3,450

ב. פתרון התחלתי בשיטת פוגל

איטרציה הקנס הגדול התא הזול שנבחר הקצאה
1עמודה 1: 17-10=7x₁₁, עלות 10min(90,70)=70
2שורה 3: 20-13=7x₃₃, עלות 13min(100,50)=50
3שורה 2 או עמודה 2: קנס 6x₂₂, עלות 8min(40,30)=30
4נותר יעד 4 בלבדx₁₄,x₂₄,x₃₄20,10,50
מקור \ יעד יעד 1 יעד 2 יעד 3 יעד 4 היצע
מקור 1 1070 14 13 920 90
מקור 2 17 830 15 1410 40
מקור 3 19 20 1350 2150 100
ביקוש 70 30 50 80 230
WVogel = 10·70 + 8·30 + 13·50 + 9·20 + 14·10 + 21·50 WVogel = 2,960

פתרון פוגל זול יותר מהפתרון הצפון-מערבי, ולכן נתחיל ממנו את בדיקת האופטימליות.

ג. פוטנציאלים ועלויות מצומצמות

נקבע u₁=0. זוהי בחירת נרמול שרירותית; כל בחירה אחרת עקבית תיתן אותן עלויות מצומצמות.

u₁ = 0 בוחרים פוטנציאל אחד כאפס כדי שלמערכת תהיה נקודת התחלה.
v₁ = 10,   v₄ = 9 מהתאים הבסיסיים x₁₁ ו-x₁₄: מחסרים את u₁ מעלות התא.
u₂ = 14-v₄ = 5,   v₂ = 8-u₂ = 3 עוברים דרך התאים הבסיסיים x₂₄ ו-x₂₂.
u₃ = 21-v₄ = 12,   v₃ = 13-u₃ = 1 עוברים דרך התאים הבסיסיים x₃₄ ו-x₃₃.

הערת דיוק לגבי קובץ המקור

במקור נכתב שנקבע v₄=0, אך הפוטנציאלים שמופיעים בו חושבו לפי u₁=0. שתי בחירות הנרמול מותרות, אבל אין לערבב ביניהן. כאן כל החישובים משתמשים בעקביות ב-u₁=0.

תא לא בסיסי חישוב עלות מצומצמת
x₁₂14-0-311
x₁₃13-0-112
x₂₁17-5-102
x₂₃15-5-19
x₃₁19-12-10-3
x₃₂20-12-35

מכיוון ש-Δ₃₁=-3, התא x₃₁ נכנס לבסיס.

ד. מעגל השיפור

x₃₁(+) → x₃₄(-) → x₁₄(+) → x₁₁(-) → x₃₁ θ = min{x₃₄, x₁₁} = min{50,70} = 50

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

x₃₁ = 0+50 = 50 תא פלוס: מוסיפים את θ.
x₃₄ = 50-50 = 0 תא מינוס: מחסרים את θ; התא מתאפס ויוצא מהבסיס.
x₁₄ = 20+50 = 70 תא פלוס: מוסיפים את אותה כמות.
x₁₁ = 70-50 = 20 תא מינוס: מחסרים את אותה כמות.
מקור \ יעד יעד 1 יעד 2 יעד 3 יעד 4 היצע
מקור 1 1020 14 13 970 90
מקור 2 17 830 15 1410 40
מקור 3 1950 20 1350 21 100
ביקוש 70 30 50 80 230

ה. הוכחת אופטימליות

לאחר העדכון נקבע שוב u₁=0. מתקבלים u=(0,5,9) ו-v=(10,3,4,9).

תא לא בסיסי Δᵢⱼ
x₁₂11
x₁₃9
x₂₁2
x₂₃6
x₃₂8
x₃₄3

כל העלויות המצומצמות אינן שליליות, ולכן הפתרון אופטימלי.

W* = 10·20 + 9·70 + 8·30 + 14·10 + 19·50 + 13·50 W* = 2,810
פתרון עלות
הפינה הצפון-מערבית3,450
פתרון התחלתי של פוגל2,960
פתרון אופטימלי לאחר מעגל השיפור2,810

הערות מוכנות למבחן

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