diff --git a/bin/.gitignore b/bin/.gitignore index 5445559..bd33700 100644 --- a/bin/.gitignore +++ b/bin/.gitignore @@ -7,3 +7,5 @@ /Problem.class /SolutionFractionnaire.class /SolutionGloutonne.class +/GestionSolution.class +/model/ diff --git a/bin/Client.class b/bin/Client.class index 8844455..598f22d 100644 Binary files a/bin/Client.class and b/bin/Client.class differ diff --git a/bin/FichierSol.class b/bin/FichierSol.class index 43071f6..83fce80 100644 Binary files a/bin/FichierSol.class and b/bin/FichierSol.class differ diff --git a/bin/Solution.class b/bin/Solution.class deleted file mode 100644 index a778557..0000000 Binary files a/bin/Solution.class and /dev/null differ diff --git a/src/Client.java b/src/Client.java index e75f8d1..fad2da0 100644 --- a/src/Client.java +++ b/src/Client.java @@ -1,3 +1,5 @@ +import model.Solution; + /** * L'execution complète de la transformation d'un fichier txt (généré à partir du solveur GLPK avec fichier .mod * et fichier .dat) en Objet Solution et l'affichage de celui-ci. diff --git a/src/FichierSol.java b/src/FichierSol.java index ff08d15..469b20e 100644 --- a/src/FichierSol.java +++ b/src/FichierSol.java @@ -5,6 +5,10 @@ import java.io.IOException; import java.util.ArrayList; +import model.Problem; +import model.Solution; +import model.SolutionFractionnaire; + /** * Un objet de lecture de fichier txt et sa transformation en solution diff --git a/src/GestionSolution.java b/src/GestionSolution.java new file mode 100644 index 0000000..5598763 --- /dev/null +++ b/src/GestionSolution.java @@ -0,0 +1,39 @@ +import java.util.HashMap; + +import model.Problem; +import model.Solution; + +/** + * GestionSolution récupère des entitées solutions à un problème et lance des calculs + * de vérification, réparation et optimisation de laslution + * @author Morane Otilia + * + */ +public class GestionSolution { + protected Problem pb; + + private HashMap optim= new HashMap(); + /*Repertoire des solutions non-realisables*/ + private HashMap optimRealisable= new HashMap(); + /*Repertoire des solutions realisables*/ + + + /** + * + * @param sol + */ + public void verifRamSol(Solution sol){ + boolean isSol = pb.verifRamSol(sol); + /** + * Pendant la vérification, création d'un repertoire de solutions réalisable et non réalisable + * avec leur résultat en tant que clé + */ + if(isSol){ + optimRealisable.put(sol.getSum(), sol); + }else{ + optim.put(sol.getSum(), sol); + } + } + + +} diff --git a/src/Problem.java b/src/model/Problem.java similarity index 84% rename from src/Problem.java rename to src/model/Problem.java index 369a418..c24c138 100644 --- a/src/Problem.java +++ b/src/model/Problem.java @@ -1,3 +1,4 @@ +package model; import java.util.HashMap; /** @@ -18,12 +19,7 @@ public class Problem { /*RAM d'une tache sur un processeur*/ private int c[][] = new int[n][m]; /*cout d'affectation*/ - - private HashMap optim= new HashMap(); - /*Repertoire des solutions non-realisables*/ - private HashMap optimRealisable= new HashMap(); - /*Repertoire des solutions realisables*/ - + /** * Constructeur de probleme avec nombre de taches minimal (nprim) * @param nbTaches @@ -126,18 +122,11 @@ public boolean verifRamSol(Solution sol){ if (ramTotal[i] > b[i]){ System.out.println("solution: "+ramTotal[i]+" > "+b[i]); isSol = false; + }else{ + System.out.println("solution: "+ramTotal[i]+" < "+b[i]); } - System.out.println("solution: "+ramTotal[i]+" < "+b[i]); - } - /** - * Pendant la vérification, création d'un repertoire de solutions réalisable et non réalisable - * avec leur résultat en tant que clé - */ - if(isSol){ - optimRealisable.put(sol.getSum(), sol); - }else{ - optim.put(sol.getSum(), sol); } + return isSol; } } diff --git a/src/Solution.java b/src/model/Solution.java similarity index 98% rename from src/Solution.java rename to src/model/Solution.java index 797aa90..5f4d3fc 100644 --- a/src/Solution.java +++ b/src/model/Solution.java @@ -1,3 +1,5 @@ +package model; + /** * Une Solution abstraite pour définir une solution générique qui peut être fractionnaire ou entière * @author Morane Otilia diff --git a/src/SolutionFractionnaire.java b/src/model/SolutionFractionnaire.java similarity index 99% rename from src/SolutionFractionnaire.java rename to src/model/SolutionFractionnaire.java index d46a4aa..140db04 100644 --- a/src/SolutionFractionnaire.java +++ b/src/model/SolutionFractionnaire.java @@ -1,3 +1,5 @@ +package model; + /** * Une Solution est créé à partir d'un fichier txt après une génération de celui-ci avec glpk * @author Morane Otilia diff --git a/src/SolutionGloutonne.java b/src/model/SolutionGloutonne.java similarity index 87% rename from src/SolutionGloutonne.java rename to src/model/SolutionGloutonne.java index b5aa6e0..1d25399 100644 --- a/src/SolutionGloutonne.java +++ b/src/model/SolutionGloutonne.java @@ -1,3 +1,5 @@ +package model; + public class SolutionGloutonne extends Solution{