Constraint Logic Programming Using Eclipse
Leverbaar
Introduction ix Part I: Logic programming paradigm 1(38) Logic programming and pure Prolog 3(26) Introduction 3(1) Syntax 4(3) The meaning of a program 7(2) Computing with equations 9(6) Prolog: the first steps 15(8) Two simple pure Prolog programs 23(3) Summary 26(1) Exercises 26(3) A reconstruction of pure Prolog 29(10) Introduction 29(1) The programming language L0 29(4) Translating pure Prolog into L0 33(2) Pure Prolog and declarative programming 35(1) L0 and declarative programming 36(1) Summary 37(1) Exercises 38(1) Part II: Elements of Prolog 39(48) Arithmetic in Prolog 41(18) Introduction 41(1) Arithmetic expressions and their evaluation 42(5) Arithmetic comparison predicates 47(4) Passive versus active constraints 51(1) Operators 52(3) Summary 55(2) Exercises 57(2) Control and meta-programming 59(17) More on Prolog syntax 59(3) Control 62(7) Meta-programming 69(5) Summary 74(1) Exercises 75(1) Manipulating structures 76(11) Structure inspection facilities 76(2) Structure comparison facilities 78(2) Structure decomposition and construction facilities 80(5) Summary 85(1) Exercises 85(2) Part III: Programming with passive constraints 87(96) Constraint programming: a primer 89(21) Introduction 89(1) Basic concepts 90(1) Example classes of constraints 91(3) Constraint satisfaction problems: examples 94(4) Constrained optimisation problems: examples 98(4) Solving CSPs and COPs 102(5) From CSPs and COPs to constraint programming 107(1) Summary 108(1) Exercises 108(2) Intermezzo: Iteration in ECLi PSe 110(23) Introduction 110(1) Iterating over lists and integer ranges 111(2) Iteration specifications in general 113(8) Arrays and iterations 121(3) fromto/4: the most general iterator 124(5) The n-queens problem 129(1) Summary 130(2) Exercises 132(1) Top-down search with passive constraints 133(22) Introduction 133(1) Solving CSPs using Prolog 134(1) Backtracking search in Prolog 135(4) Incomplete search 139(7) Non-logical variables 146(3) Counting the number of backtracks 149(4) Summary 153(1) Exercises 153(2) The suspend library 155(28) Introduction 155(1) Solving CSPs and COPs using ECL PSe 156(1) Introducing the suspend library 157(3) Core constraints 160(7) User defined suspensions 167(3) Generating CSPs 170(5) Using the suspend library 175(5) Summary 180(1) Exercises 181(2) Part IV: Programming with active constraints 183(122) Constraint propagation in ECLi PSe 185(20) Introduction 185(1) The sd library 186(3) The ic library 189(11) Disjunctive constraints and reification 200(3) Summary 203(1) Exercises 204(1) Top-down search with active constraints 205(25) Introduction 205(1) Backtrack-free search 206(2) Shallow backtracking search 208(3) Backtracking search 211(4) Variable ordering heuristics 215(3) Value ordering heuristics 218(2) Constructing specific search behaviour 220(3) The search/6 generic search predicate 223(4) Summary 227(2) Exercises 229(1) Optimisation with active constraints 230(26) The minimize/2 built-in 230(2) The knapsack problem 232(2) The coins problem 234(1) The currency design problem 235(5) Generating Sudoku puzzles 240(6) The bb min/3 built-in 246(7) When the number of variables is unknown 253(1) Summary 254(1) Exercises 255(1) Constraints on reals 256(22) Introduction 256(1) Three classes of problems 257(4) Constraint propagation 261(2) Splitting one domain 263(1) Search 264(1) The built-in search predicate locate 265(2) Shaving 267(5) Optimisation on continuous variables 272(3) Summary 275(1) Exercises 275(3) Linear constraints over continuous and integer variables 278(27) Introduction 278(1) The eplex library 279(5) Solving satisfiability problems using eplex 284(1) Repeated solver waking 285(4) The transportation problem 289(5) The linear facility location problem 294(2) The non-linear facility location problem 296(6) Summary 302(1) Exercises 303(2) Solutions to selected exercises 305(15) Bibliographic remarks 320(3) Bibliography 323(4) Index 327
Gebonden | 329 pagina's | Engels
1e druk | Verschenen in 2007
Rubriek: