Advertisement
Guest User

Untitled

a guest
May 19th, 2019
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.60 KB | None | 0 0
  1. import java.io.BufferedReader;
  2. import java.io.File;
  3. import java.io.FileNotFoundException;
  4. import java.io.FileReader;
  5. import java.io.IOException;
  6. import java.util.List;
  7.  
  8. public class Main {
  9.  
  10. public static void main(String[] args) {
  11.  
  12. Integer vel_pop = 0, broj_iteracija = 0;
  13. Double Pc = 0.0, Pm = 0.0;
  14. Double rješenje;
  15.  
  16. try {
  17. File dat = new File("GA.txt");
  18. BufferedReader datoteka = new BufferedReader(new FileReader(dat));
  19. String linija;
  20. int i = 0;
  21.  
  22. while ((linija = datoteka.readLine()) != null) {
  23. if (i == 0) {
  24. vel_pop = Integer.parseInt(linija.split("=")[1].trim());
  25. }
  26.  
  27. if (i == 1) {
  28. Pc = Double.parseDouble((linija.split("=")[1]).trim());
  29. }
  30.  
  31. if (i == 2) {
  32. Pm = Double.parseDouble((linija.split("=")[1]).trim());
  33. }
  34.  
  35. if (i == 3) {
  36. broj_iteracija = Integer.parseInt(linija.split("=")[1].trim());
  37. }
  38.  
  39. i++;
  40. }
  41. datoteka.close();
  42. }
  43. catch(FileNotFoundException e) {
  44. e.printStackTrace();
  45. }
  46. catch (IOException e) {
  47. e.printStackTrace();
  48. };
  49.  
  50.  
  51. List<Integer> populacija = Funkcije.stvoriPopulaciju(vel_pop);
  52. rješenje = Funkcije.maksimalnaDobrotaPopulacije(populacija);
  53.  
  54. for(int i=0;i<broj_iteracija;i++) {
  55. System.out.println("ITERACIJA BROJ: "+ (i+1));
  56. List<Integer> populacijaNakonSelekcije = Funkcije.jednostavnaSelekcija(populacija);
  57. Double max=Funkcije.maksimalnaDobrotaPopulacije(populacijaNakonSelekcije);
  58. if(max>rješenje){
  59. rješenje=max;
  60. }
  61. System.out.println("Maksimalna vrijednost dobrote u populaciji: "+Funkcije.maksimalnaDobrotaPopulacije(populacijaNakonSelekcije));
  62. System.out.println("Prosječna vrijednost dobrote cijele populacije: "+ Funkcije.prosjecnaVrijednostDobrotePopulacije(populacijaNakonSelekcije));
  63. System.out.println("Vrijednosti dobrote svake jedinke: ");
  64. for(int j=0;j<populacijaNakonSelekcije.size();j++){
  65. System.out.println(" Jedinka "+populacijaNakonSelekcije.get(j)+" -> Dobrota: "+ Funkcije.dobrota(populacijaNakonSelekcije.get(j)));
  66. }
  67. }
  68.  
  69. System.out.println("Globalno rješenje: "+ rješenje);
  70.  
  71. }
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement