hybrid
1
Using a Hybrid Genetic

Algorithm/Branch and Bound Approach to
Solve Feasibility and Optimisation Integer Programming Problems
Alan P. French, Andrew C. Robinson and John M. Wilson
Loughborough University, Loughborough, LE11 3TU, England
a.p.french@lboro
.ac.uk, a.c.robinson@lboro.ac.uk, j.m.wilson@lboro.ac.uk
August 1999
Abstract
The satisfiability problem in forms such as maximum satisfiability (MAX

SAT) remains a
hard problem. Most successful approaches to solving such problems use a form of
system
atic tree search. This paper will describe the use of a hybrid algorithm, combining
genetic algorithm and integer programming branch and bound approaches, to solve MAX

SAT problems. Such problems will be formulated as integer programs and solved by a
hyb
rid algorithm implemented within standard mathematical programming software.
Computational testing of the algorithm, which mixes heuristic and exact approaches, will be
described.
Key words:
branch and bound, genetic algorithm, maximum satisfiability.
hybrid
2
I
ntroduction
The satisfiability problem is the problem of assigning truth values (true or false) to a set of
logical variables (literals) which occur in a series of logical expressions (clauses) to establish
the truth or falsity of the entire collection of
logical expressions. The satisfiability problem is
known to be NP

hard, and is in fact the first problem to be classified as such (Cook, 1971).
A generic way to solve such problems has been developed by Davis and Putnam (1960)
and modified by Loveland (
1978). In the modified Davis

Putnam algorithm there is need for
a good branching strategy to allow the algorithm to function efficiently. A number of
computational studies, such as Harche
et al.
(1994), support the view that branching
algorithms are the
most useful for solving satisfiability problems. A study by Hooker and
Vinay (1995) considerably clarifies the understanding of why certain branching rules work
well.
A paper by De Jong and Spears (1989) develops a genetic algorithm to solve the
satisfia
bility problem. A genetic algorithm (Holland, 1975) is a search algorithm inspired by
biological evolution. There are other styles of similarly inspired algorithms and they are all
known collectively as evolutionary algorithms, but genetic algorithms is t
he class which has
to date received most attention mainly because they can deal successfully with a wide range
of problem areas (Reeves, 1993). Genetic algorithms combine survival of fittest strings in a
population with a structured but randomised informa
tion exchange to form mechanisms that
do not demand assumptions about the search space. A key aspect to the area has been the
issue of robustness, enabling a method to be employed on a wide range of problems, unlike
traditional methods, which work well bu
t only on specialised problems, or enumerative
schemes and random walks, which work well at a very low level of performance but across
a wide range of problems. Much research has been conducted into the development of
genetic algorithms and a good introdu
ction appears in Reeves (1993).
Davis (1991) argues that hybridising genetic algorithms with successful optimisation methods
can lead to good solutions: the algorithms should perform no worse than the usually more
hybrid
3
traditional method alone, although there
is a computational overhead in using the genetic
algorithm.
In this paper the maximum satisfiability problem will be used as a test problem for a hybrid
algorithm which combines integer programming branch and bound techniques with a genetic
algorithm. Th
e aim will be to develop software to test the hybrid algorithm and to test that
software on appropriate data sets to compare the performance of the hybrid algorithm in
solving satisfiability problems, formulated as integer programming models, against a st
andard
integer programming branch and bound method.
In our work we are aware that representing and solving a maximum satisfiability problem as
an integer programming problem is not necessarily the most efficient approach, but we are
principally using maxi
mum satisfiability problems as a vehicle for testing our hybrid algorithm.
It should also be noted that a heuristic approach is not guaranteed to find the optimal
solution to a maximum satisfiability problem, and a tree search approach must ultimately
for
m the basis of any useful optimising solution approach. The proposed hybrid approach
can always fall back on tree search as will be seen.
1.
The Maximum Satisfiability (MAX

SAT) Problem
The logical expressions of the MAX

SAT problem may be expressed in
a variety of forms,
such as conjunctive or disjunctive normal forms for convenience, but in what follows use will
be made of integer programming representations. The following formulation of MAX

