OPAL (Object Oriented Parallel Accelerator Library) 2022.1
OPAL
Public Member Functions | Private Types | Private Member Functions | List of all members
OptimizeCmd Class Reference

The OPTIMIZE command. More...

#include <OptimizeCmd.h>

Inheritance diagram for OptimizeCmd:
Inheritance graph
[legend]
Collaboration diagram for OptimizeCmd:
Collaboration graph
[legend]

Public Member Functions

 OptimizeCmd ()
 Exemplar constructor. More...
 
virtual ~OptimizeCmd ()
 
virtual OptimizeCmdclone (const std::string &name)
 Make clone. More...
 
virtual void execute ()
 Execute the command. More...
 
- Public Member Functions inherited from Action
virtual ~Action ()
 
virtual bool canReplaceBy (Object *object)
 Test if replacement is allowed. More...
 
virtual const std::string getCategory () const
 Return the object category as a string. More...
 
virtual bool shouldTrace () const
 Trace flag. More...
 
virtual bool shouldUpdate () const
 Update flag. More...
 
- Public Member Functions inherited from Object
virtual ~Object ()
 
virtual bool canReplaceBy (Object *object)
 Test if replacement is allowed. More...
 
virtual Objectclone (const std::string &name)=0
 Return a clone. More...
 
void copyAttributes (const Object &)
 Copy attributes from another object. More...
 
virtual void execute ()
 Execute the command. More...
 
virtual AttributefindAttribute (const std::string &name)
 Find an attribute by name. More...
 
virtual const AttributefindAttribute (const std::string &name) const
 Find an attribute by name. More...
 
virtual const std::string getCategory () const =0
 Return the object category as a string. More...
 
virtual bool shouldTrace () const =0
 Trace flag. More...
 
virtual bool shouldUpdate () const =0
 Update flag. More...
 
virtual ObjectmakeTemplate (const std::string &, TokenStream &, Statement &)
 Macro handler function. More...
 
virtual ObjectmakeInstance (const std::string &name, Statement &, const Parser *)
 Macro handler function. More...
 
virtual void parse (Statement &)
 Parse the object. More...
 
virtual void parseShortcut (Statement &, bool eval=true)
 Parser for single-attribute commands. More...
 
virtual void print (std::ostream &) const
 Print the object. More...
 
virtual void printValue (std::ostream &) const
 
virtual void printHelp (std::ostream &) const
 Print help. More...
 
virtual void replace (Object *oldObject, Object *newObject)
 Replace references. More...
 
virtual void update ()
 Update this object. More...
 
bool isBuiltin () const
 True, if [b]this[/b] is a built-in object. More...
 
virtual bool isShared () const
 Shared flag. More...
 
virtual void setShared (bool)
 Set/reset shared flag. More...
 
void setDirty (bool)
 Set/reset the [b]modified[/b] flag. More...
 
bool isDirty () const
 True, if the [b]modified[/b] flag is set. More...
 
void setFlag (bool)
 Flag/unflag this object, e. g. to control output of objects for. More...
 
bool isFlagged () const
 True, if [b]this[/b] is flagged by setFlag(true). More...
 
const ObjectgetBaseObject () const
 Return the object's base type object. More...
 
const std::string & getOpalName () const
 Return object name. More...
 
ObjectgetParent () const
 Return parent pointer. More...
 
bool isTreeMember (const Object *subTree) const
 Test for tree membership. More...
 
void setOpalName (const std::string &name)
 Set object name. More...
 
void setParent (Object *)
 Set parent object. More...
 
void clear ()
 Clear the occurrence counter. More...
 
int increment ()
 Increment and return the occurrence counter. More...
 
int occurrenceCount ()
 Return the occurrence counter. More...
 
void registerReference (Invalidator *a)
 Register a reference to this object. More...
 
void unregisterReference (Invalidator *a)
 Unegister a reference to this object. More...
 
void registerOwnership (const AttributeHandler::OwnerType &itsClass) const
 
- Public Member Functions inherited from RCObject
int addReference () const
 Increment reference count. More...
 
int removeReference () const
 Decrement the reference count. More...
 
bool isShared () const
 Test for sharing. More...
 

Private Types

enum  CrossOver { Blend = 0 , NaiveOnePoint , NaiveUniform , SimulatedBinary }
 
