linear programming - technionhadas/seminar/spring15_236802/...המדקה ם ינתשמה לכ הבש...

45
Linear Programming Ohad Feder 1

Upload: others

Post on 26-Mar-2021

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Linear Programming - Technionhadas/Seminar/Spring15_236802/...המדקה ם ינתשמה לכ הבש היצזימיטפוא תייעב ונל שיש חיננ היע ב וז םימלשב

Linear

Programming

Ohad Feder

1

Page 2: Linear Programming - Technionhadas/Seminar/Spring15_236802/...המדקה ם ינתשמה לכ הבש היצזימיטפוא תייעב ונל שיש חיננ היע ב וז םימלשב

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/...המדקה ם ינתשמה לכ הבש היצזימיטפוא תייעב ונל שיש חיננ היע ב וז םימלשב

Rank Lemma

תזכורת

Pמימדי-הוא תחום דו.

.Aמספיקים שני אילוצים בלבד על מנת להגדיר את הנקודה

3

Page 4: Linear Programming - Technionhadas/Seminar/Spring15_236802/...המדקה ם ינתשמה לכ הבש היצזימיטפוא תייעב ונל שיש חיננ היע ב וז םימלשב

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/...המדקה ם ינתשמה לכ הבש היצזימיטפוא תייעב ונל שיש חיננ היע ב וז םימלשב

הקדמה

נניח שיש לנו בעיית אופטימיזציה שבה כל המשתנים𝑥𝑖צריכים לקיים ∈ פתרון הבעיה בשלמים זו בעיה . 0,1

NP-לכן ניתן לבצע רלקסציה ולהמיר את הבעיה . קשה0י כך שנרשה "עLPלבעיית ≤ 𝑥𝑖.

המשתנים עלולים לקבל ערכים לא: כעת נוצרת בעיה-.שלמים

נעגל את המשתנים לערך השלם הקרוב : פתרון אפשרי.ביותר בתקווה לקבל קירוב טוב לפתרון האופטימלי

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

5

Page 6: Linear Programming - Technionhadas/Seminar/Spring15_236802/...המדקה ם ינתשמה לכ הבש היצזימיטפוא תייעב ונל שיש חיננ היע ב וז םימלשב

הקדמה

אם לבעיית :טענהLP אזי לכל פתרון , "מבנה טוב"ישבסיסי של הבעיה יהיה מספר קטן של משתנים שיקבלו

.שלמים-ערכים לא

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

.האופטימלי

מבנה טוב"מהו"?

.נראה באמצעות דוגמא

6

Page 7: Linear Programming - Technionhadas/Seminar/Spring15_236802/...המדקה ם ינתשמה לכ הבש היצזימיטפוא תייעב ונל שיש חיננ היע ב וז םימלשב

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/...המדקה ם ינתשמה לכ הבש היצזימיטפוא תייעב ונל שיש חיננ היע ב וז םימלשב

Vector Scheduling

נחלק את המשימות לשתי קבוצות :L (Large)ו-S (Small).

הקבוצהL תכיל את כל המשימות( וקטוריםd-מימדיים )dזמן העיבוד המקסימלי מבין )שבהם האיבר הגדול ביותר

