FRODO Version 2.19.1
An open-source framework for Distributed Constraint Optimization (DCOP)
Loading...
Searching...
No Matches
frodo2.solutionSpaces.hypercube.JoinOutputHypercube< V extends Addable< V >, U extends Addable< U > >.JoinOutputIterator< V extends Addable< V >, U extends Addable< U > > Class Template Reference

An iterator for a JoinOutputHypercube. More...

Inheritance diagram for frodo2.solutionSpaces.hypercube.JoinOutputHypercube< V extends Addable< V >, U extends Addable< U > >.JoinOutputIterator< V extends Addable< V >, U extends Addable< U > >:

Public Member Functions

String toString ()
getCurrentUtility ()
getCurrentUtility (U bound, final boolean minimize)
nextUtility ()
nextUtility (U bound, final boolean minimize)
void setCurrentUtility (U util)
V[] getCurrentSolution ()
V[][] getDomains ()
long getNbrSolutions ()
String[] getVariablesOrder ()
boolean hasNext ()
V[] nextSolution ()
void update ()

Private Member Functions

 JoinOutputIterator (UtilitySolutionSpace.Iterator< V, U >[] iters, boolean addition, U infeasibleUtil, U skippedUtil)
 Constructor.
nextUtilBlind ()

Private Attributes

UtilitySolutionSpace.Iterator< V, U >[] iters
 The underlying iterators.
final boolean addition
 Whether we are adding or multiplying.
final U infeasibleUtil
 The infeasible utility.
final U skippedUtil
 The utility value to skip, if any.

Detailed Description

An iterator for a JoinOutputHypercube.

Author
Thomas Leaute
Parameters
<V>the type used for variable values
<U>the type used for utility values

Constructor & Destructor Documentation

◆ JoinOutputIterator()

frodo2.solutionSpaces.hypercube.JoinOutputHypercube< V extends Addable< V >, U extends Addable< U > >.JoinOutputIterator< V extends Addable< V >, U extends Addable< U > >.JoinOutputIterator ( UtilitySolutionSpace.Iterator< V, U >[] iters,
boolean addition,
U infeasibleUtil,
U skippedUtil )
private

Constructor.

Parameters
itersthe underlying iterators
additionWhether we are adding or multiplying
infeasibleUtilThe infeasible utility
skippedUtilThe utility value to skip, if any

References addition, infeasibleUtil, iters, and skippedUtil.

Member Function Documentation

◆ getCurrentSolution()

◆ getCurrentUtility() [1/2]

◆ getCurrentUtility() [2/2]

◆ getDomains()

◆ getNbrSolutions()

◆ getVariablesOrder()

◆ hasNext()

◆ nextSolution()

◆ nextUtilBlind()

◆ nextUtility() [1/2]

◆ nextUtility() [2/2]

◆ setCurrentUtility()

◆ toString()

String frodo2.solutionSpaces.hypercube.JoinOutputHypercube< V extends Addable< V >, U extends Addable< U > >.JoinOutputIterator< V extends Addable< V >, U extends Addable< U > >.toString ( )
See also
java.lang.Object#toString()

References iters.

◆ update()

Member Data Documentation

◆ addition

final boolean frodo2.solutionSpaces.hypercube.JoinOutputHypercube< V extends Addable< V >, U extends Addable< U > >.JoinOutputIterator< V extends Addable< V >, U extends Addable< U > >.addition
private

Whether we are adding or multiplying.

Referenced by JoinOutputIterator().

◆ infeasibleUtil

final U frodo2.solutionSpaces.hypercube.JoinOutputHypercube< V extends Addable< V >, U extends Addable< U > >.JoinOutputIterator< V extends Addable< V >, U extends Addable< U > >.infeasibleUtil
private

The infeasible utility.

Referenced by JoinOutputIterator(), and nextUtility().

◆ iters

UtilitySolutionSpace.Iterator<V, U> [] frodo2.solutionSpaces.hypercube.JoinOutputHypercube< V extends Addable< V >, U extends Addable< U > >.JoinOutputIterator< V extends Addable< V >, U extends Addable< U > >.iters
private

The underlying iterators.

Todo
Order the iterators by putting the ones that are cheap to check first.

Referenced by getCurrentUtility(), getCurrentUtility(), JoinOutputIterator(), and toString().

◆ skippedUtil

final U frodo2.solutionSpaces.hypercube.JoinOutputHypercube< V extends Addable< V >, U extends Addable< U > >.JoinOutputIterator< V extends Addable< V >, U extends Addable< U > >.skippedUtil
private

The utility value to skip, if any.

Referenced by JoinOutputIterator().


The documentation for this class was generated from the following file: