روش های گرادیان مروری بر روش های گرادیان در مسائل بهینه سازی ریاضی

این روش بر اساس اصلاح تکراری فرمول زیر است

x k +1 = x k + a k s(x k)،

x k+1 = x k - a k Ñ f(x k)، که در آن

الف - ضریب مثبت داده شده؛

Ñ ​​f(x k) - گرادیان تابع هدفسفارش اول

ایرادات:

    نیاز به انتخاب مقدار مناسب ؛

    همگرایی آهسته به حداقل نقطه به دلیل کوچکی f(x k) در مجاورت این نقطه.

شیب دارترین روش فرود

آزاد از اولین عیب ساده ترین روش گرادیان، زیرا a k با حل مسئله کمینه سازی Ñ f(x k) در امتداد جهت Ñ f(x k) با استفاده از یکی از روش های بهینه سازی یک بعدی x k+1 = x k - a k Ñ f(x k) محاسبه می شود.

این روش گاهی اوقات روش کوشی نامیده می شود.

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

روش جهت مزدوج

مشکل کلی برنامه نویسی غیر خطی بدون محدودیت به شرح زیر است: f(x)، x E n را کمینه کنید، که در آن f(x) تابع هدف است. هنگام حل این مشکل از روش های کمینه سازی استفاده می کنیم که منجر به یک نقطه ثابت f(x) می شود که با معادله f(x*)=0 تعریف می شود. روش جهت مزدوج به روش های کمینه سازی نامحدودی اشاره دارد که از مشتقات استفاده می کنند. وظیفه: به حداقل رساندن f(x)، x E n، که در آن f(x) تابع هدف n متغیر مستقل است. یک ویژگی مهمبه دلیل این واقعیت که هنگام انتخاب جهت، از ماتریس Hessian استفاده می شود که منطقه توپولوژی سطح پاسخ را توصیف می کند، همگرایی سریع است. به طور خاص، اگر تابع هدف درجه دوم باشد، حداقل امتیاز را می توان در بیش از تعدادی مرحله برابر با بعد مسئله به دست آورد.

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

روش نیوتن

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

x k +1 = x k - Ñ 2 f(x k -1) Ñ f(x k).

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

x k +1 = x k - a k Ñ 2 f(x k -1) Ñ f(x k)، که در آن

a k پارامتری است که به گونه ای انتخاب می شود که f(x k+1) min.

2. یافتن حداکثر یک تابع بدون محدودیت

برخی از تابع f(x) در بازه باز (a, c) تغییر در آرگومان x داده می شود. ما فرض می کنیم که exst در این بازه وجود دارد (باید گفت که در حالت کلی، این را نمی توان از قبل به صورت ریاضی بیان کرد؛ با این حال، در کاربردهای فنی، وجود exst اغلب در یک بازه مشخص از تغییرات تغییر استدلال وجود دارد. فاصله زمانی را می توان از روی ملاحظات فیزیکی پیش بینی کرد).

تعریف exst تابع f (x) داده شده در بازه (a, c) در نقطه x * max (min) است، اگر این نقطه را بتوان با چنین فاصله ای احاطه کرد (x * -ε, x * + ε) موجود در بازه (a, c) که برای تمام نقاط آن x متعلق به بازه (x * -ε, x * +ε) نابرابری زیر برقرار است:

f(x) ≤ f(x *) → برای حداکثر

f(x) ≥ f(x *) → برای دقیقه

این تعریف هیچ محدودیتی برای کلاس توابع f(x) ایجاد نمی کند که البته بسیار ارزشمند است.

اگر خودمان را برای توابع f(x) به یک کلاس نسبتاً رایج، اما باریکتر از توابع صاف محدود کنیم (منظور از توابع صاف، توابعی است که با مشتقات خود در بازه تغییر آرگومان پیوسته هستند)، آنگاه می‌توانیم از قضیه فرما استفاده کنید که شرایط لازم برای وجود ext را می دهد.

قضیه فرما. اجازه دهید تابع f(x) در یک بازه (a, b) تعریف شود و در نقطه "c" این بازه بزرگترین (کوچکترین) مقدار را می گیرد. اگر در این نقطه مشتق متناهی دو طرفه وجود داشته باشد، وجود exst ضروری است.

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

* در مورد min اتفاق می افتد، و زمانی که → حداکثر. در نهایت، اگر در x=x 0 باشد، استفاده از مشتق دوم کمکی نمی کند و باید مثلاً از تعریف exst استفاده کنید.

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

