Matematiksel optimizasyon problemlerinde gradyan yöntemlerinin gözden geçirilmesi. gradyan yöntemleri

gradyan yöntemleri

Gradyan kısıtlamasız optimizasyon yöntemleri, amaç fonksiyonunun yalnızca ilk türevlerini kullanır ve her adımda doğrusal yaklaşım yöntemleridir, örn. her adımdaki amaç fonksiyonu, mevcut noktadaki grafiğine teğet bir hiper düzlem ile değiştirilir.

Gradyan yöntemlerinin k-inci aşamasında, Xk noktasından Xk+1 noktasına geçiş şu bağıntı ile tanımlanır:

burada k, adım boyutudur, k, Xk+1-Xk yönündeki bir vektördür.

En dik iniş yöntemleri

Böyle bir yöntem ilk kez 18. yüzyılda O. Cauchy tarafından düşünülmüş ve uygulanmıştır. Fikri basit: f(X) amaç fonksiyonunun herhangi bir noktadaki gradyanı, fonksiyonun değerindeki en büyük artış yönünde bir vektördür. Bu nedenle, antigradyan, fonksiyondaki en büyük düşüşe doğru yönlendirilecektir ve en dik inişin yönüdür. Antigradyan (ve gradyan), X noktasında f(X) düz yüzeyine ortogonaldir. Eğer (1.2)'de yönü tanıtıyorsak

o zaman bu, Xk noktasındaki en dik iniş yönü olacaktır.

Xk'den Xk+1'e geçiş formülünü elde ederiz:

Anti-gradyan, adım boyutunu değil, yalnızca iniş yönünü verir. Genel olarak, bir adım minimum puan vermez, bu nedenle iniş prosedürünün birkaç kez uygulanması gerekir. Minimum noktada, gradyanın tüm bileşenleri sıfıra eşittir.

Tüm gradyan yöntemleri yukarıdaki fikri kullanır ve teknik ayrıntılarda birbirinden farklıdır: analitik bir formül veya sonlu fark yaklaşımı ile türevlerin hesaplanması; adım boyutu sabit olabilir, bazı kurallara göre değişebilir veya antigradyan vb. yönünde tek boyutlu optimizasyon yöntemleri uygulandıktan sonra seçilebilir. ve benzeri.

Ayrıntılı olarak durmayacağız çünkü. en dik iniş yöntemi genellikle ciddi bir optimizasyon prosedürü olarak önerilmez.

Bu yöntemin dezavantajlarından biri, çözüm olamayacak olan eyer noktası da dahil olmak üzere herhangi bir durağan noktaya yakınsamasıdır.

Ancak en önemli şey, genel durumda en dik inişin çok yavaş yakınsamasıdır. Mesele şu ki, iniş yerel anlamda "en hızlı". Arama hiper uzayı güçlü bir şekilde uzatılmışsa ("dağ geçidi"), o zaman antigradyan neredeyse dikey olarak "dağ geçidinin" dibine yönlendirilir, yani. minimuma ulaşmak için en iyi yön. Bu anlamda, İngilizce "en dik iniş" teriminin doğrudan çevirisi, yani. en dik yokuş boyunca iniş, Rus dilinde uzmanlaşmış literatürde benimsenen "en hızlı" teriminden çok, durumla daha tutarlıdır. Bu durumda bir çıkış yolu, ikinci kısmi türevlerin verdiği bilgileri kullanmaktır. Başka bir çıkış yolu da değişkenlerin ölçeklerini değiştirmektir.

doğrusal yaklaşım türev gradyanı

Fletcher-Reeves eşlenik gradyan yöntemi

Eşlenik gradyan yöntemi, mevcut en dik alçalma yönü ile önceki arama yönlerinin lineer kombinasyonları olan bir dizi arama yönü oluşturur, örn.

ve katsayılar, arama yönlerini eşlenik yapacak şekilde seçilir. Kanıtlandı

ve bu, hızlı ve verimli bir optimizasyon algoritması oluşturmanıza olanak tanıyan çok değerli bir sonuçtur.

Fletcher-Reeves algoritması

1. X0'da hesaplanır.

2. k'inci adımda, yönde tek boyutlu arama kullanılarak, Xk+1 noktasını belirleyen minimum f(X) bulunur.

  • 3. f(Xk+1) ve'yi hesaplayın.
  • 4. Yön şu orandan belirlenir:
  • 5. (n+1)-inci yinelemeden sonra (yani, k=n ile), yeniden başlatma gerçekleştirilir: X0=Xn+1 varsayılır ve 1. adıma geçiş gerçekleştirilir.
  • 6. Algoritma şu durumlarda durur:

keyfi bir sabit nerede.

Fletcher-Reeves algoritmasının avantajı, Newton yöntemlerinde kullanılan matrislere ihtiyaç duymadığı, ancak aynı zamanda neredeyse yarı Newton algoritmaları kadar verimli olduğu için matris tersini gerektirmemesi ve bilgisayar belleği tasarrufu sağlamasıdır. Çünkü arama yönleri karşılıklı olarak eşlenikse, ikinci dereceden işlev en fazla n adımda en aza indirilecektir. Genel durumda, sonucu almanızı sağlayan bir yeniden başlatma kullanılır.

Fletcher-Reeves algoritması, tek boyutlu bir aramanın doğruluğuna duyarlıdır, bu nedenle, kullanırken oluşabilecek yuvarlama hatalarının düzeltilmesi gerekir. Ayrıca, Hessian'ın kötü koşullandığı durumlarda algoritma başarısız olabilir. Uygulama, algoritmanın neredeyse her zaman bir sonuç verdiğini göstermesine rağmen, algoritmanın her zaman ve her yerde yakınsama garantisi yoktur.

Newton yöntemleri

En dik inişe karşılık gelen arama yönü, amaç fonksiyonunun doğrusal bir yaklaşımıyla ilişkilendirilir. İkinci türevleri kullanan yöntemler, amaç fonksiyonunun ikinci dereceden bir yaklaşımından ortaya çıktı, yani bir Taylor serisinde fonksiyon genişletilirken, üçüncü ve daha yüksek dereceli terimler atılır.

