Тэарэтычныя асновы метаду дыферэнцыяльнай эвалюцыі
Метад дыферэнцыяльнай эвалюцыі - адзін з метадаў эвалюцыйнага мадэлявання, прызначаны для вырашэння задачы шматмернай аптымізацыі.
Метад дыферэнцыяльнай эвалюцыі - адзін з метадаў эвалюцыйнага мадэлявання, прызначаны для вырашэння задачы шматмернай аптымізацыі. Па класіфікацыі аптымізацыйных метадаў ён ставіцца да класа стахастычных метадаў, так як выкарыстоўвае ў працэсе пошуку рашэння генератар выпадковых лікаў. Акрамя таго, ён выкарыстоўвае і некаторыя ідэі генетычных алгарытмаў , Але, у адрозненне ад іх, не патрабуе працы з зменнымі у бінарным кодзе.
Метад дыферэнцыяльнай эвалюцыі - прамы метад аптымізацыі, гэта значыць у ходзе яго працы патрабуецца толькі вылічэнне значэння мэтавай функцый (крытэра аптымізацыі), але не яе вытворных. У агульным выпадку, мэтавыя функцыі, оптимизируемые з дапамогай дадзенага метаду, могуць быць не дыферэнцыруемых, нелінейныя, многоэкстремальные і з вельмі вялікай колькасцю зменных. Метад просты ў рэалізацыі і выкарыстанні і лёгка распараллеливается.
Дыферэнцыяльная эвалюцыя была прыдуманая Рэйнером сторно і Кеннетом прайс і ў 1995 годзе ўпершыню апублікаваная імі.
Алгарытм метаду дыферэнцыяльнай эвалюцыі
1. ініцыялізуюцца мноства выпадковых вектараў, званых пакаленнем, якія ўяўляюць сабой магчымыя рашэнні задачы аптымізацыі. Лік вектараў ў кожным пакаленні адно і тое ж і з'яўляецца адным з параметраў налады метаду.
2. На кожнай эпосе эвалюцыйнага працэсу алгарытм генеруе новае пакаленне вектараў, выпадковым чынам камбінуючы паміж сабой вектары папярэдняга пакалення.
Генерацыя вектараў новага пакалення вырабляецца наступным чынам. Для кожнага вэктару са старога пакалення (базавага вектара) выбіраюцца тры розных выпадковых вэктару таксама сярод вектараў старога пакалення, за выключэннем самага вэктару , І генеруецца так званы мутантный вектар па суадносінах:
дзе φ - адзін з параметраў налады метаду, які характарызуе максімальна магчымую адлегласць, на якое можа пашырыцца вобласць пошуку оптымуму па адной зменнай за адну эпоху эвалюцыі - станоўчая сапраўдная канстанта ў інтэрвале (φ ≤ 2,0).
3. Над мутантным вектарам выконваецца аперацыя красовер (скрыжавання). У ходзе яе некаторыя каардынаты мутантавага вектара замяшчаюцца адпаведнымі каардынатамі з базавага вектара. Кожная каардыната замяшчаецца з некаторай верагоднасцю (ρ), якая таксама з'яўляецца параметрам налады метаду дыферэнцыяльнай эвалюцыі.
Атрыманы пасля скрыжавання вектар называецца выпрабавальным вектарам. Калі ён аказваецца лепш базавай вектара (значэнне мэтавай функцыі палепшылася), то ў новым пакаленні базавы вектар замяняецца на пробны, у адваротным выпадку базавы вектар захоўваецца ў новым пакаленні.
4. На кожнай эпосе эвалюцыйнага працэсу або з зададзенай перыядычнасцю вызначаецца лепшы вектар пакалення з мэтай кантролю хуткасці пошуку аптымальнага рашэння. Ўмовамі заканчэння мадэлявання могуць быць наступныя:
- вычарпана зададзенае гранічная колькасць эпох эвалюцыі;
- вычарпана зададзенае лімітавае фізічнае разліковы час;
- значэнне крытэра аптымізацыі лепшага вектара пакалення не змяняецца на працягу зададзенага гранічнага колькасці эпох эвалюцыі;
- дасягнута здавальняючы значэнне крытэра аптымізацыі.
У большасці выпадкаў выкарыстання для вырашэння задачы шматмернай аптымізацыі метаду дыферэнцыяльнай эвалюцыі рэкамендуецца прымаць лік асобін у папуляцыі прыблізна ў 10 разоў больш колькасці оптимизируемых зменных. Выбар каэфіцыента φ і пастаяннай красовер ρ ажыццяўляецца эмпірычнаму, бо шмат у чым залежыць ад рэльефу паверхні крытэра аптымізацыі.