Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
بهينه سازی غير خطی
مقيد نا مسايل های يالگوريتم يل ی م وري
. هدف حل مساله است که در آن
لاگ ق ال ل ا ف طال ا ا ش ا لذا اش ذ ش ا ل اش ا ک يک تابع پيوسته باشد و لزوما مشتق پذير نباشد لذا از روشهای به اصطالح مرتبه صفر برای حل مساله قبلfاگر
از جمله معروف ترين اين روشها که در. اين روشها فقط بر اساس محاسبه مقدار تابع کار می کنند. استفاده می کنيم
)موضوع سمينار( .است Nelder‐Meadمتلب تيز از آن استفاده می شود، روش سيمپلکس fminsearchدستور
x = fminsearch(fun,x0)
banana = @(x)100*(x(2)‐x(1)^2)^2+(1‐x(1))^2;
[x,fval] = fminsearch(banana,[‐1.2, 1])[x,fval] fminsearch(banana,[ 1.2, 1])
x =[1.0000 1.0000], fval = 8.1777e‐010:خروجی متلب
اگر در نقطه جهتی مانند باشد که. اگر يک تابع مشتق پذير باشد: ١قضيه اين چنين را يک جهت کاهشی . آنگاه وجود دارد بطوريکه
.گويند
روشهای جهت کاهشی با جستجوی خطی.يک حدس اوليه از جواب انتخاب کنيد: ١
:تا برقراری شرط توقف گامهای زير را انجام دهيدکن٢ انتخا کت ت ک .يک جهت حرکت انتخاب کنيد:٢.طول گام مناسب را انتخاب کنيد:٣دهيد:۴ .قرار ي : ر .ر
.دو نکته اصلی در الگوريتم قبل، انتخاب يک جهت حرکت و محاسبه طول گام مناسب استهم برای انتخاب جهت و هم محاسبه طول گام روشهای متعددی ارايه شده است که در ادامه برخی
.از آنها را معرفی می کنيم
در اين روش الگوريتم از يک نقطه اوليه شروع و با حرکت در جهت منفی گراديان با طول : روش تندترين کاهش.گام مناسب عمل می کند
:برای تعيين تابع زير را بر حسب در نظر بگيريد
0)( )()()()()1( >∇−=+ kkkkk withxfxx αα
(k)α(k)αيري ب ر ر ب بر ر زير بع يين ی بر
.هدف پيدا کردن بهترين است که
α
(k) (k) (k) (k)g( ) f(x - f(x ))α α= ∇(k)α
(k) (k)g( )<f(x )α
.مقدار پارامتر را با اسنفاده از چند روش می توان تخمين زد که اين را جستجوی خطی گويند:به دنبال حل مساله زير برای پارامتر هستيمdدر جستجوی خطی در جهت کاهشی
( )kα
اين مساله را می توان از روشهای . همانطور که واضح است نياز به حل يک مساله مينيمم سازی يک متغيره داريمک ل اتلف ق تا ا ا فقط ا ت طال تق ش ش ا اش ذ شتق تا اگ اگر تابع مشتق پذير نباشد از روش دوبخشی و تقسيم طاليی می توان فقط با محاسبه تابع مقدار.مختلفی حل کرد
.ولی اگر تابع مشتق پذير باشد می توان از روشهايی همچون نيوتن استفاده کرد. مينيمم آن را بدست اورد
:تابع زير را در نظر بگيريد: مثال
با شروع از داريم
که در آن
با استفاده از روش وتری و در نتيجه تکرار جديد نيز به صورتزير است
نمودار ا
برای تکرار دوم داريم و
.که به دست می آيد و
برای تکرار سوم داريم و
توجه کنيد که مينيمم .که به دست می آيد و در نتيجه .واقعی است که پس از سه تکرار تقريبا به آن رسيده ايم
تابع درجه دوم را در نظر بگيريد که در آن يک : مثالت ا ت ث ن ه ن ن تقا تات ه ان اد گ ش ها ا تک تکرارهای روش گراديان به صورت .ماتريس متقارن و نيمه معين مثبت است
زير است
که در آن وآ
گ گ آ چون تابع محدب است پس اگر آنگاه جواب بهينه است و الگورتم خاتمه گپس کمترين مقدار . ولی اگر آنگاه تابع محدب است . پيدا می کند
افتد م اتفاق آن گراديان ريشه در .آن در ريشه گراديان آن اتفاق می افتدآن
ااگ ا .اما پس .اگر
.بنابراين با شروع از هر نقطه دلخواه، در . تابع را در نظر بگيريد: ١مثال
ن آ نه ا ه ش کا ت تن ش ا تک .يک تکرار روش تندترين کاهش به جواب بهينه آن يعنی می رسدک
گ٢ثال ظ ا اتا ل ق ثال ا قا در مقايسه با مثال قبل، در اين.تابع را در نظر بگيريد: ٢مثال.مثال روش تندترين کاهش تکرارهای زيادی برای رسيدن به جواب نياز دارد
ا گ تقض ذ شتق ت تا ک کن ض ف فرض کنيد يک تابع پيوسته مشتق پذير روی مجموعه بسته و :قضيه همگرايیآنگاه هر نقطه حدی از دنباله توليد شده توسط . کراندار باشد
.رشو تندترين کاهش در شرط صدق می کند
برای توابع درجه دوم محدب داريم
. کوچکترين مقدار ويژه هسيان تابع است و aبزرگترين مقدار ويژه هسيان و Aکه در آن بخاطر ١٩٧۵کانترويچ برنده جايزه نوبل در سال . نامساوی قبل به نامساوی کانترويچ معروف است. ارايه کاربردهای برنامه ريزی خطی در اقتصاد شد ر ی ريزی بر ی ربر ي ر
متاسفانه اين کران در حل مسايل اغلب اتفاق می افتد که نشان از بد بودن روش تندترين کاهش در حل . مسايلی است که نسبت مقادير ويژه بزرگ به کوچک آن بسيار بزرگ است چ ی
چون در نزديکی جواب بهينه توابع غير درجه دو نيز همانند درجه دو هستند پس چنين رفتاری برای آن .توابع نيز اتفاق می افتد
خروجی الگوريتم تندترين کاهش به . تابع را در نظر بگيريد: مثال .صورت زير است
.تابع را در نظر بگيريد: مثال
ل 22xث2فرض کنيد:مثال
21
21 ,
1)( Rx
xxxxxf ∈−
+=
3 73
⎡ ⎤⎢ ⎥⎡ )با شروع از داريم⎤ ) ( )3 6 4, ( )
3 2 16 4
k kx f x⎢ ⎥⎡ ⎤
= ⇒ ∇ = ⎢ ⎥⎢ ⎥⎣ ⎦ ⎢ ⎥
⎢ ⎥⎣ ⎦
⎤⎡ 37
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
−⎥⎦
⎤⎢⎣
⎡=+
64216437
33 )()1( kkx α
37
1)64213)(
64373(
)64373(
64373)(
)()(
2)(
)()(
−−−
−+−=
kk
k
kkgαα
ααα
:روش نيوتن:در اين روش يک تقريب درجه دوم از تابع در نقطه به صورت زير استفاده می شود
حاال اگر هسيان معين مثبت .. سپس با استفاده از شرط الزم مرتبه اول داريم باشد داريم
.طول گام در اين حالت يک فرض شده است ولی در حالت کلی لزوما اينطور نيست.معين مثبت باشد آنگاه جهت يک جهت کاهشی است fاگر هسيان تابع : قضيه
تابع زير را در نظر بگيريد: ١مثال
با شروع از نقطه داريم
H=H
:تکرار اول
:تکرار دوم
:تکرار سوم
:روش نيوتنکنيد:١ حل را دستگاه .دستگاه را حل کنيد:١.قرار دهيد : ٢
گ :تابع درجه دوم زير را در نظر بگيريد:مثال
گراديان و هسيان آن به صورت زير است
اگر هسيان معين مثبت باشد آنگاه روش نيوتن برای اين مساله به صورت زير است
.به عبارت ديگر روش نيوتن در يک گام به جواب بهينه می رسد
.تابع را در نظر بگيريد: مثالاست زير صورت به آن بهينه جواب و هسيان :گراديان، ور زير ن ب ب بهي ن و جو ي ن ي :ر
است آمده زير جدول در نيوتن روش تکرارهای روش نيوتن در جدول زير آمده استتکرارهای