Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Logic and Integer Programming.pdf
Скачиваний:
45
Добавлен:
10.08.2013
Размер:
2.8 Mб
Скачать

4.10 Applications

139

If the patient has the disease this statement must be true to be consistent with (4.156).

Equation (4.158) can be simplified to

 

 

 

 

 

 

 

 

(X1 X2 X3 X4) · (X2 X3 X5) · (X1 X2)

(4.159)

Expressed in DNF this is (after simplification and taking out redundant prime implicants)

 

 

 

 

 

 

 

 

(4.160)

X1 · X2 X2 · X3 X2 · X4 X1 · X2 · X3 X1 · X2 · X5

We must now check that the conjunction of (4.160) with (4.156) is consistent (satisfiable). This is left as Exercise 4.12.23.

Once it is shown to be satisfiable we can use (4.156) to define a new (smaller) set of tests for diagnosing the disease. This is given in Table 4.4.

 

Table 4.4

New Tests for the Disease

 

Symptoms

S1

S2

S3

S4

S5

Test 1

T

T

T

Test 2

F

T

F

T

Test 3

T

T

As mentioned in Sect. 4.6 the finding of the minimum logical expression can be very difficult for larger examples and heuristics often have to be resorted to in order to find suboptimal solutions. However, the finding of the minimum expression is highly desirable in many of these problems in view of the cost or utility of the resulting test regime (in the case of LAD).

4.10.4 Chemical-processing networks

In this situation it is sometimes desirable to represent and analyse the logical dependence of different processes before solving the associated problem by IP. We illustrate this by the very small example in Fig. 4.14.

 

 

x2

P1

x4

 

 

 

 

 

 

x6

 

 

 

 

 

 

 

 

 

x1

 

 

 

 

P3

x7

 

 

 

 

 

 

 

 

 

 

 

 

 

P2

 

 

 

 

 

 

x3

x5

 

 

 

 

 

 

 

Fig. 4.14 A chemical-processing network

140

4 The Satisfiability Problem and Its Extensions

P1, P2 and P3 are chemical processes into and out of which are flows of material whose quantities are represented by the corresponding xi variables. The processes have maximum capacities of inputs of M1, M2 and M3, respectively. Their outputs are their inputs multiplied by α1, α2 and α3, respectively. It is not possible to operate P1 and P2 simultaneously. If we represent whether each Pi is operating or not by 0–1 variables yi then we have the following constraints:

x1 x2 x3 = 0, x6 x4 x5 = 0

(4.161)

x4 α1 x2 = 0,

x5 α2 x3 = 0,

x7 α3 x6 = 0

(4.162)

x2 M1 y1 0,

x3 M2 y2 0,

x6 M3 y3 0

(4.163)

 

y1 + y2 1

 

(4.164)

In addition we will have costs on x1, x3 and x5 and a revenue on x7 as well as (fixed) costs on y1, y2 and y3.

As explained in Chapter 2 the standard version of the branch-and-bound algorithm relies on dichotemies based on branching on 0–1 variables. However in this type of application there is merit in analysing the logical relationships between the processes and representing them in a ‘simple’ form allowing more useful dichotemies. We do this using logical notation. Also it is worth representing, explicitly, the obvious condition (which would be satisfied at optimality) that if process P3 is not used then it is not worth using P1 or P2. The relationships between the processes can then be modelled as follows:

 

 

 

 

 

 

(Y1 Y2) · ((Y1 Y2) Y3)

(4.165)

The 0–1 variables can be used to model the satisfaction of the two clauses. Branching on these variables before the other variables is advantageous.

4.10.5 Other Applications

Truss design involves designing a structure, at minimum cost, to support objects of a given weight and size. Some bars in the structure are supported by other bars. Hence there is a logical dependency of the former on the latter which can be formulated using logical statements. The objective function will be represented as a linear combination of the literals.

Optimal pit limits involves finding the ‘best’ volume of earth and rock to extract from an open-cast mine in order to maximise profit. If the mine is ‘discretised’ by conceptually visualising the volume in discrete blocks there is a logical relationship between the blocks which should be excavated. In order to be able to extract the richer ore ‘uneconomic’ blocks above (overburden) must be extracted first. In total there will be an optimum combination of blocks which should be extracted to maximise total profit. An extension of the problem is to find the optimal order within