Hi,

I have two questions.

I was going through the SimplexTableau.java code, tried to understand every 
line 
of it. In the dropPhase1Objective() method I was puzzled a little bit, maybe 
you 
can explain.
You are dropping positive cost non-artificial variables, which means that some 
original decision variable may be dropped in the process. However, that 
decision 
variable may be 

still there in the main objective Z and the constraints. Or is it now 
substituted by a basic artificial variable?
Also, according to the getSolution() code, I see that the dropped variable will 
be assumed to have zero value. Again, I don't quite understand how that is 
going 
to work.
I would understand if in dropPhase1Objective()  you would examine the positive 
cost of the variable regarding the main Z objective, but you do it for the 
phase1 W objective (row # 0):


// positive cost non-artificial variables
for (int i = getNumObjectiveFunctions(); i < getArtificialVariableOffset(); 
i++) 
{
if (MathUtils.compareTo(tableau.getEntry(0, i), 0, epsilon) > 0) {
columnsToDrop.add(i);
}
}

Another question. I actually need to solve the quadratic optimization, which is 
done by modified simplex method. This is why I was studying the code. Are there 
any plans to add it in the apache.commons.math?
I saw a few free implementations, but each of them uses there own libraries for 
basic matrix/vector math, and I would really prefer to stick with apache. So I 
was thinking of doing it myself based on your current code.

Thanks,

Leonid

Reply via email to