Hessian matrisi nerede.

Sağ tarafın minimumuna (varsa), ikinci dereceden formun minimumuyla aynı yerde ulaşılır. Aramanın yönünü belirlemek için bir formül yazalım:

Minimuma ulaşılır

Arama yönünün bu ilişkiden belirlendiği bir optimizasyon algoritmasına Newton yöntemi denir ve yön Newton'un yönüdür.

Pozitif bir ikinci türev matrisi ile keyfi bir ikinci dereceden fonksiyonun minimumunu bulma problemlerinde, Newton'un yöntemi, başlangıç ​​noktasının seçimi ne olursa olsun, bir yinelemede çözüm verir.

Newton Yöntemlerinin Sınıflandırılması

Aslında, Newton'un yöntemi, ikinci dereceden işlevi optimize etmek için Newton yönünün tek bir uygulamasından oluşur. Fonksiyon ikinci dereceden değilse, aşağıdaki teorem doğrudur.

Teorem 1.4. X* minimum noktasında genel doğrusal olmayan bir f fonksiyonunun Hessian matrisi pozitif tanımlıysa, başlangıç ​​noktası X*'e yeterince yakın seçilirse ve adım uzunlukları doğru seçilirse, Newton'un yöntemi şu şekilde X*'e yakınsar: ikinci dereceden hız.

Newton'un yöntemi referans olarak kabul edilir ve geliştirilen tüm optimizasyon prosedürleri onunla karşılaştırılır. Bununla birlikte, Newton'un yöntemi yalnızca pozitif tanımlı ve iyi koşullandırılmış bir Hessian matrisi ile çalışır (belirleyicisi önemli ölçüde sıfırdan büyük olmalıdır, daha kesin olarak, en büyük ve en küçük özdeğerlerin oranı bire yakın olmalıdır). Bu eksikliği gidermek için, mümkün olduğu kadar Newton yönleri kullanılarak ve sadece gerektiğinde onlardan sapılarak, değiştirilmiş Newton yöntemleri kullanılır.

Newton'un yöntemindeki değişikliklerin genel ilkesi şu şekildedir: her yinelemede, önce "ilişkili" bazı pozitif-belirli matrisler oluşturulur ve ardından formülle hesaplanır.

Pozitif tanımlı olduğu için, - zorunlu olarak iniş yönü olacaktır. İnşa prosedürü, eğer pozitif tanımlıysa, Hessian matrisiyle çakışacak şekilde düzenlenmiştir. Bu prosedürler, bazı matris açılımları temel alınarak oluşturulmuştur.

Neredeyse Newton yöntemi kadar hızlı olan başka bir yöntem grubu, Hessian matrisinin sonlu farklar kullanılarak yaklaşık olarak hesaplanmasına dayanır, çünkü optimizasyon için türevlerin tam değerlerinin kullanılması gerekli değildir. Bu yöntemler, türevlerin analitik hesaplanmasının zor veya imkansız olduğu durumlarda faydalıdır. Bu tür yöntemlere ayrık Newton yöntemleri denir.

Newton tipi yöntemlerin etkinliğinin anahtarı, Hessian matrisinde bulunan ve amaç fonksiyonunun yerel olarak kesin ikinci dereceden modellerini oluşturmayı mümkün kılan, minimize edilen fonksiyonun eğriliği hakkındaki bilgileri dikkate almaktır. Ancak, iniş yinelemeleri sırasında gradyandaki değişimi gözlemlemeye dayalı olarak bir fonksiyonun eğriliği hakkında bilgi toplamak ve biriktirmek mümkündür.

Doğrusal olmayan bir fonksiyonun eğriliğine, Hessian matrisinin açık oluşumu olmadan yaklaşma olasılığına dayanan karşılık gelen yöntemlere, yarı-Newton yöntemleri denir.

Newton tipinde (yarı Newton tipi dahil) bir optimizasyon prosedürü oluştururken, bir eyer noktasının ortaya çıkma olasılığını hesaba katmak gerektiğine dikkat edin. Bu durumda, en iyi arama yönünün vektörü, "aşağı" yönde ondan uzaklaşmak yerine her zaman eyer noktasına yönlendirilecektir.

Newton-Raphson yöntemi

Bu yöntem, ikinci dereceden olmayan işlevleri optimize ederken Newton yönünün tekrar tekrar kullanılmasından oluşur.

Çok değişkenli optimizasyon için temel yinelemeli formül

ilişkiden optimizasyon yönünü seçerken bu yöntemde kullanılır

Gerçek adım uzunluğu, normalize edilmemiş Newton yönünde gizlidir.

Bu yöntem, amaç fonksiyonunun mevcut noktadaki değerini gerektirmediğinden, bazen dolaylı veya analitik optimizasyon yöntemi olarak adlandırılır. İkinci dereceden bir fonksiyonun minimumunu tek bir hesaplamada belirleme yeteneği, ilk bakışta son derece çekici görünüyor. Ancak bu "tek hesap" maliyetlidir. Öncelikle birinci mertebeden ve ikinci mertebeden n(n+1)/2 - kısmi türevinin hesaplanması gerekir. Ek olarak, Hessian matrisinin ters çevrilmesi gerekir. Bu zaten yaklaşık n3 hesaplama işlemi gerektirir. Eşlenik yön yöntemleri veya eşlenik gradyan yöntemleri aynı maliyetle yaklaşık n adım alabilir, yani hemen hemen aynı sonucu elde edin. Bu nedenle, Newton-Raphson yönteminin iterasyonu, ikinci dereceden bir fonksiyon durumunda avantaj sağlamaz.

İşlev ikinci dereceden değilse, o zaman

  • - zaten başlangıç ​​yönü, genel olarak konuşursak, gerçek minimum noktayı göstermez, bu da yinelemelerin tekrar tekrar tekrarlanması gerektiği anlamına gelir;
  • - birim uzunluktaki bir adım, amaç fonksiyonunun daha kötü bir değerine sahip bir noktaya götürebilir ve örneğin, Hessian pozitif tanımlı değilse, arama yanlış yön verebilir;
  • - Hessian, kötü koşullanmış hale gelebilir, bu da onu tersine çevirmeyi imkansız hale getirebilir, yani. sonraki yineleme için yönü belirlemek.

