Download presentation
Presentation is loading. Please wait.
Published byYuliani Lie Modified over 6 years ago
1
برنامه ریزی خطی پیشرفته (21715) Advanced Linear Programming
بنام خدا برنامه ریزی خطی پیشرفته (21715) Advanced Linear Programming Lecture 1 Introduction مدرس: ناصر سلماسی
2
برنامه ریزی خطی پیشرفته (21715)
نام درس: برنامهریزی خطی پیشرفته (21715( Advanced Linear Programming وب سایت درس: دليل انتخاب درس؟ معرفی تکنیکهای کارای حل مسالههای برنامهریزی خطی بزرگ و پیچیده (و عدد صحیح)
3
برنامه ریزی خطی پیشرفته (21715)
مدرس ناصر سلماسي تلفن آدرس الكترونيكي ( ): ساعتهاي رفع اشكال: شنبهها و دوشنبهها 13:30 الی 15:00
4
برنامه ریزی خطی پیشرفته (21715)
مربی تمرین سعید بهجت آدرس الكترونيكي ( ):
5
برنامهریزی خطی پیشرفته (21715)
روش مطالعه درس در طول ترم 6 تا 8 ساعت مطالعه هفتگی (مطالعه و برنامه نویسی) حضور در کلاس و مشارکت در مباحث تمرینها و/ یا پروژههای هفتگی آشنايي دانشجویان با يك زبان برنامهنويسي آشنایی با تحقیق درعملیات مقدماتی
6
برنامه ریزی خطی پیشرفته (21715)
مراجع Linear Programming and Network Flows, By M. Bazaraa, J. J. Jarvis, H.D., Sherali, Fourth Edition, John Wiley and Sons Inc., 2010. Linear Programming, By K.G. Murty, John Wiley and Sons Inc., 1983. Linear Programming, By G. Hadley, Eighth Printing in 1974, Addison-Wesley Publishing Company Optimization Theory for Large Systems, By L. S. Lasdon, The Macmillan Company, 1970.
7
برنامه ریزی خطی پیشرفته (21715)
مراجع (ادامه) Linear Programming and Extensions, By G.B. Dantzig, The RAND Corporation, Third printing, 1966. Linear and Nonlinear Programming, By I. Griva, S.G. Nash and A. Sofer, Second Edition, McGraw Hill, 2009. Introduction to Linear Optimization, By D. Bertsimas and J.N. Tsitsiklis, Athena Scientific, Belmont, Massachusetts, 1997. Modern Heuristic Techniques for Combinatorial Problems, By Colin R Reeves, McGraw-Hill, 1995.
8
برنامه ریزی خطی پیشرفته (21715)
مراجع (ادامه) Robust Optimization, By A. Ben-Tal, L.E. Ghaoui, and A. Nemirovski, Princeton Series in Applied Mathematics, 2009. Applied Integer Programming: Modeling and Solution, By, D.S Chen, R.G. Batson, and Y. Dang, Wiley, 2010. An Introduction to Optimization, By E.K.P. Chong and S.H. Zak, Third Edition, John Wiley and Sons Inc., 2008.
9
برنامه ریزی خطی پیشرفته (21715)
مراجع (ادامه) Deterministic Operations Research: Models and Methods in Linear Optimization, By D. J. Rader JR. John Wiley and Sons Inc., 2010. Fractional Programming, By B.D. Craven, 1988, Heldermann Verlag, Berlin. Several published articles related to discussed topics.
10
برنامه ریزی خطی پیشرفته (21715)
نمره بندي نمره شرح 6 ميانترم 4 تمرينها پايانترم سمینار و گزارش
11
برنامهریزی خطی پیشرفته (21715)
تمرین ها تمرینهای هفتگی در طول ترم ارسال تمرينها: قبل از كلاس در روز موعد تحويل به آدرس الکترونیکی مدرس تحویل در ابتدای کلاس
12
برنامهریزی خطی پیشرفته (21715)
سمینار و گزارش آن انتخاب یک موضوع تحقیقی مربوط به برنامه ریزی خطی و بررسی مقاله های مربوطه و شرح دقیق یکی از مقاله ها توسط دانشجو 10% نمره بابت ارایه پیشنهادی بهبود دهنده قابل اجرا استفاده از تکنیک های ارایه شده در کلاس برای حل یک مساله واقعی مشاوره با مدرس درس برای تصویب موضوع ارزیابی تحقیق بر پایه سمینار کلاسی توسط دانشجو ارایه گزارش کتبی در مورد تحقیق و نتایج آن
13
برنامهریزی خطی پیشرفته (21715)
سمینار و گزارش آن (ادامه) مهلت انتخاب موضوع: دهم اردیبهشت ماه موعد تحویل گزارش کتبی پروژه: روز ارایه نهایی (18 خرداد ماه) ارسال گزارش بصورت الکترونیکی (تایپ شده) ارزیابی بر اساس اصول نگارش یک گزارش حرفه ای
14
برنامهریزی خطی پیشرفته (21715)
پروژهها و تمرينها بصورت انفرادي تشویق به مشورت با سايرين از دست دادن قسمتی از نمره برای هر تاخیر از موعدهای تحویل تمرین ها گزارش سمینار (پروژه و یا انتخاب موضوع) و...
15
برنامهریزی خطی پیشرفته (21715)
قرار دادن تمرينها، پروژهها و اطلاعیه های مهم در وب سایت کلاس الزام دانشجويان به رجوع مرتب به وب سایت درس الزام نام گذاری فايلهاي برنامه بصورت زير: Yourname_HW3.doc Yourname_HW3.cpp Yourname_Project3.doc Yourname_Project3.cpp
16
برنامهریزی خطی پیشرفته (21715)
ارسال تمرينها قبل از ساعت كلاس در روز موعد تحويل به آدرس الکترونیکی مدرس (در صورت نیاز به پست الکترونیکی) جمع آوری تمرین ها در ابتدای کلاس مجاز نبودن هیچگونه تاخیر استفاده از نرم افزار CPLEX یا LINGO برای انجام تمرین ها و پروژه ها
17
برنامهریزی خطی پیشرفته (21715)
تاریخهای مهم زمان مسئولیت 92/2/2 امتحان میان ترم 92/2/10 انتخاب موضوع سمینار 92/3/18 ارایه نهایی 92/4/5 عصر امتحان پایان ترم
18
کامپیوتر و مدیریت داده ها و اطلاعات( (21977
کامپیوتر و مدیریت داده ها و اطلاعات( (21977
19
برنامه ریزی خطی پیشرفته (21715)
سر فصل مطالب Lecture No. Title No. of sessions Lecture 1: Introduction 3 Lecture 2: The Primal Dual Method 2 Lecture 3: Geometry of the Simplex Method 4 Lecture 4: Fractional Programming Lecture 5: Duality in Linear Programming 1 Lecture 6: Complexity Lecture 7: Interior Point Techniques Lecture 8: Lagrangian Relaxation Method Lecture 9: Decomposition Techniques 5 Lecture 10: Branch-and-Price Technique Lecture 11: Robust Optimization
20
برنامهریزی خطی پیشرفته (21715)
تحقیق در عملیات* چیست؟ کاربرد علوم ریاضی در تصمیمگیری بصورت علمی مبتنی بر مدل ریاضی * Operations Research
21
برنامهریزی خطی پیشرفته (21715)
شاخه ای از تحقیق در عملیات: استفاده از متغیرهای تصمیم مساله بصورت خطی تعریف: مساله بهینهسازی (بیشینه سازی یا کمینهسازی) یک تابع خطی با مدنظر قراردادن محدودیتهایی بصورت نامساوی و یا مساویهای خطی (بازارا و همکاران 2010)
22
برنامهریزی خطی پیشرفته (21715)
معرفی مساله برنامه ریزی خطی توسط دنزیگ در 1947 بهترین روش حل ارایه شده برای حل بهینه مساله: الگوریتم سیمپلکس (دنزیگ، 1949) با حرکت به روی مرزهای منطقه موجه ارایه روشهای متعدد برای حل مساله (روشهای نقطههای داخلی و...)
23
برنامهریزی خطی پیشرفته (21715)
حالت کانونی یک مساله برنامه ریزی خطی پارامترهای مدل: aij (ضرایب تکنولوژی) bj(مقدارهای بردار سمت راست) ci ضریب های متغیرهای تصمیم در تابع هدف متغیرهای تصمیم: Xi (n متغیر تصمیم) m محدودیت Max Z = C1X1 + C2X2 +… +CnXn محدودیت های کارکردی a11X1 + a12X2 +… +a1nXn ≤ b1 a21X1 + a22X2 +… +a2nXn ≤ b2 . am1X1 + am2X2 +… +amnXn ≤ bm محدودیت های غیر کارکردی Xi ≥ 0 i = 1,2, …, n
24
برنامهریزی خطی پیشرفته (21715)
حالت کانونی یک مساله برنامه ریزی خطی (ادامه) پارامترهای مدل: aij (ضرایب تکنولوژی) bj(مقدارهای بردار سمت راست) ci ضریب های متغیرهای تصمیم در تابع هدف متغیرهای تصمیم: Xi (n متغیر تصمیم) m محدودیت Min Z = C1X1 + C2X2 +… +CnXn محدودیت های کارکردی a11X1 + a12X2 +… +a1nXn ≥b1 a21X1 + a22X2 +… +a2nXn ≥ b2 . am1X1 + am2X2 +… +amnXn ≥ bm محدودیت های غیر کارکردی Xi ≥ 0 i = 1,2, …, n
25
برنامهریزی خطی پیشرفته (21715)
حالت استاندارد یک مساله برنامه ریزی خطی محدودیت های کارکردی بصورت تساوی متعیرهای تصمیم مثبت اهمیت: امکان استفاده از روش سیمپلکس تنها برای مساله های تبدیل شده به حالت استاندارد Max Z = C1X1 + C2X2 +… +CnXn محدودیت های کارکردی a11X1 + a12X2 +… +a1nXn = b1 a21X1 + a22X2 +… +a2nXn = b2 . am1X1 + am2X2 +… +amnXn = bm محدودیت های غیر کارکردی Xi ≥ 0 i = 1,2, …, n
26
برنامهریزی خطی پیشرفته (21715)
حالت ماتریسی یک مساله برنامهریزی خطی C برداری 1*n X بردار n*1 A ماتریس m*n b ماتریس m*1 Max Z = CX AX ≤ b X ≥ 0
27
برنامهریزی خطی پیشرفته (21715)
مثال:
28
برنامهریزی خطی پیشرفته (21715)
تعاریف مقدماتی جواب (Solution): وجود دو تعریف مختلف در منبع ها هر مقداری که به متغیرهای تصمیم اختصاص یابد. هر مقداری که به متغیرهای تصمیم اختصاص یابد و محدودیتهای کارکردی را ارضا کند. جواب موجه (Feasible Solution): جوابی که تمامی محدودیتهای کارکردی و غیر کارکردی را ارضا کند. جواب بهینه (Optimal Solution): جواب موجهی که بهترین مقدار را برای تابع هدف تامین می کند.
29
برنامهریزی خطی پیشرفته (21715)
تعاریف مقدماتی (ادامه) معادلات حدی (Boundary Equations): محدودیتی که رابطه نامساوی آن با رابطه مساوی جایگزین شود. جواب گسترده: مجموعه مقادیر تمام متغیرهای تصمیم و کمکی برای هر نقطه (نه فقط گوشه)
30
برنامهریزی خطی پیشرفته (21715)
تعاریف مقدماتی (ادامه) اهمیت فراوان تحلیل جواب گسترده یک نقطه تشخیص موجه بودن و ناموجه بودن یک نقطه تشخیص گوشه بودن یک نقطه شناسایی نقاط مرزی شناسایی نقاط داخلی سوال: صفر بودن مقدار یک متغیر تصمیم در جواب گسترده به چه معنی است؟
31
برنامهریزی خطی پیشرفته (21715)
تعاریف مقدماتی (ادامه) جواب گوشه یا پایه (Corner): در فضای n بعدی نقطه ای که از محل تلاقی n محدودیت مستقل حاصل شود. دارای نام های دیگری مانند Extreme Point (حداکثر) تعداد گوشه های یک مساله برنامه ریزی خطی است در صورتی که محدودیت ها بصورت نامساوی باشند. تمامی این گوشهها موجه نیستند. فرمولی برای محاسبه تعداد گوشههای موجه یک مساله وجود ندارد.
32
برنامهریزی خطی پیشرفته (21715)
تعاریف مقدماتی (ادامه) معادلات معرف یک گوشه: محدودیتهایی مستقل از هم از مساله (کارکردی و غیر کارکردی) که باعث ایجاد یک گوشه میشوند (معادلات حدی که یک گوشه را ایجاد میکنند). جواب پایه موجه (Basic Feasible Solution; BFS): جواب گوشه ای که در تمامی محدودیتها صدق کند. جواب گسترده این نقطه حداکثر دارای m متغیر غیر صفر و حداقلn مقدار صفر است در صورتی که محدودیت ها بصورت نامساوی باشند.
33
برنامهریزی خطی پیشرفته (21715)
تعاریف مقدماتی (ادامه) گوشههای مجاور: دو گوشهای که در n-1 معادله معرف مشترک باشند. تعداد گوشههای مجاور هر گوشه در یک مساله برنامهریزی خطی حداکثر برابر m*n است. سوال: تعداد گوشههای موجه مجاور هر گوشه چیست؟ حداکثر؟ حداقل؟
34
برنامهریزی خطی پیشرفته (21715)
برای حل مسالههای برنامهریزی خطی حالتی به عنوان حالت استاندارد تعریف و الگوریتم سیمپلکس بر مبنای آن تعریف می شود. روش تبدیل مساله های غیر استاندارد به استاندارد (مطالعه بر عهده خودتان) خصوصیت های جواب بهینه: حداقل یکی از جواب های بهینه حتما در یکی از گوشههای موجه پایه است. تعداد گوشههای یک مساله بی نهایت نیست چنانچه مقدار تابع هدف در یک گوشه از تمام گوشه های مجاور موجه بهتر بود جواب بهینه است.
35
برنامهریزی خطی پیشرفته (21715)
الگوریتم سیمپلکس گام یک: از یک گوشه موجه ابتدایی آغاز کنید. گام دو: از گوشه موجود به سمت گوشه مجاور بهتر حرکت کنید. گام سه: اگر به گوشهای رسیدید که از تمامی گوشههای مجاور خود بهتر بود جواب بهینه است.
36
برنامهریزی خطی پیشرفته (21715)
مطالبی در مورد حالت استاندارد مسالههای برنامه ریزی خطی اگر مسالهای از حالت استاندارد پیروی نکند، مبدا مختصات متعلق به منطقه موجه نیست. نیاز به انجام جستجوی ابتدایی برای پیدا کردن گوشه موجه ابتدایی (تکنیک M بزرگ و تکنیک دو فاز) یکسان بودن منطق تکنیک های M بزرگ و دو فاز ترجیح برای تکنیک دو فاز در مسالههای واقعی (چرا؟) 36 36
37
برنامهریزی خطی پیشرفته (21715)
ضابطههای انتخاب متغیر ورودی روش : انتخاب متغیر با کمترین مقدار سطر صفر روش : محاسبه بیشترین تغییر در مقدار تابع هدف در تکرار بعدی انتخاب اولین متغیر منفی از سمت چپ جدول سیمپلکس روش *LRC: انتخاب متغیر منفی بعدی پس از متغیر ورودی انتخاب شده در مرحله قبلی مطالعه های آماری نشان داده است که روش های سوم و چهارم سریع تر به جواب بهینه می رسند. * مراجع مربوطه در اسلاید بعدی 37 37
38
برنامهریزی خطی پیشرفته (21715)
*Least Recently Considered [1] H.W.Kuhn and R.E.Quandt, An experimental study of the simplex method, In N.C.Metropolis, et al. (Eds.), Eperimental Arithmetic, High-Speed Computing and Mathematics (Proceedings of Symposia in Applied Mathematics XV), American Mathematical Society, Providence, R.I, , 1953. [2] R.Jeroslow ,The simplex algorithm with the pivot rule of maximizing criterion improvement, Discrete Applied Mathematics, Vol 4 (1973), 38 38
39
برنامهریزی خطی پیشرفته (21715)
حالتهای خاص یک مساله برنامهریزی خطی فاقد منطقه موجه (No feasible solution): شناسایی توسط روش دو فاز یا M بزرگ نامحدود (Unbounded): رشد بینهایت مقدار متغیر ورودی جواب بهینه چندگانه (Multiple Optimal Solution): صفر بودن مقدار سطر صفر یک متغیر غیر پایه در جواب بهینه تباهیده(Degenerate) : منطبق بودن چندین گوشه به روی هم 39 39
40
برنامهریزی خطی پیشرفته (21715)
حالت نامحدود (Unbounded) نامحدود بودن فضای منطقه موجه مساله افزایش (کاهش) مقدار بهینه مساله بطور نامحدود شرایط تشخیص: مشکل هنگام انتخاب متغیر خروجی نامحدود بودن منطقه موجه مساله نامحدود بودن جواب بهینه مساله 40 40
41
برنامهریزی خطی پیشرفته (21715)
حالت نامحدود (Unbounded)-ادامه در حالتهای خاصی قبل از حل مساله می توان متوجه نامحدود بودن منطقه موجه مساله شد. شعاع حدی: جهتهایی که مساله در آنها به سمت بینهایت میل میکند. 41 41
42
برنامهریزی خطی پیشرفته (21715)
جواب بهینه چندگانه (Multiple Optimal Solution) یک توجیه: در حالت دو بعدی تابع هدف موازی یکی از معادلات معرف غیر زاید جواب بهینه وجود بینهایت جواب بهینه برای مساله وجود دو گوشه بهینه در صورت نبودن شعاع حدی شرایط تشخیص: وجود متغیرتصمیمی غیرپایه با مقدار سطر صفر برابر با صفر در جدول نهایی جواب بهینه (در صورتی که تبهگن نباشد) 42 42
43
برنامهریزی خطی پیشرفته (21715)
جواب بهینه چندگانه (Multiple Optimal Solution)- ادامه بهینه بودن هر ترکیب محدبی از گوشههای بهینه سوال: آیا ممکن است در حالت غیر بهینه هم با چنین حالتی رو به رو شویم؟ 43 43
44
برنامهریزی خطی پیشرفته (21715)
مساله تباهیده (Degenerate) تلاقی بیش از n محدودیت در یک نقطه منطبق شدن بیش از یک گوشه به روی هم روش تشخیص: هنگام انتخاب متغیر خروجی وجود حداقل دو سطر با مقدار مساوی و حداقل θ در این حالت در تکرار بعدی متغیری تصمیمی که برای خروج از پایه انتخاب نشده در سمت راست مقدار صفر خواهد داشت. 44 44
45
برنامهریزی خطی پیشرفته (21715)
مساله تباهیده (Degenerate)- ادامه جواب تبهگن لزوما بهینه نیست. جواب تبهگن جوابی است که حداقل یکی از متغیرهای پایه آن برابر صفر باشد. تمام گوشههای تبهگن لزوما مجاور هم نیستند. 45 45
46
برنامهریزی خطی پیشرفته (21715)
مساله تباهیده (Degenerate)- ادامه نگرانیهای اولیه در مورد دور افتادن مساله هنگام رسیدن به یک گوشه تبهگن رفع نگرانی در مورد حل این مسالهها با گسترش تحقیقات وجود مسالههای مصنوعی که حل آنها امکان پذیر نیست (هدلی و مورتی) 46 46
47
برنامهریزی خطی پیشرفته (21715)
مساله تباهیده (Degenerate)- ادامه وجود روشهای ابداعی برای رفع قطعی این مشکل انتخاب تصادفی متغیر تصمیم خروجی هنگام حل مساله بصورت دستی نیاز به روشهای ساختار یافته تر برای حل مسالهها به کمک کامپیوتر مانند: انتخاب متغیر تصمیم با مقدار yik بزرگتر انتخاب متغیر تصمیم با مقدار اندیس کوچکتر (روش Indexing) وجود روشهای مطمئن تر برای رفع مشکل 47 47
48
برنامهریزی خطی پیشرفته (21715)
انواع جوابهای مساله برنامهریزی خطی جواب های ممکن برای مساله برنامه ریزی خطی بدون جواب موجه جواب موجه جواب بهینه محدود جواب نامحدود یک جواب بهینه جواب بهینه چندگانه 48 48
49
برنامهریزی خطی پیشرفته (21715)
مثال Max Z= 2X1 - X2 + 3x3 X1 - X2 + 5x3 ≤ 10 2X1 - X2 + 3x3 ≤ 40 Xj ≥ 0 Z X1 X2 X3 S1 S2 b 1 40 -2 -1 30 -7 20 49 49
50
برنامهریزی خطی پیشرفته (21715)
انواع محدودیتها در یک مساله برنامهریزی خطی محدودیت موثر: محدودیتهای موثر در تشکیل منطقه موجه. حذف این محدودیتها موجب افزایش منطقه موجه می شود. محدودیت زاید(Redundant Constraint) : محدودیتی که تاثیری در ایجاد منطقه موجه نداشته و وجود و عدم وجود آن موجب تغییر در منطقه موجه نمیشود. محدودیت الزام آور: محدودیتی که متعلق به معادلات حدی نقطه بهینه باشد. 50 50
51
برنامهریزی خطی پیشرفته (21715)
مثال Max Z= X1 + 10X2 -2X1 + 3X2 ≤ 6 2X1 + X2 ≤ 4 X2 ≤ 4 Xj ≥ 0 51 51
52
برنامه ریزی خطی پیشرفته (21715)
مثال شماره گوشه X1 X2 S1 S2 S3 مقدار تابع هدف 1 3/4 5/2 3/2 103/4 2 10 4 3 6 -3 -6 5 40 7 8 20 9 43 52 52
53
برنامهریزی خطی پیشرفته (21715)
مساله شامل محدودیتهای زاید (Redundancy) یک محدودیت مضربی از محدودیت دیگر یک محدودیت ترکیبی از چندین محدودیت دیگر توجه: اگر متغیر کمکی (مصنوعی) مربوط به یکی از محدودیتها در پایه باشد تمامی مقدارهای آن سطر به جز متغیر پایه آن صفر میشوند. عموما در فاز یک اتفاق میافتد. مشکلی در حل مساله ایجاد نمیشود و نیازی به بررسی آن قبل از حل نیست. 53 53
54
برنامهریزی خطی پیشرفته (21715)
مثال: مساله برنامهریزی خطی زیر را در نظر بگیرید: Max Z= 3x1 + 5x2 x1 + x ≤ 6 3x1 - 4x2 ≤ 7 2x1 + 3x2 ≤ 8 x1 + x2 ≤ 4 x1 - 2x2 ≤ 10 x1, x2≥ 0 54 54
55
برنامهریزی خطی پیشرفته (21715)
Z X1 X2 S1 S2 S3 S4 S5 b 1 -3 -5 6 3 -4 7 2 8 4 -2 10 .33 1.67 13.3 -.33 3.33 5.66 1.33 17.67 .67 2.66 2.33 .667 15.33 55 55
56
برنامهریزی خطی پیشرفته (21715)
مثال: فرض کنید مساله برنامهریزی خطی قبلی به حالت زیر تبدیل شود: Max Z = 3x1 + 5x2 x1 + x2 ≤ 1 3x1 - 4x2 ≤ 7 2x1 + 3x2 ≤ 8 x1 + x2 ≤ 4 x1 - 2x2 ≤ 10 x1, x2 ≥ 0 56 56
57
برنامهریزی خطی پیشرفته (21715)
Z X1 X2 S1 S2 S3 S4 S5 b 1 -3 -5 3 -4 7 2 8 4 -2 10 5 11 -1 12 57 57
58
برنامهریزی خطی پیشرفته (21715)
بحث اگر زمان انتخاب متغیر تصمیم ورودی منفیترین متغیر انتخاب نشود چه میشود؟ اگر متغیر تصمیمی با مقدار مثبت و یا صفر برای ورود به پایه انتخاب شود چه میشود؟ اگر هنگام انتخاب متغیر تصمیم خروجی متغیری با کمترین مقدار θ انتخاب نشود چه میشود؟ 58 58
59
برنامهریزی خطی پیشرفته (21715)
بحث – ادامه در مساله برنامهریزی خطی تعداد متغیرهای تصمیم باعث پیچیدگی بیشتر مساله میشود یا تعداد محدودیتها؟ در مساله برنامهریزی خطی عدد صحیح تعداد متغیرهای تصمیم باعث پیچیدگی بیشتر مساله میشود یا تعداد محدودیتها؟ مطالعه تفسیر اقتصادی جدول سیمپلکس بر عهده خودتان رفتار محدودیت های شامل M بزرگ 59 59
60
برنامهریزی خطی پیشرفته (21715)
روش سیمپلکس اصلاحشده (Revised Simplex) حفظ حداقل اطلاعات لازم در هر تکرار سیمپلکس در حافظه بازیابی سایر اطلاعات در هر تکرار در صورت لزوم 60 60
61
برنامهریزی خطی پیشرفته (21715)
روش سیمپلکس اصلاح شده(Revised Simplex) حالت ماتریسی یک مساله برنامهریزی خطی را بصورت زیر در نظر بگیرید: C 1*n X n*1 A m*n b m*1 مدل I Max Z = CX AX ≤ b X ≥ 0
62
برنامهریزی خطی پیشرفته (21715)
روش سیمپلکس اصلاح شده (Revised Simplex) برای حل مساله لازم نیست که n > m باشد. با تبدیل نامعادلهها به معادله تعداد متغیرهای تصمیم افزایش پیدا میکند. با تبدیل نامساویها به مساوی مدل II ایجاد میشود: مدل II Max Z = CX AX+ IS= b X,S ≥ 0 62 62
63
برنامهریزی خطی پیشرفته (21715)
روش سیمپلکس اصلاح شده (Revised Simplex) تضمین یکسان بودن مدل های I و II با مثبت بودن مقدار متغیرهای کمکی S فرض میشود بردار X شامل تمامی متغیرهای تصمیم مساله، متغیرهای کمکی و مصنوعی است. فرض می شود ضرایب تمامی این متغیرهای تصمیم در بردار C بصورت متناظر قرار دارند. 63 63
64
برنامهریزی خطی پیشرفته (21715)
بدست آوردن شرایط سیمپلکس محدودیتهای (A, I)X= b را بصورت زیر مینویسیم: BXB + NXN = b لذا: XB = B-1b – B-1 NXN XB = B-1b B: یک پایه شدنی XB بردار پایه ای وابسته به B XN(=0) بردار غیر پایه ای 64 64
65
برنامهریزی خطی پیشرفته (21715)
روش سیمپلکس اصلاح شده(Revised Simplex) اگر B پایه فعلی باشد و CB و CN عناصری از C وابسته به XB و XN باشند، مساله بصورت زیر تبدیل می شود: Max Z = CB XB + CN XN BXB + NXN = b XB , XN ≥ 0 در نهایت Z= CBB-1b 65 65
66
برنامهریزی خطی پیشرفته (21715)
روش سیمپلکس اصلاح شده (Revised Simplex) شکل ماتریسی مساله را میتوان بصورت زیر نمایش داد: در هر تکرار جواب پایهای فعلی XB و مقدار تابع هدف Z را می توان برحسب ماتریس پایهای فعلی B توسط روابط زیر بدست آورد: BXB = b Z = CBXB 66 66
67
برنامه ریزی خطی پیشرفته (21715)
روش سیمپلکس اصلاح شده (Revised Simplex) این معادله ها را میتوان بصورت زیر نیز نمایش داد: با استفاده از فرمولهای معکوس یک ماتریس افراز شده جواب فعلی با رابطه زیر نمایش داده میشود: 67 67
68
برنامهریزی خطی پیشرفته (21715)
روش سیمپلکس اصلاح شده (Revised Simplex) لذا جدول کلی متناظر با جواب فعلی رامیتوان به شرح زیر بدست آورد: 68 68
69
برنامهریزی خطی پیشرفته (21715)
الگوریتم حل سیمپلکس اصلاح شده گام یک: انتخاب متغیر ورودی (با استفاده از CBB-1A – C) گام دو: محاسبه ستون متغیر ورودی B-1aj گام سه: محاسبه θ و متغیر خروجی گام چهار: محاسبه B-1 جدید و مقادیر B-1b و CBB-1 69 69
70
برنامهریزی خطی پیشرفته (21715)
روش محاسبه B-1 جدید B-1(new) = E B-1 (old) در این محاسبه E ماتریسی است که قطر اصلی آن برابر یک به جز ستونی که وارد پایه میشود. در آن ستون مقادیر جدول آن ستون را قرار میدهیم یعنی مقادیر زیر(مراجعه شود به صفحه 207 بازارا): 70 70
71
برنامهریزی خطی پیشرفته (21715)
روش محاسبه B-1 جدید 71 71
72
برنامهریزی خطی پیشرفته (21715)
حالت دوگانگی (Duality) وابستگی هر مساله برنامهریزی خطی به یک مساله دیگر مساله اول: مساله اولیه مساله وابسته: مساله ثانویه و یا مساله دوگان وجود خاصیتهای وابسته بسیار نزدیک به هم میان مساله های اولیه و دوگان کسب اطلاعات کامل در مورد جواب بهینه یکی با داشتن جواب بهینه مساله دیگر استفاده از این خاصیت در کاهش حجم عملیات محاسباتی مربوط به حل مسالههای برنامهریزی خطی 72 72
73
برنامهریزی خطی پیشرفته (21715)
مثال i = 1,2,…, m j = 1,2,…, n j = 1,2,…, n i = 1,2,…, m 73 73
74
برنامهریزی خطی پیشرفته (21715)
نکتههای مهم تناظر هر محدودیت در یک مساله با یک متغیر در مساله دوگان برابری تعداد گوشههای مسالههای اولیه و دوگان تناظر هر گوشه از مساله اولیه با گوشهای دیگر در مساله ثانویه ارتباط هر متغیر تصمیم در مساله اولیه با متغیر لنگی محدودیت متناظر در مساله دوگان (برای دو گوشه متناظر حداقل یکی از آنها برابر صفر است). 74 74
75
برنامهریزی خطی پیشرفته (21715)
قضیه لنگی مکمل* اگر x* و y* دو جواب موجه برای مساله اولیه و دوگان آن در حالت کانونی باشند، هر دو جواب های بهینه مساله مربوطه هستند اگر و فقط اگر رابطه های زیر میان اعضای جواب گسترده این دو نقطه برقرار باشد: Xj S′j = 0 Yi Si = 0 * Complementary Slackness Theorem 75 75
76
برنامهریزی خطی پیشرفته (21715)
نتیجه مهم قضیه لنگی مکمل در مورد متغیرهای جواب گسترده هر دو گوشه (نقطه) مرتبط همواره روابط زیر برقرار است. Xj S′j = 0 Yi Si = 0 76 76
77
برنامهریزی خطی پیشرفته (21715)
مثال واضح است که مساله دارای 10 گوشه است. تناظر گوشههای مسالههای اولیه و دوگان در اسلاید بعدی مشخص است. Max Z= 5X1 + 2X2 +3X3 X1 + 2X2 +2X3 ≤ 8 3X1 + 4X2 +X3 ≤ 7 Xj ≥ 0 MIN Y= 8Y1 + 7Y2 Y1 + 3Y2 ≥ 5 2Y1 + 4Y2 ≥ 2 2Y1 + Y2 ≥ 3 YI ≥ 0 77 77
78
برنامهریزی خطی پیشرفته (21715)
مثال (ادامه) مساله دوگان تابع هدف مساله اولیه شماره گوشه Y1 Y2 S′1 S′2 S′3 Y=Z X1 X2 X3 S1 S2 -7 4 -13 -28 -9 8.5 1 -5 -2 -3 8 7 2 1/2 -3/5 -2/5 3.5 7/4 4/5 3 -4 -1 5/3 -1/3 -13/3 11 5 14/3 -4/3 35/3 7/3 17/3 6 1/5 12 7/5 26/5 81/5 6/5 17/5 10 21 -6 9 40 -17 78 78
79
برنامهریزی خطی پیشرفته (21715)
نکتهها جواب بهینه تنها نقطهای است که در آن هر دو گوشه متناظر اولیه و دوگان موجه هستند (گوشه شماره 8). اگر مسالهای دارای جواب بهینه چندگانه باشد چندین نقطه اینچنینی وجود دارند؟ در مساله اولیه تمامی گوشههایی که دارای مقدار تابع هدفی بیش از جواب بهینه باشند غیر موجه هستند. مقدار تابع هدف برای هر گوشه موجه در مساله maxکمتر از مقدار تابع هدف از هر گوشه موجه مساله min است. 79 79
80
برنامهریزی خطی پیشرفته (21715)
رابطه میان جوابهای مساله اولیه و دوگان اگر مساله اولیه دارای جواب بهینه محدود باشد، مساله دوگان هم دارای جواب بهینه محدود است. اگر جواب مساله اولیه بصورت نامحدود باشد مساله دوگان حتما فاقد منطقه موجه است. اگر جواب مساله اولیه فاقد جواب موجه باشد مساله دوگان آن یا نامحدود است است و یا فاقد منطقه موجه اگر مساله اولیه دارای جواب بهینه چندگانه باشد، مساله دوگان آن حتما دارای جواب بهینه تبهگن است ولی عکس مطلب همواره صحیح نیست. 80 80
81
برنامهریزی خطی پیشرفته (21715)
رابطه میان جواب های مساله اولیه و دوگان در حالت تبهگن و یا بهینه چندگانه مساله برنامهریزی خطی زیر و دوگان آن را در نظر بگیرید: Max Z= 3X1 + 9X2 X1 + 4X2 ≤ 8 X1 + 2X2 ≤ 4 Xj ≥ 0 MIN Y= 8w1 + 4w2 w1 + w2 ≥ 3 4w1 + 2w2 ≥ 9 wI ≥ 0 81 81
82
برنامهریزی خطی پیشرفته (21715)
رابطه میان جوابهای مساله اولیه و دوگان در حالت تبهگن و یا بهینه چندگانه-ادامه جدول بهینه مساله اولیه و شکل منطقه موجه آن به قرار زیر است: 82 82
83
برنامهریزی خطی پیشرفته (21715)
در جدول مشخص است که پس از تکرار اول به گوشه تبهگن رسیدهایم. گوشههای تبهگن اول و دوم در تکرارهای سیمپلکس عادی مشخص هستند. گوشه تبهگن سوم در حالی آشکار می شود که در تکرار اول متغیر تصمیم دیگری برای خروج از پایه انتخاب شود. z X1 X2 S1 S2 b Teta 1 -3 -9 0.00 4 8.00 2 4.00 P1 1.00 -0.75 2.25 18.00 0.25 2.00 0.50 -0.50 P2 1.50 -1.00 P3 4.50 -2.00 83 83
84
برنامهریزی خطی پیشرفته (21715)
با توجه به دو بعدی بودن مساله مشخص است که در گوشه تبهگن سه نقطه به روی هم منطبق شدهاند. سه گوشه تبهگن مجاور همدیگر نیستند. به عبارت دیگر فقط یکی از این گوشهها مجاور هر دو گوشه دیگر است. به عبارت دیگر در الگوریتم سیمپلکس از یک گوشه تبهگن تنها با یک حرکت نمیتوان به تمام گوشههای تبهگن دیگر دسترسی داشت. با توجه به یکسان بودن جواب گسترده هر سه نقطه تنها دو مورد از آنها خاصیت بهینگی دارند که هیچکدام مجاور نیستند. 84 84
85
برنامهریزی خطی پیشرفته (21715)
جدول بهینه مساله دوگان و شکل منطقه موجه آن به قرار زیر است: 85 85
86
برنامهریزی خطی پیشرفته (21715)
در مساله دوگان به محض رسیدن به منطقه موجه به جواب بهینه (بهینه چندگانه) رسیدهایم. در اینجا با توجه به موازی بودن تابع هدف با یکی از محدودیت ها دو گوشه بهینه داریم. توجه کنید که گوشه دیگری هم با مقدار تابع هدف 18 وجود دارد که موجه نیست. هر سه این گوشهها مجاور همدیگر هستند. 86 86
87
برنامهریزی خطی پیشرفته (21715)
مقایسه جوابهای گسترده سه گوشه تبهگن مساله اولیه با جواب گسترده گوشه های متناظر آنها در جدول زیر ارایه شده است: شماره گوشه جواب گسترده گوشه مساله اولیه متغیرهای پایه در مساله اولیه مقدار تابع هدف جواب گسترده گوشه مساله دوگان شرح (X1, X2, S1, S2) (w1, w2, S'1, S'2) گوشه 1 (0, 2, 0, 0) X1, X2 18 (1.5, 1.5, 0, 0) هر دو بهینه گوشه 2 X2, S1 (0, 4.5, 1.5,0) گوشه 3 X2, S2 (9/4, 0, -3/4, 0) موجه در یکی، غیر موجه در دیگری 87 87
88
برنامهریزی خطی پیشرفته (21715)
تمرین در مساله برنامهریزی خطی زیر آیا جواب زیر جواب بهینه مساله است؟ Max Z= 2X1 - 13X2 - 3X3 + 2X4 - 5X5 - 5X6 - 10X7 X X X4 - X X7 =5 X X4 - 2X5 + 3X6 - 3X7 ≥ -1 5X2 + X3 – X4 + 2X X6 - 2X7 ≤ 5 3X2 + X3 + X4 + X X6 - X7= Xi ≥ 0 88 88
89
برنامهریزی خطی پیشرفته (21715)
الگوریتم سیمپلکس ثانویه استفاده از مساله دوگان برای حل مساله آغاز حل مساله از گوشهای بهینه ولی غیر موجه (آغاز کار از یکی از گوشههای موجه مساله دوگان) در مراحل حل سعی میشود که از نقاط موجه مساله دوگان خارج نشویم. 89 89
90
برنامهریزی خطی پیشرفته (21715)
تعبیر روش انتخاب متغیر خروجی از دیدگاه مساله اولیه از دیدگاه مساله ثانویه اگر منفی ترین bi انتخاب نشود باز هم به جواب بهینه می رسیم. ایده انتخاب کوچک ترین نسبت منفی به این دلیل است که ها هیچگاه منفی نشوند. 90 90
91
برنامهریزی خطی پیشرفته (21715)
اگر مساله فاقد منطقه موجه باشد، در یکی از تکرارها تمامی مقادیر سطر لولا غیر منفی خواهند شد (تعبیر: مجموع چند عدد مثبت برابر عدد منفی است که غیر ممکن است). در این روش هیچگاه با حالت نامحدود مواجه نمیشویم زیرا که مساله دوگان همواره موجه است. اگر مقدار در یکی از تکرارها برابر صفر شود مساله تبهگن است. اگر مساله اولیه تبهگن باشد مساله ثانویه دارای جوابهای بهینه چندگانه است و برعکس 91 91
92
برنامهریزی خطی پیشرفته (21715)
حالت خاص در مواردی شرایط اولیه برای استفاده از الگوریتم سیمپلکس ثانویه موجود نیست. فرض کنید مقادیر تعدادی از ها منفی باشند. در چنین حالتی روش حل اضافه کردن یک سطر (محدودیت) جدید به مساله بصورت است. در این محدودیت Xj ها شامل کلیه متغیرهای غیر پایه هستند. پایه جدید از روش زیر قابل محاسبه است: پایه جدید = پایه قدیم + (متغیری که دارای منفیترین ضریب در سطر صفر باشد) 92 92
93
برنامهریزی خطی پیشرفته (21715)
حالت خاص (ادامه) در انتهای کار با یکی از سه حالت زیر روبه رو خواهیم شد: الف- برای مساله جواب موجهی پیدا نمیشود. در این حالت مساله اصلی هم غیر موجه خواهد بود. ب- در مساله نهایی متغیر X0 در پایه جواب بهینه نیست. در این حالت رابطه برقرار است و مساله اصلی نامحدود خواهد بود. ج- در مساله نهایی متغیر X0 در پایه جواب بهینه است. در این حالت مساله دارای جواب بهینه (معادل مقدار حاصله) خواهد بود. به ص256 مورتی مراجعه کنید!! 93 93
94
برنامهریزی خطی پیشرفته (21715)
مثال در این حالت برای حل مساله محدودیت زیر را به مساله وارد میکنیم. X0 + X1 + X2 + X3 = M Max Z= 3X1 + 2X2 - X3 X1 + X ≤ 5 Xj ≥ 0 94 94
95
برنامهریزی خطی پیشرفته (21715)
مثال در این مساله در جواب بهینه متغیر X0 در پایه بوده لذا مساله اصلی بهینه است. Z X1 X2 X3 S1 X0 b 1 -3 -2 5 M 4 3 3M -1 5-M 15 M-5 95 95
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.