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 problemElement FX3D Main class running the 3D environment for the third phaseGbot Genetic algorithm bot (Gbot) similar to the one from Phase2 but adapted to solving 3D problemsGreedyAlgorithm The class holding all of the methods of the greedy algorithmInputDetail This is just a wrapper class to allow the use of a single array to hold all the input detailsParcelType 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 initialisationUIParcel Class where a Parcel object being displayed by UI is definedWrapper Wrapper class holding many crucial variables' values that are used by other classes within this package