SAT,
containing
m
clauses and
n
literals, will be used in o
ur computational work:
Minimise
(1)
Subject to
,
(2)
,
(3)
hybrid
4
,
,
(4)
and
is
or
J
i
is the index set of literals for clause
i
The slack variables (
), whilst constrained to take any non

negative real value, in practice
are
forced by the operation of branch and bound to take either the value 0 or 1. If the
literals in a clause satisfy the clause, then the slack can assume any non

negative value, but
the minimising nature of the objective function (1) forces the slack variabl
e to take the value
0. However, a clause in which all the literals fail to satisfy the clause, the associated
constraint (2) forces the value of the slack variable to be 1.
If the optimal solution to the problem given by (1)

(4) is such that
z
= 0, then
the problem is
satisfiable, otherwise it is not. The satisfiability problem with exactly three literals per clause
(3

SAT) is known to be hardest to solve where
m/n
is approximately 4.3 (Gent and Walsh,
1994). This relationship was used in the generation
of hard

to

solve satisfiability problems
employing sources from DIMACS.
2.
The Approach Taken in the Research
Branch and Bound has been the favoured algorithm for integer programming problems for
many years since it was first described by Land and Doig
(1960). It is the standard tool
incorporated in most commercial integer programming optimisation software. The algorithm
takes advantage of the relatively quick time taken to obtain solutions of the linear
programming relaxation of the integer programmi
ng problem to provide useful information.
However, for pure combinatorial problems it was felt that this approach may not always be
best as the relaxation may not be particularly helpful and long futile searches through the
branch and bound tree may ensue
(but it would still be useful to take advantage of the quick
solution to the linear programming relaxation from time to time). Linear programming based
hybrid
5
methods for solving satisfiability problems were introduced by Blair
et al
. (1988) but work
by Jeroslow
and Wang (1990) improved on this work by providing an alternative to the
linear programming fathoming approach. Heuristic approaches for combinatorial problems
provide a way to move a search on to a different part of the search space. However, they
lack t
he search uniformity of an implicit enumeration scheme and consequently may miss
solutions. We therefore aimed to gain advantage by combining the two approaches

tree
search and heuristic

into a hybrid algorithm.
The branch and bound engine was provide
d by the software XPRESS

MP, running on a
Hewlett

Packard system. Genetic algorithm modules, to provide the heuristic search, were
written in the C language and integrated into XPRESS

MP. Thus the hybrid algorithm
operated completely within standard comm
ercial software.
MAX

SAT was chosen as the vehicle on which testing would be done. MAX

SAT
provides an example of an NP

hard problem (except for restricted variations) and would be
used as a surrogate for general integer programming problems.
2.1
Some
Background Justification
The following table shows results taken from a MAX

SAT problem with 430 clauses and
100 literals. This problem required 84 branch and bound nodes before the final satisfying
solution could be found. During the branch and bound s
earch only 16 variables (literals)
were actually branched on at any stage. For the remaining 84 variables, their mean values
over the 83 nodes were calculated and compared to the final value at node 84. In table 1 it
can be seen that on 69% of the occasi
ons when the final value should be 1 the mean value is
0.5 or above and on 78% of the occasions when the final value should be 0 the mean value
is 0.5 or below.
Table 1 about here
hybrid
6
Although the table is based on results from a single problem, it illustrat
es that branching on
the linear programming relaxation of the satisfiability problem leads to unfixed variables
tending to take values close (in terms of
0.5
1, <0.5
0) to their final binary values.
Thus the values of the unfixed variables in the han
ging nodes appear to offer some guidance
as to potential heuristic solutions that may be generated from them by an approach such as a
genetic algorithm.
3.
The Hybrid Algorithm
Other authors have attempted to combine branch and bound with genetic algori
thm
approaches and work is reported in Cotta
et al
. (1995), Nagar
et al.
(1996) and Reeves
(1996), but these approaches are less general. Cotta
et al
(1995) use a problem

