روش های گرادیان مفهوم گرادیان و محاسبه آن

روش آرامش بخش

الگوریتم روش شامل یافتن جهت محوری است که در آن تابع هدف به شدت کاهش می یابد (هنگام جستجو برای حداقل). مشکل بهینه سازی بدون محدودیت را در نظر بگیرید

برای تعیین جهت محوری در نقطه شروع جستجو، مشتقات، , از ناحیه با توجه به همه متغیرهای مستقل تعیین می شوند. جهت محوری مربوط به بزرگترین مشتق در مقدار مطلق است.

اجازه دهید جهت محوری باشد، یعنی. .

اگر علامت مشتق منفی باشد، تابع در جهت محور و اگر مثبت باشد در جهت مخالف کاهش می یابد:

در نقطه محاسبه کنید. در جهت تابع کاهشی یک پله برداشته می شود، مشخص می شود و در صورت بهبود معیار، مراحل ادامه می یابد تا حداقل مقدار در جهت انتخاب شده پیدا شود. در این مرحله، مشتقات با توجه به همه متغیرها دوباره تعیین می شوند، به استثنای آنهایی که نزول بر روی آنها انجام می شود. مجدداً جهت محوری سریعترین کاهش یافت می شود که در امتداد آن گام های بعدی برداشته می شود و غیره.

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

که در شرایط دقیقی تبدیل می شود که مشتقات در نقطه منتهی برابر با صفر باشند. طبیعتاً شرط (3.7) تنها در صورتی قابل استفاده است که بهینه در محدوده قابل قبول متغیرهای مستقل باشد. از سوی دیگر، اگر بهینه در مرز منطقه بیفتد، معیاری از نوع (3.7) نامناسب است و به جای آن باید مثبت بودن همه مشتقات را با توجه به جهت های محوری مجاز اعمال کرد.

الگوریتم نزول برای جهت محوری انتخاب شده می تواند به صورت نوشته شود

(3.8)

مقدار متغیر در هر مرحله از فرود کجاست.

مقدار k + 1 step، که بسته به شماره مرحله می تواند متفاوت باشد:

تابع علامت z است.

بردار نقطه ای که در آن آخرین بارمشتقات محاسبه شد.



علامت "+" در الگوریتم (3.8) هنگام جستجوی حداکثر I و علامت "-" هنگام جستجوی حداقل I گرفته می شود. قدم کمتر h.، موضوعات مقدار بیشترمحاسبات در راه رسیدن به بهینه اما اگر مقدار h بیش از حد بزرگ باشد، نزدیک به بهینه، ممکن است یک حلقه فرآیند جستجو رخ دهد. در نزدیکی بهینه، لازم است که شرط h

ساده ترین الگوریتم برای تغییر مرحله h به شرح زیر است. در ابتدای فرود، یک پله برابر است، به عنوان مثال، 10٪ از محدوده d; با تغییر این مرحله، فرود در جهت انتخاب شده انجام می شود تا زمانی که شرط دو محاسبه بعدی برآورده شود.

اگر شرط در هر مرحله نقض شود، جهت فرود روی محور معکوس شده و فرود از آخرین نقطه با کاهش اندازه پله به نصف ادامه می یابد.

نماد رسمی این الگوریتم به شرح زیر است:

(3.9)

در نتیجه استفاده از چنین استراتژی، نزول Sha در ناحیه بهینه در این جهت کاهش می‌یابد و با کاهش E می‌توان جستجو در جهت را متوقف کرد.

سپس یک جهت محوری جدید پیدا می‌شود، گام اولیه برای فرود بیشتر، معمولاً کوچک‌تر از مسیری که در جهت محوری قبلی طی شده است. ماهیت حرکت در بهینه در این روش در شکل 3.4 نشان داده شده است.

شکل 3.5 - مسیر حرکت به سمت بهینه در روش آرامش

بهبود الگوریتم جستجو با این روش با استفاده از روش های بهینه سازی تک پارامتری امکان پذیر است. در این مورد، یک طرح برای حل مشکل می تواند پیشنهاد شود:

مرحله 1. - جهت محوری،

; ، اگر ؛

مرحله 2 - جهت محوری جدید.

روش گرادیان

این روش از تابع گرادیان استفاده می کند. تابع گرادیان در یک نقطه بردار نامیده می شود که پیش بینی های آن بر روی محورهای مختصات مشتقات جزئی تابع نسبت به مختصات است (شکل 6.5).

شکل 3.6 - گرادیان تابع

.

جهت گرادیان جهت سریعترین افزایش در تابع است (تندترین "شیب" سطح پاسخ). جهت مخالف آن (جهت ضد گرادیان) جهت سریعترین کاهش است (جهت سریعترین "نزول" مقادیر).

طرح شیب بر روی صفحه متغیرها عمود بر مماس بر خط تراز است، یعنی. گرادیان متعامد به خطوط سطح ثابت است تابع هدف(شکل 3.6).

شکل 3.7 - مسیر حرکت به سمت بهینه در روش

شیب

بر خلاف روش آرام سازی، در روش گرادیان مراحل در جهت سریع ترین کاهش (افزایش) در تابع برداشته می شود.

جستجوی بهینه در دو مرحله انجام می شود. در مرحله اول، مقادیر مشتقات جزئی با توجه به همه متغیرها یافت می شود که جهت گرادیان را در نقطه مورد نظر تعیین می کند. در مرحله دوم، در هنگام جستجوی ماکزیمم، یک پله در جهت گرادیان و هنگام جستجوی حداقل در جهت مخالف ایجاد می‌شود.

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

