<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Binary Cut-and-Branch Method for Solving Linear Programming Problems with Boolean Variables</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Yu. A. Mezentsev</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Novosibirsk State Technical University</institution>
          ,
          <country country="RU">Russia</country>
        </aff>
      </contrib-group>
      <fpage>72</fpage>
      <lpage>85</lpage>
      <abstract>
        <p>A numerical method is proposed for solving linear programming problems with Boolean variables. The method is based on an iterative application of a cutting-plane procedure that takes into account, as fully as possible, the properties of the problems being solved. Heuristic procedures are applied for the synthesis of cutting-planes as an intermediate step substantiating the construction of a solution tree.</p>
      </abstract>
      <kwd-group>
        <kwd>integer programming</kwd>
        <kwd>binary cuts</kwd>
        <kwd>efficient algorithm</kwd>
        <kwd>solution tree</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>Theoretical and applied studies in the field of discrete optimization (DO) do not lose
their relevance over the last fifty years. Although there are numerous and vigorously
developing avenues of research within the field, a major issue associated with the
NPhardness of the majority of practically relevant DO problems has not yet been solved.
An analysis of the current challenges in this area and ways of addressing them can be
found, e.g., in a review paper by Leont'ev [1]. The recent trends in the development of
DO methods are well described in the proceedings of the 16th Baikal International
School–Seminar on optimization methods and their applications [2]. A systematic
modern view of problem formulations and optimization algorithms can be found in
well-known books by Western authors [3–6]. Special mention should be made of the
book written by Korte and Vygen [3], which is a fundamental work reflecting the
state and main directions in the development of DO methods as of the early 2000s,
except for random search methods. Tobias Achterberg’s doctoral thesis [7] may serve
as a guide to DO algorithms that are widely used in software packages developed in
North America and the EU. He considered the classical integer optimization
methodologies, in particular cutting-plane methods (several types of cuts associated with
specific types of problems: covers, knapsacks, cliques, Gomory cuts, Chvátal–
Gomory cuts, etc.), branch and bound, branch and cut, and a series of heuristic
algorithms including several techniques of constraint programming. In addition, he
presented the basic techniques used to prescreen options and reduce dimensions, which
were known as of 2007. All the DO methods and algorithms listed in the work have
Copyright © by the paper's authors. Copying permitted for private and academic purposes.
In: A. Kononov et al. (eds.): DOOR 2016, Vladivostok, Russia, published at http://ceur-ws.org
Binary Cut-and- Branch Method for Solving Linear Programming Problems with Boolean Variables 73
been implemented in modern software optimization systems, such as IBM ILOG
CPLEX optimization studio [8].</p>
      <p>The vast majority of algorithms that are used for solving DO problems, in
particular those of integer linear programming, can be classified into three groups [1,7,9-14]:
(i) exact; (ii) approximate, and (iii) heuristic. According to their construction
principles, the algorithms of the first and second groups may, in turn, be conventionally
divided into (i) exhaustive search algorithms, (ii) dynamic programming, (iii) matroid
optimization and greedy algorithms, and (iv) linearization. Many of the algorithms
use hybrid schemes combining several principles.</p>
      <p>The modern metaheuristics used in solving DO problems are described, e.g., in
[10–12]. Usually, this term refers to a rather heterogeneous group of computational
techniques, such as constraint programming (CP) [3, 7] and various modifications of
random search methods in combination with local descent, including evolutionary
(genetic) algorithms, ant colony algorithms, and annealing simulations (sometimes in
combination with neural network algorithms). Most of the currently used techniques
that belong to these groups can be found in [10, 12].</p>
      <p>However, to date, no efficient algorithms have been proposed for exact solution of
general DO problems, including linear programming problems with Boolean variables
(LPPs with BVs).</p>
      <p>There is a long and successful history of specialized algorithms for solving special
DO problems that are compact reducible or directly belong to the class of mixed
programming problems with Boolean variables. These include, e.g., location problems,
network problems, trajectory problems, and various subclasses of scheduling theory
problems (with fixed, nonfixed, and uncertain routes), cutting and packing problems,
clique problems, knapsack problems, cover problems, and many other problems with
relevant practical applications [15]. At present, the most intensive efforts are focused
on these areas of the DO theory and applications. As a rule, there are attempts to
design approximate or asymptotically accurate efficient algorithms. There has been
substantial progress in the construction of special algorithms for solving the above
problems [2, 3, 7].</p>
      <p>Today, however, there are no known efficient algorithms for finding an accurate
solution of the general DO problem, including the general linear programming
problem with Boolean variables.</p>
      <p>
        This work is also focused mainly on the development of methods for solving
