Abstract

Disjunctive Temporal Problems (DTPs) with Preferences (DTPPs) extend DTPs with piece-wise constant preference functions associated to each constraint of the form l ≤ x − y ≤ u, where x,y are (real or integer) variables, and l,u are numeric constants. The goal is to find an assignment to the variables of the problem that maximizes the sum of the preference values of satisfied DTP constraints, where such values are obtained by aggregating the preference functions of the satisfied constraints in it under a “max” semantic. The state-of-the-art approach in the field, implemented in the native DTPP solver Maxilitis, extends the approach of the native DTP solver Epilitis. In this paper we present alternative approaches that translate DTPPs to Maximum Satisfiability of a set of Boolean combination of constraints of the form l⋈x − y⋈u, ⋈ ∈{<,≤}, that extend previous work dealing with constant preference functions only. We prove correctness and completeness of the approaches. Results obtained with the Satisfiability Modulo Theories (SMT) solvers Yices and MathSAT on randomly generated DTPPs and DTPPs built from real-world benchmarks, show that one of our translation is competitive to, and can be faster than, Maxilitis (This is an extended and revised version of Bourguet et al. 2013).

Keywords

Notes

Acknowledgments

The authors would like to thank the reviewers for useful comments and criticisms. They would like to thank also Michael D. Moffitt for providing his solvers and the program for generating random benchmarks, and Bruno Dutertre for his support about Yices.

Publisher’s Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendix

Table 3

Performance of the selected solvers on random DTPPs with k = 2 with different sizes

n

m

dtppMathSAT

dtppYices

Mod. A

Mod. B

Mod. A

Mod. B

#

Time

#

Time

#

Time

#

Time

8

10

25

0.55

18

2.68

25

0.10

25

0.26

16

20

25

1.04

9

0.75

25

0.31

25

0.80

24

30

25

1.58

4

22.63

25

0.50

25

4.45

32

40

25

2.92

2

64.61

25

0.78

25

23.44

40

50

25

3.05

1

0.15

25

1.48

24

245.32

48

60

25

4.90

–

–

25

2.41

21

403.39

56

70

25

6.28

–

–

25

3.58

12

1355.01

64

80

25

8.50

–

–

25

4.75

6

414.62

n

m

Maxilitis-BB

Maxilitis-IW

Mod. A

Mod. B

Mod. A

Mod. B

#

Time

#

Time

#

Time

#

Time

8

10

25

0.00

25

0.04

25

0.00

25

0.31

16

20

25

0.17

25

16.28

25

0.01

25

60.84

24

30

25

5.61

18

588.56

25

0.02

21

913.16

32

40

24

67.60

3

80.83

25

0.06

9

905.42

40

50

22

27.53

1

105.45

25

0.29

3

327.23

48

60

17

247.24

–

–

25

4.24

–

–

56

70

21

57.79

–

–

25

0.71

–

–

64

80

16

151.82

–

–

25

7.13

–

–

The first columns (“n”) reports the total amount of variables for each pool of DTPPs, while the second one (“m”) reports the total amount of constraints. It is followed by two groups of columns, and the label is the solver name. Each group is composed of four columns, reporting the total amount of instances solved within the time limit (“#”) and the total CPU time in seconds (“Time”) spent, in the case of model A and B (groups “Mod. A” and “Mod. B”, respectively). In case a solver does not solve any instance, “–” is reported. Finally, best performance are denoted in bold

Table 4

Performance of the selected solvers on random DTPPs having k = 2, with different levels

l

dtppMathSAT

dtppYices

Mod. A

Mod. B

Mod. A

Mod. B

#

Time

#

Time

#

Time

#

Time

2

25

0.54

23

0.64

25

0.10

25

0.20

3

25

0.81

18

1.01

25

0.20

25

0.38

4

25

1.14

12

211.14

25

0.32

25

0.87

5

25

1.58

4

22.61

25

0.50

25

4.44

6

25

28.54

–

–

25

1.82

25

17.28

7

22

238.73

–

–

23

56.05

21

528.05

8

10

56.82

–

–

15

228.16

13

487.39

l

Maxilitis-BB

Maxilitis-IW

Mod. A

Mod. B

Mod. A

Mod. B

#

Time

#

Time

#

Time

#

Time

2

25

0.01

25

1.68

25

0.01

25

2.84

3

25

0.01

25

7.05

25

0.01

25

47.26

4

25

0.01

21

395.00

25

0.01

25

203.52

5

25

5.62

18

589.33

25

0.04

21

914.45

6

24

32.66

10

673.87

25

4.80

10

608.04

7

21

230.50

2

68.01

23

129.72

2

59.57

8

12

434.55

2

216.89

17

598.42

2

303.08

In column “l” we report the total amount of levels, while the rest of the table is organized similarly to Table 3

Table 5

Performance of the selected solvers on random DTPPs with k = 3 with different sizes. The table is organized as Table 3

n

m

dtppMathSAT

dtppYices

Mod. A

Mod. B

Mod. A

Mod. B

#

Time

#

Time

#

Time

#

Time

8

10

25

0.73

23

77.80

25

0.20

25

0.52

16

20

25

1.51

19

158.56

25

0.47

25

1.22

24

30

25

2.60

9

28.58

25

0.96

25

2.42

32

40

25

4.85

6

173.39

25

1.95

25

10.21

40

50

25

9.36

1

189.91

25

6.02

25

54.78

48

60

24

13.43

2

0.84

25

9.19

25

70.18

56

70

25

30.75

–

–

25

11.25

24

299.66

64

80

25

40.41

–

–

25

20.92

18

844.75

n

m

Maxilitis-BB

Maxilitis-IW

Mod. A

Mod. B

Mod. A

Mod. B

#

Time

#

Time

#

Time

#

Time

8

10

25

0.01

25

0.04

25

0.01

25

0.09

16

20

25

0.01

25

2.48

25

0.01

25

5.53

24

30

25

0.02

25

231.18

25

0.04

25

209.74

32

40

25

0.12

17

838.47

25

0.11

18

974.13

40

50

25

0.15

6

671.02

25

0.13

9

703.24

48

60

25

0.28

2

144.48

25

0.15

3

380.24

56

70

25

0.64

–

–

25

0.24

1

22.22

64

80

25

0.33

–

–

25

0.30

–

–

Table 6

Performance of the selected solvers on random DTPPs with k = 3 with different levels. The table is organized as Table 4