Professional Documents
Culture Documents
בוחרים )𝑌 (𝑋,ראשוני (עדיף קרוב ככל הניתן למכונה עם הכי הרבה √(𝑥2 − 𝑥1 )2 + (𝑦2 − 𝑦1 )2 אוקלידי
נסיעות).
עבור כל מכונה מחשבים ( = tiמספר נסיעות למכונה iהנמצאת
בקואורדינטה ( 𝑖𝑦 ) ) 𝑥𝑖 ,
𝑖𝑡
= 𝑖𝑔
√(𝑋 − 𝑥1 )2 + (𝑌 − 𝑦1 )2
מעדכנים את )𝑌 (𝑋,בצורה הבאה
) 𝑖𝑥 ∗ 𝑖𝑔(∑𝑛𝑖=1
=𝑋
) 𝑖𝑔(∑𝑛𝑖=1
) 𝑖𝑦 ∗ 𝑖𝑔(∑𝑛𝑖=1
=𝑌
) 𝑖𝑔(∑𝑛𝑖=1
מעדכנים שוב ושוב ,עד שאין הבדל בין המקום הקודם לחדש או עד שאין
הפרש כלשהו שנבחר (אפסילון)
ל X-ול Y-נעשה את הפעולות לקמן ,לכל אחד בנפרד | |𝑥2 − 𝑥1 | + |𝑦2 − 𝑦1 מנהטן
)1מיון המכונות בטבלה לפי סדר עולה של קואורדינטות (טבלה
נפרדת ל X-וטבלה נפרדת ל)Y- (כשיש
)2הוספת עמודה של נסיעות מצטברות הפרעות)
)3מציאת החציון(חצי) של נסיעות המצטבר
המיקום שהחציון נופל בטווח שלו הוא נקודת קואורדינטה של המכונה
החדשה
( = tiמספר נסיעות למכונה iהנמצאת בקואורדינטה ( 𝑖𝑦 ) ) 𝑥𝑖 , (𝑥2 − 𝑥1 )2 + (𝑦2 − 𝑦1 )2 ריבועי
כשמרחק קריטי
) 𝑖𝑥 ∗ 𝑖𝑡(∑𝑛𝑖=1
=𝑋
) 𝑖𝑡(∑𝑛𝑖=1
𝑛
) 𝑖𝑦 ∗ 𝑖𝑡(∑𝑖=1
=𝑌
) 𝑖𝑡(∑𝑛𝑖=1
𝑀𝑎𝑥{|𝑥2 − 𝑥1 | , |𝑦2 − 𝑦1 | , צ'ביצ'ב
1
}| |𝑧2 − 𝑧1
יוריסטיקה(טבלת חיסכון) מיקום מכונה אחת בין מספר אופציות נתונות (חייב
• יותר קל לחישוב במקרים של מכונות רבות ,עלול למקם באחת האופציות):
להיות פחות יעיל מ.Brute Force - יש שתי שיטות שונות.
)1את המכונה הראשונה נמקם בעזרת מיקום )1חישוב כמותי –
מכונה אחת בין מספר אופציות נתונות (ראה לעיל). א .מתן משקל לכל מדד הערכה.
)2בניית טבלת חיסכון :זוגות מיקומים שאחד מכל ב .ציון לכל חלופה בכל מדד.
זוג הוא המיקום המשובץ כבר (עמודות) ,ומכונות ג .הכפלה של המשקל בציון.
(שורות). ד .סכימה לכל חלופה.
)3בתוך הטבלה נחשב עלות מיקום קיים מינוס ה .בחירת האלטרנטיבה הגבוהה בציון המשוקלל.
עלות מיקום חדש(חיסכון) ,אם יוצא מספר שלילי אז )2חישוב מזעור עלויות –
נרשום ( 0אין חיסכון) (דוג' עם הנתונים מהתמונה • נתונה טבלה של מיקומים אופציונליים (עמודות)
הקודמת ,חישוב חיסכון :בהצבת מכונה במיקום 2 ומכונות (שורות) עם מרחקים ביניהם (אחרי
נחשב את מיקום 2מול מיקומים .1,3,4,5לדוג' שחושבו המרחקים לפי שיטה מסויימת).
החיסכון בהצבת מכונה נוספת במיקום 3יהיה 80 − • נתון מספר נסיעות לכל מכונה.
2 ,20 = 60ו 1יהיה 40וכו'). א .ניצור טבלה חדשה שהיא הכפלת כל מרחק
)4נסכום עמודות וניקח את הסכום המקסימלי במספר הנסיעות לאותה מכונה.
(חיסכון מירבי) .ניתן להוסיף ככה עוד מכונות .לדוג' ,אם ב .נסכום עמודות וניקח את הסכום המינימלי.
הצבנו מכונות במיקומים 2+3+4ורוצים לחשב חיסכון
למכונה Eבהצבת מכונה נוספת במיקום :5 מיקום 2מכונות לא זהות:
פעולות אלו עושים ל X-לחוד ו Y-לחוד
)1נמקם את מכונה )M1( 1ביחס לשאר המכונות
(תוך התעלמות מהמכונה השנייה החדשה)
הנוסחה היאmin(50,60,40) − 20 = 20 : כמקודם (לדגו' לפי מנהטן או ריבועי).
בעיות השמה )2נמקם את מכונה )M2( 2ביחס לשאר המכונות
.1אלגוריתם הונגרי כולל .M1
)1מציאת האיבר המינימלי בכל שורה ,והחסרת )3נמקם את מכונה )M1( 1ביחס לשאר המכונות
אותו איבר מאיברי כל השורה כולל .M2
)2מציאת האיבר המינימלי בכל עמודה ,והחסרת
)4חוזרים על התהליך עד לייצוב מיקום שתי
אותו איבר מאיברי כל העמודה
המכונות החדשות.
)3סימון מספר מינימלי של קווים המכסים את כל
מיקום 2מכונות זהות:
האפסים שבטבלה
• כל מכונה 'תעבוד' עם המכונה החדשה שיותר
)4אם מספר הקווים המסומנים שווה למספר
קרובה אליה.
ההשמות שיש לבצע ,הפתרון אופטימלי .אם לא,
אלגוריתם Brute Force
אז מספר הקווים נמוך ממספר ההשמות
הדרושות ועיברו ל5- • יותר קשה לחישוב במקרים של מכונות רבות,
)5מציאת האיבר הלא מכוסה המינימלי .נקרא לו .K עלול להיות יותר יעיל מהיוריסטיקה.
)1בניית טבלת :כל האפשרויות של זוגות מיקומים
)6החסרת Kמכל איבר בלתי מכוסה.
(עמודות) ,ומכונות (שורות).
)7הוספת Kלכל איבר המכוסה פעמיים .חזרה
)2בתוך הטבלה נשים את המרחק המינימלי מבין
לשלב 3
שני המיקומים למכונה.
)8תאים עם הערך 0הם שיבוץ בפועל (לשורות עם
נסכום עמודות וניקח את הסכום )3
יותר מ 0-אחד נשבץ אחרי שורות אחרות שלהן
המינימלי.
יש 0אחד)
אם רוצים מיקסום ,עושים הופכי לנתונים (לדוג' 2יהיה
חצי) לכל המספרים.
.2תכנות בשלמים
משתני החלטה:
𝑗𝑖𝐶 -זמן ביצוע עבודה jאם תתבצע על מכונה .i
𝑗𝑖𝑋 -האם מכונה iתבצע את עבודה ( .jבינארי)
2
עמודת ביקוש/תדירות • פונקציית מטרה:
𝑛 𝑛
עלויות רכישה קבועות •
אורך חיי מכונה • 𝑗𝑖𝑋 ∗ 𝑗𝑖𝐶 ∑ ∑ = 𝑍 𝑛𝑖𝑀
שלבים: 𝑖=1 𝑗=1
)1הכפלת הביקוש בעלויות (בטבלה) אילוצים:
𝑛
)2היוון ∑ 𝑚 𝑋𝑖𝑗 = 1 ∀ 𝑖 = 1,2, … ,
• -iריבית תקופתית 𝑗=1
𝑚
• -nמספר תקופות ∑ 𝑛 𝑋𝑖𝑗 = 1 ∀𝑗 = 1,2, … ,
• -Pערך נוכחי של עלות הקמה 𝑖=1
5
נתונה טבלה של מכונות (עמודות) ומוצרים (שורות). )3מיון השורות מהגדול לקטן.
הערכים בתוך הטבלה הם האם יש קשר בין המכונה
והמוצר (בינארי).
)1בחירת שורה אקראית.
)2מיקום כל שאר השורות מעל/מתחת לשורה
האקראית .בנוסף צריך להוסיף שורה של אפסים
מעל ומתחת לזוג השורות. )4חוזרים
)3חישוב האנרגיה לפי הנוסחה על
𝑚 𝑖+1
שלבים
) 𝑗∑ ∑ 𝑎𝑖,𝑗 ∗ (𝑎𝑖−1,𝑗 + 𝑎𝑖+1, 1-3
𝑖=1 𝑗=1 לעמודות
)4חיבור הצמד בעל "האנרגיה" החזקה ביותר. (מלמטה
)5חוזרים על השלבים ,בשלבים הבאים נמקם את
מלמעלה).
שאר השורות מעל/מתחת/בתוך הצמד (בדיקה
)5חוזרים על כל השלבים עד שאין שינוי.
בכל המיקומים האפשריים).
חלוקה לקבוצות אלגוריתם MTV/CR
)6נמשיך עד שיבוץ כל השורות.
)7ביצוע אותו תהליך על העמודות .הוספת עמודה • אפשרי שמכונה תהיה במספר קבוצות.
של אפסים נעשית מימין ומשמאל. )1בניית מטריצת קשרים בין המכונות .השורות
חלוקה לקבוצות אלגוריתם SC והעמודות הם המכונות .הערכים בתוך המטריצה
יהיו כמות המוצרים שיש בהם שימוש בשתי
• מודד דמיון בין זוגות מכונות באמצעות מדד
המכונות (יחד)( .מטריצה משולשת עליונה).
דמיון.
)2הגדרת ממד יעילות לקבוצה (ברירת מחדל .)0.5
• נתונה טבלה של מכונות (עמודות) ומוצרים
)3מציאת הקשר החזק ביותר וקביעת ערך הRC-
(שורות) .הערכים בתוך הטבלה הם האם יש
קשר בין המכונה והמוצר (בינארי). לפיו – RC .עוצמת הקשר.
)1נחשב מדד הדמיון 𝑗𝑖𝑆 בין כל זוג אפשרי ,ניקח הקמת קבוצה ראשונה לפי חיתוכי התא עם ערך
ה RC-הנוכחי( .עדיפות בתחילת התהליך לקחת
את התוצאה הגדולה ביותר ונשבץ את שתי
קשרים שלא קשורים בכלל לקבוצה הישנה ולכן
המכונות לקבוצה.
נפתח קבוצה חדשה)
• 𝑖𝑘𝑎= 1אם נדרש לעבד פריט kבמכונה ,iאחרת
)4מציאת כל הקשרים עם ערך RCהנוכחי וצירוף
.0
של המכונות לקבוצות במקרה ש-
• 𝑖𝑘𝑎 - 𝑘=1סכום הפריטים שמכונה iמשתתפת
∑ 𝑛
𝑉𝑇𝑀 ≥ 𝑅𝐶
בייצור שלהם. כאשר-
𝑗𝑘𝑎 ∗ 𝑖𝑘𝑎 ∑𝑛𝑘=1
𝑛 = 𝑗𝑖𝑆 כמות קשרים בין משתנה לאיבר שבקבוצה ∑
𝑗𝑘𝑎 ∗ 𝑖𝑘𝑎 ∑𝑘=1 𝑎𝑘𝑖 + 𝑎𝑘𝑗 − = 𝑅𝐶
מכונות מספר בקבוצה
)2ניצור קבוצה חדשה שתקבל ערך " "1בפריטים
שלפחות אחת מהמכונות בקבוצה מייצרות אותו מדד יעילות ∗ 𝐶𝑅 = 𝑉𝑇𝑀
פריט (.)OR • במידה ובסוף בדיקת הצירוף שתי המכונות לא
נכללו באף קבוצה או שאינן נמצאות באותה
קבוצה ,יש לפתוח קבוצה חדשה.
)3נחשב את מדד הדמיון שוב והפעם מול הקבוצה • אם מכונה כבר נמצאת בקבוצה אין צורך לבדוק
שנוצרה .איחוד המכונות/הקבוצות על בסיס את כניסתה לקבוצה הנ"ל.
הדמיון הגבוה ביותר. • מכונה יכולה להיכנס לקבוצה גם בלי שמכונה
)4חזרה על הפעולה עד שיבוץ כל המכונות לקבוצה הקשורה אליה ,במקרה זה ,יש לבדוק האם צריך
אחת. לפתוח קבוצה חדשה
)5עשיית דיאגרמה. )5נוריד את ערך ה RC-באחד ונחזור לשלב 4
)6מסתיים כאשר כל הקשרים שובצו.
שים לב 𝑅𝐶 ≠ 𝐶𝑅
חלוקה לקבוצות אלגוריתם BE
• אין תלות למצב ההתחלתי.
6