mixed linear programming problems with Boolean variables and is a direct
development of the questions discussed in [13, 14]. The object of research is a problem of the
form
which is a linear programming problem with Boolean variables. Conditions (
        <xref ref-type="bibr" rid="ref3">3</xref>
        )
specify that the solution belongs to one of the vertices of a unit hypercube of dimension n ;
 (x)  cT x  max ,
      </p>
      <p>Ax  b , 0  x  1 ,
c, x, 0, 1 ; are vectors of the same dimension ( 0 is a zero vector and 1 is a vector of
ones).</p>
      <p>This approach does not lead to a loss of generality since any integer programming
problem can be compactly reduced to an LPP with BVs [13].</p>
      <p>
        In [13], an original numerical method was presented for solving this kind of
problems, the main idea of which is a consistent building of a system of binary cuts (BCs)
for the relaxed problem (
        <xref ref-type="bibr" rid="ref1">1</xref>
        )–(
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) so that the basis matrix of the complemented
inequality system (
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) would eventually become totally unimodular, which guarantees the
fulfillment of conditions (
        <xref ref-type="bibr" rid="ref3">3</xref>
        ) in achieving the objective (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ).
      </p>
      <p>
        This method uses a heuristic BC synthesis procedure, which does not guarantee the
building of correct cuts at each step and, therefore, uses implicit cyclic enumeration
for the right-hand sides of the cuts. Numerical experiments showed that, along with
advantages, the method has a number of drawbacks, the main of which is that the
optimum points of problem (
        <xref ref-type="bibr" rid="ref1">1</xref>
        )–(
        <xref ref-type="bibr" rid="ref3">3</xref>
        ) may be cut off.
      </p>
      <p>This deficiency was addressed by applying a number of new rules of BC synthesis
and supplementing the method by a branching procedure [14]. The aim of this paper
is to discuss the results obtained in [13, 14].
2</p>
    </sec>
    <sec id="sec-2">
      <title>Main Principles of the Binary Cut-and-Branch Method</title>
      <p>
        0 
Suppose x is the solution of the relaxed problem (
        <xref ref-type="bibr" rid="ref1">1</xref>
        )–(
        <xref ref-type="bibr" rid="ref2">2</xref>
        ), is the integer part of
the number, and 0   T x0 , where  j 1, 0,1 , j  1, n . Then any inequality of
the form
      </p>
      <p>
         T x  0 ,  j 1, 0,1 , j  1, n , 0  0  ,
is called a binary cut for problem (
        <xref ref-type="bibr" rid="ref1">1</xref>
        )–(
        <xref ref-type="bibr" rid="ref2">2</xref>
        ). Strictly speaking, such a cut is not exactly
binary because the vector  may contain components (1) other than zeroes and
ones. However, since problem (
        <xref ref-type="bibr" rid="ref1">1</xref>
        )–(
        <xref ref-type="bibr" rid="ref3">3</xref>
        ) can always be normalized in such a way that
the coefficients of the objective function (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) would be nonnegative: c j  0, j  1, n , it
can be assumed for  j in (
        <xref ref-type="bibr" rid="ref4">4</xref>
        ) that  j 0,1 , j  1, n [13]. Thus, (
        <xref ref-type="bibr" rid="ref4">4</xref>
        ) transforms into
inequalities also known as covers (they are usually applied in solving the covering
problem [3]).
      </p>
      <p>
        The thus reduced problem (
        <xref ref-type="bibr" rid="ref1">1</xref>
        )–(
        <xref ref-type="bibr" rid="ref3">3</xref>
        ) can be written as:
 (x)  cT x  C  max ,
      </p>
      <p>
        Ax  b , 0  x  1 ,
x  I2n ,
(
        <xref ref-type="bibr" rid="ref4">4</xref>
        )
(
        <xref ref-type="bibr" rid="ref5">5</xref>
        )
(
        <xref ref-type="bibr" rid="ref6">6</xref>
        )
(
        <xref ref-type="bibr" rid="ref7">7</xref>
        )
Binary Cut-and- Branch Method for Solving Linear Programming Problems with Boolean Variables 75
In this case the coefficients in the left-hand part of any i-th cut (
        <xref ref-type="bibr" rid="ref4">4</xref>
        ) have the
property  ij {0,1}, j  1, n [13]. Let x0 be the solution of problem (
        <xref ref-type="bibr" rid="ref5">5</xref>
        )–(
        <xref ref-type="bibr" rid="ref6">6</xref>
        ), then a BC with
respect to system (
        <xref ref-type="bibr" rid="ref6">6</xref>
        ) is
      </p>
      <p>
         T x  0 ,  j  0, 1 , j  1, n , 0  0  , 0   T x0 ,
and the complementary BC system for the system of constraints (
        <xref ref-type="bibr" rid="ref6">6</xref>
        ) is
