Kısa devre hesabı için eşlenik gradyan yöntemi. Eşlenik gradyan yöntemleri

Hizmetin amacı. Bir fonksiyonun minimumunu bulmak için tasarlanmış çevrimiçi hesap makinesi eşlenik gradyan yöntemi(örneğe bakın). Fletcher-Reeves yöntemi Ve eşlenik gradyan yöntemi- Bu farklı yöntemler Her ne kadar ikincisi birincinin bir varyasyonu olsa da. Fletcher ve Reeves önceki yöntemi keyfi fonksiyonlar durumuna genişletti. İkinci dereceden fonksiyonlara uygulandığında eşlenik gradyan yöntemine eşdeğer hale gelir. Ayrıca uygulandı Mil-Cantrell varyantı.

f(x 1 ,x 2) =

Bir fonksiyonun minimumunu bulma yöntemi Eşlenik gradyan yöntemi Fletcher-Reeves yöntemi Mealy-Kentrell yöntemi Pollack-Ribière yöntemi Newton yöntemi en dik iniş
Bir noktadan başlayarak ( ; ). .
Doğruluk ξ = 1 2 3
js-komut dosyası

Çözüm Word formatında hazırlanmıştır.:

İşlev girme kuralları

Örneğin, x 1 2 +x 1 x 2, x1^2+x1*x2 olarak yazın Arama talimatlarını oluşturur daha büyük ölçüde
Minimize edilen fonksiyonun geometrisine karşılık gelir. Tanım . İki n boyutlu vektör x ve y olarak adlandırılır konjuge A matrisine (veya A-eşleniğine) göre, eğer nokta çarpım

(x, Ay) = 0 . Burada A, n x n boyutunda simetrik pozitif tanımlı bir matristir.

Eşlenik gradyan yöntemi algoritmasının şeması
k=0'ı ayarlayın.
Ш.1 Başlangıç ​​noktası x 0 olsun; ,
d 0 =-g 0; k=0.
.
Sh 2 x k +1 =x k +λ k d k'yi belirleyin, burada
,
O halde d k+1 =-g k+1 +β k d k ,
β k, d k +1 Ad k =0 koşulundan bulunur (A matrisine göre eşlenik).
Ş.3 k=k+1 → Ş.2'yi koyun. .
Her d k yönü boyunca tek boyutlu bir aramayı durdurma kriteri şu şekilde yazılır: Değerler

dk yönü önceden oluşturulmuş tüm yönlerle A-eşlenik olacak şekilde seçilir.

Fletcher-Reeves yöntemi Fletcher-Reeves Yöntemi Stratejisi< f(x k), k=0, 1, 2, ...
f(x k +1) olacak şekilde bir (x k ), k=0, 1, 2, ... noktaları dizisinin oluşturulmasından oluşur
(xk) dizisinin noktaları şu kurala göre hesaplanır:
x k +1 =x k -t k d k , k = 0, 1, 2,…

d k = ▽f(x k) + b k -1 ▽f(x k -1)
Adım boyutu, hareket yönünde f(x) fonksiyonunun minimumunun t üzerindeki koşulundan, yani tek boyutlu minimizasyon probleminin çözülmesinin bir sonucu olarak seçilir:
f(x k -t k d k) → min (t k >0) Durumunda f(x)= (x, Hx) + (b, x) + ve d k, d k -1 yönleri H-eşleniği olacaktır, yani. (d k , Hd k -1)=0
Ayrıca (x k) dizisinin noktalarında fonksiyon gradyanları f(x) karşılıklı olarak diktir, yani. (▽f(x k +1),▽f(x k))=0, k =0, 1, 2…
İkinci dereceden olmayan fonksiyonları en aza indirirken Fletcher-Reeves yöntemi sonlu değildir. İkinci dereceden olmayan fonksiyonlar için, b k -1 değeri aşağıdaki şekilde hesaplandığında Fletcher-Reeves yönteminin (Polak-Ribière yöntemi) aşağıdaki modifikasyonu kullanılır:

