Przykład metody roju cząstek. Metoda roju cząstek

„Rój cząstek” jako najprostsza metoda programowania ewolucyjnego, oparta na idei możliwości rozwiązywania problemów optymalizacyjnych poprzez modelowanie zachowań grup zwierząt. Schemat algorytmu, opracowanie kodu programu i schematu blokowego.

Wysyłanie dobrej pracy do bazy wiedzy jest proste. Skorzystaj z poniższego formularza

Studenci, doktoranci, młodzi naukowcy, którzy wykorzystują bazę wiedzy w swoich studiach i pracy będą Ci bardzo wdzięczni.

Hostowane na http://www.allbest.ru/

Wstęp

Od czasów Lamarcka rozwój świata żywego traktowany był jako proces ciągłego doskonalenia (adaptacji) jednostek pod wpływem środowiska. Modelując dobór najlepszych planów jako proces ewolucji w populacji osobników, można uzyskać rozwiązanie problemu optymalizacji poprzez ustalenie warunków początkowych dla procesu ewolucyjnego, zaludnienie wirtualnego wszechświata istotami - nośnikami informacji oraz określenie celu procesu ewolucyjnego.

Kopiując działania natury, człowiek tworzy coraz doskonalsze algorytmy optymalizacyjne. Do ich tworzenia najczęściej wykorzystuje się przykłady z natury, na przykład: kod genetyczny lub zachowanie ptaków, symulację wędrówek ryb czy ochłodzenie metalu itp.

Obecnie algorytmy optymalizacyjne znajdują szerokie zastosowanie w produkcji i biznesie, ponieważ pozwalają oszczędzać nie tylko gotówka, ale także czasu, którego ciągle brakuje.

W produkcji dzięki optymalizacji rozwiązywanych jest wiele problemów związanych m.in. z przestojami maszyn, przepełnieniem magazynu, czy przekierowaniem części zamiennych do innych maszyn w przypadku awarii.

Do pracy wybrano metodę optymalizacji „roju cząstek”. Algorytm metody, ze względu na swoją prostotę i szybkość, uważany jest za bardzo obiecujący dla problemów planistycznych.

1 . Formułowanie problemu

1.1 Model matematyczny

Metoda „roju cząstek” to najprostsza metoda programowania ewolucyjnego, która pojawiła się w połowie lat 90., oparta na założeniu, że możliwe jest rozwiązywanie problemów optymalizacyjnych poprzez modelowanie zachowań grup zwierząt. Metoda opiera się na fakcie, że ptaki tworząc stado dążą do pewnego środka „grawitacji”, stopniowo spowalniając prędkość lotu.

Kiedy sfora szuka pożywienia, członkowie sfory sprawdzają otoczenie i niezależnie poruszają się po paczce. Każdy przedstawiciel ma pewien stopień swobody lub losowości w ruchu, co daje mu możliwość odnalezienia nagromadzonego pożywienia. Więc prędzej czy później jeden z nich znajdzie coś jadalnego i będąc częścią stada poinformuje pozostałych. Reszta może wtedy również zbliżyć się do źródła pożywienia, a już każdy przedstawiciel, dzięki stopniowi swobody i przypadkowości swojego ruchu, może znaleźć nowe nagromadzenie pożywienia.

W realizacji tego algorytmu wielowymiarową przestrzeń poszukiwań zapełnia rój cząstek (rozwiązania elementarne). Współrzędne cząstki w przestrzeni jednoznacznie określają rozwiązanie problemu optymalizacji. Oprócz współrzędnych każda z cząstek jest opisana przez prędkość ruchu i przyspieszenie. W trakcie ruchu cząstki „przeczesują” przestrzeń roztworu i tym samym znajdują aktualne optimum, do którego w kolejnym kroku pędzą pozostałe cząstki. Każda cząstka zapamiętuje swoją najlepszą pozycję, o której dane przekazywane są sąsiednim cząstkom, które dążą do tej wartości.

Aby wprowadzić do procesu wyszukiwania element losowy, można włączyć „szalone” cząstki, których prawo ruchu różni się od prawa ruchu reszty.

2 . Implementacja algorytmu

2.1Schemat algorytmu

Schemat algorytmu jest następujący:

1. Powstaje początkowa „losowa” populacja cząstek.

2. Dla każdej cząstki obliczana jest funkcja celu.

3. Najlepsza cząstka pod względem funkcji celu jest określana jako „środek ciężkości”.

4. Wektory prędkości wszystkich cząstek pędzą do tego „środka”, podczas gdy im dalej cząstka jest od niego, tym większe ma przyspieszenie.

5. Obliczenie nowych współrzędnych cząstek w przestrzeni rozwiązań.

6. Kroki 2-5 są powtarzane określoną liczbę razy lub do momentu spełnienia warunku zatrzymania.

7. Ostatni „środek ciężkości” jest uznany za znalezione optymalne rozwiązanie.

2. 2 Kodprogramy

#włączać

#włączać

#włączać

#włączać

const int n=200;

const int m=200;

int i, j, k, t=200;