D x   ,
where D   ij
      </p>
      <p>
        mD n
system, and the vector composed of the right-hand parts of the cuts  is defined in
,  ij {0,1}, j  1, n is the coefficient matrix of the binary
accordance with (
        <xref ref-type="bibr" rid="ref8">8</xref>
        ).
      </p>
      <p>
        If D has the property of total unimodularity and all cuts (
        <xref ref-type="bibr" rid="ref9">9</xref>
        ) are valid ( D is a
part of the basis matrix of system (
        <xref ref-type="bibr" rid="ref6">6</xref>
        ),(
        <xref ref-type="bibr" rid="ref9">9</xref>
        )), then at mD  n , D includes the basis
matrix and the optimal solution of the LP problem (
        <xref ref-type="bibr" rid="ref5">5</xref>
        ),(
        <xref ref-type="bibr" rid="ref6">6</xref>
        ),(
        <xref ref-type="bibr" rid="ref9">9</xref>
        ) is the optimal solution
of the LPP with BVs (
        <xref ref-type="bibr" rid="ref5">5</xref>
        )–(
        <xref ref-type="bibr" rid="ref7">7</xref>
        ).
      </p>
      <p>
        Like in Gomory algorithms, any active constraints, i.e., inequalities that form the
basis system (
        <xref ref-type="bibr" rid="ref6">6</xref>
        ), (
        <xref ref-type="bibr" rid="ref9">9</xref>
        ) given an optimal solution of the current problem and inequalities
ensuing from the basis inequality system, can act as generating constraints. If x0 is
the solution of the relaxed problem (
        <xref ref-type="bibr" rid="ref5">5</xref>
        )–(
        <xref ref-type="bibr" rid="ref6">6</xref>
        ), then
      </p>
      <p> T x 0 , 0   T x0 ,</p>
      <p>
        Expression (
        <xref ref-type="bibr" rid="ref10">10</xref>
        ) can be a generating inequality only if  j   iaij , i  0 ,
where aij ,i  I B are the coefficients of the basis part A and i are the nonnegative
weights of the basis constraints. In particular, if i are the dual estimates of
constraints (
        <xref ref-type="bibr" rid="ref6">6</xref>
        ), then  j  c j , j  1, n . The generating inequalities are also promising in
the case when i are the reciprocals of any norm of the constraint vectors (e.g.,
Euclidean norm).
      </p>
      <p>However, in the general case, the notion of a valid BC [13] is not equivalent to that
of a valid Gomory cut. Now we define the conditions that must be met by a valid BC.</p>
      <p>Consider an auxiliary problem:
iI B
 (z)   T z  max ,</p>
      <p>
        Az  b , 0  z  1 ,
(
        <xref ref-type="bibr" rid="ref8">8</xref>
        )
(
        <xref ref-type="bibr" rid="ref9">9</xref>
        )
(
        <xref ref-type="bibr" rid="ref10">10</xref>
        )
(
        <xref ref-type="bibr" rid="ref11">11</xref>
        )
(
        <xref ref-type="bibr" rid="ref13">13</xref>
        )
where z0 is the optimal solution of (
        <xref ref-type="bibr" rid="ref11">11</xref>
        )–(
        <xref ref-type="bibr" rid="ref12">12</xref>
        ) and  is the right-hand part of (
        <xref ref-type="bibr" rid="ref8">8</xref>
        ).
      </p>
      <p>
        There are three possible outcomes.
1. z0  x0 . In this case, (
        <xref ref-type="bibr" rid="ref8">8</xref>
        ) is called a strong cut [14].
2. z0  x0 and  T x0    (z0 ) . Then (
        <xref ref-type="bibr" rid="ref8">8</xref>
        ) is a slack valid cut.
      </p>
      <p>
           
3. z0  x0 and  T x0    (z0 ) . In these circumstances there is a positive
in   
teger residue    (z0 )   T x0   0 , and the inequality  T x   T x0  is an
     
invalid cut. Then  T x   with the right-hand part of (
        <xref ref-type="bibr" rid="ref13">13</xref>
        ) does not make sense since
it would not be active if added to problem (
        <xref ref-type="bibr" rid="ref5">5</xref>
        )–(
        <xref ref-type="bibr" rid="ref6">6</xref>
        ).
      </p>
      <p>It can be shown that the so-called strong BCs are a special case of Gomory cuts
[14]. They do not always exist for this class of problems. This fact is illustrated by the
following example.</p>
      <p>Example 1.</p>
      <p> (x)  3x1  2x2  max</p>
      <p>2x1  x2  2.3 ,
