Professional Documents
Culture Documents
CA3 Report 40103904
CA3 Report 40103904
دو تابع زیر برای بررسی عملکرد الگوریتمها مورد بررسی قرار میگیرند:
در هر الگوریتم طول گام حرکت توسط الگورتیم line searchمحاسبه میشود .این الگوریتم مطابق
pseudocodeهای موجود در جزوه شماره 23نوشته شده است.
1
توجه شود که در شمارش تعداد دفعات محاسبه مقدار تابع ،بردار گرادیان و ماتریس هسین هم تعداد محاسبات
در بخش الگوریتمهای نیوتن و SDو هم تعداد محاسبات در بخش الگوریتم line searchو zoomلحاظ
شده است .الگوریتم SDنیازی به تخمین ماتریس هسین ندارد و بنابراین تعداد دفعات محاسبه ماتریس هسین
در این الگوریتم صفر است.
متغیر xدر ابتدا با مقادیر نقطه شروع اولیه هر تابع مقدار دهی می شود .سپس مقدار و جهت حرکت در هر مرحله با استفاده از
مقادیر موجود در xمحاسبه میشود .پس از مشخص شدن جهت و مقدار حرکت ،مقدار موجود در xدر متغیری به نام x_pre
ذخیره میشود و سپس حرکت انجام شده و مقدار نقطه جدید در همان متغیر xذخیره میشود .به این ترتیب در هر مرحله نقطه
جواب محاسبه شده در مرحله قبلی در x_preموجود است و شرط توقف الگوریتم برقراری نامساوی زیر خواهد بود:
SD Newton
*x 1.3496 1.0000
1.8226 1.0001
)*f1(x 0.1224 -9
10 × 8.1254
Function evaluations 80 152
Gradient evaluations 15 47
Hessian evaluations 0 12
Number of iterations 2 10
نتایج حاصل از اجرای الگوریتمها برای تابع دو مطابق جدول زیر هستند:
SD Newton
*x 0.2342 10-3 × -0.0014
-0.0234 -3
10 × -0.0029
0.1119 10-3 × 0.7589
0.1212 10-3 × 0.7589
)*f2(x 0.0058 10-11 × 9.1114
Function evaluations 3980 53
Gradient evaluations 1081 43
Hessian evaluations 0 11
Number of iterations 196 9
در توابع line searchو zoomیک پارامتر به نام controlدر ورودیهای تابع وجود دارد که این پارامتر
برای انتخاب مقدار c2مناسب در اجرای این توابع لحاظ شده است .برای الگوریتم نیوتن مقدار پارامتر
2
controlبرابر با یک داده میشود و c2=0.9خواهد بود و برای SDمقدار controlبرابر 2است و c2=0.1
انتخاب میشود .مقدار c1برای هر دو الگوریتم 10-4در نظر گرفته شده و مقدار آلفا ماکزیمم برابر 5قرار داده
شده است.
3