Commit 13583b8b authored by Julien Lin's avatar Julien Lin
Browse files

add personal readme

parent 9204f28e
# Où est l'algo
Les algorithmes se trouvent dans le fichier `sho/algo.py` les se nomment : `simulated_annealing` et `evolutionary`.
# Où est l'EAF
Le calcul de l'EAF se trouve dans le fichier `eaf.py` à la racine du dossier. Voici un exemple de commande :
```bash
python eaf.py --nb-run 50 --quality-threshold 660 670 675 680 --solver num_evolutionary --iters 200
```
# Démarche
Le choix entre l'algorithme évolutionnaire et le recuit simulé se fait sur différents critères:
- le nombre d'appel à la fonction objectif
- la probabilité d'un résultat
- la valeur de la fonction objective
j'ai choisi de fixer le nombre d'appel à la fonction objectif à 2000 et de voir le comportement en probabilté à différent seuil de la fonction objective au cours des itérations.
En comparant les graphiques :
[](num%20evolutionary_100_660%20670%20675%20680.png)
et
[](num%20sim%20anneal_100_660%20670%20675%20680.png)
Nous pouvons voir déjà que le recuit simulé atteint très vite des plateau pour tous les seuils de la fonction objective en un temps très rapide (au alentour de 500 appels à la FO) alors que pour l'algorithme évolutionnaire ce n'est pas aussi vrai.
Une autre différence majeure est la probabilité d'atteinte des différentes seuils de la FO. Pour l'algorithme évolutionnaire les seuils 660, 670 et 675 atteignent une probabilité 1 au bout d'un certain temps (au dela de 1500 appels). Pour le recuit simulé, la probabilité décroît avec l'augmentation des seuils.
À cause de ces différences, j'ai choisi l'algoritme évolutionnaire car je ne suis pas limité a priori en nombre d'appel à la FO.
......@@ -47,7 +47,6 @@ def simulated_annealing(func, init, neigh, temp, proba, rand, again):
best_val = func(best_sol)
cur_val, cur_sol = best_val, best_sol
k = 1
# t = 2000
while again(k, best_val, best_sol):
sol = neigh(best_sol)
val = func(sol)
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment