/Genetic-Algorithm_Parcels

A genetic algorithm that solves the parcels problem (Knapsack problem in 3D) in Java from scratch

Primary LanguageJava

Genetic-Algorithm_Parcels

info section explains the behaviour of the algorithm
Using values? -> Section 2
Using only A,B,C without values? -> Section 1
Using the brute will modify the way the Simulation method places the parcels
Using the bruteforce will modify the way the Simulation method places the parcels. advised to keep it 'True'

Section 1

Step 1.0: fill A,B,C number of parcels
Step 1.1: set the boolean ValueBoolean = false;
Step 1.2: Add a time-limit of execution in milliseconds.
Step 1.3: RUN the program

info 0.0: Volume total parcels > container volume?
--> Will say you can't use that number of parcels
info 1.0: Volume total parcels <= container volume
info 1.1: Volume total parcels = container volume and all parcels CAN be placed
--> Will find the container, all filled
info 1.2: Volume total parcels < container volume and all parcels CAN be placed
--> Will find the container, with gaps obviously
info 1.3: Volume total parcels < container volume and all parcels CAN't be placed
--> Will remove some pieces and try to get the most pieces placed, will stop with the time-limit

Section 2

Step 2.0: fill A,B,C number of parcels, if unlimited write values 60,44,50 respectively
Step 2.1: fill A,B,c's respective weights
Step 2.2: set the boolean ValueBoolean = true;
Step 2.3: Add a time-limit of execution in milliseconds.
Step 2.4: RUN the program

info 0.0: Volume total parcels > container volume?
--> Will stop after the timeLimit and show the best result
info 1.0: Volume total parcels <= container volume
info 1.1: Volume total parcels = container volume and all parcels CAN be placed
--> Will find the container, all filled and show the best result
info 1.2: Volume total parcels < container volume and all parcels CAN be placed
--> Will find the container, with gaps obviously and show the best result
info 1.3: Volume total parcels < container volume and all parcels CAN't be placed
--> Will stop after the timeLimit and show the best result