𝛿גדול מערך ( המימדים = 휀/𝑑 כלשהו כאשר휀 הוא מספרתכיל את שאר Sהקבוצה . קטן המהווה פרמטר לבעיה

.הוקטורים

תזמון המשימות בקבוצהL נעשה באופן שאינוLP ולכן לא.Sנתייחס לכך ונתמקד בתזמון המשימות מקבוצה

8

Page 9: Linear Programming - Technionhadas/Seminar/Spring15_236802/...המדקה ם ינתשמה לכ הבש היצזימיטפוא תייעב ונל שיש חיננ היע ב וז םימלשב

Vector Scheduling

את הוקטורים הקטנים(S )י רלקסציה לבעיית תכנון "נתזמן ע.לינארי

נמספר את הוקטורים בקבוצהS1י "ע,…,|S|.

1לכל ≤ 𝑗 ≤ 𝑛,1 ≤ 𝑖 ≤ 𝑚נגדיר :𝑥𝑗𝑖 ∈ אינדיקטור -0,1

.iהושם למכונה 𝐽𝑗המציין האם הוקטור

פתרון הבעיה בשלמים זו בעיה , כאמורNP-לכן נבצע , קשה𝑥𝑗𝑖רלקסציה בכך שנרשה ≥ ובכך נפוך את הבעיה לבעיית 0

LPסטנדארטית.

9

Page 10: Linear Programming - Technionhadas/Seminar/Spring15_236802/...המדקה ם ינתשמה לכ הבש היצזימיטפוא תייעב ונל שיש חיננ היע ב וז םימלשב

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/...המדקה ם ינתשמה לכ הבש היצזימיטפוא תייעב ונל שיש חיננ היע ב וז םימלשב

Vector Schedulingבכל פתרון פיזיבילי בסיסי לבעיית :משפטLPמספר , כלשהי

י מספר "חסום ע0-המשתנים המקבלים ערך גדול ממש מ(.Rank Lemma)האילוצים שאינם טריוויאלים

כעת נראה את התכונה החשובה ביותר של בעיית ה-VSשמאפשרת לנו למצוא פתרון בשלמים שמספיק קרוב לפתרון

.הבסיסי בשברים

בסיסי לבעיית הפיזיבילי בכל פתרון :למה-VS , לכל היותר𝑑 ∙ 𝑚 כלומר )וקטורים מושמים ליותר ממכונה אחת

המשתנים המתאימים לוקטורים אלו מקבלים ערכים שאינם (.שלמים

11

Page 12: Linear Programming - Technionhadas/Seminar/Spring15_236802/...המדקה ם ינתשמה לכ הבש היצזימיטפוא תייעב ונל שיש חיננ היע ב וז םימלשב

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/...המדקה ם ינתשמה לכ הבש היצזימיטפוא תייעב ונל שיש חיננ היע ב וז םימלשב

Vector Scheduling

המעבר מפתרון ה-LPבשברים לפתרון בשלמים:

את קבוצת הוקטורים שהושמו ליותר ממכונה אחת ’S-נסמן ב′𝑆-מכיוון ש(. כלומר בשברים) ≤ 𝑑 ∙ 𝑚 , נוכל לחלק אתS’ל-

m תתי קבוצות בגודל של לכל היותרdולהקצות את , כל אחת.i-למכונה הi-תת הקבוצה ה

δ-מכיוון שהאיבר הגדול ביותר בכל וקטור קטן מ =𝑑

על פי )