podwójne F (podwójne x)

return pow(pow(x, 3) - 125,2);

(podwójne V[n] [m];

podwójny dolny_limit=1, górny_limit=300;

podwójna najlepsza_poz[n] ​​[m];

podwójna cela[n][m]; // tablica genotypów

podwójna best_cel=1000; // najlepsza globalna wartość

const podwójne C1=0,7, C2=1,2, w=0,93;

double **X=nowy double*[n];

dla (i=0; i

X[i]=nowy podwójny[m];

srand(czas(NULL));

// inicjalizacja położenia i prędkości cząstek

dla (i=0; i

dla (j=0; j

X[i] [j]=dolny_limit + (górny_limit - dolny_limit)*rand()/RAND_MAX;

// Zainicjuj z najgorszym genotypem cząstki

best_pos[i][j]=1000;

dla (k=0; k

// uzupełnianie tablicy genotypów

dla (i=0; i

dla (j=0; j

// ustalenie aktualnego genotypu

cel[i][j]=F(X[i][j]);

// przechowuj wartość najlepszego genotypu dla każdej cząstki

if (cel[i][j]

best_pos[i][j]=cel[i][j];

if (best_pos[i][j]

best_cel=best_pos[i][j];

printf("%f\n",x);

// Zaktualizuj prędkości i pozycje cząstek

dla (i=0; i

dla (j=0; j

R1 = 1.*rand()/RAND_MAX;

R2 = 1.*rand()/RAND_MAX;

V[i] [j] = w*V[i] [j] + C1*R1*(najlepsza_cel - X[i] [j]) + C2*R2*(najlepsza_poz[i] [j] - X[i ][j]);

X[i][j] = X[i][j] + V[i][j];

2.3 Schemat blokowy algorytmu

Hostowane na http://www.allbest.ru/

Hostowane na http://www.allbest.ru/

3 . Teoretyczna ocena złożoności algorytmu optymalizacji

Do teoretycznej oceny złożoności algorytmu konieczne jest określenie liczby elementarnych operacji, które należy wykonać, aby rozwiązać problem za pomocą tego algorytmu.

Przez operacje elementarne rozumiemy operacje, które mogą być reprezentowane jako konstrukcje elementarne danego języka (ale niekoniecznie w postaci pojedynczej instrukcji maszynowej), a mianowicie następujące operacje będą traktowane jako jedna operacja elementarna:

1) operacja przydziału ab;

2) operacja indeksowania tablicy a[i];

3) działania arytmetyczne *,/,-,+;

4) operacje porównawcze< b;

5) operacje logiczne lub i, nie.

Pętla for nie jest operacją elementarną, ponieważ można przedstawić jako;

Zatem konstrukcja pętli wymaga 2*N podstawowych operacji:

F "cykl" = 2* N+ N* f ciało cyklu.

Tak więc dla naszego programu otrzymujemy:

F=9+ // stałe

2*200+200*(2*200+(8+6)*200)+ // inicjalizacja pozycji i prędkości

2*200+200*(2*200+200*(2*200+200*(6+20)))+ // wypełnienie tablicy genotypu i najlepszych wartości

2*200+200*(2*200+200*(4+4+10+2+16)) // aktualizuj prędkości i pozycje

W wyniku obliczeń teoretycznych złożoność tego programu wyniosła F=528800809 operacji elementarnych.

Wniosek

modelowanie algorytmu programu

W ostatnim czasie zaczęło pojawiać się wiele nowych algorytmów opartych na imitacji natury, ale nie każdy algorytm może pochwalić się tak prostą realizacją i oryginalnością pomysłu. Ze względu na losowy rozkład cząstek i ich losowość w ruchu, istnieje bardzo duże prawdopodobieństwo znalezienia optymalnego rozwiązania w kilku iteracjach, przy jednoczesnym uniknięciu lokalnych optimów.

Dalszy rozwój takich algorytmów jest kluczem do nowych technologii optymalizacji i ogólnie rozwoju.

Lista wykorzystanych źródeł

1. Uljanow M.V., Sheptunov M.V. Logika matematyczna i teoria algorytmów, część 2: Teoria algorytmów. - M.: MGAPI, 2003. - 80 s.

2. Streszczenie wykładów z dyscypliny „Logika matematyczna i teoria algorytmów”.

3. Algorytmy Optymalizacji Globalnej - Teoria i Zastosowanie.

4. http://ru.wikipedia.org

Hostowane na Allbest.ru

Podobne dokumenty

    Cechy problemów programowania liniowego. Metoda simpleksowa do rozwiązywania problemów programowania liniowego. Uzasadnienie wyboru języka, narzędzi programistycznych, listy identyfikatorów i schematu blokowego algorytmu. Schemat logiczny programu.

    praca dyplomowa, dodana 13.08.2011

    Opracowanie biblioteki, która pozwoli symulować dynamikę cząstek w grafice trójwymiarowej. Dobór środków i metod rozwoju. Opcje modelowania układów cząstek. Modelowanie na Vertex Shaderze. Diagramy systemu cząstek i klasy PSBehavior.

    praca semestralna, dodana 02/07/2016

    Podstawowe relacje analityczne. Schemat blokowy i algorytm rozwiązywania problemu. Ręczne sprawdzanie wydajności algorytmu. Tabela identyfikacji zmiennych. Formy druku wejściowego i wyjściowego. Programowanie i debugowanie. Instrukcja pracy z programem.

    praca semestralna, dodana 13.02.2012

    Pojęcie programowania i optymalizacji liniowej. Podstawy pracy w systemie MathCAD. Interfejs użytkownika, język wprowadzania i typ danych. Etapy komputerowego modelowania matematycznego. Przykład rozwiązania problemu optymalizacyjnego za pomocą programu MathCAD.

    praca semestralna, dodana 16.10.2011

    Stworzenie programu w środowisku programistycznym MatLab do rozwiązania problemu optymalizacji jednowymiarowej (znalezienia minimum i maksimum danych funkcji) metodą złotego przekroju, zbudowanie schematu blokowego algorytmu oraz graficzną reprezentację badanych funkcji.

    streszczenie, dodane 14.06.2010

    System programowania Delphi, jego charakterystyka. Podstawowe wymagania dotyczące programu szkoleniowego. Opracowanie schematu blokowego algorytmu programu „Matematyka. Stopień 1”. Rodzaje zadań do rozwiązania w programie szkoleniowym. Opis działania systemu, instrukcje do niego.

    praca semestralna, dodana 17.06.2015

    Optymalizacja rozwiązania problemu za pomocą algorytmu wyżarzania. Analiza teorii optymalizacji jako funkcji celu. Metoda opadania gradientu. Zmienne i opis algorytmu wyżarzania. Przedstawienie problemu komiwojażera na wykresie. Redukcja problemu do zmiennych i rozwiązania.

    praca semestralna, dodano 21.05.2015 r.

    Budowa matematycznego modelu ruchu naładowanych cząstek, implementacja w języku algorytmicznym z wykorzystaniem komputera. Opis obszaru tematycznego. Symulacja oddziaływania dwóch przeciwnie naładowanych cząstek. Wyniki programu, przewodnik użytkownika.

    praca semestralna, dodano 26.02.2015 r.

    Transformacja macierzowa układu liniowych równań algebraicznych (SLAE) z wykorzystaniem algorytmu Gaussa. Rozwiązanie problemu metodą prostej iteracji. Stworzenie schematu blokowego i tekstu programu do rozwiązywania SLAE, zaimplementowanego w języku programowania Turbo Pascal.

    praca semestralna, dodano 15.06.2013

    Pascal jako profesjonalny język programowania, którego nazwa pochodzi od francuskiego matematyka i filozofa Blaise'a Pascala, historii jego rozwoju i cech funkcjonalnych. Zadanie z użyciem tablicy dwuwymiarowej, sporządzenie schematu blokowego rozwiązania.

Algorytm

Wynajmować f: ℝ n→ ℝ - funkcja celu do zminimalizowania, S- liczba cząstek w roju, z których każda jest powiązana ze współrzędną x ja ∈ ℝ n w przestrzeni rozwiązań i szybkości v ja ∈ ℝ n. Niech też p i jest najbardziej znaną pozycją cząstki i, a g jest najbardziej znanym stanem roju jako całości. Wtedy ogólna postać metody roju cząstek jest następująca.

  • Dla każdej cząstki i = 1, …, S robić:
    • Wygeneruj początkową pozycję cząstki za pomocą losowego wektora x ja ~ U(blo, w górę) o wielowymiarowym równomiernym rozkładzie . blo oraz w górę są odpowiednio dolną i górną granicą przestrzeni rozwiązań.
    • Przypisz najbardziej znaną pozycję cząstki do jej wartości początkowej: p ja x i .
    • Jeśli ( f(p i)< f(g)), a następnie zaktualizuj najbardziej znany stan roju: gp i .
    • Przypisz wartość prędkości cząstek: v ja ~ U(-(w górę-blo), (w górę-blo)).
  • Dopóki nie zostanie spełnione kryterium zatrzymania (np. osiągnięcie określonej liczby iteracji lub wymaganej wartości funkcji celu), powtarzaj:
    • Dla każdej cząstki i = 1, …, S robić:
      • Generuj losowe wektory r p , r g~ U(0,1).
      • Zaktualizuj prędkość cząstek: v ja ← w v ja + φp r p×( p i- x i) + φg r g×( g-x i), gdzie operacja × oznacza mnożenie składowe.
      • Zaktualizuj pozycję cząstek za pomocą tłumaczenia x i do wektora prędkości: x ja x ja + v i . Zauważ, że ten krok jest wykonywany niezależnie od poprawy wartości funkcji celu.
      • Jeśli ( f(x i)< f(p i))), a następnie wykonaj:
        • Zaktualizuj najbardziej znaną pozycję cząstek: p ja x i .
        • Jeśli ( f(p i)< f(g)), a następnie zaktualizuj najbardziej znany stan roju jako całości: gp i .
  • Ale już g zawiera najlepsze ze znalezionych rozwiązań.

Parametry ω, φp i φg są wybierane przez kalkulator i określają zachowanie i efektywność metody jako całości. Parametry te są przedmiotem wielu badań. (patrz poniżej).

Dobór parametrów

Dobór optymalnych parametrów dla metody roju cząstek jest przedmiotem znacznej liczby prac badawczych, patrz np. Shi i Eberhart, Carlisle i Dozer, van den Berg, Clerk i Kennedy, Trelea, Bratton i Blackwell, Evers.

Prosty i skuteczny sposób doboru parametrów metody zaproponowali Pedersen i inni autorzy. Przeprowadzili również eksperymenty numeryczne z różnymi problemami optymalizacji i parametrami. Technika doboru tych parametrów nazywana jest metaoptymalizacją, ponieważ inny algorytm optymalizacji służy do „dostrojenia” parametrów MFR. Parametry wejściowe MFM o najlepszej wydajności okazały się sprzeczne z głównymi zasadami opisanymi w literaturze i często dają zadowalające wyniki optymalizacji dla prostych przypadków MFM. Ich implementację można znaleźć w bibliotece open source SwarmOps.

Opcje algorytmu

Stale proponowane są nowe warianty algorytmu roju cząstek w celu poprawy wydajności metody. Istnieje kilka trendów w tych badaniach, z których jeden proponuje stworzenie hybrydowej metody optymalizacji wykorzystującej MFR w połączeniu z innymi algorytmami, patrz na przykład. Innym trendem jest przyspieszenie metody w jakiś sposób, na przykład poprzez cofnięcie lub zmianę kolejności ruchu cząstek (zobacz o tym). Podejmowane są również próby dostosowania parametrów behawioralnych MFR podczas procesu optymalizacji.

Zobacz też

  • Algorytm pszczół
  • Algorytm wyszukiwania grawitacyjnego

Uwagi

  1. (1995) „Optymalizacja roju cząstek”. Materiały z Międzynarodowej Konferencji IEEE nt. Sieci Neuronowych IV: 1942-1948.
  2. (1998) „Zmodyfikowany optymalizator roju cząstek”. Proceedings of IEEE International Conference on Evolutionary Computation: 69-73.
  3. Inteligencja roju. - Morgan Kaufmann, 2001.
  4. Poli, R. (2007). „Analiza publikacji dotyczących aplikacji optymalizacji roju cząstek”. Raport techniczny CSM-469(Wydział Informatyki, Uniwersytet Essex, Wielka Brytania).
  5. Poli, R. (2008). „Analiza publikacji dotyczących zastosowań optymalizacji roju cząstek”. : 1-10. DOI: 10,1155/2008/685175.
  6. (1998) „Dobór parametrów w optymalizacji roju cząstek”. Postępowanie z programowania ewolucyjnego VII (EP98): 591-600.
  7. (2000) „Porównanie mas bezwładności i czynników zwężających w optymalizacji roju cząstek”. Obrady Kongresu Obliczeń Ewolucyjnych 1 : 84-88.
  8. (2001) „PSO z półki”. Materiały z Warsztatu Optymalizacji Roju Cząsteczek: 1-6.
  9. van den Bergh F. Analiza optymalizatorów roju cząstek. - University of Pretoria, Wydział Nauk Przyrodniczych i Rolniczych, 2001.
  10. (2002) „Rój cząstek - eksplozja, stabilność i zbieżność w wielowymiarowej złożonej przestrzeni”. Transakcje IEEE dotyczące obliczeń ewolucyjnych 6 (1): 58-73.
  11. Trelea, I.C. (2003). „Algorytm optymalizacji roju cząstek: analiza zbieżności i dobór parametrów”. Listy do przetwarzania informacji 85 : 317-325.
  12. (2008) „Uproszczony rekombinowany PSO”. Journal of Artificial Evolution and Applications.
  13. Evers G. Mechanizm automatycznego przegrupowania do radzenia sobie ze stagnacją w optymalizacji roju cząstek. - The University of Texas – Pan American, Wydział Elektrotechniki, 2009.
  14. Pedersen M.E.H. Dostrajanie i upraszczanie optymalizacji heurystycznej. - University of Southampton, School of Engineering Sciences, Computational Engineering and Design Group, 2010.
  15. Pedersen, MEH; Chipperfield, AJ. (2010). Uproszczenie optymalizacji roju cząstek. Zastosowane miękkie przetwarzanie 10 : 618-628.
  16. (2002) „Model cyklu życia: łączenie optymalizacji roju cząstek, algorytmów genetycznych i wspinaczy górskich”. Postępowanie Równoległego Rozwiązywania Problemów z Natury VII (PPSN): 621-630.
  17. (2010) „Wydajne podejście hybrydowe oparte na PSO, ACO i k-średnich do analizy skupień”. Zastosowane miękkie przetwarzanie 10 (1): 183-197.
  18. (2002) „Rozszerzanie optymalizatorów roju cząstek z samoorganizującą się krytycznością”. Materiały z IV Kongresu Obliczeń Ewolucyjnych (CEC) 2 : 1588-1593.
  19. Xinchao, Z. (2010). „Algorytm zaburzony rój cząstek do optymalizacji numerycznej”. Zastosowane miękkie przetwarzanie 10 (1): 119-124.
  20. (2009) Adaptacyjna optymalizacja roju cząstek. Transakcje IEEE dotyczące systemów, człowieka i cybernetyki 39 (6): 1362-1381.

Spinki do mankietów

  • Centralny rój cząstek . Wiadomości, ludzie, miejsca, programy, artykuły itp. W szczególności zapoznaj się z aktualnym standardem MFR. (Język angielski)
  • RójOp. Dobór parametrów / kalibracja MFR i innych metod metaoptymalizacji. Biblioteka oprogramowania w C i C#.
  • EvA2 to kompleksowe, ewolucyjne narzędzie open source do optymalizacji i MFM napisane w Javie.
  • ParadisEO to potężny framework C++ przeznaczony do tworzenia różnych metaheurystyk, w tym algorytmów PFM. Gotowe do użycia algorytmy, wiele samouczków, które pomogą Ci szybko stworzyć własny MFR.
  • Kod MRCH na FORTRAN Pomiar wydajności funkcji testowych.
  • - Środowisko symulacyjne i badawcze inteligencji obliczeniowej na GPL napisane w Javie, zawiera różne implementacje PSO
  • Wykorzystanie implementacji MFR w Pythonie do rozwiązania zagadki przejścia po schodach.
  • ECF - Evolutionary Computation Framework różne algorytmy, genotypy, zrównoleglanie, tutoriale.

MFR optymalizuje funkcję, utrzymując populację możliwych roztworów, zwanych cząstkami, i przesuwając te cząstki w przestrzeni roztworów zgodnie z prostym wzorem. Ruchy podlegają zasadzie najlepszego położenia w tej przestrzeni, która stale się zmienia, gdy cząstki znajdują bardziej dogodne pozycje.

Algorytm

Wynajmować f: ℝ n→ ℝ - funkcja celu do zminimalizowania, S- liczba cząstek w roju, z których każda jest powiązana ze współrzędną x ja ∈ ℝ n w przestrzeni rozwiązań i szybkości v ja ∈ ℝ n. Niech też p i jest najbardziej znaną pozycją cząstki i, a g jest najbardziej znanym stanem roju jako całości. Wtedy ogólna postać metody roju cząstek jest następująca.

  • Dla każdej cząstki i = 1, …, S robić:
    • Wygeneruj początkową pozycję cząstki za pomocą losowego wektora x ja ~ U(blo, w górę) o wielowymiarowym równomiernym rozkładzie . blo oraz w górę są odpowiednio dolną i górną granicą przestrzeni rozwiązań.
    • Przypisz najbardziej znaną pozycję cząstki do jej wartości początkowej: p ja x i .
    • Jeśli ( f(p i)< f(g)), a następnie zaktualizuj najbardziej znany stan roju: gp i .
    • Przypisz wartość prędkości cząstek: v ja ~ U(-(w górę-blo), (w górę-blo)).
  • Dopóki nie zostanie spełnione kryterium zatrzymania (np. osiągnięcie określonej liczby iteracji lub wymaganej wartości funkcji celu), powtarzaj:
    • Dla każdej cząstki i = 1, …, S robić:
      • Generuj losowe wektory r p , r g~ U(0,1).
      • Zaktualizuj prędkość cząstek: v ja ← w v ja + φp r p×( p i- x i) + φg r g×( g-x i), gdzie operacja × oznacza mnożenie składowe.
      • Zaktualizuj pozycję cząstek za pomocą tłumaczenia x i do wektora prędkości: x ja x ja + v i . Zauważ, że ten krok jest wykonywany niezależnie od poprawy wartości funkcji celu.
      • Jeśli ( f(x i)< f(p i))), a następnie wykonaj:
        • Zaktualizuj najbardziej znaną pozycję cząstek: p ja x i .
        • Jeśli ( f(p i)< f(g)), a następnie zaktualizuj najbardziej znany stan roju jako całości: gp i .
  • Ale już g zawiera najlepsze ze znalezionych rozwiązań.

Parametry ω, φp i φg są wybierane przez kalkulator i określają zachowanie i efektywność metody jako całości. Parametry te są przedmiotem wielu badań. (patrz poniżej).

Dobór parametrów

Dobór optymalnych parametrów dla metody roju cząstek jest przedmiotem znacznej liczby prac badawczych, patrz np. Shi i Eberhart, Carlisle i Dozer, van den Berg, Clerk i Kennedy, Trelea, Bratton i Blackwell, Evers.

Prosty i skuteczny sposób doboru parametrów metody zaproponowali Pedersen i inni autorzy. Przeprowadzili również eksperymenty numeryczne z różnymi problemami optymalizacji i parametrami. Technika doboru tych parametrów nazywana jest metaoptymalizacją, ponieważ do „dostrojenia” parametrów MFR używany jest inny algorytm optymalizacji. Parametry wejściowe MFM o najlepszej wydajności okazały się sprzeczne z głównymi zasadami opisanymi w literaturze i często dają zadowalające wyniki optymalizacji dla prostych przypadków MFM. Ich implementację można znaleźć w bibliotece open source SwarmOps.

Opcje algorytmu

Stale proponowane są nowe warianty algorytmu roju cząstek w celu poprawy wydajności metody. Istnieje kilka trendów w tych badaniach, z których jeden proponuje stworzenie hybrydowej metody optymalizacji wykorzystującej MFR w połączeniu z innymi algorytmami, patrz na przykład. Innym trendem jest przyspieszenie metody w jakiś sposób, na przykład poprzez cofnięcie lub zmianę kolejności ruchu cząstek (zobacz o tym). Podejmowane są również próby dostosowania parametrów behawioralnych MFR podczas procesu optymalizacji.

Napisz recenzję artykułu „Metoda roju cząstek”

Uwagi

  1. (1995) „Optymalizacja roju cząstek”. Materiały z Międzynarodowej Konferencji IEEE nt. Sieci Neuronowych IV: 1942-1948.
  2. (1998) „Zmodyfikowany optymalizator roju cząstek”. Proceedings of IEEE International Conference on Evolutionary Computation: 69-73.
  3. Inteligencja roju. - Morgan Kaufmann, 2001.
  4. Poli, R. (2007). „”. Raport techniczny CSM-469(Wydział Informatyki, Uniwersytet Essex, Wielka Brytania).
  5. Poli, R. (2008). „”. : 1-10. DOI: 10,1155/2008/685175.
  6. (1998) „Dobór parametrów w optymalizacji roju cząstek”. Postępowanie z programowania ewolucyjnego VII (EP98): 591-600.
  7. (2000) „Porównanie mas bezwładności i czynników zwężających w optymalizacji roju cząstek”. Obrady Kongresu Obliczeń Ewolucyjnych 1 : 84-88.
  8. (2001) „PSO z półki”. Materiały z Warsztatu Optymalizacji Roju Cząsteczek: 1-6.
  9. van den Bergh F. Analiza optymalizatorów roju cząstek. - University of Pretoria, Wydział Nauk Przyrodniczych i Rolniczych, 2001.
  10. (2002) „Rój cząstek - eksplozja, stabilność i zbieżność w wielowymiarowej złożonej przestrzeni”. Transakcje IEEE dotyczące obliczeń ewolucyjnych 6 (1): 58-73.
  11. Trelea, I.C. (2003). „Algorytm optymalizacji roju cząstek: analiza zbieżności i dobór parametrów”. Listy do przetwarzania informacji 85 : 317-325.
  12. (2008) „Uproszczony rekombinowany PSO”. Journal of Artificial Evolution and Applications.
  13. Evers G.. - The University of Texas – Pan American, Wydział Elektrotechniki, 2009.
  14. Pedersen M.E.H.. - University of Southampton, School of Engineering Sciences, Computational Engineering and Design Group, 2010.
  15. Pedersen, MEH; Chipperfield, AJ. (2010). „”. Zastosowane miękkie przetwarzanie 10 : 618-628.
  16. (2002) „Model cyklu życia: łączenie optymalizacji roju cząstek, algorytmów genetycznych i wspinaczy górskich”. Postępowanie Równoległego Rozwiązywania Problemów z Natury VII (PPSN): 621-630.
  17. (2010) „Wydajne podejście hybrydowe oparte na PSO, ACO i k-średnich do analizy skupień”. Zastosowane miękkie przetwarzanie 10 (1): 183-197.
  18. (2002) „Rozszerzanie optymalizatorów roju cząstek z samoorganizującą się krytycznością”. Materiały z IV Kongresu Obliczeń Ewolucyjnych (CEC) 2 : 1588-1593.
  19. Xinchao, Z. (2010). „Algorytm zaburzony rój cząstek do optymalizacji numerycznej”. Zastosowane miękkie przetwarzanie 10 (1): 119-124.
  20. (2009) Adaptacyjna optymalizacja roju cząstek. Transakcje IEEE dotyczące systemów, człowieka i cybernetyki 39 (6): 1362-1381.

Spinki do mankietów

  • . Wiadomości, ludzie, miejsca, programy, artykuły itp. W szczególności zapoznaj się z aktualnym standardem MFR. (Język angielski)

Fragment charakteryzujący metodę roju cząstek

- Tak - powiedział Rostow, jakby wymówienie tego słowa wymagało wiele wysiłku i usiadł przy sąsiednim stole.
Obaj milczeli; W pokoju siedziało dwóch Niemców i jeden rosyjski oficer. Wszyscy milczeli, słychać było odgłos noży na talerzach i chrupanie porucznika. Skończywszy śniadanie, Telyanin wyjął z kieszeni podwójną sakiewkę, małymi, białymi palcami wygiętymi do góry rozłożył pierścionki, wyjął złotą i unosząc brwi podał pieniądze służącemu.
– Proszę się pospiesz – powiedział.
Złoto było nowością. Rostow wstał i podszedł do Telyanina.
— Pokaż mi torebkę — powiedział niskim, ledwie słyszalnym głosem.
Ze zmiennymi oczami, ale wciąż uniesionymi brwiami, Telyanin podał torebkę.
"Tak, ładna torebka... Tak... tak..." powiedział i nagle zbladł. – Spójrz, młody człowieku – dodał.
Rostow wziął portfel w ręce i spojrzał na niego, na znajdujące się w nim pieniądze i na Telyanina. Porucznik rozejrzał się, jak miał w zwyczaju, i nagle zrobił się bardzo wesoły.
„Jeśli będziemy w Wiedniu, zostawię tam wszystko, a teraz nie ma dokąd pójść w tych gównianych małych miasteczkach” – powiedział. - Chodź młody człowieku, pójdę.
Rostow milczał.
- A ty? też zjeść śniadanie? Są przyzwoicie odżywieni” – kontynuował Telyanin. - Daj spokój.
Wyciągnął rękę i chwycił portfel. Rostow go uwolnił. Telyanin wziął torebkę i zaczął ją wkładać do kieszeni spodni, a jego brwi uniosły się swobodnie, a usta lekko otworzyły, jakby mówił: „Tak, tak, włożyłem torebkę do kieszeni i jest bardzo proste i nikt się tym nie przejmuje” .
- No co, młody człowieku? powiedział, wzdychając i patrząc w oczy Rostowa spod uniesionych brwi. Jakieś światło z oczu, z prędkością iskry elektrycznej, popłynęło z oczu Telyanina do oczu Rostowa iz powrotem, z powrotem i z powrotem, wszystko w jednej chwili.
„Chodź tutaj”, powiedział Rostow, chwytając za rękę Telyanina. Prawie zaciągnął go do okna. - To są pieniądze Denisova, wziąłeś je ... - szepnął mu do ucha.
„Co?… Co?… Jak śmiesz?” Co?... - powiedział Telyanin.
Ale te słowa brzmiały jak żałosny, rozpaczliwy krzyk i błaganie o przebaczenie. Gdy tylko Rostow usłyszał ten dźwięk głosu, ogromny kamień wątpliwości spadł z jego duszy. Poczuł radość, a jednocześnie zrobiło mu się żal nieszczęsnego człowieka, który stał przed nim; ale konieczne było dokończenie rozpoczętych prac.
„Ludzie tutaj, Bóg wie, co mogą pomyśleć”, mruknął Telyanin, chwytając czapkę i kierując się do małego pustego pokoju, „musimy się wytłumaczyć…
„Wiem o tym i udowodnię to”, powiedział Rostow.
- I…
Przerażona, blada twarz Telyanina zaczęła drżeć ze wszystkich mięśni; jego oczy wciąż biegły, ale gdzieś poniżej, nie podnosząc się do twarzy Rostowa, i słychać było szloch.
- Hrabia!... nie rujnuj młodzieńca... oto te nieszczęsne pieniądze, weź je... - rzucił na stół. - Mój ojciec jest starym człowiekiem, moja matka!...
Rostow wziął pieniądze, unikając wzroku Telyanina, i bez słowa wyszedł z pokoju. Ale przy drzwiach zatrzymał się i odwrócił. – Mój Boże – powiedział ze łzami w oczach – jak mogłeś to zrobić?
— Hrabia — powiedział Telyanin, podchodząc do kadeta.
„Nie dotykaj mnie”, powiedział Rostow, odsuwając się. Jeśli potrzebujesz, weź te pieniądze. Rzucił w niego portfelem i wybiegł z gospody.

Wieczorem tego samego dnia w mieszkaniu Denisowa toczyła się ożywiona rozmowa wśród oficerów szwadronu.
„A mówię ci, Rostow, że musisz przeprosić dowódcę pułku”, powiedział wysoki kapitan sztabu, z siwiejącymi włosami, wielkimi wąsami i dużymi rysami pomarszczonej twarzy, zwracając się do szkarłatnego, wzburzonego Rostowa.
Kapitan sztabowy Kirsten został dwukrotnie zdegradowany do stopnia żołnierzy za honorowe czyny i dwukrotnie służył.
"Nie pozwolę nikomu powiedzieć, że kłamię!" zawołał Rostow. Powiedział mi, że kłamię, a ja mu powiedziałem, że kłamie. I tak pozostanie. Mogą mnie postawić na służbę nawet codziennie i aresztować, ale nikt nie będzie mnie przepraszał, bo jeśli on jako dowódca pułku uważa się za niegodnego, by dać mi satysfakcję, to...
- Tak, czekasz, ojcze; słuchasz mnie - kapitan przerwał lasce swoim basowym głosem, spokojnie wygładzając swoje długie wąsy. - Mówisz dowódcy pułku na oczach innych oficerów, że oficer ukradł...
- To nie moja wina, że ​​rozmowa zaczęła się przy innych oficerach. Może nie powinienem przemawiać w ich obecności, ale nie jestem dyplomatą. Potem dołączyłem do huzarów i poszedłem, myśląc, że subtelności tu nie są potrzebne, ale mówi mi, że kłamię ... więc niech da mi satysfakcję ...
- W porządku, nikt nie myśli, że jesteś tchórzem, ale nie o to chodzi. Zapytaj Denisowa, czy wygląda na to, że kadet żąda od dowódcy pułku satysfakcji?
Denisov, przygryzając wąsy, przysłuchiwał się rozmowie z ponurym spojrzeniem, najwyraźniej nie chcąc w nią interweniować. Zapytany przez sztab kapitana, przecząco potrząsnął głową.
– Rozmawiasz z dowódcą pułku o tej brudnej sztuczce na oczach oficerów – kontynuował kapitan sztabu. - Bogdanich (Bogdanich nazywany był dowódcą pułku) oblegał was.
- Nie oblegał, ale powiedział, że kłamię.
- No tak i powiedziałeś mu coś głupiego i musisz go przeprosić.
- Nigdy! krzyknął Rostow.
– Nie sądziłem, że to od ciebie – powiedział poważnie i surowo kapitan kwatery głównej. - Nie chcesz przepraszać, a ty, ojcze, nie tylko przed nim, ale przed całym pułkiem, przed nami wszystkimi, jesteś winien dookoła. A oto jak: gdybyś tylko pomyślał i skonsultował się, jak poradzić sobie z tą sprawą, inaczej byłeś bezpośrednio, ale przed oficerami, i waliłeś. Co powinien teraz zrobić dowódca pułku? Czy powinniśmy postawić oficera przed sądem i zepsuć cały pułk? Wstydzisz się całego pułku z powodu jednego złoczyńcy? Więc co o tym myślisz? Ale naszym zdaniem tak nie jest. I dobra robota Bogdanich, powiedział ci, że nie mówisz prawdy. To nieprzyjemne, ale co robić, ojcze, sami na to wpadli. A teraz, jak chcą uciszyć sprawę, więc ty, z powodu jakiegoś fanaberia, nie chcesz przepraszać, ale chcesz wszystko opowiedzieć. Czujesz się obrażony, że jesteś na służbie, ale dlaczego miałbyś przepraszać starego i uczciwego oficera! Jakikolwiek może być Bogdanich, ale uczciwy i odważny, stary pułkowniku, jesteś tak obrażony; a zepsucie pułku jest dla ciebie w porządku? – Głos sztabu kapitana zaczął drżeć. - Ty, ojcze, jesteś w pułku przez tydzień bez roku; dziś tutaj, jutro przenieśli się gdzieś do adiutantów; nie obchodzi cię, co powiedzą: „Złodzieje są wśród oficerów Pawlogradu!” I nie obchodzi nas to. Więc co, Denisow? Nie wszystkie takie same?
Denisov milczał i nie ruszał się, od czasu do czasu zerkając na Rostowa swoimi błyszczącymi czarnymi oczami.
„Twoja fanaberia jest ci droga, nie chcesz przepraszać” – kontynuował kapitan sztabu – „ale my starzy ludzie, jak dorośliśmy i Bóg da, umrzemy w pułku, więc honor pułku jest drogi nam, a Bogdanich o tym wie. Och, jak kochany, ojcze! A to nie jest dobre, nie jest dobre! Obrażaj się tam lub nie, ale zawsze powiem prawdę macicy. Niedobrze!
A sztab kapitana wstał i odwrócił się od Rostowa.
- Pg "avda, Chog" weź to! - krzyknął Denisov, zrywając się. - Cóż, G "szkielet! Dobrze!
Rostow, rumieniąc się i blednąc, spojrzał najpierw na jednego oficera, potem na drugiego.
- Nie, panowie, nie... nie myślcie... bardzo dobrze rozumiem, nie powinniście tak o mnie myśleć... ja... za mnie... jestem za honorem pułku. ale co? Pokażę to w praktyce, a dla mnie honor sztandaru ... cóż, to wszystko jedno, naprawdę, to moja wina!.. - Łzy stanęły mu w oczach. - Jestem winien, wszystko dookoła do winy!... No cóż, czego jeszcze chcesz?...
– To wszystko, licz – krzyknął kapitan, odwracając się i uderzając go w ramię wielką dłonią.
„Mówię ci”, krzyknął Denisov, „jest miłym dzieckiem.
— Tak lepiej, hrabio — powtórzył kapitan sztabu, jakby dla uznania zaczął go nazywać tytułem. - Idź i przeproś ekscelencjo, tak.
„Panowie, zrobię wszystko, nikt nie usłyszy ode mnie słowa”, powiedział Rostow błagalnym głosem, „ale nie mogę przeprosić, na Boga, nie mogę, jak chcesz!” Jak mam przeprosić, jak mały, prosząc o przebaczenie?
Denisow roześmiał się.
- Tobie jest gorzej. Bogdanych jest mściwy, zapłać za swój upór - powiedziała Kirsten.
- Na Boga, nie upór! Nie potrafię opisać Ci tego uczucia, nie mogę...

Dzielić