اگر معادله exst ریشه های واقعی داشته باشد، پس نقاط مربوط به این ریشه ها برای exst مشکوک است (اما نه لزوماً خود افراط، زیرا با شرایط لازم و نه با شرایط لازم و کافی سروکار داریم). بنابراین، به عنوان مثال، در نقطه عطف X p اتفاق می افتد، اما، همانطور که می دانید، این یک افراط نیست.

همچنین توجه داشته باشیم که:

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

    نمی توان از شرایط لازم تشخیص داد که آیا این یک افراط جهانی است یا محلی.

بنابراین، هنگامی که نقاط مشکوک برای exst یافت می شوند، به عنوان مثال، بر اساس تعریف exst یا مشتق دوم، به طور اضافی بررسی می شوند.

سخنرانی 6

روش‌های گرادیان برای حل مسائل برنامه‌نویسی غیرخطی.

سوالات: 1. ویژگی های عمومیمواد و روش ها.

2. روش گرادیان.

3. روش شیب دارترین فرود.

4. روش فرانک فولف.

5. روش توابع جریمه.

1. مشخصات کلی روش ها.

روش‌های گرادیان روش‌های تقریبی (تکراری) برای حل یک مسئله برنامه‌نویسی غیرخطی هستند و تقریباً هر مشکلی را حل می‌کنند. با این حال، این تعریف می کند افراطی موضعی. بنابراین، استفاده از این روش‌ها برای حل مسائل برنامه‌نویسی محدب که در آن هر اکستروم محلی نیز سراسری است، توصیه می‌شود. روند حل مسئله از این قرار است که با شروع از نقطه ای x (اولیه)، در صورت تعیین حداکثر نقطه، یک انتقال متوالی در جهت gradF (x) و -gradF (x) (ضد) انجام می شود. - گرادیان)، در صورت تعیین حداقل نقطه، به نقطه ای که راه حل مسئله است. در این مورد، این نقطه می تواند هم در محدوده مقادیر مجاز و هم در مرز آن باشد.

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

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

هنگام تعیین راه حل با روش های گرادیان، فرآیند تکراری تا زمانی ادامه می یابد:

یا درجه F(x*) = 0، (راه حل دقیق).

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

2. روش گرادیان.

فردی را تصور کنید که در شیب یک دره ایستاده است و باید به پایین (به پایین) برود. طبیعی ترین، به نظر می رسد، جهت به سمت تندترین شیب است، یعنی. جهت (-grad F(x)). استراتژی حاصل، نامیده می شود روش گرادیان، دنباله ای از مراحل است که هر کدام شامل دو عملیات است:

الف) تعیین جهت بیشترین شیب فرود (صعود)؛

ب) چند قدم در جهت انتخاب شده حرکت کنید.

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

طرح راه حل.

متعلق به منطقه مجاز

3. انتخاب مرحله h.

x(k+1) = x(k)

"-" - اگر حداقل

5. تعریف F(x (k +1)) و:

اگر یک
، راه حل پیدا شد؛

اظهار نظر.اگر درجه F(x (k)) = 0 باشد، جواب دقیق خواهد بود.

مثال. F(x) = -6x 1 + 2x 1 2 - 2x 1 x 2 + 2x 2 2
دقیقه،

x1 +x2 2x1 0، x2 0,= 0,1.

3. روش شیب دارترین فرود.

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

طرح راه حل.

1. تعریف x 0 \u003d (x 1، x 2، ...، x n)،

متعلق به منطقه مجاز،

و F(x 0)، k = 0.

2. تعریف gradF(x0) یا –gradF(x0).

3. انتخاب مرحله h.

4. تعیین نقطه بعدی با فرمول

x(k+1) = x(k) درجه h F(x (k))، "+" - اگر حداکثر،

"-" - اگر حداقل

5. تعریف F(x (k +1)) و:

اگر یک
، راه حل پیدا شد؛

اگر نه:

الف) هنگام جستجوی min: - اگر F(x (k +1))

اگر F(x (k +1)) >F(x (k)) - به مورد 2 بروید.

ب) هنگام جستجوی حداکثر: - اگر F(x (k +1)) >F(x (k)) - به مرحله 4 بروید.

اگر F(x (k + 1))

یادداشت: 1. اگر درجه F(x (k)) = 0 باشد، جواب دقیق خواهد بود.

2. مزیت شیب دارترین روش فرود، سادگی و

کاهش محاسبات، زیرا درجه F(x) در همه نقاط محاسبه نمی شود، که

برای مشکلات در مقیاس بزرگ مهم است.

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

از نقطه بهینه رد شوید

مثال. F(x) \u003d 3x 1 - 0.2x 1 2 + x 2 - 0.2x 2 2
حداکثر،

x 1 + x 2 7x1 0,

x1 + 2x2 10x2 0.

4. روش فرانک ولف.

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

طرح راه حل.

1. تعیین x 0 = (x 1، x 2،…، x n)، متعلق به منطقه مجاز، و F(x 0)، k = 0.

2. تعریف درجه F(x (k)).

3. یک تابع بسازید

(دقیقه - "-"؛ حداکثر - "+").

4. تعیین max(min)f(x) تحت محدودیت های اولیه. بگذارید این نقطه z (k) باشد.

5. تعیین مرحله محاسبه x (k +1) = x (k) + (k) (z (k) –x (k))، که در آن (ک) – گام، ضریب، 0 1. (k) طوری انتخاب می شود که مقدار تابع F(x) max (min) در نقطه x (k +1) باشد. برای این کار معادله را حل کنید
و از بین ریشه ها کوچکترین (بزرگترین) اما 0 را انتخاب کنید 1.

6. تعیین F(x (k +1)) و بررسی نیاز به محاسبات بیشتر:

اگر یک
یا درجه F(x (k + 1)) = 0، سپس راه حل پیدا می شود.

اگر نه، به مرحله 2 بروید.

مثال. F(x) = 4x 1 + 10x 2 –x 1 2 –x 2 2
حداکثر،

x1 +x2 4x1 0,

x2 2x2 0.

5. روش توابع جریمه.

بگذارید لازم باشد F(x 1 , x 2 ,…, x n) را پیدا کنید
حداکثر (دقیقه)،

g i (x 1 , x 2 ,…, x n) b i، i =
، xj 0، j = .

توابع F و g i محدب یا مقعر هستند.

ایده روش تابع جریمه یافتن مقدار بهینه تابع هدف جدید Q(x) = F(x) + H(x) است که مجموع تابع هدف اصلی و مقداری تابع H(x است. ) توسط سیستم محدودیت ها تعیین می شود و تابع مجازات نامیده می شود. عملکردهای پنالتی به گونه ای ساخته شده اند که از بازگشت سریع به منطقه مجاز یا عدم امکان خروج از آن اطمینان حاصل کنند. روش توابع جریمه، مسئله اکسترم مشروط را به حل دنباله ای از مسائل برای یک اکستروم غیر مشروط کاهش می دهد که ساده تر است. راه های زیادی برای ساخت تابع پنالتی وجود دارد. بیشتر اوقات به نظر می رسد:

H(x) =
,

جایی که

- مقداری Const مثبت.

توجه داشته باشید:

کمتر ، هرچه راه حل سریعتر پیدا شود، اما دقت کاهش می یابد.

راه حل را کوچک شروع کنید و در مراحل بعدی آنها را افزایش دهید.

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

طرح راه حل.

1. تعیین نقطه شروع x 0 \u003d (x 1، x 2، ...، x n)، F (x 0) و k \u003d 0.

2. مرحله محاسبه h را انتخاب کنید.

3. مشتقات جزئی را تعریف کنید و .

4. مختصات نقطه بعدی را با فرمول تعیین کنید:

x j (k+1)
.

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

چه می شود اگر
- راه حل پیدا شد، اگر نه، به مرحله 2 بروید.

ب) اگر درجه F(x (k + 1)) = 0 باشد، آنگاه راه حل دقیق پیدا می شود.

اگر x(k+1) ناحیه معتبر، مقدار جدید تنظیم کنید و به مرحله 4 بروید.

مثال. F(x) = – x 1 2 – x 2 2
حداکثر،

(x 1 -5) 2 + (x 2 -5) 2 8x1 0، x2 0.

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

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

1. روش شیب دارترین فرود.

تابعی از یک متغیر اسکالر را در نظر بگیرید و به عنوان مقدار برابری انتخاب کنید

این روش که در سال 1845 توسط O. Cauchy پیشنهاد شد، امروزه شیب دارترین روش فرود نامیده می شود.

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

توجه می کنیم که در هر تکرار، انتخاب مرحله به حل مسئله کمینه سازی یک بعدی دلالت دارد (10.23). گاهی اوقات می توان این عملیات را به صورت تحلیلی انجام داد، به عنوان مثال، برای یک تابع درجه دوم.

ما شیب ترین روش فرود را برای به حداقل رساندن تابع درجه دوم اعمال می کنیم

با یک ماتریس قطعی مثبت متقارن A.

با توجه به فرمول (10.8)، در این مورد، بنابراین، فرمول (10.22) به نظر می رسد:

توجه کنید که