Stratejinin kendisi, aramanın hangi durağan noktaya (minimum, maksimum, eyer noktası) yaklaştığını ayırt etmez ve fonksiyonun artıp artmadığını izlemenin mümkün olacağı amaç fonksiyonu değerlerinin hesaplanması yapılmaz. Bu nedenle, her şey çekim bölgesindeki hangi sabit noktanın aramanın başlangıç ​​noktası olduğuna bağlıdır. Newton-Raphson stratejisi, şu ya da bu türde değişiklik yapılmadan kendi başına nadiren kullanılır.

Pearson yöntemleri

Pearson, ikinci türevleri açıkça hesaplamadan ters Hessian'a yaklaşmak için birkaç yöntem önerdi, yani antigradyan yönündeki değişiklikleri gözlemleyerek. Bu durumda eşlenik yönler elde edilir. Bu algoritmalar yalnızca ayrıntılarda farklılık gösterir. İşte uygulamalı alanlarda en yaygın kullanılanlar.

Pearson Algoritması #2.

Bu algoritmada, ters Hessian, formülle her adımda hesaplanan matris Hk ile yaklaşık olarak hesaplanır.

İlk matris H0 olarak keyfi bir pozitif tanımlı simetrik matris seçilir.

Bu Pearson algoritması genellikle Hk matrisinin koşulsuz hale geldiği durumlara yol açar, yani, matrisin determinantı sıfıra yakınken, pozitif belirli ve pozitif olmayan belirli arasında salınarak salınmaya başlar. Bu durumdan kaçınmak için, matrisi her n adımda bir H0'a eşitleyerek yeniden ayarlamak gerekir.

Pearson Algoritması #3.

Bu algoritmada, Hk+1 matrisi formülden belirlenir.

Hk+1 = Hk +

Algoritma tarafından oluşturulan iniş yolu, Davidon-Fletcher-Powell algoritmasının davranışına benzer, ancak adımlar biraz daha kısadır. Pearson ayrıca, matrisin döngüsel olarak yeniden sıralanmasıyla bu algoritmanın bir varyantını önerdi.

Projektif Newton-Raphson algoritması

Pearson, matrisin ilişkiden hesaplandığı bir algoritma fikrini önerdi.

H0=R0, burada R0 matrisi, önceki algoritmalardaki ilk matrislerle aynıdır.

k, n bağımsız değişken sayısının bir katı olduğunda, Hk matrisi, toplam olarak hesaplanan Rk+1 matrisi ile değiştirilir.

Hk(f(Xk+1) - f(Xk)) değeri, önceki adımlardaki tüm gradyan artış vektörlerine ortogonal olan gradyan artış vektörünün (f(Xk+1)-f(Xk)) izdüşümüdür. Her n adımdan sonra, Rk, ters Hessian H-1(Xk)'nin bir tahminidir, yani özünde (yaklaşık olarak) bir Newton araması gerçekleştirilir.

Davidon-Fletcher-Powell Yöntemi

Bu yöntemin başka adları da vardır - değişken metrik yöntemi, yarı-Newton yöntemi, çünkü bu yaklaşımların her ikisini de kullanır.

Davidon-Fletcher-Powell (DFP) yöntemi, Newton yönlerinin kullanımına dayanmaktadır, ancak her adımda ters Hessian'ın hesaplanmasını gerektirmez.

k adımındaki arama yönü yöndür

burada Hi, her adımda güncellenen ve limitte ters Hessian'a eşit hale gelen pozitif tanımlı bir simetrik matristir. Kimlik matrisi genellikle başlangıç ​​matrisi H olarak seçilir. Yinelemeli DFT prosedürü aşağıdaki gibi temsil edilebilir:

  • 1. k adımında, bir Xk noktası ve bir pozitif tanımlı matris Hk vardır.
  • 2. Yeni arama yönü olarak seçin

3. Yön boyunca tek boyutlu arama (genellikle kübik interpolasyon ile) k fonksiyonunu en aza indirerek belirler.

4. Güvenir.

5. Güvenir.

6. ve tarafından belirlenir. Vk veya yeterince küçükse prosedür sonlandırılır.

  • 7. Uk = f(Xk+1) - f(Xk) ayarlayın.
  • 8. Matrix Hk formüle göre güncellenir

9. k'yi bir artırın ve 2. adıma dönün.

Yöntem, gradyan hesaplama hatası küçükse ve Hk matrisi kötü koşullandırılmamışsa pratikte etkilidir.

Ak matrisi, Hk'nin G-1'e yakınsamasını sağlar, Bk matrisi, Hk+1'in tüm aşamalarda pozitif kesinliğini sağlar ve limitte H0'ı hariç tutar.

İkinci dereceden bir fonksiyon durumunda

onlar. DFP algoritması eşlenik yönleri kullanır.

Bu nedenle, DFT yöntemi hem Newton yaklaşımının fikirlerini hem de eşlenik yönlerin özelliklerini kullanır ve ikinci dereceden işlevi en aza indirirken, en fazla n yinelemede yakınsar. Optimize edilen işlevin ikinci dereceden bir işleve yakın bir formu varsa, DFP yöntemi, G-1'in (Newton yöntemi) iyi bir yaklaşımı nedeniyle verimlidir. Amaç fonksiyonunun genel bir formu varsa, eşlenik yönlerin kullanılması nedeniyle DFP yöntemi etkilidir.

Gradyan optimizasyon yöntemleri

Optimizasyon kriterini ve kısıtlamaları belirleyen doğrusal olmayan veya hesaplaması zor ilişkiler içeren optimizasyon problemleri, doğrusal olmayan programlamanın konusudur. Kural olarak, doğrusal olmayan programlama problemlerinin çözümleri yalnızca bilgisayar teknolojisi kullanılarak sayısal yöntemlerle bulunabilir. Bunlar arasında en sık kullanılanlar, gradyan yöntemleri (gevşeme, gradyan, en dik iniş ve çıkış yöntemleri), gradyan olmayan deterministik arama yöntemleri (tarama yöntemleri, tek yönlü, vb.) ve rastgele arama yöntemleridir. Tüm bu yöntemler, optimumun sayısal olarak belirlenmesinde kullanılır ve özel literatürde geniş ölçüde ele alınır.

