{
  "id": "three-nodes",
  "title": "Depot and two customers with valid time windows",
  "input": {
    "path": "formats/tsptw/cases/three-nodes/input.txt",
    "text": "# Hand-made depot and two customers\n3\n0 2 4\n3 0 2\n4 3 0\n0 20\n2 8\n5 12\n"
  },
  "params": [],
  "commands": {
    "readJson": "iris read formats/tsptw/tsptw.iris formats/tsptw/cases/three-nodes/input.txt --json",
    "readDzn": "iris read formats/tsptw/tsptw.iris formats/tsptw/cases/three-nodes/input.txt --dzn",
    "readSummary": "iris read formats/tsptw/tsptw.iris formats/tsptw/cases/three-nodes/input.txt --summary",
    "errorJson": null
  },
  "result": {
    "kind": "success",
    "json": "{\"iris\":\"0.1\",\"entries\":[{\"name\":\"n\",\"type\":\"int\",\"depth\":0,\"value\":3},{\"name\":\"dist\",\"type\":\"int\",\"depth\":2,\"value\":[[0,2,4],[3,0,2],[4,3,0]]},{\"name\":\"ready\",\"type\":\"int\",\"depth\":1,\"value\":[0,2,5]},{\"name\":\"due\",\"type\":\"int\",\"depth\":1,\"value\":[20,8,12]}]}\n",
    "dzn": "n = 3;\ndist = [| 0, 2, 4\n  | 3, 0, 2\n  | 4, 3, 0 |];\nready = [0, 2, 5];\ndue = [20, 8, 12];\n",
    "summary": "formats/tsptw/cases/three-nodes/input.txt [tsptw]\n  n: int 3\n  dist: int array 3 x 3\n  ready: int array 3\n  due: int array 3\n"
  },
  "catalog": null,
  "downloads": {
    "input": "/examples/formats/tsptw/cases/three-nodes/input.txt",
    "spec": "/examples/formats/tsptw/tsptw.iris",
    "data.json": "/examples/formats/tsptw/cases/three-nodes/data.json",
    "data.dzn": "/examples/formats/tsptw/cases/three-nodes/data.dzn",
    "summary.txt": "/examples/formats/tsptw/cases/three-nodes/summary.txt",
    "case": "/examples/formats/tsptw/cases/three-nodes/case.json"
  },
  "spec": {
    "path": "formats/tsptw/tsptw.iris",
    "text": "format tsptw\n\ncomment \"#\"\nn: 2..1000\ndist[n][n]: 0..gecode.int_max / 2 / n\n\ntype time = 0..gecode.int_max / 2\nrepeat n as nodes {\n  each node\n  ready: time\n  due: time\n}\n\ncheck node.ready <= node.due \"the time window of a node is invalid\"\ncheck nodes[0].ready == 0 \"the depot (node 0) must open at time 0\"\n"
  }
}