2.5x1  3x2  3.325 ,
x1  x2  0.8 , x1, x2  I22 .</p>
      <p>In the relaxed problem, the latter condition is replaced by 0  x j  1, j  1, 2 . Its
optimal solution is (x0)T  (0.85,0.6) and  max  3.75 .</p>
      <p>
        The objective function of problem (
        <xref ref-type="bibr" rid="ref11">11</xref>
        )–(
        <xref ref-type="bibr" rid="ref12">12</xref>
        ) is  (z)  z1  z1  max .
      </p>
      <p>The solution of the auxiliary problem (z0)T  (0.53,1) is not x0 ; however,
x1  x2  1 is a valid cut.</p>
      <p>
        In Fig. 1 the boundaries of constraints (
        <xref ref-type="bibr" rid="ref6">6</xref>
        ) are shown in solid lines; the level lines
of the objective function are given in dashed lines; and the boundaries of the
generating inequity and slack BC are shown in dash-dot lines. In this example there is no
strong BC. In contrast to strong BCs, slack ones always exist.
      </p>
      <p>
        The proof of the existence theorem is based on the convexity property of
polyhedron (
        <xref ref-type="bibr" rid="ref6">6</xref>
        ) and the fact that there is always inequality (
        <xref ref-type="bibr" rid="ref4">4</xref>
        ), which cuts off any set of
adjacent vertices in a unit hypercube from (
        <xref ref-type="bibr" rid="ref6">6</xref>
        ) ( 0  x  1 ).
      </p>
      <p>Binary Cut-and- Branch Method for Solving Linear Programming Problems with Boolean Variables 77
1.5</p>
      <p>1
0.5
0
0
(x1,x2)=3x1+2x2-&gt;max</p>
      <p>It has not yet been possible to suggest a polynomial complexity algorithm for the
synthesis of reliably valid BCs. However, a number of heuristic rules and procedures
(of varying difficulty) can be proposed for solving the synthesis problem in a sense of
good binary cuts.</p>
      <p>A good cut is, naturally, any valid BC or a cut with a minimum integer residual  .
1) Rule of nonzero coordinates for the previous (current) relaxation.</p>
      <p>
        The rule is used to calculate the coefficients in the left-hand part of the BC:
1, if x0j  0
 j  
0, if x0j  0
(
        <xref ref-type="bibr" rid="ref14">14</xref>
        )
The right-hand part is calculated according to (
        <xref ref-type="bibr" rid="ref8">8</xref>
        ).
      </p>
      <p>
        2) Rule of the nearest cut to the generating inequality. This rule is reduced to
solving the following problem:
find the coefficients  j {0,1}, j  1, n that maximize the relation
(
        <xref ref-type="bibr" rid="ref15">15</xref>
        )
(16)
(17)
(18)
k( ) 
 T
      </p>
      <p>
        At first glance, this problem is not simpler than the original LPP with BVs (
        <xref ref-type="bibr" rid="ref5">5</xref>
        )–(
        <xref ref-type="bibr" rid="ref7">7</xref>
        )
since the number of “rational” options alone for the desired cut is greater than the
total number of combinations of variables in (
        <xref ref-type="bibr" rid="ref5">5</xref>
        )–(
        <xref ref-type="bibr" rid="ref7">7</xref>
        ). However, in reality there is no
need for an exhaustive search through solution options. There is a complexity
algorithm O(n log n) [13] for finding an exact solution, which is based on sorting [14].
      </p>
      <p>
        The two heuristics in Example 1 make it possible to construct a valid cut.
However, there are numerous counterexamples wherein the application of (
        <xref ref-type="bibr" rid="ref14">14</xref>
        ) and (
        <xref ref-type="bibr" rid="ref15">15</xref>
        ) does
not lead to the synthesis of valid BCs [13].
      </p>
      <p>
        The underlying ideas of (
        <xref ref-type="bibr" rid="ref14">14</xref>
        ) and (
        <xref ref-type="bibr" rid="ref15">15</xref>
        ) can be developed by using second-level
heuristics. In addition to (
        <xref ref-type="bibr" rid="ref11">11</xref>
        )–(
        <xref ref-type="bibr" rid="ref13">13</xref>
        ), an alternative indication can be used to identify a
valid BC. Consider a problem:
 (x)  cT x  C  max
      </p>
      <p>If problem (16)–(18) has a solution, then the cut  T x   ( x0) is invalid.
Conversely, if (16)–(18) has no solution due to the inconsistency of system (17)–(18),
then  T x   ( x0) is a valid cut.</p>
      <p>In Example 1, it is easy to see that the additional constraint x1  x2  2 renders the
