Using a Hybrid Genetic-Algorithm/Branch and Bound Approach to

bankpottstownAI and Robotics

Oct 23, 2013 (3 years and 9 months ago)

77 views

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