Building Constraint Solvers with HAL View Full Text


Ontology type: schema:Chapter     


Chapter Info

DATE

2001-11-13

AUTHORS

María García de la Banda , David Jeffery , Kim Marriott , Nicholas Nethercote , Peter J. Stuckey , Christian Holzbaur

ABSTRACT

Experience using constrain programming to solve real-life problems has shown that finding an efficient solution to a problem often requires experimentation with different constrain solvers or even building a problem-specific solver. HAL is a new constrain logic programming language expressly designed to facilitate this process. In this paper we examine different ways of building solvers in HAL. We explain how type classes can be used to specify solver interfaces, allowing the constrain programmer to support modelling of a constrain problem independently of a particular solver, leading to easy “plug and play” experimentation. We compare a number of different ways of writing a simple solver in HAL: using dynamic scheduling, constrain handling rules and building on an existing solver. We also examine how external solvers may be interfaced with HAL, and approaches for removing interface overhead. More... »

PAGES

90-104

Identifiers

URI

http://scigraph.springernature.com/pub.10.1007/3-540-45635-x_14

DOI

http://dx.doi.org/10.1007/3-540-45635-x_14

DIMENSIONS

https://app.dimensions.ai/details/publication/pub.1006016956


Indexing Status Check whether this publication has been indexed by Scopus and Web Of Science using the SN Indexing Status Tool
Incoming Citations Browse incoming citations for this publication using opencitations.net

JSON-LD is the canonical representation for SciGraph data.

TIP: You can open this SciGraph record using an external JSON-LD service: JSON-LD Playground Google SDTT