Genel durumda, optimizasyon kriterinin değeri R bir fonksiyon olarak görülebilir R(x b xx..., x n), n-boyutlu uzayda tanımlı. n-boyutlu bir uzayın görsel bir grafik gösterimi olmadığı için, iki boyutlu bir uzay durumunu kullanacağız.

Eğer R(ben x2) bölgede sürekli D, sonra optimum nokta etrafında M°(xi°, x z°) Bu düzlemde, değerin üzerinde olduğu kapalı bir çizgi çizmek mümkündür. R= sabit Optimum noktanın etrafına çizilebilen, eşit düzeyli çizgiler olarak adlandırılan bu tür birçok çizgi vardır (adıma bağlı olarak).

Doğrusal olmayan programlama problemlerini çözmek için kullanılan yöntemler arasında, optimize edilen fonksiyonun yönüne göre türev analizine dayalı çözüm bulma yöntemleri önemli bir yer tutmaktadır. Uzayın her noktasında, birkaç değişkenli bir skaler fonksiyon iyi tanımlanmış değerler alıyorsa, bu durumda skaler bir alanla (sıcaklık alanı, basınç alanı, yoğunluk alanı, vb.) karşı karşıyayız. Vektör alanı (kuvvetler, hızlar vb. alanı) benzer şekilde tanımlanır. İzotermler, izobarlar, izokronlar vb. - bunların hepsi eşit seviyedeki çizgiler (yüzeyler), bir fonksiyonun (sıcaklık, basınç, hacim vb.) eşit değerleridir. Fonksiyonun değeri uzayda noktadan noktaya değiştiğinden, fonksiyonun uzaydaki değişim hızını yani yöndeki türevini belirlemek gerekli hale gelir.

Gradyan kavramı, lineer olmayan fonksiyonların ekstremumlarını bulmak için mühendislik hesaplamalarında yaygın olarak kullanılır. Gradyan yöntemleri, arama türünün sayısal yöntemleridir. Evrenseldirler ve özellikle kısıtlamalı doğrusal olmayan fonksiyonların ekstremumlarının aranmasında ve ayrıca analitik fonksiyonun tamamen bilinmediği durumlarda etkilidirler. Bu yöntemlerin özü, gradyan boyunca hareket ederek (ararken) amaç fonksiyonunun uç noktasını sağlayan değişkenlerin değerlerini belirlemektir. maks.) veya ters yönde (dk).Çeşitli gradyan yöntemleri, optimuma doğru hareketin belirlenme biçiminde birbirinden farklılık gösterir. Sonuç olarak, eğer çizgiler eşit seviyedeyse R(xu x ben) bağımlılığı grafiksel olarak karakterize edin R(x\jc?), daha sonra optimum noktanın aranması farklı şekillerde gerçekleştirilebilir. Örneğin, bir düzlemde bir ızgara çizin. x\, xr değerlerin belirtilmesi ile Rızgara düğümlerinde (Şekil 2.13).

O zaman ekstremin düğüm değerlerinden seçim yapabilirsiniz. Bu yol rasyonel değildir, çok sayıda hesaplama ile ilişkilidir ve adıma bağlı olduğundan ve optimum düğümler arasında bulunabileceğinden doğruluk düşüktür.

Sayısal yöntemler

Matematiksel modeller, incelenen süreçlerin teorik bir analizine dayanarak derlenen veya işleme deneyleri (veri tabloları, grafikler) sonucunda elde edilen ilişkileri içerir. Her durumda, matematiksel model gerçek süreci yalnızca yaklaşık olarak tanımlar. Bu nedenle) modelin doğruluğu, yeterliliği konusu en önemlisidir. Yaklaşımlara olan ihtiyaç, denklemlerin çözümünde ortaya çıkar. Yakın zamana kadar lineer olmayan veya kısmi diferansiyel denklemler içeren modeller analitik olarak çözülemezdi. Aynısı, çok sayıda büzülemeyen integral sınıfı için de geçerlidir. Bununla birlikte, sayısal analiz yöntemlerinin geliştirilmesi, özellikle bilgisayarların kullanımıyla, matematiksel modelleri analiz etme olasılıklarının sınırlarını büyük ölçüde genişletmeyi mümkün kıldı.

Sayısal yöntemler, fonksiyonlara yaklaşmak, diferansiyel denklemleri ve sistemlerini çözmek, integral almak ve türev almak, sayısal ifadeleri hesaplamak için kullanılır.

Fonksiyon analitik, tablo, grafik olarak tanımlanabilir. Araştırma yaparken, ortak bir sorun, bir fonksiyonun belirtilen koşulları sağlayan analitik bir ifadeyle yaklaşıklaştırılmasıdır. Bu, dört görevi yerine getirir:

Düğüm noktalarının seçimi, bağımsız değişkenlerin belirli değerlerinde (seviyelerinde) deneyler yapmak (faktör değiştirme adımı yanlış seçilirse, ya incelenen sürecin karakteristik bir özelliğini “atlayacağız” ya da uzatacağız. prosedür ve bulma kalıplarının karmaşıklığını artırın);

Belirli bir sorunun içeriğine bağlı olarak polinomlar, ampirik formüller biçiminde yaklaşık fonksiyonların seçimi (yaklaşan fonksiyonların maksimum basitleştirilmesi için çaba gösterilmelidir);

Yaklaştırma fonksiyonlarının parametrelerinin bulunduğu uyum iyiliği kriterlerinin seçimi ve kullanımı;

Yaklaşan bir fonksiyonun seçimi için belirli bir doğruluğun gerekliliklerinin yerine getirilmesi.

Fonksiyonların polinomlarla yakınlaştırılması problemlerinde, üç sınıf kullanılır.

Güç fonksiyonlarının doğrusal bileşimi (Taylor serileri, Lagrange, Newton polinomları, vb.);

