| IGLib 1.6.0 The IGLib base library for development of numerical, technical and business applications.

- Main Page
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | Properties | Private Attributes | List of all members
IG.Lib.LoadableScriptOptBase Class Referenceabstract

Base class for loadable scripts for optimization problems. AGREEMENTS: The first argument to initialization and executable method is working directory where data between different applications is exchanged. If overrigding the InitializeThis(...) method, call the base class' method first, and keep the agreement that the first argument must be the working directory. When implementing the executable (RunThis(...)) method, its first argument should also be the working directory (the same as for initialization). This is to enable use of the class in scenarios where initialization and execution arguments must be the same. More...

Inheritance diagram for IG.Lib.LoadableScriptOptBase:
[legend]
Collaboration diagram for IG.Lib.LoadableScriptOptBase:
[legend]

## Classes
class | AnalysisScript

## Public Member Functions
| LoadableScriptOptBase ()
| Creates the LoadableScriptOptBase object. More...
abstract void | Analyse (IAnalysisResults anRes)
| Performs direct analysis for optimization problems. This method must be overridden in derived classes where one wants to have direct analysis defined. More...
Public Member Functions inherited from IG.Lib.LoadableScriptBase
| LoadableScriptBase ()
| Argument-less constructor. If argument-less constructor is called then initialization is not performed and will be performed later. More...
string | Run (string[] arguments)
| Performs the action of this object. Override this in derived classes! More...
void | Initialize (string[] arguments)
| Initializes the object. If not called explicitly, this method is automatically called at the first call to the Run method. More...
virtual string | Script_DefaultInitialize (string[] arguments)
| Default initialization method for scripts. More...
virtual string | Script_DefaultRun (string[] arguments)
| Default run method for the script. Can be used when only installed commands are run by hte script. More...
virtual ICommandLineApplicationInterpreter | Script_CreateInterpreterWithoutCommands ()
| Creates and returns an interpreter that can be used as script's internal interpreter for running script's commands. More...
virtual void | Script_AddCommands (ICommandLineApplicationInterpreter interpreter, SortedList< string, string > helpStrings)
| Add wscript's internal commands to the specified interpreter. More...
delegate string | Script_CommandDelegate (string[] args)
| Delegate for commands that are installed on script's internal interpreter (property Interpreter). More...
void | Script_AddCommand (string commandName, Script_CommandDelegate command, string helpString)
| Adds a new internal script command under specified name to the internal interpreter of the current script object. More...
virtual void | Script_AddCommand (ICommandLineApplicationInterpreter interpreter, SortedList< string, string > helpStrings, string commandName, Script_CommandDelegate command, string helpString)
| Adds a new internal script command under specified name to the internal interpreter of the current script object. More...
string | Script_GetHelpString (string scriptCommandName)
| Returns help string for internal script command with specified name, or null if help string is not installed for such a command. More...
void | Script_PrintCommandsHelp ()
| Prits help for the installed internal commands of the script. More...
virtual bool | Script_ContainsCommand (string commandName)
| Returns true if the internal script's interpreter contains a command with specified name, false otherwise. More...
virtual bool | Script_ContainsScriptCommand (string commandName)
| Returns true if the specified command is script command (i.e. its first argument is command-name and it is run through the Script_CommandAdapter object). More...
virtual void | Script_RemoveCommand (string commandName)
| Removes the specified internal script command from the internal interpreter of the current scripting object. More...
virtual void | Script_RemoveAllCommands ()
| Removes ALL internal script commands from the internal interpreter of the current scripting object. More...
string | Script_Run (string[] arguments)
| Runs internal script command. More...
string | Script_Run (string commandName, params string[] otherArguments)
| Runs internal script command. More...
virtual void | Script_PrintArguments (string messageString, string[] arguments)
| Prints the specified array of string arguments (usually passed as command-line arguments). More...

## Protected Member Functions
override void | InitializeThis (string[] arguments)
| Inializes the current script object. More...
Protected Member Functions inherited from IG.Lib.LoadableScriptBase
delegate string | CommandMethod (string commandName, string[] args)
| Delegate for internal command methods. More...
abstract string | RunThis (string[] arguments)
| Performs the action of this object. Override this in derived classes! More...
ICommandLineApplicationInterpreter | Script_CreateInterpreter ()
| Creates and returns an interpreter that can be used as script's internal interpreter for running script's commands. More...
virtual string | Script_CommandHelp (string[] arguments)
| Prints help. More...
virtual string | Script_CommandTestScript (string[] arguments)
| Prints help. More...

## Protected Attributes
StopWatch1 | _timer = null
bool | _checkOptimizationDirectoryExistence = true
| Whether to check existence of optimization directory when set. Also applies to working directory. More...
Protected Attributes inherited from IG.Lib.LoadableScriptBase
string | _embeddedCommandName = null
int | _outputLevel = DefaultOutputLevel
ICommandLineApplicationInterpreter | _script_interpreter

