FRODO Version 2.19.1
An open-source framework for Distributed Constraint Optimization (DCOP)
Loading...
Searching...
No Matches
frodo2.algorithms.duct.SearchNodeChild< V extends Addable< V > > Class Template Reference

Convenience class to store information associated to a specific state. More...

Inheritance diagram for frodo2.algorithms.duct.SearchNodeChild< V extends Addable< V > >:

Public Member Functions

 SearchNodeChild (int numberOfValues, boolean maximize, boolean ignore_inf)
 Constructor.
AddableReal storeCost (int valueIndex, AddableReal costSample, AddableReal childBound, AddableReal infeasibleUtility, final boolean maximize)
 Stores the sum of the costs reported by the children for this particular state.
String toString (double delta)
Public Member Functions inherited from frodo2.algorithms.duct.SearchNode< V >
 SearchNode (int numberOfValues, boolean maximize, boolean ignore_inf)
 Constructor.
void initSampling (UtilitySolutionSpace< V, AddableReal > space, AddableReal infeasibleUtility, String[] contextVariables, V[] context, V[] domain)
 Finds the first feasible local solution, given the current context.
void visited (Bound< V > b)
 Method called whenever the state is sampled.
int solveLocalProblem (UtilitySolutionSpace< V, AddableReal > space, AddableReal infeasibleUtility, String[] contextVariables, V[] context, V[] domain)
 Finds the next feasible local solution.
AddableReal storeCost (int valueIndex, AddableReal costSample, AddableReal infeasibleUtility, final boolean maximize)
 Stores the sum of the costs reported by the children for this particular state.
double convergenceBound (int index, double delta)
 With probablity 1- delta the error between the real value and the estimated value lies in.
String toString (double delta)
int getRandomUnknowLocal (UtilitySolutionSpace< V, AddableReal > space, AddableReal infeasibleUtility, String[] contextVariables, V[] context, V[] domain)
 Method to randomly pick a value that has not been sampled yet.

Public Attributes

double[] childB
 The index with the max/min value is to be sampled.
boolean complete
 true when for all domain values the optimal cost is known
Public Attributes inherited from frodo2.algorithms.duct.SearchNode< V >
AddableReal[] localCosts
 For each domain value, the local costs assocated to it.
ArrayList< Integer > unknowLocalSolutions
 List of local solutions that have not yet been sampled.
int nbrFeasibleLocalSolutions
 Counts the number of local infeasible solutions.
boolean feasible
 true when the local problem has at least one feasible solution, false otherwise
int numberOfValues
 the size of the domain
double[] averageUtil
 For each domain value, the average utility received so far.
double[] bestUtil
 The best util received so far.
double[] bounds
 For each domain value, the current bound.
int[] actionFrequencies
 For each posible domain values, the number of times it has been selected.
int frequencie
 The number of times the corresponding state has been visited.
double maxValue
 The value woth the currently best utility.
double maxBound
 The value with the currently highest upper bound.
int maxValueIndex
 The index of the currently best value.
int maxBoundIndex
 The index of the currently highest bound.

Additional Inherited Members

Protected Attributes inherited from frodo2.algorithms.duct.SearchNode< V >
final boolean IGNORE_INF
 when true, infeasible values should always be ignored, when false the should be sampled once
boolean random
 true when not all domain values have been sampled, and false otherwise
int lastVisited
 Last value visited.
Package Functions inherited from frodo2.algorithms.duct.SearchNode< V >
String arrayToString (Object[] arr, int highlight)
 Method for printing an array, highlighting the entry at highlight.
Package Attributes inherited from frodo2.algorithms.duct.SearchNode< V >
ArrayList< Integer > samplingOrder
 The sampling order.

Detailed Description

Convenience class to store information associated to a specific state.

Author
Brammert Ottens, 29 aug. 2011
Parameters
<V>type used for domain values

Constructor & Destructor Documentation

◆ SearchNodeChild()

frodo2.algorithms.duct.SearchNodeChild< V extends Addable< V > >.SearchNodeChild ( int numberOfValues,
boolean maximize,
boolean ignore_inf )

Constructor.

Parameters
numberOfValuesthe domain size of the variable
maximizetrue when maximizing, and false otherwise
ignore_inftrue when infeasible utilities should be totally ignored, false otherwise

References childB, and frodo2.algorithms.duct.SearchNode< V >.numberOfValues.

Member Function Documentation

◆ storeCost()

AddableReal frodo2.algorithms.duct.SearchNodeChild< V extends Addable< V > >.storeCost ( int valueIndex,
AddableReal costSample,
AddableReal childBound,
AddableReal infeasibleUtility,
final boolean maximize )

Stores the sum of the costs reported by the children for this particular state.

Author
Brammert Ottens, 24 aug. 2011
Parameters
valueIndexthe index of the sampled value
costSamplethe sum of the costs reported by the children
childBoundbound reported by the child
infeasibleUtilityutility of infeasible assignments
maximizetrue when maximizing, and false otherwise
Returns
the sum of the reported and local cost

References frodo2.algorithms.duct.SearchNode< V >.actionFrequencies, frodo2.algorithms.duct.SearchNode< V >.averageUtil, frodo2.algorithms.duct.SearchNode< V >.bestUtil, childB, frodo2.solutionSpaces.AddableReal.doubleValue(), frodo2.algorithms.duct.SearchNode< V >.localCosts, frodo2.algorithms.duct.SearchNode< V >.nbrFeasibleLocalSolutions, frodo2.algorithms.duct.SearchNode< V >.random, and frodo2.algorithms.duct.SearchNode< V >.unknowLocalSolutions.

Here is the call graph for this function:

◆ toString()

Member Data Documentation

◆ childB

double [] frodo2.algorithms.duct.SearchNodeChild< V extends Addable< V > >.childB

The index with the max/min value is to be sampled.

Referenced by SearchNodeChild(), storeCost(), and toString().

◆ complete

boolean frodo2.algorithms.duct.SearchNodeChild< V extends Addable< V > >.complete

true when for all domain values the optimal cost is known


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