Burada I bir dizi indekstir: I = (0, n, 2n, 3n, ...), yani Polak-Ribière yöntemi en hızlı yinelemenin kullanımını içerir gradyan inişi her n adımda bir, x 0'ın x n +1 ile değiştirilmesi.
(x k) dizisinin yapısı |▽f(x k)| olduğu noktada sona erer.<ε.
Eşlenik gradyan yönteminin geometrik anlamı aşağıdaki gibidir. Verilen birinden başlangıç ​​noktası x 0 iniş d 0 = ▽f(x 0) yönünde gerçekleştirilir. x 1 noktasında ▽f(x 1) gradyan vektörü belirlenir. Çünkü x 1, fonksiyonun d yönündeki minimum noktasıdır. 0 ise ▽f(x 1) d 0 vektörüne diktir. Daha sonra d 1 vektörü bulunur, d 0'a H-eşlenidir. Daha sonra fonksiyonun minimumu d 1 vb. yönünde bulunur.

Fletcher-Reeves yöntemi algoritması

Başlangıç ​​aşaması.
x 0 , ε > 0'ı ayarlayın.
Bir fonksiyonun gradyanını bulun keyfi nokta
k=0.
Ana sahne
Adım 1. ▽f(x k)'yi hesaplayın
Adım 2. Durdurma kriterinin karşılandığını kontrol edin |▽f(x k)|< ε
a) Kriter sağlanıyorsa hesaplama tamamlanır, x * =x k
b) Kriter karşılanmıyorsa, k=0 ise 3. adıma, aksi takdirde 4. adıma gidin.
Adım 3. d 0 = ▽f(x 0)'ı belirleyin
Adım 4. İkinci dereceden olmayan bir fonksiyon durumunda veya değerini belirleyin
Adım 5. d k = ▽f(x k) + b k -1 ▽f(x k -1)'i belirleyin
Adım 6. f(x k - t k d k) → min (t k >0) koşulundan t k adım boyutunu hesaplayın
Adım 7. x k+1 =x k -t k d k'yi hesaplayın
Adım 8. k= k +1'i ayarlayın ve 1. adıma gidin.

Yöntemin yakınsaması

Teorem 1. Negatif olmayan belirli bir H matrisine sahip ikinci dereceden f(x) = (x, Hx) + (b, x) + a fonksiyonu, minimum değer R n üzerinde ise Fletcher-Reeves yöntemi minimum noktanın n'den fazla adımda bulunmamasını sağlar.
Teorem 2. f(x) fonksiyonunun diferansiyelli ve Rm üzerinde aşağıdan sınırlı olmasına izin verin ve onun degrade Lipschitz koşulunu karşılar. Daha sonra, keyfi bir başlangıç ​​noktası olarak Polac-Ribière yöntemi için şunu yaparız:
Teorem 2, (xk) dizisinin şuna yakınsamasını garanti eder: sabit nokta x * , burada ▽f(x *)=0. Bu nedenle, bulunan x * noktasının ihtiyacı var ek araştırma sınıflandırması için. Polak-Ribière yöntemi, (xk) dizisinin yalnızca yüksek dışbükey fonksiyonlar için minimum noktaya yakınsamasını garanti eder.
Yakınsama oranı tahmini yalnızca aşağıdakiler için elde edildi: kuvvetli dışbükey fonksiyonlar bu durumda (x k) dizisi f(x) fonksiyonunun minimum noktasına şu hızla yakınsar: |x k+n – x*| ≤ C|x k – x*|, k = (0, n, 2, …)

Örnek. Eşlenik gradyan yöntemini kullanarak fonksiyonun minimumunu bulun: f(X) = 2x 1 2 +2x 2 2 +2x 1 x 2 +20x 1 +10x 2 +10.
Çözüm. Arama yönü olarak geçerli noktadaki gradyan vektörünü seçin:

- t 0 - 0.1786
20
10
= + 0.0459 - t 1 - 0.4667
Hessian matrisi pozitif tanımlı olduğundan f(X) fonksiyonu kesinlikle dışbükey ve bu nedenle sabit nokta ulaşır küresel minimum.

Önceki paragrafta tartışılan Newton yöntemi ve yarı-Newton yöntemleri, kısıtsız minimizasyon problemlerini çözmenin bir yolu olarak çok etkilidir. Ancak oldukça sunuyorlar yüksek talepler kullanılan bilgisayar belleği miktarına göre. Bunun nedeni, bir arama yönü seçmenin sistemleri çözmeyi gerektirmesidir. doğrusal denklemler ve aynı zamanda matrisleri saklama ihtiyacının ortaya çıkmasıyla birlikte, büyük olanlar için bu yöntemlerin kullanılması imkansız olabilir. Eşlenik yön yöntemleri bu dezavantajdan önemli ölçüde kurtulmuştur.

