|
BPMN-OS
BPMN for optimization and simulation
|
Class creating a choice decision for a token at a decision task using bisection. More...
The BisectionalChoice dispatcher uses bisection for attributes with bounds and a multipleOf discretizer. For attributes with explicit enumeration, enumeration is used.
Definition at line 21 of file BisectionalChoice.h.
#include <BisectionalChoice.h>
Public Member Functions | |
| BisectionalChoice (Evaluator *evaluator) | |
| void | connect (Mediator *mediator) override |
| void | notice (const Observable *observable) override |
| std::shared_ptr< Event > | dispatchEvent (const SystemState *systemState) override |
| std::shared_ptr< Decision > | determineBestChoices (std::shared_ptr< const DecisionRequest > request) |
Public Member Functions inherited from BPMNOS::Execution::GreedyDispatcher< std::weak_ptr< const Token >, std::weak_ptr< const DecisionRequest > > | |
| GreedyDispatcher (Evaluator *evaluator) | |
| virtual | ~GreedyDispatcher ()=default |
| std::shared_ptr< Event > | dispatchEvent (const SystemState *systemState) override |
| void | connect (Mediator *mediator) override |
| void | notice (const Observable *observable) override |
Public Member Functions inherited from BPMNOS::Execution::EventDispatcher | |
| virtual | ~EventDispatcher ()=default |
| virtual void | notice (Event *event) |
Public Member Functions inherited from BPMNOS::Execution::Observer | |
Additional Inherited Members | |
Public Attributes inherited from BPMNOS::Execution::GreedyDispatcher< std::weak_ptr< const Token >, std::weak_ptr< const DecisionRequest > > | |
| BPMNOS::number | timestamp |
Protected Member Functions inherited from BPMNOS::Execution::GreedyDispatcher< std::weak_ptr< const Token >, std::weak_ptr< const DecisionRequest > > | |
| void | addEvaluation (WeakPtrs..., std::shared_ptr< Decision > decision, std::optional< double > reward) |
| virtual void | dataUpdate (const DataUpdate *update) |
| bool | intersect (const std::vector< const BPMNOS::Model::Attribute * > &first, const std::set< const BPMNOS::Model::Attribute * > &second) const |
| void | removeObsolete (const DataUpdate *update, auto_list< WeakPtrs..., std::shared_ptr< Decision > > &evaluation, auto_list< WeakPtrs..., std::shared_ptr< Decision > > &unevaluatedDecisions) |
| void | removeDependentEvaluations (const DataUpdate *update, std::unordered_map< long unsigned int, auto_list< WeakPtrs..., std::shared_ptr< Decision > > > &evaluatedDecisions, auto_list< WeakPtrs..., std::shared_ptr< Decision > > &unevaluatedDecisions) |
| void | clockTick () |
Protected Attributes inherited from BPMNOS::Execution::GreedyDispatcher< std::weak_ptr< const Token >, std::weak_ptr< const DecisionRequest > > | |
| Evaluator * | evaluator |
| auto_list< WeakPtrs..., std::shared_ptr< Decision > > | decisionsWithoutEvaluation |
| auto_set< double, WeakPtrs..., std::weak_ptr< Event > > | evaluatedDecisions |
| auto_list< WeakPtrs..., std::shared_ptr< Decision > > | invariantEvaluations |
| auto_list< WeakPtrs..., std::shared_ptr< Decision > > | timeDependentEvaluations |
| std::unordered_map< long unsigned int, auto_list< WeakPtrs..., std::shared_ptr< Decision > > > | dataDependentEvaluations |
| std::unordered_map< long unsigned int, auto_list< WeakPtrs..., std::shared_ptr< Decision > > > | timeAndDataDependentEvaluations |
| BisectionalChoice::BisectionalChoice | ( | Evaluator * | evaluator | ) |
Definition at line 15 of file BisectionalChoice.cpp.
|
overridevirtual |
Reimplemented from BPMNOS::Execution::EventDispatcher.
Definition at line 21 of file BisectionalChoice.cpp.
| std::shared_ptr< Decision > BisectionalChoice::determineBestChoices | ( | std::shared_ptr< const DecisionRequest > | request | ) |
Definition at line 69 of file BisectionalChoice.cpp.
|
overridevirtual |
Implements BPMNOS::Execution::EventDispatcher.
Definition at line 42 of file BisectionalChoice.cpp.
|
overridevirtual |
Implements BPMNOS::Execution::Observer.
Definition at line 29 of file BisectionalChoice.cpp.