مشتقات با توجه به سایر متغیرها به طور مشابه تعیین می شوند. پس از یافتن اجزای گرادیان، حرکات آزمایشی متوقف شده و مراحل کار در جهت انتخاب شده آغاز می شود. علاوه بر این، اندازه گام بزرگتر است، قدر مطلق بردار بیشتر است.

هنگامی که یک مرحله اجرا می شود، مقادیر همه متغیرهای مستقل به طور همزمان تغییر می کنند. هر یک از آنها یک افزایش متناسب با مولفه متناظر گرادیان دریافت می کند

, (3.10)

یا به صورت برداری

, (3.11)

یک ثابت مثبت کجاست.

"+" - هنگام جستجوی حداکثر I.

"-" - هنگام جستجوی min I.

الگوریتم جستجوی گرادیان برای عادی سازی گرادیان (تقسیم بر ماژول) در فرم اعمال شده است

; (3.12)

(3.13)

مقدار گام را در جهت گرادیان مشخص می کند.

الگوریتم (3.10) این مزیت را دارد که با نزدیک شدن به بهینه، طول گام به طور خودکار کاهش می یابد. و با الگوریتم (3.12)، استراتژی تغییر را می توان بدون توجه به مقدار مطلق ضریب ساخت.

در روش گرادیان، هر کدام به یک مرحله کاری تقسیم می‌شوند، پس از آن مشتقات دوباره محاسبه می‌شوند، جهت جدیدی از گرادیان تعیین می‌شود و فرآیند جستجو ادامه می‌یابد (شکل 3.5).

اگر اندازه گام خیلی کوچک انتخاب شود، به دلیل نیاز به محاسبه در نقاط بسیار زیاد، حرکت به سمت بهینه بسیار طولانی خواهد بود. اگر مرحله خیلی بزرگ انتخاب شود، ممکن است حلقه در ناحیه بهینه رخ دهد.

فرآیند جستجو تا زمانی ادامه می‌یابد که،، به صفر نزدیک شود یا تا زمانی که به مرز ناحیه تنظیم متغیر برسد.

در یک الگوریتم با پالایش گام خودکار، مقدار به گونه ای پالایش می شود که تغییر جهت گرادیان در نقاط همسایه و

معیارهای پایان دادن به جستجوی بهینه:

; (3.16)

; (3.17)

جایی که هنجار بردار است.

جستجو زمانی پایان می یابد که یکی از شرایط (3.14) - (3.17) برآورده شود.

نقطه ضعف جستجوی گرادیان (و همچنین روش های مورد بحث در بالا) این است که هنگام استفاده از آن، فقط می توانید پیدا کنید افراطی موضعیکارکرد . برای یافتن اکسترم های محلی دیگر، جستجو از نقاط شروع دیگر ضروری است.

روش گرادیان و انواع آن از متداول‌ترین روش‌ها برای یافتن حداکثر توابع چندین متغیر است. ایده روش گرادیان این است که هر بار در جهت بیشترین افزایش تابع هدف در فرآیند جستجوی یک اکسترموم (برای تعریف حداکثر) حرکت کنیم.

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

برنج. 4.11.

برنج. 4.12.

(مورد دو بعدی)

ابتدا نقطه شروع را انتخاب کنید اگر در حالت تک بعدی (به بخش 4.2.6 مراجعه کنید) از آن امکان پذیر بود.

فقط به سمت چپ یا راست حرکت کنید (شکل 4.9 را ببینید)، سپس در حالت چند بعدی تعداد جهت های ممکن حرکت بی نهایت زیاد است. روی انجیر 4.11، نشان دهنده مورد دو متغیر، فلش هایی که از نقطه شروع بیرون می آیند ولی،جهت های ممکن مختلف نشان داده شده است. در عین حال، حرکت در امتداد برخی از آنها باعث افزایش مقدار تابع هدف نسبت به نقطه می شود ولی(به عنوان مثال جهت 1-3), و در جهات دیگر منجر به کاهش آن می شود (جهت 5-8). با توجه به ناشناخته بودن موقعیت نقطه بهینه، جهتی که تابع هدف سریعترین افزایش می یابد بهترین در نظر گرفته می شود. این جهت نامیده می شود شیبکارکرد. توجه داشته باشید که در هر نقطه از صفحه مختصات، جهت شیب عمود بر مماس بر خط تراز کشیده شده از همان نقطه است.

در تحلیل ریاضی ثابت می شود که اجزای بردار گرادیان تابع در =/(*, x 2، ..., x n)مشتقات جزئی آن با توجه به آرگومان ها هستند، i.e.

&ad/(x 1 ,x 2 ,.= (du / dhu، dy / dx 2، ...، dy / dx p). (4.20)

بنابراین، هنگام جستجوی ماکزیمم با استفاده از روش گرادیان، در اولین تکرار، اجزای گرادیان طبق فرمول (4.20) برای نقطه شروع محاسبه می شود و یک گام کاری در جهت یافت شده برداشته می شود، یعنی. انتقال به نقطه جدید -0)

Y" با مختصات:

1§گاز1/(x (0))،

یا به صورت برداری

جایی که ایکس-پارامتر ثابت یا متغیری که طول مرحله کار را تعیین می کند، ?i>0. در تکرار دوم، دوباره محاسبه کنید

بردار گرادیان در حال حاضر برای یک نقطه جدید است Y، پس از آن، به طور مشابه