specific
branch and bound tree search for the travelling salesman problem and make u
se of genetic
algorithm solutions to provide bounds for the problem and so aid the branch and bound
search. Nagar
et al
(1996) combine a branch and bound tree search for solving flowshop
scheduling problems with a genetic algorithm being used to provide i
nformation on bounds.
Our algorithm will be more general in that we will use a general linear programming based
branch and bound algorithm hybridised with a genetic algorithm. The branch and bound
algorithm will be capable of solving general integer prog
rams, will not be problem

specific,
and will be provided by existing commercially available software. The genetic algorithm,
which will not be unduly problem

specific, will then be embedded within this software. In
our approach we have amalgamated a gene
tic algorithm, based on one developed by
Beasley and Chu (1996) for the set covering problem, with XPRESS

MP which provides
the branch and bound capability. This particular genetic algorithm seemed promising as it
solved a problem which, like the satisfiab
ility problem, could ‘hinge’ on the ‘correct’ setting
of one variable in each constraint. Research by Hooker (1996) stresses the connection
between satisfiability and set covering problems.
The hybrid algorithm commences in XPRESS

MP and traverses a numb
er of nodes before
entering the genetic algorithm. Thus in the branch and bound phase the algorithm maintains
hybrid
7
satisfiability (constraint satisfaction) with integrality being relaxed. Information from hanging
nodes is used to suggest chromosomes to be adde
d to the genetic algorithm gene pool,
which initially is filled with random chromosomes. New potential solutions are generated by
the genetic algorithm from the gene pool, and after a sequence of genetic algorithm
operations a subset of these is passed ba
ck to be added to the branch and bound tree, and
control returned to the branch and bound engine. Thus in the genetic algorithm phase the
algorithm seeks to promote integrality with satisfiability relaxed (constraint satisfaction).
When the algorithm ret
urns to branch and bound, each new potential solution is examined in
turn and grafted on to the existing tree. Thus, control has been returned to the branch and
bound engine, but all decisions concerning branching node, branching variable and branching
di
rection are made using information extracted from the potential solutions generated during
the genetic algorithm phase. Once these potential solutions have been grafted onto the
branch and bound search tree, branch and bound is forced to explore all immed
iate
descendants of these newly created nodes. Finally after this, full control of branching is
handed back to branch and bound. Subsequently our algorithm iterates between the two
approaches until the solution is obtained or the search completed. Thus t
he hybrid algorithm
is using the systematic search procedure of branch and bound, with the added information
from the linear programming relaxation of the problem with a genetic algorithm approach
which attempts to ‘kick start’ the search into new areas wh
en branch and bound appears to
be getting nowhere. Although the hybrid algorithm incorporates a meta

heuristic approach it
is an exact algorithm guaranteed to find the optimal solution.
A number of considerations need to be made for this hybrid approach.
These include the
following on which systematic testing was conducted with the associated experimental
conclusions as stated. In the following, all parameters (for example gene pool size) were
explored using pilot experimentation and were found to be rob
ust over a wide range of
problem sizes.
3.1
Chromosome structure
Each bit position in a chromosome corresponded to a binary variable (i.e.
) in the
problem instance. As mentioned previously, branch and bound relaxes the integrality
hybrid
8
conditions for variables. There are three possibilities for the value of a binary variable at any
given node in the branch and bound tree. Firstly, if the variable has been branched on
during the path from the root of the tree to the node, then the valu
e of the variable will have
been fixed (either to zero or one). Secondly, the value of a variable may have been forced
to integrality by choice of the linear programming solver e.g. by influence of the settings of
the branched variables or the geometry of
the feasible region. Lastly, the variable may have
a non

integral value.
If a node has no such non

integral variables, then a feasible solution has been found. If the
value of the objective function (1) is zero, then all clauses have been satisfied and
the
problem is said to be satisfiable. In cases where the objective function is non

zero (
p
say),
then this represents a solution where
p
clauses are not satisfied and the remaining (
m

p
) are
satisfied.
The problems associated with the non