## Properties
StopWatch1 | Timer`[get]`
virtual IRandomGenerator | Random`[get, protected set]`
| Random generator used by the current object. More...
virtual string | OptimizationDirectory`[get, set]`
| Optimization directory. This directory is a base directory for data used optimization and neural network - based approximation servers and for other directories that contain data for specific tasks. More...
virtual string | WorkingDirectory`[get, set]`
| Working directory. This directory is a base directory for data used by the script. It is usually obtained as parent directory of the optimization directory. More...
virtual IAnalysis | Analysis`[get, protected set]`
| Direct analysis object used in optimization. Initialized when first accessed with the embedded class, whose analysis function calls Analyse(...). More...
Properties inherited from IG.Lib.LoadableScriptBase
string | EmbeddedCommandName`[get, set]`
| Command that was used to launch the current embedded application script. More...
object | Lock`[get]`
| This object's central lock object to be used by other object. Do not use this object for locking in class' methods, for this you should use InternalLock. More...
string[] | InitializationArguments`[get, set]`
| Arguments used by the initialization method. WARNING: arguments can only be set before initialization is performed. Initialization is performed either implicitly at the first call to the Run method or explicitly by calling the Initialize method. More...
virtual bool | IsInitialized`[get, protected set]`
| Whether the object has been initialized or not. More...
static int | DefaultOutputLevel`[get, set]`
int | OutputLevel`[get, set]`
| Level of output to console produced by some operations of the current object. More...
virtual ICommandLineApplicationInterpreter | Script_Interpreter`[get, protected set]`
| Script's internal interpreter that takes care for execution of installed internal commands. More...
SortedList< string, string > | Script_CommandHelpStrings`[get]`
| Contains help strings associated with script commands installed on interpreter. More...
Properties inherited from IG.Lib.ILoadableScript
string | EmbeddedCommandName`[get, set]`
| Command that was used to launch the current embedded application script. More...
string[] | InitializationArguments`[get, set]`
| Arguments used by the initialization method. More...
bool | IsInitialized`[get]`
| Whether the object has been initialized or not. More...
Properties inherited from IG.Lib.ILockable
object | Lock`[get]`

## Private Attributes
IRandomGenerator | _randGen
string | _optimizationDirectory
string | _workingDirectory
IAnalysis | _analysis

## Additional Inherited Members
Public Attributes inherited from IG.Lib.LoadableScriptBase
const string | ConstDefaultHelp = "Help"
| Default command name for help. More...
const string | ConstHelpDefaultUniversal = "?"
| Universal name of the help command. More...
const string | ConstDefaultTestScrip = "TestScript"
| Default command name for test method. More...

## Detailed Description

Base class for loadable scripts for optimization problems. AGREEMENTS: The first argument to initialization and executable method is working directory where data between different applications is exchanged. If overrigding the InitializeThis(...) method, call the base class' method first, and keep the agreement that the first argument must be the working directory. When implementing the executable (RunThis(...)) method, its first argument should also be the working directory (the same as for initialization). This is to enable use of the class in scenarios where initialization and execution arguments must be the same.

$A Igor Jul09

## Constructor & Destructor Documentation

IG.Lib.LoadableScriptOptBase.LoadableScriptOptBase | ( |  | ) |
| inline

Creates the LoadableScriptOptBase object.

## Member Function Documentation

override void IG.Lib.LoadableScriptOptBase.InitializeThis | ( | string[] | arguments | ) |
| inline protected virtual

Inializes the current script object.

Parameters

  arguments | Initialization arguments. The first argument must be the working directory path.

Implements IG.Lib.LoadableScriptBase.

Reimplemented in IG.Lib.LoadableScriptOptTest.LoadableScriptOptDerived, and IG.Lib.LoadableScriptOptShellBaseControllable.

abstract void IG.Lib.LoadableScriptOptBase.Analyse | ( | IAnalysisResults | anRes | ) |
| pure virtual

Performs direct analysis for optimization problems. This method must be overridden in derived classes where one wants to have direct analysis defined.

Parameters

  anRes | IAnalysisResults object where input parameters are loaded on the call, and where analysis results are stored after the call.

In order to perform the direct analysis, an embedded Analysis object is used. This object's analysis method calls the current Analyse method in order to actually perform the analysis.

Implemented in IG.Lib.LoadableScriptOptTest.LoadableScriptOptDerived.

## Member Data Documentation

StopWatch1 IG.Lib.LoadableScriptOptBase._timer = null
| protected

IRandomGenerator IG.Lib.LoadableScriptOptBase._randGen
| private

string IG.Lib.LoadableScriptOptBase._optimizationDirectory
| private

bool IG.Lib.LoadableScriptOptBase._checkOptimizationDirectoryExistence = true
| protected

Whether to check existence of optimization directory when set. Also applies to working directory.

string IG.Lib.LoadableScriptOptBase._workingDirectory
| private

IAnalysis IG.Lib.LoadableScriptOptBase._analysis
| private

## Property Documentation

StopWatch1 IG.Lib.LoadableScriptOptBase.Timer
| get protected

virtual IRandomGenerator IG.Lib.LoadableScriptOptBase.Random
| get protected set

Random generator used by the current object.

Lazy evaluation, created when needed for the first time.

The generator is thread safe and initialized with a time dependent seed.

virtual string IG.Lib.LoadableScriptOptBase.OptimizationDirectory
| get set

Optimization directory. This directory is a base directory for data used optimization and neural network - based approximation servers and for other directories that contain data for specific tasks.

virtual string IG.Lib.LoadableScriptOptBase.WorkingDirectory
| get set

Working directory. This directory is a base directory for data used by the script. It is usually obtained as parent directory of the optimization directory.

virtual IAnalysis IG.Lib.LoadableScriptOptBase.Analysis
| get protected set

Direct analysis object used in optimization. Initialized when first accessed with the embedded class, whose analysis function calls Analyse(...).

When getter is first accessed, this property is initialized with an object of the embedded AnalysisScript class that has Script property set to the current loadable script object. This object calls the Analyse(...) method on the currend loadable script object in order to actually perform the direct analysis. This method must be overridden in derived concrete classes. Various properties of the optimization problem such as number of parameters, number of constraints, etc., must be accessed through this object.

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

- igbase/optimization/scripting/LoadableScriptOpt.cs