5.4. Minimum kereső eljárások

Az előző fejezetben láttuk, hogy az inverzió egyik fontos lépése a direktfeladatban szereplő paraméterek meghatározása a mérési anyag és az a priori ismeretek alapján. Láttuk, hogy ez általánosságban valamilyen kritériumfüggvény minimumának (szélső értékének) a meghatározását jelenti. Az alábbiakban röviden áttekintjük a többváltozós függvények szélsőértékét meghatározó numerikus eljárásokat. Az eljárásokban a levezetéseket mellőzzük.

Lineáris egyenletek megoldására visszavezethető eljárások

Láttuk, hogy a lineáris elméleti terű modelleknél kiemelt szerepe van az L2 norma szerinti becslésnek, ami a legkisebb négyzetek módszeréhez vezet. A módszer alkalmazása során általában egy

(5.55)

Alakú lineáris egyenlet x megoldásvektorát keressük, ahol A egy N×N méretű invertálható mátrix.

Az egyenlet megoldható a lineáris algebrai bevezetőben bemutatott általános inverz segítségével. Az eljárás azonban nem mindig célravezető nagy dimenziószámú vektorok esetén, ezért az adatok és a paraméterek nagy száma esetén iterációs eljárásokat alkalmazunk. Ezek lényege, hogy a paramétervektor kiinduló értékét (x(0)-t) önkényesen megválasztjuk, és valamilyen eljárás segítségével kiszámolunk egy olyan Δx(0) vektort, amit a paramétervektorhoz hozzáadva a kapott vektor (x(1) = x(0) + Δx(0)) már közelebb van az egyenletrendszer tényleges megoldásához. Ezt az eljárást addig ismételjük, amíg elegendően közel nem kerültünk az egyenlet megoldásához.

A kiinduló vektorhoz hozzáadandó Δx vektor kiszámítására többféle eljárás létezik (pl. gradiens módszer, konjugált gradiens módszer, stb.). Ezeknek az eljárásoknak a megértéséhez először meg kell ismerkednünk a kvadratikus függvény fogalmával.

Definiáljuk az vektorhoz tartozó kvadratikus függvényt:

(5.56)

Ahol , , c pedig egy konstans. A kvadratikus függvény tulajdonságai megegyeznek az A mátrix tulajdonságaival, tehát lehet szimmetrikus, pozitív definit, stb. A fenti egyenlet x szerinti szélsőértéke ott van, ahol az egyenlet x szerinti deriváltja nulla. A függvény deriváltja:

(5.57)

Vagyis egy kvadratikus függvény szélsőértékhelyének meghatározása egyenértékű a egyenlet megoldásával.

Ha az A mátrix szimmetrikus és pozitív definit, valamint egy z vektor kielégíti a egyenletet, akkor a kvadratikus függvény az alábbi alakba írható:

(5.58)

A jobboldali tag nem negatív, ezért a z vektor a kvadratikus függvény minimumhelye. Kimutatható, hogy a fenti esetben a z vektor az egyetlen minimumhely.

Gradiens módszer

A fentiek értelmében a egyenlet megoldása azonos a kvadratikus függvény minimumhelyének meghatározásával. Jelöljük a kvadratikus függvény negatív gradiensét egy r vektorral:

(5.59)

Az r vektor a korábban megismert reziduálvektor.

Találhatunk olyan α számot, amelyre teljesül az alábbi két feltétel:

(5.60, 5.61)

Egy kvadratikus függvény szintfelületei általánosított ellipszoidok, 2-dimenzióban ellipszisek. A felső egyenlet azt fejezi ki, hogy a paramétertér egyik (x) pontjáról a gradiens irányában 2·α·r vektorral arrébb mozdulva ugyanarra a szintfelületre (2-dimenzióban szintvonalra) jutunk. Az alsó egyenlet azt fejezi ki, hogy ha ennek a távolságnak a felével megyünk csak arrébb, akkor közeledünk a minimumhoz (vagy legalábbis nem távolodunk tőle).

A részletek mellőzésével közöljük, hogy az α skalár az alábbi módon számolható:

(5.62)

Látszik, hogy ennek kiszámításához egy önkényesen választott x hely esetén csak az A és a  mennyiségek kellenek.

Összefoglalásként megadható a gradiens módszer algoritmusa:

Válasszunk egy tetszőleges x(0) vektort. Számítsuk ki hozzá a  gradiens vektort. Számítsuk ki az alábbi mennyiségeket (k=1):

