Received 26 August 2015; accepted 5 January 2016; published 11 January 2016
The binary linear programming (BLP) model is NP-complete and up to now we have not been aware of any polynomial algorithm for this model. See for example Fortnow   for more on complexity. In this paper we present a technique for transforming the BLP model into a convex quadratic programming (QP) problem. The optimal solution of the resultant convex QP is also the optimal solution of the original problem BLP. This solves one of the famous open problems of whether P = NP or not.
2. The BLP Model
Let any BLP model be represented by
Any minimization BLP can be converted into maximization form and vice versa. There are several strategies for solving mixed 0 - 1 integer problems that are presented in Adams and Sherali  .
3. Convex Quadratic Programming Model
Let a quadratic programming problem be represented by (2).
We assume that:
1) matrix Q is symmetric and positive definite,
2) function is strictly convex,
3) since constraints are linear then the solution space is convex,
4) any maximization quadratic problem can be changed into a minimization and vice versa.
When the function is strictly convex for all points in the convex region then the quadratic problem has a unique local minimum which is also the global minimum  - .
4. Transforming BLP into a Convex/Concave Quadratic Programming Problem
Our problem is to transform problem (1) into (2) and once that is done then (2) can be solved in polynomial time implying P = NP. Interior point algorithms can solve the convex/concave QP problem in polynomial time.
4.1. Rules with Binary Variables
Binary variables have certain special features that we can capitalize on when solving.
4.1.1. Rule 1
Given any binary variable then slack variable is also binary in the optimal solution.
Case 1: When then
Case 2: When then
4.1.2. Rule 2
For any binary variable and slack variable the following must hold at optimality for BLPs.
The proof is the same as the one given in 4.1.1. Note that it is only binary variables that can satisfy (4). Even though none binary values such as then can satisfy (3) the same values cannot satisfy (4), i.e., The binary variable slack relationship given in (4) is the backbone of this paper.
4.2. Forcing Variables to Assume Binary Variables
The main weakness of the objective function given in (1) is that it does not force variables to assume binary values. In this paper we alleviate this challenge by adding a nonlinear extension to the objective function as given in (5).
where and is a very large constant. The constant is very large in terms of its size compared to any of the coefficients in the objective function. This large value can be approximated as:
Since from Rule 2, then is minimized when
In other words is maximized when variable and slack variable are integers. In this paper the nonlinear extension is called an enforcer. An enforcer is a function, a set of constraint(s) or combination of both added to a problem to force an optimal solution with desired features such integrality.
4.3. Convexity of
A function is convex if and only if it has second-order partial derivatives for each point and for each all principal minors of the Hessian matrix are none negative.
In this case
This has continuous second order partial derivatives and the 2n by 2n Hessian matrix is given by
Since all principal minors of are nonnegative then is convex. See Winston  for more on convex functions.
4.4. Convex Quadratic Programming Form
The function can be expressed in the convex quadratic programming form
where matrix is of dimension 2n by 2n, symmetric and positive definite as given in (13).
Thus matrix is symmetric and positive definite. Note that
4.5. Complexity of Convex Quadratic Programming
The main reason for converting a BLP into a convex quadratic programming model is to take advantage of the availability of interior point algorithms which can solve convex QPs in polynomial time  . If any BLP can be converted into a convex quadratic problem, then any BLP can be solved in polynomial time.
4.6. Proof of Optimality
The proof is easily shown by reducing the convex quadratic objective function to the original linear form given in (1). The proposed objective function of the convex QP is reduced as follows:
In other words is a constant and the objective function is the same as:
where is binary for this is the original form given in (1).
4.7. Infeasible Binary Integer Solution Space
In this case the solution of the convex OP will not be integer. The objective,
forces variables to binary or integral values if an integer point exists in the solution space. If an integer point does not exists in the solution space the large constant in the objective forces variables to assume values whose sum of squares are near one and not necessarily one. In other words the variables will assume values and such that
4.8. Mixed BLP Models
In some BLP problems that occur in real life, a fraction of some of the variables may not be restricted to integer values. In this case the enforcer is composed of only those variables that are supposed be binary and integer.
4.9. Interior Point Algorithm for Convex QP
Any maximization BLP problem can be converted into a minimization BLP and vice versa. This can be done by the substitution given in (18).
where is also a binary variable.
Suppose the primal-dual pair of the convex QP is given by (19) and (20).
where is free, and is a diagonal matrix.
The first order optimality conditions for (19) and (20) are given by (21)
where e is a vector of ones. The primal-dual central path method can be used to solve the convex QP. Detailed information on this interior point algorithm and other variants can be obtained in Gondzio  .
5. BLP and Convex QP Relationship
From the two versions of the same problem
6. Numerical Illustration
The following numerical illustration shows how a BLP problem is transformed into convex quadratic programming model and then solved.
6.1. Pure Binary Linear Programming
where are binary variables.
Transforming into a convex quadratic programming problem becomes (24)
where are also binary variables.
The solution to the convex quadratic problem is given in (25).
6.2. Mixed Binary Linear Programming Problem
In the case of a mixed binary linear programming problem, only the binary integer variables occupy the enforcer. In other words, if only the r binary variables are integer then use
Suppose in 5.1, the variables and are not restricted to integer but both variables are less than 1.
The transformation becomes as shown in (27).
The solution to the convex quadratic problem is:
7. From Mixed Integer Problem to BLP
The problems that occur in real life do not have binary variables only. These practical problems occur as general mixed integer problem (MIP) where variables assume integer values greater than 1. There are methods that can be used to solve these problems but we are not aware of any method that can solve these mixed integer problems in polynomial time up now. The obvious strategy is to expand the general mixed integer variable into binary ones.
7.1. Converting MIP into BLP
Any MIP variable can be expanded into binary variables as given in (29).
where is a binary variable for This procedure is explained in Owen and Mehrotra  .
7.2. Numerical Illustration
Convert the following MIP into a BLP.
where are integers.
The following substitutions change the problem into a BLP.
where is a binary variable for and
The general BLP problem has been given so much attention by researchers all over the world for over half a century without a breakthrough. A difficult category of BLP models includes the traveling salesman, generalized assignment, quadratic assignment and set covering problems. The paper presented a technique to solve BLP problems by first transforming them into convex QPs and then applying interior point algorithms to solve them in polynomial time. We also showed that the proposed technique worked for both pure and mixed BLPs and also for the general linear integer model where variables were expanded into BLPs. We hope the proposed approach will give more clues to researchers in the hunt for efficient solutions to the general difficult integer programming problem.
The author is thankful to the referees for their helpful and constructive comments.