Commit ce6d7241 authored by msurl's avatar msurl
Browse files

edited thesis

parent 94bccffc
......@@ -80,9 +80,11 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\input{introduction}
\input{definitions}
\input{ilp}
\input{implementation}
\input{preliminaries}
\input{methods}
%\input{definitions}
%\input{ilp}
%\input{implementation}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% ENDE TEXTTEIL %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
......
\section{Model}
\textbf{Dominating Set}: A dominating Set for Graph $G = (V, E)$ is a Subset $D \subseteq V$ such that for every vertex $v \in V$ the vertex itself or at least one vertex $w \in N(v)$ is included in $D$.
\ No newline at end of file
\section{Methods} \raggedbottom
We represent a leaf as a undirected Graph $G = (V,E)$. Each vertex $v$ represents a leaf cell whereas a root $v_{root}$ is predefined. Leaf cells are connected to its neighbors cells via plasmodesmata. Those connections are represented by the edges $E$. We then look for a minimum set of nodes such that still the whole leaf can be supplied with water and the nutrients can be evacuated. For this purpose these vein cells need to be connected and the root cell needs to be part of the solution. (Vielleicht an dieser Stelle schon auf DS referenzieren)\\
(Irgendwie unterbringen, dass die non-vein-Zellen nicht direkt mit den vein-Zellen benachbart sein müssen.)
\\
We use an node based ILP-Formulation to solve this special variant of the dominating set. We start by introducing a formulation for the general $k$-hop dominating set. As the objective function for our special variant remains the same, we then stepwise add constraints until we can present an ILP-formulation for the rooted connected $k$-hop dominating set.\\
As our implementation is node based we ommit decision variables for edges, and instead only assign a variable $x_v \in \{0,1\}$ for every $v \in V$, whereas $x_v = 1 \Leftrightarrow v \in DS$.
\subsection{Minimum Dominating Set}
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}
\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 inequalities \eqref{base} 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{obj}. 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 serves to model the requirement that each vertex or at least one member of the k-neighborhood has to be included in the dominating set. For the case $k = 1$ this family is the same as \eqref{base}.
\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 graph theoretical optimization problems which require the solution to be connected. \citep{bomersbach} presented an ILP-formulation to solve the connected maximum coverage problem and \citep{fischetti_steiner_t} proposed ILP-formulations for different variants of the steiner tree problem.
(that was solved in a branch and cut framework?).
As \citep{bomersbach} refers to \citep{fischetti_steiner_t} in terms of the connectivity constraints, both ILP-formulations use the same constraints to enforce connectivity.
The tests of \citep{bomersbach} compared the runtime of this implementation to previous proposed exact algorithms and to greedy approaches for the connected maximum coverage problem. In all test cases this implementation was significantly faster than all other exact algorithms. While in some cases the greedy algorithm was slightly faster, the proposed algorithm was more accurate.
The algorithm from \citep{fischetti_steiner_t} significantly improved the runtime of an exact solver for all the different steiner tree problem variants and their proposed implementation won most of the different categories of the 11th DIMACS challenge on steiner trees.
\\
Let $v,w \in V$. A $v$-$w$-separator 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 any vertex $y$ is removed $S_{{v,w}_{min}} \setminus \{y\}$ it no longer separates $v$ and $w$. Let $S(v,w)$ (Use different notation. This is misleading) denote the family of all minimal $v$-$w$-separators. \\
In \citep{bomersbach} and \cite{fischetti_steiner_t} the following family of inequalities 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 require that for each combination of two vertices $v$ and $w$, if both vertices included in the dominating set, at least one vertex from a minimum $v$-$w$-separator, 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. In \citep{forest} the authors introduced ILP-formulations for different problems motivated by forest planning. The objective of this problems is to find a profit maximizing harvest schedule, while old-growth-forest patches have to be conserved. Input instances are given as undirected graphs, with areas of the forest as nodes and edges between adjacent areas. There is one particular case where a predefined area is to be preserved plus all preserved areas need to be connected. This is very similar to our problem i.e. that there is a predefined root vertex and the requirement that all those vertices, which are included in the solution, need to be connected. Also minimum vertex separator constraints were used to enforce connectivity, but if a root node was present only those constraints which separate the connected component, that includes the root node, and all the other components were taken into account. The authors state that rooted inequalities are stronger as this was commonly noted in the literature on steiner tree problems. For our case we also only use constraints
\begin{equation} \label{rootSep}
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,r)
\end{equation}
for minimum vertex separators that include the root node.
Including all minimum vertex seperator constraints creates an exponential number of constraints \citep{bomersbach}. Therefore in \citep{bomersbach}, \citep{fischetti_steiner_t} and \citep{forest} they treated this constraints as lazy constraints, which means in particular that none of those constraints are included in the initial model. Instead iteratively integer solutions are resolved \citep{bomersbach}, \citep{fischetti_steiner_t}. If such a solution is not connected, in \citep{bomersbach} and \citep{fischetti_steiner_t} minimal vertex separators that separate single components are identified via a linear time algorithm, while in \citep{forrest} a classical max-flow min-cut theorem is used to identify violated constraints.\\
Our algorithm to identify and add violated constraints is analogous the one from \citep{bomersbach} with the exception that we only search for constraints including the root node.
---------------------------------------------------------------------------------------------\\
Everything below this line hasn't been changed yet!
\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}\}$} {
$v := $ any node from $c$\\
$s_1 := $ findMinVertexSeparator($G$, $DS^*$, $v \in c$, $v_{root}$, $c_{root}$)\\
$s_2 :=$ findMinVertexSeparator($G$, $DS^*$, $v_{root}$, $v \in c$))\\
\For{all $w_1 \in c$} {
add the following constraint to the model: $\sum_{s \in s_1}{x_s} \geq x_{w_1} + x_{v_{root}} - 1$\\
}
\For{all $w_2 \in c_{root}$} {
add the following constraint to the model: $\sum_{s \in s_2}{x_s} \geq x_{w_2} + x_{v} -1 $
}
}
\caption{Add violated constraints}
\end{algorithm}
\begin{algorithm}[H] \label{minSep}
\SetAlgoLined
$N(c_v) := $ neighbors of nodes of $c_w$ in $G$ (Maybe use the formal definition from methods?)\\
$G' := G$ with all edges between vertices in $c_v \cup N(c_v)$ removed\\
$R_w := $ vertices that can be reached from $w$ in $G'$\\
\Return $N(c_v) \cap R_w$
\caption{findMinVertexSeparator($G$, $DS^*$, $v \in c_v$, $w$, $c_v$)}
\end{algorithm}
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 unnecessary 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. (Maybe mention that the "neighborhood" is always a minimum separator so this type of inequalities are valid)
\subsubsection{Miller-Tucker-Zemlin Constraints}
\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?). 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).
\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}
\ No newline at end of file
\section{Preliminaries}\raggedbottom
\subsection{Linear Programming}
Linear programming is a technique to minimize linear functions.
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 \geq 0\}\]
where $b \in \mathbb{R}^n$ and $c \in \mathbb{R}^n$ are constant vectors. The matrix $A \in \mathbb{R}^{m \times n}$ contains the coefficients of the $m$ inequalities. The objective function $c^Tx \in R$ is to be minimized. The vector inequality $Ax \geq b$ has to be valid for a solution.
The vector $x \in \mathbb{R}^n$ describes 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}^n$.
The decision variant of an ILP is NP-complete.\citep{ilp_np}
\\
Each line $j$ of $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.
\\
Combinatorical optimisation problems can be modelled with ILPs. Every variable $x_i \in \{0,1\}$ denotes a possible decision to include item $i \in \{1,...,n\}$ in the solution.
\subsection{Definitions}
\begin{definition}[Neighborhood]
Given an undirected Graph $G = (V,E)$. Let $N(v)$ denote the neighborhood of a vertex $v$. $N(v)$ can formally be described as follows: \[w \in N(v) \Leftrightarrow \exists (v,w) \in E\]
\end{definition}
(Maybe leaf base case out as the s.t. part is different from k-hop version. So after introducing in the implementation part it would be replaced.)
\begin{definition}[Dominating Set]
Given an undirected Graph $G = (V,E)$ a Dominating Set is a subset $DS \subset V$ such that each vertex $v \in V$ is either included in the Dominating Set or adjacent to at least one vertex which is included in the Dominating Set. So a for a Dominating Set $DS$ the following statement is valid
\[\forall v \in V \setminus DS: \exists u \in DS, u \in N(v)\]
\end{definition}
\begin{definition}[k-Neighborhood]
The neighborhood of a single vertex $N(v)$ is defined above. Let the neighborhood of a set of vertices $W \subset V$ be defined as follows:
\[N(W) := \bigcup_{u \in W} N(u)\]
Let $k \in \mathbb{N}$.
With help of this definition the k-neighborhood $N_k(v)$ of a single vertex $v \in V$ can recursively be defined as:
\[N_k(v) := N(N_{k-1}(v)) \setminus v\]
whereas $N_1(v) = N(v)$. So $N_k(v)$ is a set of all vertices which can be reached with at most $k$ steps starting from $v$.
\end{definition}
\begin{definition}[k-hop Dominating Set]
A $k$-hop Dominating Set is a subset $DS \subset V$ such that for each vertex $v \in V \setminus DS$ there exists a path of length $l \leq k$ between $v$ and at least one vertex $d \in DS$. So $DS$ is a $k$-hop dominating set if it fulfills the following requirement:
\[\forall v \in V \setminus DS: \exists u \in DS, u \in N_k(v)\]
\end{definition}
\begin{definition}[connected k-hop Dominating Set]
A $k$-hop Dominating Set $DS$ is a connected $k$-hop Dominating Set if the induced subgraph $G[DS]$ is connected.
\end{definition}
\begin{definition}[rooted connected k-hop Dominating Set]
Let $v_{root} \in V$ be a predefined vertex.
A rooted connected $k$-hop Dominating Set DS is as connected $k$-hop Dominating Set which also includes $v_{root}$.
\end{definition}
\pagebreak
......@@ -92,3 +92,24 @@ volume = {27},
journal = {INFORMS Journal on Computing},
doi = {10.1287/ijoc.2014.0619}
}
@book{ilp_np,
author = {Garey, Michael R. and Johnson, David S.},
title = {Computers and Intractability; A Guide to the Theory of NP-Completeness},
year = {1990},
isbn = {0716710455},
publisher = {W. H. Freeman and Co.},
address = {USA}
}
@InProceedings{mtz,
author="Fan, Neng
and Watson, Jean-Paul",
editor="Lin, Guohui",
title="Solving the Connected Dominating Set Problem and Power Dominating Set Problem by Integer Programming",
booktitle="Combinatorial Optimization and Applications",
year="2012",
publisher="Springer Berlin Heidelberg",
address="Berlin, Heidelberg",
pages="371--383",
abstract="In this paper, we propose several integer programming approaches with a polynomial number of constraints to formulate and solve the minimum connected dominating set problem. Further, we consider both the power dominating set problem -- a special dominating set problem for sensor placement in power systems -- and its connected version. We propose formulations and algorithms to solve these integer programs, and report results for several power system graphs.",
isbn="978-3-642-31770-5"
}
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