1. Eşlenik yön yöntemleri kavramı.

İkinci dereceden fonksiyonu en aza indirme problemini düşünün

simetrik pozitif tanımlı bir matris A ile Çözümünün Newton yönteminin bir adımını ve yarı-Newton yönteminin adımlarından fazlasını gerektirmediğini hatırlayın. Eşlenik yön yöntemleri aynı zamanda fonksiyonun minimum noktasını (10.33) daha fazla bulmanıza izin vermez. adımlardan daha fazla. Bu, özel arama yönleri seçimiyle gerçekleştirilebilir.

Sıfırdan farklı vektörlerin (A matrisine göre) karşılıklı olarak eşlenik olduğunu söyleyeceğiz;

İkinci dereceden fonksiyonu (10.33) en aza indirmek için eşlenik yönler yöntemiyle, yöntemi kastediyoruz.

yönlerin karşılıklı olarak eşlenik olduğu ve adımların

tek boyutlu minimizasyon problemlerinin çözümü olarak elde edilir:

Teorem 10.4. Eşlenik yönler yöntemi, ikinci dereceden fonksiyonun (10 33) minimum noktasını yalnızca birkaç adımda bulmanızı sağlar.

Eşlenik yön yöntemleri, eşlenik yönlerin oluşturulma şekli açısından birbirinden farklılık gösterir. Bunlardan en ünlüsü eşlenik gradyan yöntemidir.

2. Eşlenik gradyan yöntemi.

Bu yöntemde talimatlar bir kural oluşturur

Çünkü bu yöntemin ilk adımı en dik iniş yönteminin adımına denk gelmektedir. Yönlerin (10.34) gerçekten de doğru olduğu gösterilebilir (bunu yapmayacağız).

A matrisine göre eşleniktir. Üstelik gradyanların karşılıklı olarak dik olduğu ortaya çıkar.

Örnek 10.5. Örnek 10.1'deki ikinci dereceden fonksiyonu en aza indirmek için eşlenik gradyan yöntemini kullanalım. şeklinde yazalım.

İlk yaklaşımı alalım

Yöntemin 1. adımı en dik iniş yönteminin ilk adımına denk gelmektedir. Bu nedenle (bkz. örnek 10.1)

2. adım. Haydi hesaplayalım

Çünkü çözümün iki adımda bulunduğu ortaya çıktı.

3. İkinci dereceden olmayan fonksiyonları en aza indirmek için eşlenik gradyan yöntemi.

Bu yöntemin uygulanabilmesi ve keyfi bir durumun en aza indirilmesi için pürüzsüz fonksiyon Katsayıyı hesaplamak için formül (10.35) forma dönüştürülür

veya görünüme

(10 36), (10.37) formüllerinin avantajı açıkça A matrisini içermemeleridir.

Fonksiyon, formüllere uygun olarak eşlenik gradyan yöntemiyle en aza indirilir.

Katsayılar (10.36), (10.37) formüllerinden biri kullanılarak hesaplanır.

Buradaki yinelemeli süreç artık bitmiyor sonlu sayı adımlar ve yönler genel anlamda bazı matrislere göre eşlenik değildir.

Tek boyutlu minimizasyon problemlerinin (10.40) sayısal olarak çözülmesi gerekmektedir. Ayrıca, eşlenik gradyan yönteminde sıklıkla katsayının (10.36), (10.37) formülleri kullanılarak hesaplanmadığını, ancak varsayıldığını da not ediyoruz. sıfıra eşit. Bu durumda bir sonraki adım aslında en dik iniş yöntemi kullanılarak gerçekleştirilir. Yöntemin bu "güncellenmesi" hesaplama hatasının etkisini azaltmamıza olanak tanır.

Bazıları için güçlü bir dışbükey düzgün fonksiyon için ek koşullar Eşlenik gradyan yöntemi yüksek bir süper doğrusal yakınsama oranına sahiptir. Aynı zamanda emek yoğunluğu düşüktür ve en dik iniş yönteminin karmaşıklığıyla karşılaştırılabilir. Hesaplamalı uygulamaların gösterdiği gibi, verimlilik açısından Newton benzeri yöntemlere göre biraz daha düşüktür, ancak kullanılan bilgisayar belleğine önemli ölçüde daha az talep getirir. Bir fonksiyonun en aza indirilmesi probleminin çok yüksek olduğu durumda çok sayıda değişkenler için eşlenik gradyan yöntemi tek uygun evrensel yöntem gibi görünmektedir.

