_{1}

In this study we discuss the use of the simplex method to solve allocation problems whose flow matrices are doubly stochastic. Although these problems can be solved via a 0 - 1 integer programming method, H. W. Kuhn [1] suggested the use of linear programming in addition to the Hungarian method. Specifically, we use the existence theorem of the solution along with partially total unimodularity and nonnegativeness of the incidence matrix to prove that the simplex method facilitates solving these problems. We also provide insights as to how a partition including a particular unit may be obtained.

The type of allocation problems in which flow matrices are doubly stochastic can be solved via 0 - 1 integer programming, which, however, is generally not solvable in polynomial time. To address this issue, Kuhn [

In our Proposal 2033 in Mathematics Magazine [

In this study, we examine the use of the simplex method for this type of problems by using the existence theorem of the solution along with partially total unimodularity and nonnegativeness of the incidence matrix. Specifically, we provide the proof that solutions to these problems can be obtained using the simplex method, which is also easy to use and usually attains a solution efficiently. We also consider a modified problem to obtain a partition including a particular unit.

The remainder of the paper is organized as follows. Section 2 describes the type of allocation problems, the object of this study. Section 3 illustrates the simplex method, while Section 4 concludes.

Let G = ( V , E ) be a graph, where V is a vertex set and E is an edge set. We consider the following allocation problem:

Problem There are kn units comprising n kinds of goods, and the same k ( 1 ≤ k < n ) units are available for each of them. After randomization, the kn units are divided into n groups. Is it possible to obtain k partitions, each of which consists of n different goods, by choosing one goods from each group?

Proposal 2033 [

We let G = ( S + T , E ) be a bipartite graph (which admits multiple edges) with bipartition { S , T } . In this case, S includes n groups, while T comprises n different goods. We assign e i j , i ∈ S , j ∈ T if there is a goods j in group i. We notice that G is k-regular, that is, every vertex v ∈ G has degree d G ( v ) = k .

We use the following lemma of independent interest (see also [

Lemma 2.1 (cf. [

Proof. Summing up the number of edges,

| E | = ∑ s ∈ S d G ( s ) = ∑ t ∈ T d G ( t ) .

As G is k-regular and bipartite,

| E | = k | S | = k | T | ,

namely,

| S | = | T | .

We denote N ( X ) ⊂ T as the neighbors of X ⊂ S .

Let

N = { | ( x , y ) ∈ E | | x ∈ X , y ∈ N ( X ) } .

Then,

N = k | X | for X ⊂ S

and

N ≤ k | N ( X ) | for N ( X ) ⊂ T .

Therefore,

| X | ≤ | N ( X ) | .

Hence, as per Hall’s theorem [

Thus, we give an affirmative answer to the problem.

Theorem 2.2. In the problem setting, there are k disjoint perfect matchings in G = ( S + T , E ) .

Proof. We apply Lemma 2.1, and recursively obtain and delete the resulting perfect matching k times. □

We now consider how to solve the problem in specific instances.

By adding a source node s to the left of S, and a sink node t to the right of T, and by setting capacities of all arcs C i j to 1, we can consider the resulting network N = ( G , s , t , C ) . Then, given that the problem can be regarded as a maximum flow problem, we can treat it as a variety of the Ford-Fulkerson method (see [

We associate a matrix U ( n × k n ) with the bipartite graph G = ( S + T , E ) as

U = ( u i e ) = [ 1 ⋯ 1 0 1 ⋯ 1 ⋱ 0 1 ⋯ 1 ] , (1)

where u i e = 1 for i ∈ S , e ∈ E , and u i e ′ = 0 for i ∈ S , e ′ ∉ E .

We also define a matrix V ( n × k n ) as

V = ( v j e ) , (2)

where v j e = 1 for j ∈ T , e ∈ E , and v j e ′ = 0 for j ∈ T , e ′ ∉ E .

We define an incidence matrix W ( 2 n × k n ) as

W = [ U V ] . (3)

We let x i j ( 0 ≤ x i j ≤ 1 ) be a flow between i ∈ S and j ∈ T ( | S | = | T | = n ) , and N ( i ) be the neighbor of i. We let

x = ( x 11 , ⋯ , x 1 k , x 21 , ⋯ , x 2 k , ⋯ , x n 1 , ⋯ , x n k ) = ( x 1 , ⋯ , x k n ) . (4)

We can now formulate the problem as the following 0 - 1 integer programming problem to find its partition:

Problem I (PI)

minimize − e T x

subject to W x = 1 (5)

x ∈ { 0 , 1 } k n ,

where e = ( 1 , ⋯ , 1 ) T ∈ ℤ + k n , and 1 = ( 1 , ⋯ , 1 ) T ∈ ℤ + 2 n .

Note that there may be multiple edges. We are able to solve (PI) via 0 - 1 programming method, since Lemma 2.1 guarantees the existence of solutions. However, it may be intractable as n becomes large, since 0 - 1 integer programming problems are generally NP-hard.

We show the following result.

Theorem 3.1. Consider the linear programming problem

minimize − e T x

subject to A x = 1 (6)

x ≥ 0 ,

where A : n × m ( n ≤ m ) is a nonnegative totally unimodular matrix of which columns with exactly one 1 include a permutation matrix. Then, (6) has an optimal 0 - 1 solution x * ∈ { 0 , 1 } m .

Proof. The linear programming problem (6) has a basic optimal solution from [ [

We consider the relationship between (PI) and its linear relaxation problem:

Problem L (PL)

minimize − e T x

subject to W x = 1 (7)

x ≥ 0 .

We now restrict the linear programming method to the simplex method, since x i = 1 k , i = 1 , ⋯ , k n is a trivial solution to (PL).

We can now establish the following result.

Theorem 3.2. The simplex method applied to (PL) solves (PI).

Proof. Noting that U, V are nonnegative totally unimodular matrices of which columns include a permutation matrices (N.B., even W is totally unimodular from [ [

minimize − e T x

subject to U x = 1

x ≥ 0 ,

and solutions to

minimize − e T x

subject to V x = 1

x ≥ 0 ,

there may be a 0 - 1 solution x ˜ ∈ { 0 , 1 } k n from Theorem 3.1. In fact, there exists a 0 - 1 solution x ˜ ∈ { 0 , 1 } k n to (PL) in light of Lemma 2.1.

Hence, the simplex method applied to (PL) solves (PI), since it terminates at a basic optimal point [ [

Example 1. A deck of cards ( n = 13 , k = 4 ).

See

The experiments are implemented on a laptop, using FORTRAN to code the simplex method. At first, there are 52 variables and 26 constraints. The solutions are as follows:

k = 4 (initial): 54 iterations

(K♢, 9♣, 8♢, J♠, 2♠, Q♡, 6♠, 5♡, 7♡, 3♡, 10♡, A♣, 4♢),

k = 3 (delete the previous solution): 32 iterations

(J♣, 8♣, 7♢, 3♢, 6♢, 5♠, A♡, Q♣, 10♠, K♡, 2♢, 4♠, 9♠),

k = 2 (delete the previous solution): 28 iterations

(7♣, Q♠, 9♢, K♠, 8♡, 5♢, 2♣, 4♡, 6♡, A♢, J♡, 3♠, 10♢),

k = 1 (the remainder)

(Q♢, 6♣, 5♣, 9♡, A♠, 3♣, 7♠, K♣, 4♣, 2♡, 8♠, 10♣, J♢).

We should note that the objective function value of (7) is -n from the proof of Theorem 3.2. Therefore, the simplex method terminates in Phase I, in which case, we may generally expect high efficiency.

It is also worth noting that we can select a particular unit (e.g., A♠) in a partition, since the existence of such a partition is guaranteed by Theorem 2.2. For this purpose, we set the coefficient e ′ as

e ′ = ( 1 , ⋯ , 1 , 1 + s , 1 , ⋯ , 1 ) ∈ ℤ + k n

i.e., e ′ j 0 = 1 + s ( s > 0 , s ∈ ℤ + ) for the edge including the particular unit, and e ′ i = 1 for i ≠ j 0 .

Group | Cards |
---|---|

1 | 7♣ K♢ J♣ Q♢ |

2 | 8♣ 9♣ 6♣ Q♠ |

3 | 7♢ 8♢ 9♢ 5♣ |

4 | J♠ 9♡ K♠ 3♢ |

5 | 8♡ A♠ 6♢ 2♠ |

6 | Q♡ 3♣ 5♢ 5♠ |

7 | A♡ 2♣ 6♠ 7♠ |

8 | K♣ 4♡ 5♡ Q♣ |

9 | 4♣ 10♠ 6♡ 7♡ |

10 | K♡ 2♡ 3♡ A♢ |

11 | 10♡ 2♢ J♡ 8♠ |

12 | 4♠ 10♣ A♣ 3♠ |

13 | 10♢ 9♠ J♢ 4♢ |

♠: Spades, ♡: Hearts, ♢: Diamonds, ♣: Clubs.

Consider the following problem:

Problem L1 (PL1)

minimize − e ′ T x

subject to W x = 1 (8)

x ≥ 0 .

Then, the solution of (8) becomes the desired partition, as formalized in the following theorem.

Theorem 3.3. The simplex method applied to (PL1) determines a partition that includes the particular unit.

Proof. The simplex method is valid since, as per Theorem 2.2, there are feasible points in both (PI) and (PL1). In this case, the simplex method terminates in either Phase I or Phase II, when the objective function value − n − s is attained. □

By setting e ′ 17 = 2 , e ′ i = 1 , i = 1 , ⋯ , 16 , 18 , ⋯ , 52 in order to select A♠ in Example 1, we obtained the solution

(K♢, 9♣, 8♢, J♠, A♠, Q♡, 6♠, 5♡, 7♡, 2♡, 10♡, 3♠, 4♢).

after 60 iterations (Phase I: 54 iterations, Phase II: 6 iterations) in total.

In general transportation problems, i.e., when e ≥ 0 are arbitrary and | S | = | T | = n but there are no multiple edges, the number of variables becomes n 2 , which tends to be much larger than kn. This may cause difficulties in using the simplex method. Note that, for the considered problem (kn variables), the simplex method is efficient, and we can select an arbitrary unit in the solution.

In this study, we derived the result for allocation problems which can be modeled using bipartite graphs, which might lead to unexpected results. Specifically, we provided the proof that the simplex method solves these problems by using the existence theorem of the solution along with partially total unimodularity and nonnegativeness of the incidence matrix. The elementary numerical result we presented shows the validity and efficiency of the method. Moreover, we considered the application of the simplex method to a modified problem to obtain a partition that includes a particular unit.

The author declares no conflicts of interest regarding the publication of this paper.

Tanaka, Y. (2019) Using the Simplex Method for a Type of Allocation Problems. American Journal of Computational Mathematics, 9, 25-31. https://doi.org/10.4236/ajcm.2019.92002