Algorytmy ewolucyjne
Algorytmy ewolucyjne to rodzina metod optymalizacji i wyszukiwania rozwiązań inspirowanych mechanizmami ewolucji biologicznej (selekcją, dziedziczeniem i mutacją). Służą do znajdowania dobrych (często przybliżonych) rozwiązań problemów, w których przestrzeń możliwych wariantów jest bardzo duża, a klasyczne metody analityczne lub deterministyczne są trudne do zastosowania.
W algorytmach ewolucyjnych utrzymuje się populację kandydatów na rozwiązanie (np. zestaw parametrów, plan działań, konfigurację reguł). Każdy kandydat jest oceniany przez funkcję dopasowania (fitness), która mierzy, jak dobrze spełnia cel (np. minimalizuje koszt, maksymalizuje zysk, poprawia dokładność prognozy). Następnie, w kolejnych iteracjach (pokoleniach), algorytm wybiera lepsze osobniki częściej niż gorsze (selekcja), łączy ich cechy (krzyżowanie / rekombinacja) i wprowadza losowe zmiany (mutacja). Dzięki temu populacja stopniowo „przesuwa się” w stronę lepszych rozwiązań, choć nie ma gwarancji znalezienia optimum globalnego.
W praktyce algorytmy ewolucyjne są użyteczne tam, gdzie problem ma wiele ograniczeń, jest nieliniowy, wielokryterialny lub zawiera elementy dyskretne (np. wybór zestawu cech, kolejność działań, przydział zasobów). W e-commerce i analityce produktowej spotyka się je m.in. w optymalizacji cen i promocji (szukanie konfiguracji, która maksymalizuje marżę przy ograniczeniach popytu i zapasów), w planowaniu (np. harmonogramy pracy magazynu, alokacja budżetów marketingowych), w strojen iu modeli (dobór hiperparametrów) oraz w zadaniach typu „najlepsza kombinacja” (np. wybór zestawu rekomendacji lub reguł merchandisingowych przy ograniczeniach ekspozycji).
Istnieje kilka blisko spokrewnionych odmian: algorytmy genetyczne (często z kodowaniem binarnym lub mieszanym), strategie ewolucyjne (często dla problemów ciągłych, z naciskiem na adaptację kroku mutacji), programowanie genetyczne (gdzie „osobnikami” są programy lub wyrażenia), czy algorytmy rojowe bywa się z nimi łączone w praktyce, choć formalnie stanowią osobną rodzinę. Wspólny rdzeń pozostaje ten sam: iteracyjne ulepszanie populacji rozwiązań na podstawie oceny jakości i operatorów losowo-heurystycznych.
Algorytmy ewolucyjne wymagają starannego zaprojektowania reprezentacji rozwiązania i funkcji dopasowania. Reprezentacja (genotyp) może być wektorem liczb (np. progi rabatowe dla kategorii), permutacją (np. kolejność kompletacji zamówień), zbiorem elementów (np. wybór SKU do promocji) albo strukturą drzewiastą (np. reguły segmentacji). Funkcja dopasowania powinna odzwierciedlać realny cel biznesowy i uwzględniać ograniczenia: budżet, dostępność zapasu, minimalną marżę, SLA dostaw, limity ekspozycji na stronie, ryzyko kanibalizacji sprzedaży. Często stosuje się kary (penalty) za naruszenie ograniczeń lub optymalizację wielokryterialną (np. jednocześnie marża i konwersja), gdzie zamiast jednej liczby rozważa się kompromisy (front Pareto).
W kontekście operacyjnym ważne jest, że algorytmy ewolucyjne są zwykle kosztowne obliczeniowo: ocena dopasowania dla wielu osobników i wielu pokoleń może wymagać symulacji, prognoz popytu lub uruchamiania modeli. Dlatego często łączy się je z przybliżeniami (np. szybszym modelem oceny), równolegleniem obliczeń, ograniczaniem liczby ocen, a także z mechanizmami wczesnego zatrzymania. W zastosowaniach e-commerce spotyka się podejście hybrydowe: algorytm ewolucyjny wyszukuje obiecujące konfiguracje, a następnie najlepsze warianty są weryfikowane w bardziej wiarygodny sposób (np. w symulacji o wyższej jakości lub w kontrolowanym teście).
Przykłady „z życia” (skrótowo):
- Merchandising: znalezienie układu reguł sortowania listy produktów (wagi: marża, dostępność, popularność, nowość) tak, aby maksymalizować przychód i jednocześnie nie promować produktów z niskim stanem. Osobnik może być wektorem wag i progów, a fitness to wynik symulacji na danych historycznych.
- Fulfillment / logistyka: optymalizacja kolejności kompletacji (picking) w magazynie dla zestawu zamówień, gdzie osobnik jest permutacją zadań, a fitness to czas przejścia lub liczba kolizji zasobów.
- Analityka i modele: dobór hiperparametrów modelu prognozy popytu lub modelu propensity (np. siła regularizacji, liczba drzew, głębokość), gdy przestrzeń jest duża i nieliniowa, a fitness to błąd walidacyjny z karą za złożoność.
- CRO (Conversion Rate Optimization): poszukiwanie konfiguracji elementów strony (np. kolejność sekcji, progi darmowej dostawy, warianty komunikatów) przy ograniczeniach brandowych i prawnych; fitness może łączyć konwersję, AOV i wskaźniki jakości ruchu, choć w praktyce wymaga ostrożności metodologicznej (ryzyko przeuczenia na danych historycznych i wpływ sezonowości).
- Kluczowe właściwości
- Heurystyczny i stochastyczny charakter: wyniki mogą się różnić między uruchomieniami; algorytm eksploruje przestrzeń rozwiązań losowo, ale kierunkowo (przez selekcję).
- Praca na populacji: zamiast jednego rozwiązania utrzymuje się wiele kandydatów, co ułatwia ucieczkę z lokalnych minimów i badanie różnych „kierunków” naraz.
- Elastyczność reprezentacji: nadają się do problemów ciągłych, dyskretnych i mieszanych, także z nieliniowymi ograniczeniami.
- Brak gwarancji optimum globalnego: zwykle celem jest rozwiązanie „wystarczająco dobre” w akceptowalnym czasie, a nie matematyczna pewność najlepszego możliwego wyniku.
- Wrażliwość na projekt fitness i parametrów: dobór operatorów (mutacja/krzyżowanie), rozmiaru populacji, presji selekcyjnej i kryterium stopu silnie wpływa na jakość i stabilność wyników.
- Typowe konteksty użycia
- Optymalizacja wielokryterialna w e-commerce: kompromis między marżą, wolumenem, rotacją zapasu, poziomem obsługi i kosztami dostawy.
- Problemy kombinatoryczne: wybór zestawu produktów do kampanii, alokacja budżetów, harmonogramy, routing, kompletacja zamówień.
- Strojenie modeli i reguł: dobór hiperparametrów, progów decyzyjnych, wag w scoringu, konfiguracji reguł rankingowych.
- Symulacje i „what-if”: gdy ocena rozwiązania wymaga symulacji popytu, zachowań użytkowników lub obciążenia operacji.
- Hybrydy z innymi metodami: połączenie z lokalnym przeszukiwaniem (np. poprawianie najlepszego osobnika) lub z metodami gradientowymi tam, gdzie są dostępne.
- Częste nieporozumienia
- „To to samo co uczenie maszynowe”: algorytmy ewolucyjne są przede wszystkim metodami optymalizacji; mogą optymalizować modele ML, ale nie muszą „uczyć się” w sensie budowania predyktora z danych.
- „Zawsze znajdą najlepsze rozwiązanie”: nie ma takiej gwarancji; jakość zależy od czasu obliczeń, definicji fitness, parametrów i losowości.
- „Im większa populacja i więcej pokoleń, tym lepiej”: większy budżet obliczeń pomaga, ale może prowadzić do malejących korzyści, a czasem do przeuczenia na danych historycznych lub do niepotrzebnej złożoności.
- „Fitness to po prostu KPI”: bezpośrednie użycie pojedynczego KPI (np. przychód) bywa mylące, jeśli ignoruje ograniczenia (zapas, marża, SLA) i skutki uboczne (kanibalizacja, długofalowa retencja).
- „To czarna skrzynka bez kontroli”: choć wyniki są stochastyczne, można je audytować (reprodukowalność przez ziarno losowe), ograniczać przestrzeń rozwiązań, stosować kary/ograniczenia i analizować wrażliwość na parametry.
