コード例 #1
0
  @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);
      }
    }
  }