فرمول برو به نقطه x^ > و غیره. (شکل 4.12). برای دلخواه به-تکراری که داریم

اگر نه ماکزیمم، بلکه حداقل تابع هدف، در هر تکرار یک گام در جهت مخالف جهت گرادیان برداشته می شود. به آن جهت ضد گرادیان می گویند. به جای فرمول (4.22)، در این صورت خواهد بود

انواع مختلفی از روش گرادیان وجود دارد که در انتخاب مرحله کار متفاوت است. برای مثال می توان به هر نقطه بعدی با یک مقدار ثابت رفت ایکس،و سپس

طول مرحله کار فاصله بین نقاط مجاور x^ است

آنها 1 "- متناسب با مدول بردار گرادیان خواهد بود. برعکس، می توانید در هر تکرار انتخاب کنید ایکسبه طوری که طول مرحله کار ثابت بماند.

مثال.برای یافتن حداکثر تابع مورد نیاز است

y \u003d 110-2 (lg، -4) 2 -3 (* 2 -5) 2.

البته با استفاده از شرایط اکستریم لازم بلافاصله راه حل مورد نظر را بدست می آوریم: ایکس ] - 4; x 2= 5. با این حال، با استفاده از این مثال ساده، نشان دادن الگوریتم روش گرادیان راحت است. بیایید گرادیان تابع هدف را محاسبه کنیم:

درجه y \u003d (du / dx-، dy / dx 2) \u003d(4(4 - *،)؛ 6(5 - x 2)) و نقطه شروع را انتخاب کنید

A*» = (x)°> = 0; 4 درجه > = O).

مقدار تابع هدف برای این نقطه، همانطور که محاسبه آن آسان است، برابر است y[x^ j = 3. اجازه دهید ایکس= const = 0.1. مقدار گرادیان در یک نقطه

3c (0) برابر است با درجه y|x^j = (16; 30). سپس در اولین تکرار طبق فرمول (4.21) مختصات نقطه را بدست می آوریم

x 1)= 0 + 0.1 16 = 1.6; x^ = 0 + 0.1 30 = 3.

y (x (1)) \u003d 110 - 2 (1.6 - 4) 2 - 3 (3 - 5) 2 \u003d 86.48.

همانطور که می بینید، به طور قابل توجهی بزرگتر از مقدار قبلی است. در تکرار دوم، با فرمول (4.22) داریم:

  • 1,6 + 0,1 4(4 - 1,6) = 2,56;

روش گاوس - سیدل

این روش شامل یافتن متناوب منتهی الیه تابع هدف برای هر عامل است. در همان زمان، در هر مرحله، عوامل (k-1) تثبیت می شوند و تنها یک عامل i-ام تغییر می کند

روش محاسبه: در منطقه محلی فضای عامل، بر اساس آزمایش های اولیه، نقطه ای انتخاب می شود که با بهترین نتیجه فرآیند مطابقت دارد و از آنجا شروع به حرکت به سمت بهینه می کنند. مرحله حرکت برای هر عامل توسط محقق تعیین می شود. ابتدا همه عوامل در یک سطح ثابت می شوند و یک عامل تغییر می کند تا زمانی که در تابع پاسخ (Y) افزایش (کاهش) ایجاد شود، سپس عامل دیگر تغییر می کند در حالی که بقیه ثابت می شوند و غیره تا نتیجه مطلوب (Y) ) بدست می آید. نکته اصلی انتخاب مرحله مناسب برای هر عامل است.

این روش ساده ترین و گویاترین است، اما حرکت به سمت بهینه طولانی است و روش به ندرت به نقطه بهینه منتهی می شود. در حال حاضر، گاهی اوقات در آزمایش ماشین استفاده می شود.

این روش‌ها حرکت بهینه را در امتداد یک خط مستقیم عمود بر خطوط پاسخ مساوی، یعنی در جهت گرادیان تابع پاسخ، فراهم می‌کنند.

روش های گرادیاندارای انواع مختلفی هستند که در قوانین انتخاب مراحل تغییر و مراحل کار در هر مرحله از حرکت به سمت انتهایی متفاوت است.

ماهیت همه روش ها به شرح زیر است: در ابتدا، بر اساس آزمایش های اولیه، یک نقطه پایه انتخاب می شود. سپس در هر مرحله آزمایش‌های آزمایشی حول نقطه پایه بعدی سازماندهی می‌شوند که نتایج آن جهت جدید گرادیان را ارزیابی می‌کند و پس از آن یک مرحله کاری در این جهت انجام می‌شود.

روش گرادیان (عادی) طبق طرح زیر انجام می شود:

الف) یک نقطه پایه را انتخاب کنید.

ب) مراحل حرکت را برای هر عامل انتخاب کنید.

ج) مختصات نقاط آزمون را تعیین کنید.

د) انجام آزمایش در نقاط آزمایش. در نتیجه، مقادیر پارامتر بهینه سازی (Y) در هر نقطه به دست می آید.

ه) بر اساس نتایج آزمایش‌ها، برآورد مولفه‌های بردار گرادیان در نقطه M برای هر عامل iم محاسبه می‌شود:


که در آن H i گام حرکت در امتداد X i است.

X i - مختصات نقطه کاری قبلی.

ز) مختصات این نقطه کاری به عنوان یک نقطه پایه جدید در نظر گرفته می شود که در اطراف آن آزمایش ها در نقاط آزمایش انجام می شود. گرادیان محاسبه می شود و به همین ترتیب تا رسیدن به پارامتر بهینه سازی مورد نظر (Y) ادامه می یابد. تصحیح جهت حرکت پس از هر مرحله انجام می شود.

