Class

com.cra.figaro.algorithm.structured

ChainComponent

Related Doc: package structured

Permalink

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])

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. var actualSubproblemVariables: Map[ParentValue, Variable[Value]]

    Permalink

    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.

  5. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  6. val chain: Chain[ParentValue, Value]

    Permalink
  7. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. def constraintFactors(bounds: Bounds = Lower): List[Factor[Double]]

    Permalink

    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. var constraintLower: List[Factor[Double]]

    Permalink

    Lower bound factors resulting from conditions and constraints on this element.

    Lower bound factors resulting from conditions and constraints on this element. These should be updated when the range changes but otherwise should be left alone.

    Definition Classes
    ProblemComponent
  10. var constraintUpper: List[Factor[Double]]

    Permalink

    Upper bound factors resulting from conditions and constraints on this element.

    Upper bound factors resulting from conditions and constraints on this element. These should be updated when the range changes but otherwise should be left alone.

    Definition Classes
    ProblemComponent
  11. val element: Element[Value]

    Permalink
    Definition Classes
    ProblemComponent
  12. val elementsCreated: Set[Element[_]]

    Permalink
  13. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  14. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  15. def expand(parentValue: ParentValue): Unit

    Permalink

    Create a subproblem for a particular parent value.

    Create a subproblem for a particular parent value. Memoized.

    Definition Classes
    ChainComponentExpandableComponent
  16. def expand(): Unit

    Permalink

    Expand for all values of the parent, based on the current range of the parent.

    Expand for all values of the parent, based on the current range of the parent.

    Definition Classes
    ExpandableComponent
  17. val expandFunction: (ParentValue) ⇒ Element[Value]

    Permalink
    Definition Classes
    ChainComponentExpandableComponent
  18. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  19. def generateRange(numValues: Int = ...): Unit

    Permalink

    Generate a range of values for this component.

    Generate a range of values for this component. Also sets the variable for this component. The optional argument is the number of values to include in the range. This argument is only used for atomic elements. 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[_]

    Permalink
    Definition Classes
    AnyRef → Any
  21. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  22. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  23. def makeConstraintFactors(bounds: Bounds = Lower): Unit

    Permalink

    Generate the constraint factors based on the current range.

    Generate the constraint factors based on the current range. Bounds specifies whether these should be created for computing lower or upper bounds.

    Definition Classes
    ProblemComponent
  24. def makeNonConstraintFactors(parameterized: Boolean = false): Unit

    Permalink

    Make the non-constraint factors for this component by using the solutions to the subproblems.

    Make the non-constraint factors for this component by using the solutions to the subproblems.

    Definition Classes
    ChainComponentProblemComponent
  25. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  26. var nonConstraintFactors: List[Factor[Double]]

    Permalink

    All non-constraint factors resulting from the definition of this element.

    All non-constraint factors resulting from the definition of this element. For many element classes, these factors will be generated directly in the usual way. For chains, they will include the solutions of subproblems.

    Definition Classes
    ProblemComponent
  27. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  28. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  29. val problem: Problem

    Permalink
    Definition Classes
    ProblemComponent
  30. def raise(bounds: Bounds): Unit

    Permalink
  31. def raise(parentValue: ParentValue, bounds: Bounds = Lower): Unit

    Permalink
  32. def raiseSubproblemSolution(parentValue: ParentValue, subproblem: NestedProblem[Value]): Unit

    Permalink
  33. var range: ValueSet[Value]

    Permalink

    The current range of the element.

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

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

    Permalink

    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
  35. var subproblems: Map[ParentValue, NestedProblem[Value]]

    Permalink

    The subproblems nested inside this expandable component.

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

    Definition Classes
    ExpandableComponent
  36. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  37. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  38. def variable: Variable[Value]

    Permalink

    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
  39. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  40. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  41. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from ExpandableComponent[ParentValue, Value]

Inherited from ProblemComponent[Value]

Inherited from AnyRef

Inherited from Any

Ungrouped