wrapper_final3.py 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. import os
  2. import matplotlib.pyplot as plt
  3. results = {}
  4. def errorfill(x, y, yerr, color=None, alpha_fill=0.3, ax=None):
  5. ax = ax if ax is not None else plt.gca()
  6. if color is None:
  7. color = ax._get_lines.color_cycle.next()
  8. ymin, ymax = yerr
  9. ax.plot(x, y, color=color)
  10. ax.fill_between(x, ymax, ymin, color=color, alpha=alpha_fill)
  11. def generate(dim, l, la = 0.992, init = 0.01, it = 1000):
  12. axis = []
  13. resu = []
  14. resu_bars_mini = []
  15. resu_bars_maxi = []
  16. NB_IT = 8
  17. for i in range(10, 600, 25):
  18. results[i] = []
  19. axis.append(i)
  20. mini =10
  21. maxi = 0
  22. for j in range(NB_IT):
  23. os.system('./main '+str(l)+" "+str(i)+ " " + str(dim) +" "+str(it)+" " + str(la)+ " "+ str(init)+ " > res"+str(dim))
  24. r = open("res"+str(dim), "r")
  25. res = float(r.readline())
  26. mini = min(res, mini)
  27. maxi = max(res, maxi)
  28. results[i].append(res)
  29. resu.append(sum(results[i])/NB_IT)
  30. resu_bars_mini.append(mini)
  31. resu_bars_maxi.append(maxi)
  32. resu_bars = [resu_bars_mini, resu_bars_maxi]
  33. print results
  34. print axis
  35. print resu
  36. print resu_bars
  37. errorfill(axis, resu, resu_bars)
  38. def gen_generate(dim, l, mu = 5, la = 5, c = 0.5):
  39. axis = []
  40. resu = []
  41. resu_bars_mini = []
  42. resu_bars_maxi = []
  43. NB_IT =8
  44. for i in range(10, 600, 25):
  45. results[i] = []
  46. axis.append(i)
  47. mini =10
  48. maxi = 0
  49. for j in range(NB_IT):
  50. os.system('./main '+str(l)+" "+str(i)+ " " + str(dim) + " 1000 "+ str(mu)+ " "+ str(la)+ " " + str(c) + " > res_genetic_"+str(dim))
  51. r = open("res_genetic_"+str(dim), "r")
  52. res = float(r.readline())
  53. mini = min(res, mini)
  54. maxi = max(res, maxi)
  55. results[i].append(res)
  56. resu.append(sum(results[i])/NB_IT)
  57. resu_bars_mini.append(mini)
  58. resu_bars_maxi.append(maxi)
  59. resu_bars = [resu_bars_mini, resu_bars_maxi]
  60. print results
  61. print axis
  62. print resu
  63. print resu_bars
  64. errorfill(axis, resu, resu_bars)
  65. dim = 4
  66. generate(dim, 1, 0.99, 0.001, 1000)
  67. generate(dim, 2, 0.99, 0.001, 1000)
  68. gen_generate(dim, 3, 5, 5, 0.9)
  69. errorfill(axis, resu, resu_bars)
  70. plt.show()