/** {@inheritDoc} */ @Override public RealPointValuePair doOptimize() throws OptimizationException { final SimplexTableau tableau = new SimplexTableau(f, constraints, goalType, restrictToNonNegative, epsilon); solvePhase1(tableau); tableau.discardArtificialVariables(); while (!isOptimal(tableau)) { doIteration(tableau); } return tableau.getSolution(); }