Linear Programming Ohad Feder 1 2 Rank Lemma תזכורת יהי 𝑛𝑅 ⊆ } P={x : Ax=b , x ≥ 0ויהי 𝑛𝑅𝜖 extreme x point solutionשל Pכך ש 𝑥𝑖 ≥ 0 :לכל .iאזי מספר המשתנים החיוביים ממש שווה למספר האילוצים הבת"ל הנוצרים ע"י ,A כלומר למספר השורות הבת"ל של ,Aכלומר לדרגת .A אינטואיטיבית Rank Lemma ,אומרת שExtreme Point - של תחום -dמימדי כלשהו מוגדרת ע"י חיתוך של בדיוק d אילוצים בת"ל .כמובן שיכולים להיות יותר מ d -אילוצים הנחתכים באותה נקודה ,אבל אז חלק מהאילוצים הם מיותרים בהגדרת הנקודה .נתבונן בדוגמא הבאה: 3 Rank Lemma תזכורת Pהוא תחום דו-מימדי. מספיקים שני אילוצים בלבד על מנת להגדיר את הנקודה .A 4 Basic Solutions for LPs תזכורת: בהנתן בעיית תכנון לינארי בצורה הסטנדרטית 𝑥≥0 𝑥 𝑇 𝑐 max 𝑠. 𝑡. 𝐴𝑥 = 𝑏, ( bוקטור אי שלילי A ,מגודל 𝑛 × 𝑚) וקטור 𝑥 הפותר את המערכת יקרא פתרון פיזיבילי בסיסי אם: n-m .1מרכיביו הם אפסים. .2שאר mהרכיבים מתאימים לעמודות בת"ל של המטריצה .A פתרון בסיסי פיזיבילי הוא למעשה Extreme Point Solution ("קודקוד"). 5 הקדמה נניח שיש לנו בעיית אופטימיזציה שבה כל המשתנים צריכים לקיים .𝑥𝑖 ∈ 0,1פתרון הבעיה בשלמים זו בעיה -NPקשה .לכן ניתן לבצע רלקסציה ולהמיר את הבעיה לבעיית LPע"י כך שנרשה 𝑖𝑥 ≤ .0 כעת נוצרת בעיה :המשתנים עלולים לקבל ערכים לא- שלמים. פתרון אפשרי :נעגל את המשתנים לערך השלם הקרוב ביותר בתקווה לקבל קירוב טוב לפתרון האופטימלי. עדיין יש בעיה :במקרה וישנם הרבה משתנים לא-שלמים, לאחר עיגול נקבל פתרון רחוק מהפתרון האופטימלי. 6 הקדמה טענה :אם לבעיית LPיש "מבנה טוב" ,אזי לכל פתרון בסיסי של הבעיה יהיה מספר קטן של משתנים שיקבלו ערכים לא-שלמים. באמצעות תכונה זו נוכל לעגל את הפתרון הבסיסי הנ"ל כדי לקבל פתרון בשלמים המהווה קירוב טוב לפתרון האופטימלי. מהו "מבנה טוב"? נראה באמצעות דוגמא. 7 Vector Scheduling הגדרת הבעיה :רוצים לחלק nמשימות -dמימדיות לm - מכונות זהות ,כך שנמזער את העומס המקסימלי על כל המימדים ועל כל המכונות. באופן פורמלי :נתונות mמכונות ו n -משימות,𝐽1 , … ,𝐽𝑛 , כאשר 𝑗𝐽 הינו וקטור -dמימדי 𝑑𝑗𝑝 𝑝𝑗1 , … ,ו 𝑝𝑗𝑖 -מתאר את זמן העיבוד של המימד ה i -של משימה .jבנוסף ,לכל מכונה i ומימד hיש חסם 𝑏𝑖ℎעל זמן העיבוד שניתן לתת לו. המטרה :לחלק את המשימות למכונות ,כלומר לתת לכל מכונה iקבוצה של משימות ,Aiכך שנביא למינימום את הביטוי .𝑚𝑎𝑥1≤𝑖≤𝑚 𝑚𝑎𝑥1≤ℎ≤𝑑 𝐽𝑗 ∈𝐴𝑖 𝑝𝑗ℎ 8 Vector Scheduling נחלק את המשימות לשתי קבוצות L (Large) :ו.S (Small) - הקבוצה Lתכיל את כל המשימות (וקטורים -dמימדיים) שבהם האיבר הגדול ביותר (זמן העיבוד המקסימלי מבין d המימדים) גדול מערך 𝑑 𝛿 = 𝜀/כלשהו כאשר 𝜀 הוא מספר קטן המהווה פרמטר לבעיה .הקבוצה Sתכיל את שאר הוקטורים. תזמון המשימות בקבוצה Lנעשה באופן שאינו LPולכן לא נתייחס לכך ונתמקד בתזמון המשימות מקבוצה .S 9 Vector Scheduling את הוקטורים הקטנים ( )Sנתזמן ע"י רלקסציה לבעיית תכנון לינארי. נמספר את הוקטורים בקבוצה Sע"י |.1,…,|S לכל 𝑚 ≤ 𝑖 ≤ 1 ≤ 𝑗 ≤ 𝑛,1נגדיר - 𝑥𝑗𝑖 ∈ 0,1 :אינדיקטור המציין האם הוקטור 𝑗𝐽 הושם למכונה .i כאמור ,פתרון הבעיה בשלמים זו בעיה -NPקשה ,לכן נבצע רלקסציה בכך שנרשה 𝑥𝑗𝑖 ≥ 0ובכך נפוך את הבעיה לבעיית LPסטנדארטית. 10 Vector Scheduling אם כך ,מערכת האילוצים בבעיית ה LP -המתאימה: 1 ≤ i ≤ m, 1 ≤ h ≤ d ℎ ℎ 𝑝 𝑥 ≤ 𝑏 𝑖𝑗 𝑗 𝑆∈ 𝑗𝐽 𝑖 )(1 𝑆 ≤𝑗≤1 𝑚 𝑖𝑗𝑥 𝑖=1 )(2 1 ≤ i ≤ m, 1 ≤ j ≤ n )(1 )(2 =1 (3) 𝑥𝑗𝑖 ≥ 0 מבטיח שלכל מכונה ולכל מימד לא תהיה חריגה מההגבלה המותרת. מבטא את הדרישה שכל וקטור הושם למכונה אחת בדיוק. 11 Vector Scheduling משפט :בכל פתרון פיזיבילי בסיסי לבעיית LPכלשהי ,מספר המשתנים המקבלים ערך גדול ממש מ 0 -חסום ע"י מספר האילוצים שאינם טריוויאלים (.)Rank Lemma כעת נראה את התכונה החשובה ביותר של בעיית הVS - שמאפשרת לנו למצוא פתרון בשלמים שמספיק קרוב לפתרון הבסיסי בשברים. למה :בכל פתרון פיזיבילי בסיסי לבעיית ה ,VS -לכל היותר 𝑚 ∙ 𝑑 וקטורים מושמים ליותר ממכונה אחת (כלומר המשתנים המתאימים לוקטורים אלו מקבלים ערכים שאינם שלמים). 12 Vector Scheduling 1 ≤ i ≤ m, 1 ≤ h ≤ d ℎ ℎ 𝑝 𝑥 ≤ 𝑏 𝑖𝑗 𝑗 𝑆∈ 𝑗𝐽 𝑖 )(1 𝑆 ≤𝑗≤1 𝑚 𝑖𝑗𝑥 𝑖=1 )(2 1 ≤ i ≤ m, 1 ≤ j ≤ n =1 (3) 𝑥𝑗𝑖 ≥ 0 הוכחת הלמה: מספר האילוצים שאינם טריוויאלים הוא 𝑚 ∙ 𝑑 . 𝑆 +על פי המשפט שהוזכר נובע כי זוהי גם ההגבלה על מספר המשתנים 𝑖𝑗𝑥 שיקבלו ערך חיובי בכל פתרון בסיסי פיזיבילי כלשהו. מכיוון שכל וקטור מושם למכונה אחת לפחות ,אזי מספר הוקטורים שיושמו ליותר ממכונה אחת (כלומר המשתנים המתאימים להם יקבלו ערך שאינו שלם) הוא לכל היותר 𝑚 ∙ 𝑑. 13 Vector Scheduling המעבר מפתרון ה LP -בשברים לפתרון בשלמים: נסמן ב S’ -את קבוצת הוקטורים שהושמו ליותר ממכונה אחת (כלומר בשברים) .מכיוון ש , 𝑆 ′ ≤ 𝑑 ∙ 𝑚 -נוכל לחלק את ’ Sל- mתתי קבוצות בגודל של לכל היותר dכל אחת ,ולהקצות את תת הקבוצה ה i -למכונה ה.i - 𝜀 𝑑 מכיוון שהאיבר הגדול ביותר בכל וקטור קטן מ( δ = -על פי בחירת הקבוצה ,)Sנקבל שהעומס על כל מימד בכל מכונה גדל בלכל היותר 𝜀 ולכן למעשה לא פגענו הרבה בפתרון. 14 Vector Scheduling סיכום: בעקבות היחס בין מספר המשתנים לבין מספר האילוצים שאינם טריוויאלים ברלקסציה של בעיית ה ,LP -בשילוב עם דרישות ההשמה של הבעיה ,קיבלנו שרק מספר קטן יחסית של משתנים יכולים לקבל ערכים לא-שלמים (זהו למעשה "המבנה הטוב" שהזכרנו קודם). לכן ניתן לעגל את הערכים הללו ולקבל קירוב טוב בשלמים. 15 Unimodularity שאלה: נתון תחום -nמימדי.𝑃 = 𝑥 ∈ ℝ𝑛 | 𝐴𝑥 ≤ 𝑏,𝑥 ≥ 0 : אילו אילוצים על המטריצה Aוהוקטור bיבטיחו כי כל הקודקודים של Pיהיו שלמים (?)integers תשובה :אם Aהיא מטריצה יונימודולרית לחלוטין ( )Totally Unimodularו b -הינו וקטור של מספרים שלמים בלבד. 16 (Totally) Unimodular Matrices הגדרות: מטריצה ריבועית ושלמה 𝑛×𝑛 𝐵 ∈ ℤתקרא יונימודולרית אם .det 𝐵 = ±1 מטריצה שלמה 𝑛×𝑚 𝐴 ∈ ℤתקרא יונימודולרית לחלוטין אם כל תת-מטריצה ריבועית Bשל Aמקיימת .det 𝐵 ∈ 0, ± 1 הערה :כל האיברים של מטריצה יונימודולרית לחלוטין הם בהכרח ( 0, ± 1מדוע?). 17 מוטיבציה אם כל הקודקודים של P = 𝑥 ∈ ℝ𝑛 | 𝐴𝑥 ≤ 𝑏,𝑥 ≥ 0הם שלמים ,אז לכל וקטור ,cלבעיית התכנון הלינארי הבאה 𝑥 𝑇 𝑐 max subject to 𝐴𝑥 ≤ 𝑏, 𝑥 ≥ 0 יש פתרון אופטימלי בשלמים (בהנחה שהבעיה פיזיבלית וחסומה). הסבר :ניתן להוכיח כי אם לבעיית LPיש פתרון אופטימלי כלשהו אז בהכרח יש לה גם פתרון בסיסי אופטימלי (שזהו גם קודקוד) ,וכאמור דרשנו שכל הקודקודים הם שלמים. 18 מוטיבציה מסקנה: אם Aמטריצה יונימודולרית לחלוטין וb - וקטור שלם ,אזי לבעיית התכנון הלינארי המתאימה יש פתרון בשלמים. נראה דוגמא לשימוש בטענת יונימודולריות בבעיית השידוך שהוצגה בהרצאה הקודמת. 19 The Assignment Problem תזכורת הגדרת הבעיה :נתון :גרף דו-צדדי ) ,G=(V1⋃V2,Eכאשר | ,|V1|=|V2ופונקציית משקל .𝑤: 𝐸 → ℝ המטרה :מציאת שידוך בעל משקל מינימלי לכל צומת בגרף. :LP-Relaxation לכל 𝐸 ∈ )𝑣 (𝑢,נגדיר משתנה בינארי xuv שערכו 1אם"ם הקשת )𝑣 (𝑢,נכללת בשידוך המוצע. u,𝑣 w u, v ∗ 𝑥uv ∀𝑢𝜖𝑉1 ∶ 𝑣:(𝑢,𝑣)𝜖𝐸 𝑥𝑢𝑣 = 1 ∀𝑣𝜖𝑉2 ∶ 𝑢: 𝑢,𝑣 𝜖𝐸 𝑥𝑢𝑣 = 1 ∀ u, 𝑣 𝜖E ∶ 𝑥𝑢𝑣 ≥ 0 Minimize: Subject to: 20 TUM argument for The Assignment Problem נתבונן במטריצת המקדמים A המתארת את הבעיה: אבחנות: .1כל עמודה מכילה בדיוק שני -1ים. .2ניתן לחלק את השורות של המטריצה לשתי קבוצות כך ששני ה-1ים של כל עמודה ימצאו בקבוצות שונות. משפט -אם שני התנאים לעיל מתקיימים ,אזי המטריצה הינה יונימודולרית לחלוטין. מכאן נקבל כי קיים פתרון בשלמים לבעיית ההשמה. 21 הוכחת המשפט נוכיח באינדוקציה: בסיס -לכל תת-מטריצה בגודל 1x1הדטרמיננטה היא 0או .1 צעד -נניח נכונות לכל תת-מטריצה ריבועית מגודל 𝑘 × 𝑘 ותהי D תת-מטריצה של Aבגודל ) .(𝑘 + 1) × (𝑘 + 1נחלק למקרים: .1אם Dמכילה עמודת אפסים ,אז כמובן .det 𝐷 = 0 .2אם כל עמודה ב D -מכילה שני -1ים .זאת אומרת שאחד מהם מגיע מהחלק העליון של ( Aכלומר nהשורות הראשונות) והשני מגיע מהחלק התחתון .לכן ,סכום השורות המגיעות מהחלק העליון שווה לסכום שאר השורות .זה מראה שוקטורי השורות הם תלויים- לינארית ולכן שוב .det 𝐷 = 0 .3אם עמודה כלשהי של Dמכילה" "1בודד ,נסמנו 𝑗𝑖𝑎 .יהי 𝑗𝑖𝐷 המינור שנוצר ע"י הסרת השורה ה i -והעמודה ה .j -אזי מתקיים 𝑗𝑖𝐷 ,det 𝐷 = ±𝑎𝑖𝑗 ∙ det 𝐷𝑖𝑗 = detאך על פי הנחת האינדוקציה.det 𝐷𝑖𝑗 ∈ 0, ± 1 , מש"ל 22 Matching in Bipartite Graphs הגדרת הבעיה :נתון גרף דו-צדדי 𝐺 = (𝑉1 ∪ 𝑉2 ,Eופונקציית משקל .𝑤: 𝐸 → ℝ המטרה :מציאת תת קבוצה של קשתות זרות בצמתים בעלות משקל מקסימלי. נגדיר אינדיקטור 𝑒𝑥 שערכו יהיה 1אם"ם הקשת 𝑒 נבחרה לפתרון .נרצה להראות כי קיים פתרון אופטימלי אינטגרלי לבעיה. 23 Matching in Bipartite Graphs :LP Relaxation נציג את הבעיה ע"י רלקסציית LPונסמנה 𝑚𝑏𝑃𝐿 .לכל 𝑉 ∈ vהסימון 𝑣 𝛿 מתייחס לקבוצת הקשתות הנוגעות בצומת .v 𝑒𝑥 𝑒𝑤 𝐸∈e ∀𝑣 ∈ 𝑉1 ∪ 𝑉2 𝐸 ∈ 𝑒∀ ≤1 𝑒𝑥 )𝑣(𝛿∈e Maximize: Subject to: 𝑥𝑒 ≥ 0 נשים לב שהתכנית הלינארית )" 𝐿𝑃𝑏𝑚 (Gקומפקטית" ,כלומר מספר האילוצים והמשתנים חסום פולינומיאלית ע"י גודל הבעיה ולכן ניתן למצוא פתרון אופטימלי בזמן פולינומי. 24 Matching in Bipartite Graphs כעת נרצה להוכיח שקיים פתרון אופטימלי אינטגרלי לרלקסציה הנ"ל. טענה – 1בהנתן פונקציית משקל כלשהי ,wקיים שידוך אינטגרלי Mכך ש ,𝑤 𝑀 ≥ 𝑤 ∙ 𝑥 -כאשר x הינו פתרון אופטימלי ל.𝐿𝑃𝑏𝑚 G - מסקנה – קיים פתרון אופטימלי אינטגרלי ל- .𝐿𝑃𝑏𝑚 G 25 Characterization of Extreme Point Solutions לפני שנוכיח את טענה ,1ניתן אפיון לExtreme Point - Solutionsשל .𝐿𝑃𝑏𝑚 G הגדרות: עבור ,𝐹⊆Eיהי )𝐹(𝜑 וקטור בינארי מעל |𝐸| ℝהמכיל 1לכל קשת 𝐹 ∈ 𝑒 ו 0 -אחרת .וקטור זה נקרא וקטור אופיני של .F 𝛿 𝑣 -מתייחס לקבוצת הקשתות הנוגעות בצומת .v 26 Characterization of Extreme Point Solutions תוך שימוש ב ,Rank Lemma -ניתן לקבל את האפיון הבא המורכב מקבוצה של אילוצים בלתי תלויים לינארית: למה - 2בהנתן Extreme Point Solutionכלשהו 𝑥 ל- 𝐿𝑃𝑏𝑚 Gכך ש 𝑥𝑒 > 0 -לכל 𝐸 ∈ 𝑒 ,קיים 𝑊⊆𝑉1 ∪ 𝑉2כך ש: ) 𝑥 𝛿(𝑣) = 1 (1לכל 𝑊 ∈ 𝑣. 𝑒𝑥 )𝑣(𝛿∈𝑒 = 𝑣 𝛿 𝑥 ) (2הוקטורים 𝑊 ∈ 𝑣 | )𝑣(𝛿 𝜑 הם בת"ל. )𝑊 = |𝐸| (3 האפיון הנ"ל ישמש אותנו להוכחת האלגוריתם בשקף הבא. 27 Iterative Algorithm כעת נראה אלגוריתם איטרטיבי אשר מוצא שידוך אינטגרלי שמשקלו לפחות כמו משקל הפתרון האופטימלי של ,𝐿𝑃𝑏𝑚 G ובכך נוכיח את טענה .1 )(1 )(2 אתחל ∅ ← 𝐹. כל עוד ∅ ≠ 𝐸: )(3 מצא Extreme Point Solutionאופטימלי ל 𝐿𝑃𝑏𝑚 G -והסר מ- 𝐺 כל קשת 𝑒 כך ש.𝑥𝑒 = 0 - אם קיימת קשת )𝑣 𝑒 = (𝑢,כך ש ,𝑥𝑒 = 1 -עדכן }𝑒{ ∪ 𝐹 ← 𝐹 וגם }𝑣.G ← G\{𝑢, החזר את 𝐹. 28 נכונות האלגוריתם נוכיח את נכונות האלגוריתם בשני שלבים: .1 נוכיח שהאלגוריתם מחזיר שידוך במשקל אופטימלי אם האלגוריתם בכל איטרציה מוצא קשת eכך ש- 𝑥𝑒 = 0בשלב ) (2aאו קשת eכך ש 𝑥𝑒 = 1 -בשלב ).(2b .2 נראה שהאלגוריתם אכן מוצא קשת כזו בכל שלב ובכך נשלים את הוכחת הנכונות. 29 נכונות – שלב ראשון נניח שהאלגוריתם ,בכל איטרציה ,מוצא קשת עם 𝑥𝑒 = 0או 𝑒𝑥 = 1ונוכיח שהוא מחזיר שידוך Fשמשקלו לפחות כמשקל הפתרון האופטימלי ל.𝐿𝑃𝑏𝑚 G - נוכיח באינדוקציה על מספר האיטרציות באלגוריתם: בסיס – המקרה בו האלגוריתם נמשך איטרציה אחת בלבד הוא טריוויאלי – קל לראות שהפתרון המוחזר ע"י האלגוריתם הוא בדיוק ( xהפתרון של 𝐿𝑃𝑏𝑚 Gשנמצא באיטרציה הראשונה). 30 נכונות – שלב ראשון ()2 צעד האינדוקציה – נבחין בין שני המקרים: ) (1אם מצאנו קשת eכך ש 𝑥𝑒 = 0 -בשלב ( )2aשל האלגו', אז מסירים אותה והבעיה שנותרת לאיטרציה הבאה היא מציאת שידוך בגרף }𝑒{\𝐺 .אם נקח את הפתרון הנוכחי 𝑥 ונצמצם אותו ל( 𝐺\ 𝑒 -נקרא לו 𝑠𝑒𝑟𝑥) ,נקבל פתרון פיזיבילי לרלקסציית LPשל הבעיה המצומצמת שנותרה. מהנחת האינדוקציה ,האלגוריתם מחזיר שידוך ) 𝐹′⊆𝐸(𝐺 ′ שמשקלו הוא לפחות הפתרון האופטימלי ל,𝐿𝑃𝑏𝑚 G′ - כלומר 𝑠𝑒𝑟𝑥 ∙ 𝑤 ≥ ,w 𝐹 ′ומכיוון שהסרנו מהפתרון המקורי רק את 𝑥𝑒 = 0אזי 𝑥 ∙ 𝑤 = 𝑠𝑒𝑟𝑥 ∙ 𝑤 ≥ 𝑤 𝐹 ′ ולכן צעד האינדוקציה מתקיים במקרה זה. 31 נכונות – שלב ראשון ()3 ( )2אם מצאנו קשת eכך ש 𝑥𝑒 = 1 -בשלב ( )2bשל האלגו' ,אז הבעיה שנותרת היא מציאת שידוך הכולל את הקשת .eזה למעשה בדיוק בעיית השידוך בגרף }.G’=G\{u,v בנוסף( 𝑥𝑟𝑒𝑠 ,שזה xהמוגבל לקשתות ב )G’ -הוא פתרון פיזיבילי לרלקסציה של הבעיה שנותרה .מהנחת האינדוקציה ,האלגוריתם יחזיר פתרון ’ Fשמשקלו לפחות כמשקל הפתרון האופטימלי ל- ,𝐿𝑃𝑏𝑚 G′לכן 𝑠𝑒𝑟𝑥 ∙ 𝑤 ≥ ( 𝑤 𝐹 ′כי xresפיזיבילי) .האלגוריתם יחזיר את השידוך } F=F’U{eונקבל 𝑠𝑒𝑟𝑥 ∙ 𝑤 ≥ )’ ,w(F)=w(F’)+we and w(Fכלומר 𝑥 ∙ 𝑤 = 𝑒𝑤 w F ≥ 𝑤 ∙ 𝑥𝑟𝑒𝑠 +מכיוון ש,xe =1 - ולכן צעד האינדוקציה מתקיים גם במקרה זה. מש"ל 32 נכונות – שלב שני נותר להראות שהאלגוריתם בכל שלב מוצא קשת eכך ש- 𝑥𝑒 = 0או 𝑥𝑒 = 1ובכך נשלים את הוכחת טענה .1 הוכחת שלב זה תסתמך על האפיון שראינו קודם ל- .Extreme Point Solutions בהנתן Extreme Point Solutionכלשהו ,xנניח בשלילה שלכל קשת eמתקיים קיים ,על פי האפיון 0 < 𝑥𝑒 < 1 . 𝑊⊆𝑉1 ∪ 𝑉2המקיים את שלושת האילוצים: 𝑥 𝛿(𝑣) = 1 לכל 𝑊 ∈ 𝑣. הוקטורים 𝑊 ∈ 𝑣 | )𝑣(𝛿 𝜑 הם בת"ל. 𝑊 = |𝐸| נכונות – שלב שני ()2 34 נכונות – שלב שני ()3 מטענה 3נובע שהקשתות Eיוצרות מעגל מעל צמתי .Wיהי C מעגל כלשהו עם כל צמתי .Wמכיוון ש G -הוא גרף דו-צדדי ,כל קשת ב C -נוגעת בצומת אחד מ 𝑉1 ∩ 𝑊 -ואחד מ .𝑉2 ∩ 𝑊 -אם נבטא זאת ע"י וקטורים אופיניים נקבל: )𝑣(𝛿 𝜑 𝑣∈𝐶∩𝑉2 = )𝑣(𝛿 𝜑 𝑣∈𝐶∩𝑉1 זו סתירה לתנאי 2באפיון שראינו שעל פיו הוקטורים 𝑊 ∈ 𝑣 | )𝑣(𝛿 𝜑 הם בת"ל. מש"ל סיימנו להוכיח את טענה 1ומכך נובע שקיים לבעיית השידוך פתרון אופטימלי אינטגרלי. 35 Generalized Assignment בחלק זה נראה אלגוריתם קירוב לבעיית הGeneralized - Assignmentע"י רלקסציה איטרטיבית ,אך הפעם נוותר על ההוכחה הפורמלית. הצגת הבעיה – נתון :סט של משימות – ,Jסט של מכונות - ,Mלכל משימה jומכונה iיש זמן עיבוד 𝑗𝑖𝑝 ומחיר 𝑗𝑖𝑐 .בנוסף, כל מכונה iניתנת לשימוש במשך 𝑖𝑇 יחידות זמן בלבד. המטרה – להקצות כל משימה למכונה כלשהי כך שהמחיר הכולל יהיה מינימלי ושאף מכונה לא תוקצה לזמן ארוך יותר מזמן השימוש האפשרי שלה. 36 Generalized Assignment על מנת לתאר את הבעיה כ ,LP -ראשית נמדל אותה כבעיית שידוך בגרף דו צדדי: נגדיר גרף דו-צדדי Gשבו Jו M -הם שני הצדדים של הגרף. מחירה של קשת בין משימה jלמכונה iהוא 𝑗𝑖𝑐.- כעת יש למצוא תת-קבוצה Fשל הקשתות כך ש𝑑𝐹 𝑗 = 1 - לכל משימה ,jכאשר הצומת אליו המשימה jמחוברת הוא למעשה המכונה שאליה המשימה תוקצה. - לכל קשת )𝑗 𝑒 = (𝑖,נגדיר אינדיקטור 𝑒𝑥 שאומר האם המשימה jמוקצה למכונה .i 37 Generalized Assignment 𝐽 ∈ 𝑗∀ ∀𝑖 ∈ 𝑀′ 𝐸 ∈ 𝑒∀ 𝑗𝑖𝑥 𝑗𝑖𝑐 𝐸∈)𝑗𝑒=(𝑖, Minimize 𝑒𝑥 )𝑗(𝛿∈𝑒 Subject to =1 𝑖𝑇 ≤ 𝑒𝑥 𝑒𝑝 )𝑖(𝛿∈𝑒 𝑥𝑒 ≥ 0 נשים לב שאת הגבלת הזמנים קבענו רק עבור תת קבוצה 𝑀′של המכונות אשר מאותחלת ל 𝑀 -באלגוריתם האיטרטיבי. 38 Generalized Assignment טענה – קיים אלגוריתם פולינומי לבעיית הGeneralized - Assignmentאשר מחזיר פתרון שמחירו לכל היותר Cוהוא משתמש בכל מכונה iבמשך לכל היותר 𝑖𝑇 2יחידות זמן ,כאשר Cהוא המחיר האופטימלי של הקצאה המשתמשת במכונה i במשך לכל היותר 𝑖𝑇 יחידות זמן (אם הקצאה כזו אפשרית). נראה אלגוריתם איטרטיבי שמחזיר את התוצאה המבוקשת. האלגוריתם ידגים את שיטת הקירוב ע"י רלקסצייה איטרטיבית שבה בנוסף לצעד הרגיל של בחירת איבר אינטגרלי (כמו בדוגמא הקודמת) ,מבצעים גם רלקסציה לאילוצים מסויימים שנבחר .נשים לב שיש לבחור אותם בזהירות על מנת שהפתרון האינטגרלי המקורב לא יהיה רחוק מדי מהפתרון האמיתי. 39 Iterative Generalized Assignment Algorithm )(1 אתחל 𝑀 ← .𝐹 ← ∅, M′ )(2 כל עוד ∅ ≠ 𝐽: )(a מצא Extreme Point Solutionאופטימלי xל LP -והסר כל קשת המקיימת .𝑥𝑖𝑗 = 0 )(b אם קיים משתנה עם 𝐽𝑖,𝑗 , 𝑗𝑖𝑝 ← 𝐽\ 𝑗 , 𝑇𝑖 ← 𝑇𝑖 − )(c (רלקסציה) אם קיימת מכונה iכך ש ,𝑑 𝑖 = 1 -או מכונה i כך ש 𝑑 𝑖 = 2 -וגם , 𝑗∈𝐽 𝑥𝑖𝑗 ≥ 1בצע }𝑖{ \ .𝑀′ ← 𝑀′ )(3 החזר את .F ∪ 𝐹 ← 𝐹עדכן 𝑥𝑖𝑗 = 1 , 40 - Integrality Gapהקדמה כפי שראינו ,רלקסציית LPהיא דרך סטנדרטית למימוש אלגוריתם קירוב עבור בעיות אופטימיזציה קשות (כגון בעיות שדורשות פתרון בשלמים). כשמבצעים קירוב ,מעניין אותנו לדעת מהי איכות הקירוב .קונספט חשוב בהקשר זה הוא .Integrality Gap 41 - Integrality Gapהגדרה בהנתן רלקסציית LP-לבעיית אופטימיזציה כלשהי וקלט 𝐼, נסמן ב 𝑀𝑓𝑟𝑎𝑐 -את ערך פונקציית המטרה בפתרון אופטימלי כלשהו של הרלקסציה (כלומר יתכן ומכיל ערכים לא-שלמים) וב 𝑀𝑖𝑛𝑡 -את ערך פונקציית המטרה בפתרון אופטימלי של הבעיה בשלמים. 𝐼𝐺 יוגדר כך :עבור בעיית מינימיזציה עבור בעיית מקסימיזציה 𝑐𝑎𝑟𝑓𝑀 𝑡𝑛𝑖𝑀 𝑡𝑛𝑖𝑀 𝑐𝑎𝑟𝑓𝑀 IG = sup IG = sup כלומר ,הסופרמום של היחס על פני כל המופעים של הבעיה. הערה :היחס תמיד גדול מ( 1 -מדוע?). 42 - Integrality Gapמוטיבציה מה זה נותן? קירוב בעזרת רלקסציה נעשה ע"י אסטרטגיות עיגול שונות על מנת לעבור מהפתרון בשברים לפתרון בשלמים. IGהוא היחס בין ערך הפתרון בשלמים לערך פתרון הרלקסציה בשברים ,לכן בבעיית מינימזציה ידוע שערכו של כל פתרון שנשיג ע"י אסטרטגיית עיגול כלשהי יהיה לפחות 𝑐𝑎𝑟𝑓𝑀 ∙ 𝐺𝐼. לכן בעזרת IGניתן להעריך את טיב הקירוב – אם IGגדול מדי, ניתן להניח שהרלקסציה הנוכחית לא מספיק טובה וננסה למצוא אחת אחרת. 43 Set Cover הגדרת הבעיה :בהנתן הקבוצה 𝑛 G = 1, … ,ומשפחה של קבוצות } 𝑚𝐴 F = {𝐴1 , … ,שכל אחת מהן מוכלת ב ,G -יש למצוא תת-קבוצה מינימלית של קבוצות מ F -כך שאיחודן יכסה את .G הצגה בצורת 𝑃𝐿 :נגדיר אינדיקטור 𝑖𝑥 המציין אם הקבוצה 𝑖𝐴 נבחרה. 𝑚 𝑖𝑥 𝑖=1 𝑛≤𝑗≤, 1 𝑚≤𝑖≤, 1 𝑥𝑖 ≥ 1 𝑖𝐴∈𝑗 | 𝑖 𝑥𝑖 ≥ 0 Minimize 𝑜𝑡 𝑡𝑐𝑒𝑗𝑏𝑢𝑆 44 Set Cover נניח כי 𝐺 = 1,2,3ו- 1,2 , 2,3 , 1,3 = 𝐹. מהו ערך הפתרון האופטימלי בשלמים? 𝑀𝑖𝑛𝑡 = 2 מהו ערך הפתרון האופטימלי של הרלקסציה בשברים? 𝑀𝑓𝑟𝑎𝑐 = 1.5 לכן Integrality Gapעבור בעיה זו הוא= 1.333 : 2 1.5 = 𝐺𝐼 למעשה ניתן להוכיח שלרלקסצייה הזו מתקיים שה IG -הוא תמיד log nכאשר nהוא מספר האלמנטים בקלט. 45
© Copyright 2024