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