integrally va
lued binary variables are discussed in
subsequent sections.
3.2
Pool generation
A randomly generated pool was used initially. Pilot experimentation revealed a population
size of 50 to be appropriate. The gene pool was then augmented by the two phases of
the
hybrid algorithm, i.e. branch and bound and the genetic algorithm.
During the branch and bound phase, a chromosome was constructed using the values of the
binary variables at each node. For the branched variables, the value of the variable was
inser
ted into the corresponding bit position. This process was repeated for those variables
that were at integer values even though they had not been branched on. A repair procedure
was then used to set the value of variables with non

integral values. The re
pair procedure
worked on each variable individually as follows:
For each unsatisfied clause involving the variable, a satisfying value was determined, i.e. 1 if
the variable appeared unnegated and 0 if negated. The average satisfying value was then
hybrid
9
calcu
lated over all unsatisfied clauses and this average rounded to the nearest integer to get
the “repaired” value.
For example, assume that
takes a fractional value in the LP

relaxation, and that it
appears in the following unsatisfie
d clauses:
,
,
,
The respective satisfying values for
are 1, 0, 1 and 1 respectively. The average over
these clauses is ¾, and therefore
the repaired value for
would be set to 1.
The fitness of the new repaired chromosome, f
n
say, was compared with the average fitness
of the current population, f
a
say. If f
n
> f
a
then the new chromosome replaced a randomly
chosen
below average fitness chromosome from the population.
Details concerning gene pool augmentation during the genetic algorithm phase are provided
later in section 3.5.
3.3
Fitness measurement
Fitness for the genetic algorithm was measured as the percentage
of total clauses that were
satisfied raised to the power of 30, i.e. for a chromosome,
C
, with
S
C
being the set of
clauses satisfied by the variable settings in
C
:
Raising to the power of 30 served to heavily penalise those chro
mosomes with a higher
percentage of unsatisfied clauses. The value of 30 was determined experimentally, although
values in the range 20 to 40 appeared equally robust.
hybrid
10
3.4
Switching criteria from branch and bound to genetic algorithm
The criterion for pos
tponing the branch and bound phase, and passing control to the genetic
algorithm used a measure, approximating to progress towards finding a satisfying solution,
for each node in the branch and bound tree.
After each node was added to the branch and bound
tree, the following ratio was
calculated:
where:
n
is the number of variables (literals)
D
is the depth of the node in the branch and bound tree
I
is the number of non

integral variables in the LP relaxation
A node with
relatively few non

integral variables reached after making a small number of
branches down the tree was considered to be making good progress towards finding a
solution. The branch and bound phase was postponed and control switched to the genetic
algorith
m phase when a number (initially three) of consecutive successively worse progress
measures (
P
) were detected. Postponement was only considered after a minimum number
of nodes had been added during the branch and bound phase. Experimental evidence
sugges
ted that a figure of approximately 100 nodes was appropriate for this threshold.
Experiments indicated that the most significant contributions made by the genetic algorithm
phase tended to be early on, and so an adaptive switching criteria was utilised, v
iz.:
1.
The minimum number of nodes to be added during the branch and bound phase
was increased by 50 (from an initial value of 100) after each invocation of the
genetic algorithm phase.
2.
The number of consecutive worse progress measures required to postpone
the
branch and bound phase was increased by one (using 3 as an initial value) after
each invocation of the genetic algorithm phase.
hybrid
11
3.
The number of crossover operations performed during the genetic algorithm
phase (see next section) was reduced by 100 after
each invocation of the
genetic algorithm phase.
3.5
Genetic algorithm phase
The genetic algorithm phase took the gene pool left over after the branch and bound phase,
and applied genetic operators (crossover and mutation) to produce a new gene pool. A
st
eady state approach was adopted, i.e. parents were selected from the original gene pool,
and children of above average fitness replaced below average chromosomes in the gene
pool. Pilot experiments suggested that 1000 such crossover operations appropriate
.
Crossover was performed by a fusion operator to form a single child with the fitter parent
contributing more genetic material. The parents were selected by using a binary tournament
approach, i.e. two pairs of potential parents are chosen at random and
the fitter parent of
each pair was then selected. Let P and Q be the resultant parents and f
P
and f
Q
their
respective fitness values. Let C be the child string. Each bit C[i] of C is formed from P[i]
and Q[i] as follows:
if P[i] = Q[i]
then C[i] =
P[i]
else
C[i] = P[i] with probability f
P
/(f
P
+f
Q
)
C[i] = Q[i] with probability f
Q
/(f
P
+f
Q
)
Example
Let P = {1, 1, 0, 0, 1, 0, ....} and Q = {1, 0, 1, 1, 0, 1, ...} with P the fitter chromosome.
A possible child C might be {1, 1, 0, 1, 1, 1, ...}.
I
n addition, there was limited mutation with each chromosome bit having a probability of
0.01 (again determined by pilot experimentation) of mutation (flipping 0 to 1 and vice

hybrid
12
versa). Mutation provides a small amount of random search in order to avoid prem
ature
convergence by expanding the search space from time to time.
Each child C was then considered for addition to the gene pool. If the fitness of C was
greater than the average fitness of the gene pool, then a below average fitness chromosome
was sele
cted and replaced by C.
3.6
Returning solutions from the genetic algorithm
Upon completion of the crossover and mutation phase, the algorithm attempts to graft the
fittest chromosome in the gene pool onto the branch and bound tree, provided that it
corres
ponds to a better solution than has currently been found. The grafting begins at the
root of the existing branch and bound tree. The candidate chromosome is used to traverse
through the branch and bound tree in order to find the point at which new nodes
need to be
built.
New nodes are built on to the tree by finding variables in the chromosome that have not
been branched on already and that do not have integral LP relaxation values.
After the chromosomes have been grafted on to the tree, control passes
back to the branch
and bound phase, but initially branch and bound is forced to concentrate on the newly
added nodes, that is the immediate descendents of each such node are explored in turn.
Subsequently, full control is returned to branch and bound.
Ex
ample
If the following tree has been created, with the existing branches shown by the
unbroken lines:
x
2
=1
(a)
x
3
=1
x
3
=0
hybrid
13
x
1
=1
x
1
=0
(b)
Infeasible
(c)
To graft on the solutions (a) = (1,0,0,1, ...), (b) = (1,1
,0,1, ...), (c) = (0,1,1,0, ...) the
positions shown above would be used.
4.
Computational Results
The settings suggested in the previous section will be used in the hybrid algorithm, which will
be systematically examined in results presented. Time ove
rheads for the algorithm were
negligible compared to the solution time required by the branch and bound engine.
4.1
MAX

SAT Test Problems
The algorithm was tested on many series of satisfiability problems with between 80 and 120
variables and a number of
clauses ranging from 400 to 492. Each clause contained 3
variables (or complements of variables) each of which had an equal chance of being selected
for a clause and was complemented with probability 0.5. Some problems were satisfiable,
whilst other wer
e not. Branch and bound required between approximately 50 and 78000
nodes to solve these problems. Problems were generated using DIMACS sources. Such
problems were felt to be sufficiently ‘testing’ for the algorithm. Table 2 summarises the
range of pro
blems used. For each type of problem, 25 separate problem instances were
generated. Due to the stochastic nature of parts of the hybrid, for example the selection of
parent chromosome material during crossover, several experiments were performed for
each
problem.
Table 2 about here
hybrid
14
4.2
Hybrid Performance versus Clause/Literal Ratio
Figure 1 about here
As the ratio between the number of clauses and literals increases, it becomes more difficult
to find satisfying solutions to MAX

SAT problems. This is
illustrated in the rightmost
columns of Table
2. Figure 1 shows the variation in performance of the hybrid depending
on the value of the clause/literal ratio. The vertical axis shows the number of hybrid branch
and bound nodes taken on average for each p
roblem as a percentage of the original number
of branch and bound nodes, i.e.:
% of B&B Nodes = average of
It is apparent from Figure 1 that the hybrid performs far better as the ratio between clauses
and literals increases. For
ratios of 4.3 and below branch and bound outperforms the
hybrid.
4.3
Hybrid Performance versus MAX

SAT Optimal Solution
Figure 2 about here
Figure 2 shows how the hybrid performs against the optimal solution of MAX