inequality system inconsistent and x1  x2  1 is a valid cut.</p>
      <p>3) Selection in a set of estimates for the variables of the current relaxation.</p>
      <p>
        Let  0j be the estimates for the variables x j in (
        <xref ref-type="bibr" rid="ref5">5</xref>
        )–(
        <xref ref-type="bibr" rid="ref6">6</xref>
        ), which are defined as
optimal dual estimates for the variables x j  1 , j  1, n .  0j are the estimates for the
constraints in the dual of (
        <xref ref-type="bibr" rid="ref5">5</xref>
        )–(
        <xref ref-type="bibr" rid="ref6">6</xref>
        ). It follows from the complementary slackness
conditions that  0j  0 if x0j  1 and  0j  0 if x0j  1 . Note that the case  0j  0 and
      </p>
      <p>Binary Cut-and- Branch Method for Solving Linear Programming Problems with Boolean Variables 79
x0j  1 may only take place if there are alternative optima in the current relaxation.
Let the fines for raising x j to one ( h j ) and reducing it to zero ( h j ) be used as
estimates for the basis variables x j in the case 0  x0j  1</p>
      <p>If the coefficients of the expansion row of the lth basis variable in the optimal table
are denoted by al0j and the corresponding coefficient of the column containing the
right-hand parts by xl0 ( 1) , then an accurate estimate of the fine for reducing xl to
zero can be obtained by adding to the transformed problem a constraint
n
 al0j j   xl0 , where  j are the nonbasis variables in the optimal table. An
accuj 1
rate estimate of the fine for raising xl to one is obtained by adding a constraint
n 0
 alj j  xl0  1 to the transformed problem. Calculating these two estimates is
j 1
rather time-consuming because of the need to solve additional LP problems.
Therefore, it makes sense to confine the analysis to the minimum estimates [12], which can
be defined as follows:
 c j </p>
      <p>0 
hl   max  0   xl0 ,
0  alj 

 0 
 c j 
hl   max  0   (1  xl0 ) .</p>
      <p>0  alj 
In the general case, both fines are calculated according to the relations:
 0, if xl0  1, 0, if xl0  1,
 l 
hl   ma0x  ca0jl0j   xl0, if 0  xl0  1, hl   ma0x  acl00jj   (1  xl0 ), if 0  xl0  1,
0, if xl0  0.  l0, if xl0  0.</p>
      <p>Then the priority of the coordinate xl in a cut can be determined, e.g., as shown
below:
 0
 , if xl0  1,
 l
hl   ma0x  ca0jl0j   xl0  ma0x  acl00jj   (1  xl0 ), if 0  xl0  1,
 l0, if xl0  0.
(19)</p>
      <p>
        Relation (19) can be used to estimate all the coordinates and introduce, according
to h j , j  1, n , a nonstrict-order relationship over the entire set of x j , j  1, n . This
makes it possible to build and estimate a variety of alternative cuts (
        <xref ref-type="bibr" rid="ref8">8</xref>
        ) rather than
only one cut, as in (
        <xref ref-type="bibr" rid="ref14">14</xref>
        ) and (
        <xref ref-type="bibr" rid="ref15">15</xref>
        ).
      </p>
      <p>According to (19), the entire set of variables can be split into three disjoint subsets,
which are sorted descendingly: h j , j  1, n . Let n1 , n2 , and n3 be the number of
elements in each subset, with all x j , j  1, n1 belonging to the first subset, x j ,
j  n1 1, n1  n2 belonging to the second subset, and x j , j  n1  n2 1, n
belonging to the third subset.</p>
      <p>Consider a totality  of n2 vectors of dimension n
1  (1,1,...,1, 0, 0,..., 0) (contains n1  1 original ones),
 2  (1,1,...,1,1, 0,..., 0) (contains n1  2 original ones),</p>
      <p>... ...</p>
      <p> n2  (1,1,...,1,1,1,..., 0) (contains n1  n2 original ones).</p>
      <p>For each vector there is a nonincreasing estimate h j , j  1, n2 .</p>
      <p>
        Thus, to find the coefficients of the best cut (
        <xref ref-type="bibr" rid="ref8">8</xref>
        ) in the totality  , it is sufficient to
consistently synthesize from one to n2 BCs until either the conditions intrinsic in
regular cuts are met or there are no more elements left in  .
      </p>
      <p>4) Selection in a set of the nearest cuts.</p>
      <p>
        Relation (
        <xref ref-type="bibr" rid="ref15">15</xref>
        ) allows an even simpler search and estimation of a set of alternative
cuts. To this end, it is sufficient to arrange the components of the vector  in
descending order (the new vector is denoted by  ) and consider a totality  of n
vectors of dimension n
 1  (1, 0,..., 0) ,
 2  (1,1, 0,..., 0) ,
      </p>
      <p>... ...
 j  (1,1,...,1, 0, 0,..., 0) (contains j original ones),</p>
      <p>... ...
 n  (1,1,...,1) .</p>
      <p> T j</p>
      <p>
        Each  j is set in correspondence with k ( j ) from (
        <xref ref-type="bibr" rid="ref15">15</xref>
        ). Then, the discrete
function k ( j ) uniquely defines the priority of each of the (alternative) cuts with the
coefficients  j . Here k ( j ) 
      </p>
      <p>, j  1, n . This function has a strict
maximum. Therefore, to find the coefficients of the best set in the totality  , there is no</p>
      <p>
        Binary Cut-and- Branch Method for Solving Linear Programming Problems with Boolean Variables 81
need to analyze all  j , j  1, n . It is enough to compare cuts (
        <xref ref-type="bibr" rid="ref8">8</xref>
        ) at the maximum
point k( j ) with those built at the nearest points (vectors)  j to the right and left.
4
      </p>
    </sec>
    <sec id="sec-3">
      <title>Cut-and-Branch Algorithms</title>
      <p>
        A simplest algorithm is based on heuristics (
        <xref ref-type="bibr" rid="ref14">14</xref>
        ) and (
        <xref ref-type="bibr" rid="ref15">15</xref>
        ). Therefore, it is not
guaranteed that the cuts being constructed are valid. This circumstance calls for the use of
a branching scheme for the solutions of a sequence of relaxed LP problems (
        <xref ref-type="bibr" rid="ref5">5</xref>
        )–(
        <xref ref-type="bibr" rid="ref6">6</xref>
        ).
      </p>
      <p>
        Algorithm A1
1. Suppose that we have obtained the solution of the original relaxed problem (
        <xref ref-type="bibr" rid="ref5">5</xref>
        )–
(
        <xref ref-type="bibr" rid="ref6">6</xref>
        ): x0 and  ( x0 ) . If x0 is an integer, the algorithm stops. Otherwise, it goes to
step 2.
      </p>
      <p>2. At step t we select the vertex with the maximum estimate  ( xr ) for probing. If
the list of vertices is empty, the problem does not have an integer solution. The
algorithm stops. If the vertex with the maximum estimate  ( xr ) contains an integer
solution xr , it is the optimal one. The algorithm stops. Otherwise:</p>
      <p>
        3. We create two new candidates for each of which the current matrix D is
supplemented, according to procedures (
        <xref ref-type="bibr" rid="ref14">14</xref>
        ) or (
        <xref ref-type="bibr" rid="ref15">15</xref>
        ), by the only cut (
        <xref ref-type="bibr" rid="ref8">8</xref>
        ) or (18),
respectively.
      </p>
      <p>4. We use the principle applied in the auxiliary problem (16)–(18) and solve a pair
of
alternative
subproblems
with
the
cuts
 (t1)T x   (xr )
and
 (t1)T x   (xr ) 1 .</p>
      <p>5. Their solutions xt 1 and xt 2 and estimates  ( xt 1) and  ( xt 2 ) are saved
by adding them to the list of the tree vertices. If any of the candidates has no solution,
it is withdrawn from the list of the vertices.</p>
      <p>6. We increase the step number ( t : t 1 ) and go to step 2.</p>
      <p>
        If we use the more complex heuristic rules of BC synthesis, which are presented
above, the algorithm should be correspondingly modified. This concerns mostly steps
3 and 4, which require the consideration not of a single pair but a set of pairs of
alternative cuts. Statistical data on the efficiency of applying the heuristic rules of BC
synthesis in algorithm A1 are given in Table 1.
(
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) by nonzero coordinates for the previous
relaxation
Percentage of regular cuts in the
      </p>
      <p>total number
minimum maximum</p>
      <p>
        average
(
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) selection of the nearest cut
(
        <xref ref-type="bibr" rid="ref3">3</xref>
        ) selection in a set of estimates of variables
(
        <xref ref-type="bibr" rid="ref4">4</xref>
        ) selection in a set of the nearest cuts
* requires experimental verification
      </p>
      <p>Example 2 [13]. Find xT  (x1, x1, x3), x j  I73, j  1, 3 under the conditions
.</p>
      <p>The transformed problem has the form:
find x  (x11, x12,..., x33), x jl  I29, j  1, 3,l  1, 3 under the conditions:
2x11  4x12  8x13  x21  2x22  4x23  x31  2x32  4x33  3
4x11  8x12 16x13  3x21  6x22 12x23  23
  x11  2x12  4x13  3x21  6x22 12x23  3x31  6x32  12x33  21  max .</p>
      <p>Algorithm A1 with the use of the third heuristics generates the following BC
