Commit 60b33284 by Markus Klinik

### resource frames figure

parent 9afca06a
 ... ... @@ -6,16 +6,51 @@ 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 a set of good assignments. Phase one uses a genetic algorithm to find a set of good assignments for a given instance definition. Phase two uses these assignments to build schedules. \subsection{Genetic Algorithm} \subsection{Instance Definition} A C2 instance definition consists of a list of resource definitions, a list of task definitions, a list of resource frame definitions, and a list of weights. Resource frames specify resource affinity constraints. A resource frame has a list of task definitions and a list of resource requirements. Every resource requirement of a resource frame is by definition a resource requirement of all tasks in the frame, and assigning a resource to a frame requirement automatically assigns it to all tasks in the frame. See figure \todo{TODO} for an example. \begin{figure} \begin{tikzpicture}[scale=0.03,>=stealth] \node[draw,rectangle split,rectangle split parts=2,text width=2.0cm,anchor=north west] at (0,0) (prepare) { Prepare \nodepart{two} \textit{Operator} }; \node[draw,rectangle split,rectangle split parts=2,text width=2.0cm,anchor=north west] at (130,0) (deploy) { Deploy \nodepart{two} \textit{Operator} }; \node[draw,anchor=south east,outer sep=0pt] % outer sep=0pt so that the borders overlap at (215,-60) (frameRequirement) {\textit{Transport}}; \draw (-10,10) rectangle (frameRequirement.south east); \draw[->] (prepare.text east) -- (deploy.text west); \end{tikzpicture} \caption{A resource frame in a simple prepare-deploy scenario. The resource requirement of the frame applies to all tasks inside the frame.} \label{fig:resource-frames} \end{figure} \subsection{Genetic Algorithm} 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} Our encoding scheme is based on the one by \citet{MyszkowskiLNS2018}, extended with support for tasks with multiple skill requirements. A chromosome encodes an assignment as follows. \paragraph{Selection} ... ...
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!