www.sttu.ir موضوع : جعبه ابزار بهینه سازی تهیه کنندگان : الهه بستانی محبوبه ندایی استاد مربوطه : دکتر جعفرزاده www.sttu.ir فهرست مطالب مقدمات مطلب حل مسائل برنامه ریزی خطی در مطلب مثال حل مثال در مطلب مقدمات مطلب www.sttu.ir مطلب یک نرم افزار مهندسی است برای حل مسائل ریاضی استفاده میشود و Toolboxهای متنوعی دارد مانند ،Fuzzy Toolbox Financial Toolbox، Control System Toolboxو ...که در اینجا از Optimization Toolboxاستفاده میکنیم. Optimization Toolbox برای حل مسائل بهینه سازی استفاده میشود. دونوع بهینه سازی انجام میدهد .بهینه سازی مقید و بهینه سازی نامقید. در بهینه سازی مقید مسئله دارای محدودیت میباشد اما در نامقید هیچ محدودیتی وجود ندارد .که مسائل برنامه ریزی خطی از نوع بهینه سازی مقید میباشند. www.sttu.ir OPTIMIZATION A. Fmin B. Fminbnd C. Fminsearch D. Fminunc E. Fzero F. linprog TOOLBAX www.sttu.ir حل مسائل برنامه ریزی خطی در مطلب برای حل مسئله برنامه ریزی خطی در مطلب از دستور زیر می توان استفاده کرد: )[x,fmin] = linprog(f,A,b,Aeq,beq,lb,ub در این دستور ] [x,fminخروجی و ) (f,A,b,Aeq,beq,lb,ubها ورودی ،تابع می باشند. که Xیک بردار است که اجزای آن متغیرهای تصمیم گیری هستند ،که www.sttu.ir در واقع این تابع به صورت زیر عمل می کند (مسئله بهینه سازی را حل می کند) f یک بردار است و اجزای آن ضرایب متغیرهای تصمیم گیری در تابع هدف (تابع هزینه) می باشند نکته :این تابع برای حل مسائل مینیمم سازی می باشد ،و برای حل www.sttu.ir محدودیت ها در این دستور به 3 دسته تقسیم می شوند: محدودیت نامساوی که در این محدودیت Aیک ماتریس می باشد و ضرایب متغیرهای تصمیم گیری در قیدهای نامساوی را بیان می کند ،و bنیز یک بردار است. محدودیت های تساوی که در این محدودیت Aeqیک ماتریس می باشد ،و اجزای آن ضرایب متغیرهای تصمیم گیری در قیدهای تساوی هستند. مثال مزرعه :مزرعه ای روزانه حداقل 800 پوند از غذای مخصوص برای دامهای خود استفاده میکند. این غذای مخصوص ترکیبی از غذای ذرت و غذای سویا میباشد در رژیم غذایی باید حداقل %30پروتئین و حداکثر %50الیاف باشد این واحد میخواهد با حداقل هزینه رژیم غذایی خود را تامین www.sttu.ir www.sttu.ir برای این مسئله داریم : دو متغیر X1وX2 داریم. X1مقدار غذای ذرت (پوند) و X2مقدار غذای سویا (پوند) min z 0.3x 1 0.9x 2 S .T : ) 0.09x 1 0.6x 2 0.3(x 1 x 2 ) 0.02x 1 0.06x 2 0.5(x 1 x 2 x 1 x 2 800 x 1, x 2 0 www.sttu.ir که این مسئله با ساده سازی به صورت min z 0.3x 1 0.9x 2 S .T : 0.21x 1 0.3x 2 0 0.48x 1 0.44x 2 0 x 1 x 2 800 x 1, x 2 0 و برای حل این دستگاه در متلب داریم : که در نتیجه مقدار تابع هزینه مینیمم برابر 437.6471 و متغیرهای تصمیم گیری بهینه x1=470.5882 x2=329.4118می باشند. www.sttu.ir www.sttu.ir مثال تحلیل فضای هندسی مسئله max z 3x 1 5x 2 min z (3x 1 5x 2 ) S .T : S .T : x1 4 2x 2 12 3x 1 2x 2 18 x 1, x 2 0 ساده شده x1 4 2x 2 12 3x 1 2x 2 18 x 1, x 2 0 www.sttu.ir oو در نتیجه با دستورات زیر درمتلب برای حل این مسئله داریم oکه در واقع fmin=+36 می باشد. و x1=2,x2=6هستند. www.sttu.ir FZERO پیدا کردن مقدار صفر یک تابع که به خود تابع نیز بستگی دارد میتواند به روشهای مختلفی صورت پذیرد.هنگامی که تابع یک بعدی میباشد میتوان از تابع fzeroاستفاده کرد.الگوریتمی که توسط این تابع استفاده میشود ترکیبی از درون یابی درجه 2معکوس و نیمساز میباشد. وقتی که تابع چند بعدی باشد بدان معنی که تعریف تابع شامل توابع اندازه گیری متعددی از متغیر برداری میباشد ان گاه برای حل مساله به ابزار دیگری نیازداریم. برای حل مساله در حالت چند بعدی جعبه ابزار بهینه سازی یا سایر جعبه ابزار ها میباشد. www.sttu.ir مثال f(x) = x3 – 2x – 5, f = @(x)x.^3-2*x-5; Then find the zero near 2: z = fzero(f,2) z = 2.0946 www.sttu.ir FMINBND & FMINSEARCH برای بسیاری از توابع ساده که میتوان از ان ها دیفرانسیل گرفت نمیتوانیم تشخیص دهیم کجا مشتق برابر صفر می شود در این حالتها وحالتهایی که امکان پیدا کردن مشتق وجود ندارد و یا مشکل میباشد نیاز است که به طور تحلیلی به دنبال توابع نهایی بگردیم برای این منظور مطلب از تابع fminbndو fminsearchاستفاده میکند .این دو تابع به ترتیب مینیمم توابع یک بعدی و nبعدی را پیدا میکنند.این دو تابع میتوانند برای پیدا کردن مقادیر ماکزیمم و مینیمم مورد استفاده قرار گیرند. www.sttu.ir مثال F(x1,x2)= 1 2 -x(1)x(2)+(2)2 − 3(2) [email protected](x)x(1)^2- x(1)*x(2)+x(2)^2 -3*x(2); x = fminsearch(f,[-1,4]) x= 1.0000 2.0000 www.sttu.ir مثال f(x) = x3 – 2x – 5 f = @(x)x.^3-2*x-5; x = fminbnd(f, 0, 2) The result is x = 0.8165 www.sttu.ir www.sttu.ir www.sttu.ir www.sttu.ir THE END… www.sttu.ir