fonksiyon kombinasyonu çünkü nx, onlar(Fourier serisi);

Fonksiyonların oluşturduğu polinom tecrübe(-a, d).

Yaklaştırma fonksiyonunu bulurken, deneysel verilerle çeşitli uyum kriterleri kullanılır.

Gradyan yöntemiyle optimize ederken, incelenen nesnenin optimumu, çıktı değişkeninin en hızlı artışı (azalışı) yönünde aranır, yani. gradyan yönünde. Ancak eğim yönünde bir adım atmadan önce onu hesaplamanız gerekir. Gradyan, mevcut modelden hesaplanabilir

simülasyon dinamik gradyan polinomu

i'inci faktöre göre kısmi türev nerede;

i, j, k - faktör uzayının koordinat eksenleri yönünde birim vektörler veya koordinat eksenleri yönünde n deneme hareketinin sonuçlarına göre.

İstatistiksel sürecin matematiksel modeli doğrusal bir polinom biçimine sahipse, regresyon katsayıları b i, x i'nin kuvvetleri cinsinden bir Taylor serisinde y = f(X) fonksiyonunun açılımının kısmi türevleridir, o zaman optimum şu şekildedir: belirli bir h i adımıyla gradyan yönünde aranır:

pkfv n (Ch) \u003d ve 1 p 1 + ve 2 p 2 + ... + ve t p t

Yön, her adımdan sonra düzeltilir.

Gradyan yöntemi, çok sayıda modifikasyonuyla birlikte, incelenen nesnelerin optimumunu bulmak için yaygın ve etkili bir yöntemdir. Gradyan yönteminin modifikasyonlarından birini düşünün - dik çıkış yöntemi.

Dik yokuş yöntemi veya başka bir deyişle Box-Wilson yöntemi, doğrusal bir matematiksel model elde etmenin bir yolu olarak üç yöntemin avantajlarını birleştirir - Gauss-Seidel yöntemi, gradyan yöntemi ve tam (veya kesirli) faktöriyel deneyler yöntemi . Dik yokuş yönteminin görevi, çıkış değişkeninin en hızlı artış (veya azalma) yönünde, yani y (X) derecesi boyunca adım atmaktır. Gradyan yönteminden farklı olarak yön, sonraki her adımdan sonra değil, Gauss-Seidel yönteminde yapıldığı gibi, belirli bir yönde belirli bir noktada amaç fonksiyonunun kısmi bir uç noktasına ulaşıldığında düzeltilir. Kısmi bir ekstremum noktasında yeni bir faktöriyel deney kurulur, matematiksel model belirlenir ve tekrar dik bir çıkış gerçekleştirilir. Bu yöntemle optimuma doğru ilerleme sürecinde, ara arama sonuçlarının istatistiksel analizi düzenli olarak yapılmaktadır. Regresyon denklemindeki ikinci dereceden etkiler önemli hale geldiğinde arama sonlandırılır. Bu da optimum bölgeye ulaşıldığı anlamına gelir.

İki değişkenli bir fonksiyon örneğini kullanarak gradyan yöntemlerini kullanma ilkesini açıklayalım.

iki ek koşula tabidir:

Bu ilke (değişiklik olmaksızın), ek koşulların yanı sıra herhangi bir sayıda değişkene uygulanabilir. x 1 , x 2 düzlemini düşünün (Şekil 1). Formül (8)'e göre her nokta belirli bir F değerine karşılık gelmektedir. Şekil 1'de bu düzleme ait F=cont doğruları F'nin minimum olduğu M* noktasını çevreleyen kapalı eğrilerle temsil edilmektedir. İlk anda x 1 ve x 2 değerlerinin M 0 noktasına karşılık gelmesine izin verin. Hesaplama döngüsü bir dizi deneme adımıyla başlar. İlk olarak, x 1'e küçük bir artış verilir; bu sırada x 2'nin değeri değişmez. Daha sonra, kısmi türevin değeriyle orantılı olarak kabul edilebilecek F değerinde ortaya çıkan artış belirlenir.

(değer her zaman aynıysa).

Kısmi türevlerin (10) ve (11) tanımı, F'nin gradyanı olarak adlandırılan ve aşağıdaki gibi gösterilen ve koordinatlarına sahip bir vektörün bulunduğu anlamına gelir:

Bu vektörün yönünün F değerindeki en hızlı artışın yönü ile çakıştığı bilinmektedir. Tersi ise “en sert iniş” yani F değerindeki en sert düşüşün olduğu yöndür.

Eğimin bileşenleri bulunduktan sonra, deneme hareketleri durur ve çalışma adımları gradyanın yönünün tersi yönde gerçekleştirilir ve adım boyutu ne kadar büyükse, grad F vektörünün mutlak değeri o kadar büyük olur. çalışma adımlarının değerleri ve kısmi türevlerin daha önce elde edilen değerleri ile orantılıysa koşullar gerçekleştirilir:

burada b pozitif bir sabittir.

Her çalışma adımından sonra, F artışı tahmin edilir.Negatif çıkarsa, hareket doğru yöndedir ve aynı yönde M 0 M 1 daha ilerlemeniz gerekir. M 1 noktasında ölçüm sonucu bunu gösteriyorsa, çalışma hareketleri durur ve yeni bir dizi deneme hareketi başlar. Bu durumda, gradyan gradF yeni bir M1 noktasında belirlenir, ardından çalışma hareketi yeni bulunan en dik iniş yönü boyunca, yani M1M2 hattı boyunca vb. devam eder. Bu yönteme en dik iniş/en dik çıkış yöntemi denir.

Sistem, miktarın küçük bir değeriyle gösterilen minimuma yaklaştığında

daha "temkinli" bir arama yöntemine, sözde gradyan yöntemine geçiş var. En dik iniş yönteminden farkı, gradyan gradF'i belirledikten sonra yalnızca bir çalışma adımının yapılması ve ardından yeni bir noktada bir dizi deneme hareketinin yeniden başlamasıdır. Bu arama yöntemi, en dik iniş yöntemine kıyasla minimumun daha doğru bir şekilde kurulmasını sağlarken, ikincisi minimuma hızlı bir şekilde yaklaşmanıza izin verir. Arama sırasında M noktası izin verilen alanın sınırına ulaşırsa ve M 1 , M 2 değerlerinden en az biri işaret değiştirirse, yöntem değişir ve M noktası alanın sınırı boyunca hareket etmeye başlar.