(5.63, 5.64, 5.65)

A fenti számítást ismételjük meg k=2,3,4,… számokra. Az x(k) vektorok sorozata az  egyenletrendszer x megoldásához tart.

Az eljárás hátránya, hogy amennyiben a kvadratikus függvény szintvonalai nagyon elnyúlt ellipszisek, akkor a konvergencia nagyon lassú.

Konjugált vektor módszer

Említettük, hogy a gradiens módszer hátránya, hogy rosszul kondicionált mátrixok esetén az r reziduálvektor irányába tett lépések csak rosszul konvergálnak a minimumhoz. Válasszunk az r vektor helyett egy (később meghatározandó) p vektort, amit a (5.60) egyenletbe betéve a minimum hely felé konvergáló megoldást kapnánk. Eszerint a (5.64) egyenletben az helyett áll. Eszerint szükségünk lennek a p(k) vektorok sorozatára.

Válasszuk úgy a p(k) vektorokat, hogy azok a pozitív definit A mátrix konjugáltjai legyenek, vagyis ha i≠j. Ekkor ezek a vektorok egy bázist alkotnak és ezek a vektorok lineárisan függetlenek. Ebből következik, hogy egy tetszőleges y vektor felírható az N darab p vektor lineárkombinációjaként (N a vektor dimenziója).

Írjuk fel a kiinduló x(0) vektor és az egyenlet megoldását jelentő z vektor különbségét, mint a p(k) vektorok lineárkombinációját!

(5.66)

ahol

(5.67)

(Ez az eredmény a kvadratikus függvény helyen felvett értékének a Taylor-sorfejtésével kapható meg.)

Eszerint ha a p(k) vektorok  az A mátrixnak konjugált vektorai akkor a gradiens  módszer módosítása (r helyett p vektorral számolva) legfeljebb N lépésben az egzakt megoldáshoz konvergál, ahol N az A mátrix dimenziója.

Konjugált gradiens módszer

A konjugált gradiens módszer lényege, hogy a konjugált vektor módszerben szereplő p(k) vektorokat iteratív módon állítjuk elő, úgy, hogy az iteráció első lépésében p(0) vektor az r(0) (gradiens)vektor.

(5.68)

Vagyis az aktuális k-adik iterációs lépésben felhasznált vektort állítsuk elő a gradiens vektor (r) és a korábbi p(0), p(1),…, p(k-1) vektorok lineárkombinációjaként. Ehhez a együtthatók meghatározása szükséges. (Ezek a együtthatók biztosítják, hogy a konjugáltság fennálljon.)

A számításokat mellőzve kimutatható, hogy a együtthatókra, adott k esetén az egyetlen nem nulla együttható a .

Ekkor a konjugált gradiens módszer szerint, egy tetszőleges x(0) vektort választva, és kiszámolva hozzá a vektorokat, k=1,2,…,N esetén a kiszámolva az alábbi mennyiségeket:

(5.69, 5.70, 5.71, 5.72, 5.73)

Az k+1=N esetén az x(N) vektor az egyenlet keresett megoldását szolgáltatja. Ez az eljárás viszonylag egyszerű, könnyen programozható, ezért nagy népszerűségnek örvend.

Intervallum keresés

Ennél a módszernél előzetes ismeretek alapján meghatározzuk, hogy a paramétervektor egyes elemei milyen intervallumban vehetnek fel értékeket. (Egy egyváltozós függvény esetén ez a számegyenesen egy szakasz, kétváltozós függvény esetén ez a síkon egy téglaalap.) Ezután a paramétertérnek ezt a részét minden paraméter- tengely mentén felosztjuk kis szakaszokra. (Ez a számegyenesen a szakasz felosztását, a síkon a téglaalapra berácsozását jelenti.)  Ezután a felosztás határpontjain, (a szakaszok végpontjain illetve a rácspontokban) kiszámoljuk a kritériumfüggvény értékét. Ahol a kritériumfüggvény legkisebb, ott annak a paramétervektornak a környezetében – kisebb szakaszokat választva – finomítjuk a felbontást és ezekben a pontokon újra kiszámoljuk a kritériumfüggvény értékekeit. Ezt az eljárást többször megismételve, elegendő pontossággal megkaphatjuk egy többváltozós függvény minimumát. Az eljárás során nem szükséges az egyes paraméterekre megadható intervallumokat azonos darabszámú szakaszokra osztani, illetve egy-egy paraméter esetén nem szükséges, hogy szakaszok egyforma hosszúságúak legyenek.

