Covering a tree with rooted subtrees
Lin Chen, Daniel Marx

TL;DR
This paper studies a complex tree covering problem related to multiple traveling salesmen, proves its NP-hardness even under restrictions, and introduces an FPT algorithm based on a novel ILP structure.
Contribution
It establishes the NP-hardness of the problem under certain constraints and develops an FPT algorithm using a new tree-fold ILP framework.
Findings
Problem remains NP-hard with constant tree height and edge weights.
Introduces a fixed-parameter tractable algorithm for the problem.
Extends the FPT results for n-fold integer programming to tree-fold structures.
Abstract
We consider the multiple traveling salesman problem on a weighted tree. In this problem there are salesmen located at the root initially. Each of them will visit a subset of vertices and return to the root. The goal is to assign a tour to every salesman such that every vertex is visited and the longest tour among all salesmen is minimized. The problem is equivalent to the subtree cover problem, in which we cover a tree with rooted subtrees such that the weight of the maximum weighted subtree is minimized. The classical machine scheduling problem can be viewed as a special case of our problem when the given tree is a star. We observe that, the problem remains NP-hard even if tree height and edge weight are constant, and present an FPT algorithm for this problem parameterized by the largest tour length. To achieve the FPT algorithm, we show a more general result. We prove that,…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsScheduling and Optimization Algorithms · Advanced Graph Theory Research · Scheduling and Timetabling Solutions
Covering a tree with rooted subtrees
Lin Chen Department of Computer Science, University of Houston. Email: [email protected].
Daniel Marx Institute for Computer Science and Control, Hungarian Academy of Sciences (MTA SZTAKI). Email: [email protected].
Abstract
We consider the multiple traveling salesman problem on a weighted tree. In this problem there are salesmen located at the root initially. Each of them will visit a subset of vertices and return to the root. The goal is to assign a tour to every salesman such that every vertex is visited and the longest tour among all salesmen is minimized. The problem is equivalent to the subtree cover problem, in which we cover a tree with rooted subtrees such that the weight of the maximum weighted subtree is minimized. The classical machine scheduling problem can be viewed as a special case of our problem when the given tree is a star. We observe that, the problem remains NP-hard even if tree height and edge weight are constant, and present an FPT algorithm for this problem parameterized by the largest tour length. To achieve the FPT algorithm, we show a more general result. We prove that, integer linear programming that has a tree-fold structure is in FPT, which extends the FPT result for the -fold integer programming by Hemmecke, Onn and Romanchuk [4].
Keywords: Fixed Parameter Tractable; Integer Programming; Scheduling
1 Introduction
We consider the multiple traveling salesmen problem on a given tree . In this problem there is a root where all the salesmen are initially located. There is a weight associated with each edge , which is the time consumed by a salesman if he passes this edge. Each salesman starts at , travels a subset of the vertices and returns to . The goal is to determine the tours traveled by each salesman such that every vertex is visited by some salesman, and the makespan, i.e., the time when the last salesman returns to , is minimized.
We observe that the tour of every salesman is actually a subtree rooted at , and the total traveling time of each salesman is exactly twice the total weight of edges in the subtree. Therefore the problem is equivalent as the minmax subtree cover problem, where we aim to find subtrees for such that , and is minimized, where . We call as the weight of the subtree and the makespan.
The subtree cover problem is a fundamental problem in computer science and has received many studies in the literature. Indeed, when the given graph is a star, the problem is equivalent to the identical machine scheduling problem , where the goal is to assign a set of jobs of processing times onto identical parallel machines such the largest load among machines is minimized. We may view each job as an edge of weight in a star graph, whereas falls exactly into the problem of covering a star with stars. In 2013, Mnich and Wiese [14] provided an FPT (fixed parameter tractable) algorithm parameterized by the largest job processing time .
The problem becomes much more complicated when the given graph is a tree. There exist some approximation algorithms for the problme, e.g., Xu et al. [17] showed that there exists an FPTAS when the number of subtrees, , is a constant. However, we are not aware of a paramerized algorithm for this problem.
Our contribution. Our main contribution is to show that the subtree cover problem admits a fixed parameter tractable (FPT) algorithm (parameterized by the makespan). More precisely, we prove the following theorem.
Theorem 1**.**
For some computable function , there exists an FPT algorithm of running time for determining whether there exists a feasible solution for the subtree cover problem of makespan .
We remark that, despite the fact that the special case of covering a star admits an FPT algorithm parameterized by the largest edge weight, we show in this paper that the subtree cover problem remains NP-hard even if the tree is of height 2 and every edge has a unit weight. Therefore, we restrict our attention to the larger parameter .
Indeed, our FPT algorithm relies on an FPT algorithm for a more general integer programming problem, which extends the existing FPT algorithm for the -fold integer programming [4]. We consider the following integer programming:
[TABLE]
In the -fold integer programming, the matrix consists of small matrices and as follows (Here is an -matrix and is an -matrix).
[TABLE]
More precisely, the matrix consists of one row of and a submatrix with being at the main diagonal. We remark that throughout this paper [math]s that appear in a matrix refer to a submatrix consisting of the natural number [math].
The -fold integer programming has received many studies in the literature. Indeed, the natural ILP formulation of the scheduling and bin packing problem falls into an -fold integer programming, as is observed by Knop and Koutecký [11]. In 2013, Hemmecke, Onn and Romanchuk presented an FPT algorithm for -fold integer programming with the running time of where is some computable function, is the largest absolute value among all entries of and is the encoding length of the problem. This algorithm implies an FPT algorithm parameterized by the largest job processing time for and many other scheduling problems [11]. We further extend their result by considering a broader class of integer programming, namely tree-fold integer programming as we describe as follows.
The structure of an -fold matrix could be viewed as a star with the root representing the row of and each leaf representing one of the rows . More precisely, we can view each row as a vertex such that vertex is a parent of vertex if row dominates row , where by saying row dominates row , we mean row is more ”sparse” than row as a vector, i.e., if the -th coordinate of row is non-zero, then the -th coordinate of row is also non-zero. Using this interpretation, we can generalize an -fold matrix to a tree-fold matrix. The following is an example.
[TABLE]
A tree-representation of the matrix above is:
In general, a tree-fold matrix consists of copies of small matrices , , , with being an -matrix. Every row consists of [math]’s and some ’s in the form of (i.e., appears consecutively). Every column consists of [math]’s and exactly one copy of each . Furthermore, if we call a row containing as an -row, then any -row is dominated by some -row, that is, if at a certain row appears consecutively from column to column , then there exists some -row such that appears consecutively from to such that . Representing the matrix as a tree, every row is represented as a vertex and the vertex corresponding to each -row will be the parent of the vertex corresponding to -row it dominates.
To facilitate the analysis, we further require that the -row contains no [math] and every -row contains exactly one copy of , that is, all rows containing form a sub-matrix with being at the diagonal. Note that this assumption causes no loss of generality: If it is not the case, we can always add a set of dummy constraints: 0\cdot{\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}=0, whereas and become a -dummy matrix consisting of [math].
We define ILP (1) with being a tree-fold matrix as a tree-fold integer programming and establish the following FPT result.
Theorem 2**.**
For some computable function , there exists an FPT algorithm of running time for a tree-fold integer programming, where is the largest absolute value among all entries of , and is the length of the binary encoding of the vector ({\mathchoice{\mbox{\boldmath\displaystyle\bf c}}{\mbox{\boldmath\textstyle\bf c}}{\mbox{\boldmath\scriptstyle\bf c}}{\mbox{\boldmath\scriptscriptstyle\bf c}}},{\mathchoice{\mbox{\boldmath\displaystyle\bf b}}{\mbox{\boldmath\textstyle\bf b}}{\mbox{\boldmath\scriptstyle\bf b}}{\mbox{\boldmath\scriptscriptstyle\bf b}}},{\mathchoice{\mbox{\boldmath\displaystyle\bf l}}{\mbox{\boldmath\textstyle\bf l}}{\mbox{\boldmath\scriptstyle\bf l}}{\mbox{\boldmath\scriptscriptstyle\bf l}}},{\mathchoice{\mbox{\boldmath\displaystyle\bf u}}{\mbox{\boldmath\textstyle\bf u}}{\mbox{\boldmath\scriptstyle\bf u}}{\mbox{\boldmath\scriptscriptstyle\bf u}}}).
Note that , thus the FPT term only depends on the small matrices and does not rely on the structure of . We also remark that, by introducing slack variables for inequalities, our theorem also holds for the integer programming: \min\{{\mathchoice{\mbox{\boldmath\displaystyle\bf c}}{\mbox{\boldmath\textstyle\bf c}}{\mbox{\boldmath\scriptstyle\bf c}}{\mbox{\boldmath\scriptscriptstyle\bf c}}}^{T}{\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}:A{\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}\leq{\mathchoice{\mbox{\boldmath\displaystyle\bf b}}{\mbox{\boldmath\textstyle\bf b}}{\mbox{\boldmath\scriptstyle\bf b}}{\mbox{\boldmath\scriptscriptstyle\bf b}}},{\mathchoice{\mbox{\boldmath\displaystyle\bf l}}{\mbox{\boldmath\textstyle\bf l}}{\mbox{\boldmath\scriptstyle\bf l}}{\mbox{\boldmath\scriptscriptstyle\bf l}}}\leq{\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}\leq{\mathchoice{\mbox{\boldmath\displaystyle\bf u}}{\mbox{\boldmath\textstyle\bf u}}{\mbox{\boldmath\scriptstyle\bf u}}{\mbox{\boldmath\scriptscriptstyle\bf u}}},{\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}\in\mathbb{Z}^{nt}\}.
Related work. As we have mentioned, the problem of covering a star with stars is exactly the identical machine scheduling problem . Approximation schemes are studied in a series of prior papers, see, e.g., [1, 16, 6, 9, 10]. In terms of FPT algorithms, Mnich and Wiese [14] showed that is FPT parameterized by the largest job processing time (edge weight). Very recently, Knop and Koutecký [11] observes the relationship between the scheduling problem and -fold integer programming in terms of FPT algorithms. Indeed, they show that a variety of scheduling problems, including , could be formulated as an -fold integer programming. Applying the FPT algorithm for -fold integer programming by Hemmecke, Onn and Romanchuk [4], an FPT algorithm for follows. It is worth mentioning that parameterized studies for integer programming that has a sparse structure have received much attention in the literature, e.g., [8, 12].
Covering a tree with subtrees is much more complicated. In 2013, Xu et al. [17] showed that if the number of subtrees, , is a constant, then the problem admits a pseudo-polynomial time exact algorithm and an FPTAS. We are not aware of FPT algorithms for this problem.
2 The FPT algorithm
In this section, we show that the subtree cover problem is FPT parameterized by the makespan. Towards this, we formulate the problem as an ILP. We observe that the ILP we establish has a special structure, which generalizes the -fold integer programming studied in the literature. We call it as a tree-fold integer programming. Indeed, when the input tree is a star, the tree-fold integer program we formulate becomes an -fold integer program. We extend the FPT algorithm for the -fold integer programming to derive an FPT algorithm for the tree-fold integer programming, which implies an FPT algorithm for the subtree cover problem. This result may be of separate interest.
Recall that when the given graph is a star, the subtree cover problem becomes FPT parameterized by the largest edge weight [14]. However, this is no longer true even if the given graph is a tree of height , as is implied by the following theorem.
Theorem 3**.**
The subtree cover problem remains NP-hard even if the given tree is of height and every edge has unit weight.
The above hardness result excludes FPT algorithms parameterized by edge weight and tree height, and therefore we restrict our attention to makespan. We will first show that a tree-fold integer programming can be solved in FPT time. Then we establish a configuration ILP for the subtree cover problem and prove that the ILP falls exactly into the category of tree-fold integer programming, and is thus solvable in FPT time.
2.1 Tree-fold integer programming
The goal of this and next subsection is to prove Theorem 2. Towards this, we first introduce some basic concepts and techniques which are crucial for our proof. Here we only give a very brief introduction and the reader may refer to Appendix A.2 for details.
We consider the following integer programming with being a tree-fold matrix consisting of copies of -matrix , where .
[TABLE]
Any vector {\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}\in\mathbb{Z}^{nt} can be written into ”bricks” in the form of ({\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}^{1},{\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}^{2},\cdots,{\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}^{n}) where {\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}^{i}\in\mathbb{Z}^{t}. Using the standard technique, we can prove that if we have an algorithm for a tree-fold ILP such that given a feasible initial solution, it can augment it into an optimal solution, then by using this algorithm as a subroutine we can also solve the tree-fold ILP without knowing the initial solution (see Appendix A.5). Therefore, it suffices to focus on the ”augmenting” algorithm. It is easy to see that all the vectors that can be used to augment a feasible solution to {\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}+{\mathchoice{\mbox{\boldmath\displaystyle\bf q}}{\mbox{\boldmath\textstyle\bf q}}{\mbox{\boldmath\scriptstyle\bf q}}{\mbox{\boldmath\scriptscriptstyle\bf q}}} should satisfy that A{\mathchoice{\mbox{\boldmath\displaystyle\bf q}}{\mbox{\boldmath\textstyle\bf q}}{\mbox{\boldmath\scriptstyle\bf q}}{\mbox{\boldmath\scriptscriptstyle\bf q}}}=0. It is shown by Graver [3] that instead of considering all the {\mathchoice{\mbox{\boldmath\displaystyle\bf q}}{\mbox{\boldmath\textstyle\bf q}}{\mbox{\boldmath\scriptstyle\bf q}}{\mbox{\boldmath\scriptscriptstyle\bf q}}}\in Ker(A), it suffices to consider a subset , which is called Graver basis. Hemmecke, Onn and Weismantel [5] proved that, starting from an arbitrary feasible solution {\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}_{0}, the optimal solution {\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}^{*} could be achieved by iteratively applying the best augmentation via Graver basis, i.e., augmenting by using the best possible augmentation vector of the form \gamma{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}, where and {\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}\in\mathcal{G}(A). The total number of augmentation steps needed is bounded by , where is the length of the binary encoding of the vector ({\mathchoice{\mbox{\boldmath\displaystyle\bf c}}{\mbox{\boldmath\textstyle\bf c}}{\mbox{\boldmath\scriptstyle\bf c}}{\mbox{\boldmath\scriptscriptstyle\bf c}}},{\mathchoice{\mbox{\boldmath\displaystyle\bf b}}{\mbox{\boldmath\textstyle\bf b}}{\mbox{\boldmath\scriptstyle\bf b}}{\mbox{\boldmath\scriptscriptstyle\bf b}}},{\mathchoice{\mbox{\boldmath\displaystyle\bf l}}{\mbox{\boldmath\textstyle\bf l}}{\mbox{\boldmath\scriptstyle\bf l}}{\mbox{\boldmath\scriptscriptstyle\bf l}}},{\mathchoice{\mbox{\boldmath\displaystyle\bf u}}{\mbox{\boldmath\textstyle\bf u}}{\mbox{\boldmath\scriptstyle\bf u}}{\mbox{\boldmath\scriptscriptstyle\bf u}}})111It should be noted that the best augmentation via Graver basis needs not be the best augmentation (i.e., there may exist such that {\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}+{\mathchoice{\mbox{\boldmath\displaystyle\bf q}}{\mbox{\boldmath\textstyle\bf q}}{\mbox{\boldmath\scriptstyle\bf q}}{\mbox{\boldmath\scriptscriptstyle\bf q}}} is better than any {\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}+\gamma{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}.. This statement remains true if, instead of choosing the best possible augmentation vector of the form \gamma{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}, say, \gamma^{*}{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}^{*}, we choose an augmentation vector which is at least as good as \gamma^{*}{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}^{*} in every augmentation step. That is, if in each augmentation step we choose an augmentation vector such that {\mathchoice{\mbox{\boldmath\displaystyle\bf c}}{\mbox{\boldmath\textstyle\bf c}}{\mbox{\boldmath\scriptstyle\bf c}}{\mbox{\boldmath\scriptscriptstyle\bf c}}}^{T}{\mathchoice{\mbox{\boldmath\displaystyle\bf q}}{\mbox{\boldmath\textstyle\bf q}}{\mbox{\boldmath\scriptstyle\bf q}}{\mbox{\boldmath\scriptscriptstyle\bf q}}}\leq\gamma^{*}{\mathchoice{\mbox{\boldmath\displaystyle\bf c}}{\mbox{\boldmath\textstyle\bf c}}{\mbox{\boldmath\scriptstyle\bf c}}{\mbox{\boldmath\scriptscriptstyle\bf c}}}^{T}{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}^{*}, then the optimal solution {\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}^{*} could also be achieved after augmentation vectors [4, 2]. Notice that does not necessarily belong to . Such an augmentation is called a Graver-best augmentation and such greedy algorithm is called Graver-best augmentation algorithm.
As we have described above, the problem of solving a tree-fold integer programming reduces to the problem that, given a feasible solution, finding an augmentation vector that is at least as good as the best augmentation via Graver basis. Towards this, it is crucial to understand the structure of the Graver basis for . The following lemma provides such structural information and is crucial to our algorithm.
Lemma 1**.**
Let . There exists some integer that only depends on matrices , , , and
[TABLE]
such that for any {\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}=({\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}^{1},{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}^{2},\cdots,{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}^{n})\in\mathcal{G}(A) we have \sum_{i\in I}{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}^{i}\in H(A) for any .
Here means is a tree-fold matrix consisting of , , . Roughly speaking, Lemma 1 states that for any Graver basis element of the matrix , although it is of a very high dimension, it is sparse, i.e., among the bricks {\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}^{1},{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}^{2},\cdots,{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}^{n}, only an “FPT” number of them can be nonzero. This lemma extends the structural lemma for -fold integer programming in [4], which can be viewed as the case when . The proof of Lemma 1 is involved and is deferred to Appendix A.3.
2.2 Dynamic programming in FPT time
We provide a dynamic programming algorithm running in FPT algorithm for the tree-fold integer programming, and Theorem 2 follows. Towards this, we let and be defined as in Lemma 1.
Given a feasible solution of the integer programming (2), let , {\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}^{*}\in\mathcal{G}(A) satisfy that \gamma^{*}{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}^{*} is the best augmentation among Graver basis, i.e., the best possible augmentation vector of the form \gamma{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}} where and {\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}\in\mathcal{G}(A). The following lemma from [4] allows us to guess in time:
Lemma 2** ([4]).**
In time we can compute a set of integers such that and .
The proof in [4] is for the case when , however, it works directly for the general tree-fold matrices. For the completeness of the paper we give the proof in Appendix A.4.
In the following we give a dynamic programming algorithm such that given a feasible solution and any , it finds out {\mathchoice{\mbox{\boldmath\displaystyle\bf h}}{\mbox{\boldmath\textstyle\bf h}}{\mbox{\boldmath\scriptstyle\bf h}}{\mbox{\boldmath\scriptscriptstyle\bf h}}}_{\gamma}\in H(A) that minimizes {\mathchoice{\mbox{\boldmath\displaystyle\bf c}}{\mbox{\boldmath\textstyle\bf c}}{\mbox{\boldmath\scriptstyle\bf c}}{\mbox{\boldmath\scriptscriptstyle\bf c}}}^{T}({\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}+\gamma{\mathchoice{\mbox{\boldmath\displaystyle\bf h}}{\mbox{\boldmath\textstyle\bf h}}{\mbox{\boldmath\scriptstyle\bf h}}{\mbox{\boldmath\scriptscriptstyle\bf h}}}_{\gamma}), or equivalently, minimizes {\mathchoice{\mbox{\boldmath\displaystyle\bf c}}{\mbox{\boldmath\textstyle\bf c}}{\mbox{\boldmath\scriptstyle\bf c}}{\mbox{\boldmath\scriptscriptstyle\bf c}}}^{T}{\mathchoice{\mbox{\boldmath\displaystyle\bf h}}{\mbox{\boldmath\textstyle\bf h}}{\mbox{\boldmath\scriptstyle\bf h}}{\mbox{\boldmath\scriptscriptstyle\bf h}}}_{\gamma} subject to the constraints that {\mathchoice{\mbox{\boldmath\displaystyle\bf l}}{\mbox{\boldmath\textstyle\bf l}}{\mbox{\boldmath\scriptstyle\bf l}}{\mbox{\boldmath\scriptscriptstyle\bf l}}}^{i}\leq{\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}^{i}+\gamma{\mathchoice{\mbox{\boldmath\displaystyle\bf h}}{\mbox{\boldmath\textstyle\bf h}}{\mbox{\boldmath\scriptstyle\bf h}}{\mbox{\boldmath\scriptscriptstyle\bf h}}}_{\gamma}^{i}\leq{\mathchoice{\mbox{\boldmath\displaystyle\bf u}}{\mbox{\boldmath\textstyle\bf u}}{\mbox{\boldmath\scriptstyle\bf u}}{\mbox{\boldmath\scriptscriptstyle\bf u}}}^{i} and A{\mathchoice{\mbox{\boldmath\displaystyle\bf h}}{\mbox{\boldmath\textstyle\bf h}}{\mbox{\boldmath\scriptstyle\bf h}}{\mbox{\boldmath\scriptscriptstyle\bf h}}}_{\gamma}=0. With such an algorithm, we can run it for every and pick such that {\mathchoice{\mbox{\boldmath\displaystyle\bf c}}{\mbox{\boldmath\textstyle\bf c}}{\mbox{\boldmath\scriptstyle\bf c}}{\mbox{\boldmath\scriptscriptstyle\bf c}}}^{T}({\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}+\gamma^{\prime}{\mathchoice{\mbox{\boldmath\displaystyle\bf h}}{\mbox{\boldmath\textstyle\bf h}}{\mbox{\boldmath\scriptstyle\bf h}}{\mbox{\boldmath\scriptscriptstyle\bf h}}}_{\gamma^{\prime}}) is minimal. By the definition of , \gamma^{\prime}{\mathchoice{\mbox{\boldmath\displaystyle\bf h}}{\mbox{\boldmath\textstyle\bf h}}{\mbox{\boldmath\scriptstyle\bf h}}{\mbox{\boldmath\scriptscriptstyle\bf h}}}_{\gamma^{\prime}} is at least as good as the best augmentation via Graver basis and is thus the Graver-best augmentation that we desire.
The dynamic programming works in stages where in each stage it solves a subproblem. To define the subproblem, we define a matrix as follows. Consider any small matrix and all the rows in that contain . Suppose appears consecutively in these rows from column to column , from column to column , , from column to column . We define where each row of is the summation of some rows in . More precisely, contains the same number of rows as . If in the -th row of some small matrix appears consecutively from column to column , then in the -th row of the small matrix appears consecutively from to , that is, we construct by extending the sequence of in each row of to column . It is obvious that A{\mathchoice{\mbox{\boldmath\displaystyle\bf h}}{\mbox{\boldmath\textstyle\bf h}}{\mbox{\boldmath\scriptstyle\bf h}}{\mbox{\boldmath\scriptscriptstyle\bf h}}}=0 if and only if \bar{A}{\mathchoice{\mbox{\boldmath\displaystyle\bf h}}{\mbox{\boldmath\textstyle\bf h}}{\mbox{\boldmath\scriptstyle\bf h}}{\mbox{\boldmath\scriptscriptstyle\bf h}}}=0.
Let be all the rows in . Let be the set of rows where only the first columns are non-zero. Obviously . Let H_{max}=\max_{{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}\in\mathcal{G}(A)}||{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}||_{1} and . According to Lemma 1, , and hence for any , is only dependent on the submatrices . We define subproblem- as follows:
For every where , find some \bar{{\mathchoice{\mbox{\boldmath\displaystyle\bf h}}{\mbox{\boldmath\textstyle\bf h}}{\mbox{\boldmath\scriptstyle\bf h}}{\mbox{\boldmath\scriptscriptstyle\bf h}}}}_{\gamma} such that
- •
\bar{{\mathchoice{\mbox{\boldmath\displaystyle\bf h}}{\mbox{\boldmath\textstyle\bf h}}{\mbox{\boldmath\scriptstyle\bf h}}{\mbox{\boldmath\scriptscriptstyle\bf h}}}}_{\gamma}^{i}=0 for , that is, only the first bricks can be non-zero.
- •
\bar{{\mathchoice{\mbox{\boldmath\displaystyle\bf h}}{\mbox{\boldmath\textstyle\bf h}}{\mbox{\boldmath\scriptstyle\bf h}}{\mbox{\boldmath\scriptscriptstyle\bf h}}}}_{\gamma}\in H(A).
- •
{\mathchoice{\mbox{\boldmath\displaystyle\bf l}}{\mbox{\boldmath\textstyle\bf l}}{\mbox{\boldmath\scriptstyle\bf l}}{\mbox{\boldmath\scriptscriptstyle\bf l}}}^{i}\leq{\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}^{i}+\gamma\bar{{\mathchoice{\mbox{\boldmath\displaystyle\bf h}}{\mbox{\boldmath\textstyle\bf h}}{\mbox{\boldmath\scriptstyle\bf h}}{\mbox{\boldmath\scriptscriptstyle\bf h}}}}_{\gamma}^{i}\leq\mathchoice{\mbox{\boldmath\displaystyle\bf u}}{\mbox{\boldmath\textstyle\bf u}}{\mbox{\boldmath\scriptstyle\bf u}}{\mbox{\boldmath\scriptscriptstyle\bf u}}^{i} for .
- •
\bar{A}[\ell]\cdot\bar{{\mathchoice{\mbox{\boldmath\displaystyle\bf h}}{\mbox{\boldmath\textstyle\bf h}}{\mbox{\boldmath\scriptstyle\bf h}}{\mbox{\boldmath\scriptscriptstyle\bf h}}}}_{\gamma}=0 for any .
- •
,
- •
{\mathchoice{\mbox{\boldmath\displaystyle\bf c}}{\mbox{\boldmath\textstyle\bf c}}{\mbox{\boldmath\scriptstyle\bf c}}{\mbox{\boldmath\scriptscriptstyle\bf c}}}^{T}\bar{{\mathchoice{\mbox{\boldmath\displaystyle\bf h}}{\mbox{\boldmath\textstyle\bf h}}{\mbox{\boldmath\scriptstyle\bf h}}{\mbox{\boldmath\scriptscriptstyle\bf h}}}}_{\gamma} is minimized.
It is easy to see that the optimal solution for the subproblem- can be constructed by extending the optimal solution for the subproblem- by one brick, and such a brick belongs to . Therefore, the optimal solution for subproblem- can be found in time, where the big-O hides a coefficient that only depends on .
The overall running time. We have shown in this subsection that the dynamic programming algorithm can find out a Graver best augmentation in time (ignoring all the FPT-terms). By [5] the number of Graver best augmentations needed is where is the encoding length of the integer programming, therefore tree-fold integer programming can be solved in time, and Theorem 2 is proved (if a feasible initial solution is given).
2.3 Subtree cover–integer programming formulation
The goal of this subsection is to derive an ILP formulation of the subtree cover problem which falls into the category of tree-fold integer programming. Given this result, applying Theorem 2, Theorem 1 is proved.
For ease of description, we let the root . We define the unweighted distance between two vertices as the length the path connecting them in the same tree with all edge weights as . The depth of any vertex is the unweighted distance of to .
Preprocessing. We consider the decision version of the problem which asks whether there exists a subtree cover of makespan . We assume without loss of generality that the height of the tree, , is at most , since otherwise we can conclude directly that there is no feasible solution of makespan at most . For ease of presentation, we modify the problem in the following way. For any leaf whose depth is , we append a path to it which consists of dummy vertices and dummy edges of [math] weight. By doing so every leaf of has a depth of . Next, we direct all the edges towards the root and move the weight of each edge to its source vertex. Specifically, the weight of the root is [math]. Now the weight of any subtree is simply the total weight of its vertices. For simplicity, we still denote the modified tree as and denote by the number of its vertices.
Configurations. We define configurations. Any tree with at most vertices whose weight is bounded by can be encoded via an -vector as follows: We index all vertices from to . For every vertex, we store its weight and its parent. We call such an -vector as a configuration and have the following simple observation.
Observation 1**.**
There are at most different kinds of configurations.
We index configurations arbitrarily as and denote by the number of vertices in . Given an arbitrary configuration , we use to denote its vertex of index . is also called the location of this vertex. Let be the maximal number of vertices among all the configurations. A pair with is called invalid. For simplicity, is always the index (location) of the root for every .
Given a configuration , we define a function which maps a vertex of location to the location of its parent (it shall be noted that here the function has nothing to do with the function in Theorem 2).
Now we revisit the subtree cover problem using the notion of configurations. Consider an arbitrary subtree of rooted at whose weight is at most . We first observe that there are at most vertices in the subtree. To see why, we can first consider a subtree of weight at most in the original tree before preprocessing. Since every vertex, except the root, has non-zero weight, the number of vertices is bounded by . As the preprocessing procedure will append at most vertices below a vertex, the total number of vertices is thus bounded by . Hence, any subtree of weight at most can be mapped to a configuration. Furthermore, any feasible solution can be interpreted as subtrees that can be mapped to configurations. Using this idea, we now establish an ILP formulation of the problem.
We define an integral variable for every vertex and every pair . For , implies that there are subtrees in the solution which contain , and furthermore, each of them can be mapped to the configuration such that is mapped to the location vertex in .
Obviously, can not be mapped to an arbitrary vertex in . We say a vertex is consistent with the pair , if both of the following conditions are true:
- •
the depth of in is the same as the depth of the location vertex in ;
- •
the weight of in is the same as the weight of the location vertex in .
Otherwise, we say they are inconsistent.
Let be the set of children of , be the set of leaves. We establish the following for the subtree cover problem:
[TABLE]
Constraint ensures that every leaf is contained in one of the subtrees. Constraints and are straightforward. We now explain constraint . Consider any feasible solution and let be an arbitrary vertex. Let be any child of . If is mapped to the vertex of location in , then must be mapped to the vertex of location in . Therefore, if we consider the total number of configuration where a child of is mapped to its vertex of location , this should be equal to the number of configuration where is mapped to its vertex of location . This is essentially what constraint implies.
The following two lemmas ensures that the we have derived indeed solves the subtree cover problem. One direction (Lemma 3) is staightforward, yet the other direction is a bit involved and the reader is referred to Appendix A.6 for details.
Lemma 3**.**
If there exists a feasible solution of the scheduling problem with makespan at most , then there exists a feasible solution of the ILP with the objective value at most .
Lemma 4**.**
If there exists a feasible solution of the ILP with the objective value at most , then there exists a feasible solution of the subtree cover problem with makespan at most .
Still, is similar but not exactly the same as a tree-fold integer programming. We need to tune the ILP a bit. The tuning is essentially by replacing some of the variables with the equation in it satisfies, i.e., we will remove some of the variables. See Appendix A.7 for details. Once transformed into a tree-fold integer programming, Theorem 2 can be applied and Theorem 1 is proved.
3 Conclusion
We consider the subtree cover problem in this paper and provide an FPT algorithm parameterized by the makespan. Our FPT algorithm follows from a more general FPT result on the tree-fold integer programming, which extends the existing FPT algorithm on the -fold integer programming. The running times of the FPT algorithms is huge and is only of theoretical interest. Another important open problem is whether we can derive FPT algorithm for integer programming with the matrix that has an even more general structure. It is also interesting to consider approximation schemes for the subtree cover problem.
Appendix A Proofs Omitted in Section 2
A.1 Proof of Theorem 3
Proof of Theorem 3.
We reduce from -partition. In the -partition problem, given is a set of integers with , where . The goal is to determine whether we can partition the integers of subsets , each of size , such that for every .
We construct a subtree cover instance as follows. There is a root . The root has children . Each further has children. We let the weight of every edge be .
We show that the constructed subtree cover instance can be covered by subtrees of makespan if and only if the given 3-partition instance admits a feasible partition.
Suppose the 3-partition instance admits a feasible partition, then each subtree consists of the root, and their children. It is easy to verify that the weight of each subtree is exactly .
Suppose the subtree cover instance admits a solution of makespan . Since all edge weights sum up to , we know each subtree consists of exactly edges, and each edge appears in one subtree. Therefore, if a subtree contains a vertex , it must contain all the children of . As has children, it is easy to see that each subtree contains exactly 3 children of the root, implying readily a solution for the 3-partition instance. ∎
A.2 Preliminaries for Tree-fold Integer Programming
We provide a brief introduction to the notions needed for solving a general integer programming. We refer the readers to a nice book [2] for details.
We define Graver basis, which was introduced in [3] by Graver and is crucial for our algorithm.
We define a partial order in in the following way:
[TABLE]
Roughly speaking, {\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}\sqsubseteq{\mathchoice{\mbox{\boldmath\displaystyle\bf y}}{\mbox{\boldmath\textstyle\bf y}}{\mbox{\boldmath\scriptstyle\bf y}}{\mbox{\boldmath\scriptscriptstyle\bf y}}} implies that and lie in the same orthant, and is “closer” to the origin [math] than . The partial order , when restricted to , coincides with the classical coordinate-wise partial order .
Given any subset , we say is an -minimal element of if {\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}\in X and there does not exist {\mathchoice{\mbox{\boldmath\displaystyle\bf y}}{\mbox{\boldmath\textstyle\bf y}}{\mbox{\boldmath\scriptstyle\bf y}}{\mbox{\boldmath\scriptscriptstyle\bf y}}}\in X, {\mathchoice{\mbox{\boldmath\displaystyle\bf y}}{\mbox{\boldmath\textstyle\bf y}}{\mbox{\boldmath\scriptstyle\bf y}}{\mbox{\boldmath\scriptscriptstyle\bf y}}}\neq{\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}} such that {\mathchoice{\mbox{\boldmath\displaystyle\bf y}}{\mbox{\boldmath\textstyle\bf y}}{\mbox{\boldmath\scriptstyle\bf y}}{\mbox{\boldmath\scriptscriptstyle\bf y}}}\sqsubseteq{\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}.
According to Gordan’s Lemma, for any subset , the number of -minimal elements in is finite. Indeed, this fact is known as Dickson’s Lemma for the coordinate-wise partial order .
Definition 1**.**
The Graver basis of an integer matrix is the finite set which consists of all the -minimal elements of ker_{\mathbb{Z}^{n}}(A)=\{{\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}\in\mathbb{Z}^{n}|A{\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}=0,{\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}\neq 0\}.
The Graver basis is only dependent on . Let be the largest absolute value over all entries. For any {\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}\in\mathcal{G}(A), we have the following rough estimation for some constant [15]:
[TABLE]
The Graver basis has the following positive sum property: for every {\mathchoice{\mbox{\boldmath\displaystyle\bf z}}{\mbox{\boldmath\textstyle\bf z}}{\mbox{\boldmath\scriptstyle\bf z}}{\mbox{\boldmath\scriptscriptstyle\bf z}}}\in ker_{\mathbb{Z}^{n}}(A), there exist a subset such that for every {\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}_{i}\in U, {\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}_{i}\sqsubseteq{\mathchoice{\mbox{\boldmath\displaystyle\bf z}}{\mbox{\boldmath\textstyle\bf z}}{\mbox{\boldmath\scriptstyle\bf z}}{\mbox{\boldmath\scriptscriptstyle\bf z}}}, and furthermore, {\mathchoice{\mbox{\boldmath\displaystyle\bf z}}{\mbox{\boldmath\textstyle\bf z}}{\mbox{\boldmath\scriptstyle\bf z}}{\mbox{\boldmath\scriptscriptstyle\bf z}}}=\sum_{{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}_{i}\in U}\alpha_{i}{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}_{i} for some . See [15, 2] for details.
Given is an integer programming of the following form:
[TABLE]
Let be an arbitrary feasible solution of (4). We say is an augmentation vector for if {\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}+{\mathchoice{\mbox{\boldmath\displaystyle\bf q}}{\mbox{\boldmath\textstyle\bf q}}{\mbox{\boldmath\scriptstyle\bf q}}{\mbox{\boldmath\scriptscriptstyle\bf q}}} is a feasible solution of (4) that has an objective value strictly better than , i.e., {\mathchoice{\mbox{\boldmath\displaystyle\bf c}}{\mbox{\boldmath\textstyle\bf c}}{\mbox{\boldmath\scriptstyle\bf c}}{\mbox{\boldmath\scriptscriptstyle\bf c}}}^{T}({\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}+{\mathchoice{\mbox{\boldmath\displaystyle\bf q}}{\mbox{\boldmath\textstyle\bf q}}{\mbox{\boldmath\scriptstyle\bf q}}{\mbox{\boldmath\scriptscriptstyle\bf q}}})<{\mathchoice{\mbox{\boldmath\displaystyle\bf c}}{\mbox{\boldmath\textstyle\bf c}}{\mbox{\boldmath\scriptstyle\bf c}}{\mbox{\boldmath\scriptscriptstyle\bf c}}}^{T}{\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}. Therefore, A{\mathchoice{\mbox{\boldmath\displaystyle\bf q}}{\mbox{\boldmath\textstyle\bf q}}{\mbox{\boldmath\scriptstyle\bf q}}{\mbox{\boldmath\scriptscriptstyle\bf q}}}=0 and {\mathchoice{\mbox{\boldmath\displaystyle\bf c}}{\mbox{\boldmath\textstyle\bf c}}{\mbox{\boldmath\scriptstyle\bf c}}{\mbox{\boldmath\scriptscriptstyle\bf c}}}^{T}{\mathchoice{\mbox{\boldmath\displaystyle\bf q}}{\mbox{\boldmath\textstyle\bf q}}{\mbox{\boldmath\scriptstyle\bf q}}{\mbox{\boldmath\scriptscriptstyle\bf q}}}<0.
It is shown by Graver [3] that {\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}^{*} is an optimal solution of (4) if and only if there does not exist {\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}\in\mathcal{G}(A) which is an augmentation vector for {\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}^{*}. Later on, Hemmecke, Onn and Weismantel [5] proved that, starting from an arbitrary feasible solution for (4), the optimal solution {\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}^{*} could be achieved by iteratively applying the best augmentation via Graver basis, i.e., augmenting by using the best possible augmentation vector of the form \gamma{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}, where and {\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}\in\mathcal{G}(A). The total number of augmentation vectors needed is bounded by , where is the length of the binary encoding of the vector ({\mathchoice{\mbox{\boldmath\displaystyle\bf c}}{\mbox{\boldmath\textstyle\bf c}}{\mbox{\boldmath\scriptstyle\bf c}}{\mbox{\boldmath\scriptscriptstyle\bf c}}},{\mathchoice{\mbox{\boldmath\displaystyle\bf b}}{\mbox{\boldmath\textstyle\bf b}}{\mbox{\boldmath\scriptstyle\bf b}}{\mbox{\boldmath\scriptscriptstyle\bf b}}},{\mathchoice{\mbox{\boldmath\displaystyle\bf l}}{\mbox{\boldmath\textstyle\bf l}}{\mbox{\boldmath\scriptstyle\bf l}}{\mbox{\boldmath\scriptscriptstyle\bf l}}},{\mathchoice{\mbox{\boldmath\displaystyle\bf u}}{\mbox{\boldmath\textstyle\bf u}}{\mbox{\boldmath\scriptstyle\bf u}}{\mbox{\boldmath\scriptscriptstyle\bf u}}}) (There may exist an augmentation vector which is better than any Graver basis, however, the result of [5] allows us to restrict our attention to Graver basis). This statement remains true if, instead of choosing the best possible augmentation vector of the form \gamma{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}, say, \gamma^{*}{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}^{*}, we choose an augmentation vector which is at least as good as \gamma^{*}{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}^{*}. That is, if in each augmentation vector we choose an augmentation vector such that {\mathchoice{\mbox{\boldmath\displaystyle\bf c}}{\mbox{\boldmath\textstyle\bf c}}{\mbox{\boldmath\scriptstyle\bf c}}{\mbox{\boldmath\scriptscriptstyle\bf c}}}^{T}{\mathchoice{\mbox{\boldmath\displaystyle\bf q}}{\mbox{\boldmath\textstyle\bf q}}{\mbox{\boldmath\scriptstyle\bf q}}{\mbox{\boldmath\scriptscriptstyle\bf q}}}\leq\gamma^{*}{\mathchoice{\mbox{\boldmath\displaystyle\bf c}}{\mbox{\boldmath\textstyle\bf c}}{\mbox{\boldmath\scriptstyle\bf c}}{\mbox{\boldmath\scriptscriptstyle\bf c}}}^{T}{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}^{*}, the optimal solution {\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}^{*} could also be achieved after augmentation vectors [4, 2]. Notice that does not necessarily belong to . Such greedy algorithm is called Graver-best augmentation algorithm.
The results by Hemmecke et al. [4, 2] imply that, to design a polynomial time algorithm for (4), it suffices to handle the following two problems:
- a.
finding a feasible initial solution for (4) in polynomial time;
- b.
finding a Graver-best augmentation algorithm that runs in polynomial time.
In Subsection A.5 we show in detail how to find a feasible initial solution for (4) in polynomial time. Roughly speaking this could be handled by establishing another ILP with a trivial initial feasible solution and finding its optimal solution.
We focus on problem [b]. A natural algorithm is that, given the current feasible solution , for every {\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}\in\mathcal{G}(A), we find integer \gamma_{{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}}\in\mathbb{Z}_{+} such that {\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}+\gamma_{{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}}{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}} is still feasible and {\mathchoice{\mbox{\boldmath\displaystyle\bf c}}{\mbox{\boldmath\textstyle\bf c}}{\mbox{\boldmath\scriptstyle\bf c}}{\mbox{\boldmath\scriptscriptstyle\bf c}}}^{T}({\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}+\gamma_{{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}}{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}) is minimized, and among all the \gamma_{{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}}{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}} we pick the best one. For any fixed we can easily find \gamma_{{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}} by solving an integer programming with only one integral variable \gamma_{{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}}. Therefore the overall running time depends on the cardinality of the Graver bais . Unfortunately could be huge in general. However, if the matrix has some special structure, then could be significantly smaller.
From now on we focus on a tree-fold matrix consisting of copies of submatrices , , , and write it as for simplicity. Recall that each is an -matrix, whereas we are restricting to the following
[TABLE]
Notice that if , is called an -fold matrix. In 2013, Hemmecke et al. provided a Graver-best augmentation algorithm for -fold integer programming that runs in time (here the big- hides all coefficients that only depend on and ). The following lemma is the key ingredient to their algorithm. It strengthens the fitness theorem in [7].
Consider any {\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}\in\mathbb{Z}^{nt}. We write as a tuple {\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}=({\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}^{1},{\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}^{2},\cdots,{\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}^{n}) where {\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}^{i}\in\mathbb{Z}^{t}. Each {\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}^{i} is called a brick of .
Lemma 5** ([4]).**
Let . There exists some integer that only depends on matrices and , and
[TABLE]
such that for any {\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}=({\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}^{1},{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}^{2},\cdots,{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}^{n})\in\mathcal{G}(A) we have \sum_{i\in I}{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}^{i}\in H(A) for any .
We further generalize the algorithm of Hemmecke et al. [4] to tree-fold integer programming. Towards this, we first give a generalization of the above lemma, and then we show how to further generalize their algorithm.
A.3 Proof of Lemma 1
Proof of Lemma 1.
Throughout this proof, for an arbitrary matrix , we list its Graver bases (in an arbitrary order) as {\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}^{1}(B),{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}^{2}(B),\cdots,{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}^{|\mathcal{G}(B)|}(B), and let {\mathchoice{\mbox{\boldmath\displaystyle\bf G}}{\mbox{\boldmath\textstyle\bf G}}{\mbox{\boldmath\scriptstyle\bf G}}{\mbox{\boldmath\scriptscriptstyle\bf G}}}(B)=({\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}^{1}(B),{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}^{2}(B),\cdots,{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}^{|\mathcal{G}(B)|}(B)) be the matrix with each of the bases being its column.
Consider . For any {\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}=({\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}^{1},{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}^{2},\cdots,{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}^{n})\in\mathcal{G}(A), it follows directly that A_{\tau}{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}^{i}=0 for every . According to the positive sum property of the Graver basis, there exist such that
[TABLE]
where {\mathchoice{\mbox{\boldmath\displaystyle\bf q}}{\mbox{\boldmath\textstyle\bf q}}{\mbox{\boldmath\scriptstyle\bf q}}{\mbox{\boldmath\scriptscriptstyle\bf q}}}^{i}(A_{\tau})=(q^{i}_{1}(A_{\tau}),\cdots,q^{i}_{|\mathcal{G}(A_{\tau})|})^{T}. Notice that {\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}(A_{\tau}) is only dependent on matrix . In order to show that \sum_{i\in I}{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}^{i}\in H(A) for some , it suffices to show that \sum_{i}||{\mathchoice{\mbox{\boldmath\displaystyle\bf q}}{\mbox{\boldmath\textstyle\bf q}}{\mbox{\boldmath\scriptstyle\bf q}}{\mbox{\boldmath\scriptscriptstyle\bf q}}}^{i}(A_{\tau})||_{1}=\sum_{i,j}|q^{i}_{j}(A_{\tau})| is upper bounded by some value that only depends on .
Step 1. We consider . According to A{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}=0, we have
[TABLE]
Plugging in Equation 5, we have
[TABLE]
We rewrite the above equation in the following way. Let matrix A_{\tau-1}^{\prime}=A_{\tau-1}{\mathchoice{\mbox{\boldmath\displaystyle\bf G}}{\mbox{\boldmath\textstyle\bf G}}{\mbox{\boldmath\scriptstyle\bf G}}{\mbox{\boldmath\scriptscriptstyle\bf G}}}(A_{\tau}), {\mathchoice{\mbox{\boldmath\displaystyle\bf Q}}{\mbox{\boldmath\textstyle\bf Q}}{\mbox{\boldmath\scriptstyle\bf Q}}{\mbox{\boldmath\scriptscriptstyle\bf Q}}}^{\ell}(A_{\tau})=\sum_{i\in S_{\tau-1}^{\ell}}{\mathchoice{\mbox{\boldmath\displaystyle\bf q}}{\mbox{\boldmath\textstyle\bf q}}{\mbox{\boldmath\scriptstyle\bf q}}{\mbox{\boldmath\scriptscriptstyle\bf q}}}^{i}(A_{\tau}), we have
[TABLE]
[TABLE]
Therefore, {\mathchoice{\mbox{\boldmath\displaystyle\bf Q}}{\mbox{\boldmath\textstyle\bf Q}}{\mbox{\boldmath\scriptstyle\bf Q}}{\mbox{\boldmath\scriptscriptstyle\bf Q}}}^{\ell}(A_{\tau})\in ker_{\mathbb{Z}^{|\mathcal{G}(A_{\tau})|}}({A_{\tau-1}^{\prime}}). We replace the index by . According to the positive sum property, we list the Graver basis of as {\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}^{1}(A_{\tau-1}^{\prime}), , {\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}^{|\mathcal{G}(A_{\tau-1}^{\prime})|}(A_{\tau-1}^{\prime}), then there exist such that
[TABLE]
where {\mathchoice{\mbox{\boldmath\displaystyle\bf q}}{\mbox{\boldmath\textstyle\bf q}}{\mbox{\boldmath\scriptstyle\bf q}}{\mbox{\boldmath\scriptscriptstyle\bf q}}}^{i}(A_{\tau-1}^{\prime})=(q^{i}_{1}(A_{\tau-1}^{\prime}),\cdots,q^{i}_{|\mathcal{G}(A_{\tau-1}^{\prime})|})^{T}. Furthermore, as every entry of {\mathchoice{\mbox{\boldmath\displaystyle\bf Q}}{\mbox{\boldmath\textstyle\bf Q}}{\mbox{\boldmath\scriptstyle\bf Q}}{\mbox{\boldmath\scriptscriptstyle\bf Q}}}^{i}(A_{\tau}) is non-negative, the positive sum property ensures that only if every entry of {\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}^{j}(A_{\tau-1}^{\prime}) is non-negative.
Step 2. We consider . According to A{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}=0, we have
[TABLE]
Plugging in Equation 7 and 9, we have
[TABLE]
Let A_{\tau-2}^{\prime}=A_{\tau-2}{\mathchoice{\mbox{\boldmath\displaystyle\bf G}}{\mbox{\boldmath\textstyle\bf G}}{\mbox{\boldmath\scriptstyle\bf G}}{\mbox{\boldmath\scriptscriptstyle\bf G}}}(A_{\tau}){\mathchoice{\mbox{\boldmath\displaystyle\bf G}}{\mbox{\boldmath\textstyle\bf G}}{\mbox{\boldmath\scriptstyle\bf G}}{\mbox{\boldmath\scriptscriptstyle\bf G}}}(A_{\tau-1}^{\prime}), {\mathchoice{\mbox{\boldmath\displaystyle\bf Q}}{\mbox{\boldmath\textstyle\bf Q}}{\mbox{\boldmath\scriptstyle\bf Q}}{\mbox{\boldmath\scriptscriptstyle\bf Q}}}^{\ell}(A_{\tau-1}^{\prime})=\sum_{i_{1}\in S_{\tau-2}^{\ell}}{\mathchoice{\mbox{\boldmath\displaystyle\bf q}}{\mbox{\boldmath\textstyle\bf q}}{\mbox{\boldmath\scriptstyle\bf q}}{\mbox{\boldmath\scriptscriptstyle\bf q}}}^{i_{1}}(A_{\tau-1}^{\prime}), we have
[TABLE]
[TABLE]
Therefore, {\mathchoice{\mbox{\boldmath\displaystyle\bf Q}}{\mbox{\boldmath\textstyle\bf Q}}{\mbox{\boldmath\scriptstyle\bf Q}}{\mbox{\boldmath\scriptscriptstyle\bf Q}}}^{\ell}(A_{\tau-1}^{\prime})\in ker_{\mathbb{Z}^{|\mathcal{G}(A_{\tau-1})^{\prime}|}}(A_{\tau-2}^{\prime}). Replacing the index by , there exist such that
[TABLE]
where {\mathchoice{\mbox{\boldmath\displaystyle\bf q}}{\mbox{\boldmath\textstyle\bf q}}{\mbox{\boldmath\scriptstyle\bf q}}{\mbox{\boldmath\scriptscriptstyle\bf q}}}^{i}(A_{\tau-2}^{\prime})=(q^{i}_{1}(A_{\tau-2}^{\prime}),\cdots,q^{i}_{|\mathcal{G}(A_{\tau-2}^{\prime})|})^{T}.
We can iteratively carry on the above argument.
Step . In general, suppose we have shown the following three equations:
[TABLE]
[TABLE]
Replacing the index by , there exist such that
[TABLE]
where {\mathchoice{\mbox{\boldmath\displaystyle\bf q}}{\mbox{\boldmath\textstyle\bf q}}{\mbox{\boldmath\scriptstyle\bf q}}{\mbox{\boldmath\scriptscriptstyle\bf q}}}^{i}(A_{k+1}^{\prime})=(q^{i}_{1}(A_{k+1}^{\prime}),\cdots,q^{i}_{|\mathcal{G}(A_{k+1}^{\prime})|})^{T}, and A_{k+1}^{\prime}=A_{k+1}{\mathchoice{\mbox{\boldmath\displaystyle\bf G}}{\mbox{\boldmath\textstyle\bf G}}{\mbox{\boldmath\scriptstyle\bf G}}{\mbox{\boldmath\scriptscriptstyle\bf G}}}(A_{\tau}){\mathchoice{\mbox{\boldmath\displaystyle\bf G}}{\mbox{\boldmath\textstyle\bf G}}{\mbox{\boldmath\scriptstyle\bf G}}{\mbox{\boldmath\scriptscriptstyle\bf G}}}(A_{\tau-1}^{\prime})\cdots{\mathchoice{\mbox{\boldmath\displaystyle\bf G}}{\mbox{\boldmath\textstyle\bf G}}{\mbox{\boldmath\scriptstyle\bf G}}{\mbox{\boldmath\scriptscriptstyle\bf G}}}(A_{k+2}^{\prime}).
When we consider , A{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}=0 implies that
[TABLE]
Indeed, if we view each {\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}^{i} as the -th leaf (from left to right) of the tree, the summation is taken over all the leaves of the sub-tree routed at the vertex corresponding to . Plugging Equation 13 and Equation 15 into Equation 16, and replacing index by , we have
[TABLE]
Let A_{k}^{\prime}=A_{k}{\mathchoice{\mbox{\boldmath\displaystyle\bf G}}{\mbox{\boldmath\textstyle\bf G}}{\mbox{\boldmath\scriptstyle\bf G}}{\mbox{\boldmath\scriptscriptstyle\bf G}}}(A_{\tau}){\mathchoice{\mbox{\boldmath\displaystyle\bf G}}{\mbox{\boldmath\textstyle\bf G}}{\mbox{\boldmath\scriptstyle\bf G}}{\mbox{\boldmath\scriptscriptstyle\bf G}}}(A_{\tau-1}^{\prime})\cdots{\mathchoice{\mbox{\boldmath\displaystyle\bf G}}{\mbox{\boldmath\textstyle\bf G}}{\mbox{\boldmath\scriptstyle\bf G}}{\mbox{\boldmath\scriptscriptstyle\bf G}}}(A_{k+1}^{\prime}), {\mathchoice{\mbox{\boldmath\displaystyle\bf Q}}{\mbox{\boldmath\textstyle\bf Q}}{\mbox{\boldmath\scriptstyle\bf Q}}{\mbox{\boldmath\scriptscriptstyle\bf Q}}}^{\ell}(A_{k+1}^{\prime})=\sum_{i^{\prime}\in S_{k}^{\ell}}{\mathchoice{\mbox{\boldmath\displaystyle\bf q}}{\mbox{\boldmath\textstyle\bf q}}{\mbox{\boldmath\scriptstyle\bf q}}{\mbox{\boldmath\scriptscriptstyle\bf q}}}^{i^{\prime}}(A_{k+1}^{\prime}), we have
[TABLE]
[TABLE]
Therefore, {\mathchoice{\mbox{\boldmath\displaystyle\bf Q}}{\mbox{\boldmath\textstyle\bf Q}}{\mbox{\boldmath\scriptstyle\bf Q}}{\mbox{\boldmath\scriptscriptstyle\bf Q}}}^{\ell}(A_{k+1}^{\prime})\in ker_{\mathbb{Z}^{|\mathcal{G}(A_{k+1})^{\prime}|}}(A_{k}^{\prime}). Replacing the index by , there exist (by the positive sum property) such that
[TABLE]
where {\mathchoice{\mbox{\boldmath\displaystyle\bf q}}{\mbox{\boldmath\textstyle\bf q}}{\mbox{\boldmath\scriptstyle\bf q}}{\mbox{\boldmath\scriptscriptstyle\bf q}}}^{i}(A_{k}^{\prime})=(q^{i}_{1}(A_{k}^{\prime}),\cdots,q^{i}_{|\mathcal{G}(A_{k}^{\prime})|})^{T}, and A_{k}^{\prime}=A_{k}{\mathchoice{\mbox{\boldmath\displaystyle\bf G}}{\mbox{\boldmath\textstyle\bf G}}{\mbox{\boldmath\scriptstyle\bf G}}{\mbox{\boldmath\scriptscriptstyle\bf G}}}(A_{\tau}){\mathchoice{\mbox{\boldmath\displaystyle\bf G}}{\mbox{\boldmath\textstyle\bf G}}{\mbox{\boldmath\scriptstyle\bf G}}{\mbox{\boldmath\scriptscriptstyle\bf G}}}(A_{\tau-1}^{\prime})\cdots{\mathchoice{\mbox{\boldmath\displaystyle\bf G}}{\mbox{\boldmath\textstyle\bf G}}{\mbox{\boldmath\scriptstyle\bf G}}{\mbox{\boldmath\scriptscriptstyle\bf G}}}(A_{k+1}^{\prime}).
Specifically, we let , therefore the above equalities hold for any .
Step . Eventually we consider and derive the following based on the iterative argument.
[TABLE]
[TABLE]
Replacing the index by , there exist such that
[TABLE]
where {\mathchoice{\mbox{\boldmath\displaystyle\bf q}}{\mbox{\boldmath\textstyle\bf q}}{\mbox{\boldmath\scriptstyle\bf q}}{\mbox{\boldmath\scriptscriptstyle\bf q}}}^{i}(A_{1}^{\prime})=(q^{i}_{1}(A_{1}^{\prime}),\cdots,q^{i}_{|\mathcal{G}(A_{1}^{\prime})|})^{T}, and A_{1}^{\prime}=A_{1}{\mathchoice{\mbox{\boldmath\displaystyle\bf G}}{\mbox{\boldmath\textstyle\bf G}}{\mbox{\boldmath\scriptstyle\bf G}}{\mbox{\boldmath\scriptscriptstyle\bf G}}}(A_{\tau}){\mathchoice{\mbox{\boldmath\displaystyle\bf G}}{\mbox{\boldmath\textstyle\bf G}}{\mbox{\boldmath\scriptstyle\bf G}}{\mbox{\boldmath\scriptscriptstyle\bf G}}}(A_{\tau-1}^{\prime})\cdots{\mathchoice{\mbox{\boldmath\displaystyle\bf G}}{\mbox{\boldmath\textstyle\bf G}}{\mbox{\boldmath\scriptstyle\bf G}}{\mbox{\boldmath\scriptscriptstyle\bf G}}}(A_{2}^{\prime}).
We make the following claim.
Claim 1**.**
{\mathchoice{\mbox{\boldmath\displaystyle\bf Q}}{\mbox{\boldmath\textstyle\bf Q}}{\mbox{\boldmath\scriptstyle\bf Q}}{\mbox{\boldmath\scriptscriptstyle\bf Q}}}^{i}(A_{2}^{\prime})\in\mathcal{G}(A_{1}^{\prime}).
Proof of the Claim.
Suppose on the contrary that {\mathchoice{\mbox{\boldmath\displaystyle\bf Q}}{\mbox{\boldmath\textstyle\bf Q}}{\mbox{\boldmath\scriptstyle\bf Q}}{\mbox{\boldmath\scriptscriptstyle\bf Q}}}^{i}(A_{2}^{\prime})\not\in\mathcal{G}(A_{1}^{\prime}), then there exist 0\neq\bar{{\mathchoice{\mbox{\boldmath\displaystyle\bf Q}}{\mbox{\boldmath\textstyle\bf Q}}{\mbox{\boldmath\scriptstyle\bf Q}}{\mbox{\boldmath\scriptscriptstyle\bf Q}}}}^{i}(A_{2}^{\prime})\sqsubset{\mathchoice{\mbox{\boldmath\displaystyle\bf Q}}{\mbox{\boldmath\textstyle\bf Q}}{\mbox{\boldmath\scriptstyle\bf Q}}{\mbox{\boldmath\scriptscriptstyle\bf Q}}}^{i}(A_{2}^{\prime}) such that A_{1}^{\prime}\bar{{\mathchoice{\mbox{\boldmath\displaystyle\bf Q}}{\mbox{\boldmath\textstyle\bf Q}}{\mbox{\boldmath\scriptstyle\bf Q}}{\mbox{\boldmath\scriptscriptstyle\bf Q}}}}^{i}(A_{2}^{\prime})=0. In the following we will construct 0\neq\bar{{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}}\sqsubset{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}} such that A\bar{{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}}=0, which contradicts the fact that {\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}\in\mathcal{G}(A). Hence, the claim is true.
We show how to construct \bar{{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}}. According to Equation 23, \sum_{i^{\prime}\in S_{1}^{i}}{\mathchoice{\mbox{\boldmath\displaystyle\bf q}}{\mbox{\boldmath\textstyle\bf q}}{\mbox{\boldmath\scriptstyle\bf q}}{\mbox{\boldmath\scriptscriptstyle\bf q}}}^{i^{\prime}}(A_{2}^{\prime})={\mathchoice{\mbox{\boldmath\displaystyle\bf Q}}{\mbox{\boldmath\textstyle\bf Q}}{\mbox{\boldmath\scriptstyle\bf Q}}{\mbox{\boldmath\scriptscriptstyle\bf Q}}}^{i}(A_{2}^{\prime}). We know that every entry of {\mathchoice{\mbox{\boldmath\displaystyle\bf q}}{\mbox{\boldmath\textstyle\bf q}}{\mbox{\boldmath\scriptstyle\bf q}}{\mbox{\boldmath\scriptscriptstyle\bf q}}}^{i^{\prime}}(A_{2}^{\prime}), and consequently {\mathchoice{\mbox{\boldmath\displaystyle\bf Q}}{\mbox{\boldmath\textstyle\bf Q}}{\mbox{\boldmath\scriptstyle\bf Q}}{\mbox{\boldmath\scriptscriptstyle\bf Q}}}^{i}(A_{2}^{\prime}), is non-negative. Therefore every entry of \bar{{\mathchoice{\mbox{\boldmath\displaystyle\bf Q}}{\mbox{\boldmath\textstyle\bf Q}}{\mbox{\boldmath\scriptstyle\bf Q}}{\mbox{\boldmath\scriptscriptstyle\bf Q}}}}^{i}(A_{2}^{\prime}) is also non-negative. Consider every entry of the equation \sum_{i^{\prime}\in S_{1}^{i}}{\mathchoice{\mbox{\boldmath\displaystyle\bf q}}{\mbox{\boldmath\textstyle\bf q}}{\mbox{\boldmath\scriptstyle\bf q}}{\mbox{\boldmath\scriptscriptstyle\bf q}}}^{i^{\prime}}(A_{2}^{\prime})={\mathchoice{\mbox{\boldmath\displaystyle\bf Q}}{\mbox{\boldmath\textstyle\bf Q}}{\mbox{\boldmath\scriptstyle\bf Q}}{\mbox{\boldmath\scriptscriptstyle\bf Q}}}^{i}(A_{2}^{\prime}), we have \sum_{i^{\prime}\in S_{1}^{i}}{\mathchoice{\mbox{\boldmath\displaystyle\bf q}}{\mbox{\boldmath\textstyle\bf q}}{\mbox{\boldmath\scriptstyle\bf q}}{\mbox{\boldmath\scriptscriptstyle\bf q}}}^{i^{\prime}}_{j}(A_{2}^{\prime})={\mathchoice{\mbox{\boldmath\displaystyle\bf Q}}{\mbox{\boldmath\textstyle\bf Q}}{\mbox{\boldmath\scriptstyle\bf Q}}{\mbox{\boldmath\scriptscriptstyle\bf Q}}}^{i}_{j}(A_{2}^{\prime}). For 0\leq\bar{{\mathchoice{\mbox{\boldmath\displaystyle\bf Q}}{\mbox{\boldmath\textstyle\bf Q}}{\mbox{\boldmath\scriptstyle\bf Q}}{\mbox{\boldmath\scriptscriptstyle\bf Q}}}}^{i}_{j}(A_{2}^{\prime})\leq{\mathchoice{\mbox{\boldmath\displaystyle\bf Q}}{\mbox{\boldmath\textstyle\bf Q}}{\mbox{\boldmath\scriptstyle\bf Q}}{\mbox{\boldmath\scriptscriptstyle\bf Q}}}^{i}_{j}(A_{2}^{\prime}), we can easily find 0\leq\bar{{\mathchoice{\mbox{\boldmath\displaystyle\bf q}}{\mbox{\boldmath\textstyle\bf q}}{\mbox{\boldmath\scriptstyle\bf q}}{\mbox{\boldmath\scriptscriptstyle\bf q}}}}^{i^{\prime}}_{j}(A_{2}^{\prime})\leq{\mathchoice{\mbox{\boldmath\displaystyle\bf q}}{\mbox{\boldmath\textstyle\bf q}}{\mbox{\boldmath\scriptstyle\bf q}}{\mbox{\boldmath\scriptscriptstyle\bf q}}}^{i^{\prime}}_{j}(A_{2}^{\prime}) such that \sum_{i^{\prime}\in S_{1}^{i}}\bar{{\mathchoice{\mbox{\boldmath\displaystyle\bf q}}{\mbox{\boldmath\textstyle\bf q}}{\mbox{\boldmath\scriptstyle\bf q}}{\mbox{\boldmath\scriptscriptstyle\bf q}}}}^{i^{\prime}}_{j}(A_{2}^{\prime})=\bar{{\mathchoice{\mbox{\boldmath\displaystyle\bf Q}}{\mbox{\boldmath\textstyle\bf Q}}{\mbox{\boldmath\scriptstyle\bf Q}}{\mbox{\boldmath\scriptscriptstyle\bf Q}}}}^{i}_{j}(A_{2}^{\prime}). Hence, there exist \bar{{\mathchoice{\mbox{\boldmath\displaystyle\bf q}}{\mbox{\boldmath\textstyle\bf q}}{\mbox{\boldmath\scriptstyle\bf q}}{\mbox{\boldmath\scriptscriptstyle\bf q}}}}^{i^{\prime}}(A_{2}^{\prime})\sqsubseteq{\mathchoice{\mbox{\boldmath\displaystyle\bf q}}{\mbox{\boldmath\textstyle\bf q}}{\mbox{\boldmath\scriptstyle\bf q}}{\mbox{\boldmath\scriptscriptstyle\bf q}}}^{i^{\prime}}(A_{2}^{\prime}) such that
[TABLE]
and moreover, there exist some and such that \bar{{\mathchoice{\mbox{\boldmath\displaystyle\bf q}}{\mbox{\boldmath\textstyle\bf q}}{\mbox{\boldmath\scriptstyle\bf q}}{\mbox{\boldmath\scriptscriptstyle\bf q}}}}^{i^{\prime}_{1}}(A_{2}^{\prime})\sqsubset{\mathchoice{\mbox{\boldmath\displaystyle\bf q}}{\mbox{\boldmath\textstyle\bf q}}{\mbox{\boldmath\scriptstyle\bf q}}{\mbox{\boldmath\scriptscriptstyle\bf q}}}^{i^{\prime}_{1}}(A_{2}^{\prime}) and \bar{{\mathchoice{\mbox{\boldmath\displaystyle\bf q}}{\mbox{\boldmath\textstyle\bf q}}{\mbox{\boldmath\scriptstyle\bf q}}{\mbox{\boldmath\scriptscriptstyle\bf q}}}}^{i^{\prime}_{2}}(A_{2}^{\prime})\neq 0.
Replacing with , we define
[TABLE]
It is easy to see that \bar{{\mathchoice{\mbox{\boldmath\displaystyle\bf Q}}{\mbox{\boldmath\textstyle\bf Q}}{\mbox{\boldmath\scriptstyle\bf Q}}{\mbox{\boldmath\scriptscriptstyle\bf Q}}}}^{i}(A_{3}^{\prime})\sqsubseteq{{\mathchoice{\mbox{\boldmath\displaystyle\bf Q}}{\mbox{\boldmath\textstyle\bf Q}}{\mbox{\boldmath\scriptstyle\bf Q}}{\mbox{\boldmath\scriptscriptstyle\bf Q}}}}^{i}(A_{3}^{\prime}) for . As each \bar{{\mathchoice{\mbox{\boldmath\displaystyle\bf Q}}{\mbox{\boldmath\textstyle\bf Q}}{\mbox{\boldmath\scriptstyle\bf Q}}{\mbox{\boldmath\scriptscriptstyle\bf Q}}}}^{i}(A_{3}^{\prime}) is the weighted sum of the Graver basis of , we know A_{2}^{\prime}\bar{{\mathchoice{\mbox{\boldmath\displaystyle\bf Q}}{\mbox{\boldmath\textstyle\bf Q}}{\mbox{\boldmath\scriptstyle\bf Q}}{\mbox{\boldmath\scriptscriptstyle\bf Q}}}}^{i}(A_{3}^{\prime})=0. Furthermore, there exist such that \bar{{\mathchoice{\mbox{\boldmath\displaystyle\bf Q}}{\mbox{\boldmath\textstyle\bf Q}}{\mbox{\boldmath\scriptstyle\bf Q}}{\mbox{\boldmath\scriptscriptstyle\bf Q}}}}^{i_{1}}(A_{3}^{\prime})\sqsubset{{\mathchoice{\mbox{\boldmath\displaystyle\bf Q}}{\mbox{\boldmath\textstyle\bf Q}}{\mbox{\boldmath\scriptstyle\bf Q}}{\mbox{\boldmath\scriptscriptstyle\bf Q}}}}^{i_{1}}(A_{3}^{\prime}) and \bar{{\mathchoice{\mbox{\boldmath\displaystyle\bf Q}}{\mbox{\boldmath\textstyle\bf Q}}{\mbox{\boldmath\scriptstyle\bf Q}}{\mbox{\boldmath\scriptscriptstyle\bf Q}}}}^{i_{2}}(A_{3}^{\prime})\neq 0.
Carry on the above argument, we can prove iteratively that there exist \bar{{\mathchoice{\mbox{\boldmath\displaystyle\bf q}}{\mbox{\boldmath\textstyle\bf q}}{\mbox{\boldmath\scriptstyle\bf q}}{\mbox{\boldmath\scriptscriptstyle\bf q}}}}^{i^{\prime}}(A_{k+1}^{\prime})\sqsubseteq{\mathchoice{\mbox{\boldmath\displaystyle\bf q}}{\mbox{\boldmath\textstyle\bf q}}{\mbox{\boldmath\scriptstyle\bf q}}{\mbox{\boldmath\scriptscriptstyle\bf q}}}^{i^{\prime}}(A_{k+1}^{\prime}) such that
[TABLE]
Furthermore, there exist some and such that \bar{{\mathchoice{\mbox{\boldmath\displaystyle\bf q}}{\mbox{\boldmath\textstyle\bf q}}{\mbox{\boldmath\scriptstyle\bf q}}{\mbox{\boldmath\scriptscriptstyle\bf q}}}}^{i^{\prime}_{1}}(A_{k+1}^{\prime})\sqsubset{\mathchoice{\mbox{\boldmath\displaystyle\bf q}}{\mbox{\boldmath\textstyle\bf q}}{\mbox{\boldmath\scriptstyle\bf q}}{\mbox{\boldmath\scriptscriptstyle\bf q}}}^{i^{\prime}_{1}}(A_{2}^{\prime}) and \bar{{\mathchoice{\mbox{\boldmath\displaystyle\bf q}}{\mbox{\boldmath\textstyle\bf q}}{\mbox{\boldmath\scriptstyle\bf q}}{\mbox{\boldmath\scriptscriptstyle\bf q}}}}^{i^{\prime}_{2}}(A_{k+1}^{\prime})\neq 0.
Replacing the index with , we define
[TABLE]
Then \bar{{\mathchoice{\mbox{\boldmath\displaystyle\bf Q}}{\mbox{\boldmath\textstyle\bf Q}}{\mbox{\boldmath\scriptstyle\bf Q}}{\mbox{\boldmath\scriptscriptstyle\bf Q}}}}^{i}(A_{k+2}^{\prime})\sqsubseteq{{\mathchoice{\mbox{\boldmath\displaystyle\bf Q}}{\mbox{\boldmath\textstyle\bf Q}}{\mbox{\boldmath\scriptstyle\bf Q}}{\mbox{\boldmath\scriptscriptstyle\bf Q}}}}^{i}(A_{k+2}^{\prime}) for . As each \bar{{\mathchoice{\mbox{\boldmath\displaystyle\bf Q}}{\mbox{\boldmath\textstyle\bf Q}}{\mbox{\boldmath\scriptstyle\bf Q}}{\mbox{\boldmath\scriptscriptstyle\bf Q}}}}^{i}(A_{k+2}^{\prime}) is the weighted sum of the Graver basis of , we know A_{k+1}^{\prime}\bar{{\mathchoice{\mbox{\boldmath\displaystyle\bf Q}}{\mbox{\boldmath\textstyle\bf Q}}{\mbox{\boldmath\scriptstyle\bf Q}}{\mbox{\boldmath\scriptscriptstyle\bf Q}}}}^{i}(A_{k+2}^{\prime})=0. Furthermore, there exist such that \bar{{\mathchoice{\mbox{\boldmath\displaystyle\bf Q}}{\mbox{\boldmath\textstyle\bf Q}}{\mbox{\boldmath\scriptstyle\bf Q}}{\mbox{\boldmath\scriptscriptstyle\bf Q}}}}^{i_{1}}(A_{k+2}^{\prime})\sqsubset{{\mathchoice{\mbox{\boldmath\displaystyle\bf Q}}{\mbox{\boldmath\textstyle\bf Q}}{\mbox{\boldmath\scriptstyle\bf Q}}{\mbox{\boldmath\scriptscriptstyle\bf Q}}}}^{i_{1}}(A_{k+2}^{\prime}) and \bar{{\mathchoice{\mbox{\boldmath\displaystyle\bf Q}}{\mbox{\boldmath\textstyle\bf Q}}{\mbox{\boldmath\scriptstyle\bf Q}}{\mbox{\boldmath\scriptscriptstyle\bf Q}}}}^{i_{2}}(A_{k+2}^{\prime})\neq 0.
Eventually, we can show that there exist \bar{{\mathchoice{\mbox{\boldmath\displaystyle\bf Q}}{\mbox{\boldmath\textstyle\bf Q}}{\mbox{\boldmath\scriptstyle\bf Q}}{\mbox{\boldmath\scriptscriptstyle\bf Q}}}}^{i}(A_{\tau})={\mathchoice{\mbox{\boldmath\displaystyle\bf G}}{\mbox{\boldmath\textstyle\bf G}}{\mbox{\boldmath\scriptstyle\bf G}}{\mbox{\boldmath\scriptscriptstyle\bf G}}}(A_{\tau-1}^{\prime})\bar{{\mathchoice{\mbox{\boldmath\displaystyle\bf q}}{\mbox{\boldmath\textstyle\bf q}}{\mbox{\boldmath\scriptstyle\bf q}}{\mbox{\boldmath\scriptscriptstyle\bf q}}}}^{i}(A_{\tau-1}^{\prime}) for such that \bar{{\mathchoice{\mbox{\boldmath\displaystyle\bf Q}}{\mbox{\boldmath\textstyle\bf Q}}{\mbox{\boldmath\scriptstyle\bf Q}}{\mbox{\boldmath\scriptscriptstyle\bf Q}}}}^{i}(A_{\tau})\sqsubseteq{{\mathchoice{\mbox{\boldmath\displaystyle\bf Q}}{\mbox{\boldmath\textstyle\bf Q}}{\mbox{\boldmath\scriptstyle\bf Q}}{\mbox{\boldmath\scriptscriptstyle\bf Q}}}}^{i}(A_{\tau}), A_{\tau-1}^{\prime}\bar{{\mathchoice{\mbox{\boldmath\displaystyle\bf Q}}{\mbox{\boldmath\textstyle\bf Q}}{\mbox{\boldmath\scriptstyle\bf Q}}{\mbox{\boldmath\scriptscriptstyle\bf Q}}}}^{i}(A_{\tau})=0. Furthermore, there exist such that \bar{{\mathchoice{\mbox{\boldmath\displaystyle\bf Q}}{\mbox{\boldmath\textstyle\bf Q}}{\mbox{\boldmath\scriptstyle\bf Q}}{\mbox{\boldmath\scriptscriptstyle\bf Q}}}}^{i_{1}}(A_{\tau})\sqsubset{{\mathchoice{\mbox{\boldmath\displaystyle\bf Q}}{\mbox{\boldmath\textstyle\bf Q}}{\mbox{\boldmath\scriptstyle\bf Q}}{\mbox{\boldmath\scriptscriptstyle\bf Q}}}}^{i_{1}}(A_{\tau}) and \bar{{\mathchoice{\mbox{\boldmath\displaystyle\bf Q}}{\mbox{\boldmath\textstyle\bf Q}}{\mbox{\boldmath\scriptstyle\bf Q}}{\mbox{\boldmath\scriptscriptstyle\bf Q}}}}^{i_{2}}(A_{\tau})\neq 0.
Given that {\mathchoice{\mbox{\boldmath\displaystyle\bf Q}}{\mbox{\boldmath\textstyle\bf Q}}{\mbox{\boldmath\scriptstyle\bf Q}}{\mbox{\boldmath\scriptscriptstyle\bf Q}}}^{i}(A_{\tau})=\sum_{i^{\prime}\in S_{\tau-1}^{i}}{\mathchoice{\mbox{\boldmath\displaystyle\bf q}}{\mbox{\boldmath\textstyle\bf q}}{\mbox{\boldmath\scriptstyle\bf q}}{\mbox{\boldmath\scriptscriptstyle\bf q}}}^{i^{\prime}}(A_{\tau}), we can find \bar{{\mathchoice{\mbox{\boldmath\displaystyle\bf q}}{\mbox{\boldmath\textstyle\bf q}}{\mbox{\boldmath\scriptstyle\bf q}}{\mbox{\boldmath\scriptscriptstyle\bf q}}}}^{i^{\prime}}(A_{\tau})\sqsubseteq{\mathchoice{\mbox{\boldmath\displaystyle\bf q}}{\mbox{\boldmath\textstyle\bf q}}{\mbox{\boldmath\scriptstyle\bf q}}{\mbox{\boldmath\scriptscriptstyle\bf q}}}^{i^{\prime}}(A_{\tau}) such that \bar{{\mathchoice{\mbox{\boldmath\displaystyle\bf Q}}{\mbox{\boldmath\textstyle\bf Q}}{\mbox{\boldmath\scriptstyle\bf Q}}{\mbox{\boldmath\scriptscriptstyle\bf Q}}}}^{i}(A_{\tau})=\sum_{i^{\prime}\in S_{\tau-1}^{i}}\bar{{\mathchoice{\mbox{\boldmath\displaystyle\bf q}}{\mbox{\boldmath\textstyle\bf q}}{\mbox{\boldmath\scriptstyle\bf q}}{\mbox{\boldmath\scriptscriptstyle\bf q}}}}^{i^{\prime}}(A_{\tau}), and moreover, there exist such that \bar{{\mathchoice{\mbox{\boldmath\displaystyle\bf q}}{\mbox{\boldmath\textstyle\bf q}}{\mbox{\boldmath\scriptstyle\bf q}}{\mbox{\boldmath\scriptscriptstyle\bf q}}}}^{i_{1}}(A_{\tau})\sqsubset{{\mathchoice{\mbox{\boldmath\displaystyle\bf q}}{\mbox{\boldmath\textstyle\bf q}}{\mbox{\boldmath\scriptstyle\bf q}}{\mbox{\boldmath\scriptscriptstyle\bf q}}}}^{i_{1}}(A_{\tau}) and \bar{{\mathchoice{\mbox{\boldmath\displaystyle\bf q}}{\mbox{\boldmath\textstyle\bf q}}{\mbox{\boldmath\scriptstyle\bf q}}{\mbox{\boldmath\scriptscriptstyle\bf q}}}}^{i_{2}}(A_{\tau})\neq 0.
We define
[TABLE]
Note that by the positive sum property of the Graver basis, if then {\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}^{j}(A_{\tau}) must lie in the same orthant as {\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}^{i}. Therefore \bar{{\mathchoice{\mbox{\boldmath\displaystyle\bf q}}{\mbox{\boldmath\textstyle\bf q}}{\mbox{\boldmath\scriptstyle\bf q}}{\mbox{\boldmath\scriptscriptstyle\bf q}}}}^{i^{\prime}}(A_{\tau})\sqsubseteq{\mathchoice{\mbox{\boldmath\displaystyle\bf q}}{\mbox{\boldmath\textstyle\bf q}}{\mbox{\boldmath\scriptstyle\bf q}}{\mbox{\boldmath\scriptscriptstyle\bf q}}}^{i^{\prime}}(A_{\tau}) implies that \bar{{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}}^{i}\sqsubseteq{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}^{i}. Further, A_{\tau}\bar{{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}}^{i}=0, and moreover, there exist such that \bar{{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}}^{i_{1}}\sqsubset{{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}}^{i_{1}} and \bar{{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}}^{i_{2}}\neq 0. Therefore, 0\neq\bar{{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}}=(\bar{{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}}^{1},\cdots,\bar{{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}}^{n})\sqsubset{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}.
Finally we show that A\bar{{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}}=0. This is equivalent as showing for every ,
[TABLE]
Using the equations \bar{{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}}^{i}={\mathchoice{\mbox{\boldmath\displaystyle\bf G}}{\mbox{\boldmath\textstyle\bf G}}{\mbox{\boldmath\scriptstyle\bf G}}{\mbox{\boldmath\scriptscriptstyle\bf G}}}(A_{\tau})\bar{{\mathchoice{\mbox{\boldmath\displaystyle\bf q}}{\mbox{\boldmath\textstyle\bf q}}{\mbox{\boldmath\scriptstyle\bf q}}{\mbox{\boldmath\scriptscriptstyle\bf q}}}}^{i}(A_{\tau}) and \sum_{i^{\prime}\in S_{k}^{i}}\bar{{\mathchoice{\mbox{\boldmath\displaystyle\bf q}}{\mbox{\boldmath\textstyle\bf q}}{\mbox{\boldmath\scriptstyle\bf q}}{\mbox{\boldmath\scriptscriptstyle\bf q}}}}^{i^{\prime}}(A_{k+1}^{\prime})=\bar{{\mathchoice{\mbox{\boldmath\displaystyle\bf Q}}{\mbox{\boldmath\textstyle\bf Q}}{\mbox{\boldmath\scriptstyle\bf Q}}{\mbox{\boldmath\scriptscriptstyle\bf Q}}}}^{i}(A_{k+1}^{\prime})={\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}(A_{k}^{\prime})\bar{{\mathchoice{\mbox{\boldmath\displaystyle\bf q}}{\mbox{\boldmath\textstyle\bf q}}{\mbox{\boldmath\scriptstyle\bf q}}{\mbox{\boldmath\scriptscriptstyle\bf q}}}}^{i}(A_{k}^{\prime}), we have
[TABLE]
Therefore, the claim is proved. ∎
We now show that \sum_{i=1}^{n}||{\mathchoice{\mbox{\boldmath\displaystyle\bf q}}{\mbox{\boldmath\textstyle\bf q}}{\mbox{\boldmath\scriptstyle\bf q}}{\mbox{\boldmath\scriptscriptstyle\bf q}}}^{i}(A_{\tau})||_{1}=\sum_{i,j}|q^{i}_{j}(A_{\tau})| is upper bounded by some value that only depends on . Using the fact that \sum_{i^{\prime}\in S_{k}^{i}}{{\mathchoice{\mbox{\boldmath\displaystyle\bf q}}{\mbox{\boldmath\textstyle\bf q}}{\mbox{\boldmath\scriptstyle\bf q}}{\mbox{\boldmath\scriptscriptstyle\bf q}}}}^{i^{\prime}}(A_{k+1}^{\prime})={{\mathchoice{\mbox{\boldmath\displaystyle\bf Q}}{\mbox{\boldmath\textstyle\bf Q}}{\mbox{\boldmath\scriptstyle\bf Q}}{\mbox{\boldmath\scriptscriptstyle\bf Q}}}}^{i}(A_{k+1}^{\prime})={\mathchoice{\mbox{\boldmath\displaystyle\bf G}}{\mbox{\boldmath\textstyle\bf G}}{\mbox{\boldmath\scriptstyle\bf G}}{\mbox{\boldmath\scriptscriptstyle\bf G}}}(A_{k}^{\prime}){{\mathchoice{\mbox{\boldmath\displaystyle\bf q}}{\mbox{\boldmath\textstyle\bf q}}{\mbox{\boldmath\scriptstyle\bf q}}{\mbox{\boldmath\scriptscriptstyle\bf q}}}}^{i}(A_{k}^{\prime}),we have
[TABLE]
Therefore,
[TABLE]
Obviously each , and hence its Graver basis, and hence ||{\mathchoice{\mbox{\boldmath\displaystyle\bf G}}{\mbox{\boldmath\textstyle\bf G}}{\mbox{\boldmath\scriptstyle\bf G}}{\mbox{\boldmath\scriptscriptstyle\bf G}}}(A_{k}^{\prime})||, is only dependent on . Furthermore, {\mathchoice{\mbox{\boldmath\displaystyle\bf Q}}{\mbox{\boldmath\textstyle\bf Q}}{\mbox{\boldmath\scriptstyle\bf Q}}{\mbox{\boldmath\scriptscriptstyle\bf Q}}}^{i}(A_{2}^{\prime})\in\mathcal{G}(A_{1}^{\prime}), hence ||{\mathchoice{\mbox{\boldmath\displaystyle\bf Q}}{\mbox{\boldmath\textstyle\bf Q}}{\mbox{\boldmath\scriptstyle\bf Q}}{\mbox{\boldmath\scriptscriptstyle\bf Q}}}^{i}(A_{2}^{\prime})||_{1}, and consequently \sum_{i=1}^{n}||{\mathchoice{\mbox{\boldmath\displaystyle\bf q}}{\mbox{\boldmath\textstyle\bf q}}{\mbox{\boldmath\scriptstyle\bf q}}{\mbox{\boldmath\scriptscriptstyle\bf q}}}^{i}(A_{\tau})||_{1}, is only dependent on . Thus, for \lambda=||{\mathchoice{\mbox{\boldmath\displaystyle\bf G}}{\mbox{\boldmath\textstyle\bf G}}{\mbox{\boldmath\scriptstyle\bf G}}{\mbox{\boldmath\scriptscriptstyle\bf G}}}(A_{\tau-1}^{\prime})||_{1}||{\mathchoice{\mbox{\boldmath\displaystyle\bf G}}{\mbox{\boldmath\textstyle\bf G}}{\mbox{\boldmath\scriptstyle\bf G}}{\mbox{\boldmath\scriptscriptstyle\bf G}}}(A_{\tau-2}^{\prime})||_{1}\cdots||{\mathchoice{\mbox{\boldmath\displaystyle\bf G}}{\mbox{\boldmath\textstyle\bf G}}{\mbox{\boldmath\scriptstyle\bf G}}{\mbox{\boldmath\scriptscriptstyle\bf G}}}(A_{2}^{\prime})||_{1}||{\mathchoice{\mbox{\boldmath\displaystyle\bf Q}}{\mbox{\boldmath\textstyle\bf Q}}{\mbox{\boldmath\scriptstyle\bf Q}}{\mbox{\boldmath\scriptscriptstyle\bf Q}}}^{i}(A_{2}^{\prime})||_{1} we have {\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}\in H(A), and the lemma is proved. ∎
A.4 Proof of Lemma 2
Proof of Lemma 2.
Notice that if we fix {\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}={\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}^{*}, then is the largest integer such that {\mathchoice{\mbox{\boldmath\displaystyle\bf l}}{\mbox{\boldmath\textstyle\bf l}}{\mbox{\boldmath\scriptstyle\bf l}}{\mbox{\boldmath\scriptscriptstyle\bf l}}}\leq{\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}+\gamma{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}^{*}\leq{\mathchoice{\mbox{\boldmath\displaystyle\bf u}}{\mbox{\boldmath\textstyle\bf u}}{\mbox{\boldmath\scriptstyle\bf u}}{\mbox{\boldmath\scriptscriptstyle\bf u}}} is still true. Therefore, if we consider each brick of the solution {\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}=({\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}^{1},{\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}^{2},\cdots,{\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}^{n}), then there exists some such that is the largest integer such that {\mathchoice{\mbox{\boldmath\displaystyle\bf l}}{\mbox{\boldmath\textstyle\bf l}}{\mbox{\boldmath\scriptstyle\bf l}}{\mbox{\boldmath\scriptscriptstyle\bf l}}}^{i}\leq{\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}^{i}+\gamma{\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}^{*i}\leq{\mathchoice{\mbox{\boldmath\displaystyle\bf u}}{\mbox{\boldmath\textstyle\bf u}}{\mbox{\boldmath\scriptstyle\bf u}}{\mbox{\boldmath\scriptscriptstyle\bf u}}}^{i} is still true. As {\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}^{*}\in H(A), {\mathchoice{\mbox{\boldmath\displaystyle\bf g}}{\mbox{\boldmath\textstyle\bf g}}{\mbox{\boldmath\scriptstyle\bf g}}{\mbox{\boldmath\scriptscriptstyle\bf g}}}^{*i}\in H(A) for every . Now for every {\mathchoice{\mbox{\boldmath\displaystyle\bf h}}{\mbox{\boldmath\textstyle\bf h}}{\mbox{\boldmath\scriptstyle\bf h}}{\mbox{\boldmath\scriptscriptstyle\bf h}}}\in H(A) and every , we find out the largest integer \gamma_{{\mathchoice{\mbox{\boldmath\displaystyle\bf h}}{\mbox{\boldmath\textstyle\bf h}}{\mbox{\boldmath\scriptstyle\bf h}}{\mbox{\boldmath\scriptscriptstyle\bf h}}},i} such that {\mathchoice{\mbox{\boldmath\displaystyle\bf l}}{\mbox{\boldmath\textstyle\bf l}}{\mbox{\boldmath\scriptstyle\bf l}}{\mbox{\boldmath\scriptscriptstyle\bf l}}}^{i}\leq{\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}^{i}+\gamma_{{\mathchoice{\mbox{\boldmath\displaystyle\bf h}}{\mbox{\boldmath\textstyle\bf h}}{\mbox{\boldmath\scriptstyle\bf h}}{\mbox{\boldmath\scriptscriptstyle\bf h}}},i}{\mathchoice{\mbox{\boldmath\displaystyle\bf h}}{\mbox{\boldmath\textstyle\bf h}}{\mbox{\boldmath\scriptstyle\bf h}}{\mbox{\boldmath\scriptscriptstyle\bf h}}}^{i}\leq{\mathchoice{\mbox{\boldmath\displaystyle\bf u}}{\mbox{\boldmath\textstyle\bf u}}{\mbox{\boldmath\scriptstyle\bf u}}{\mbox{\boldmath\scriptscriptstyle\bf u}}}^{i} is true and add this integer to . Obviously and . ∎
A.5 Constructing an initial feasible solution
We have proved the correctness of Theorem 2 if a feasible initial solution is given. In case a feasible solution is unknown, we construct an auxiliary tree-fold integer programming such that i). the initial feasible solution of the auxiliary programming is trivial; ii). the optimal solution of the auxiliary programming gives a feasible initial solution for the original tree-fold programming (1). The argument is essentially the same as that of [4].
We add auxiliary variables. For each {\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}^{i}, we add auxiliary variables and let them be {\mathchoice{\mbox{\boldmath\displaystyle\bf z}}{\mbox{\boldmath\textstyle\bf z}}{\mbox{\boldmath\scriptstyle\bf z}}{\mbox{\boldmath\scriptscriptstyle\bf z}}}^{i}. The new vector of variables becomes ({\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}^{1},{\mathchoice{\mbox{\boldmath\displaystyle\bf z}}{\mbox{\boldmath\textstyle\bf z}}{\mbox{\boldmath\scriptstyle\bf z}}{\mbox{\boldmath\scriptscriptstyle\bf z}}}^{1},{\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}^{2},{\mathchoice{\mbox{\boldmath\displaystyle\bf z}}{\mbox{\boldmath\textstyle\bf z}}{\mbox{\boldmath\scriptstyle\bf z}}{\mbox{\boldmath\scriptscriptstyle\bf z}}}^{2},\cdots,{\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}^{n},{\mathchoice{\mbox{\boldmath\displaystyle\bf z}}{\mbox{\boldmath\textstyle\bf z}}{\mbox{\boldmath\scriptstyle\bf z}}{\mbox{\boldmath\scriptscriptstyle\bf z}}}^{n}).
We introduce a lower bound of [math] and upper bound of ||{\mathchoice{\mbox{\boldmath\displaystyle\bf b}}{\mbox{\boldmath\textstyle\bf b}}{\mbox{\boldmath\scriptstyle\bf b}}{\mbox{\boldmath\scriptscriptstyle\bf b}}}||_{\infty} for each auxiliary variable. For each , we replace each with .
We change the objective function as the summation of all the auxiliary variables.
A feasible initial solution for the auxiliary ILP could be easily derived by setting {\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}=0 and approperiate values to the auxiliary variables. Furthermore, the optimal solution of the auxiliary ILP is [math] if and only if there exists a feasible solution for (1). Therefore, we can apply our algorithm of the previous subsection to solve the auxiliary ILP and derive its optimal solution, which provides an initial feasible solution for the original tree-fold integer programming (1).
A.6 Proof of Lemma 4
Proof of Lemma 4.
Let be the set of leaves. In the following we show that it is possible to select a subset such that there exists a subtree of weight at most that contains each vertex of , and furthermore, if we delete (together with the edge incident to them) from the tree , there exists a feasible solution of the ILP for the remaining tree with the objective value at most . If the above claim is true, we can iteratively carry on the argument to construct subtrees that contain every vertex of and the lemma is proved.
We pick an arbitrary such that . Consider the children of the root . According to constraint , for any location such that (i.e., the location of the vertices who are children of the root of ), we have
[TABLE]
Hence, for any such that , there exists at least one child of , say, , such that . We pick an arbitrary one (if there are multiple) of such vertices for every and let be the set of these vertices.
Consider an arbitrary where . According to constraint , for any such that , we have
[TABLE]
Hence, for any such that , there exists at least one child of , say, such that . We pick an arbitrary one of such vertices for every such that , and let be the set of these vertices.
Suppose in general we have constructed the set of vertices such that
- •
for any , ;
- •
for any such that , there exists exactly one vertex such that .
If there exists at least one vertex of which is not a leaf, we proceed as follows. For any which is not a leaf and any such that , the following is true:
[TABLE]
Hence, there exists at least one child of , say, such that . We pick an arbitrary one of such vertices for every and let be the set of them. Otherwise every vertex of is a leaf and we stop.
Eventually we derive a sequence of sets and let be the union of them.
Let be the induced subgraph of . Firstly, we claim that is a subtree of the original tree . To see why, it suffices to notice that every vertex of is connected to the root .
Secondly, we claim that every leaf of the subtree is also a leaf in . This is straightforward. Let be an arbitrary leaf of which is not a leaf in the original graph, then according to our iterative construction, we will further consider the children of and add some of them to .
Thirdly, we claim that the weight of is at most . Indeed, the claim follows directly as every vertex of is consistent to some vertex in .
Let be the set of leaves in . We delete and the edges incident to them in and consider the ILP for the remaining subtree . It is easy to verify that the following solution is a feasible solution to with the objective of at most :
[TABLE]
Therefore given a feasible integer solution with the objective value at most , we can iteratively construct at most subtrees such that every vertex is covered, and the lemma is proved. ∎
A.7 Tuning the ILP
We alter the ILP a bit so that it becomes a tree-fold integer programming.
Given , we let . For , we define . Recall that is the function that maps the location of a vertex to the location of its parent in , therefore the set of locations of vertices satisfying the following: i). they are descendants of the location vertex; ii). for each of them, the unweighted distance to the location vertex is .
We show that, it is possible to remove all the variables where is not a leaf and establish an equivalent ILP.
Let be the set of all leaves of the subtree rooted at . By constraint , we have the following
[TABLE]
If is not a leaf, we could further express into the summation of other variables. In general, consider any vertex whose depth is . As the depth of every leaf is , the unweighted distance of any leaf in to is , and we have the following:
[TABLE]
Specifically,
[TABLE]
Now every could be expressed using where is a leaf. We replace the objective function using the above equations.
Let be the subset of locations of whose depth is , and let , we replace constraint by the following:
[TABLE]
where is the set of vertices of depth .
It is obvious that the new ILP is equivalent as the original ILP since we simply replace each where is not a leaf with the equality it satisfies.
In the following we show that the modified ILP belongs to the tree-fold integer programming. It suffices to consider constraints and . Let {\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}^{i}= , , , and {\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}=({\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}^{1},{\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}^{2},\cdots,{\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}^{|LF|})^{T}.
Consider constraint :
[TABLE]
Let . We define , constraint could be written as \sum_{i}A_{1}{\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}^{i}=(1,1,\cdots,1)_{1\times\mu\zeta}.
Consider constraint . For any vertex where , the constraint could be rewritten as \sum_{s:v_{s}\in LF(v_{i})}A_{\tau-h}{\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}^{s}=0 where consists of different rows, and each row consists of such that the entry that becomes the coefficient of after multiplication is , the entry that becomes the coefficient of after multiplication is , and other entries are [math]. Given the fact that , it is not difficult to verify that contraints and could be written as A{\mathchoice{\mbox{\boldmath\displaystyle\bf x}}{\mbox{\boldmath\textstyle\bf x}}{\mbox{\boldmath\scriptstyle\bf x}}{\mbox{\boldmath\scriptscriptstyle\bf x}}}=b where is a tree-fold matrix consisting of submatrices , , , .
Now applying Theorem 2, an time algorithm for the subtree cover problem is derived for some function , and Theorem 1 is proved.
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[1] Lin Chen, Klaus Jansen, and Guochuan Zhang. On the optimality of approximation schemes for the classical scheduling problem. In Proceedings of the Twenty-Fifth Annual ACM-SIAM Symposium on Discrete Algorithms , pages 657–668. Society for Industrial and Applied Mathematics, 2014.
- 2[2] Jesús A De Loera, Raymond Hemmecke, and Matthias Köppe. Algebraic and geometric ideas in the theory of discrete optimization , volume 14. SIAM, 2013.
- 3[3] Jack E Graver. On the foundations of linear and integer linear programming i. Mathematical Programming , 9(1):207–226, 1975.
- 4[4] Raymond Hemmecke, Shmuel Onn, and Lyubov Romanchuk. N-fold integer programming in cubic time. Mathematical Programming , 137(1-2):325–341, 2013.
- 5[5] Raymond Hemmecke, Shmuel Onn, and Robert Weismantel. A polynomial oracle-time algorithm for convex integer minimization. Mathematical Programming , 126(1):97–117, 2011.
- 6[6] Dorit S Hochbaum and David B Shmoys. Using dual approximation algorithms for scheduling problems theoretical and practical results. Journal of the ACM (JACM) , 34(1):144–162, 1987.
- 7[7] Serkan Hoşten and Seth Sullivant. A finiteness theorem for markov bases of hierarchical models. Journal of Combinatorial Theory, Series A , 114(2):311–321, 2007.
- 8[8] Bart MP Jansen and Stefan Kratsch. A structural approach to kernels for ilps: Treewidth and total unimodularity. In Algorithms-ESA 2015 , pages 779–791. Springer, 2015.