Dik tırmanma yönteminin etkinliği, değişken ölçeğinin seçimine ve yanıt yüzeyinin türüne bağlıdır. Küresel konturlara sahip yüzey optimuma hızlı büzülmeyi sağlar.

Dik tırmanma yönteminin dezavantajları şunları içerir:

1. Ekstrapolasyonun sınırlandırılması. Gradyan boyunca hareket ederek, karşılık gelen değişkenlere göre amaç fonksiyonunun kısmi türevlerinin ekstrapolasyonuna güveniyoruz. Ancak yanıt yüzeyinin şekli değişebilir ve aramanın yönünü değiştirmek gerekir. Yani düzlemdeki hareket sürekli olamaz.

2. Global optimumu bulmada zorluk. Yöntem, yalnızca yerel optimumları bulmak için uygulanabilir.

Gradyan vektörü, belirli bir noktada fonksiyonun en hızlı artışına yöneliktir. -grad(/(x)) gradyanının karşısındaki vektör, anti-gradyan olarak adlandırılır ve fonksiyonun en hızlı düşüş yönünde yönlendirilir. Minimum noktada, fonksiyonun gradyanı sıfırdır. Gradyan metotlar olarak da adlandırılan birinci dereceden metotlar, degradenin özelliklerini temel alır. Ek bilgi yoksa, o zaman x (0 >) başlangıç ​​noktasından noktaya gitmek daha iyidir x (1) , antigradyan yönünde uzanır - fonksiyondaki en hızlı azalma. Antigradient -grad'ı seçme ( /(x (^)) noktasında x (için formun yinelemeli bir sürecini elde ederiz

Koordinat formunda bu işlem şu şekilde yazılır:

Yinelemeli işlemi durdurmak için bir kriter olarak, koşul (10.2) veya gradyanın küçüklüğü için koşulun yerine getirilmesi kullanılabilir.

Belirtilen koşulların aynı anda yerine getirilmesinden oluşan birleşik bir kriter de mümkündür.

Gradyan yöntemleri, adım boyutunun seçilme biçiminde birbirinden farklılık gösterir. A Sabit adım yönteminde, tüm iterasyonlar için bazı sabit adım değerleri seçilir. Oldukça küçük adım bir ^ fonksiyonun azalmasını sağlar, yani eşitsizliğin yerine getirilmesi

Ancak bu, minimum noktaya ulaşmak için yeterince fazla sayıda iterasyon gerçekleştirme ihtiyacına yol açabilir. Öte yandan, çok büyük bir adım, fonksiyonun büyümesine veya minimum nokta civarında dalgalanmalara neden olabilir. Adım boyutunu seçmek için ek bilgi gereklidir, bu nedenle pratikte sabit adımlı yöntemler nadiren kullanılır.

Daha güvenilir ve ekonomik (yineleme sayısı açısından), elde edilen yaklaşıma bağlı olarak adım boyutunun bir şekilde değiştiği değişken adımlı gradyan yöntemleridir. Böyle bir yönteme örnek olarak en dik iniş yöntemini ele alalım. Bu yöntemde, her iterasyonda, /(x) fonksiyonunun iniş yönündeki minimum koşulundan n* adım değeri seçilir, yani

Bu durum, f(x) fonksiyonunun değeri azaldıkça antigradyan boyunca hareketin meydana geldiği anlamına gelir. Bu nedenle, her yinelemede, φ(λ) =/(x(/r) - - agrad^x^))) fonksiyonunun π'sine göre tek boyutlu minimizasyon problemini çözmek gerekir. En dik iniş yönteminin algoritması aşağıdaki gibidir.

  • 1. x^° başlangıç ​​noktasının koordinatlarını, r yaklaşık çözümünün doğruluğunu belirleyelim. k = 0.
  • 2. x (/z) noktasında gradyan(/(x (^))) değerini hesaplıyoruz.
  • 3. Adım boyutunu belirleyin bir ^ cp(i) fonksiyonunun i'sine göre tek boyutlu minimizasyon ile.
  • 4. Formül (10.4)'e göre x (* +1 >) minimum noktasına yeni bir yaklaşım tanımlarız.
  • 5. Yinelemeli işlemi durdurma koşullarını kontrol edin. Memnun kalırlarsa, hesaplamalar durur. yoksa koyarız kk+ 1 ve 2. maddeye gidin.

En dik iniş yönteminde x (*) noktasından hareket yönü seviye çizgisine x (* +1) noktasında temas eder. İniş yörüngesi zikzaktır ve bitişik zikzak bağlantıları birbirine diktir. Aslında bir adım bir ^ minimize edilerek seçilir A işlevler ( A). Gerekli kondisyon

fonksiyonun minimumu - = 0. Türevin hesaplanması

karmaşık fonksiyon, komşu noktalardaki iniş yönü vektörleri için diklik koşulunu elde ederiz:

φ(n) fonksiyonunu en aza indirme problemi, tek değişkenli bir fonksiyonun kökünü hesaplama problemine indirgenebilir. g(bir) =

Gradyan yöntemleri, düzgün dışbükey fonksiyonlar için geometrik bir ilerleme hızında minimuma yakınsar. Bu tür fonksiyonlar, ikinci türev matrisinin (Hesse matrisleri) en büyük ve en küçük özdeğerlerine sahiptir.

