choco.cp.model.preprocessor
Class ModelDetectorFactory

java.lang.Object
  extended by choco.cp.common.util.preprocessor.DetectorFactory
      extended by choco.cp.model.preprocessor.ModelDetectorFactory

public final class ModelDetectorFactory
extends DetectorFactory

User : cprudhom
Mail : cprudhom(a)emn.fr
Date : 1 avr. 2010br/> Since : Choco 2.1.1
A factory to apply detectors on a model.


Field Summary
 
Fields inherited from class choco.cp.common.util.preprocessor.DetectorFactory
LOGGER
 
Constructor Summary
ModelDetectorFactory()
           
 
Method Summary
static AbstractDetector[] allSchedulingModelDetectors(CPModel m, DisjunctiveModel disjMod)
           
static AbstractDetector analysis(CPModel m)
          Anslyses a model and print messages about general statistics
static AbstractDetector clauseFromDisjointDetector(CPModel m, DisjunctiveModel disjMod)
           
static AbstractDetector cliqueDetector(CPModel m, boolean breakSymetries)
          Detect cliques.
static AbstractDetector disjFromCumulDetector(CPModel m)
          Detect disjunctive from cumulative (redundant constraint).
static AbstractDetector disjointDetector(CPModel m, DisjunctiveModel disjMod)
           
static AbstractDetector disjointFromCumulDetector(CPModel m, DisjunctiveModel disjMod)
           
static AbstractDetector disjointFromUnaryDetector(CPModel m, DisjunctiveModel disjMod)
           
static AbstractDetector[] disjunctiveModelDetectors(CPModel m, DisjunctiveModel disjMod, boolean generateClauses)
           
static AbstractDetector intVarEqDet(CPModel m)
          Detect equalities between IntegerVariable within a model
static AbstractDetector precFromDisjointDetector(CPModel m, DisjunctiveModel disjMod)
           
static AbstractDetector precFromImpliedDetector(CPModel m, DisjunctiveModel disjMod)
           
static AbstractDetector precFromReifiedDetector(CPModel m, DisjunctiveModel disjMod)
           
static AbstractDetector precFromTimeWindowDetector(CPModel m, DisjunctiveModel disjMod)
           
static AbstractDetector precReductionDetector(CPModel m, DisjunctiveModel disjMod)
           
static AbstractDetector rmDisjDetector(CPModel m)
           
static void run(CPModel model, AbstractDetector... detectors)
          Run AbstractAdvancedDetector.apply() and AbstractAdvancedDetector.commit() for each detectors.
static AbstractDetector taskVarEqDet(CPModel m)
          Detect equalities between TaskVariable within a model
 
Methods inherited from class choco.cp.common.util.preprocessor.DetectorFactory
associateIndexes, associateIndexes, maxHookOnMultipleVariables, resetIndexes
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ModelDetectorFactory

public ModelDetectorFactory()
Method Detail

run

public static void run(CPModel model,
                       AbstractDetector... detectors)
Run AbstractAdvancedDetector.apply() and AbstractAdvancedDetector.commit() for each detectors.

Parameters:
detectors - list of detectors to run

analysis

public static AbstractDetector analysis(CPModel m)
Anslyses a model and print messages about general statistics

Returns:
new instance of AbstractIntegerVariableEqualitiesDetector

intVarEqDet

public static AbstractDetector intVarEqDet(CPModel m)
Detect equalities between IntegerVariable within a model

Parameters:
m - model
Returns:
new instance of AbstractIntegerVariableEqualitiesDetector

taskVarEqDet

public static AbstractDetector taskVarEqDet(CPModel m)
Detect equalities between TaskVariable within a model

Parameters:
m - model
Returns:
new instance of AbstractTaskVariableEqualitiesDetector

cliqueDetector

public static AbstractDetector cliqueDetector(CPModel m,
                                              boolean breakSymetries)
Detect cliques.

Parameters:
m - model to analyze
breakSymetries -
Returns:
new instance of choco.cp.common.util.preprocessor.detector.CliquesModelDetector.CliqueModelDetector

disjFromCumulDetector

public static AbstractDetector disjFromCumulDetector(CPModel m)
Detect disjunctive from cumulative (redundant constraint).

Parameters:
m - model to analyze

precFromImpliedDetector

public static AbstractDetector precFromImpliedDetector(CPModel m,
                                                       DisjunctiveModel disjMod)
Parameters:
m - model to analyze

precFromReifiedDetector

public static AbstractDetector precFromReifiedDetector(CPModel m,
                                                       DisjunctiveModel disjMod)
Parameters:
m - model to analyze

precFromTimeWindowDetector

public static AbstractDetector precFromTimeWindowDetector(CPModel m,
                                                          DisjunctiveModel disjMod)
Parameters:
m - model to analyze

precFromDisjointDetector

public static AbstractDetector precFromDisjointDetector(CPModel m,
                                                        DisjunctiveModel disjMod)
Parameters:
m - model to analyze

disjointDetector

public static AbstractDetector disjointDetector(CPModel m,
                                                DisjunctiveModel disjMod)
Parameters:
m - model to analyze

disjointFromUnaryDetector

public static AbstractDetector disjointFromUnaryDetector(CPModel m,
                                                         DisjunctiveModel disjMod)

disjointFromCumulDetector

public static AbstractDetector disjointFromCumulDetector(CPModel m,
                                                         DisjunctiveModel disjMod)

clauseFromDisjointDetector

public static AbstractDetector clauseFromDisjointDetector(CPModel m,
                                                          DisjunctiveModel disjMod)

precReductionDetector

public static AbstractDetector precReductionDetector(CPModel m,
                                                     DisjunctiveModel disjMod)

rmDisjDetector

public static AbstractDetector rmDisjDetector(CPModel m)

disjunctiveModelDetectors

public static AbstractDetector[] disjunctiveModelDetectors(CPModel m,
                                                           DisjunctiveModel disjMod,
                                                           boolean generateClauses)

allSchedulingModelDetectors

public static AbstractDetector[] allSchedulingModelDetectors(CPModel m,
                                                             DisjunctiveModel disjMod)


Copyright © 2012. All Rights Reserved.