diff --git a/algogenetique.py b/algogenetique.py
index 223dc06393b425bf687b58475ef030f46722f1fe..03cb83879dae4b325491dd5c6420a0f1030f470e 100644
--- a/algogenetique.py
+++ b/algogenetique.py
@@ -8,32 +8,61 @@ import croisement
 from Traj3D import *
 from random import random
 import matplotlib.pyplot as plt
+import time
 
+# Debut du decompte du temps
+start_time = time.time()
 
 
-def main(N,tmax,pmutation, proportion,brin="plasmid_8k.fasta"):
-    '''lineList = [line.rstrip('\n') for line in open(brin)]
-	brin = ''.join(lineList[1:])'''
+def main(N,tmax,pmutation, proportion):
+
     L=[]
+    lineList = [line.rstrip('\n') for line in open("plasmid_8k.fasta")]
+    brin = ''.join(lineList[1:])
     People=Population(N)
+    S1=[]
+    for individu in People.indiv:
+        individu.evaluate(brin)
+        S1.append(int(individu.score))
+    print(S1)
+    maximo=int(max(S1))
+    print(maximo)
     for i in range(tmax):
         print(i)
-        max=0
-        best=None
+        mini=People.indiv[0].score
+        best=People.indiv[0]
         People.reproduction(p = proportion, proba_mutation= pmutation)
         for individu in People.indiv:
-            if individu.score>max:
+            if individu.score<mini:
                 best=individu
-                max=individu.score
-        L.append(max)
-
+                mini=individu.score
+        L.append(mini)
+        #print(L)
+    
+    plt.subplot(221)
     plt.plot([i for i in range(tmax)], L)
+    
+
+    plt.subplot(223)
+    plt.hist(S1, range = (0, maximo+10), bins = 20, color = 'red')
+
+    S2=[individu.score for individu in People.indiv]
+    print(S2)
+    print("Score final: ",best.score)
+    plt.subplot(224)
+    plt.hist(S2, range = (0,maximo+10), bins = 20, color = 'blue')
     plt.show()
+   
     return(best)
 
 
-#main(100,100,0.01,50)
-
+main(15,10,0.005,5)
+'''
 lineList = [line.rstrip('\n') for line in open("plasmid_8k.fasta")]
 brin = ''.join(lineList[1:])
-print(brin)
\ No newline at end of file
+print(brin)
+'''
+
+
+# Affichage du temps d execution
+print("Temps d'execution : %s secondes " % (time.time() - start_time))
\ No newline at end of file
diff --git a/individu.py b/individu.py
index 33b958b4c6cefe6e792e11e54abce70b8d517abf..532a2785042d95966bdb92023c148e377a08a920 100644
--- a/individu.py
+++ b/individu.py
@@ -12,7 +12,7 @@ class Individu():
         lineList = [line.rstrip('\n') for line in open("plasmid_8k.fasta")]
         brin = ''.join(lineList[1:])
         self.table = table
-        self.score = self.evaluate(brin)
+        self.score = inf
     
     def evaluate(self, brin):
         traj = Traj3D()
@@ -39,9 +39,9 @@ class Individu():
                 list_distance += [distance_first_nuc, distance_last_nuc]
 
 
-        self.score = 1/max(list_distance)
+        self.score = max(list_distance)
 
-        return 1/max(list_distance)
+        #return max(list_distance)
 
 
     def mutation(self, proba = P1):
diff --git a/population.py b/population.py
index 424431216c8838e725049c0738c640b05fc479ab..e5d22eeab200e6bb885d8511bf5fdbc3b0d43186 100644
--- a/population.py
+++ b/population.py
@@ -3,6 +3,7 @@ from random import *
 from individu import Individu
 from RotTable import RotTable
 from croisement import croisement_un_point, croisement_deux_points
+import copy
 
 class Population:
     def __init__(self,n):
@@ -63,8 +64,8 @@ class Population:
             p = (self.n)//2
         meilleur = self.indiv[0]
         for individu in self.indiv :
-            if meilleur.score < individu.score:
-                print("meilleur, individu: ", meilleur.score, individu.score)
+            if meilleur.score > individu.score:
+                #print("meilleur, individu: ", meilleur.score, individu.score)
                 meilleur = individu
         newself = [meilleur]
         vu=set()                        
@@ -79,12 +80,10 @@ class Population:
             
             x=self.indiv[m]
             y=self.indiv[t]
-            if x.score>=y.score:
+            if x.score<=y.score:
                 newself.append(x)
             else:
                 newself.append(y)
-        for i in range(0, len(newself)):
-            print(newself[i].score)
         self = self.modifier_population(newself)
 
 
@@ -161,8 +160,8 @@ class Population:
         while len(newself)<vieille_taille:
             m=randrange(0,self.n)
             t=randrange(0,self.n)
-            x=newself[m]
-            y=newself[t]
+            x=copy.deepcopy(newself[m])
+            y=copy.deepcopy(newself[t])
             couple_enfant = enfant(x,y)
             for child in couple_enfant :
                 lineList = [line.rstrip('\n') for line in open("plasmid_8k.fasta")]