Az eljárás előnye, hogy egyszerűen programozható, és a direkt feladat számítását igényli csak, nem szükséges az elméletei válaszfüggvény deriváltjainak számítása.

Hátránya, hogy sokelemű paramétervektor esetén nagyon megnő a számításigény: ha az N elemű (dimenziójú) paramétervektor mindegyik elemét M-1 szakaszra (intervallumra) osztjuk fel, akkor MN alkalommal kell kiszámolnunk a függvény értékét egyetlen iterációs lépésben.

Szimplex módszer

A Nelder-Mead féle szimplex módszer (más néven amőba módszert) 1947-ben javasolták lineáris programozási problémák megoldására. (A lineáris programozás általános feladata többváltozós lineáris függvény szélsőértékének keresése adott feltételek mellett. A feltételek lineáris egyenletek, vagy egyenlőtlenségek alakban adottak. A lineáris programozást eleinte gazdasági és katonai logisztikai problémák megoldására használták.)

A szimplex módszer a szélsőérték meghatározásához nem igényli a függvény deriváltjainak számítását, ezért már a számítógépek használatának kezdetén alkalmazható volt, amikor még nem voltak kidolgozva a numerikus deriváltakat számító eljárások.

A szimplex egy N dimenziós térben egy N+1 csúcsponttal rendelkező idom. (A 2-dimenziós síkon ilyen idom a háromszög, a 3-dimenziós térben a tetraéder.)

A szimplex módszer egy iterációs eljárás, amely képes több lépésben megtalálni a függvény minimumhelyét, ha a függvény „sima” és egyetlen minimumhelye van.

Az inverzió során a paraméterek kiinduló értéke a paraméterek terének egy pontja. Ez lesz a vektor. A módszer inicializálása során megadunk egy  vektort, aminek i-edik eleme azt adja meg, hogy az i-edik paramétert mekkora lépéssel léptetjük arrébb a paramétertérben. A kiinduló szimplexet úgy képezzük, hogy a paramétervektor kiinduló értéke () lesz a szimplex egyik csúcsa, az (i+1)-edik csúcsot pedig úgy kapjuk, hogy ennek a vektornak i-edik elemét  i-edik elemével megnöveljük. Ekkor a változatlanul hagyott paramétervektor és az összesen N darab, egy-egy elemében megváltoztatott vektor adja a szimplex N+1 darab csúcsát.

Az eljárás röviden úgy írható le, hogy egy kezdetben felvett szimplex csúcsaira kiszámoljuk a függvény értékeket. Azt a csúcsot, amelynél a függvény értéke a legnagyobb, áttükrözzük a szimplex súlypontjára. Ekkor egy új szimplexet kapunk, úgy, hogy elhagyjuk a legnagyobb függvényértékű csúcsot és helyére a szimplexbe a tükrözéssel kapott csúcsot tesszük. Ennek az eljárásnak az ismétlésével a szimplex „lépeget”, a szimplex a függvény minimumához egyre közeledik. Ha a tükrözéssel újonnan kapott csúcsban a függvény értéke kisebb, mint a szimplex bármelyik csúcsában, akkor egy nyújtást végzünk a minimum irányában. Ha a tükrözéssel kapott ponton a függvény értéke nem csökken, akkor a minimumhelyet körülveszi a szimplex, ezért a szimplexet összehúzzuk. Ha ennek hatására sem találunk olyan csúcsot, amelyiken a függvény értéke csökkenne, akkor a legjobb csúcsra „ráhúzzuk” a szimplexet.

A következőkben bemutatjuk az eljárás részletes leírását.

A módszer inicializálásakor vegyünk fel az N-dimenziós térben egy N+1 csúcsú szimplexet. Ennek csúcsait jelöljék  vektorok. (a felső index az iterációs lépések számát jelenti, az alsó index a csúcsok indexe. Minden vektor N elemű.)

  • 1. Számítsuk ki ebben az N+1 csúcsban a függvény értékét! Ez után rakjuk sorba a vektorokat úgy, hogy a hozzájuk számított függvényértékek nagyság szerint növekedjenek:

  • 2. Számítsuk ki az x vektorok x0 súlypontját, úgy, hogy elhagyjuk az xN+1 vektort!

  • 3. Tükrözés: Tükrözzük a xN+1 pontot a súlypontra! Ez a tükrözött pont: Ha a tükrözött pont jobb, mint a második legrosszabb pont, de nem jobb, mint a legjobb pont (vagyis ), akkor helyettesítsük az xN+1 pontot a xr ponttal, és ismételjük meg az 1. lépést.

  • 4. Ha a tükrözött pont jobb, mint az eddigi legjobb pont, (vagyis ) akkor számoljuk ki az elnyújtott pontot.  Ha ez az elnyújtott pont jobb, mint a tükrözött pont (vagyis ), akkor helyettesítsük az xN+1 legrosszabb pontot az xe elnyújtott ponttal és ismételjük meg az 1. lépést.       Ha ez a elnyújtott pont nem jobb, mint a tükrözött pont akkor helyettesítsük az a xN+1  legrosszabb pontot a a xr tükrözött ponttal és ismételjük meg az 1. lépést.

  • 5. Ha a tükrözött pont rosszabb, mint az eddigi második legrosszabb pont, (vagyis ) akkor számoljuk ki az  összehúzott pontot.      Ha ez az összehúzott pont, jobb mint a legrosszabb pont (vagyis ) akkor helyettesítsük az a xN+1  legrosszabb pontot a xc összehúzott ponttal és ismételjük meg az 1. lépést. Egyébként lépjünk tovább a 6. pontra.

  • 6. A legjobb pont kivételével az összes pontot helyettesítsük az alábbi mennyiséggel:  ahol i=2,3,…, N. Ezután ismételjük meg az 1. lépést.

Az α a tükrözési, γ a nyújtási, ρ az összehúzási, σ pedig a zsugorítási együttható. Ezek szokásos értékei: α=1, γ=2, ρ=-1/2, σ=1/2. A 6. pont abban az esetben fordul elő, ha a minimumhely felé közeledve valamilyen irányból a függvény még növekszik, ekkor a szimplex összehúzása az 5. lépésben nem csökkenti a függvény értékét.

Több változó és összetett direkt feladat esetén a függvénynek több lokális minimumhelye lehet. A globális minimumhely megtalálásához lehetséges, hogy a szimplexet a paramétertér több pontjáról kell elindítani, ezzel feltérképezve az összes lokális minimumot.

A szimulált hűtés (Simulated Annealing)

A szimulált hűtés (Simulated Annealing; SA) módszert, arról a folyamatról nevezzük el, amelyben az olvadt anyag megszilárdulva más, jellemzően alacsonyabb energiaszintű kristályállapotba kerül azt követően, hogy lassan vagy épp gyorsan lehűlt. A fizikai rendszerek mindig a minimális energiájú állapot felé törekszenek, és e rendszerek matematikai modellezése a tetszőleges függvényalakú, ún. energiafüggvények minimalizálására is alkalmas.

Az olvadt anyagok atomszerkezete és – ennek következtében – energiaállapota is állandóan változik. Amennyiben az olvadt anyag termodinamikai szempontból egyensúlyban van, az energia-eloszlását a Boltzmann-féle valószínűségi függvénnyel adhatjuk meg:

(5.74)

ahol E jelöli az energiát, k a Boltzmann-állandót, T pedig a hőmérsékletet. Az energiaállapot valószínűségi jellege miatt az energiaszint akár igen kis hőmérséklet esetén is lehet viszonylag magas. Ez számunkra azért fontos, mert azáltal, hogy az olvadt anyag energiaszintje alacsonyabból magasabbra vált, előfordulhat, hogy a rendszer kilép egy lokális energiaminimum-helyzetből. Valójában nem a rendszer energiaszintje függ a hőmérséklettől, hanem annak növekedési valószínűsége:

 ha

(5.75)

