我已经创建了一个单纯形法求解器,但最后我需要检查最终表中的负值,如果它返回负数则重新运行求解器。我做了一个for循环,但由于某种原因它输出了原始数组,甚至没有解决。
以下是我的for循环,用于检查最后一行中的任何负值:
for (i = 0; i < nColumns; i++) {
if (table[objectfunct][i] < 0) {
System.out.println("Need to continue pivoting");
new Lab_09();
} else {
System.out.println("You've solved it");
System.exit(0);
}
}
数组的输出是递归的,但不对[-1.33 ...]数组做任何事情。 :
Need to continue pivoting
[1.0, 1.0, 1.0, 0.0, 4.0]
[1.0, 3.0, 0.0, 1.0, 6.0]
[-3.0, -5.0, 0.0, 0.0, 0.0]
pivot column: 1
[0.6666666666666667, 0.0, 1.0, -0.3333333333333333, 2.0]
[0.3333333333333333, 1.0, 0.0, 0.3333333333333333, 2.0]
[-1.3333333333333335, 0.0, 0.0, 1.6666666666666665, 10.0]
Need to continue pivoting
[1.0, 1.0, 1.0, 0.0, 4.0]
[1.0, 3.0, 0.0, 1.0, 6.0]
[-3.0, -5.0, 0.0, 0.0, 0.0]
pivot column: 1
[0.6666666666666667, 0.0, 1.0, -0.3333333333333333, 2.0]
[0.3333333333333333, 1.0, 0.0, 0.3333333333333333, 2.0]
[-1.3333333333333335, 0.0, 0.0, 1.6666666666666665, 10.0]
我不知道是否需要我的其他功能。但如果需要,我可以附上它。