[
  {
    "@context": "https://springernature.github.io/scigraph/jsonld/sgcontext.json", 
    "about": [
      {
        "id": "http://purl.org/au-research/vocabulary/anzsrc-for/2008/08", 
        "inDefinedTermSet": "http://purl.org/au-research/vocabulary/anzsrc-for/2008/", 
        "name": "Information and Computing Sciences", 
        "type": "DefinedTerm"
      }, 
      {
        "id": "http://purl.org/au-research/vocabulary/anzsrc-for/2008/0803", 
        "inDefinedTermSet": "http://purl.org/au-research/vocabulary/anzsrc-for/2008/", 
        "name": "Computer Software", 
        "type": "DefinedTerm"
      }
    ], 
    "author": [
      {
        "affiliation": {
          "alternateName": "School of Comp. Sci. & Soft. Eng., Monash University, Australia", 
          "id": "http://www.grid.ac/institutes/grid.1002.3", 
          "name": [
            "School of Comp. Sci. & Soft. Eng., Monash University, Australia"
          ], 
          "type": "Organization"
        }, 
        "familyName": "de la Banda", 
        "givenName": "Mar\u00eda Garc\u00eda", 
        "id": "sg:person.016350443307.93", 
        "sameAs": [
          "https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.016350443307.93"
        ], 
        "type": "Person"
      }, 
      {
        "affiliation": {
          "alternateName": "School of Comp. Sci. & Soft. Eng., Monash University, Australia", 
          "id": "http://www.grid.ac/institutes/grid.1002.3", 
          "name": [
            "School of Comp. Sci. & Soft. Eng., Monash University, Australia"
          ], 
          "type": "Organization"
        }, 
        "familyName": "Jeffery", 
        "givenName": "David", 
        "id": "sg:person.013435622047.94", 
        "sameAs": [
          "https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.013435622047.94"
        ], 
        "type": "Person"
      }, 
      {
        "affiliation": {
          "alternateName": "School of Comp. Sci. & Soft. Eng., Monash University, Australia", 
          "id": "http://www.grid.ac/institutes/grid.1002.3", 
          "name": [
            "School of Comp. Sci. & Soft. Eng., Monash University, Australia"
          ], 
          "type": "Organization"
        }, 
        "familyName": "Marriott", 
        "givenName": "Kim", 
        "id": "sg:person.014375607254.44", 
        "sameAs": [
          "https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.014375607254.44"
        ], 
        "type": "Person"
      }, 
      {
        "affiliation": {
          "alternateName": "Dept. of Comp. Sci. & Soft. Eng., University of Melbourne, Australia", 
          "id": "http://www.grid.ac/institutes/grid.1008.9", 
          "name": [
            "Dept. of Comp. Sci. & Soft. Eng., University of Melbourne, Australia"
          ], 
          "type": "Organization"
        }, 
        "familyName": "Nethercote", 
        "givenName": "Nicholas", 
        "id": "sg:person.07732570545.28", 
        "sameAs": [
          "https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.07732570545.28"
        ], 
        "type": "Person"
      }, 
      {
        "affiliation": {
          "alternateName": "Dept. of Comp. Sci. & Soft. Eng., University of Melbourne, Australia", 
          "id": "http://www.grid.ac/institutes/grid.1008.9", 
          "name": [
            "Dept. of Comp. Sci. & Soft. Eng., University of Melbourne, Australia"
          ], 
          "type": "Organization"
        }, 
        "familyName": "Stuckey", 
        "givenName": "Peter J.", 
        "id": "sg:person.012243374043.93", 
        "sameAs": [
          "https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.012243374043.93"
        ], 
        "type": "Person"
      }, 
      {
        "affiliation": {
          "alternateName": "Dept. of Medical Cybernetics and Art. Intel., University of Vienna, Austria", 
          "id": "http://www.grid.ac/institutes/grid.10420.37", 
          "name": [
            "Dept. of Medical Cybernetics and Art. Intel., University of Vienna, Austria"
          ], 
          "type": "Organization"
        }, 
        "familyName": "Holzbaur", 
        "givenName": "Christian", 
        "id": "sg:person.015052747435.75", 
        "sameAs": [
          "https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.015052747435.75"
        ], 
        "type": "Person"
      }
    ], 
    "datePublished": "2001-11-13", 
    "datePublishedReg": "2001-11-13", 
    "description": "Experience using constrain programming to solve real-life problems has shown that finding an efficient solution to a problem often requires experimentation with different constrain solvers or even building a problem-specific solver. HAL is a new constrain logic programming language expressly designed to facilitate this process. In this paper we examine different ways of building solvers in HAL. We explain how type classes can be used to specify solver interfaces, allowing the constrain programmer to support modelling of a constrain problem independently of a particular solver, leading to easy \u201cplug and play\u201d experimentation. We compare a number of different ways of writing a simple solver in HAL: using dynamic scheduling, constrain handling rules and building on an existing solver. We also examine how external solvers may be interfaced with HAL, and approaches for removing interface overhead.", 
    "editor": [
      {
        "familyName": "Codognet", 
        "givenName": "Philippe", 
        "type": "Person"
      }
    ], 
    "genre": "chapter", 
    "id": "sg:pub.10.1007/3-540-45635-x_14", 
    "inLanguage": "en", 
    "isAccessibleForFree": false, 
    "isPartOf": {
      "isbn": [
        "978-3-540-42935-7", 
        "978-3-540-45635-3"
      ], 
      "name": "Logic Programming", 
      "type": "Book"
    }, 
    "keywords": [
      "logic programming language", 
      "problem-specific solvers", 
      "real-life problems", 
      "solver interface", 
      "programming language", 
      "dynamic scheduling", 
      "particular solver", 
      "external solvers", 
      "Handling Rules", 
      "efficient solution", 
      "simple solver", 
      "solver", 
      "type classes", 
      "programmers", 
      "experimentation", 
      "different ways", 
      "scheduling", 
      "interface", 
      "programming", 
      "language", 
      "constraints", 
      "way", 
      "rules", 
      "modelling", 
      "solution", 
      "class", 
      "number", 
      "process", 
      "experience", 
      "HAL", 
      "problem", 
      "paper"
    ], 
    "name": "Building Constraint Solvers with HAL", 
    "pagination": "90-104", 
    "productId": [
      {
        "name": "dimensions_id", 
        "type": "PropertyValue", 
        "value": [
          "pub.1006016956"
        ]
      }, 
      {
        "name": "doi", 
        "type": "PropertyValue", 
        "value": [
          "10.1007/3-540-45635-x_14"
        ]
      }
    ], 
    "publisher": {
      "name": "Springer Nature", 
      "type": "Organisation"
    }, 
    "sameAs": [
      "https://doi.org/10.1007/3-540-45635-x_14", 
      "https://app.dimensions.ai/details/publication/pub.1006016956"
    ], 
    "sdDataset": "chapters", 
    "sdDatePublished": "2022-05-20T07:43", 
    "sdLicense": "https://scigraph.springernature.com/explorer/license/", 
    "sdPublisher": {
      "name": "Springer Nature - SN SciGraph project", 
      "type": "Organization"
    }, 
    "sdSource": "s3://com-springernature-scigraph/baseset/20220519/entities/gbq_results/chapter/chapter_194.jsonl", 
    "type": "Chapter", 
    "url": "https://doi.org/10.1007/3-540-45635-x_14"
  }
]
 