enum  Mutation { IndependentBit = 10 , OneBit = 20 }
 

Private Member Functions

 OptimizeCmd (const OptimizeCmd &)=delete
 
void operator= (const OptimizeCmd &)=delete
 
 OptimizeCmd (const std::string &name, OptimizeCmd *parent)
 
void stashEnvironment ()
 
void popEnvironment ()
 
CrossOver crossoverSelection (std::string crossover)
 
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)
 

Additional Inherited Members

- Public Attributes inherited from Object
std::vector< AttributeitsAttr
 The object attributes. More...
 
- Protected Member Functions inherited from Action
 Action (int size, const char *name, const char *help)
 Constructor for exemplars. More...
 
 Action (const std::string &name, Action *parent)
 Constructor for cloning. More...
 
- Protected Member Functions inherited from Object
 Object (int size, const char *name, const char *help)
 Constructor for exemplars. More...
 
 Object (const std::string &name, Object *parent)
 Constructor for clones. More...
 
- Protected Member Functions inherited from RCObject
 RCObject ()
 Default constructor. More...
 
 RCObject (const RCObject &)
 Copy constructor. More...
 
virtual ~RCObject ()=0
 
RCObjectoperator= (const RCObject &right)
 
- Protected Attributes inherited from Object
bool builtin
 Built-in flag. More...
 
bool modified
 Dirty flag. More...
 
bool flagged
 Object flag. More...
 

Detailed Description

The OPTIMIZE command.

Definition at line 16 of file OptimizeCmd.h.

Member Enumeration Documentation

◆ CrossOver

enum OptimizeCmd::CrossOver
private
Enumerator
Blend 
NaiveOnePoint 
NaiveUniform 
SimulatedBinary 

Definition at line 43 of file OptimizeCmd.h.

◆ Mutation

enum OptimizeCmd::Mutation
private
Enumerator
IndependentBit 
OneBit 

Definition at line 52 of file OptimizeCmd.h.

Constructor & Destructor Documentation

◆ OptimizeCmd() [1/3]

OptimizeCmd::OptimizeCmd ( )

◆ ~OptimizeCmd()

OptimizeCmd::~OptimizeCmd ( )
virtual

Definition at line 191 of file OptimizeCmd.cpp.

◆ OptimizeCmd() [2/3]

OptimizeCmd::OptimizeCmd ( const OptimizeCmd )
privatedelete

◆ OptimizeCmd() [3/3]

OptimizeCmd::OptimizeCmd ( const std::string &  name,
OptimizeCmd parent 
)
private

Definition at line 187 of file OptimizeCmd.cpp.

Member Function Documentation

◆ clone()

OptimizeCmd * OptimizeCmd::clone ( const std::string &  name)
virtual

Make clone.

Implements Object.

Definition at line 194 of file OptimizeCmd.cpp.

References name, and OptimizeCmd().

Here is the call graph for this function:

◆ crossoverSelection()

OptimizeCmd::CrossOver OptimizeCmd::crossoverSelection ( std::string  crossover)
private

Definition at line 530 of file OptimizeCmd.cpp.

Referenced by run().

◆ execute()

void OptimizeCmd::execute ( )
virtual

◆ mutationSelection()

OptimizeCmd::Mutation OptimizeCmd::mutationSelection ( std::string  mutation)
private

Definition at line 559 of file OptimizeCmd.cpp.

Referenced by run().

◆ operator=()

void OptimizeCmd::operator= ( const OptimizeCmd )
privatedelete

◆ popEnvironment()

void OptimizeCmd::popEnvironment ( )
private

Definition at line 523 of file OptimizeCmd.cpp.

References IpplInfo::pop(), IpplTimings::pop(), Track::pop(), and OpalData::popInstance().

Referenced by run().

Here is the call graph for this function:

◆ run()

void OptimizeCmd::run ( const CmdArguments_t args,
const functionDictionary_t funcs,
const DVarContainer_t dvars,
const Expressions::Named_t objectives,
const Expressions::Named_t constraints 
)
private

◆ stashEnvironment()

void OptimizeCmd::stashEnvironment ( )
private

Definition at line 516 of file OptimizeCmd.cpp.

References IpplInfo::stash(), IpplTimings::stash(), Track::stash(), and OpalData::stashInstance().

Referenced by run().

Here is the call graph for this function:

The documentation for this class was generated from the following files: