Package com.exigen.ie.constrainer

Examples of com.exigen.ie.constrainer.IntExp


    IntExp[] vars = _vars.data();

    for(int i=0; i < vars.length; i++)
    {
      IntExp vari = (IntExp)vars[i];
      int maxi = max - (min_sum - vari.min());
      if (maxi < vari.max())
      {
        vari.setMax(maxi);
      }
    }
//    System.out.println("---- set max:" + max + " in " + this);
  }
View Full Code Here


    IntExp[] vars = _vars.data();

    for(int i=0; i < vars.length; i++)
    {
      IntExp vari = (IntExp)vars[i];
      int mini = min - (max_sum - vari.max());
      if (mini > vari.min())
      {
        vari.setMin(mini);
      }
    }
//    System.out.println("---- set min:" + min + " in " + this);
  }
View Full Code Here

    IntExp[] vars = _vars.data();

    for(int i=0; i < vars.length; i++)
    {
      IntExp vari = (IntExp)vars[i];
      int mini = vari.min();
      int maxi = vari.max();

      int new_min = value - (sum_max - maxi);
      if (new_min > mini)
      {
        vari.setMin(new_min);
      }

      int new_max = value - (sum_min - mini);
      if (new_max < maxi)
      {
        vari.setMax(new_max);
      }
    }

//    System.out.println("---- set value: " + value + " in " + this);
  }
View Full Code Here

    {
        public boolean doSomethingOrStop(int i) throws Failure
        {
          if (i == _vars.size())
            return true;
          IntExp exp = (IntExp) _vars.get(i);
          if (!exp.bound())
            exp.removeValue(_card_value);
          return true;
        }
    };

    _indexes.iterateDomain(it);
View Full Code Here

    {
        public boolean doSomethingOrStop(int i) throws Failure
        {
          if (i == _vars.size())
            return true;
          IntExp exp = (IntExp) _vars.get(i);
          exp.setValue(_card_value);
          return true;
        }
    };

    _indexes.iterateDomain(it);
View Full Code Here

    int possible_instances = 0;
    int required_instances = 0;
    for(int i=0; i<size; i++)
    {
      IntExp exp = (IntExp)vars.get(i);
      if (exp.contains(card_value))
      {
        if (exp.bound())
          required_instances++;
      }
      else _indexes.removeValue(i);

    }
View Full Code Here

  // TEST
  static void test1(String args[]) throws Exception
  {
    Constrainer C = new Constrainer("Test");

    IntExp x = C.addIntVar(0,10,"x",IntVar.DOMAIN_DEFAULT);
    IntExp y = C.addIntVar(2,10,"y",IntVar.DOMAIN_DEFAULT);
    IntExp z = C.addIntVar(0,10,"z",IntVar.DOMAIN_DEFAULT);

    int size = 3;
    IntExpArray vars = new IntExpArray(C, size);
    vars.set(x, 0);
    vars.set(y, 1);
    vars.set(z, 2);

    Constraint constraintAllDiff2 = new ConstraintAllDiff2(vars);
    constraintAllDiff2.execute();

    //IntExp cost = C.addIntVar(0,20,"cost");
    //Constraint sum = new ConstraintAddVector(vars,cost);
    //sum.execute();
    IntExp cost = C.sum(vars); cost.name("cost");

    //x.lessOrEqual(y).execute();
    x.mul(2).sub(cost).more(y).execute();

    C.traceChoicePoints(vars);
View Full Code Here

  void reduceDomains() throws Failure
  {
    for (int I=0; I < _vars.size(); ++I)
    {
      IntExp exp = _vars.elementAt(I);
      for (int i=exp.min(); i <= exp.max(); ++i)
      {
        if(!_domains[I].contains(i))
          exp.removeValue(i);
      }
    }
  }
View Full Code Here

    // initial propagation
    int size = _intvars.size();
    boolean undo = false;
    for(int i=0; i<size; i++)
    {
      IntExp vari = (IntExp)_intvars.elementAt(i);
      if (vari.bound())
      {
        int value = vari.value();
        boolean bit = _bit_var.contains(value);
        // check for failure
        if (!bit)
        {
          constrainer().fail("Diff");
        }
        _bit_var.removeValue(value);
      }
    }

    // attach observers
    Observer value_observer = new AllDiffObserver();
    for(int i=0; i<size; i++)
    {
      IntExp vari = (IntExp)_intvars.elementAt(i);
      vari.attachObserver(value_observer);
    }

    return null;
  } // end of execute
View Full Code Here

  // TEST
  static void test1(String args[]) throws Exception
  {
    Constrainer C = new Constrainer("Test");

    IntExp x = C.addIntVar(0,10,"x",IntVar.DOMAIN_DEFAULT);
    IntExp y = C.addIntVar(2,10,"y",IntVar.DOMAIN_DEFAULT);
    IntExp z = C.addIntVar(0,10,"z",IntVar.DOMAIN_DEFAULT);

    int size = 3;
    IntExpArray vars = new IntExpArray(C, size);
    vars.set(x, 0);
    vars.set(y, 1);
    vars.set(z, 2);

    Constraint constraintAllDiff2 = new ConstraintAllDiff2(vars);
    constraintAllDiff2.execute();

    //IntExp cost = C.addIntVar(0,20,"cost");
    //Constraint sum = new ConstraintAddVector(vars,cost);
    //sum.execute();
    IntExp cost = C.sum(vars); cost.name("cost");

    //x.lessOrEqual(y).execute();
    x.mul(2).sub(cost).more(y).execute();

    C.traceChoicePoints(vars);
View Full Code Here

TOP

Related Classes of com.exigen.ie.constrainer.IntExp

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.