Skip to content
Snippets Groups Projects
Commit db0368c0 authored by juliano.souzaluz's avatar juliano.souzaluz
Browse files

Update Simplex.java

parent 293e49d1
No related branches found
No related tags found
No related merge requests found
......@@ -69,36 +69,41 @@ public class Simplex {
void tabAux(int line) {
double[] tabRes = new double[this.y + this.nbSousCondition + 1];
Arrays.fill(tabRes, 1.0);
for (int j = 0; j < this.y; j++) {
if (this.matEcart.getData(line, j) != 0.0) {
double res = this.matEcart.getData(line, j) * -1;
this.matEcart.setData(line, j, res);
for (int i = 0; i < this.x; i++) {
for (int j = 0; j < this.y; j++) {
double data = this.matEcart.getData(this.x, j);
if (data < 0) {
System.out.println(data);
}
}
}
for (int j = 0; j < this.y; j++) {
double tmpSum = 0;
for (int i = 0; i < this.x; i++) {
tmpSum += -1 * this.matEcart.getData(i, j);
}
tabRes[j] = tmpSum;
}
System.out.println();
// -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())
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)
} else if (i == this.tabAux.getX() - 1) {
this.tabAux.setData(i, j, tabRes[j]);
else // membre de droite à la fin du tab
} else // membre de droite à la fin du tab
{
this.tabAux.setData(i, j, this.matEcart.getData(i, j - this.matEcart.getX()));
}
}
System.out.println();
}
this.tabAux.printTabAux("Tableau auxiliaire", this.nbContraintes, this.nbSousCondition, this.tabAux.getY() - this.matEcart.getY() - 1);
pivot(this.tabAux);
//pivot(this.tabAux);
double solutionOptimale = this.tabAux.getData(this.tabAux.getX() - 1, this.tabAux.getY() - 1);
if (solutionOptimale > 0 + EPSILON) {
System.out.println("Il n'y a pas de solutions admissibles pour ce problème.");
......@@ -110,7 +115,7 @@ public class Simplex {
res.matrixFill(res.getX(), res.getY(), tabAux.getDatas());
res.matrixPrint("Petit tableau", 2);
nbPivot = 0;
pivot(res);
//pivot(res);
res.matrixPrint("Résultat ", 3);
System.out.println("Nombre de pivot : " + nbPivot);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment