You are on page 1of 4

‫به نام خدا‬

‫احمد توکل – ‪ – 40103904‬گزارش تمرین دوم شبیه سازی ‪ -‬درس بهینه سازی‬

‫توابع مورد بررسی به صورت زیر هستند‪:‬‬

‫‪Function 1:‬‬

‫‪Function 2:‬‬

‫‪Function 3:‬‬

‫برای بررسی تابع ‪ 3‬با استفاده از الگوریتم ‪ SD‬با طول قدم ثابت‪ ،‬می دانیم که اگر طول قدم برابر با ‪ a‬باشد برای‬
‫همگرایی الگوریتم باید داشته باشیم‪:‬‬
‫‪2‬‬
‫<𝑎<‪0‬‬
‫𝑥𝑎𝑚𝜆‬
‫برای محاسبه بیشترین مقدار ویژه یا همان 𝑥𝑎𝑚𝜆 باید ابتدا ‪ Q‬منقارن باشد‪ .‬داریم‪:‬‬

‫[‬ ‫‪4 2√2] + [ 4‬‬ ‫‪0‬‬


‫𝑇‬‫]‬
‫𝐸‪𝐸+‬‬ ‫‪2√2 5‬‬
‫[=𝐸‬ ‫‪4‬‬ ‫‪2√2‬‬ ‫=𝑄⇒]‬ ‫=‬ ‫‪0‬‬ ‫‪5‬‬ ‫]‪= [ 4 √2‬‬
‫‪0‬‬ ‫‪5‬‬ ‫‪2‬‬ ‫‪2‬‬ ‫‪√2 5‬‬
‫سپس با استفاده از متلب مقادیر ویژه را حساب میکنیم‪:‬‬
‫مقادیر ویژه ‪ 3‬و ‪ 6‬هستند‪ .‬بنابراین‪:‬‬
‫‪2‬‬ ‫‪2 1‬‬
‫<𝑎<‪0‬‬ ‫=‬ ‫=‬
‫𝑥𝑎𝑚𝜆‬ ‫‪6 3‬‬
‫در این شبیه سازی مقدار ‪ a‬یا همان طول گام در حالت ثابت برابر با یک دوازدهم در نظر گرفته شده که در‬
‫محدوده مناسب برای همگرایی الگوریتم قرار دارد‪.‬‬

‫در بخش محاسبه ی طول گام ایده آل در هر دو الگوریتم از تابع ‪ GSS‬نوشته شده در تکلیف قبلی استفاده شده‬
‫است که به صورت یک تابع متلب با ورودی های )‪ f(x‬و بازه مورد نظر برای یافتن مینیمم درآمده و دقت آن‬
‫مطابق صورت سوال تنظیم شده است‪.‬‬

‫الزم به ذکر است که در هر دو الگوریتم برای بررسی هر تابع باید آن تابع در بخش ‪ choose function‬به‬
‫صورت دستی از حالت کامنت شده خارج شود و توابع دیگر کامنت شوند‪ .‬همچنین در الگوریتم ‪ SD‬برای اجرای‬
‫الگوریتم در حالت طول گام ثابت‪ ،‬باید خط مربوط به محاسبه طول گام ایده آل کامنت شود و طول گام ثابت از‬
‫حالت کامنت خارج شود‪ ( .‬کامنت این مورد در خود کد هم نوشته شده است‪).‬‬
:‫نتایج دو الگوریتم به صورت زیر است‬

Function 1:
SD Newton
x* 1.3504 1.0000
1.8247 1.0000
f(x*) 0.1229 1.3916e-23
number of function evaluations 2 2
number of gradient evaluations 2 2
number of iterations 1 1
number of hessian evaluations 0 2

Function 2:
SD Newton
x* 0.2306 (1.0e-03)*
-0.0230 [0.0001
0.1103 0.0001
0.1192 0.6829
0.6829]
f(x*) 0.0055 7.8982e-12
number of function evaluations 181 12
number of gradient evaluations 181 12
number of iterations 180 11
number of hessian evaluations 0 12

‫ به تعداد دفعات تکرار بسیار بیشتری نسبت به الگوریتم نیوتن‬SD ‫برای تابع دوم مشاهده میشود که الگوریتم‬
.‫در الگوریتم نیوتن به محاسبه ماتریس هسین نیاز داریم‬،‫نیاز داشته است اما در ازای تعداد تکرار کمتر‬
Function 3:
SD Newton
x* -0.1810 -0.1810
-0.5488 -0.5488
f(x*) 22.0821 22.0821
number of function evaluations 5 2
number of gradient evaluations 5 2
number of iterations 4 1
number of hessian evaluations 0 2

Function 3 with constant step size SD:


x* -0.1818
-0.5482
f(x*) 22.0821
number of function evaluations 9
number of gradient evaluations 9
number of iterations 8

‫ کم است اما‬SD ‫مشاهده میشود که اختالف جواب نهایی بین دو حالت طول گام ایده آل و طول گام ثابت در‬
‫تعداد دفعات تکرار الگوریتم برای رسیدن به جواب در حالت استفاده از طول گام ثابت دو برابر حالت طول گام‬
.‫ایده آل است‬

You might also like