مثال روش تندترین شیب

از روش تندترین شیب برای پیدا کردن از مینیمم تابع زیر استفاده نمایید:

F(x1, x2, x3) = (x1 -4)4 + (x2-3)2 + 4(x3+5)4

مثال روش تندترین شیب

نقطه اولیه [x(0) = [4, 2, -1 می باشد. پس از انجام 3 تکرار خواهیم داشت:

˅f(X (k)) = [4(x1 -4)3, 2(x2-3), 16(x3+5)3] T

از این رو با قرار دادن مقادیر اولیه در تابع خواهیم داشت:

˅f(X (0)) = [4(4 -4)3, 2(2 -3), 16(-1+5)3] T = [0, -2, 1024]

جهت محاسبه x(1)  می بایست:

α0 = arg min f(x (0) – α˅f (x (0))), α≥0

α0 = arg min f (0 + (2 +2α -3)2 + 4(-1 -1024 α +5)4)

α0 = arg min ф0 (α)

با استفاده از روش سکانت (روش وتری) خواهیم داشت:

α0 = 3.967 * 10-3

جهت گویا نمودن روش حل، در شکل زیر مقدار 0  را نمایش دادیم.

مثال روش تندترین شیب
مثال روش تندترین شیب

X (1) = x (0) – α0˅f (x (0)) = [4.00, 2.008, -5.062] T

˅f (x (1)) = [0.00, -1.984, -0.003875] T

در گام بعدی مقدار α1 را محاسبه می نماییم:

α1 = arg min f (2.008 +1.984α -3)2 + 4(-5.062 +0.003875 α +5)4)

α1= arg min ф1 (α)

مجدداً با استفاده از روش سکانت (روش وتری) خواهیم داشت:

α0 = 0.5000

جهت گویا نمودن روش حل، در شکل زیر مقدار 1 را نمایش دادیم.

جهت محاسبه (x(3 خواهیم داشت:

X (2) = x (1) – α1˅f (x (1)) = [4.000, 3.000, -5.060] T

˅f (x (2)) = [0.00, 0.00, -0.003525] T

α2 = arg min f (0.00 +0.00 + 4(-5.060 +0.003525 α +5)4)

α2= arg min ф2 (α)

با ادامه تکرار قبلی α2 = 16.29 بدست خواهد آمد.

X (3) = [4.000, 3.000, -5.002] T

مجددا جهت وضوح بهتر مقدار 2 در شکل زیر نشان داده شده است:

توجه داشته باشید که مقدار مینیمم تابع f  برابر [4, 3, -5] است، و از این رو به نظر می رسد که ما به نقطه مینیمم تنها در سه تکرار رسیدیم.

کد مطلب برنامه فوق موجود است که با مراجعه به این بخش می توانید آن را سفارش دهید.

X