נקבל שהעומס על כל מימד בכל מכונה גדל , (Sבחירת הקבוצה .ולכן למעשה לא פגענו הרבה בפתרון휀בלכל היותר

13

Page 14: Linear Programming - Technionhadas/Seminar/Spring15_236802/...המדקה ם ינתשמה לכ הבש היצזימיטפוא תייעב ונל שיש חיננ היע ב וז םימלשב

Vector Scheduling

סיכום:

בעקבות היחס בין מספר המשתנים לבין מספר האילוצים בשילוב עם , LP-שאינם טריוויאלים ברלקסציה של בעיית ה

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

(.שהזכרנו קודם" המבנה הטוב"זהו למעשה )

.לכן ניתן לעגל את הערכים הללו ולקבל קירוב טוב בשלמים

14

Page 15: Linear Programming - Technionhadas/Seminar/Spring15_236802/...המדקה ם ינתשמה לכ הבש היצזימיטפוא תייעב ונל שיש חיננ היע ב וז םימלשב

Unimodularity

שאלה:

𝑃: מימדי-nנתון תחום = 𝑥 ∈ ℝ𝑛 | 𝐴𝑥 ≤ 𝑏,𝑥 ≥ 0.

כל יבטיחו כי bוהוקטור Aאילו אילוצים על המטריצה ?(integers)שלמיםיהיו Pשל הקודקודים

אם :תשובהA רית לחלוטין ליונימודוהיא מטריצה(Totally Unimodular )ו-b הינו וקטור של מספרים

.שלמים בלבד

15

Page 16: Linear Programming - Technionhadas/Seminar/Spring15_236802/...המדקה ם ינתשמה לכ הבש היצזימיטפוא תייעב ונל שיש חיננ היע ב וז םימלשב

(Totally) Unimodular Matrices

:הגדרות

מטריצה ריבועית ושלמה𝐵 ∈ ℤ𝑛×𝑛 תקראdetאם יונימודולרית 𝐵 = ±1.

מטריצה שלמה𝐴 ∈ ℤ𝑚×𝑛 יונימודולרית תקראמקיימת Aשל Bמטריצה ריבועית -תתכלאם לחלוטין

det 𝐵 ∈ 0, ± 1.

כל האיברים של מטריצה יונימודולרית לחלוטין :הערה,0הם בהכרח ± (.?מדוע)1

16

Page 17: Linear Programming - Technionhadas/Seminar/Spring15_236802/...המדקה ם ינתשמה לכ הבש היצזימיטפוא תייעב ונל שיש חיננ היע ב וז םימלשב

מוטיבציה אם כל הקודקודים שלP = 𝑥 ∈ ℝ𝑛 | 𝐴𝑥 ≤ 𝑏,𝑥 ≥ הם 0

לבעיית התכנון הלינארי הבאה, cאז לכל וקטור , שלמים

max 𝑐𝑇𝑥

subject to 𝐴𝑥 ≤ 𝑏, 𝑥 ≥ 0

בהנחה שהבעיה פיזיבלית )בשלמיםיש פתרון אופטימלי (.וחסומה

ניתן להוכיח כי אם לבעיית :הסברLP יש פתרון אופטימלישזהו )כלשהו אז בהכרח יש לה גם פתרון בסיסי אופטימלי

