- Main Page
- Namespaces
- Classes
- Files
- Related Pages

# /Users/fpy/titan-1-5-MBARI/Mers/Solvers/SAT/GATSAT/CompileSAT/CompileSAT.h

    00001
    00002 //
    00003 // Copyright (c) 2004           Model-based Embedded and Robotic Systems Group
    00004 // All Rights Reserved          Massachusetts Institute of Technology
    00005 //
    00006 // This software is provided as is. Model-based Embedded and Robotic Systems
    00007 // (MERS) group does not assume any responsibility.
    00008 //
    00010
    00011 #ifndef CompileSATHeaderFile
    00012 #define CompileSATHeaderFile
    00013
    00014 #include <cstdlib>
    00015 #include <cassert>
    00016
    00017 #include <Mers/Generators/AssignmentGeneratorInterface.h>
    00018 #include <Mers/Solvers/SAT/AssignmentTesterInterface.h>
    00019 #include <Mers/Solvers/SAT/GATSAT/GATSAT.h>
    00020 #include <Mers/Models/Base/BaseModelVariableArrayArray.h>
    00021 #include <Mers/Models/Base/BaseModelVariableArray.h>
    00022 #include <Mers/Models/Base/BaseModelSentence.h>
    00023
    00024 namespace Mers {
    00025         namespace Solvers {
    00026                 namespace SAT {
    00027                         namespace GATSAT {
    00028                                 namespace CompileSAT {
    00029
    00035                                         class CompileSAT : public GATSAT
    00036                                         {
    00037                                         public:
    00038 #ifndef EMBEDDED
    00039                                                 friend std::ostream& operator<<(std::ostream&, CompileSAT const &);
    00040 #endif
    00041
    00043                                                 // Constructors
    00045
    00069                                                 CompileSAT(Mers::Models::Base::BaseModelVariableArrayArray const & searchGroups,
    00070                                                         Mers::Models::Base::BaseModelVariableArray const & decisionVariables,
    00071                                                         Mers::Models::Base::BaseModelVariableArray const & allVariables,
    00072                                                         Mers::Models::Base::BaseModelSentence const & constraintSet,
    00073                                                         bool testForValid);
    00074
    00094                                                 CompileSAT(Mers::Models::Base::BaseModelVariableArray const & decisionVariables,
    00095                                                         Mers::Models::Base::BaseModelVariableArray const & allVariables,
    00096                                                         Mers::Models::Base::BaseModelSentence const & constraintSet,
    00097                                                         bool testForValid = true);
    00098
    00115                                                 CompileSAT(Mers::Models::Base::BaseModelVariableArray const & allVariables,
    00116                                                         Mers::Models::Base::BaseModelSentence const & constraintSet,
    00117                                                         bool testForValid = true);
    00118
    00131                                                 CompileSAT(Mers::Generators::AssignmentGeneratorInterface * myGenerator,
    00132                                                         Mers::Solvers::SAT::AssignmentTesterInterface * myTester);
    00133
    00135                                                 // Destructors
    00137
    00141                                                 ~CompileSAT();
    00142
    00144                                                 // Functions
    00146
    00152                                                 void addTemporaryConstraint(Mers::Models::Base::BaseModelClause const * c);
    00159                                                 void setTemporaryConstraint(Mers::Models::Base::BaseModelClause const * c);
    00163                                                 void clearTemporaryConstraint();
    00164
    00165                                         protected:
    00167                                                 // Data
    00169
    00172                                                 Mers::Models::Base::BaseModelVariableArray decisionVars;
    00175                                                 Mers::Models::Base::BaseModelVariableArray allVars;
    00178                                                 Mers::Models::Base::BaseModelSentence constraints;
    00179
    00181                                                 Mers::Models::Base::BaseModelVariableArrayArray searchSet;
    00182                                         };
    00183                                 }
    00184                         }
    00185                 }
    00186         }
    00187 }
    00188
    00189 #endif //ndef CompileSATHeaderFile
    00190
    00191
    00192
    00193