مزایای روش: سادگی، سرعت بالاتر حرکت تا حد مطلوب.

معایب: حساسیت بالا به تداخل. اگر منحنی شکل پیچیده ای داشته باشد، روش ممکن است به یک بهینه منجر نشود. اگر منحنی پاسخ صاف باشد، روش بی اثر است. این روش اطلاعاتی در مورد تعامل عوامل ارائه نمی دهد.

الف) روش صعود با شیب تند (باکس ویلسون).

ب) تصمیم گیری پس از یک صعود شیب دار.

ج) روش بهینه سازی ساده.

د) مزایا و معایب روش ها.

5.7.3 روش صعود تند (باکس ویلسون)

این روش یک سنتز است بهترین ویژگی هاروش های گرادیان، روش گاوس-سیدل و روش های PFE و DFE - به عنوان وسیله ای برای به دست آوردن یک مدل ریاضی از فرآیند. حل مسئله بهینه سازی با این روش به گونه ای انجام می شود که حرکت پله ای در جهت سریع ترین افزایش (کاهش) پارامتر بهینه سازی انجام شود. تصحیح جهت حرکت (برخلاف روش های گرادیان) نه پس از هر مرحله، بلکه با رسیدن به یک انتها خاص از تابع هدف انجام می شود. علاوه بر این، در نقاط یک اکسترم نسبی، یک آزمایش فاکتوریل جدید تنظیم شده است، یک آزمایش جدید مدل ریاضیو دوباره صعود تند تکرار می شود تا به حد مطلوب جهانی برسد. حرکت در امتداد شیب از نقطه صفر (مرکز پلان) شروع می شود.

روش صعود تند شامل حرکت به سمت بهینه در امتداد شیب است.

جایی که i,j,k بردارهای واحد در جهت محورهای مختصات مربوطه هستند.

روش محاسبه.

داده های اولیه یک مدل ریاضی از فرآیند است که با هر روشی (PFE، DFE و غیره) به دست می آید.

محاسبات به ترتیب زیر انجام می شود:

الف) بهتر است معادله رگرسیون را با استفاده از فرمول های کدگذاری متغیر به شکل طبیعی ترجمه کنید:

جایی که ایکسمقدار i-coded متغیر x i ;

X i - مقدار طبیعی متغیر x i ;

X i C - سطح مرکزی عامل در در نوع;

l i - فاصله تغییرات عامل x i در شکل طبیعی.

ب) مراحل حرکت را تا حد مطلوب برای هر عامل محاسبه کنید.

برای انجام این کار، حاصل ضرب ضرایب معادله رگرسیون را به صورت طبیعی با فواصل تغییرات مربوطه محاسبه کنید.

B i *.l I ,

سپس از بین محصولات به دست آمده، ماکزیمم مدول انتخاب شده و ضریب مربوط به این محصول به عنوان ضریب پایه (B a l a) در نظر گرفته می شود. برای فاکتور پایه باید مرحله حرکت را تنظیم کنید که توصیه می شود کمتر یا مساوی فاصله تغییرات فاکتور پایه تنظیم شود.


علامت گام حرکت l a ’ باید با علامت ضریب معادله رگرسیون مربوط به ضریب پایه (B a) مطابقت داشته باشد. مقدار مراحل برای سایر عوامل بر اساس فرمول به نسبت پایه محاسبه می شود:

علائم مراحل حرکت نیز باید با علائم ضرایب متناظر معادله رگرسیون مطابقت داشته باشد.

ج) تابع پاسخ در مرکز طرح محاسبه می شود، یعنی با مقادیر فاکتورها برابر با سطح مرکزی فاکتورها، زیرا حرکت به سمت بهینه از مرکز طرح شروع می شود.

در مرحله بعد، پارامتر بهینه سازی محاسبه می شود، اگر می خواهید Y max را بدست آورید، مقادیر فاکتورها را با مقدار مرحله حرکت مربوطه افزایش می دهد. در غیر این صورت، در صورت نیاز به بدست آوردن Ymin، مقادیر فاکتورها با مقدار گام حرکت کاهش می یابد.

این روش تکرار می شود و به طور متوالی تعداد مراحل افزایش می یابد تا به مقدار مورد نظر پارامتر بهینه سازی (Y) برسد. هر یک از عوامل پس از gمراحل مهم خواهد بود:

اگر Y®max X i \u003d X i c + gl i `'

اگر Y® دقیقه X i \u003d X i c -gl i `.(5.36)

سخنرانی شماره 8

روش های حل مسئله گرادیان برنامه نویسی غیر خطی. روش های توابع جریمه. کاربردهای برنامه نویسی غیرخطی برای مسائل تحقیق در عملیات.

وظایف بدون محدودیتبه طور کلی، هر مسئله غیر خطی را می توان با روش گرادیان حل کرد. با این حال، تنها یک اکستریم موضعی در این مورد یافت می شود. بنابراین، استفاده از این روش برای حل مسائل برنامه نویسی محدب که در آن هر اکستروم محلی نیز سراسری است، به کار برده شود (به قضیه 7.6 مراجعه کنید).