.וכאמור דרשנו שכל הקודקודים הם שלמים, (גם קודקוד

17

Page 18: Linear Programming - Technionhadas/Seminar/Spring15_236802/...המדקה ם ינתשמה לכ הבש היצזימיטפוא תייעב ונל שיש חיננ היע ב וז םימלשב

מוטיבציה

:מסקנה

b-מטריצה יונימודולרית לחלוטין וAאם אזי לבעיית התכנון הלינארי , וקטור שלם

.המתאימה יש פתרון בשלמים

נראה דוגמא לשימוש בטענת יונימודולריות בבעיית .השידוך שהוצגה בהרצאה הקודמת

18

Page 19: Linear Programming - Technionhadas/Seminar/Spring15_236802/...המדקה ם ינתשמה לכ הבש היצזימיטפוא תייעב ונל שיש חיננ היע ב וז םימלשב

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/...המדקה ם ינתשמה לכ הבש היצזימיטפוא תייעב ונל שיש חיננ היע ב וז םימלשב

TUM argument for The

Assignment Problem

נתבונן במטריצת

Aהמקדמים

:המתארת את הבעיה

:אבחנות

.ים-1כל עמודה מכילה בדיוק שני 1.

ניתן לחלק את השורות של המטריצה לשתי קבוצות כך 2..ים של כל עמודה ימצאו בקבוצות שונות-1ששני ה

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

.קיים פתרון בשלמים לבעיית ההשמהמכאן נקבל כי

20

Page 21: Linear Programming - Technionhadas/Seminar/Spring15_236802/...המדקה ם ינתשמה לכ הבש היצזימיטפוא תייעב ונל שיש חיננ היע ב וז םימלשב

הוכחת המשפטנוכיח באינדוקציה:

.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/...המדקה ם ינתשמה לכ הבש היצזימיטפוא תייעב ונל שיש חיננ היע ב וז םימלשב

Matching in Bipartite Graphs

צדדי-גרף דונתון :הגדרת הבעיה𝐺 = (𝑉1∪ 𝑉2,Eמשקל פונקציית ו𝑤:𝐸 → ℝ.

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

אינדיקטור נגדיר𝑥𝑒 ם הקשת "אם1שערכו יהיה𝑒 נרצה להראות כי קיים פתרון . לפתרוןנבחרה

.אופטימלי אינטגרלי לבעיה

22

Page 23: Linear Programming - Technionhadas/Seminar/Spring15_236802/...המדקה ם ינתשמה לכ הבש היצזימיטפוא תייעב ונל שיש חיננ היע ב וז םימלשב

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/...המדקה ם ינתשמה לכ הבש היצזימיטפוא תייעב ונל שיש חיננ היע ב וז םימלשב

Matching in Bipartite Graphs

כעת נרצה להוכיח שקיים פתרון אופטימלי אינטגרלי.ל"לרלקסציה הנ

בהנתן פונקציית משקל כלשהי –1טענהw , קיים𝑤-כך שMשידוך אינטגרלי 𝑀 ≥ 𝑤 ∙ 𝑥 , כאשרx

𝐿𝑃𝑏𝑚-הינו פתרון אופטימלי ל G.

קיים פתרון אופטימלי אינטגרלי ל–מסקנה-𝐿𝑃𝑏𝑚 G.

24

Page 25: Linear Programming - Technionhadas/Seminar/Spring15_236802/...המדקה ם ינתשמה לכ הבש היצזימיטפוא תייעב ונל שיש חיננ היע ב וז םימלשב

Characterization of Extreme Point Solutions

ניתן אפיון ל, 1לפני שנוכיח את טענה-Extreme Point

Solutions של𝐿𝑃𝑏𝑚 G.

הגדרות:

1המכיל |ℝ|𝐸וקטור בינארי מעל 𝜑(𝐹)יהי , 𝐹⊆Eעבור -𝑒לכל קשת ∈ 𝐹וקטור אופיני וקטור זה נקרא . אחרת0-ו

.Fשל

-𝛿 𝑣 מתייחס לקבוצת הקשתות הנוגעות בצומתv.

25

Page 26: Linear Programming - Technionhadas/Seminar/Spring15_236802/...המדקה ם ינתשמה לכ הבש היצזימיטפוא תייעב ונל שיש חיננ היע ב וז םימלשב

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/...המדקה ם ינתשמה לכ הבש היצזימיטפוא תייעב ונל שיש חיננ היע ב וז םימלשב

Iterative Algorithm

כעת נראה אלגוריתם איטרטיבי אשר מוצא שידוך אינטגרלי𝐿𝑃𝑏𝑚שמשקלו לפחות כמו משקל הפתרון האופטימלי של G ,

.1ובכך נוכיח את טענה

𝐹אתחל (1) ← ∅.

𝐸כל עוד (2) ≠ ∅:

מצאExtreme Point Solutionאופטימלי ל-𝐿𝑃𝑏𝑚 Gוהסר מ-𝐺 כל קשת𝑒כך ש-𝑥𝑒 = 0.

אם קיימת קשת𝑒 = (𝑢,𝑣)כך ש-𝑥𝑒 = 𝐹עדכן , 1 ← 𝐹 ∪ {𝑒}Gוגם ← G\{𝑢,𝑣} .

.𝐹החזר את (3)

27

Page 28: Linear Programming - Technionhadas/Seminar/Spring15_236802/...המדקה ם ינתשמה לכ הבש היצזימיטפוא תייעב ונל שיש חיננ היע ב וז םימלשב

נכונות האלגוריתם

:נוכיח את נכונות האלגוריתם בשני שלבים

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

𝑥𝑒 = 𝑥𝑒-כך שeקשת או(2a)בשלב 0 = בשלב 1(2b).

נראה שהאלגוריתם אכן מוצא קשת כזו בכל שלב 2..ובכך נשלים את הוכחת הנכונות

28

Page 29: Linear Programming - Technionhadas/Seminar/Spring15_236802/...המדקה ם ינתשמה לכ הבש היצזימיטפוא תייעב ונל שיש חיננ היע ב וז םימלשב

שלב ראשון–נכונות

𝑥𝑒מוצא קשת עם , בכל איטרציה, נניח שהאלגוריתם = 𝑥𝑒או 0= שמשקלו לפחות כמשקל Fונוכיח שהוא מחזיר שידוך 1

𝐿𝑃𝑏𝑚-הפתרון האופטימלי ל G.

:נוכיח באינדוקציה על מספר האיטרציות באלגוריתם

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

𝐿𝑃𝑏𝑚הפתרון של )xבדיוק Gשנמצא באיטרציה הראשונה.)

