From b8a6e078a9e879add6f200095ee07a7e245a5454 Mon Sep 17 00:00:00 2001 From: "juliano.souzaluz" <juliano.souza-luz@etu.hesge.ch> Date: Sat, 14 Jan 2023 15:46:41 +0100 Subject: [PATCH] Update Simplex.java --- src/Simplex.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/Simplex.java b/src/Simplex.java index cfc6a88..c0c38ea 100644 --- a/src/Simplex.java +++ b/src/Simplex.java @@ -74,17 +74,23 @@ public class Simplex { this.matEcart.setData(line, j, res); } for (int i = 0; i < this.x; i++) + //tabRes[j] -= Math.abs(this.matEcart.getData(i, j)); tabRes[j] -= this.matEcart.getData(i, j); tabRes[j] -= 1; } + + // -2 car => tabRes[(tabRes.length-1) - (this.nbSousCondition - 1)]; tabRes[tabRes.length - 1] = tabRes[tabRes.length - this.nbSousCondition - 2]; + tabRes[tabRes.length - this.nbSousCondition - 2] = 0; for (int i = 0; i < this.tabAux.getX(); i++) { for (int j = 0; j < this.tabAux.getY(); j++) { if (i < this.matEcart.getX() && j < this.matEcart.getY()) this.tabAux.setData(i, j, this.matEcart.getData(i, j)); + else if (i == this.tabAux.getX() - 1) this.tabAux.setData(i, j, tabRes[j]); - else + + else // membre de droite à la fin du tab this.tabAux.setData(i, j, this.matEcart.getData(i, j - this.matEcart.getX())); } } @@ -146,7 +152,7 @@ public class Simplex { } } } - //mat.matrixPrint("Pivot numéro " + this.nbPivot, 2); + mat.matrixPrint("Pivot numéro " + this.nbPivot, 2); for (int j = 0; j < mat.getY(); j++) if (signe(mat.getData(mat.getX() - 1, j))) { has_neg = true; @@ -160,9 +166,10 @@ public class Simplex { } + // TODO : A REFAIRE POUR SWITCH DE Y AU CAS OU int ligneSortante(Matrix mat, int y) { int id = 0; - while (mat.getData(id, y) <= 0) { + while (!(mat.getData(id, y) > 0)) { id++; } double tmp = mat.getData(id, mat.getY() - 1) / mat.getData(id, y); -- GitLab