Commit 1a1e917b authored by Markus Klinik's avatar Markus Klinik
Browse files

related work: Alexeev, Deb

parent ac92c866
Subproject commit 9415a871515c09988218319bcc65399ba25f6b4d Subproject commit ba37fe5179fc2233b2976e600dd091af110c7391
\section{Related Work} \section{Related Work}
Our work combines and extends existing work. Our work combines and extends the following existing work.
Our chromosome encoding scheme of assignments and the greedy schedule builder are inspired by the implementation by \citet{MyszkowskiLNS2018}. Our chromosome encoding scheme of assignments, and the greedy schedule builder are inspired by the implementation by \citet{MyszkowskiLNS2018}.
They have a Java implementation of a genetic algorithm that solves the MSRCPSP with fixed costs, called salaries. They have a Java implementation of a genetic algorithm that solves the MSRCPSP with fixed costs.
They optimize total cost and makespan. They optimize total cost and makespan.
In their version of the MSRCPSP, one task has exactly one capability requirement, whereas our tasks can have multiple. In their version of the MSRCPSP, one task has exactly one capability requirement, whereas our tasks can have multiple.
One consequence of this is that their chromosomes always encode valid solutions, while our chromosomes might encode invalid solutions, where not all capability requirements can have a resource assigned. One consequence of this is that their chromosomes always encode valid solutions, while our chromosomes might encode invalid solutions, where not all capability requirements have a resource assigned.
We therefore had to add a measure of invalidity to our fitness function, that gives a negative score to solutions depending on the number of unassigned capability requirements. We therefore had to add a measure of invalidity to our fitness function, that gives a negative score to solutions depending on the number of unassigned capability requirements.
Furthermore, our work extends theirs with user-defined capability functions and resource affinity constraints. Furthermore, our work extends theirs with user-defined capability functions and resource affinity constraints.
The evolutionary algorithm we use is based on the implementation by \citet{Alexeev2014SimpleGeneticAlgorithm}. The evolutionary algorithm we use is based on the implementation in Haskell by \citet{Alexeev2014SimpleGeneticAlgorithm}.
We chose his implementation over others because we wanted our implementation to be in Clean, and his algorithm was small and simple, which made it easy to port and extend.
We extended his work in several ways to make it suitable for our needs.
We added support for invalid chromosomes, we preserve the best candidates in each generation, and we support additional parameters to the fitness function besides just the chromosome.
Instead of a single number, our fitness function returns a list of objectives, tagged as either less-is-better or more-is-better.
Finally, our genetic algorithm calculates the weighted product of the objectives of chromosomes in order to sort them.
\begin{itemize}[noitemsep] Some other work related to ours is as follows.
\item Support for invalid chromosomes \citet{DebAPM2000} have a genetic algorithm for solving multi-objective optimization problems.
\item Support for environment being passed to fitness function Their algorithm is used for example by \citet{MyszkowskiLNS2018}.
\item Elitist preservation We chose not to use their algorithm, because it depends on non-dominated sorting, which Deb himself describes as ineffective for more than a handful of objectives.
\item Fitness function returns a list of objectives, tagged as either less-is-better or more-is-better Our problem instances produce dozens of objectives, so we opted for a genetic algorithm that sorts solutions based the weighted product instead.
\item Support for weights in the objective list
\end{itemize}
\begin{itemize}[noitemsep] \begin{itemize}[noitemsep]
\item IMOPSE
\item simple-genetic-algorithm https://hackage.haskell.org/package/simple-genetic-algorithm https://github.com/afiskon/simple-genetic-algorithm
\item Deb, Kalyanmoy, et al. “A fast elitist non-dominated sorting genetic algorithm for multi-objective optimization: NSGA-II.” International Conference on Parallel Problem Solving From Nature. Springer Berlin Heidelberg, 2000
\item Bellenguez-Morineau and Neron \item Bellenguez-Morineau and Neron
\item Artigues Book \item Artigues Book
\item Almeida, Correia, Da-Gama \item Almeida, Correia, Da-Gama
......
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