# Artificial bee colony for project scheduling
## Overview
This archive contains:
- thesis.pdf - Text of this thesis in PDF
- README.md - A guidance file for running the experiments with ABC algorithm on the MSLIB instances (this file)
- ABC - Folder containing the implementation of the ABC algorithm for the MSRCPSP. This folder contains:
    - ABC.zip - source code of the implementation
    - config.json - the configuration file for the paths, parameters and selection of the instances
    - LICENCE.md - the licence file to the software
    - .net packages and other files
- ABC - windows.zip - the self-contained build for windows
- MSLIB.zip - contains benchmarks instances and basic information about the benchmarks as well as the file MSLIB (Parameters and BKS).xlsx with information about the instances and results by M. Vanhoucke and J. Snauwaert
- experiments.xlsx - results of the experiments on the selected instances

### Abstract
Resource-constrained scheduling problem has many different variants and even more algorithms used in solutions. Multi-skilled resource-constrained project scheduling is a variant adding skills to resources which activities might require. This study deals with this variant with an artificial bee colony, a metaheuristic algorithm inspired by the collective intelligence of honey beehives. The multi-skilled resource-constrained project scheduling, the artificial bee colony algorithms and their implementation are described in detail. Experiments are run on benchmark projects. This thesis shows, that the artificial bee colony could be a competitive algorithm in the context of the project scheduling.

## Requirements
To build and run the project, make sure you have the following requirements installed on your system:

.NET SDK (version 6.0 or higher)

The package also includes the self-contained build version for the windows, which does not require any  dependencies.

## Getting Started
Follow the steps below to set up and run the project:

Open the solution file (ABC/ABC.sln) in Visual Studio or your preferred IDE.

Restore the dependencies by building the solution. This can be done either through the IDE or using the following command:

    dotnet build
    
Configure the project by modifying the config.json file. 

Run the project by from the IDE, or by running the built executible ABC.Run.exe.

## License
This project is licensed under the Modified BSD License. See the LICENSE.md file for more details.

## Contact
For any inquiries or feedback, please contact Jan Ševeček at jan.sevecek@mail.muni.cz.