ما مشکل به حداکثر رساندن یک تابع متمایز غیرخطی را در نظر خواهیم گرفت f(ایکس). ماهیت جستجوی گرادیان برای حداکثر نقطه ایکس* بسیار ساده: شما باید یک نقطه دلخواه بگیرید ایکس 0 و با استفاده از گرادیان محاسبه شده در این نقطه، جهت را تعیین کنید f(ایکس) با بالاترین نرخ افزایش می یابد (شکل 7.4)،

و سپس با برداشتن یک قدم کوچک در جهت پیدا شده، به نقطه جدیدی بروید x i. سپس دوباره بهترین جهت را برای رفتن به نقطه بعدی مشخص کنید ایکس 2 و غیره در شکل. 7.4 مسیر جستجو یک خط شکسته است ایکس 0 , ایکس 1 , ایکس 2 ... بنابراین، لازم است دنباله ای از نقاط ساخته شود ایکس 0 , ایکس 1 , ایکس 2 ,...,ایکس k , ... به طوری که به حداکثر نقطه همگرا می شود ایکس*، یعنی برای نقاط دنباله، شرایط

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

حرکت از یک نقطه x kبه یک نقطه جدید xk+1در امتداد یک خط مستقیم که از نقطه عبور می کند انجام می شود x kو داشتن معادله

(7.29)

که در آن λ k یک پارامتر عددی است که اندازه گام به آن بستگی دارد. به محض اینکه مقدار پارامتر در معادله (7.29) انتخاب شد: λ k =λ k 0، نقطه بعدی در چند خط جستجو تعریف می شود.

روش های گرادیان در نحوه انتخاب اندازه گام با یکدیگر متفاوت هستند - مقدار λ k 0 پارامتر λ k . برای مثال می توان از نقطه ای به نقطه دیگر با یک گام ثابت λ k = λ حرکت کرد، یعنی برای هر ک

اگر معلوم شود که ، سپس باید به نقطه برگردید و مقدار پارامتر را به عنوان مثال به کاهش دهید λ /2.

گاهی اوقات اندازه گام متناسب با مدول گرادیان گرفته می شود.

اگر به دنبال راه حل تقریبی باشید، می توان جستجو را بر اساس ملاحظات زیر خاتمه داد. بعد از هر سری از تعداد معینگام ها مقادیر به دست آمده تابع هدف را با هم مقایسه می کنند f(ایکس). اگر بعد از سری بعدی تغییر کند f(ایکس) از یک عدد کوچک از پیش تعیین شده تجاوز نمی کند، جستجو خاتمه می یابد و به مقدار رسیده است f(ایکس) به عنوان حداکثر تقریبی مورد نظر و مربوطه در نظر گرفته می شود ایکسرا برای ایکس*.



اگر تابع هدف f(ایکس) مقعر (محدب)، سپس لازم و شرایط کافیبهینه بودن نقطه ایکس* گرادیان صفر تابع در آن نقطه است.

یک نوع رایج جستجوی گرادیان، شیب‌دارترین روش صعود نامیده می‌شود. ماهیت آن به شرح زیر است. پس از تعریف گرادیان در یک نقطه x kحرکت در امتداد یک خط مستقیم به نقطه تولید شده است x k+ 1 که در آن به حداکثر مقدار تابع رسیده است f(ایکس) در جهت گرادیان. سپس مجدداً شیب در این نقطه مشخص می شود و حرکت در یک خط مستقیم در جهت گرادیان جدید تا نقطه انجام می شود. x k+ 2، که در آن به حداکثر مقدار در این جهت رسیده است f(ایکس). حرکت تا رسیدن به نقطه ادامه دارد. ایکس* مربوط به بزرگترین مقدار تابع هدف است f(ایکس). روی انجیر 7.5 طرح حرکت را تا نقطه بهینه نشان می دهد ایکس* روش سریعترین افزایش. در این مورد، جهت گرادیان در نقطه x kمماس بر خط سطح سطح است f(ایکس) در نقطه x k+ 1، از این رو گرادیان در نقطه x k+ 1 متعامد به گرادیان است (مقایسه با شکل 7.4).

حرکت از یک نقطه x kتا یک نقطه با افزایش عملکرد همراه است f(ایکس) با مقدار

از عبارت (7.30) می توان دریافت که افزایش تابعی از متغیر است، یعنی . هنگام پیدا کردن حداکثر تابع f(x) در جهت گرادیان، لازم است مرحله حرکت (ضریب) را انتخاب کنید که بیشترین افزایش را در افزایش تابع ایجاد می کند، یعنی تابع. ارزشی که در آن بالاترین ارزش، می توان از شرط لازم برای حداکثر تابع تعیین کرد:

(7.31)

اجازه دهید با تفکیک برابری (7.30) با توجه به چگونگی، عبارتی برای مشتق پیدا کنیم تابع پیچیده:

با جایگزینی این نتیجه به برابری (7.31)، به دست می آوریم

این برابری یک تفسیر هندسی ساده دارد: گرادیان در نقطه بعدی x k+ 1، متعامد به گرادیان در نقطه قبل x k.


خطوط تراز این سطح ساخته شده است. برای این منظور، معادله به شکل ( ایکس 1 -1) 2 + (x 2 -2) 2 \u003d 5-0.5 f، که از آن مشخص است که خطوط تقاطع پارابولوئید با صفحات موازی با صفحه ایکس 1 O ایکس 2 (خطوط سطح) دایره هایی با شعاع هستند. در f=-150، -100، -50 شعاع آنها به ترتیب برابر است ، و مرکز مشترک در نقطه (1؛ 2) است. گرادیان این تابع را پیدا کنید:

قدم می گذارم. محاسبه می کنیم:

