de.cesr.lara.components.decision.impl
Class LDeliberativeChoiceComp_MaxLineTotalRandomAtTie

java.lang.Object
  extended by de.cesr.lara.components.decision.impl.LDeliberativeChoiceComp_MaxLineTotalRandomAtTie
All Implemented Interfaces:
LaraDeliberativeChoiceComponent

public class LDeliberativeChoiceComp_MaxLineTotalRandomAtTie
extends Object
implements LaraDeliberativeChoiceComponent

Tie Rule: In case there are more than one BOs with the highest score, a random one is chosen among these.


Field Summary
protected  AbstractDistribution rand
           
 
Method Summary
static LDeliberativeChoiceComp_MaxLineTotalRandomAtTie getInstance(String distribution)
          Null is translated to LaraRandom.UNIFORM_DEFAULT.
<BO extends LaraBehaviouralOption<?,? extends BO>>
Set<? extends BO>
getKSelectedBos(LaraDecisionConfiguration dConfiguration, Collection<LaraBoRow<BO>> boRows, int k)
          Return the k BOs with the highest sum of preference fulfillment.
<BO extends LaraBehaviouralOption<?,? extends BO>>
BO
getSelectedBo(LaraDecisionConfiguration dConfiguration, Collection<LaraBoRow<BO>> boRows)
          Return the BO with the highest sum of preference fulfillment.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

rand

protected AbstractDistribution rand
Method Detail

getInstance

public static LDeliberativeChoiceComp_MaxLineTotalRandomAtTie getInstance(String distribution)
Null is translated to LaraRandom.UNIFORM_DEFAULT.

Parameters:
distribution -
Returns:

getKSelectedBos

public <BO extends LaraBehaviouralOption<?,? extends BO>> Set<? extends BO> getKSelectedBos(LaraDecisionConfiguration dConfiguration,
                                                                                            Collection<LaraBoRow<BO>> boRows,
                                                                                            int k)
Return the k BOs with the highest sum of preference fulfillment. Tie Rule: In case there are more than one BOs with the highest score, a random one is chosen among these.

Specified by:
getKSelectedBos in interface LaraDeliberativeChoiceComponent
Parameters:
boRows - collection of LaraBoRows to select from
k - number of (best) BOs to select
dConfiguration - the decision configuration of this decision process
Returns:
a set of k best behavioural option (regarding row sum)

getSelectedBo

public <BO extends LaraBehaviouralOption<?,? extends BO>> BO getSelectedBo(LaraDecisionConfiguration dConfiguration,
                                                                           Collection<LaraBoRow<BO>> boRows)
Return the BO with the highest sum of preference fulfillment. Tie Rule: In case there are more than one BOs with the highest score, a random one is chosen among these.

Specified by:
getSelectedBo in interface LaraDeliberativeChoiceComponent
Parameters:
dConfiguration - the decision configuration of this decision process
boRows - collection of LaraBoRows
Returns:
selected behavioural option
See Also:
de.cesr.lara.components.decision.LaraDeliberativeChoiceComponent#getBestBehaviouralOption(de.cesr.lara.components.decision.LaraUtilityMatrix)