This repository holds a model that can be used to produce solutions to the, common in the Operations Reasearch field, Permutation Flowshop Problem.
The implementation of the models and algorithms can be found in the source directory:
-
Heuristics - The container of the heuristic methods that are used in the implementation.
-
Solution - The container of a specific 'Solution' entity. Each final solution produced by the algorithms is an instance of this class.
-
TabuList - The container of a TabuList that is being used in a Tabu Search.
The definitions of all the entities that are being used in the implementation rest in the headers directory:
-
Solution.h - The definition of a 'Solution' of the problem. Contains all the methods and attributes that a PFSP solution should have.
-
TabuList.h - The definition of a TabuList. Contains all the methods and attributes of a List that will be used in a Tabu Seach.
-
Searches.h - All the available solution exploration algorithms.
-
Operators.h - All the available Local Search operators.
To use this implementation, first compile the project:
g++ -o solver.exe src/*.cpp
and then execute the solver:
./solver.exe
The problem input that will be used can be configured in the data.txt file. The format of the input has to be in a structure as the following:
M1: job1time job2time job3time
M2: job1time job2time job3time
for a 2-machine, 3-job problem.
A brief report also exists, further detailing all of the abovementioned, using a more elegant manner.