Abstract

In a linear programming for horizontally partitioned data, the equality constraint matrix is divided into groups of rows. Each group of the matrix rows and the corresponding right-hand side vector are owned by different entities, and these entities are reluctant to disclose their own groups of rows or right-hand side vectors. To calculate the optimal solution for the linear programming in this case, Mangasarian used a random matrix of full rank with probability 1, but an event with probability 1 is not a certain event, so a random matrix of full rank with probability 1 does not certainly happen. In this way, the solution of the original linear programming is not equal to the solution of the secure linear programming. We used an invertible random matrix for this shortcoming. The invertible random matrix converted the original linear programming problem to a secure linear program problem. This secure linear programming will not reveal any of the privately held data.

1. Introduction

Recently, people have become interested in privacy-preserving classification and data mining [110] and have been involved in the field of optimization, especially in linear programming [1115], where the data to be classified or mined belongs to different entities that are not willing to disclose the data. Mangasarian [13] proposed a random matrix which make the original linear programming problem into a secure linear programming problem. When the random matrix is not full rank [16], especially when the entities collide with each other, the original linear programming problem is not equivalent to the secure linear programming problem. We address this problem by using an invertible matrix multiplied by the two sides of the equality constraints of the linear program. This procedure converts the original linear program to an equivalent secure linear program, and this security linearity does not reveal any private data. This solution vector can be made public and applied by all entities. On the contrary, this algorithm prevents entities from colliding with each other.

Here, we define some symbols. If a vector is not transposed to the row vector by the superscript , the vector will be a column vector. For a vector , the symbol will represent the th component or th block of the component. We will define the scalar (inner) product of two vectors and in the -dimensional real space as . The symbol will represent a real matrix. Similarly, will represent the transpose of and will represent the row or block of rows of and the th column or the th block of columns of . A zero vector in a real space of any dimension will be denoted by .

2. Privacy-Preserving Linear Programming for Horizontally Partitioned Data

Consider the following linear programming:

Here, consists of the matrix and the right-hand vector and is divided into horizontal blocks. The number of rows of the horizontal block is recorded as , where . An order identity matrix is divided into vertical blocks. The number of columns of the vertical block is recorded as , where . Each block of rows of [A b] corresponding to the index sets , , is owned by a distinct entity that is unwilling to make its block of data public or share it with the other entities. We will accomplish this goal by the following transformation.

Each entity , chooses its own private random matrix , whose corresponding index set is . The value of each element in is in the interval. The following decompositions can be obtained: and . Define

Because the matrix is an order strictly diagonally dominant matrix, we can easily conclude that the matrix is an invertible matrix [17]. Based on this fact, we define the following operation:

According to the above discussion, the original linear programming (1) was converted into the following secure linear programming:

The linear programming (1) and the linear programming (4) have the same solution set since the matrix is invertible. The linear programming (4) is quite safe since only the entity knows , . Other entities cannot compute and from and without knowing the random matrix . We regard the linear programming (4) as a secure linear programming. Whether the linear programming (1) is equivalent to the linear programming (4) or not? Let us discuss next.

Proposition 1. If the matrix B is an m order invertible matrix; then, the secure linear program (4) is solvable if and only if the linear program (1) is solvable in case the solution sets of the two linear programs are identical.

Proof. As the matrix is an -order invertible matrix, the following relation holds:Therefore, the feasible regions of the two linear programs are the same. Again according to the objective functions of the linear programming (1) and the linear programming (4), we can conclude that the two linear programs have the same solution set.
The following algorithm can get the best solution of the linear programming (1) without revealing any private data.

3. Formulation of the Privacy-Preserving Algorithm

As shown in Section 2, the linear program (1) is divided among entities. We put forward the following algorithm:Step 1. All entities choose a suitable real number , together.Step 2. Suppose the matrix has rows, where . A random matrix is generated by the entity possessing the matrix , where . The value of each element in is in the interval (0,1), and is not public.Step 3. The entity that owns the matrix is responsible to compute and , and the result is passed to the entity that owns the matrix . Then, the entity that owns the matrix is responsible to compute and , and the result is passed to the entity that owns the matrix . And, finally, the entity that owns the matrix is responsible to compute the following:Step 4. Utilizing the linear programming (4) to calculate the minimum value and the optimal solution of the objective function, which is the minimum value and the optimal solution of the objective function of the linear programming (1).

Remark 1. Through this algorithm, the solution vector can be used publicly. However, it does not reveal any entity’s data.

4. Numerical Experiments

A linear programming:

We can find that the optimal solution of (8) is .Let , , , and .

Entity 1 generates a random matrix which is not published. Note that

Entity 1 makes public its matrix product and .

Entity 2 generates a random matrix which is not published. Note that

Entity 2 makes public its matrix product and .

These products do not reveal any private data, but it can be used to calculate the constraint matrix and the right-hand side of the secure linear programming. Next, we derive a linear programming (11) from the linear programming (4), which is equivalent to linear programming (8):

The solution of this secure linear programming (11) is the same as that of the linear programming (8). This solution can be made public without revealing any private data.

If we use Mangasarian’s study [13] which proposed the algorithm of privacy-preserving horizontally partitioned linear programs, the linear programming (8) needs to be converted into the following linear programming:

The optimal solution to secure linear program (12) is . This is not consistent with the optimal solution for the original linear programming (8). The reason for this error is that the random matrix is not a full rank matrix. In this way, the original linear programming (8) is not equivalent to the secure linear program (12).

Data Availability

The data used to support the findings of this study are included within the article.

Conflicts of Interest

The authors declare that they have no conflicts of interest.

Acknowledgments

This work was supported by the Aluminum-Copper Strip Material Intelligent Process Control Technology Project Based on Industrial Big Data (Grant no. 2017YFB0306404).