این تابع تابع درجه دوم پارامتر a است و در چنین مقداری به حداقل می رسد

بنابراین، همانطور که برای به حداقل رساندن درجه دوم اعمال می شود

تابع (10.24)، شیب ترین روش فرود معادل با محاسبه با فرمول (10.25) است، که در آن

نکته 1. از آنجایی که حداقل نقطه تابع (10.24) با حل سیستم منطبق است، روش تند فرود (10.25)، (10.26) نیز می تواند به عنوان یک روش تکراری برای حل سیستم های معادلات جبری خطی با مثبت متقارن استفاده شود. ماتریس های معین

نکته 2. توجه داشته باشید که رابطه ریلی کجاست (به بند 8.1 مراجعه کنید).

مثال 10.1. ما شیب ترین روش فرود را برای به حداقل رساندن تابع درجه دوم اعمال می کنیم

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

ما تقریب اولیه را می گیریم و با استفاده از فرمول های (10.25)، (10.26) محاسبات را انجام می دهیم.

من تکرار.

تکرار دوم.

می توان نشان داد که برای همه در تکرار مقادیر به دست خواهند آمد

توجه داشته باشید که با بنابراین،

دنباله ای که با روش شیب دارترین نزول به دست می آید با سرعت یک پیشروی هندسی همگرا می شود که مخرج آن عبارت است از

روی انجیر 10.5 دقیقاً مسیر فرود را نشان می دهد که در این مثال به دست آمده است.

در مورد کمینه کردن یک تابع درجه دوم، نتیجه کلی زیر برقرار است.

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

در اینجا و Lado مقادیر ویژه حداقل و حداکثر ماتریس A هستند.

توجه داشته باشید که این روش با سرعت یک پیشرفت هندسی همگرا می شود که مخرج آن، علاوه بر این، اگر نزدیک باشند، کوچک است و روش نسبتاً سریع همگرا می شود. به عنوان مثال، در مثال 10.1 ما و بنابراین، If Asch، سپس 1 داریم و باید انتظار داشته باشیم که شیب دارترین روش فرود به آرامی همگرا شود.

مثال 10.2. استفاده از روش شیب دارترین فرود برای به حداقل رساندن تابع درجه دوم در تقریب اولیه، دنباله ای از تقریب ها را به دست می دهد که در آن مسیر نزول در شکل 1 نشان داده شده است. 10.6.

دنباله در اینجا با سرعت یک پیشروی هندسی همگرا می شود که مخرج آن بسیار کندتر است،

نسبت به مثال قبلی از آنجایی که در اینجا نتیجه به دست آمده با برآورد (10.27) مطابقت کامل دارد.

نکته 1. ما در موردی که تابع هدف درجه دوم است، قضیه ای در مورد همگرایی شیب دارترین روش نزول فرموله کرده ایم. در حالت کلی، اگر تابعی که مینیمم می‌شود کاملاً محدب باشد و یک نقطه حداقل x داشته باشد، همچنین، بدون توجه به انتخاب تقریب اولیه، دنباله‌ای که با این روش به دست می‌آید به x در همگرا می‌شود. در این حالت، پس از قرار گرفتن در یک همسایگی به اندازه کافی کوچک از نقطه حداقل، همگرایی خطی می شود و مخرج پیشرفت هندسی مربوطه از بالا با مقدار و مکان و حداقل و حداکثر مقادیر ویژه ماتریس هسین تخمین زده می شود.

نکته 2. برای تابع هدف درجه دوم (10.24)، حل مسئله کمینه سازی یک بعدی (10.23) را می توان در قالب یک فرمول صریح ساده (10.26) یافت. با این حال، این کار را نمی توان برای اکثر توابع غیر خطی دیگر انجام داد، و برای محاسبات شیب دارترین نزول، باید از روش های عددی کمینه سازی یک بعدی استفاده کرد، مانند آنچه در فصل قبل در نظر گرفته شد.

2. مشکل «دره ها».

از بحث بالا برمی‌آید که اگر سطوح سطح برای تابع کمینه‌شده نزدیک به کره‌ها باشد (زمانی که خطوط سطح به دایره‌ها نزدیک باشند، روش گرادیان نسبتاً سریع همگرا می‌شود). برای چنین توابعی، و 1. قضیه 10.1، نکته 1، و نتیجه مثال 10.2 نشان می دهد که نرخ همگرایی به شدت با مقدار کاهش می یابد. در حالت دو بعدی، نقش برجسته سطح مربوطه شبیه زمین با دره است (شکل 10.7). بنابراین، معمولاً به چنین عملکردهایی خندق می گویند. در امتداد جهت های مشخص کننده "پایین دره"، عملکرد دره به طور ناچیز تغییر می کند، در حالی که در جهات دیگر که "شیب دره" را مشخص می کنند، تغییر شدیدی در عملکرد رخ می دهد.

