Linear programming is a technique to minimize linear functions.

A linear programm (LP) consists of a objective function, which is minimized with respect to a set of linear inequalities. \\

The following definition is based on the book \citep{fischetti2019introduction}\\

A linear programm (LP) problem consists of an objective function that is minimized with respect to a set of linear inequalities. \\

\\

Linear programms can be expressed as

\[min\{c^Tx : Ax \geq b, x \geq0\}\]

$b \in\mathbb{R}^n$ and $c \in\mathbb{R}^n$ are constant vectors. $Ax \leq b$ denotes the inequalities which have to be respected. $A \in\mathbb{R}^{m \times n}$ is a matrix containing the coefficients of the $m$ inequalities. $c^Tx \in R$ is the objective function which is minimized.

$x \in\mathbb{R}$ is a vector describing possible solutions. If $x \in\mathbb{R}$ obeys all inequalities it is called a feasible solution. A solution $x^*$ is optimal if respects all inequalities and is minimal.

$b \in\mathbb{R}^n$ and $c \in\mathbb{R}^n$ are constant vectors. $Ax \leq b$ denotes the inequalities that have to be respected. $A \in\mathbb{R}^{m \times n}$ is a matrix containing the coefficients of the $m$ inequalities. $c^Tx \in R$ is the objective function that is minimized.

$x \in\mathbb{R}^n$ is a vector describing possible solutions. If $x \in\mathbb{R}^n$ obeys all inequalities it is called a feasible solution. A solution $x^*$ is optimal if it respects all inequalities and is minimal.

\\

\\

Integer linear programms (ILPs) are linear programms with the additional restriction that all variables have to be integers: $x \in\mathbb{Z}$.

The decision variant of an ILP is NP-complete.

\\

In this thesis we use a more readable notation which does not completely sticks to this definition. We write down the inequalities(and the objective function?) in a sum notation. (Maybe an example?) But it is possible to transform them into the matrix notation.

\\

The decision variant of an ILP is NP-complete. (necessary as this is common knowledge?)

\\

Decision problems(combinatorical optimisation problems?/ \textbf{Decisions}. Not Decision Problems) can be modelled with ILPs. Every variable $x_i \in\{0,1\}$ denotes a possible decision(To include or not?). In our case we assign a decision variable for each vertex to decide if it is included in a dominating set or not.

Each line $j$ of the vector inequality $Ax \geq b$ can be expressed as the sum $\sum_{i=1}^{n}{a_ix_i}\geq b_j$. The objective function can be expressed as $\sum_{i=1}^n{c_ix_i}$. In this thesis we use this notation as we perceive it as more readable.

\\

\\

(Maybe to "formal". Maybe introduce the used notation right away and try to find textbook or publication which also uses this notation to cite)

Combinatorical optimisation problems can be modelled with ILPs.(Many define what they are and explain that MCDS is one of these?) Every variable $x_i \in\{0,1\}$ denotes a possible decision to include item $i \in\{1,...,n\}$ in the solution. In our case we assign a decision variable for each vertex to decide if it is included in the dominating set or not.

Our Implementation is node based which means that we only use decison variables for nodes and not for edges.

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}:

As we try to minimize the number of vertices in the dominating set our ILP is given as:(Obvious/ useless phrase?) \\

\textit{objective target}:

\begin{equation}\label{obj}

min\{\sum_{v \in V}{x_v}\}

\end{equation}

\textbf{subject to:}

\textit{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.

The family of inequalities \eqref{base} is an ILP Version of the formal definition. It says that each vertex or at least one of its 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: \\

...

...

@@ -27,9 +27,9 @@ This family of inequalities is a serves to model the requierement that each vert

\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?)\\

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 papers it is mentioned that those separators define the connected subgraph polytope. Maybe mention as well?) 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. \\

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 allminimal v-w-separators. \\

The following family of inequalities taken from \citep{bomersbach} is used to enforce connectivity:

...

...

@@ -37,18 +37,48 @@ The following family of inequalities taken from \citep{bomersbach} is used to en

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. \\

This inequalities require 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. \\

In contrast to the problem from \citep{bomersbach} we have a predefined root node which must be part of the solution. So for our case it's sufficient to only use vertex separators that separate the connected component which includes the root node and the other connected components. In \citep{forrest} the authors introduced ILP-formulations for different problems motivated by forrest planning. One particular problem also had a predefined root node and demanded connectivity. They also used vertex separators to induce connectivity. For the particular problem they only used vertex separators that separate the root node from other components. As their tests showed and as our tests confirm this reduces the runtime.\\

\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. \\

\\

So in \citep{bomersbach}, \citep{fischetti_steiner_t} and \citep{forrest} 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(In our case connected components and the root-component?) are identified via the following algorithms

\begin{algorithm}[H]

\SetAlgoLined

$DS^* :=\{v | x_v =1\}$\\

$G' := G[DS]$\\

$C :=$ set of all disjunct connected components\\

$c_{root} :=$ connected component that contains $v_{root}$\\

\For{all components $c$ in $C \setminus\{c_{root}\}$}{

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. Algorithm 2 is the same linear time algorithm as used in \citep{bomersbach} for to identify minimal vertex separators.\\

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.

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. (Maybe mention that the "neighborhood" is always a minimum separator so this type of inequalities are valid)

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).

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?). Its ILP-Formulation consists of the 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).