SAT
problems. The performance is mark
edly better for unsatisfiable problems. As the number
of unsatisfiable clauses increases the results are tending to cluster in the 75% to 100%
region. This may be due to the fact that branch and bound has to spend much of its time
continuing to prove opt
imality even after the optimal solution has been determined. Thus,
the hybrid is capable of finding the optimal solution more quickly than branch and bound, but
can provide little or no help in the considerable exercise of subsequently proving optimality.
4.4
Hybrid Performance versus Branch and Bound Nodes
hybrid
15
Figure 3 about here
Figure 3 shows how the hybrid performs against the number of nodes taken by the original
non

hybridised branch and bound algorithm. As the number of original branch and bound
nod
es increases the tendency is for the hybrid to perform in the 85% to 100% region. For
these larger problems, branch and bound is spending much of its effort in trying to improve
on an already optimal solution. It is unlikely that the hybrid will be capab
le of providing
much guidance to branch and bound in this activity. The performance of the hybrid on
smaller problems is variable, but on average outperforms branch and bound.
4.5
Hybrid Performance versus Other Factors
Trends in performance were sought
against other factors such as number of literals and
number of clauses. No discernible patterns were found. This was not unexpected since it is
possible to create MAX

SAT problem instances with relatively few literals that are very
difficult to solve an
d conversely MAX

SAT problems with a large number of literals that
solve easily. The findings of the results tally very closely with those of Gent and Walsh
(1994), i.e. the most telling factor in determining the relative difficulty of solving MAX

SAT
pro
blems is the ration between the number of clauses and literals.
4.6
Within

Problem Variability
Figure 4 about here
The results presented above are all based on average performance for each problem. Due
to the stochastic nature of the hybrid algorithm,
it was necessary to conduct a number of
experiments for each problem. The variability between different experiments showed the
occasional large or small observation, but that most results were clustered evenly about the
mean. Figure 4 shows the variabili
ty for each problem of type E (see Table 2). It can be
hybrid
16
seen that experiments completed in the range 0% to 140% of the number of original branch
and bound nodes, but that most experiments were bunched in the 80% to 100% range.
4.7
Suggested Use of the Hyb
rid Algorithm
Of all the results discussed in this section, the only set with any predictive capability are
those concerned with the performance of the hybrid against the ratio between clauses and
literals as this ratio can be calculated in advance. The
results presented above suggest that
the hybrid should not be used when this ratio is 4.3 and below, but that the hybrid is liable to
be of assistance when the ratio is above this value.
5.
Conclusions
A hybrid algorithm was developed combining a genetic
algorithm with branch and bound
and embedding it within a standard piece of integer programming software. The hybrid
algorithm was extensively tested (10,000’s of runs) and performed well. An important
aspect of the development was that the hybrid appro
ach was implemented within a standard
piece of software, rather than a do

it

yourself program, and that the comparative results had
additional validity. The hybrid algorithm is still capable of further development, but
indications provide considerable hop
e for solving difficult combinatorial problems, where
neither branch and bound nor genetic algorithm is the ideal method. The combination of the
two techniques seems to add power. Some of the results are very good and both nodes
and time are saved. When
the algorithm does not give good results, ‘badness’ could be a
factor of 1.65, but obtaining an optimal solution is always guaranteed.
hybrid
17
References
J. E. Beasley and P. C. Chu (1996) “A genetic algorithm for the set covering problem”,
European Journal o
f Operational Research
94, 392

404.
C. Blair, R. G. Jeroslow and J. K. Lowe (1988) “Some results and experiments in
programming techniques for propositional logic”,
Computers and Operations Research
13, 633

645.
S. A. Cook (1971) “The complexity of theor
em

proving procedures”, in
Proceedings of
the 3rd Annual ACM Symposium on the Theory of Computing
, 151

158.
C. Cotta, J. F. Aldana, A. J. Nebro and J. M. Troya (1995) “Hybridizing genetic algorithms
with branch and bound techniques for the resolution of t
he TSP”, in D. W. Pearson, N. C.
Steele and R. F. Albrect (Eds)
Artificial Neural Nets and Genetic Algorithms
(Proceedings of the International Conference on Artificial Neural Nets and Genetic
Algorithms, Ales, France, 1995), 277

