Package transsys :: Module optim :: Class AbstractOptimiser
[hide private]
[frames] | no frames]

Class AbstractOptimiser

source code

object --+
         |
        AbstractOptimiser

Abstract base class for optimisers.

Instance Methods [hide private]
 
__init__(self, rng, transformer=None, randomInitRange=None, verbose=0)
Partial constructor method.
source code
 
setRandomNumberGenerator(self, rng)
Set the random number generator.
source code
 
setRandomNumberSeed(self, rndseed)
Set a new random number generator with the specified seed.
source code
 
initialiseParameterTransformer(self, transsys_program, factor_name_list, gene_name_list)
Initialise the parameter transformer and randomise values if requested.
source code
 
optimise(self, transsys_program_init, objective_function, factor_name_list=None, gene_name_list=None)
Abstract optimise method.
source code
 
check_savefile_magic(self, s) source code
 
parse_variables(self, f) source code
 
parse(self, f)
Parse optimiser parameters from file f.
source code

Inherited from object: __delattr__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __str__

Instance Variables [hide private]
  randomInitRange
if not None, parameters in transformed space will be initialised with uniform random values from [-randomInitRange, +randomInitRange[
  rng
random number generator, used to initialise optimisation, but may subsequently be used by stochastic optimisers.
  transformer
parameter transformer
  verbose
controls verbosity (of optimisation process)
Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, rng, transformer=None, randomInitRange=None, verbose=0)
(Constructor)

source code 

Partial constructor method.

This constructor is to be invoked from subclass constructors. Instances of AbstractOptimiser do not have any use.

If the rng parameter is None (the default), the constructor initialises the rng instance variable to random.Random(1).

Parameters:
  • rng (random.Random) - random number generator (see rng instance variable)
  • transformer (ParameterTransformer) - parameter transformer (see transformer instance variable)
  • randomInitRange (float) - range for initialising parameters (see randomInitRange instance variable)
  • verbose (int) - verbosity level
Overrides: object.__init__

setRandomNumberGenerator(self, rng)

source code 

Set the random number generator.

Parameters:
  • rng (random.Random) - the random number generator to be used.

setRandomNumberSeed(self, rndseed)

source code 

Set a new random number generator with the specified seed.

This is a convenience method equivalent to calling setRandomNumberGenerator(random.Random(1)).

Parameters:
  • rndseed (int) - the random seed

initialiseParameterTransformer(self, transsys_program, factor_name_list, gene_name_list)

source code 

Initialise the parameter transformer and randomise values if requested.

This method should only be called from the optimise method, the startup of each optimise method should contain something like self.initialiseParameterTransformer(transsys_program, factor_name_list, gene_name_list)

optimise(self, transsys_program_init, objective_function, factor_name_list=None, gene_name_list=None)

source code 

Abstract optimise method.

Subclasses of AbstractOptimiser must override this method and conform to the parameter signature specified by this abstract method in doing so. Implementations of the optimise method may take additional parameters, which must have suitable defaults so a call with just the two parameters defined here remains valid. It is generally preferable to provide such parameters through instance variables.

Parameters:
  • transsys_program_init (TranssysProgram) - The transsys program to be optimised. Optimisers should not modify this transsys program, modifications should be done to a copy.
  • objective_function (AbstractObjectiveFunction (or subclass)) - The objective function used to optimise the transsys program.
  • factor_name_list (list of strings, or None) - factors for which parameters are to be optimised
  • gene_name_list (list of strings, or None) - genes for which parameters are to be optimised