Download the RDF metadata as:  json-ld nt turtle xml License info

HOW TO GET THIS DATA PROGRAMMATICALLY:

JSON-LD is a popular format for linked data which is fully compatible with JSON.

curl -H 'Accept: application/ld+json' 'https://scigraph.springernature.com/pub.10.1007/3-540-45635-x_14'

N-Triples is a line-based linked data format ideal for batch operations.

curl -H 'Accept: application/n-triples' 'https://scigraph.springernature.com/pub.10.1007/3-540-45635-x_14'

Turtle is a human-readable linked data format.

curl -H 'Accept: text/turtle' 'https://scigraph.springernature.com/pub.10.1007/3-540-45635-x_14'

RDF/XML is a standard XML format for linked data.

curl -H 'Accept: application/rdf+xml' 'https://scigraph.springernature.com/pub.10.1007/3-540-45635-x_14'


 

This table displays all metadata directly associated to this object as RDF triples.

133 TRIPLES      23 PREDICATES      57 URIs      50 LITERALS      7 BLANK NODES

Subject Predicate Object
1 sg:pub.10.1007/3-540-45635-x_14 schema:about anzsrc-for:08
2 anzsrc-for:0803
3 schema:author N41a1f8860bca411bac36f8e175b2d300
4 schema:datePublished 2001-11-13
5 schema:datePublishedReg 2001-11-13
6 schema:description Experience using constrain programming to solve real-life problems has shown that finding an efficient solution to a problem often requires experimentation with different constrain solvers or even building a problem-specific solver. HAL is a new constrain logic programming language expressly designed to facilitate this process. In this paper we examine different ways of building solvers in HAL. We explain how type classes can be used to specify solver interfaces, allowing the constrain programmer to support modelling of a constrain problem independently of a particular solver, leading to easy “plug and play” experimentation. We compare a number of different ways of writing a simple solver in HAL: using dynamic scheduling, constrain handling rules and building on an existing solver. We also examine how external solvers may be interfaced with HAL, and approaches for removing interface overhead.
7 schema:editor N3d5d01d654104efb9eecb40525c46f30
8 schema:genre chapter
9 schema:inLanguage en
10 schema:isAccessibleForFree false
11 schema:isPartOf Nd8e9ed0a195b4bc8b439ce42262b5312
12 schema:keywords HAL
13 Handling Rules
14 class
15 constraints
16 different ways
17 dynamic scheduling
18 efficient solution
19 experience
20 experimentation
21 external solvers
22 interface
23 language
24 logic programming language
25 modelling
26 number
27 paper
28 particular solver
29 problem
30 problem-specific solvers
31 process
32 programmers
33 programming
34 programming language
35 real-life problems
36 rules
37 scheduling
38 simple solver
39 solution
40 solver
41 solver interface
42 type classes
43 way
44 schema:name Building Constraint Solvers with HAL
45 schema:pagination 90-104
46 schema:productId N458aaa08823a44c29ce75871bbc21a98
47 N6bd08dedd43b4bf9ad8e150114228506
48 schema:publisher Nfc8f32bd16a64f029dd41136b670fc8b
49 schema:sameAs https://app.dimensions.ai/details/publication/pub.1006016956
50 https://doi.org/10.1007/3-540-45635-x_14
51 schema:sdDatePublished 2022-05-20T07:43
52 schema:sdLicense https://scigraph.springernature.com/explorer/license/
53 schema:sdPublisher N7bd101e0f94e4ce7bdaa1d357072d3ae
54 schema:url https://doi.org/10.1007/3-540-45635-x_14
55 sgo:license sg:explorer/license/
56 sgo:sdDataset chapters
57 rdf:type schema:Chapter
58 N0e01c53be6504352a0dd1e9393c1081d rdf:first sg:person.013435622047.94
59 rdf:rest N95bd6c72c7724e93879e8c3997594d33
60 N375febb5a4e24e48baedbc0dcd1c98a7 schema:familyName Codognet
61 schema:givenName Philippe
62 rdf:type schema:Person
63 N3afaf7254bf64b268dfc3c3a62a29d84 rdf:first sg:person.07732570545.28
64 rdf:rest N68257ea6a53a4ee79a4df289b7fcc4a6
65 N3d5d01d654104efb9eecb40525c46f30 rdf:first N375febb5a4e24e48baedbc0dcd1c98a7
66 rdf:rest rdf:nil
67 N41a1f8860bca411bac36f8e175b2d300 rdf:first sg:person.016350443307.93
68 rdf:rest N0e01c53be6504352a0dd1e9393c1081d
69 N458aaa08823a44c29ce75871bbc21a98 schema:name doi
70 schema:value 10.1007/3-540-45635-x_14
71 rdf:type schema:PropertyValue
72 N4d4868a191344306a5d96bdfae35736a rdf:first sg:person.015052747435.75
73 rdf:rest rdf:nil
74 N68257ea6a53a4ee79a4df289b7fcc4a6 rdf:first sg:person.012243374043.93
75 rdf:rest N4d4868a191344306a5d96bdfae35736a
76 N6bd08dedd43b4bf9ad8e150114228506 schema:name dimensions_id
77 schema:value pub.1006016956
78 rdf:type schema:PropertyValue
79 N7bd101e0f94e4ce7bdaa1d357072d3ae schema:name Springer Nature - SN SciGraph project
80 rdf:type schema:Organization
81 N95bd6c72c7724e93879e8c3997594d33 rdf:first sg:person.014375607254.44
82 rdf:rest N3afaf7254bf64b268dfc3c3a62a29d84
83 Nd8e9ed0a195b4bc8b439ce42262b5312 schema:isbn 978-3-540-42935-7
84 978-3-540-45635-3
85 schema:name Logic Programming
86 rdf:type schema:Book
87 Nfc8f32bd16a64f029dd41136b670fc8b schema:name Springer Nature
88 rdf:type schema:Organisation
89 anzsrc-for:08 schema:inDefinedTermSet anzsrc-for:
90 schema:name Information and Computing Sciences
91 rdf:type schema:DefinedTerm
92 anzsrc-for:0803 schema:inDefinedTermSet anzsrc-for:
93 schema:name Computer Software
94 rdf:type schema:DefinedTerm
95 sg:person.012243374043.93 schema:affiliation grid-institutes:grid.1008.9
96 schema:familyName Stuckey
97 schema:givenName Peter J.
98 schema:sameAs https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.012243374043.93
99 rdf:type schema:Person
100 sg:person.013435622047.94 schema:affiliation grid-institutes:grid.1002.3
101 schema:familyName Jeffery
102 schema:givenName David
103 schema:sameAs https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.013435622047.94
104 rdf:type schema:Person
105 sg:person.014375607254.44 schema:affiliation grid-institutes:grid.1002.3
106 schema:familyName Marriott
107 schema:givenName Kim
108 schema:sameAs https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.014375607254.44
109 rdf:type schema:Person
110 sg:person.015052747435.75 schema:affiliation grid-institutes:grid.10420.37
111 schema:familyName Holzbaur
112 schema:givenName Christian
113 schema:sameAs https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.015052747435.75
114 rdf:type schema:Person
115 sg:person.016350443307.93 schema:affiliation grid-institutes:grid.1002.3
116 schema:familyName de la Banda
117 schema:givenName María García
118 schema:sameAs https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.016350443307.93
119 rdf:type schema:Person
120 sg:person.07732570545.28 schema:affiliation grid-institutes:grid.1008.9
121 schema:familyName Nethercote
122 schema:givenName Nicholas
123 schema:sameAs https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.07732570545.28
124 rdf:type schema:Person
125 grid-institutes:grid.1002.3 schema:alternateName School of Comp. Sci. & Soft. Eng., Monash University, Australia
126 schema:name School of Comp. Sci. & Soft. Eng., Monash University, Australia
127 rdf:type schema:Organization
128 grid-institutes:grid.1008.9 schema:alternateName Dept. of Comp. Sci. & Soft. Eng., University of Melbourne, Australia
129 schema:name Dept. of Comp. Sci. & Soft. Eng., University of Melbourne, Australia
130 rdf:type schema:Organization
131 grid-institutes:grid.10420.37 schema:alternateName Dept. of Medical Cybernetics and Art. Intel., University of Vienna, Austria
132 schema:name Dept. of Medical Cybernetics and Art. Intel., University of Vienna, Austria
133 rdf:type schema:Organization
 




Preview window. Press ESC to close (or click here)


...