29

Page 30: Linear Programming - Technionhadas/Seminar/Spring15_236802/...המדקה ם ינתשמה לכ הבש היצזימיטפוא תייעב ונל שיש חיננ היע ב וז םימלשב

(2)שלב ראשון –נכונות

:נבחין בין שני המקרים–צעד האינדוקציה

𝑥𝑒-כך שeאם מצאנו קשת (1) = ', של האלגו( 2a)בשלב 0אז מסירים אותה והבעיה שנותרת לאיטרציה הבאה היא

𝑥אם נקח את הפתרון הנוכחי . 𝐺\{𝑒}מציאת שידוך בגרף \𝐺-ונצמצם אותו ל 𝑒( נקרא לו𝑥𝑟𝑒𝑠) , נקבל פתרון

. של הבעיה המצומצמת שנותרהLPפיזיבילי לרלקסציית 𝐹′⊆𝐸(𝐺′)האלגוריתם מחזיר שידוך , מהנחת האינדוקציה

𝐿𝑃𝑏𝑚-שמשקלו הוא לפחות הפתרון האופטימלי ל G′ ,wכלומר 𝐹′ ≥ 𝑤 ∙ 𝑥𝑟𝑒𝑠 , ומכיוון שהסרנו מהפתרון

𝑥𝑒המקורי רק את = 𝑤אזי 0 𝐹′ ≥ 𝑤 ∙ 𝑥𝑟𝑒𝑠 = 𝑤 ∙ 𝑥.ולכן צעד האינדוקציה מתקיים במקרה זה

30

Page 31: Linear Programming - Technionhadas/Seminar/Spring15_236802/...המדקה ם ינתשמה לכ הבש היצזימיטפוא תייעב ונל שיש חיננ היע ב וז םימלשב

