Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## ifs.model
Class Variable

    java.lang.Object
      ifs.model.Variable

All Implemented Interfaces:
  Comparable

Direct Known Subclasses:
  Activity, CSPVariable, Lecture, Operation, Rectangle

    public class Variable

extends Object
implements Comparable

Generic variable.
Besides a domain of values, a variable also contains information about assigned value, the value assigned in the best ever found solution and also the initial value (minimal perturbations problem). It also knows what constraints are associated with this variable and has a unique id.

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

Field Summary
`protected Value` | `iValue` Assigned value

Constructor Summary
`Variable()` Constructor
`Variable(Value initialValue)` Constructor

Method Summary
`void` | `addContstraint(Constraint constraint)` Adds a constraint.
`void` | `addVariableListener(VariableListener listener)` Adds variable listener
`void` | `assign(long iteration, Value value)` Assign value to this variable.
`int` | `compareTo(Object o)`
`Vector` | `constraints()` Return the list of constraints associated with this variable
`Hashtable` | `constraintVariables()` Returns a table of all variables linked with this variable by a constraint.
`long` | `countAssignments()` Return how many times was this variable assigned in the past.
`boolean` | `equals(Object o)`
`Value` | `getAssignment()` Returns current assignment
`Value` | `getBestAssignment()` Returns the value from the best ever found soultion.
`long` | `getBestAssignmentIteration()` Returns the iteration when the best value was assigned
`String` | `getDescription()` Variable's description -- for printing purposes
`Object` | `getExtra()` Extra information to which can be used by an extension (see `Extension`).
`long` | `getId()` Unique id
`Value` | `getInitialAssignment()` Returns initial assignment
`Model` | `getModel()` Model, the variable belong to
`String` | `getName()` Variable's name -- for printing purposes
`Vector` | `hardConstraints()` Return the list of hard constraints associated with this variable
`boolean` | `hasAssignment()` Returns true if the variable is assigned
`int` | `hashCode()`
`boolean` | `hasInitialAssignment()` Returns true if the variable has an initial assignment
`long` | `lastAssignmentIteration()` Returns the iteration when the variable was assigned for the last time (-1 if never)
`long` | `lastUnassignmentIteration()` Returns the iteration when the variable was unassigned for the last time (-1 if never)
`void` | `removeContstraint(Constraint constraint)` Removes a constraint.
`void` | `removeInitialValue()` Permanently remove the initial value from the variable's domain -- for testing MPP
`void` | `removeValue(long iteration, Value value)` Permanently remove a value from variables domain.
`void` | `removeVariableListener(VariableListener listener)` Removess variable listener
`void` | `setBestAssignment(Value value)` Sets variable's value of the best ever found solution.
`void` | `setExtra(Object object)` Extra information to which can be used by an extension (see `Extension`).
`void` | `setInitialAssignment(Value initialValue)` Sets initial assignment
`void` | `setModel(Model model)` Set the model to which the variable belongs to
`protected void` | `setValues(Vector values)` Sets the domain
`Vector` | `softConstraints()` Return the list of soft constraints associated with this variable
`String` | `toString()`
`void` | `unassign(long iteration)` Unassign value from this variable.
`Vector` | `values()` Domain

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Field Detail

### iValue

    protected Value iValue

  Assigned value

Constructor Detail

### Variable

    public Variable()

  Constructor

### Variable

    public Variable(Value initialValue)

  Constructor

  Parameters:
    `initialValue` - initial value (minimal-perturbation problem)

Method Detail

### getModel

    public Model getModel()

  Model, the variable belong to

### setModel

    public void setModel(Model model)

  Set the model to which the variable belongs to

### values

    public Vector values()

  Domain

### setValues

    protected void setValues(Vector values)

  Sets the domain

### getAssignment

    public Value getAssignment()

  Returns current assignment

### hasAssignment

    public boolean hasAssignment()

  Returns true if the variable is assigned

### getInitialAssignment

    public Value getInitialAssignment()

  Returns initial assignment

### setInitialAssignment

    public void setInitialAssignment(Value initialValue)

  Sets initial assignment

### hasInitialAssignment

    public boolean hasInitialAssignment()

  Returns true if the variable has an initial assignment

### assign

    public void assign(long iteration,
                       Value value)

  Assign value to this variable. If the variable has already assigned another value, it is unassigned first. Also, all conflicting values are unassigned before the given value is assigned to this variable.

  Parameters:
    `iteration` - current iteration
    `value` - the value to be assigned

### unassign

    public void unassign(long iteration)

  Unassign value from this variable.

  Parameters:
    `iteration` - current iteration

### countAssignments

    public long countAssignments()

  Return how many times was this variable assigned in the past.

### addContstraint

    public void addContstraint(Constraint constraint)

  Adds a constraint. Called automatically when the constraint is added to the model, i.e., `Model.addConstraint(Constraint)` is called.

  Parameters:
    `constraint` - added constraint

### removeContstraint

    public void removeContstraint(Constraint constraint)

  Removes a constraint. Called automatically when the constraint is removed from the model, i.e., `Model.removeConstraint(Constraint)` is called.

  Parameters:
    `constraint` - added constraint

### constraints

    public Vector constraints()

  Return the list of constraints associated with this variable

### hardConstraints

    public Vector hardConstraints()

  Return the list of hard constraints associated with this variable

### softConstraints

    public Vector softConstraints()

  Return the list of soft constraints associated with this variable

### toString

    public String toString()

  Overrides:
    `toString` in class `Object`

### getId

    public long getId()

  Unique id

### hashCode

    public int hashCode()

  Overrides:
    `hashCode` in class `Object`

### getName

    public String getName()

  Variable's name -- for printing purposes

### getDescription

    public String getDescription()

  Variable's description -- for printing purposes

### setBestAssignment

    public void setBestAssignment(Value value)

  Sets variable's value of the best ever found solution. Called when `Model.saveBest()` is called.

### getBestAssignment

    public Value getBestAssignment()

  Returns the value from the best ever found soultion.

### getBestAssignmentIteration

    public long getBestAssignmentIteration()

  Returns the iteration when the best value was assigned

### lastAssignmentIteration

    public long lastAssignmentIteration()

  Returns the iteration when the variable was assigned for the last time (-1 if never)

### lastUnassignmentIteration

    public long lastUnassignmentIteration()

  Returns the iteration when the variable was unassigned for the last time (-1 if never)

### compareTo

    public int compareTo(Object o)

  Specified by:
    `compareTo` in interface `Comparable`

### equals

    public boolean equals(Object o)

  Overrides:
    `equals` in class `Object`

### addVariableListener

    public void addVariableListener(VariableListener listener)

  Adds variable listener

### removeVariableListener

    public void removeVariableListener(VariableListener listener)

  Removess variable listener

### setExtra

    public void setExtra(Object object)

  Extra information to which can be used by an extension (see `Extension`).

### getExtra

    public Object getExtra()

  Extra information to which can be used by an extension (see `Extension`).

### removeValue

    public void removeValue(long iteration,
                            Value value)

  Permanently remove a value from variables domain.

### constraintVariables

    public Hashtable constraintVariables()

  Returns a table of all variables linked with this variable by a constraint.

  Returns:
    table (variable, constraint)

### removeInitialValue

    public void removeInitialValue()

  Permanently remove the initial value from the variable's domain -- for testing MPP

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2005 Tomáš Müller