A zero-one linear program is a global discrete optimization problem. Namely, it is a linear programming problem with zero-one variables. The real relaxation of a zero-one program is again a continuous linear programming problem. Simply, the zero-one variables are replaced by continuous variables varying between zero and one independently of each other. If the real relaxation, as a continuous problem, solved with the simplex method happens to have a zero-one optimal solution, then this particular solution is also an optimal solution of the original zero-one programming problem. Suppose that x1,…,xn are all the variables of a given zero-one linear programming problem. For convenience we introduce further variables y1,…,yn defined by y1=1−x1,…, yn=1−xn respectively. For a unified notation the variables x1,…,xn and y1,…, yn together will be denoted by z1,…,z2n. These variables will play the roles the nodes of the conflict graph Г associated with the given zero-one linear programming problem. Fixing the variables zi and zj both to be equal to one simultaneously reduces the number of variables in the problem. If the new smaller optimization problem does not have any feasible solution, then the nodes zi and zj will be connected by an edge in the graph Γ. The graph Γ simply records that there is a conflict between the assignments zi =1 and zj =1 which explains the name conflict graph. In other words the non-directed edge between the nodes zi and zj codes the fact that the inequality zi+zj≤1holds. The conflict graph was designed to generate additional constraints the so-called valid inequalities or cuts in order to expedite the solution of the zero-one linear program via its real relaxation. This particular solution strategy is aptly named the branch and cut method. It will be shown that the conflict graph besides its intended use can also be applied in another solution technique the method of implicit enumeration. We will illustrate by examples that the conflict graph provides us with rules to prune the search tree that are not offered by the commonly applied pruning rules. In addition the computations involved can easily be organized into a highly parallel computational scheme.
Read full abstract