Üst gevşeme yönteminin paralel bir versiyonunun etkinliğini değerlendirmek için hesaplamalı deneyler, girişte belirtilen koşullar altında gerçekleştirildi. Simetrik pozitif tanımlı bir matris oluşturmak için alt matrisin elemanları 0 ile 1 aralığında oluşturulmuş, alt matrisin elemanlarının değerleri matrislerin simetrisinden elde edilmiş ve üzerindeki elemanlar ana köşegen (alt matris), matrisin boyutu olan ile arasında bir aralıkta üretildi.

Durdurma kriteri olarak, doğruluk için durdurma kriterini (7.51) yineleme parametresi parametresiyle kullandık. Tüm deneylerde yöntem, 11 yinelemede gerekli doğrulukta bir çözüm buldu. Önceki deneylerde olduğu gibi, ivmeyi şuna göre sabitleyeceğiz: paralel program, tek iş parçacığında çalışıyor.

Tablo 7.20.
Deneysel sonuçlar (üst gevşeme yöntemi) N 1 akış
Paralel algoritma 2 akış 4 akış 6 akış
8 akış T 8 akış T 8 akış T 8 akış T
2500 0,73 0,47 1,57 0,30 2,48 0,25 2,93 0,22 3,35
5000 3,25 2,11 1,54 1,22 2,67 0,98 3,30 0,80 4,08
7500 7,72 5,05 1,53 3,18 2,43 2,36 3,28 1,84 4,19
10000 14,60 9,77 1,50 5,94 2,46 4,52 3,23 3,56 4,10
12500 25,54 17,63 1,45 10,44 2,45 7,35 3,48 5,79 4,41
15000 38,64 26,36 1,47 15,32 2,52 10,84 3,56 8,50 4,54


S

Pirinç. 7.50.

Deneyler iyi bir hızlanma göstermektedir (8 iş parçacığında yaklaşık 4).

Eşlenik gradyan yöntemi Boyutu simetrik, pozitif tanımlı bir matrise sahip doğrusal denklemler sistemini (7.49) düşünün. temel eşlenik gradyan yöntemi öyle sonraki mülk

: doğrusal denklem sistemini (7.49) simetrik pozitif tanımlı bir matrisle çözmek, fonksiyonu en aza indirme problemini çözmeye eşdeğerdir

Sıfıra gidiyor. Dolayısıyla (7.49) sisteminin çözümü, koşulsuz minimizasyon probleminin (7.56) çözümü olarak aranabilir.

Sıralı algoritma

Minimizasyon problemini (7.56) çözmek için aşağıdaki yinelemeli süreç düzenlenir.

Hazırlık adımı () formüllerle belirlenir

Keyfi bir başlangıç ​​yaklaşımı nerede; ve katsayı şu şekilde hesaplanır: (

Temel Adımlar

) formüllerle belirlenir

İşte bu yaklaşımın tutarsızlığı, katsayı eşlenik koşulundan bulunur

Yol tarifi ve; yönündeki bir fonksiyonu en aza indirme problemine bir çözümdür Yöntemin hesaplama formüllerinin analizi, bunların bir matrisi bir vektörle çarpmak için iki işlemi, bir skaler çarpımın dört işlemini ve vektörler üzerinde beş işlemi içerdiğini göstermektedir. Ancak her yinelemede çarpımı bir kez hesaplamak ve saklanan sonucu kullanmak yeterlidir. Toplam miktar

bir yinelemede gerçekleştirilen işlem sayısı

(7.58)

Operasyonlar. Pozitif tanımlı simetrik matrisli bir doğrusal denklem sistemine tam bir çözüm bulmak için, n'den fazla yineleme gerçekleştirmenin gerekli olmadığı, dolayısıyla tam bir çözüm bulmak için algoritmanın karmaşıklığının şu mertebede olduğu gösterilebilir: . Ancak yuvarlama hatalarından dolayı bu süreç Genellikle yinelemeli olarak kabul edilen süreç, ya olağan durma koşulu (7.51) karşılandığında ya da kalıntının bağıl normunun küçüklüğü koşulu sağlandığında sona erer.

Paralel hesaplamanın organizasyonu