روی انجیر 7.6 با مبدا در نقطه ایکس 0 =(5; 10) بردار 1/16 ساخته شده است که جهت سریعترین افزایش تابع را در نقطه نشان می دهد. ایکس 0 . نقطه بعدی در این راستا قرار دارد. در این مرحله.

با استفاده از شرط (7.32)، به دست می آوریم

یا 1-4=0، از آنجا =1/4. از آنجا که، پس مقدار یافت شده حداکثر نقطه است. ما پیدا می کنیم ایکس 1 =(5-16/4; 10-32/4)=(1; 2).

مرحله دوم. نقطه شروع مرحله دوم ایکس 1 = (1؛ 2). =(-4∙1 +4; -4∙2+8)=(0; 0) را محاسبه کنید. در نتیجه، ایکس 1 =(1; 2) یک نقطه ثابت است. اما از آنجایی که عملکرد داده شدهمقعر، سپس در نقطه یافت شده (1؛ 2) حداکثر جهانی به دست می آید.

مشکل با قیود خطی بلافاصله توجه می کنیم که اگر تابع هدف f(ایکس) در یک مسئله مقید دارای یک اکسترموم منفرد است و در داخل ناحیه مجاز است، سپس برای یافتن اکسترموم ایکس* روش فوق بدون هیچ گونه تغییری اعمال می شود.

یک مسئله برنامه ریزی محدب با محدودیت های خطی را در نظر بگیرید:

(7.34)

فرض بر این است که f(ایکس) یک تابع مقعر است و دارای مشتقات جزئی پیوسته در هر نقطه در ناحیه مجاز است.

بیایید با یک تصویر هندسی از روند حل مسئله شروع کنیم (شکل 7.7). بگذارید نقطه شروع باشد ایکس 0 در داخل منطقه مجاز قرار دارد. از یک نقطه ایکس 0 می توانید در جهت گرادیان حرکت کنید تا اینکه f(ایکس) به حداکثر نمی رسد. در مورد ما f(ایکس) همیشه افزایش می یابد، بنابراین باید در نقطه توقف کنید ایکس، روی خط مرزی همانطور که از شکل مشخص است، حرکت بیشتر در جهت گرادیان غیرممکن است، زیرا منطقه مجاز را ترک خواهیم کرد. بنابراین، باید جهت حرکت دیگری را یافت که از یک سو به خارج از منطقه مجاز منتهی نشود و از سوی دیگر، بیشترین افزایش را تضمین کند. f(ایکس). چنین جهتی بردار را که کوچکترین با بردار است تعیین می کند گوشه ی تیزدر مقایسه با هر بردار دیگری که از یک نقطه خارج می شود x iو در منطقه مجاز خوابیده است. از لحاظ تحلیلی، چنین بردار را می توان از شرط به حداکثر رساندن محصول اسکالر پیدا کرد . در این حالت، بردار نشان دهنده سودمندترین جهت با خط مرزی منطبق است.


بنابراین، در مرحله بعد، باید در امتداد خط مرزی حرکت کرد تا f(ایکس) در مورد ما - به نقطه ایکس 2. از شکل مشاهده می شود که باید بیشتر در جهت بردار حرکت کرد که از شرط به حداکثر رساندن حاصل ضرب اسکالر به دست می آید. ، یعنی در امتداد خط مرزی. حرکت در یک نقطه به پایان می رسد ایکس 3، از آنجایی که جستجوی بهینه سازی در این نقطه به پایان می رسد، زیرا تابع f(ایکس) دارای حداکثر محلی است. به دلیل فرورفتگی در این نقطه f(ایکس) همچنین در منطقه مجاز به حداکثر جهانی می رسد. گرادیان در حداکثر نقطه ایکس 3 =ایکس* با هر بردار از ناحیه معتبری که از آن می گذرد، یک زاویه مبهم ایجاد می کند x 3، از همین رو حاصلضرب عددیبرای هر قابل قبول منفی خواهد بود rk، بعلاوه r 3 در امتداد خط مرزی هدایت می شود. برای آن، حاصل ضرب اسکالر = 0، زیرا و متقابلاً عمود هستند (خط مرزی خط تراز سطح را لمس می کند. f(ایکس) عبور از حداکثر نقطه ایکس*). این برابری به عنوان یک نشانه تحلیلی عمل می کند که در نقطه ایکس 3 عملکرد f(ایکس) به حداکثر خود رسیده است.

اکنون راه حل تحلیلی مسئله (7.33) - (7.35) را در نظر بگیرید. اگر جستجوی بهینه‌سازی از نقطه‌ای آغاز شود که در ناحیه مجاز قرار دارد (همه محدودیت‌های مسئله به عنوان نابرابری‌های شدید برآورده می‌شوند)، باید در جهت گرادیان همانطور که در بالا مشخص شد حرکت کرد. با این حال، در حال حاضر انتخاب λkدر رابطه (7.29) با شرط باقی ماندن نقطه بعدی در ناحیه مجاز پیچیده می شود. این بدان معنی است که مختصات آن باید محدودیت های (7.34)، (7.35) را برآورده کند، یعنی نابرابری ها باید برآورده شوند:

(7.36)

حل سیستم نابرابری های خطی(7.36)، بخش مقادیر مجاز پارامتر را پیدا می کنیم λk، که در آن نقطه x k +1 متعلق به ناحیه مجاز خواهد بود.

معنی λ k *در نتیجه حل معادله (7.32):

