choco.cp.solver.constraints.global.geost.layers
Class IntermediateLayer

java.lang.Object
  extended by choco.cp.solver.constraints.global.geost.layers.IntermediateLayer

public final class IntermediateLayer
extends Object

This is the intermediate layer class. It implements the functionality that permits access to infeasible sets of points according to some Internal Constraint ictr


Constructor Summary
IntermediateLayer()
          Creates an IntermediateLayer instance.
 
Method Summary
 int CardInfeasible(InternalConstraint ictr, int k, Obj o)
           
 List isFeasible(InternalConstraint ictr, boolean min, int d, int k, Obj o, Point c, Point jump)
           
 List lexInFeasible(InternalConstraint ictr, boolean minLex, int d, int k, Obj o)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

IntermediateLayer

public IntermediateLayer()
Creates an IntermediateLayer instance. Actually this class just provides functionality so we could have just made all the functions in it static but we prefer to do it this way for later changes if needed.

Method Detail

lexInFeasible

public List lexInFeasible(InternalConstraint ictr,
                          boolean minLex,
                          int d,
                          int k,
                          Obj o)
Parameters:
ictr - An internalConstraint object
minLex - Specifies if the point to return is the smallest or largest infeasible lexicographical point
d - Indicates which coordinate dimension we want to prune
k - The total number of dimensions (The dimension of the space we are working in)
o - The object in question
Returns:
A vector of 2 elements. The first is a Boolean object indicating the fact of whether a point was found and the second is a Point object

isFeasible

public List isFeasible(InternalConstraint ictr,
                       boolean min,
                       int d,
                       int k,
                       Obj o,
                       Point c,
                       Point jump)
Parameters:
ictr - An internalConstraint object
min - Specifies whether we want to prune the minimum or maximum value of coordinate at dimension d
d - Indicates which coordinate dimension we want to prune
k - The total number of dimensions (The dimension of the space we are working in)
o - The object in question
c - The point in question (so if c is feasible or not using object o)
Returns:
A vector of 2 elements. The first is a Boolean object indicating whether c is feasible or not and the second is a Region object indicating a forbidden region if the point is not feasible

CardInfeasible

public int CardInfeasible(InternalConstraint ictr,
                          int k,
                          Obj o)
Parameters:
ictr - An internalConstraint object
k - The total number of dimensions (The dimension of the space we are working in)
o - The object in question
Returns:
An integer indicating the number of infeasible points for the origin of the object o under the assumption that ictr holds


Copyright © 2012. All Rights Reserved.