birbirinden çok az farklılık gösterir, yani H(x) matrisi iyi şartlandırılmıştır. Bununla birlikte, pratikte, küçültülmüş fonksiyonlar genellikle ikinci türevlerin kötü koşullandırılmış matrislerine sahiptir. Bu tür fonksiyonların bazı yönlerdeki değerleri diğer yönlere göre çok daha hızlı değişir. Gradyan yöntemlerinin yakınsama oranı da önemli ölçüde gradyan hesaplamalarının doğruluğuna bağlıdır. Genellikle minimum noktaların yakınında meydana gelen kesinlik kaybı, genellikle gradyan iniş sürecinin yakınsamasını bozabilir. Bu nedenle, gradyan yöntemleri genellikle bir problemi çözmenin ilk aşamasında diğer daha verimli yöntemlerle birlikte kullanılır. Bu durumda x(0) noktası minimum noktadan uzaktır ve ters gradyan yönündeki adımlar fonksiyonda önemli bir azalma elde etmeyi mümkün kılar.

Kısıtsız optimizasyon probleminde herhangi bir kısıtlama yoktur.

Çok boyutlu bir fonksiyonun gradyanının, kısmi türevlerin geometrik toplamı tarafından analitik olarak ifade edilen bir vektör olduğunu hatırlayın.

Skaler Fonksiyon Gradyanı F(X) bir noktada fonksiyonun en hızlı artışına yöneliktir ve seviye çizgisine ortogonaldir (sabit değerli yüzeyler F(X), bir noktadan geçmek X k). Gradyan  antigradient 'nin karşısındaki vektör, fonksiyonun en hızlı düşüş yönüne yönlendirilir F(X). en uç noktada mezun F(X)= 0.

Gradyan yöntemlerinde, amaç fonksiyonunun minimumunu ararken bir noktanın hareketi yinelemeli formülle tanımlanır.

Nerede k  adım parametresi açık k antigradyan boyunca inci iterasyon. Tırmanma yöntemleri için (maksimumu arayın), yokuş boyunca hareket etmeniz gerekir.

Gradyan yöntemlerinin farklı varyantları, adım parametresini seçme ve önceki adımdaki hareket yönünü dikkate alma şeklinde birbirinden farklıdır. Gradyan yöntemleri için şu seçenekleri göz önünde bulundurun: sabit bir adımla, değişken bir adım parametresiyle (adım ayırma), en dik iniş yöntemi ve eşlenik gradyan yöntemi.

Sabit adım parametreli yöntem. Bu yöntemde adım parametresi her iterasyonda sabittir. Şu soru ortaya çıkıyor: adım parametresinin değeri pratik olarak nasıl seçilir? Yeterince küçük bir adım parametresi, minimum noktaya ulaşmak için gereken kabul edilemeyecek kadar çok sayıda yinelemeye yol açabilir. Öte yandan, çok büyük bir adım parametresi, minimum noktanın aşılmasına ve bu nokta etrafında salınımlı bir hesaplama sürecine yol açabilir. Bu durumlar yöntemin dezavantajlarıdır. Adım parametresinin kabul edilebilir değerini önceden tahmin etmek imkansız olduğu için k, o zaman değişken bir adım parametresi ile gradyan yöntemini kullanmak gerekli hale gelir.

Optimuma yaklaştıkça, gradyan vektörünün büyüklüğü azalır ve sıfıra yönelir, bu nedenle k = const adım uzunluğu kademeli olarak azalır. Optimum değerin yakınında, gradyan vektörünün uzunluğu sıfır olma eğilimindedir. Vektör uzunluğu veya norm N-boyutlu Öklid uzayı formülle belirlenir

, Nerede N- değişken sayısı.

Optimum aramayı durdurma seçenekleri:


Pratik açıdan, 3. durdurma kriterini kullanmak daha uygundur (çünkü tasarım parametrelerinin değerleri ilgi çekicidir), ancak uç noktanın yakınlığını belirlemek için 2.'ye odaklanmanız gerekir. kriter. Hesaplama sürecini durdurmak için çeşitli kriterler kullanılabilir.

Bir örnek düşünün. Amaç fonksiyonunun minimumunu bulun F(X) = (X 1  2) 2 + (X 2  4) 2 . Sorunun kesin çözümü X*= (2.0;4.0). Kısmi türevler için ifadeler

,
.

bir adım seçin k = 0.1. Başlangıç ​​noktasından arayalım X 1 = . Çözüm bir tablo şeklinde sunulur.

Adım parametre bölmeli gradyan yöntemi. Bu durumda, optimizasyon işlemi sırasında, bir sonraki adımdan sonra amaç fonksiyonu artarsa ​​(minimum aranırken) adım parametresi  k azalır. Bu durumda, adım uzunluğu genellikle ikiye bölünür (bölünür) ve adım bir önceki noktadan itibaren tekrarlanır. Bu uç noktaya daha doğru bir yaklaşım sağlar.

En dik iniş yöntemi. Değişken basamaklı yöntemler iterasyon sayısı açısından daha ekonomiktir. Antigradyan yönü boyunca optimal adım uzunluğu  k, tek boyutlu bir minimizasyon probleminin çözümü ise, bu yönteme en dik iniş yöntemi denir. Bu yöntemde, her iterasyonda tek boyutlu minimizasyon problemi çözülür:

F(X) k+1 )=F(X k k S k )=dk F( k ), S k = F(X);

k >0

.

Bu yöntemde antigradyant yönündeki hareket amaç fonksiyonunun minimumuna ulaşılana kadar (amaç fonksiyonunun değeri azalana kadar) devam eder. Bir örnek kullanarak, bilinmeyen parametreye bağlı olarak amaç fonksiyonunun her adımda analitik olarak nasıl yazılabileceğini düşünelim.

Örnek. dakika F(X 1 , X 2 ) = 2X 1 2 + 4X 2 3 3. Daha sonra F(X)= [ 4X 1 ; 12X 2 2 ]. nokta olsun X k = , buradan F(X)= [ 8; 12], F(X k S k ) =

2(2  8) 2 + 4(1  12) 3  3. Bu fonksiyonun minimumunu sağlayan 'yi bulmak gerekir.

En dik iniş algoritması (minimumu bulmak için)

ilk adım. Durdurma sabiti  olsun. Başlangıç ​​noktasını seçin X 1 , koymak k = 1 ve ana adıma gidin.

temel adım. Eğer || gradF(X)||< , ardından aramayı sonlandırın, aksi takdirde F(X k ) ve bul k  minimizasyon probleminin optimal çözümü F(X k k S k ) de k 0. Koymak X k +1 = X k k S k, atamak k =

