حل مسائل برنامه ریزی خطی در مطلب
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