diff --git a/src/META-INF/MANIFEST.MF b/src/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000000000000000000000000000000000..37197ef4e8bbaf38fb3c6627bdd1bd4d9555596c
--- /dev/null
+++ b/src/META-INF/MANIFEST.MF
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Main-Class: Main
+
diff --git a/src/Simplex.java b/src/Simplex.java
index ef854a44c549a8419e4fbaba2b8beab7c402748b..45607133a6d5de42197548bd0ba3d76aeb8ada5a 100644
--- a/src/Simplex.java
+++ b/src/Simplex.java
@@ -8,7 +8,7 @@ public class Simplex {
     private final int ligne; // Ligne
     private final int colonne; // Colonne
     private int nbPivot;
-    private static final double EPSILON = 1E-20;
+    private static final double EPSILON = 1E-7;
     private final int nbContraintes;
 
     public Matrix getMatEcart() {
@@ -21,11 +21,12 @@ public class Simplex {
 
     /**
      * Constructeur du simplex
-     * @param ligne le nombre de lignes dans le tableau initial
-     * @param colonne le nombre de colonnes dans le tableau initial
+     *
+     * @param ligne           le nombre de lignes dans le tableau initial
+     * @param colonne         le nombre de colonnes dans le tableau initial
      * @param nbSousCondition le nombre de sous condition
-     * @param nbContraintes le nombre de contraintes
-     * @param debugging mode de debug
+     * @param nbContraintes   le nombre de contraintes
+     * @param debugging       mode de debug
      */
     public Simplex(int ligne, int colonne, int nbSousCondition, int nbContraintes, boolean debugging) {
         this.ligne = ligne;
@@ -40,7 +41,8 @@ public class Simplex {
 
     /**
      * Crée la matrice d'écart pour le début de la résolution du simplex (transformation du tableau initial en matrice)
-     * @param eq Equation retournée par le parser
+     *
+     * @param eq            Equation retournée par le parser
      * @param nbContraintes nombre de contraintes
      */
     void createSimplex(Equation eq, int nbContraintes) {
@@ -56,16 +58,14 @@ public class Simplex {
         }
 
         // Ajout des membres de droites
-        for (int i = 0; i <= this.ligne - 1; i++)
-        {
+        for (int i = 0; i <= this.ligne - 1; i++) {
             this.matEcart.setData(i, this.colonne - 1, eq.getRightVec().get(i));
         }
 
 
         // Ajout de la fonction objective
         this.matEcart.matrixRealloc(this.matEcart.getLine() + 1, this.matEcart.getCol());
-        for (int i = 0; i < nbContraintes; i++)
-        {
+        for (int i = 0; i < nbContraintes; i++) {
             this.matEcart.setData(this.ligne, i, eq.getFuncObj().get(i));
         }
     }
@@ -85,6 +85,7 @@ public class Simplex {
 
     /**
      * Phase 1
+     *
      * @return le résultat du pivot
      */
     Matrix tabAux() {
@@ -158,6 +159,7 @@ public class Simplex {
 
     /**
      * Sélectionne le premier négatif rencontré sur la ligne de la fonction objective
+     *
      * @param mat la matrice
      * @return la colonne du premier négatif rencontré
      */
@@ -170,10 +172,11 @@ public class Simplex {
 
     /**
      * Fonction de pivot
-     * @param mat phase 1 ⇒ tableau auxiliaire | phase 2 => Matrice d'écart
+     *
+     * @param mat   phase 1 ⇒ tableau auxiliaire | phase 2 => Matrice d'écart
      * @param phase true => phase 1 | false => phase 2
      */
-     void pivot(Matrix mat, boolean phase) {
+    void pivot(Matrix mat, boolean phase) {
         this.nbPivot += 1;
         // Ligne du négatif
         int firstNeg = getFirstNeg(mat);
@@ -216,8 +219,9 @@ public class Simplex {
 
     /**
      * Récupérer l'id de la ligne du pivot
-     * @param mat le tableau auxiliaire
-     * @param y la colonne où l'on va chercher le pivot
+     *
+     * @param mat   le tableau auxiliaire
+     * @param y     la colonne où l'on va chercher le pivot
      * @param phase la phase dans laquelle on se situe
      * @return l'id de la ligne du pivot
      */
@@ -256,8 +260,9 @@ public class Simplex {
 
     /**
      * Print les informations des matrices pour le mode débogage
+     *
      * @param mat la matrice souhaitée
-     * @param s le titre
+     * @param s   le titre
      */
     public void printSimplex(Matrix mat, String s) {
         mat.matrixPrint(s);
@@ -265,11 +270,12 @@ public class Simplex {
 
     /**
      * Print du résultat comme dans l'énnoncé
-     * @param m la matrice
+     *
+     * @param m    la matrice
      * @param time le temps de l'exécution
      */
     public void resultPrint(Matrix m, long time) {
-        if(m == null) {
+        if (m == null) {
             System.out.println("Impossible d'écrire une matrice nulle...");
             return;
         }
@@ -285,11 +291,13 @@ public class Simplex {
         System.out.println("-------------------Variables------------------");
         System.out.println("Variables:");
         for (int i = 0; i < line; i++) {
-            System.out.format("X[%d]:               =           %.4f        \n", i, m.getData(i, col));
+            if (m.getData(i, col) != 0.0)
+                System.out.format("X[%d]:               =           %.4f        \n", i, m.getData(i, col));
         }
 
         for (int i = 0; i < col; i++) {
-            System.out.format("Z_Cstr_%d:           =           %.4f        \n", i, m.getData(line, i));
+            if (m.getData(line, i) != 0.0)
+                System.out.format("Z_Cstr_%d:           =           %.4f        \n", i, m.getData(line, i));
         }
     }
 
diff --git a/tp-math.jar b/tp-math.jar
deleted file mode 100644
index df5bebc7c54c1af5f284f0999ea3420dd3883bcf..0000000000000000000000000000000000000000
Binary files a/tp-math.jar and /dev/null differ