ifs.model
Class Value

java.lang.Object
  extended by ifs.model.Value
All Implemented Interfaces:
Comparable
Direct Known Subclasses:
CSPValue, Location, Location, Location, Placement

public class Value
extends Object
implements Comparable

Generic value.

Every value has a notion about the variable it belongs to. It has also a unique id. By default, every Value has an integer value which is used in general heuristics, the task is than to minimimize the total value of assigned values in the solution.

Version:
1.0
Author:
Tomáš Müller
See Also:
Variable, Model, Solver

Field Summary
protected  int iValue
          Integer value
 
Constructor Summary
Value(Variable variable)
          Constructor
Value(Variable variable, int value)
          Constructor
 
Method Summary
 void assigned(long iteration)
          Notification (called by variable) that this value is assigned
 int compareTo(Object o)
           
 Set conflicts()
          Returns a set of conflicting values with this value.
 long countAssignments()
          Returns the number of assignments of this value to its variable.
 boolean equals(Object o)
          By default, comparison is made on unique ids
 String getDescription()
          Values description -- for printing purposes
 Object getExtra()
          Extra information to which can be used by an extension (see Extension).
 long getId()
          Unique id
 String getName()
          Values name -- for printing purposes (E.g., Monday 7:30)
 int hashCode()
           
 long lastAssignmentIteration()
          Returns the iteration when the value was assigned at last (-1 if never).
 long lastUnassignmentIteration()
          Returns the iteration when the value was unassigned at last (-1 if never).
 void setExtra(Object object)
          Extra information to which can be used by an extension (see Extension).
 void setVariable(Variable variable)
          Sets the variable which this value belongs to
 int toInt()
          Integer representaion.
 String toString()
           
 void unassigned(long iteration)
          Notification (called by variable) that this value is unassigned
 boolean valueEquals(Value value)
          Comparison of two values which is based only on the value (not appropriate variable etc.). toInt() is compared by default.
 Variable variable()
          Returns the variable which this value belongs to
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

iValue

protected int iValue
Integer value

Constructor Detail

Value

public Value(Variable variable)
Constructor

Parameters:
variable - variable which the value belongs to

Value

public Value(Variable variable,
             int value)
Constructor

Parameters:
variable - variable which the value belongs to
value - integer value
Method Detail

variable

public Variable variable()
Returns the variable which this value belongs to


setVariable

public void setVariable(Variable variable)
Sets the variable which this value belongs to


assigned

public void assigned(long iteration)
Notification (called by variable) that this value is assigned

Parameters:
iteration - current iteration

unassigned

public void unassigned(long iteration)
Notification (called by variable) that this value is unassigned

Parameters:
iteration - current iteration

lastAssignmentIteration

public long lastAssignmentIteration()
Returns the iteration when the value was assigned at last (-1 if never).


lastUnassignmentIteration

public long lastUnassignmentIteration()
Returns the iteration when the value was unassigned at last (-1 if never).


countAssignments

public long countAssignments()
Returns the number of assignments of this value to its variable.


getId

public long getId()
Unique id


getName

public String getName()
Values name -- for printing purposes (E.g., Monday 7:30)


getDescription

public String getDescription()
Values description -- for printing purposes


toInt

public int toInt()
Integer representaion. This allows us to have generic optimization criteria. The task is than to minimize total value of assigned variables of a solution.


toString

public String toString()
Overrides:
toString in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class Object

valueEquals

public boolean valueEquals(Value value)
Comparison of two values which is based only on the value (not appropriate variable etc.). toInt() is compared by default.


compareTo

public int compareTo(Object o)
Specified by:
compareTo in interface Comparable

equals

public boolean equals(Object o)
By default, comparison is made on unique ids

Overrides:
equals in class Object

getExtra

public Object getExtra()
Extra information to which can be used by an extension (see Extension).


setExtra

public void setExtra(Object object)
Extra information to which can be used by an extension (see Extension).


conflicts

public Set conflicts()
Returns a set of conflicting values with this value. When empty, the value is consistent with the existing assignment.



Copyright © 2005 Tomáš Müller