Doğrusal denklem sistemlerinin çözümü için eşlenik gradyan yönteminin paralel bir versiyonu geliştirilirken öncelikle yöntemin yinelemelerinin sıralı olarak gerçekleştirildiği ve dolayısıyla en uygun yaklaşımın hesaplamaları paralelleştirmek olduğu dikkate alınmalıdır. yinelemeler sırasında uygulanır.

Sıralı algoritmanın analizi, yinelemedeki ana maliyetlerin matrisin ve vektörleriyle çarpılmasından oluştuğunu göstermektedir. Sonuç olarak, paralel hesaplamaları düzenlemek için iyi bilinen yöntemler kullanılabilir. paralel çarpma vektör başına matrisler.

Daha düşük karmaşıklığa sahip ek hesaplamalar, çeşitli vektör işleme işlemleridir (skaler çarpım, toplama ve çıkarma, bir skalerle çarpma). Bu tür hesaplamaların organizasyonu elbette seçilenlerle tutarlı olmalıdır. paralel bir şekilde bir matrisi bir vektörle çarpma işlemini gerçekleştirmek.

Ortaya çıkan paralel hesaplamaların verimliliğinin daha fazla analizi için, matrisin yatay şerit bölünmesiyle paralel bir matris-vektör çarpımı algoritması seçeceğiz. Bu durumda, hesaplama açısından daha az yoğun olan vektörler üzerindeki işlemler de çok iş parçacıklı modda gerçekleştirilecektir.

Hesaplamalı çaba sıralı yöntem eşlenik gradyanlar ilişki (7.58) ile belirlenir. Yürütme süresini belirleyelim paralel uygulama eşlenik gradyan yöntemi. Şerit yatay matris bölümleme şeması kullanılırken bir matrisin bir vektörle çarpılmasının paralel işleminin hesaplama karmaşıklığı

Vektörün uzunluğu nerede, iş parçacıklarının sayısı ve paralel bir bölümün oluşturulması ve kapatılması için gereken yük.

Vektörler üzerindeki diğer tüm işlemler (nokta çarpım, toplama, bir sabitle çarpma) tek iş parçacıklı modda gerçekleştirilebilir, çünkü yöntemin genel karmaşıklığı açısından belirleyici değildir. Bu nedenle eşlenik gradyan yönteminin paralel versiyonunun genel hesaplama karmaşıklığı şu şekilde tahmin edilebilir:

Yöntemin yineleme sayısı nerede.

Hesaplamalı deneylerin sonuçları

Simetrik pozitif tanımlı matrisli doğrusal denklem sistemlerini çözmek için eşlenik gradyan yönteminin paralel bir versiyonunun etkinliğini değerlendirmek için hesaplamalı deneyler, girişte belirtilen koşullar altında gerçekleştirildi. Matrisin ana köşegenindeki elemanlar () ile matrisin boyutu olan aralığında, geri kalan elemanlar ise 0 ila 1 aralığında simetrik olarak üretilmiştir. Doğruluk için durdurma kriteri (7.51) parametresi ile durdurma kriteri olarak kullanıldı

Hesaplamalı deneylerin sonuçları Tablo 7.21'de verilmiştir (algoritmaların çalışma süresi saniye cinsinden belirtilmiştir).

En dik iniş yöntemi

Her yinelemede en dik iniş yöntemini kullanırken adım boyutu A k fonksiyonun minimum koşulundan seçilir f(x) iniş yönünde, yani
f(x[k]-A k f"(x[k])) = f(x[k] -af"(x[k])) .