system (the cuts are given in the order in which they are formed):
y1  0x11  0x12 1x13  0x21  0x22  0x23  0x31  0x32  0x33  0
y2  0x11 1x12  0x13 1x21 1x22 1x23  0x31  0x32  0x33  3
y3  1x11  0x12  0x13 1x21 1x22 1x23  0x31  0x32  0x33  3
y4  0x11  0x12  0x13  0x21 1x22 1x23  0x31 1x32 1x33  3
y5  0x11  0x12  0x13  0x21 1x22 1x23 1x31  0x32 1x33  3
y6  0x11  0x12  0x13  0x21  0x22 1x23  0x31 1x32 1x33  2
y7  1x11 1x12  0x13 1x21 1x22 1x23 1x31 1x32 1x33  4
All the cuts except for the last one are regular. Figure 2 shows the solution tree for
this example. The numbers near the vertices are the values of the objective functions
in the optimal solutions of the subproblems.</p>
      <p>
        As a result, we obtain the solutions of the transformed and original problems
x*T  (
        <xref ref-type="bibr" rid="ref1 ref1 ref1 ref1">0, 0, 0, 1, 1, 1, 0, 0, 1</xref>
        ) ,  ( x*)  12 .
      </p>
      <p>
        x*T  (
        <xref ref-type="bibr" rid="ref1">0, 0, 0, 0, 0, 0, 0, 0, 1</xref>
        ) , x *T  (
        <xref ref-type="bibr" rid="ref4">0, 0, 4</xref>
        ) , and  ( x*)  12 .
      </p>
      <p>Binary Cut-and- Branch Method for Solving Linear Programming Problems with Boolean Variables 83

y1  1

14
D  
same for all exhaustive search algorithms, is: N  2n , where N is the number of
relaxed subproblems which need to be solved to reliably determine the accurate
optimum and n is the number of Boolean variables in the problem. Such a complexity
estimate can be provided, e.g., by exhaustive search and dynamic programming
methods. In BB, N corresponds to the maximum number of end vertices of the solution
tree. Since the length of any branch of the tree from the initial vertex to the end one is
O(n) , then the upper bound for the complexity of BB is higher than for exhaustive
search: Nbb  O(n)2n .</p>
      <p>Let Nbc be the upper bound for the complexity of A1. As shown in [14], the upper
bound for the number of binary cuts necessary to find the optimum of an LPP with
BVs under the condition that all the cuts are valid is O(n2 ) . The proportion of valid
BCs in their total number is a measure of efficiency of a heuristics, which is used in
algorithm A1. We denote this proportion by  , 0    1 . Then
Nbc  O(n2 )2(1 )n is the upper bound for the complexity of algorithm А1. Let us
now return to Table 1, from which we derive an a posteriori estimate for the
guaranteed number of valid BCs, which is 30% of the total number of BCs. Thus, we have
an efficiency estimate for the first heuristics   0.3 , and the overall estimate is,
hence, Nbc  O(n2 )20.7n .</p>
      <p>The third and fourth heuristics allow for an increase in the efficiency of the cuts.
The results obtained may also affect the lower bounds and potentially suggest that the
efficiency of A1 is many times greater than that of all the known integer optimization
algorithms. For example, let us compare and :
Nbb</p>
      <p>Nbc
Nbb / Nbc </p>
      <p>O(n)2n
O(n2 )20.7n
</p>
      <p>. If we assume that n  1000 , the complexity Nbc
is 86 orders of magnitude lower than Nbb .</p>
      <p>We also note that if  tends to unity, А1 becomes an efficient integer optimization
algorithm.
6</p>
    </sec>
    <sec id="sec-4">
      <title>Conclusions</title>
      <p>Experimental evidence was obtained for the reliability of the binary cut-and-branch
