حل مسائل برنامه ریزی خطی در مطلب

Download Report

Transcript حل مسائل برنامه ریزی خطی در مطلب

‫‪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)
f=@(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