Így minél magasabb a rendszer hőmérséklete, annál valószínűbb, hogy energiaszintje is növekedni fog. Lassú hűtés esetén az olvadt anyag energiaszintje csökkenni fog, a hűtés befejeztével minimális értéket vesz fel, „nulla hőmérsékleten” pedig ez az állapot rögzül, az anyag ebben az állapotban fagy meg.

 Az SA inverziós módszer alkalmazásával e folyamat modellezését használjuk fel a célfüggvény globális minimumának meghatározására. Ebben a modellben az olvadt anyag atomszerkezetének különböző értékeit a saját modellünk paramétereivel fogjuk megfeleltetni. A fizikai rendszer energiaszintjének megfelelője a mi eljárásunkban a minimalizálandó célfüggvény lesz. A módszer alkalmazása során a modellünk terében hajtunk végre irányított véletlen lépéseket, és a minimalizálandó  célfüggvény értékeit pedig a lépéseket követően feljegyezzük. A kiinduló modellünket jelöljük m0-lal,  pedig jelölje a célfüggvény ehhez tartozó értékét. Az irányított véletlen elmozdulás során a modelltérben egy Δm értékkel elmozdulunk és megállapítjuk a célfüggvény értékét ebben az  pontban. A Δm lépés hosszát az adott feladathoz kiválasztva azonos értékként kezeljük, irányát pedig véletlenszerűen adjuk meg. A létrejövő új m1 modell elfogadásának valószínűsége pedig a következőképpen adható meg:

 ha 

(5.76)

 ha

(5.77)

amelyben T egy pozitív paraméter, amelyet a (5.74) egyenlettel analóg módon kT-vel azonosítunk. A (5.76) egyenlet azt mondja ki, hogy a létrejövő új m1 modellt akkor fogadjuk el feltétel nélkül, ha a célfüggvény értéke csökkent (). Az m1 modell elfogadási valószínűsége viszont akkor sem nulla, ha a célfüggvény értéke növekszik; ez teszi lehetővé, hogy az eljárás ne ragadjon meg a paramétertér egy lokális minimumában. Minél kevésbé növekszik a célfüggvény értéke, annál inkább elfogadjuk ekkor is az új paraméter-halmazt.

Az elfogadás után az m1 modellt már m0-nak tekintve kezdjük elölről a véletlen ugrást, míg ha nem fogadjuk el az új paramétersort, az m0 értéke nem változik, és e régi helyről kísérlünk meg újabb véletlen ugrást.

A hőmérséklet-analóg T paraméter értékétől függ, hogy egy lokális minimumból hány lépéssel sikerül kitörni. Itt nem tárgyalt elméleti okokból T értékének megválasztása az alábbi korlátokkal történik:

(5.78)

Erre azért van szükség, mert ha az elfogadási valószínűség értéke 1-hez közeli, akkor bármilyen lépést elfogadunk, ha pedig túl alacsony, akkor túl sok lépéssel tudunk csak kitörni egy-egy lokális minimumból. A lépések abszolútértékét is úgy kell megválasszuk, hogy a lokális minimumból néhány lépéssel ki lehessen törni.

Az algoritmus ismételt végrehajtása során a T paramétert – akárcsak a fizikai rendszerbeli hűtés során a hőmérsékletet – fokozatosan csökkentjük. Ahogy a globális minimumhoz közelítünk, a rendszer mintegy „megfagy”, és a túl kicsi lépések miatt abból már nem tud kitörni. Az egyik legegyszerűbb hűtési modellt a

(5.79)

összefüggés írja le. Itt k az aktuális modell-átmenetet jelző sorszámozott index, γ pedig egy 1-nél kisebb, de ahhoz közeli állandó érték.

A fentiek összefoglalva megadhatjuk az SA eljárást algoritmikus formában is:

Legyen m0 a modell kiinduló állapota, az ehhez tartozó, minimalizálandó célfüggvény, T0 pedig egy kellően magas kiinduló hőmérséklet. Az algoritmus lépései a következők:

  • 1. Legyen és , ahol γ < 1, de ≈ 1 (Pl. γ = 0.98).

  • 2. Véletlenszerűen adjunk meg egy előre rögzített hosszúságú Δm elmozdulásvektort

  • 3. Legyen és .

  • 4. Ha , legyen . Folytatás az 1. lépéstől.

  • 5. Ha , legyen és .

    • (a) Generáljunk egy q véletlen számot a [0,1] intervallumból.

    • (b) Ha q<p, legyen . Folytatás az 1. lépéstől.

    • (c) Ha q>p, folytatás a 2. lépéstől.

Az genetikus algoritmus

