OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
OptimizeCmd.h
Go to the documentation of this file.
1 #ifndef OPAL_OptimizeCmd_HH
2 #define OPAL_OptimizeCmd_HH
3 
5 
6 #include "Util/CmdArguments.h"
7 #include "Optimize/DVar.h"
9 
10 #include <string>
11 
12 // Class OptimizeCmd
13 // ------------------------------------------------------------------------
15 
16 class OptimizeCmd: public Action {
17 
18 public:
19 
21  OptimizeCmd();
22 
23  virtual ~OptimizeCmd();
24 
26  virtual OptimizeCmd *clone(const std::string &name);
27 
29  virtual void execute();
30 
31 private:
32 
33  // Not implemented.
34  OptimizeCmd(const OptimizeCmd &) = delete;
35  void operator=(const OptimizeCmd &) = delete;
36 
37  // Clone constructor.
38  OptimizeCmd(const std::string &name, OptimizeCmd *parent);
39 
40  void stashEnvironment();
41  void popEnvironment();
42 
43  enum CrossOver {
44  Blend = 0,
48  };
49 
50  CrossOver crossoverSelection(std::string crossover);
51 
52  enum Mutation {
54  OneBit = 20
55  };
56 
57  Mutation mutationSelection(std::string mutation);
58 
59  void run(const CmdArguments_t& args,
60  const functionDictionary_t& funcs,
61  const DVarContainer_t& dvars,
62  const Expressions::Named_t& objectives,
63  const Expressions::Named_t& constraints);
64 };
65 
66 #endif
The base class for all OPAL actions.
Definition: Action.h:30
CrossOver crossoverSelection(std::string crossover)
boost::shared_ptr< CmdArguments > CmdArguments_t
Definition: CmdArguments.h:169
void popEnvironment()
OptimizeCmd()
Exemplar constructor.
Definition: OptimizeCmd.cpp:92
virtual ~OptimizeCmd()
void operator=(const OptimizeCmd &)=delete
void stashEnvironment()
Mutation mutationSelection(std::string mutation)
void run(const CmdArguments_t &args, const functionDictionary_t &funcs, const DVarContainer_t &dvars, const Expressions::Named_t &objectives, const Expressions::Named_t &constraints)
std::map< std::string, DVar_t > DVarContainer_t
Definition: Types.h:77
std::map< std::string, Expressions::Expr_t * > Named_t
type of an expressions with a name
Definition: Expression.h:45
The OPTIMIZE command.
Definition: OptimizeCmd.h:16
const std::string name
virtual void execute()
Execute the command.
virtual OptimizeCmd * clone(const std::string &name)
Make clone.
std::map< std::string, client::function::type > functionDictionary_t
Definition: Expression.h:27