@Override protected void performIteration() { QuadraticSolver tmpSolver = this.buildIterationSolver(false); Optimisation.Result tmpResult = tmpSolver.solve(); if (tmpResult.getState().isFeasible()) { this.extractSolution(tmpSolver); this.setState(State.OPTIMAL); } else { tmpSolver = this.buildIterationSolver(true); tmpResult = tmpSolver.solve(); if (tmpResult.getState().isFeasible()) { this.extractSolution(tmpSolver); this.setState(State.OPTIMAL); } else { this.resetX(); this.setState(State.INFEASIBLE); } } }