תכנות לא לינארי הוא חלקתכנות מתמטי, שבו פונקציה לא ליניארית מיוצגת על ידי אילוצים מסוימים או פונקציה אובייקטיבית. המשימה העיקרית של תכנות לא לינארי היא למצוא את הערך האופטימלי של פונקציה אובייקטיבית נתון עם מספר מסוים של פרמטרים ואילוצים.
משימות תכנות לא לינאריות שונות מבעיות של תוכן ליניארי של התוצאה האופטימלית לא רק באזור שיש לו מגבלות מסוימות, אלא גם מחוץ לו. סוגים אלה של בעיות כוללים את המשימות של התכנות המתמטית שניתן לייצג הן על ידי שוויון והן על אי-השוויון.
תכנות לא לינארי מסווג לתלוי במגוון הפונקציה F (x), פונקציית האילוץ וממד וקטור הפתרון x. לכן, שם המשימה תלוי במספר המשתנים. כאשר משתמשים במשתנה יחיד, ניתן לבצע תכנות לא לינארי באמצעות אופטימיזציה פרמטר אחד לא מוגבל. כאשר מספר המשתנים הוא יותר מאחד, תוכלו להשתמש באופטימיזציה מרובת-פרמטרים בלתי מוגבלת.
כדי לפתור בעיות ליניאריות, השתמששיטות תכנות ליניאריות סטנדרטיות (למשל שיטת סימפלקס). אך בשיטה כללית לא ליניארית של פיתרון אינה קיימת, היא נבחרת בכל מקרה ומקרה והיא תלויה גם בפונקציה F (x).
תכנות לא לינארי שכיח בחיי היומיום. למשל, מדובר בעלייה לא פרופורציונאלית בעלויות למספר הסחורות שיוצרו או נרכשו.
לפעמים, כדי למצוא את הפיתרון האופטימלי בבעיות של תכנות לא לינארי מנסות לבצע קירוב לבעיות לינאריות. דוגמה לכך היא תכנות ריבועיות, בהן הפונקציה F (x) מיוצגת על ידי פולינום של המעלה השנייה ביחס למשתנים, ואילו האילוצים הם ליניאריים. הדוגמה השנייה היא השימוש בשיטת פונקציות העונש, שהשימוש בהן, במגבלות מסוימות, מצמצם את משימת חיפוש אקסטריום להליך דומה ללא מגבלות כאלה, שקל הרבה יותר לפתור.
עם זאת, אם אנו מנתחים את זה בכללותו, הרי שאינו לינאריתכנות הוא פתרון לבעיות של מורכבות חישובית מוגברת. לעתים קרובות, כאשר פותרים אותם, יש להשתמש בשיטות אופטימיזציה משוערות. כלי רב עוצמה נוסף שניתן להציע לפתרון בעיות מסוג זה הוא שיטות מספריות המאפשרות למצוא את הפתרון הנכון בדיוק נתון.
כאמור לעיל, תכנות לא לינארי מחייב גישה מיוחדת אישית שעליה לקחת בחשבון את הספציפיות שלה.
ישנן טכניקות התכנות הלא-לינאריות הבאות:
- שיטות שיפוע מבוססות נכסשיפוע פונקציונלי בנקודה. במילים אחרות, זהו וקטור של נגזרות חלקיות המחושבות בנקודה הנלקחת כמדד לכיוון העלייה הגדולה ביותר בפונקציה בסביבת אותה נקודה.
- שיטת מונטה קרלו, שקובעתparallelepiped של מימד n ', כולל קבוצה של תוכניות, עבור מידול הבא של נקודות N אקראיות עם התפלגות אחידה במקבילepiped זה.
- שיטת התכנות הדינמית מצטמצמת לבעיית אופטימיזציה של משימות רב ממדיות לממד נמוך יותר.
- שיטת התכנות הקמורה מיושמת ב-מציאת הערך המינימלי של פונקציה קמורה או הערך המקסימלי של קעור בחלק קמור ממכלול התוכניות. במקרה בו מערך העיצובים הוא רב-כיוון קמור, ניתן ליישם את שיטת ה- simplex.