method. The applicability of the method for solving mixed integer optimization
problems has been successfully tested in experiments. The simplest versions of the BC
synthesis procedure were tested. An understanding was reached as to the development
prospects of the proposed approach to solving computationally hard optimization
problems. As regards the possibility of creating an efficient exact numerical method
based on this approach, it should be noted that the mere existence of a solution tree is
not identical to the fundamental impossibility of solving an LPP with BVs in
polynomial time. If the current number of tree vertices at any iteration depends polynomially
on the dimension and the length of each branch (the number of intermediate vertices)
to any end vertex is also a polynomial of the dimension of the original problem, the
proposed method is effective. While the second condition is confirmed
experimentally, meeting the first one requires an increase in the efficiency of BC synthesis
procedures.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Leont'ev V.K. Discrete</surname>
            <given-names>optimization</given-names>
          </string-name>
          ,
          <source>Zh. Vychisl. Mat. Mat. Fiz</source>
          .,
          <year>2007</year>
          , vol.
          <volume>47</volume>
          , N 2, pp.
          <fpage>338</fpage>
          -
          <lpage>352</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <article-title>2. Proceedings of the 16th Baikal International School-Seminar of optimization methods and their applications</article-title>
          ,
          <source>Irkutsk: ISEM SO RAN</source>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Korte</surname>
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vygen</surname>
            <given-names>J</given-names>
          </string-name>
          .
          <article-title>Combinatorial optimization</article-title>
          .
          <source>Theory and algorithms</source>
          . Springer,
          <year>2002</year>
          . 572 p.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Du</surname>
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pardalos</surname>
            <given-names>P</given-names>
          </string-name>
          . (eds.)
          <article-title>Handbook of combinatorial optimization</article-title>
          .
          <source>Supplement vol. A</source>
          , Kluwer academic publishers,
          <year>1999</year>
          . 649 p.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Du</surname>
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pardalos</surname>
            <given-names>P</given-names>
          </string-name>
          . (eds.)
          <article-title>Handbook of combinatorial optimization</article-title>
          .
          <source>Supplement</source>
          vol.
          <source>B</source>
          . Springer,
          <year>2005</year>
          , 403 p.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Schrijver</surname>
            <given-names>A</given-names>
          </string-name>
          .
          <article-title>Theory of linear and integer programming</article-title>
          . Wiley,
          <year>1999</year>
          , 483 p.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Achterberg</surname>
            <given-names>T.</given-names>
          </string-name>
          <article-title>Constraint integer programming</article-title>
          ,
          <source>Genehmigte Dissertation doktor der Naturwissenschaften</source>
          . Technischen Universitat Berlin,
          <year>2007</year>
          , 418 p.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>IBM ILOG CPLEX</surname>
          </string-name>
          <article-title>V12.5 User's Manual for CPLEX</article-title>
          .
          <source>IBM Corporation</source>
          ,
          <year>2012</year>
          - 952 p.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Zaslavskii</surname>
            <given-names>A.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lebedev</surname>
            <given-names>S.S.</given-names>
          </string-name>
          <article-title>Nodal-vector method in integer programming</article-title>
          [in Russian], Preprint # WP/
          <year>2000</year>
          /94, Moscow: TsEMI RAN,
          <year>2000</year>
          , 81 p.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Glover</surname>
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kochenberger</surname>
            <given-names>G</given-names>
          </string-name>
          .A. eds. Handbook of metaheuristics. Kluwer academic publishers, 2003 - 560 p.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Vasil'ev</surname>
            <given-names>I.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Klimentova K.B. Branch-</surname>
          </string-name>
          and
          <article-title>-cut method for a facility location problem with clients' preference orderings</article-title>
          ,
          <source>Diskret. Analiz. Issled. Operatsyi</source>
          ,
          <year>2009</year>
          , vol.
          <volume>16</volume>
          , N 2, pp.
          <fpage>21</fpage>
          -
          <lpage>41</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Rutkovskaya</surname>
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pilin'skii</surname>
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rutkovskii</surname>
            <given-names>L.</given-names>
          </string-name>
          ,
          <article-title>Neural networkd, genetic algorithms, and fuzzy systems</article-title>
          [in Russian],
          <source>Noscow: Goryachaya Liniya - Telekom</source>
          ,
          <year>2006</year>
          , 452 p.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <given-names>Mezentsev</given-names>
            <surname>Yu</surname>
          </string-name>
          .A.,
          <article-title>Efficient algorithm of integer programming</article-title>
          ,
          <source>Nauch. Vest. Novosib. Gos. Tekh. Univ., 2009, N</source>
          <volume>2</volume>
          (
          <issue>35</issue>
          ), pp.
          <fpage>91</fpage>
          -
          <lpage>114</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <given-names>Mezentsev</given-names>
            <surname>Yu</surname>
          </string-name>
          .A.,
          <article-title>Binary cut-and-branch method in binary programming, Dokl</article-title>
          . Akad. Nauk. Vyssh.
          <string-name>
            <surname>Shkoly</surname>
            <given-names>RF</given-names>
          </string-name>
          , Novosibirsk: Novosib. Gos. Tekh. Univ.,
          <year>2011</year>
          , N
          <volume>1</volume>
          (
          <issue>16</issue>
          ), pp.
          <fpage>12</fpage>
          -
          <lpage>25</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <given-names>Mezentsev</given-names>
            <surname>Yu</surname>
          </string-name>
          .A.
          <article-title>Effective numerical methods for solution of discrete optimization problems management [in Russia] Serija "Monografii NGTU"</article-title>
          ,
          <source>Novosibirsk: NSTU</source>
          ,
          <year>2015</year>
          , 275 p.
          <source>ISBN 978-5-7782-2689-0</source>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>