c

# ChainComponent 

#### class ChainComponent[ParentValue, Value] extends ExpandableComponent[ParentValue, Value]

A problem component created for a chain element.

Linear Supertypes
ExpandableComponent[ParentValue, Value], ProblemComponent[Value], AnyRef, Any
Ordering
1. Alphabetic
2. By Inheritance
Inherited
1. ChainComponent
2. ExpandableComponent
3. ProblemComponent
4. AnyRef
5. Any
1. Hide All
2. Show All
Visibility
1. Public
2. All

### Instance Constructors

1. new ChainComponent(problem: Problem, chain: Chain[ParentValue, Value])

### Value Members

1. final def !=(arg0: Any): Boolean
Definition Classes
AnyRef → Any
2. final def ##(): Int
Definition Classes
AnyRef → Any
3. final def ==(arg0: Any): Boolean
Definition Classes
AnyRef → Any
4. var actualSubproblemVariables: Map[ParentValue, Variable[Value]]

The subproblems are defined in terms of formal variables.

The subproblems are defined in terms of formal variables. We need to create actual variables for each of the subproblems to replace the formal variables with in their solutions. This stores the variables used the last time factors were created for this component.

5. final def asInstanceOf[T0]: T0
Definition Classes
Any
6. val chain: Chain[ParentValue, Value]
7. def clone(): AnyRef
Attributes
protected[java.lang]
Definition Classes
AnyRef
Annotations
@throws( ... )
8. def constraintFactors(bounds: Bounds = Lower): List[Factor[Double]]

Gets the constraint factors for this component.

Gets the constraint factors for this component. Returns the lower bound factors unless an Upper argument is provided.

Definition Classes
ProblemComponent
9. val element: Element[Value]
Definition Classes
ProblemComponent
10. val elementsCreated: Set[Element[_]]
11. final def eq(arg0: AnyRef): Boolean
Definition Classes
AnyRef
12. def equals(arg0: Any): Boolean
Definition Classes
AnyRef → Any
13. def expand(parentValue: ParentValue): Unit

Create a subproblem for a particular parent value.

Create a subproblem for a particular parent value. Memoized.

Definition Classes
ChainComponentExpandableComponent
14. def expand(): Unit

Expand for all values of the parent that were not previously expanded, based on the current range of the parent.

Expand for all values of the parent that were not previously expanded, based on the current range of the parent.

Definition Classes
ExpandableComponent
15. val expandFunction: (ParentValue) ⇒ Element[Value]
Definition Classes
ChainComponentExpandableComponent
16. def finalize(): Unit
Attributes
protected[java.lang]
Definition Classes
AnyRef
Annotations
@throws( classOf[java.lang.Throwable] )
17. var fullyEnumerated: Boolean

A problem component is fully enumerated if its range is complete.

A problem component is fully enumerated if its range is complete. This also means that its range cannot contain star. This is always false for components associated with elements that have infinite support.

Definition Classes
ProblemComponent
18. var fullyRefined: Boolean

A problem component is fully refined if any additional refinement cannot change its range or factors.

A problem component is fully refined if any additional refinement cannot change its range or factors. One necessary condition is to be fully enumerated. Additionally, expandable components must be fully expanded (i.e. have created a subproblem for each parent value), and each subproblem must be fully refined. These conditions are necessary but not always sufficient to be fully refined.

Definition Classes
ProblemComponent
19. def generateRange(): Unit

Generate a range of values for this component.

Generate a range of values for this component. Also sets the variable for this component. If an argument is not in the component collection, we do not generate the argument, but instead assume its only value is *. This doesn't change the range of any other element or expand any subproblems. The range will include * based on argument ranges including * or any subproblem not being expanded.\

Definition Classes
ProblemComponent
20. final def getClass(): Class[_]
Definition Classes
AnyRef → Any
21. def hashCode(): Int
Definition Classes
AnyRef → Any
22. final def isInstanceOf[T0]: Boolean
Definition Classes
Any
23. final def ne(arg0: AnyRef): Boolean
Definition Classes
AnyRef
24. def nonConstraintFactors(parameterized: Boolean = false): List[Factor[Double]]

Generate the non-constraint factors based on the current range.

Generate the non-constraint factors based on the current range. For most elements, this just generates the factors in the usual way. For a chain, this does not include subproblem factors. The parameterized flag indicates whether parameterized elements should have special factors created that use the MAP values of their arguments. This defaults to false.

Definition Classes
ProblemComponent
25. final def notify(): Unit
Definition Classes
AnyRef
26. final def notifyAll(): Unit
Definition Classes
AnyRef
27. val problem
Definition Classes
ProblemComponent
28. var range: ValueSet[Value]

The current range of the element.

The current range of the element. May grow or change over time.

Definition Classes
ProblemComponent
29. def setVariable(v: Variable[Value]): Unit

Set the variable associated with this component to the given variable.

Set the variable associated with this component to the given variable.

Definition Classes
ProblemComponent
30. var subproblems: Map[ParentValue, NestedProblem[Value]]

The subproblems nested inside this expandable component.

The subproblems nested inside this expandable component. They are created for particular parent values.

Definition Classes
ExpandableComponent
31. final def synchronized[T0](arg0: ⇒ T0): T0
Definition Classes
AnyRef
32. def toString(): String
Definition Classes
AnyRef → Any
33. def variable: Variable[Value]

The current variable representing this component in factors.

The current variable representing this component in factors. This is set automatically when the range is updated.

Definition Classes
ProblemComponent
34. final def wait(): Unit
Definition Classes
AnyRef
Annotations
@throws( ... )
35. final def wait(arg0: Long, arg1: Int): Unit
Definition Classes
AnyRef
Annotations
@throws( ... )
36. final def wait(arg0: Long): Unit
Definition Classes
AnyRef
Annotations
@throws( ... )