اگر نقطه شروع روی "شیب دره" باشد، جهت شیب نزول تقریباً عمود بر "پایین دره" است و تقریب بعدی روی "شیب دره" مخالف قرار می گیرد. گام بعدی به سمت «پایین دره»، رویکرد را به «شیب دره» اولیه بازمی‌گرداند. در نتیجه، به جای حرکت در امتداد "پایین دره" به سمت حداقل نقطه، مسیر فرود باعث پرش های زیگزاگی در سراسر "دره" می شود که تقریباً به هدف نزدیک نمی شود (شکل 10.7).

برای سرعت بخشیدن به همگرایی روش گرادیان و در عین حال به حداقل رساندن توابع دره، تعدادی از روش های ویژه "دره" توسعه داده شده است. بیایید ایده یکی از ساده ترین روش ها را ارائه دهیم. از دو نقطه شروع نزدیک، یک فرود شیب به سمت "پایین دره" انجام می شود. یک خط مستقیم از طریق نقاط یافت شده ترسیم می شود که در طول آن یک گام بزرگ "دره" برداشته می شود (شکل 10.8). از نقطه ای که به این ترتیب یافت می شود، مجدداً یک پله شیب نزول به نقطه برداشته می شود سپس گام دوم «دره» در امتداد خط مستقیمی که از نقاط می گذرد برداشته می شود. در نتیجه، حرکت در امتداد "پایین دره" تا حداقل نقطه به طور قابل توجهی تسریع می شود.

اطلاعات بیشتر در مورد مشکل "دره" و روش "خندق" را می توان یافت، به عنوان مثال، در، .

3. سایر رویکردها برای تعیین پله نزول.

همانطور که درک آن آسان است، در هر تکرار مطلوب است که جهت فرود نزدیک به جهتی که حرکت از نقطه ای به نقطه x منتهی می شود، انتخاب شود. متأسفانه، ضد گرادیان (به عنوان یک قاعده، یک جهت نزول ناموفق است. این به ویژه برای عملکردهای دره مشخص است. بنابراین، در مورد توصیه به جستجوی کامل برای راه حلی برای مشکل کمینه سازی یک بعدی تردید وجود دارد (10.23) و تمایل به برداشتن چنین گامی در جهتی وجود دارد که "کاهش قابل توجهی" عملکرد را فراهم کند. علاوه بر این، در عمل، گاهی اوقات فرد به تعریف مقداری بسنده می کند که صرفاً باعث کاهش ارزش هدف می شود. عملکرد.

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

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

شرح [ | ]

بهبودها[ | ]

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

برای توابع نزدیک به درجه دوم، روش گرادیان مزدوج موثر است.

کاربرد در شبکه های عصبی مصنوعی[ | ]

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

پیوندها [ | ]

  • جی. ماتیوس.ماژول برای شیب ترین نزول یا روش گرادیان. (لینک در دسترس نیست)

ادبیات [ | ]

  • آکولیچ آی. ال.برنامه نویسی ریاضی در مثال ها و وظایف. - M.: دبیرستان، 1986. - S. 298-310.
  • گیل اف.، موری دبلیو.، رایت ام.بهینه سازی عملی = بهینه سازی عملی. - م.: میر، 1364.
  • کورشونوف یو. ام.، کورشونوف یو. ام.مبانی ریاضی سایبرنتیک - M.: Energoatomizdat، 1972.
  • ماکسیموف یو. ا.، فیلیپوفسکایا ای. ا.الگوریتم های حل مسائل برنامه ریزی غیرخطی - M.: MEPhI، 1982.
  • ماکسیموف یو. ا.الگوریتم های برنامه ریزی خطی و گسسته - M.: MEPhI، 1980.
  • کورن جی.، کورن تی.کتاب ریاضیات برای دانشمندان و مهندسان. - M.: Nauka، 1970. - S. 575-576.
  • S. Yu. Gorodetsky، V. A. Grishagin.برنامه نویسی غیرخطی و بهینه سازی چند جانبی - Nizhny Novgorod: Nizhny Novgorod University Press, 2007. - S. 357-363.

سخنرانی شماره 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* منحرف می شود. در چنین حالتی علامت اکسترموم همخطی بودن بردارها و .

مقالات مشابه

parki48.ru 2022. ما در حال ساخت یک خانه قاب هستیم. محوطه سازی. ساخت و ساز. پایه.