Bu durum, antigradyan boyunca hareketin, fonksiyonun değeri olduğu sürece meydana geldiği anlamına gelir. f(x) azalır. İLE matematiksel nokta Her yinelemede, tek boyutlu minimizasyon probleminin şu şekilde çözülmesi gerekir: A işlevler
J (A) = f(x[k]-af"(x[k])) .

En dik iniş yönteminin algoritması aşağıdaki gibidir.

1. Başlangıç ​​noktasının koordinatlarını ayarlayın X.

2. Bu noktada X[k], k = 0, 1, 2, ... gradyan değerini hesaplar f"(x[k]) .

3. Adım boyutu belirlenir A k, tek boyutlu minimizasyonla A işlevler j (A) = f(x[k]-af"(x[k])).

4. Noktanın koordinatları belirlenir X[k+ 1]:

X Ben [k+ 1]= x Ben [k]- A k F" Ben (X[k]), i = 1,..., s.

5. Sterasyon işleminin durdurulması koşulları kontrol edilir. Bunlar yerine getirilirse hesaplamalar durur. Aksi halde 1. adıma geçin.

Söz konusu yöntemde, noktadan hareketin yönü X[k] noktada seviye çizgisine dokunuyor X[k+ 1] (Şekil 2.9). İniş yörüngesi zikzaktır ve bitişik zikzak bağlantıları birbirine diktir. Aslında bir adım A k minimize edilerek seçilir A işlevler (A) = f(x[k] -af"(x[k])) . Önkoşul minimum fonksiyon D J (a)/da = 0. Türevi hesapladıktan sonra karmaşık fonksiyon, iniş yönleri vektörlerinin komşu noktalarda diklik koşulunu elde ederiz:

D J (a)/da = -f"(x[k+ 1]f"(x[k]) = 0.

Gradyan yöntemleri minimuma yakınsar yüksek hız(hızda geometrik ilerleme) düzgün dışbükey fonksiyonlar için. Bu tür işlevler en büyük M ve en azından M ikinci türevler matrisinin özdeğerleri (Hessian matrisi)

birbirinden çok az farklılık gösterir, yani matris N(x) iyi şartlandırılmış. şunu hatırlatalım özdeğerler ben ben Ben =1, …, Deneysel sonuçlar (üst gevşeme yöntemi) matrisler karakteristik denklemin kökleridir

Bununla birlikte, pratikte, kural olarak, minimize edilen fonksiyonlar ikinci türevlerin kötü koşullandırılmış matrislerine sahiptir. (t/ay<< 1). Bu tür fonksiyonların bazı yönlerdeki değerleri diğer yönlere göre çok daha hızlı (bazen birkaç büyüklük sırasına göre) değişir. En basit durumda düz yüzeyleri oldukça uzundur ve daha karmaşık durumlarda bükülür ve vadiler gibi görünürler. Bu özelliklere sahip fonksiyonlara denir oluk. Bu fonksiyonların antigradyan yönü (bkz. Şekil 2.10), minimum noktaya doğru önemli ölçüde sapar, bu da yakınsama hızının yavaşlamasına yol açar.

Deneyler iyi bir hızlanma göstermektedir (8 iş parçacığında yaklaşık 4).

Yukarıda tartışılan gradyan yöntemleri, genel durumda bir fonksiyonun minimum noktasını yalnızca sonsuz sayıda yinelemede bulur. Eşlenik gradyan yöntemi, küçültülmekte olan fonksiyonun geometrisiyle daha tutarlı arama yönleri üretir. Bu, yakınsama hızını önemli ölçüde artırır ve örneğin ikinci dereceden fonksiyonun en aza indirilmesine olanak tanır.

f(x) = (x, Hx) + (b, x) + a

simetrik pozitif tanımlı bir matris ile N sınırlı sayıda adımda P, fonksiyon değişkenlerinin sayısına eşittir. Minimum noktaya yakın herhangi bir düzgün fonksiyona ikinci dereceden bir fonksiyonla iyi bir şekilde yaklaşılabilir, bu nedenle eşlenik gradyan yöntemleri ikinci dereceden olmayan fonksiyonları en aza indirmek için başarıyla kullanılır. Bu durumda sonlu olmaktan çıkıp yinelemeli hale gelirler.

Tanım gereği iki Deneysel sonuçlar (üst gevşeme yöntemi) boyutlu vektör X Ve en isminde Tanım . İki n boyutlu vektör x ve y olarak adlandırılır matrise göre H(veya H-eşlenik), eğer skaler çarpım ise (X, Peki) = 0. Burada N - simetrik pozitif tanımlı boyut matrisi N X P.

Eşlenik gradyan yöntemlerindeki en önemli sorunlardan biri, yönlerin verimli bir şekilde oluşturulması sorunudur. Fletcher-Reeves yöntemi, her adımda antigradiyenti dönüştürerek bu sorunu çözer. -f(x[k]) yönde P[k], H-önceden bulunan yönlerle birleşin R, R, ..., R[k-1]. Öncelikle bu yöntemi ikinci dereceden bir fonksiyonun en aza indirilmesi problemiyle ilişkili olarak ele alalım.

Yol Tarifi R[k] aşağıdaki formüller kullanılarak hesaplanır:

P[k] = -f"(x[k]) +b k-1 P[k-l], k>= 1;

P = -F"(X) .

b değerleri k-1 yönler olacak şekilde seçilir P[k], R[k-1] vardı H-eşlenik:

(P[k], HP[k- 1])= 0.

Sonuç olarak, ikinci dereceden fonksiyon için

yinelemeli minimizasyon süreci şu şekildedir

X[k+l] =x[k]+bir k P[k],

Nerede R[k] - iniş yönü k- m adım; A k - adım boyutu. İkincisi, fonksiyonun minimum koşulundan seçilir f(x)İle A hareket yönünde, yani tek boyutlu minimizasyon probleminin çözülmesi sonucunda:

f(x[k] + A k R[k]) = f(x[k] + ar [k]) .

İkinci dereceden bir fonksiyon için

Fletcher-Reeves eşlenik gradyan yönteminin algoritması aşağıdaki gibidir.

1. Bu noktada X hesaplanmış P = -f"(x) .

2. Açık k- m adım, yukarıdaki formüller kullanılarak adım belirlenir A k . ve dönem X[k+ 1].

3. Değerler hesaplanır f(x[k+1]) Ve f"(x[k+1]) .

4. Eğer f"(x) = 0, sonra nokta X[k+1] fonksiyonun minimum noktasıdır f(x). Aksi takdirde yeni bir yön belirlenir P[k+l] ilişkiden

ve bir sonraki iterasyona geçiş gerçekleştirilir. Bu prosedür, ikinci dereceden bir fonksiyonun minimumunu en fazla N adımlar. İkinci dereceden olmayan fonksiyonları en aza indirirken, Fletcher-Reeves yöntemi sonludan yinelemeli hale gelir. Bu durumda sonrasında (p+ 1)Prosedür 1-4'ün tekrarı, değiştirme ile periyodik olarak tekrarlanır X Açık X[N+1] ve hesaplamalar belirli bir sayının olduğu yerde biter. Bu durumda yöntemin aşağıdaki modifikasyonu kullanılır:

X[k+l] = x[k]+bir k P[k],

P[k] = -f"(x[k])+ B k- 1 P[k-l], k>= 1;

P= -f"( X);

f(x[k] + A k P[k]) = f(x[k] +ap[k];

Burada BEN- birçok dizin: BEN= (0, n, 2 p, maaş, ...), yani yöntem her seferinde güncellenir N adımlar.

Eşlenik gradyan yönteminin geometrik anlamı aşağıdaki gibidir (Şekil 2.11). Belirli bir başlangıç ​​noktasından X iniş yönünde gerçekleştirilir R = -f"(x). bu noktada X gradyan vektörü belirlenir f"(x). Çünkü X fonksiyonun yönündeki minimum noktasıdır R, O f"(x) vektöre dik R. Daha sonra vektör bulunur R , H- ile eşlenik R. Daha sonra, fonksiyonun yön boyunca minimumunu buluyoruz. R vesaire.

Pirinç. 2.11 .

Eşlenik yön yöntemleri, minimizasyon problemlerinin çözümünde en etkili yöntemler arasındadır. Ancak sayma işlemi sırasında meydana gelen hatalara karşı hassas olduklarını unutmamak gerekir. Şu tarihte: büyük sayı değişkenler, hata o kadar artabilir ki ikinci dereceden bir fonksiyon için bile sürecin tekrarlanması gerekebilir, yani bunun için süreç her zaman uymaz N adımlar.

Yalnızca gradyan hesaplamasına dayalı gradyan yöntemleri R(X), birinci dereceden yöntemlerdir, çünkü adım aralığında doğrusal olmayan fonksiyonun yerini alırlar R(X) doğrusal.

Sadece birinciyi değil aynı zamanda ikinci türevlerini de kullanan ikinci dereceden yöntemler R(X) şu anki noktada. Bununla birlikte, bu yöntemlerin kendi çözmesi zor problemleri vardır - bir noktada ikinci türevlerin hesaplanması ve dahası, optimumdan çok uzakta, ikinci türevlerin matrisi kötü koşullandırılmış olabilir.

Eşlenik gradyan yöntemi, birinci ve ikinci dereceden yöntemlerin avantajlarını birleştirerek dezavantajlarını ortadan kaldırma girişimidir. Açık başlangıç ​​aşamaları(optimumdan uzak) yöntem birinci dereceden bir yöntem gibi davranır ve optimumun yakınında ikinci dereceden yöntemlere yaklaşır.

İlk adım, en dik iniş yönteminin ilk adımına benzer, ikinci ve sonraki adımlar her seferinde belirli bir noktadaki gradyan vektörlerinin ve bir önceki yönün doğrusal birleşimi olarak oluşturulan yönde seçilir.

Yöntem algoritması aşağıdaki gibi yazılabilir (vektör formunda):

x 1 = x 0 – h dereceli R(x 0),

x ben+1 = x ben – h .

α değeri yaklaşık olarak ifadeden bulunabilir.

Algoritma şu şekilde çalışır. Başlangıç ​​noktasından X 0 dk arıyorum R(X) eğim yönünde (en dik iniş yöntemini kullanarak), ardından bulunan noktadan başlayarak ve daha da ileri giderek, arama yönü min ikinci ifadeyle belirlenir. Minimumu yönde arama herhangi bir şekilde gerçekleştirilebilir: minimumu geçerken tarama adımını ayarlamadan sıralı tarama yöntemini kullanabilirsiniz, böylece yönde minimuma ulaşmanın doğruluğu adım boyutuna bağlıdır H.

İkinci dereceden bir fonksiyon için R(X) bir çözüm bulunabilir N adımlar (P– sorunun boyutu). Diğer işlevler için arama daha yavaş olacaktır ve bazı durumlarda, güçlü etki hesaplama hataları.

Eşlenik gradyan yöntemini kullanarak iki boyutlu bir fonksiyonun minimumunu aramak için olası yörüngelerden biri Şekil 2'de gösterilmektedir. 1.

Minimumu bulmak için eşlenik gradyan yönteminin algoritması.

Başlangıç ​​aşaması. Gradyan yönteminin yürütülmesi.

İlk yaklaşımı ayarlayın X 1 0 ,X 2 0. Kriterin değerinin belirlenmesi R(X 1 0 ,X 2 0). k = 0 olarak ayarlayın ve başlangıç ​​aşamasının 1. adımına gidin.

Adım 1. Ve
.

Adım 2. Degrade modülü ise

Adım 3.

X k+1 = X k H mezun R(X k)).

Adım 4. R(X 1 bin +1, X 2 bin +1). Eğer R(X 1 bin +1, X 2 bin +1)< R(X 1k, X 2 k), ardından k = k+1 olarak ayarlayın ve 3. adıma gidin. R(X 1 bin +1, X 2 bin +1) ≥ R(X 1k, X 2 k), ardından ana aşamaya gidin.

Ana sahne.

Adım 1. R(x 1 k + g, x 2 k), R(x 1 k – g, x 2 k), R(x 1 k , x 2 k + g), R(x 1 k , x 2 k) hesaplayın . Algoritmaya uygun olarak merkezi veya eşleştirilmiş bir örnekten kısmi türevlerin değerini hesaplayın Ve . Gradyan modülü değerini hesaplayın
.

Adım 2. Degrade modülü ise
, sonra hesaplamayı durdurun ve (x 1 k, x 2 k) noktasının optimum nokta olduğunu düşünün. Aksi halde 3. adıma geçin.

Adım 3. Aşağıdaki formüle göre α katsayısını hesaplayın:

Adım 4. Formülü kullanarak hesaplayarak iş adımını gerçekleştirin

x k+1 = x k – h .

Adım 5. Kriter değerini belirleyin R(X 1 bin +1, X 2 bin +1). k = k+1 olarak ayarlayın ve 1. adıma gidin.

Örnek.

Karşılaştırma için önceki örneğin çözümünü düşünün. İlk adımı en dik iniş yöntemini kullanarak atıyoruz (Tablo 5).

Tablo 5

En iyi nokta bulunmuştur. Bu noktada türevleri hesaplıyoruz: dr./ dx 1 = –2.908; dr./ dx 2 =1.600; Bir önceki noktadaki eğimin etkisini hesaba katan α katsayısını hesaplıyoruz: α = 3,31920 ∙ 3,3192/8,3104 2 =0,160. Yöntemin algoritmasına uygun bir çalışma adımı atıyoruz, elde ediyoruz X 1 = 0,502, X 2 = 1.368. Sonra her şey aynı şekilde tekrarlanır. Aşağıda, tabloda. Şekil 6 sonraki adımlar için mevcut arama koordinatlarını göstermektedir.

Tablo 6



Makaleyi beğendin mi? Arkadaşlarınızla paylaşın!