Commit 9afca06a authored by Markus Klinik's avatar Markus Klinik

implementation: structure

parent 3b28d614
\section{Implementation}
\label{sec:implementation}
In this section we describe some design decisions of the implementation of our method.
We have implemented our algorithm in the functional programming language Clean.
The source code is available at our university's GitLab.\footnote{\url{https://gitlab.science.ru.nl/mklinik/ga-scheduler}}
The implementation works in two phases.
Phase one uses a genetic algorithm to find an assignment.
Phase two uses this assignment to build a schedule.
Phase one uses a genetic algorithm to find a set of good assignments.
Phase two uses these assignments to build schedules.
\subsection{Genetic Algorithm}
Describe our implementation.
Our genetic algorithm is based on the implementation by \citet{Alexeev2014SimpleGeneticAlgorithm}.
We ported his code from Haskell to Clean and extended it in a number of ways to make it fit our needs.
\paragraph{Encoding}
\paragraph{Selection}
\paragraph{Crossover}
\paragraph{Mutation}
\paragraph{Constraints and invalid assignments}
\paragraph{Scalarization}
\begin{itemize}[noitemsep]
\item crossover
\item mutation
\item constraints
\item scalarization
\item invalid assignments
\end{itemize}
\subsection{Greedy Schedule Building}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment