Abstract
Linear programming is an important approach that is used to represent a large class of combinatorial optimization problems. The simplex algorithm is one of the algorithms for solving linear programming problems with exponential time complexity. Fortunately, this algorithm solves real-world problems with polynomial time complexity. In particular, a new Integer Linear Programming model (ILPM) is proposed for partially ordered sets. Robert Dilworth’s Decomposition theorem is formulated by ILPM and proves its correctness using the paradigm of strong duality in linear programming. Finally, ILPM is run on fifteen benchmark partially ordered sets for finding their width. The computational experiments show the validity of the proposed model.
1. Introduction
Linear programming is a very rich problem-solving model which is used to represent a large class of optimization problems. Optimization problems are defined as problems whose solutions represent maximum values (such as maximum profit) or minimum values (such as minimum cost). There are various types of optimization problems such as constraint optimization problems and unconstraint optimization problems. On the other hand, there are many types according to the nature of the variables of the optimization problem, such as linear programming, integer linear programming, and nonlinear programming. There are various algorithms to solve linear programming problems, the most famous of which are the simplex algorithm and the interior point algorithm. The simplex algorithm is one of the ten best mathematics algorithms of the twentieth century [1]. By a common numerical example, Klee and Minty [2] proved that the simplex algorithm is not a polynomial time algorithm. Fortunately, this algorithm solves real-world problems of polynomial time complexity.
Casting optimization problems into a linear program version is an art. The tools of this art are represented in the complete knowledge of the issue of optimization to be represented by a linear program. The second of these tools is the complete knowledge of the general form of the linear program (objective function–constraints–the right-hand side of the constraints (constants)–non-negative–etc). The third of these tools is the practice of formulating a set of optimization problems into a linear program version. For graph labeling problems, Badr et al. [3–5] introduced new integer linear programming models (ILPMs) to find the upper bounds of the radio number, a radio mean number, and radio mean square number for a given graph, respectively. The proposed ILPMs outperformed other algorithms according to the running time. For the metric dimension of a given graph, Chartrand et al [6] formulated the optimization problem of determining the metric dimension of a given graph (G). For the traveling salesman problem, there are different mathematical models [7–9] for the traveling salesman problems.
The problem of efficient tasks scheduling is ubiquitous in many areas of computer science and engineering. We are often given a collection of tasks to complete, in which some jobs can be done in parallel, and others must be done in a predefined sequence. In general, we can formulate these problems by constructing a poset of objects (representing tasks) in which some elements are “comparable” (jobs that must be done in predefined sequence), and others are “incomparable” (jobs that can be done in parallel). If our goal is to devise an efficient task scheduling algorithm, we might be interested in finding the largest subset of tasks that can be completed in parallel (the maximum antichain problem). Or we may be interested in the related problem of distributing all the tasks between the fewest number of subgroups (e.g., for parallel processing) such that all jobs in a subgroup must be completed in a predefined sequence (the minimum chain covering problem).
For more details about the history of the decomposition of the partially ordered sets posets, the reader can refer to [10–16]. On the other hand, for more details about how to formulate a problem as a mathematical model the reader is referred to [17–19]. Finally, for more details about the well know optimal PMU placement the reader is referred to [20–22].
In this paper, a new integer linear programming model (ILPM) is proposed for posets. Robert Dilworth’s Decomposition theorem is formulated by ILPM and proves its correctness using the paradigm of strong duality in linear programming. Finally, ILPM is run on fifteen benchmark partially ordered sets for finding their width. The computational experiments show the validity of the proposed model.
The remaining of this paper is organized as follows: basic definitions and notations are introduced in Section 2. In Section 3, Dilworth theorem and its mathematical formulation are proposed. In Section 4, the experimental results analysis of the proposed ILPM on fifteen benchmark posets are provided. In Section 5, conclusions are made.
2. Preliminaries
Before presenting Dilworth’s Theorem, we need to have a notion of comparability between elements in a set. To formalize this notion, we define some properties of binary relations to represent a partially ordered set (poset). We then illustrate how subsets of elements in a poset can have chain or antichain properties.
2.1. Binary Relations
Elements of a set can have relational properties such as transitivity or antisymmetry.
Definition 1. A binary relation,, on a set is transitive if and only if (a b and b c) implies a c for all a, b, cϵ
Definition 2. A binary relation , on a set is anti-symmetric if and only if (a ≠ b and ab) implies b a for all a, bϵ.
We use binary relations with these specific properties to represent a partial order on a set of elements, in which some pairs of elements are comparable by In context of a task scheduling problem, this means that job. must be completed before.
Definition 3. A partially-ordered set, or poset, is a set of elements , along with a binary relation , having the property that is transitive and antisymmetric for all elements in .
Note that, two elements and can also be incomparable, that is, when we have both and . In this case, tasks and may be completed in parallel.
We also define maximal and minimal elements in a poset:
An element is maximal in a subset if it is not smaller than, any other element in S, i.e. for all . Similarly, an element is minimal S if it is not greater than any other element i.e. for all .
Definition 4. A subset of elements forms an antichain if and only if for all i≠ j. That is all elements in are pairwise incomparable.
Definition 5. A subset of elements Ƥ forms a chain if and only if they satisfy for all for some ordering of elements in C. That is all elements in C are pairwise comparable.
For example, in a task scheduling problem, if a subset of jobs forms an antichain. Then, all these jobs may be completed in parallel. If a subset of jobs forms a chain, then these jobs must be completed in the sequence determined by . Furthermore, it is useful to describe a covering of a poset by chains to be a collection of chains such that every element of Ƥ is contained in the union of these chains, that is, . This is related to distributing all tasks on parallel processors so that jobs assigned to any processor are to be completed in a predefined sequence.
3. Dilworth’s Theorem
With these definitions in hand, we can now formulate Dilworth’s theorem [10] on the size of maximum antichains and minimum chain coverings in a poset.
Theorem 1. (Dilworth’s Theorem). The size of the largest antichain in any poset is equal to the size of the minimum coverage of by chains.
We can construct a proof of Dilworth’s theorem using the pigeonhole principle and Duality in linear programming. If we let:
A = max {: is antichain of Ƥ} (size of largest antichain in ), and B = min (minimum number of chains needed to cover ), then one way to prove Dilworth’s theorem is to show and .
To prove , we use the pigeonhole principle.
Lemma 1. The size of any chain in a poset is equal to at most the minimum number of chains needed to cover , i.e. .
Proof. As above-mentioned, let B be the minimum number of chains needed to cover . Assume, for the sake of contradiction, that an antichain in Ƥ has size n > B. Then, by the pigeonhole principle, at least two distinct elements , must be members of the same chain so that, by Definition 5, we have or . However, by Definition 4, this means and are not in the same chain, a contradiction. Thus, no antichain in can have size greater than B, whereby it follows the maximum size antichain in is also no larger B.
3.1. Casting as a Linear Program
To prove A is more difficult. We can begin by trying to cast the objective of finding the maximum size antichain of a poset as a linear program.
3.1.1. Primal Form
Assign non-negative weights respectively to each element ϵP. Each chain will have an associated constrain inequality over the elements that comprise it. Consider the following linear program in canonical form:
3.1.2. Dual Form
In addition, we can convert (1) to its dual form, where variables represent chains on , and each element has an associated constrain inequality over the collection of chains that contain it (note the symmetry). Assign non-negative weights.
, respectively, to each chains . The dual of (1) (henceforth denoted (2)) is
We begin by showing that if the primal (1) and (2) have integer solutions, then the objective z in (1) gives the size of the maximum antichain in , and the objective in (2) gives the size of the minimum coverage of by chains.
Proposition 1. If for all weights in , then solving primal (1) gives the maximum antichain in .
Proof. In the case that all are non-negative integers, we wish to show that the objective of (1), , is equal to , where is any maximum antichain in .
Observe that constrains in (1), for all chains impose the following requirement on the variable if we assume they are all non-negative integers:
Claim 1. For all chains , at most one of the weights associated with elements in is equal to 1. All other weights must be 0.
Proof of Claim 1. For the sake of contradiction, assume that more than one element in chain C has a positive weight. We would then have since all are non-negative integers, thereby violating constrains of the linear program.
It follows that for all i. Now consider each as an indicator variable for whether element appears in an antichain , i.e. let if and otherwise.
Since at most one indicator variable in any chain is positive, the solution to (1) satisfies the requirement that no two elements chosen for the maximum antichain come from the same chain.
Furthermore, under the indicator variable interpretation, the objective of maximizing corresponds to choosing the maximum number of elements to include in an antichain of , so we have , as desired. This proves Proposition 1 that an integer solution to (1) gives the size of the maximum antichain in .
Now, we prove the analogous proposition for the dual form.
Proposition 2. If for all weights in then solving dual (2) gives the size of the minimum covering of P by chains.
Proof. The reasoning is analogous to that of Proposition 1.
The constrains, in (2), for all elements, impose the following requirement on variables if we assume they are all non-negative integers:
Claim 2. For all , at least one of weights associated with the set of chains containing is positive.
Proof of Claim 2. It follows immediately from the constrains. If, for some element , none of the weights associated with chains that contain are positive, then , thereby violating the constrain of the linear program.
Furthermore, since the linear program seeks to minimize with all as integers, we must have that whenever is chosen positive. Thus, with for all j, we can again consider each as an indicator variable for whether chain in a minimum covering of .
Note again that for each element , at least one indicator variable is associated with a chain containing equal 1, so the solution to (2) satisfies the requirement that all elements appear in the minimum chain covering.
Furthermore, under the indicator variable interpretation, the objective of minimizing corresponds to choosing the minimum number of chains to include in a covering of , so we have , as desired. This proves Proposition 2 that an integer solution to (2) gives the minimum covering of by chains.
Now, we need to show that both the primal and dual linear programs indeed have integer solutions.
Lemma 2. For any distribution of chains in a poset, (1) has an optimal solution where all variables take on integer values.
Proof. Proof is by the Well-ordering Principle and contradiction of an optimal solution to (1) with the fewest number of noninteger variables ( weights). Let N be the set of elements in corresponding to these noninteger weights. Some of these elements will be maximal in N, and others will be minimal (recall definitions in Section 2). We first need to verify that.
Claim 3. No elements in N can be both minimal and maximal.
Proof of Claim 3. Suppose, for the sake of contradiction, that an element is both minimal and maximal. Then, is incomparable to all other elements in N (recall definitions in Section 2). It follows that is associated weight is subject only to a single constrain that in (1), whereby would be assigned a value of 1 to maximize the objective. This contradicts the assumption that is a not an integer, thus proving the claim.
Since no elements in N are both minimal and maximal, it follows that each chain has exactly one maximal element, and a different minimal element.
Suppose we add a small value to each maximal element in N, and subtract e from each minimal in N. Since all elements in N are nonintegers we ensure that the resulting assignment of variables is feasible by choosing small enough so that is still satisfied by all , as required by the constraints of (1).
If we keep repeating this procedure, then at least one variable corresponding to a maximal/minimal element in N will reach a boundary value of 0 or 1. This contradicts the assumption that N has the fewest number of noninteger variables in a feasible solution. Thus, all variable assignments in an optimal solution to (1) must be integers, so Lemma 2 holds for primal (1). Next, we need to show that dual (2) also has integer solutions.
Lemma 3. For any distribution of chains in a poset, (2) has an optimal solution where all variables take on integer values.
Proof. First, we apply the result of strong duality in linear programming (see [19] for details). Which says that the primal and dual forms of a linear program have the same optimal value. We prove using induction that if kϵ is the optimal value to LP2 on a poset , then has a covering by k chains where all variables in (2) take on integer values.
Inductive hypothesis: for any poset having an integer optimal (2) objective value of k, the optimal solutions to the LPs associated with strict subsets of are integers.
Base case. Consider a post in which all elements form a single, with optimal objective value . From the constraints of (2), this optimal solution will have a single variable (corresponding to the chain containing all elements in ) take on the value of 1, and the other y’s take on the value of 0. It follows that optimal solutions to each LP associated with subsets of will also have integer weights. Thus, the inductive hypothesis holds for .
Now, suppose that an optimal solution for (2) on poset has a variable assignment that is not an integer (note that the optimal value for this LP must be an integer ). We can remove from all elements in the chain associated with variable to obtain a new poset .
Let be the objective function value of for this a new poset . We observe that is at most because all elements comprising the chain with weight were removed so that . Since is a strict subset of , is an integer by the inductive hypothesis, so . Furthermore, the inductive hypothesis tells us that has a covering by chains where all weights assignments to the chains are integers. It follows that we get a covering of by k chains if we simply assign weight of to , achieving the desired objective the desired value of . This completes the inductive argument and proof of Lemma 3.
Taking Lemma 2 and 3 in conjunction with Proposition 1 and 2 gives the desired result that, for all partially-ordered sets : Solving (1) gives the size of the largest antichain in Solving (2) gives the size of the smallest covering of by chainsAgain, by applying the result of strong duality [19] in linear programming, we conclude that primal (1) and dual (2) have the same optimal value. Therefore, (1) s solution for the size of the largest antichain in a poset and (2) solution for the size of the minimum chain covering of a poset are equal, proving Theorem 1 (Dilworth’s Theorem).
3.2. A Polynomial-Size Linear Program
In this section, we introduce Proposition 3 on which the proposed integer linear programming model is based.
Proposition 3. An assignment of indicator values {0, 1} to produces an antichain if and only if for all edges .
Proof. First, we show that any antichain in satisfies the constraints. An antichain cannot contain any two elements that are comparable (Definition 4). Note that, any two comparable elements in are connected by an edge in G. Thus, we may choose at most one vertex from each edge , meaning that at most one of , equals 1, from which it follows that for all edges .
Conversely, we show that any assignment of indicator variables satisfying the constraints produces a valid antichain.
If for all edges , then most one indicator variable , is positive because . Hence, at most one vertex (element in ) on each edge is chosen to be in the antichain. Since all pairwise comparable elements in are connected by edges in our construction of E(G), it follows that no two elements chosen in the antichain will be comparable, satisfying Definition 4. This proves Proposition 3.6.
3.2.1. Formulation of the Problem as a Mathematical Model
For any poset with element set , we can construct an comparable incidence matrix A, having entry if elements are comparable and otherwise. Now, associated with each element an indicator variable that corresponds to using or not using that element in an antichain of .
Now, we can formulate the problem of the decomposed poset as follows:where is the matrix which is generated from the matrix A (based on Proposition 3) such that m is the number of ones in the matrix A, and (all elements in vector b equal to 1).
Example 1. We show how to formulate the problem of decomposed partially ordered set (as shown in Figure 1) as an integer linear programming model.
The comparable incidence matrix A that is corresponding to the post P.The matrix is generated from matrix A:Each row in the matrix represents an inequality based on Proposition 3.7.
Finally, the complete integer linear programming model is as the following:We can use an available software package such as (MATLAB, Python, and LINGO) for solving the above mathematical model which returns the solution is equal to three.

4. Computational Experiments
In this section, we evaluate the proposed ILPM by fifteen benchmark posets. These posets are characterized by some characteristics such as (various widths , various sizes (n), and various heights h(P)) Figure 2 contains fifteen benchmark posets with their width and jump number.

The used environment is a 64-bit Windows 8.1 Operating System with Core (TM) i5 CPU M 460 @2.53 GHz, 4.00 GB of memory, and MATLAB v7.01 Software Package.
From Table 1 and Figure 3, it is obvious that the results of the proposed mathematical model (ILPM) coincide with the standard results for all fifteen benchmark posets.

It is also evident from Table 1 and Figure 4 that the execution time of ILPM increases as the width of the poset increases. That is, the running time of ILPM is directly proportional to the width of the post. Fortunately, the behavior of the simplex algorithm used to solve ILPM is a polynomial time to solve real-world applications, regardless of being exponential time as proven in [2]. For this reason, we have done our best to create a poset in the form of the examples provided by Klee and Minty in 1972 in which they proved that the simplex algorithm is exponential time, but we have failed to do.

Because the examples presented by Klee and Minty depend on (right-hand side constants, the coefficients of the constraint matrix, and the coefficients of the objective function), rarely, do these problems exist as real-world problems. We conclude from this that the presented model will be implemented in a polynomial time. It is well-known that the complexity of the simplex algorithm is O(n2) for real-world applications in the average case where n is the number of elements of a poset.
5. Conclusion
A new integer linear programming model (ILPM) has been proposed for posets. Robert Dilworth’s Decomposition theorem is formulated by ILPM and proved its correctness using the paradigm of strong duality in linear programming. Finally, ILPM is run on fifteen benchmark partially ordered sets for finding their width. The computational experiments showed the validity of the proposed model. On the other hand, CPU Time has been calculated for fifteen benchmark partially ordered sets. From computational experiments, it was concluded that the CPU time increases as the width increases. In future work, the proposed ILPM will be evaluated by using special posets such as interval posets, lattice, crown posets, and k-tower poset. ILPM will be applied on the jump-critical ordered sets [23].
Data Availability
The data used to support the findings of this study are available from the corresponding author upon request.
Conflicts of Interest
The authors declare that they have no conflicts of interest.
Acknowledgments
The authors are thankful to Runpeng Liu for his suggestions that make this manuscript better.