Package dsc_suite :: Package ds :: Module slicing_tree :: Class SlicingTree
[hide private]
[frames] | no frames]

Class SlicingTree

source code

                  object --+    
                           |    
data_structure.DataStructure --+
                               |
                              SlicingTree

class SlicingTree(DataStructure) - Slicing Tree implementation

Currently implemented as static array representation

slicing_tree format : [operation_variation, module_permutation,
                       topology, block_rotations]

rotations only 0 and 90 degrees    

TODO: detailed docstring

Instance Methods [hide private]
 
__init__(self, benchmark)
x.__init__(...) initializes x; see x.__class__.__doc__ for signature
source code
 
get_part_of_representation(self, part_index, part_number)
get a single element out of a part of the abstract representation, part_number between 0 and part_lengths[part_index]
source code
 
calc_dimensions(self, sta, u=0, x=0, y=0, z=0) source code
 
create_packing(self, representation)
Return packing in dict format.
source code
 
packing_to_representation(self, packing)
is not possible with every data structure
source code
 
get_operations(self)
returns a dict of possible operations onto a abstract representation {'name' : [function, globality_factor]} globality_factor ...
source code
 
merge_representations(self, representation_a, representation_b)
Merge two representations into all possible children.
source code
 
rotate_module(self, representation) source code
 
exchange_two_modules(self, representation) source code
 
rotate_slicing_plane(self, representation) source code
 
exchange_two_tree_nodes(self, representation)
includes the special case where two modules are exchanged so maybe the exclusive module exchange function can be ommited
source code

Inherited from data_structure.DataStructure: __getitem__, convert_part_numbers, cost_evaluation, generate_solution_space, get_all_representations, get_part_numbers, get_random_representation, get_representation, set_benchmark

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

Class Variables [hide private]
  name = '3D Slicing Tree'

Inherited from data_structure.DataStructure: CONNECTIONS, DIMENSIONS, MODULETYPE, ORIGINAL, ROTATED

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, benchmark)
(Constructor)

source code 

x.__init__(...) initializes x; see x.__class__.__doc__ for signature

Overrides: object.__init__
(inherited documentation)

get_part_of_representation(self, part_index, part_number)

source code 

get a single element out of a part of the abstract representation, part_number between 0 and part_lengths[part_index]

Overrides: data_structure.DataStructure.get_part_of_representation

create_packing(self, representation)

source code 

Return packing in dict format.

packing = {'name' : [x, y, z, w, h, d], ...}

Overrides: data_structure.DataStructure.create_packing

packing_to_representation(self, packing)

source code 

is not possible with every data structure

Overrides: data_structure.DataStructure.packing_to_representation
(inherited documentation)

get_operations(self)

source code 

returns a dict of possible operations onto a abstract representation {'name' : [function, globality_factor]} globality_factor ... the higher, the bigger is the solution change this factor is given by the authors but it also can be determined in test runs evaluation the cost influences caused by applying the according function.

Overrides: data_structure.DataStructure.get_operations

merge_representations(self, representation_a, representation_b)

source code 

Merge two representations into all possible children.

Typically, used for genetic and/or evolutionary algorithms. Returns a list with all possible children.

In case of Slicing Tree all possible combinations of the first, second and third sequence as well as the rotation_list are generated. Rotations are currently completely taken from representation a or b, respectively. Thus 2^4 different children are possible.

Overrides: data_structure.DataStructure.merge_representations