Package Phase3

Contains the classes used exclusively in the third phase of the project (3D Knapsack problems).

The knapsack problem is a well known optimisation problem dealing with fitting parcels in a container in a way that maximises the final score (taken as sum of scores of all packages fitted).

  • Class Summary 
    Class Description
    Algorithm
    Class starting the chosen algorithm (selected in the Wrapper)
    CreateDancingInput  
    DancingLinksProblem
    Class for solving the dancing links problem
    Element  
    FX3D
    Main class running the 3D environment for the third phase
    Gbot
    Genetic algorithm bot (Gbot) similar to the one from Phase2 but adapted to solving 3D problems
    GreedyAlgorithm
    The class holding all of the methods of the greedy algorithm
    InputDetail
    This is just a wrapper class to allow the use of a single array to hold all the input details
    ParcelType
    Class where the type of a parcel is defined, with its value, color, rotation, etc.
    Pentominoe  
    ShapesAndRotations
    Class holding all of the shapes (Boxes and pentominoes) and all of their rotations (as list of 3D matrices)
    TestG
    Class for testing initialisation
    UIParcel
    Class where a Parcel object being displayed by UI is defined
    Wrapper
    Wrapper class holding many crucial variables' values that are used by other classes within this package