(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/...המדקה ם ינתשמה לכ הבש היצזימיטפוא תייעב ונל שיש חיננ היע ב וז םימלשב

שלב שני–נכונות

נותר להראות שהאלגוריתם בכל שלב מוצא קשת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/...המדקה ם ינתשמה לכ הבש היצזימיטפוא תייעב ונל שיש חיננ היע ב וז םימלשב

(2)שלב שני –נכונות

Page 34: Linear Programming - Technionhadas/Seminar/Spring15_236802/...המדקה ם ינתשמה לכ הבש היצזימיטפוא תייעב ונל שיש חיננ היע ב וז םימלשב

(3)שלב שני –נכונות Cיהי . Wיוצרות מעגל מעל צמתי Eנובע שהקשתות 3מטענה

כל , צדדי-הוא גרף דוG-מכיוון ש. Wמעגל כלשהו עם כל צמתי 𝑉1-נוגעת בצומת אחד מC-קשת ב ∩𝑊ואחד מ-𝑉2 ∩𝑊 . אם

:י וקטורים אופיניים נקבל"נבטא זאת ע

𝑣∈𝐶∩𝑉1

𝜑 𝛿(𝑣) = 𝑣∈𝐶∩𝑉2

𝜑 𝛿(𝑣)

הוקטורים באפיון שראינו שעל פיו 2זו סתירה לתנאי 𝜑 𝛿(𝑣) | 𝑣 ∈ 𝑊ל"הם בת.

ל"מש

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

34

Page 35: Linear Programming - Technionhadas/Seminar/Spring15_236802/...המדקה ם ינתשמה לכ הבש היצזימיטפוא תייעב ונל שיש חיננ היע ב וז םימלשב

Generalized Assignment

בחלק זה נראה אלגוריתם קירוב לבעיית ה-Generalized

Assignmentאך הפעם נוותר על , י רלקסציה איטרטיבית"ע.ההוכחה הפורמלית

סט של משימות : נתון–הצגת הבעיה–J , סט של מכונות-M , לכל משימהj ומכונהi יש זמן עיבוד𝑝𝑖𝑗 ומחיר𝑐𝑖𝑗 .בנוסף ,

.יחידות זמן בלבד𝑇𝑖ניתנת לשימוש במשך iכל מכונה

להקצות כל משימה למכונה כלשהי כך שהמחיר –המטרהושאף מכונה לא תוקצה לזמן ארוך יותר מינימליהכולל יהיה

.מזמן השימוש האפשרי שלה

35

Page 36: Linear Programming - Technionhadas/Seminar/Spring15_236802/...המדקה ם ינתשמה לכ הבש היצזימיטפוא תייעב ונל שיש חיננ היע ב וז םימלשב

Generalized Assignment

על מנת לתאר את הבעיה כ-LP , ראשית נמדל אותה כבעיית:שידוך בגרף דו צדדי

. הם שני הצדדים של הגרףM-וJשבו Gצדדי -נגדיר גרף דו-

. 𝑐𝑖𝑗הוא iלמכונה jמחירה של קשת בין משימה -

𝑑𝐹-של הקשתות כך שFקבוצה -כעת יש למצוא תת- 𝑗 = 1מחוברת הוא jהמשימה הצומת אליוכאשר , jלכל משימה

.למעשה המכונה שאליה המשימה תוקצה

𝑒לכל קשת - = (𝑖,𝑗) נגדיר אינדיקטור𝑥𝑒 שאומר האם.iמוקצה למכונה jהמשימה

36

Page 37: Linear Programming - Technionhadas/Seminar/Spring15_236802/...המדקה ם ינתשמה לכ הבש היצזימיטפוא תייעב ונל שיש חיננ היע ב וז םימלשב

Generalized Assignment

Minimize 𝑒=(𝑖,𝑗)∈𝐸 𝑐𝑖𝑗𝑥𝑖𝑗

Subject to 𝑒∈𝛿(𝑗) 𝑥𝑒 = 1 ∀𝑗 ∈ 𝐽

𝑒∈𝛿(𝑖) 𝑝𝑒𝑥𝑒 ≤ 𝑇𝑖 ∀𝑖 ∈ 𝑀′

𝑥𝑒 ≥ 0 ∀𝑒 ∈ 𝐸

נשים לב שאת הגבלת הזמנים קבענו רק עבור תת קבוצה𝑀′של המכונות אשר מאותחלת ל-𝑀 באלגוריתם

.האיטרטיבי

37

Page 38: Linear Programming - Technionhadas/Seminar/Spring15_236802/...המדקה ם ינתשמה לכ הבש היצזימיטפוא תייעב ונל שיש חיננ היע ב וז םימלשב

Generalized Assignmentקיים אלגוריתם פולינומי לבעיית ה–טענה-Generalized

Assignment אשר מחזיר פתרון שמחירו לכל היותרC והואכאשר , יחידות זמן2𝑇𝑖במשך לכל היותר iמשתמש בכל מכונה

C הוא המחיר האופטימלי של הקצאה המשתמשת במכונהi(.אם הקצאה כזו אפשרית)יחידות זמן 𝑇𝑖במשך לכל היותר

נראה אלגוריתם איטרטיבי שמחזיר את התוצאה המבוקשת .

רלקסצייה י "האלגוריתם ידגים את שיטת הקירוב עשבה בנוסף לצעד הרגיל של בחירת איבר אינטגרלי איטרטיבית

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

שהפתרון האינטגרלי המקורב לא יהיה רחוק מדי מהפתרון .האמיתי

38

Page 39: Linear Programming - Technionhadas/Seminar/Spring15_236802/...המדקה ם ינתשמה לכ הבש היצזימיטפוא תייעב ונל שיש חיננ היע ב וז םימלשב

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/...המדקה ם ינתשמה לכ הבש היצזימיטפוא תייעב ונל שיש חיננ היע ב וז םימלשב

הקדמה- Integrality Gap

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

(.בעיות שדורשות פתרון בשלמים

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

Integrality Gap.

40

Page 41: Linear Programming - Technionhadas/Seminar/Spring15_236802/...המדקה ם ינתשמה לכ הבש היצזימיטפוא תייעב ונל שיש חיננ היע ב וז םימלשב

הגדרה- Integrality Gapבהנתן רלקסציית-LP לבעיית אופטימיזציה כלשהי וקלט𝐼 ,

את ערך פונקציית המטרה בפתרון אופטימלי 𝑀𝑓𝑟𝑎𝑐-נסמן ב

( שלמים-כלומר יתכן ומכיל ערכים לא)כלשהו של הרלקסציה את ערך פונקציית המטרה בפתרון אופטימלי של 𝑀𝑖𝑛𝑡-וב

.הבעיה בשלמים

𝐼𝐺מינימיזציהעבור בעיית : יוגדר כךIG = sup𝑀𝑖𝑛𝑡

𝑀𝑓𝑟𝑎𝑐

IGמקסימיזציהעבור בעיית = sup𝑀𝑓𝑟𝑎𝑐

𝑀𝑖𝑛𝑡

.הסופרמום של היחס על פני כל המופעים של הבעיה, כלומר

(.?מדוע)1-היחס תמיד גדול מ: הערה

41

Page 42: Linear Programming - Technionhadas/Seminar/Spring15_236802/...המדקה ם ינתשמה לכ הבש היצזימיטפוא תייעב ונל שיש חיננ היע ב וז םימלשב

מוטיבציה- Integrality Gap

?מה זה נותן

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

IGהוא היחס בין ערך הפתרון בשלמים לערך פתרון הרלקסציהלכן בבעיית מינימזציה ידוע שערכו של כל פתרון , בשברים𝐼𝐺י אסטרטגיית עיגול כלשהי יהיה לפחות "שנשיג ע ∙ 𝑀𝑓𝑟𝑎𝑐.

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

.למצוא אחת אחרת

42

Page 43: Linear Programming - Technionhadas/Seminar/Spring15_236802/...המדקה ם ינתשמה לכ הבש היצזימיטפוא תייעב ונל שיש חיננ היע ב וז םימלשב

Set Cover

קבוצה הבהנתן :הגדרת הבעיהG = 1,… ,𝑛 ומשפחה שלFקבוצות = {𝐴1, … ,𝐴𝑚}מוכלת בשכל אחת מהן-G , יש

כך שאיחודן F-קבוצה מינימלית של קבוצות מ-למצוא תת.Gיכסה את

הצגה בצורת𝐿𝑃: נגדיר אינדיקטור𝑥𝑖 המציין אם הקבוצה𝐴𝑖.נבחרה

Minimize 𝑖=1𝑚 𝑥𝑖

𝑆𝑢𝑏𝑗𝑒𝑐𝑡 𝑡𝑜 𝑖 | 𝑗∈𝐴𝑖 𝑥𝑖 ≥ 1 , 1 ≤ 𝑗 ≤ 𝑛

𝑥𝑖 ≥ 0 , 1 ≤ 𝑖 ≤ 𝑚

43

Page 44: Linear Programming - Technionhadas/Seminar/Spring15_236802/...המדקה ם ינתשמה לכ הבש היצזימיטפוא תייעב ונל שיש חיננ היע ב וז םימלשב

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/...המדקה ם ינתשמה לכ הבש היצזימיטפוא תייעב ונל שיש חיננ היע ב וז םימלשב

45