public override IAlgorytm ZbudujAlgorytm(Dictionary <string, string> parametry, ProblemOptymalizacyjny problem) { int iloscRozwiazan = 100, iloscElementow = problem.ZwrocDlugoscGenotypu(); AOsobnik osobnik; AnalizaRLS_RS analiza; switch (parametry["problem"]) { case "Problem Plecakowy": osobnik = new OsobnikKP(problem); analiza = new AnalizaRLS_RS(osobnik, short.Parse(parametry["liczbaIteracji"]), short.Parse(parametry["czasPoszukiwania"])); return(new RS(new LosowanieKP(osobnik), iloscRozwiazan, iloscElementow, analiza)); case "Problem Komiwojażera": osobnik = new OsobnikTSP(problem); analiza = new AnalizaRLS_RS(osobnik, short.Parse(parametry["liczbaIteracji"]), short.Parse(parametry["czasPoszukiwania"])); return(new RS(new LosowanieTSP(osobnik), iloscRozwiazan, iloscElementow, analiza)); case "Problem Podróżującego Złodzieja": osobnik = new OsobnikTTP(problem); analiza = new AnalizaRLS_RS(osobnik, short.Parse(parametry["liczbaIteracji"]), short.Parse(parametry["czasPoszukiwania"])); return(new RS(new LosowanieTTP(osobnik), iloscRozwiazan, iloscElementow, analiza)); } throw new Exception(); }
public override IAlgorytm ZbudujAlgorytm(Dictionary <string, string> parametry, ProblemOptymalizacyjny problem) { AOsobnik osobnik; ALosowanie losowanie; AnalizaRLS_RS analiza; AWspinaczka przeszukiwanieLokalne; int iloscRozwiazan = 100, iloscElementow = problem.ZwrocDlugoscGenotypu(); switch (parametry["problem"]) { case "Problem Plecakowy": osobnik = new OsobnikKP(problem); losowanie = new LosowanieKP(osobnik); analiza = new AnalizaRLS_RS(osobnik, short.Parse(parametry["liczbaIteracji"]), short.Parse(parametry["czasPoszukiwania"])); losowanie.SzukajNajlepszegoRozwiazania(iloscRozwiazan, iloscElementow); przeszukiwanieLokalne = new WspinaczkaKP(losowanie, int.Parse(parametry["parametrP"])); return(new HCA(przeszukiwanieLokalne, analiza)); case "Problem Komiwojażera": osobnik = new OsobnikTSP(problem); losowanie = new LosowanieTSP(osobnik); analiza = new AnalizaRLS_RS(osobnik, short.Parse(parametry["liczbaIteracji"]), short.Parse(parametry["czasPoszukiwania"])); losowanie.SzukajNajlepszegoRozwiazania(iloscRozwiazan, iloscElementow); przeszukiwanieLokalne = new WspinaczkaTSP(losowanie, int.Parse(parametry["parametrP"])); return(new HCA(przeszukiwanieLokalne, analiza)); case "Problem Podróżującego Złodzieja": osobnik = new OsobnikTTP(problem); losowanie = new LosowanieTTP(osobnik); analiza = new AnalizaRLS_RS(osobnik, short.Parse(parametry["liczbaIteracji"]), short.Parse(parametry["czasPoszukiwania"])); losowanie.SzukajNajlepszegoRozwiazania(iloscRozwiazan, iloscElementow); przeszukiwanieLokalne = new WspinaczkaTTP(losowanie, int.Parse(parametry["parametrP"])); return(new HCA(przeszukiwanieLokalne, analiza)); } throw new Exception(); }
public override IAlgorytm ZbudujAlgorytm(Dictionary <string, string> parametry, ProblemOptymalizacyjny problem) { // Stałe składniki Algorytmu Ewolucyjnego ASelekcja selekcja; ReprezentacjaRozwiazania[] populacja; AOsobnik rozwiazanie; ARekombinacja rekombinacja; AnalizaEwolucyjny analityka; switch (parametry["problem"]) { case "Problem Plecakowy": // konfiguracja algorytmu pod Problem Plecakowy rozwiazanie = new OsobnikKP(problem); analityka = new AnalizaEwolucyjny(rozwiazanie, short.Parse(parametry["liczbaIteracji"]), short.Parse(parametry["czasPoszukiwania"])); selekcja = new SelekcjaWektora(rozwiazanie, problem.ZwrocDlugoscGenotypu(), parametry["metodaSelekcji"]); rekombinacja = new RekombinacjaKP(float.Parse(parametry["pwoMutacji"]), rozwiazanie); populacja = new PopulacjaKP().StworzPopulacjeBazowa(problem, ushort.Parse(parametry["rozmiarPopulacji"]), problem.ZwrocDlugoscGenotypu()); return(new SEA(selekcja, rekombinacja, analityka, populacja, float.Parse(parametry["pwoKrzyzowania"]))); case "Problem Komiwojażera": // konfiguracja algorytmu pod Problem Komiwojażera rozwiazanie = new OsobnikTSP(problem); analityka = new AnalizaEwolucyjny(rozwiazanie, short.Parse(parametry["liczbaIteracji"]), short.Parse(parametry["czasPoszukiwania"])); selekcja = new SelekcjaWektora(rozwiazanie, problem.ZwrocDlugoscGenotypu(), parametry["metodaSelekcji"]); rekombinacja = new RekombinacjaTSP(float.Parse(parametry["pwoMutacji"]), rozwiazanie, parametry["rodzajKrzyzowania"]); populacja = new PopulacjaTSP().StworzPopulacjeBazowa(problem, ushort.Parse(parametry["rozmiarPopulacji"]), problem.ZwrocDlugoscGenotypu()); return(new SEA(selekcja, rekombinacja, analityka, populacja, float.Parse(parametry["pwoKrzyzowania"]))); case "Problem Podróżującego Złodzieja": // konfiguracja algorytmu pod Problem Podróżującego Złodzieja rozwiazanie = new OsobnikTTP(problem); analityka = new AnalizaEwolucyjny(rozwiazanie, short.Parse(parametry["liczbaIteracji"]), short.Parse(parametry["czasPoszukiwania"])); selekcja = new SelekcjaWektora(rozwiazanie, problem.ZwrocDlugoscGenotypu(), parametry["metodaSelekcji"]); rekombinacja = new RekombinacjaTTP(float.Parse(parametry["pwoMutacji"]), rozwiazanie, parametry["rodzajKrzyzowania"]); populacja = new PopulacjaTTP().StworzPopulacjeBazowa(problem, ushort.Parse(parametry["rozmiarPopulacji"]), problem.ZwrocDlugoscGenotypu()); return(new SEA(selekcja, rekombinacja, analityka, populacja, float.Parse(parametry["pwoKrzyzowania"]))); } return(new SEA()); }