שיעור תאוריה

קריאת פלט LINDO וניתוח רגישות

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

אינטואיציה

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

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

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

הגדרות פורמליות: מילון הדוח

שדה בדוח מה הוא אומר
OBJECTIVE FUNCTION VALUE ערך פונקציית המטרה בפתרון האופטימלי.
VALUE הערך האופטימלי של משתנה ההחלטה.
REDUCED COST השינוי הנדרש במקדם המטרה כדי שמשתנה שנמצא באפס יוכל להיכנס לפתרון. למשתנה בסיסי הוא בדרך כלל אפס.
SLACK OR SURPLUS המרחק של האילוץ משוויון: מרווח באילוץ , או עודף באילוץ .
DUAL PRICES השינוי השולי בערך המטרה בעקבות הגדלה ביחידה אחת של אגף ימין, בתוך תחום ההתקפות.
CURRENT COEF המקדם הנוכחי של המשתנה בפונקציית המטרה.
CURRENT RHS אגף ימין הנוכחי של האילוץ.
ALLOWABLE INCREASE / DECREASE העלייה או הירידה המרבית בנתון הנוכחי ששומרת על הבסיס.

מרווח ועודף

נסמן ב-LHS את ערך אגף שמאל וב-RHS את ערך אגף ימין.

באילוץ LHS ≤ RHS:   Slack = RHS - LHS באילוץ LHS ≥ RHS:   Surplus = LHS - RHS

אילוץ עם מרווח או עודף אפס הוא אילוץ פעיל (הדוק). אילוץ שאינו פעיל מקבל ערך דואלי אפס. הכיוון ההפוך אינו מובטח: אילוץ פעיל עשוי לקבל ערך דואלי אפס.

חישובי רגישות

נסמן ב-πᵢ את הערך הדואלי של אילוץ i, ב-Δbᵢ את השינוי באגף ימין שלו, וב-ΔZ* את השינוי בערך המטרה האופטימלי.

ΔZ* = πᵢ · Δbᵢ

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

בניית תחום ההתקפות

אם אגף ימין הנוכחי הוא bᵢ, העלייה המותרת היא AIᵢ והירידה המותרת היא ADᵢ, אז:

bᵢ - ADᵢ ≤ bᵢ,new ≤ bᵢ + AIᵢ

bᵢ,new הוא אגף ימין לאחר השינוי. הערך INFINITY אומר שאין גבול בכיוון הזה במסגרת דוח הרגישות.

השלמת טווח של אילוץ לא פעיל

באילוץ x ≥ b שהפתרון שלו הוא x* ושהעודף שלו הוא S = x* - b > 0, אפשר להגדיל את b עד x* לפני שהאילוץ נעשה פעיל. לכן העלייה המותרת היא S. הקטנת b רק מרחיקה את האילוץ מהפתרון, ולכן הירידה המותרת היא אינסוף.

AI = S AD = ∞

החלטה אם לקנות משאב

נסמן ב-p את הערך הדואלי ליחידת משאב, ב-c את מחיר הרכישה ליחידה וב-q את הכמות המוצעת. אם q בתוך העלייה המותרת, השינוי נטו הוא:

שינוי נטו ברווח = (p - c)q

משתנה רכישה בתוך המודל

נניח שאילוץ משאב נכתב ax - F ≤ b. המשתנה F הוא כמות משאב נוספת שנרכשת: כל יחידה שלו מרפה את האילוץ ביחידה אחת. אם בפונקציית המטרה מופיע -cF, אז c היא עלות הרכישה ליחידה.

כאשר הערך הדואלי של אילוץ המשאב שווה ל-c, התועלת השולית והעלות השולית שוות. זה מסביר מדוע מקדם המטרה של F הוא שלילי, בעוד שהערך הדואלי של המשאב חיובי.

שיטת עבודה עם דוח

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

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

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