k + 1 ve ana adımı tekrarlayın.

En dik iniş yönteminde bir değişkenin bir fonksiyonunun minimumunu bulmak için tek modlu optimizasyon yöntemlerini kullanabilirsiniz. Geniş bir yöntem grubundan, dikotomi (ikiye bölme) yöntemini ve altın bölümü düşünün. Tek modlu optimizasyon yöntemlerinin özü, ekstremumun konumunun belirsizlik aralığını daraltmaktır.

Dikotomi yöntemi (ikiye bölme)İlk adım. Ayırt edilebilirlik sabitini  ve belirsizlik aralığının son uzunluğunu seçin ben.  değeri mümkün olduğu kadar küçük olmalı, ancak işlevin değerlerini ayırt etmeye izin vermelidir. F() Ve F() . İzin vermek [ A 1 , B 1 ]  başlangıç ​​belirsizlik aralığı. Koymak k =

Ana aşama, aynı türden sınırlı sayıda yinelemeden oluşur.

k-inci yineleme.

Aşama 1. Eğer B k A k ben, ardından hesaplama sona erer. Çözüm X * = (A k + B k )/2. Aksi takdirde

,
.

Adım 2 Eğer F( k ) < F( k ), koymak A k +1 = A k ; B k +1 = k. Aksi takdirde A k +1 = k Ve B k +1 = B k. Atamak k = k + 1 ve 1. adıma gidin.

Altın bölüm yöntemi. Dikotomi yönteminden daha verimli bir yöntem. Belirsizlik aralığının belirli bir değerini daha az yinelemede elde etmenizi sağlar ve amaç fonksiyonunun daha az hesaplanmasını gerektirir. Bu yöntemde belirsizlik aralığının yeni bölünme noktası bir kez hesaplanır. Yeni nokta bir mesafeye yerleştirilir

 = aralığın sonundan 0,618034.

Altın Oran Algoritması

İlk adım. Belirsizlik aralığının kabul edilebilir bir sonlu uzunluğunu seçin ben > 0. İzin vermek [ A 1 , B 1 ]  başlangıç ​​belirsizlik aralığı. Koymak 1 = A 1 +(1 )(B 1 A 1 ) Ve 1 = A 1 + (B 1 A 1 ) , Nerede = 0,618 . Hesaplamak F( 1 ) Ve F( 1 ) , koymak k = 1 ve ana adıma gidin.

Aşama 1. Eğer B k A k ben, ardından hesaplamalar sona erer X * = (A k + B k )/ 2. Aksi takdirde, eğer F( k ) > F( k ) , ardından 2. adıma gidin; Eğer F( k ) F( k ) , 3. adıma gidin.

Adım 2 Koymak A k +1 = k , B k +1 = B k , k +1 = k , k +1 = A k +1 + (B k +1 A k +1 ). Hesaplamak F( k +1 ), 4. adıma gidin.

Aşama 3 Koymak A k +1 = A k , B k +1 = k , k +1 = k , k +1 = A k +1 + (1 )(B k +1 A k +1 ). Hesaplamak F( k +1 ).

Adım 4 Atamak k = k + 1, 1. adıma gidin.

İlk yinelemede, işlevin iki değerlendirmesi gerekir, sonraki tüm yinelemelerde yalnızca bir değerlendirme gerekir.

Eşlenik gradyan yöntemi (Fletcher-Reeves). Bu yöntemde, hareket yönü seçimi k+ 1 adım, yön değişikliğini hesaba katar k adım. İniş yönü vektörü, gradyan önleme yönü ile önceki arama yönünün doğrusal bir kombinasyonudur. Bu durumda, vadi fonksiyonlarını en aza indirirken (dar uzun oluklarla), arama vadiye dik değil, boyunca yapılır ve bu da minimuma hızlı bir şekilde ulaşmanızı sağlar. Eşlenik gradyan yöntemini kullanarak bir ekstremite ararken, nokta koordinatları şu ifade ile hesaplanır: X k +1 = X k V k +1 , Nerede V k +1 aşağıdaki ifade ile hesaplanan bir vektördür:

.

İlk yineleme genellikle V = 0 ve en dik iniş yönteminde olduğu gibi eğim önleme araması gerçekleştirilir. Daha sonra hareket yönü, son iterasyonda gradyan vektörünün uzunluğu ne kadar önemli ölçüde değişirse, antigradyan yönünden o kadar sapar. Sonrasında N Algoritmanın çalışmasını düzeltmek için adımlar, ters gradyan boyunca olağan adımı atar.

Eşlenik gradyan yönteminin algoritması

Aşama 1. Başlangıç ​​noktasını girin X 0 , kesinlik , boyut N.

Adım 2 Koymak k = 1.

Aşama 3 Vektör koymak V k = 0.

Adım 4 Hesaplamak mezun F(X k ).

Adım 5 vektörü hesapla V k +1.

Adım 6 1B Vektör Araması Gerçekleştirin V k +1.

Adım 7 Eğer k < N, koymak k = k + 1 ve 4. adıma gidin, aksi takdirde 8. adıma geçin.

Adım 8 Eğer vektörün uzunluğu V'dan küçükse, aramayı sonlandırın, aksi takdirde 2. adıma gidin.

Eşlenik yön yöntemi, minimizasyon problemlerinin çözümünde en etkili yöntemlerden biridir. Yöntem, tek boyutlu arama ile bağlantılı olarak CAD'de pratikte sıklıkla kullanılır. Ancak, hesaplama işlemi sırasında oluşan hatalara karşı duyarlı olduğu belirtilmelidir.

Gradyan Yöntemlerinin Dezavantajları

    Çok sayıda değişkenli problemlerde analitik fonksiyonlar şeklinde türevler elde etmek zor veya imkansızdır.

    Fark şemalarını kullanarak türevleri hesaplarken, özellikle bir ekstremum yakınında ortaya çıkan hata, böyle bir yaklaşımın olanaklarını sınırlar.

KATEGORİLER

POPÜLER MAKALELER

2023 "kingad.ru" - insan organlarının ultrason muayenesi