A genetikus algoritmus (Genetic Algorithm; GA) — az előző pontban tárgyalt szimulált hűtéshez hasonlóan — egy valódi, a természetben is végbemenő folyamatot, az evolúciós kiválasztódást modellezi. A természetben azok az egyedek és fajok, amelyek egy külső követelményrendszerhez jól alkalmazkodnak, túlélnek és szaporodni fognak, a többiek pedig kihalnak. A modell-térnek a paraméter-halmazzal jellemzett pontjait esetünkben a biológiai egyedekkel azonosítjuk. A túlélés feltételének azt tekintjük, hogy a minimalizálandó célfüggvény hozzájuk rendelt értéke minél kisebb legyen. A természetes kiválasztódás folyamatának analógiájára végül egy olyan populációt kapunk, melynek egyedei a célfüggvény globális minimuma közelében „élnek”.

Adjunk meg az M-dimenziós modelltérben egy alteret, megadva az modellparaméterek lehetséges minimális és maximális értékeit megadó és  vektorokat! Ez az altér legyen diszkrét: az mi modellparaméterhez tartozó [ai, bi] intervallumot  szintre osztjuk. Ezáltal az mi diszkrét értékei egy Ni hosszúságú bináris adatlánc elemeiként állnak elő. Amikor az M modellparaméterhez tartozó bináris adatláncokat összefűzzük, létrejön egy bitből álló ún. „kromoszóma”, amely esetünkben a modelltér egy pontja lesz. Ez a diszkrét modelltér modellt tartalmaz, a populáció pedig n darab kromoszómából áll. A kiinduló populáció kromoszómáit a modelltérből véletlenszerűen választjuk ki. A természetes kiválasztódást pedig az alábbi három folyamattal modellezzük:

Kiválasztás: Válasszunk ki az a meglévő populációból úgy n darab modellt, hogy az mk modell kiválasztási valószínűsége a  célfüggvény értékétől függjön úgy, hogy minél kisebb a célfüggvény  értéke, annál valószínűbb, hogy a modellt ki is választjuk. E kiválasztási valószínűség egy lehetséges módja például:

(5.80)

ahol a populáció maximális célfüggvény-értéke. Ez az eljárás biztosítja, hogy a legkisebb célfüggvény-értékeket produkáló modellek megmaradnak, míg a nagyobb értékekkel jellemzettek „kipusztulnak”, eltűnnek a populációból.

Kereszteződés: A kiválasztást követően a „kromoszómáinkat” véletlen párosítással n/2 párba csoportosítjuk és a párok tagjait (a „szülő kromoszómákat”) keresztezzük egymással. A kereszteződés bekövetkezési valószínűsége legyen Pc! A kereszteződéskor véletlenszerűen kiválasztunk egy bitet a kromoszómák bináris adatláncában, és az ettől jobbra lévő biteket a szülő-kromoszómák közt felcseréljük, két új kromoszómát hozva létre ezzel. Amennyiben nem történik kereszteződés, akkor az utódok kromoszómai megegyeznek a szülőkével.

Mutáció: Az így kapott új populáció kromoszómáit tovább változtathatjuk véletlenszerű mutáció által. Ennek bekövetkezési valószínűsége legyen Pm. Amikor mutáció történik, a kromoszóma egyik bitjét véletlenszerűen kiválasztjuk és értékét az ellenkezőjére módosítjuk (0 helyett 1-et, 1 helyett pedig 0-t írunk bele). Ezzel a véletlenszerű beavatkozással válik lehetővé, hogy a rendszerben új információ jelenhessen meg. A mutáció teszi lehetővé, hogy új információkat hordozó kromoszómák jöhessenek létre. Mindazonáltal a Pm valószínűség értéke nem lehet akármilyen nagy, célszerű azt alacsonyan, 1-2% körül tartani, egyébként az eljárás inkább a tisztán véletlen lépéseket tartalmazó Monte-Carlo-módszerhez lesz hasonlatos.

A fenti kiválasztás-keresztezés-mutáció műveleti hármasát addig ismételjük egymás után, amíg a populáció nem lesz homogén, vagyis az egyes „kromoszómák” (modellparaméter-halmazok) nem válnak egymáshoz nagyon hasonlóvá, vagy amíg a létrejött egyedszám nem ér el egy előre beállított értéket. Arra azonban nincs garancia, hogy az eljárás eredményeként a „kromoszómák” tartalma valóban a globális minimum közelében lesz. A sok különböző helyen elvégzett célfüggvény-értékelés mellett mindazonáltal egy lokális minimum-gödörben való „beragadás” esélye meglehetősen kicsi, a végső helyzetet elérő, „túlélő” populáció egyedeinek „kromoszómái” általában a globális minimum közelébe esnek, és a vizsgált inverziós probléma megoldását jelentik.