\section{Implementation} \raggedbottom
\subsection{Softwarestack?}
\subsection{General?(better name)}
Our Implementation is node based which means that we only use decison variables for nodes and not for edges. 
So we assigne a variable $x_v \in \{0,1\}$ for every $v \in V$, whereas $x_v = 1 \Leftrightarrow v \in DS$.
(Maybe leaf classical dominating Set out?)
\subsection{Minumum Dominating Set}
As we try to minimize the number of vertices inside the Dominating Set our ILP is given as:(Obvious/ useless phrase?) \\
\textbf{objective target}: 
\begin{equation} \label{obj}
min\{\sum_{v \in V}{x_v}\}
\end{equation}
\textbf{subject to:}
\begin{equation} \label{base}
\sum_{w \in N(v)}{x_w} + x_v \geq 1, \forall v \in V
\end{equation}
The family of inequalitues \eqref{base} is an ILP Version of the formal definition. It says that each vertex or at least one of it's neighbors has to be included in the dominating set. 

\subsection{Minimum $k$-hop Dominating Set}
The objective target for this problem is the same as \eqref{base}. But the family of inequalities \eqref{base} is not valid for this case. Instead another famility of inequalities is valid: \\
\begin{equation} \label{khop}
\sum_{w \in N_k(v)}{x_w} \geq x_v, \forall v \in V
\end{equation}
This family of inequalities is a serves to model the requierement that each vertex or at least one member of the k-neighborhood has to be included in the dominating set.
(If classical dominating set is left out, maybe mention case k = 1)

\subsection{Connectivity}
To enforce connectivity(using ILP)there are different approaches. 
\subsubsection{Vertex separators}
On approach is to use so called vertex separators. In \citep{bomersbach} and \citep{fischetti_steiner_t} the authors used this approach to create ILP based algorithms to solve other graphtheoretical optimisation problems which require the solution to be connected. In both publications this approach showed to be very successful as their algorithms outperformed previous state of the art algorithms. (Maybe to general and too strong?) So it seemed reasonable to us to use it as well.(Unneccessary phrase?)\\
\\
Let $v,w \in V$. A v-w-separator(Maybe textit?/ Maybe other notation) is a subset $S_{v,w} \subset V$ such that $G[V-S_{v,w}]$ has no path between $v$ and $w$. A minimal v-w-separator $S_{{v,w}_{min}}$ is a v-w-separator where no vertex can be removed. If a vertex is removed it no longer separates $v$ and $w$. (Maybe sounds "too dumb"? Look into explanation of other papers.) Let $S(v,w)$ (Use different notation. This is misleading) denote the family of all(minimal?) v-w-separators. \\
The following family of inequalities taken from \citep{bomersbach} is used to enforce connectivity: 


\begin{equation} \label{sep}
x_v + x_w \leq \sum_{u \in S_{v,w}}{x_u} + 1, \forall v, w \in V, v \neq w, \forall S_{v,w} \in S(v,w)
\end{equation}

This inequalities requires that for each combination of two vertices $v$ and $w$ if both vertices included in the dominating set at least one vertex which separates them has also to be included. \\
\citep{bomersbach} states that as the number of vertex separators is potentially exponential this can create an exponential number of constraints(Previously always said inequalities. Might think about terminology again). Too many constraints would potentially overload the model(Maybe cite fischetti-steiner). This would increase the runtime as a lot of constranints had to be obeyed which may not be necessary to induce connectivity in the solution. 
So in \citep{bomersbach} and \citep{fischetti_steiner_t} they treated this constraints as lazy constraints which means that none of those constraints are included in the initial model. So iteratively integer solutions are resolved. If an integer solution is not connected minimal vertex separators which separate single components are identified via "algorithm bla"(\textbf{TODO}: Add algorithm, runtime and state that is taken from bomersbach). The constraints \eqref{sep} containing this separators are then added to the model and the iteration process continues until a connected integer solution is found. \\
\\
For the case that there is no optimal solution of size $1$ an additional constraint is added to tighten up the feasible region and to prevent unneccessary iterations. 
\begin{equation} \label{neigh}
x_v \leq \sum_{w \in N(v)} x_w, \forall v \in V
\end{equation}
This constraint demands that for each vertex which is part of the dominating set at least one of its neighbors is also included. In \citep{bomersbach} and \citep{fischetti_steiner_t} this constraint is also part of the model. 

\subsection{Minimum connected $k$-hop Dominating Set} \label{khopmodel}
A connected $k$-hop dominating set is a $k$-hop dominating set DS such that $G[DS]$ is connected.(Maybe refer to methods as this is redundant?). It's ILP-Formulation consists of the \textbf{objective target} \eqref{obj} and constraints \eqref{khop} and a collection of constraints to induce connectivity(In the future different types of potential constraints should be added). 

\subsection{Minimum rooted connected $k$-hop Dominating Set}
Let $v_{root} \in V$ be the predefined root.The ILP-Model of this problem is the ILP-Model of \ref{khopmodel} enriched with following constraint. 
\begin{equation} \label{root}
x_{v_{root}} \geq 1
\end{equation}