که در آن f(ایکس) دارای حداکثر محلی در است λkدر جهت باید متعلق به بخش . اگر مقدار پیدا شده است λkفراتر از بخش مشخص شده، سپس به عنوان λ k *دریافت شد . در این حالت، نقطه بعدی مسیر جستجو بر روی ابرصفحه مرزی مربوط به نابرابری سیستم (7.36) است که بر اساس آن نقطه پایان درست هنگام حل سیستم به دست آمده است. فاصله مقادیر پارامتر قابل قبول λk.

اگر جستجوی بهینه‌سازی از نقطه‌ای که روی ابرصفحه مرزی قرار دارد شروع شد، یا نقطه بعدی مسیر جستجو روی ابر صفحه مرزی بود، برای ادامه حرکت به سمت حداکثر نقطه، ابتدا لازم است بهترین جهت حرکت را پیدا کنید. برای این منظور، یک مسئله کمکی برنامه ریزی ریاضی باید حل شود، یعنی حداکثر کردن تابع.

تحت محدودیت

برای آنها تی، که در آن

جایی که .

در نتیجه حل مسئله (7.37) - (7.40)، برداری پیدا می شود که کوچکترین زاویه تند را با گرادیان تشکیل می دهد.

شرط (7.39) می گوید که نقطه متعلق به مرز ناحیه مجاز است و شرط (7.38) به این معنی است که جابجایی از امتداد بردار به داخل منطقه مجاز یا در امتداد مرز آن هدایت می شود. شرط نرمال سازی (7.40) برای محدود کردن مقدار ضروری است، زیرا در غیر این صورت می توان مقدار تابع هدف (7.37) را به طور دلخواه بزرگ دانست. اشکال گوناگونشرایط عادی سازی، و بسته به این مسئله (7.37) - (7.40) می تواند خطی یا غیر خطی باشد.

پس از تعیین جهت، مقدار پیدا می شود λ k *برای نکته بعدی مسیر جستجو در این مورد، شرط اکسترموم ضروری به شکلی شبیه به معادله (7.32)، اما با جایگزینی برای بردار، یعنی.

(7.41)

جستجوی بهینه سازی با رسیدن به نقطه متوقف می شود x k *، که در آن .

مثال 7.5.یک تابع را تحت محدودیت ها به حداکثر برسانید

راه حل.برای نمایش بصری فرآیند بهینه سازی، آن را با یک تصویر گرافیکی همراه خواهیم کرد. شکل 7.8 چندین خط تراز از یک سطح معین و یک منطقه قابل قبول از OABS را نشان می دهد که در آن نقطه می توان پیدا کرد. ایکس* که حداکثر این تابع را ارائه می دهد (به مثال 7 4 مراجعه کنید).

به عنوان مثال، بیایید جستجوی بهینه سازی را از نقطه شروع کنیم ایکس 0 =(4، 2،5) روی خط مرزی AB قرار دارد ایکس 1 +4ایکس 2=14. که در آن f(ایکس 0)=4,55.

مقدار گرادیان را پیدا کنید

در نقطه ایکس 0 . علاوه بر این، از شکل می توان دریافت که خطوط تراز با علامت های بالاتر از f(ایکس 0) = 4.55. در یک کلام، شما باید به دنبال یک جهت باشید r 0 =(r 01 , r 02) رفتن به نقطه بعدی ایکس 1 نزدیک به بهینه برای این منظور، ما مشکل (7.37) - (7.40) به حداکثر رساندن تابع تحت محدودیت ها را حل می کنیم.


از آنجا که نقطه ایکس 0 فقط در یک خط مرزی (اول) قرار دارد ( من=1) ایکس 1 +4ایکس 2 = 14، سپس شرط (7.38) به صورت تساوی نوشته می شود.

سیستم معادلات محدود کننده این مسئله تنها دو راه حل دارد (9700/0-؛ 2425/0) و (9700/0؛ 2425/0-) با جایگزینی مستقیم آنها در تابع. تی 0 روی حداکثر تنظیم شده است تی 0 غیر صفر است و با حل به دست می آید (9700--؛ 0.2425) بنابراین، از ایکس 0 در جهت بردار مورد نیاز است r 0 \u003d (0.9700؛ 0.2425)، یعنی در امتداد خط مرزی BA.

برای تعیین مختصات نقطه بعدی ایکس 1 =(ایکس 11 ; ایکس 12)

(7.42)

لازم است مقدار پارامتری که در آن تابع است را پیدا کنید f(ایکس) در نقطه ایکس

از آنجا = 2.0618. در همان زمان = -0.3999<0. Значит,=2,0618. По формуле (7.42) находим координаты новой точки х 1 (2; 3).

اگر جستجوی بهینه سازی را ادامه دهیم، هنگام حل مسئله کمکی بعدی (7.37) - (7.40) مشخص می شود که Т 1 = ، به این معنی که نقطه x 1 حداکثر نقطه x* تابع هدف در ناحیه مجاز است. همان را می توان از شکل در نقطه x 1 مشاهده کرد که یکی از خطوط تراز، مرز ناحیه مجاز را لمس می کند. بنابراین نقطه x 1 نقطه حداکثر x* است. که در آن fحداکثر = f(ایکس*)=5,4.