280.
L. D. Davis (1991)
H
andbook of Genetic Algorithms
, Van Rostrand Reinhold,
Amsterdam.
M. Davis and H. Putnam (1960) “A computing procedure for quantification theory”,
Journal of the ACM
7, 201

215.
K. A. de Jong and W. M. Spears (1989) “Using genetic algorithms to solve NP

c
omplete
problems”, in J. J. Grefenstette (Ed.)
Proceedings of the 3rd International Genetic
Algorithms Conference
, Lawrence Erlbaum Associates, New Jersey, USA.
DIMACS software: ftp://dimacs.edu/pub/challenge/satisfiability/contributed/selman/mwff.c
hybrid
18
I. P
. Gent and T. Walsh (1994) “Easy problems are sometimes hard”,
Artificial
Intelligence
70, 335

345.
F. Harche, J. N. Hooker and G. Thompson (1994) “A computational study of satisfiability
algorithms for propositional logic”,
ORSA Journal on Computing
6, 4
23

435.
J. Holland (1975)
Adaption in Natural and Artificial Systems
, University of Michigan
Press, Michigan.
J. N. Hooker (1996) “Resolution and the integrality of satisfiability problems”,
Mathematical Programming
74, 1

10.
J. N. Hooker and V. Vinay (
1995) “Branching rules for satisfiability”,
Journal of
Automated Reasoning
15, 359

383.
R. G. Jeroslow and J. Wang (1990) “Solving propositional satisfiability problems”,
Annals
of Mathematics and Artificial Intelligence
1, 167

187.
A. H. Land and A. G.
Doig (1960) “An automatic method for solving discrete programming
problems”,
Econometrica
28, 497

520.
D. W. Loveland (1978)
Automated Theorem Proving: A Logical Basis
, North

Holland,
Amsterdam.
A. Nagar, S. S. Heragu and J. Haddock (1996) “A combined br
anch and bound and
genetic algorithm based for a flowshop scheduling algorithm”,
Annals of Operations
Research
63, 397

414.
C. R. Reeves (1993)
Modern Heuristic Techniques for Combinatorial Problems
,
Blackwell Scientific, Oxford.
hybrid
19
C. Reeves (1996) “Hybri
d genetic algorithms for bin

packing and related problems”,
Annals of Operations Research
63, 371

396.
XPRESS

MP, Dash Associates Ltd, Blisworth, Northamptonshire, England.
hybrid
20
Table 1 Values of unbranched variables
Mean value of variable
Final value = 1
Fina
l value = 0
No. of literals
Cumulative %
No. of literals
Cumulative %
1
0
0
0
100
0.9000

0.9999
1
3
0
100
0.8000

0.8999
4
14
0
100
0.7000

0.7999
4
26
2
100
0.6000

0.6999
8
49
4
96
0.5000

0.5999
7
69
5
88
0.4000

0.4999
7
89
9
78
0.3000

0.3999
3
97
8
59
0.2000

0.2999
0
97
8
43
0.1000

0.1999
1
100
12
27
0.0001

0.0009
0
100
1
2
0
0
100
0
0
hybrid
21
Table 2 Summary of Test Problems
Type
Variables (
m
)
Clauses (
n
)
Ratio (
n
÷
m
)
Number of problems with MAX

SAT optimal solution =
0
1
2
3
4
5
A
120
492
4.
1
23
2
B
100
430
4.3
20
4
C
100
470
4.7
11
11
1
D
80
400
5
2
12
8
1
E
85
425
5
3
8
5
6
F
80
416
5.2
1
7
5
6
3
hybrid
22
Figure 1 Hybrid Performance vs. Clause/Literal Ratio
hybrid
23
Figure 2 Hybrid Performance vs. MAX

SAT Optimal Solution
hybrid
24
Figure
3 Hybrid Performance vs. Number of Nodes used by Original Branch and Bound
hybrid
25
Figure 4 Experimental Variation for the 85 Literal, 425 Clause Problems
Comments 0
Log in to post a comment