Package solver.search.strategy.decision

Examples of solver.search.strategy.decision.Decision


  public void reset() {
    // if a resolution has already been done
    if (rootWorldIndex > -1) {
      env.worldPopUntil(rootWorldIndex);
      timeStamp++;
      Decision tmp;
      while (decision != RootDecision.ROOT) {
        tmp = decision;
        decision = tmp.getPrevious();
        tmp.free();
      }
      nextState = INIT;
      rootWorldIndex = -1;
      searchWorldIndex = -1;
      measures.reset();
View Full Code Here


  @Override
  public void restoreRootNode() {
    env.worldPopUntil(searchWorldIndex); // restore state after initial propagation
    timeStamp++; // to force clear delta, on solution recording
    Decision tmp;
    while (decision != RootDecision.ROOT) {
      tmp = decision;
      decision = tmp.getPrevious();
      tmp.free();
    }
  }
View Full Code Here

  /**
   * Opens a new node in the tree search : compute the next decision or store a solution.
   */
  private void openNode() {
    Decision tmp = decision;
    decision = strategy.getDecision();
    if (decision != null) { // null means there is no more decision
      decision.setPrevious(tmp);
      moveTo(DOWN_LEFT_BRANCH);
    } else {
View Full Code Here

    } else {
      jumpTo--;
      if (jumpTo <= 0 && decision.hasNext()) {
        moveTo(DOWN_RIGHT_BRANCH);
      } else {
        Decision tmp = decision;
        decision = decision.getPrevious();
        tmp.free();
      }
    }
  }
View Full Code Here

  }

  @Override
  public int getCurrentDepth() {
    int d = 0;
    Decision tmp = decision;
    while (tmp != RootDecision.ROOT) {
      tmp = tmp.getPrevious();
      d++;
    }
    return d;
  }
View Full Code Here

    public Decision<Variable> computeDecision(Variable variable) {
        if (variable == null || variable.isInstantiated()) {
            return null;
        }
        int idx = (index==null)?0:index.get();
        Decision decision = null;
        while (decision == null && idx < strategies.length) {
            if (contains(strategies[idx].vars, variable)) {
                decision = strategies[idx].computeDecision(variable);
            }
            idx++;
View Full Code Here

     * Iterates over the declared sub-strategies and gets the overall current decision.
     */
    @Override
    public Decision getDecision() {
        int idx = (index==null)?0:index.get();
        Decision decision = strategies[idx].getDecision();
        while (decision == null && idx < strategies.length - 1) {
            decision = strategies[++idx].getDecision();
        }
    if(index!=null){
      index.set(idx);
View Full Code Here

    @Override
    public Decision getDecision() {
    if(active){
      Variable decVar = firstNotInst();
      if (decVar != null) {
        Decision d = mainStrategy.computeDecision(decVar);
        if(d != null){
          return d;
        }
      }
    }
View Full Code Here

          explanation = new Explanation();
        } else {
          explanation.reset();
        }

        Decision d = decision.getPrevious();
        while ((d != RootDecision.ROOT)) {
          if (d.hasNext()) {
            explanation.add(d.getPositiveDeduction());
          }
          d = d.getPrevious();
        }
        this.store(br, explanation);
      }
    }
    return br;
View Full Code Here

    @Override
    public void apply() throws ContradictionException {
        ISearchLoop mSearchLoop = dynamicBacktracking.getSolver().getSearchLoop();
        IEnvironment environment = dynamicBacktracking.getSolver().getEnvironment();
        Decision dec;
        // retrieve the decision applied BEFORE the decision to refute, which is the last one in the decision_path
        Decision dec2ref = decision_path.getLast();

        Decision previous = dec2ref.getPrevious();
        int swi = dec2ref.getWorldIndex();
        //assert swi ==environment.getWorldIndex();

        // simulate open_node and rebuild decisions history
        dec = decision_path.pollFirst();
View Full Code Here

TOP

Related Classes of solver.search.strategy.decision.Decision

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.