
تعد طريقة الإحداثيات النسبية إحدى أبسط الطرق للتحسين متعدد الأبعاد وتقوم بعمل جيد للعثور على الحد الأدنى المحلي من الوظائف باستخدام طبوغرافيا سلسة نسبيًا ، لذلك من الأفضل أن تبدأ في التعرف على طرق التحسين منها.
يتم البحث عن الحد الأقصى في اتجاه محاور الإحداثيات ، أي أثناء عملية البحث ، يتم تغيير إحداثي واحد فقط. وبالتالي ، فإن مشكلة متعددة الأبعاد تقلل إلى مشكلة ذات بعد واحد.
خوارزمية
الدورة الأولى:
- x1=var ، x2=x02 ، x3=x03 ، ... ، xn=x0n .
- تبحث عن وظائف القصوى f(x1) . ضع أقصى وظيفة في هذه النقطة x11 .
- x1=x11 ، x2=var ، x3=x03 ، ... ، xn=x0n . وظيفة القذف f(x2) يساوي x12
- ...
- x1=x11 ، x2=x12 ، x3=x13 ، ... ، xn=var .
نتيجة لتنفيذ الخطوات n ، تم العثور على نقطة جديدة من النهج إلى الطرف (x11،x12،...،x1n) . بعد ذلك ، نتحقق من معيار نهاية الحساب: إذا تم الوفاء به ، فسيتم العثور على الحل ، وإلا فإننا نؤدي دورة أخرى.
التحضير
تحقق من إصدارات الحزمة:
(v1.1) pkg> status Status `C:\Users\User\.julia\environments\v1.1\Project.toml` [336ed68f] CSV v0.4.3 [a93c6f00] DataFrames v0.17.1 [7073ff75] IJulia v1.16.0 [47be7bcc] ORCA v0.2.1 [58dd65bb] Plotly v0.2.0 [f0f68f2c] PlotlyJS v0.12.3 [91a5bcdd] Plots v0.23.0 [ce6b1742] RDatasets v0.6.1 [90137ffa] StaticArrays v0.10.2 [8bb1440f] DelimitedFiles [10745b16] Statistics
نحدد وظيفة لرسم خطوط السطح أو المستوى التي سيكون من المناسب فيها ضبط حدود الرسم البياني:
using Plots plotly()
كدالة نموذجية ، نختار مكافئ إهليلجي
parabol(x) = sum(u->u*u, x) fun = parabol plotter(surface, low = [-1 -1], up = [1 1])

تنسيق النسب
نحن نطبق الطريقة في دالة تأخذ اسم طريقة التحسين أحادية البعد ، وأبعاد المشكلة ، والخطأ المطلوب ، والتقريب الأولي ، والقيود المفروضة على خطوط مستوى الرسم. يتم تعيين جميع المعلمات إلى القيم الافتراضية.
function ofDescent(odm; ndimes = 2, ε = 1e-4, fit = [.5 .5], low = [-1 -1], up = [1 1]) k = 1
بعد ذلك ، سنحاول طرقًا مختلفة للتحسين أحادي البعد.
طريقة نيوتن
xn+1=xn− fracf(xn)f′(xn)
فكرة الطريقة بسيطة مثل التنفيذ

يطلب نيوتن تقريبًا أوليًا ، وبدون حصر الخطوات ، يمكنه بسهولة ركوب مسافات غير معروفة. حساب المشتق أمر مرغوب فيه ، ولكن يمكن الاستغناء عن اختلاف بسيط. نقوم بتعديل وظيفتنا:
function newton(i, fit, ϵ) k = 1 oldfit = Inf x = [] y = [] push!(x, fit[1]) push!(y, fit[2]) while ( abs(oldfit - fit[i]) > ϵ && k<50 ) fx = fun(fit) oldfit = fit[i] fit[i] += 0.01 dfx = fun(fit) fit[i] -= 0.01 tryfit = fx*0.01 / (dfx-fx)

معكوس مكافئ الاستيفاء
طريقة لا تتطلب معرفة المشتق ولديها تقارب جيد
function ipi(i, fit, ϵ)

إذا أخذنا التقريب الأولي بشكل أسوأ ، فستبدأ الطريقة في المطالبة بعدد هائل من الخطوات لكل عصر من النسب الإحداثي. في هذا الصدد ، فاز شقيقه
مكافئ متسلسل الاستيفاء
يتطلب أيضًا ثلاث نقاط بداية ، لكن في العديد من وظائف الاختبار ، تظهر نتائج مرضية أكثر.
function spi(i, fit, ϵ)

الخروج من نقطة بداية crappy جدا جاء في ثلاث خطوات! جيد ... لكن كل الطرق لها عيب - تتلاقى مع الحد الأدنى المحلي. الآن لنأخذ وظيفة أكلي للبحث
f(x،y)=−20 exp left[−0.2 sqrt0.5 left(x2+y2 right) right]− exp left[0.5 left( cos2 pix+ cos2 piy right) right]+e+20
ekly(x) = -20exp(-0.2sqrt(0.5(x[1]*x[1]+x[2]*x[2]))) - exp(0.5(cospi(2x[1])+cospi(2x[2]))) + 20 + ℯ


ofDescent(spi, fit = [1.4 1.4], low = [-.1 -.1], up = [2.4 2.4])

طريقة النسبة الذهبية
النظرية على الرغم من أن التنفيذ معقد ، إلا أن الطريقة تظهر أحيانًا بشكل جيد عن طريق القفز بالحد الأدنى المحلي
function interval(i, fit, st) d = 0. ab = zeros(2) fitc = copy(fit) ab[1] = fitc[i] Fa = fun(fitc) fitc[i] -= st Fdx = fun(fitc) fitc[i] += st if Fdx < Fa st = -st end fitc[i] += st ab[2] = fitc[i] Fb = fun(fitc) while Fb < Fa d = ab[1] ab[1] = ab[2] Fa = Fb fitc[i] += st ab[2] = fitc[i] Fb = fun(fitc)

هذا كل شيء مع النسب المنسق. خوارزميات الطرق المقدمة بسيطة للغاية ، لذلك ليس من الصعب تنفيذها. في المستقبل ، يمكنك التفكير في الأدوات المضمنة للغة جوليا ، لكن في الوقت الحالي تريد أن تشعر بكل شيء بيديك ، إذا جاز التعبير ، فكر في طرق أكثر تعقيدًا وفعالية ، ثم يمكنك الانتقال إلى التحسين العالمي ، مع المقارنة في نفس الوقت بالتنفيذ بلغة أخرى.
الأدب
- Zaitsev V.V. الطرق العددية للفيزيائيين. المعادلات غير الخطية والتحسين: تعليمي. - سمارة ، 2005 - 86 ثانية.
- Ivanov A.V. أساليب الكمبيوتر لتحسين النظم البصرية. دليل الدراسة. - SPB: SPbSU ITMO ، 2010 - 114 ثانية.
- Popova T. M. طرق التحسين متعدد الأبعاد: إرشادات ومهام العمل في المختبر في مجال "طرق التحسين" للطلاب في اتجاه "الرياضيات التطبيقية" / شركات. تي إم بوبوفا. - خاباروفسك: دار النشر للمحيط الهادئ. الدولة الجامعة ، 2012 .-- 44 ص.