Class SimulatedAnnealing
java.lang.Object
se.liu.ida.hefquin.engine.queryproc.impl.poptimizer.randomized.RandomizedQueryOptimizerBase
se.liu.ida.hefquin.engine.queryproc.impl.poptimizer.randomized.SimulatedAnnealing
- All Implemented Interfaces:
PhysicalOptimizer
-
Field Summary
FieldsFields inherited from class se.liu.ida.hefquin.engine.queryproc.impl.poptimizer.randomized.RandomizedQueryOptimizerBase
costModel, l2pConverter, rng, rules
-
Constructor Summary
ConstructorsConstructorDescriptionSimulatedAnnealing
(EquilibriumConditionForSimulatedAnnealing x, LogicalToPhysicalPlanConverter l2pConverter, CostModel costModel, RuleInstances rewritingRules) -
Method Summary
Modifier and TypeMethodDescriptionboolean
protected boolean
isFrozen
(double temperature, int unchanged) optimize
(LogicalPlan initialPlan) optimize
(PhysicalPlan initialPlan, int numberOfSubplans) optimize
(PhysicalPlan initialPlan, int numberOfSubplans, double temperatureModifier) Methods inherited from class se.liu.ida.hefquin.engine.queryproc.impl.poptimizer.randomized.RandomizedQueryOptimizerBase
getNeighbours, getRandomElement
-
Field Details
-
condition
-
-
Constructor Details
-
SimulatedAnnealing
public SimulatedAnnealing(EquilibriumConditionForSimulatedAnnealing x, LogicalToPhysicalPlanConverter l2pConverter, CostModel costModel, RuleInstances rewritingRules)
-
-
Method Details
-
assumesLogicalMultiwayJoins
public boolean assumesLogicalMultiwayJoins() -
optimize
public Pair<PhysicalPlan,PhysicalOptimizationStats> optimize(LogicalPlan initialPlan) throws PhysicalOptimizationException - Throws:
PhysicalOptimizationException
-
optimize
public Pair<PhysicalPlan,PhysicalOptimizationStats> optimize(PhysicalPlan initialPlan, int numberOfSubplans) throws PhysicalOptimizationException - Throws:
PhysicalOptimizationException
-
optimize
public Pair<PhysicalPlan,PhysicalOptimizationStats> optimize(PhysicalPlan initialPlan, int numberOfSubplans, double temperatureModifier) throws PhysicalOptimizationException - Throws:
PhysicalOptimizationException
-
isFrozen
protected boolean isFrozen(double temperature, int unchanged)
-