مشکلی با محدودیت های غیر خطی اگر در مسائل مربوط به محدودیت های خطی، حرکت در امتداد خطوط مرزی ممکن و حتی مصلحت به نظر برسد، با محدودیت های غیرخطی که یک منطقه محدب را تعریف می کنند، هر جابجایی کوچک دلخواه از نقطه مرزی می تواند بلافاصله به خارج از منطقه راه حل های امکان پذیر منجر شود، و نیاز به بازگشت به منطقه مجاز وجود خواهد داشت (شکل 7.9). یک وضعیت مشابه برای مشکلاتی که در آن حداکثر عملکرد معمول است f(ایکس) در مرز منطقه می رسد. به همین دلیل مختلف

روش های حرکتی که ساخت دنباله ای از نقاط واقع در نزدیکی مرز و داخل محدوده مجاز یا حرکت زیگزاگی در امتداد مرز عبور از دومی را فراهم می کند. همانطور که از شکل مشاهده می شود، بازگشت از نقطه x 1 به ناحیه مجاز باید در امتداد گرادیان تابع مرزی که معلوم شد نقض شده است انجام شود. این اطمینان حاصل می کند که نقطه بعدی x 2 به سمت نقطه منحرف x* منحرف می شود. در چنین حالتی علامت اکسترموم همخطی بودن بردارها و .

روش نزول گرادیان.

جهت تندترین نزول با جهت بیشترین کاهش در تابع مطابقت دارد. مشخص است که جهت بیشترین افزایش در تابع دو متغیر u = f(x, y) با گرادیان آن مشخص می شود:

که در آن e1، e2 بردارهای واحد (Oths) در جهت محورهای مختصات هستند. بنابراین جهت مخالف گرادیان جهت بیشترین کاهش تابع را نشان خواهد داد. روش های مبتنی بر انتخاب مسیر بهینه سازی با استفاده از گرادیان نامیده می شوند شیب.

ایده پشت روش نزول گرادیان به شرح زیر است. انتخاب نقطه شروع

گرادیان تابع در نظر گرفته شده را در آن محاسبه می کنیم. در جهت مخالف گرادیان گام برداریم:

این فرآیند تا زمانی ادامه می یابد که کوچکترین مقدار تابع هدف به دست آید. به بیان دقیق، پایان جستجو زمانی فرا می رسد که حرکت از نقطه به دست آمده با هر مرحله منجر به افزایش مقدار تابع هدف شود. اگر به حداقل تابع در داخل ناحیه در نظر گرفته شده برسد، در این نقطه گرادیان برابر با صفر است که می تواند به عنوان سیگنالی در مورد پایان فرآیند بهینه سازی نیز عمل کند.

روش نزول گرادیان همان نقطه ضعف روش فرود مختصات را دارد: در حضور دره ها در سطح، همگرایی روش بسیار کند است.

در روش توصیف شده، لازم است گرادیان تابع هدف f(x) در هر مرحله بهینه‌سازی محاسبه شود:

فرمول های مشتقات جزئی را می توان به صراحت تنها زمانی به دست آورد که تابع هدف به صورت تحلیلی داده شود. در غیر این صورت، این مشتقات با استفاده از تمایز عددی محاسبه می شوند:

هنگام استفاده از نزول گرادیان در مسائل بهینه‌سازی، مقدار اصلی محاسبات معمولاً بر روی محاسبه گرادیان تابع هدف در هر نقطه از مسیر نزول قرار می‌گیرد. بنابراین، توصیه می شود که تعداد چنین نقاطی را بدون به خطر انداختن خود راه حل کاهش دهید. این امر در برخی از روش‌ها به دست می‌آید که اصلاحات نزولی گرادیان هستند. یکی از آنها شیب دارترین روش فرود است. بر اساس این روش، پس از تعیین در نقطه شروع جهت مخالف گرادیان تابع هدف، با کمینه سازی تابع در این جهت، یک مسئله بهینه سازی یک بعدی حل می شود. یعنی تابع به حداقل می رسد:

برای به حداقل رساندن می توان از یکی از روش های بهینه سازی تک بعدی استفاده کرد. همچنین می توان به سادگی در جهت مخالف گرادیان حرکت کرد، در حالی که نه یک قدم، بلکه چندین مرحله برداشت تا زمانی که تابع هدف کاهش یابد. در نقطه جدید یافت شده، جهت نزول مجدداً تعیین می شود (با استفاده از گرادیان) و یک نقطه حداقل جدید از تابع هدف جستجو می شود و غیره. در این روش نزول در مراحل بسیار بزرگتر اتفاق می افتد و گرادیان تابع در تعداد نقاط کمتری محاسبه می شود. تفاوت این است که در اینجا جهت بهینه سازی یک بعدی توسط گرادیان تابع هدف تعیین می شود، در حالی که نزول مختصات در هر مرحله در امتداد یکی از جهت های مختصات انجام می شود.

شیب ترین روش فرود برای حالت تابعی از دو متغیر z = f(x,y).

ابتدا نشان دادن اینکه گرادیان تابع بر مماس خط تراز در یک نقطه معین عمود است آسان است. بنابراین، در روش های گرادیان، نزول در امتداد خط نرمال به تراز رخ می دهد. دوم، در نقطه ای که به حداقل تابع هدف در امتداد جهت می رسد، مشتق تابع در امتداد این جهت ناپدید می شود. اما مشتق تابع در جهت مماس بر خط تراز صفر است. نتیجه این است که گرادیان تابع هدف در نقطه جدید عمود بر جهت بهینه سازی یک بعدی در مرحله قبل است، یعنی نزول در دو مرحله متوالی در جهات متقابل عمود انجام می شود.

با دوستان به اشتراک بگذارید یا برای خود ذخیره کنید:

بارگذاری...