{
  "chapters": {
    "1": "Pemrograman Matematis",
    "2": "Pemodelan: Pemrograman Linear",
    "3": "Menggunakan Solver Excel",
    "4": "Pemodelan dengan Notasi Ringkas",
    "5": "Menyelesaikan Program Linier secara Grafis",
    "6": "Pernyataan Matematis Formal",
    "7": "Metode Simpleks",
    "8": "Simpleks -- Perhitungan Matriks",
    "9": "Metode Simpleks dalam Bentuk Tableau",
    "10": "Analisis Sensitivitas",
    "11": "Dualitas",
    "12": "Perangkat Lunak -- Python",
    "13": "Optimisasi Multiobjektif",
    "14": "Algoritme Graf",
    "15": "Pengantar Formulasi Pemrograman Bilangan Bulat"
  },
  "counts": {
    "additive_graph_practice_ids": 13,
    "exact_individual_native_spans": 530,
    "graph_manual_sections": 24,
    "graph_practice_items": 19,
    "graph_practice_native_ids": 6,
    "manual_materials": 192,
    "manual_solution_headers": 168,
    "native_exercise_nodes": 194,
    "native_relations": 9545,
    "native_units": 1993,
    "numbered_reader_exercises": 184,
    "questions_with_manual_material": 191,
    "questions_without_manual_material": 12,
    "selectable_reader_exercises": 203,
    "source_only_legacy_exercises": 4
  },
  "course_id": "C130",
  "findings": [
    "Thirteen unlabelled graph practice questions were absent as individual native exercise records; current overlay preserves native IDs and adds distinct source-bound IDs.",
    "Native manualsolution spans hash headings, not complete answer bodies; current overlay hashes the full material separately.",
    "Graph manual uses distinct numbered practice families and includes guidance/rubrics; do not treat it as an undifferentiated answer key.",
    "Four graph ex environments are inside the legacy ifdefined old branch and are absent from the pinned reader exercise counter sequence."
  ],
  "fixtures": [
    "comments-escaped-percent-and-CRLF",
    "answer-trailing-newlines-and-EOF",
    "labelled-item-stops-before-unlabelled-sibling",
    "manual-nested-and-escaped-braces",
    "unique-relocation",
    "ambiguous-relocation-rejected",
    "changed-content-rejected",
    "wrong-label-rejected",
    "malformed-structures-rejected",
    "BOM-and-multibyte-offsets",
    "graph-top-level-numbering-and-nested-parts",
    "literal-unique",
    "ambiguous-rejected",
    "comments-excluded",
    "math-excluded",
    "changed-witness-rejected",
    "solution-heading-excludes-manual-and-question",
    "wrong-solution-label-rejected",
    "duplicate-solution-edge-rejected",
    "missing-solution-edge-rejected",
    "ambiguous-solution-heading-rejected",
    "missing-solution-heading-rejected",
    "ordered-composite-unique",
    "composite-duplicate-page-rejected",
    "composite-reordering-rejected",
    "composite-cross-page-rejected",
    "composite-missing-fragment-rejected",
    "composite-repeated-occurrence-required",
    "composite-comments-excluded",
    "adjacent-example-unique",
    "duplicate-example-heading-rejected",
    "wrong-example-title-rejected",
    "wrong-solution-opening-rejected",
    "missing-example-solution-heading-rejected",
    "nonadjacent-source-example-rejected"
  ],
  "inputs": {
    "backend": {
      "bytes": 6535806,
      "filename": "pemrograman-matematis-dan-riset-operasi-buku-1-modular-backend-v0.zip",
      "sha256": "7cd76333b3433518f4d983d6775412aba9fd99e1f6b9a35a89528e6994830c56",
      "url": "https://kokunoyumeto.github.io/open-optimization-or-book-id/downloads/pemrograman-matematis-dan-riset-operasi-buku-1-modular-backend-v0.zip"
    },
    "labs": {
      "bytes": 527596,
      "filename": "pemrograman-matematis-dan-riset-operasi-buku-1-o018-open-solver-labs-id-ID.zip",
      "sha256": "99628dcdd4984c8a3b763862dc88b06bca8bf15d47dbf1db863cfe46b2a1e592",
      "url": "https://kokunoyumeto.github.io/open-optimization-or-book-id/downloads/pemrograman-matematis-dan-riset-operasi-buku-1-o018-open-solver-labs-id-ID.zip"
    },
    "reader": {
      "bytes": 26425739,
      "filename": "pemrograman-matematis-dan-riset-operasi-buku-1-id-ID.pdf",
      "sha256": "daa9b79df3684729cc204b563669f400866d8fbd12c0977d32ff9897276a7a49",
      "url": "https://kokunoyumeto.github.io/open-optimization-or-book-id/downloads/pemrograman-matematis-dan-riset-operasi-buku-1-id-ID.pdf"
    },
    "source": {
      "bytes": 20087323,
      "filename": "pemrograman-matematis-dan-riset-operasi-buku-1-source-id-ID.zip",
      "sha256": "55d62c53401938eb5dbc12d3f4116ce68181bd90c9f94fda1434fe20f5196914",
      "url": "https://kokunoyumeto.github.io/open-optimization-or-book-id/downloads/pemrograman-matematis-dan-riset-operasi-buku-1-source-id-ID.zip"
    }
  },
  "limits": [
    "This is structural reference mapping, not an independent proof of mathematical correctness.",
    "English and Indonesian controls use the same Indonesian reader; no English book mapping is claimed.",
    "Laboratory relations are native assertions; numerical results have not been re-executed here.",
    "All twelve checkpoints, their twelve answers and twelve visual activities have printed navigation. Other solution sources without unique printed witnesses remain explicitly unmapped.",
    "This does not prove whole-program or whole-C130 capability completion."
  ],
  "manual_materials": [
    {
      "complete_material_span": {
        "body_after_header_range": [
          2002,
          2685
        ],
        "body_sha256": "197bae44faddca896de5f4cb40eaec142604128f78ef5f47769185b6c8619b59",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          11,
          22
        ],
        "normalized_character_range": [
          1956,
          2685
        ],
        "sha256": "b92a781a82761d4bac745dca0f6c3493615147b4bfba124ecb2afc78b6365a8d"
      },
      "id": "unit.r017.book1.ch02.solutions-manual.manualsolution-001",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch02.text.ex-001",
      "reader": {
        "bbox": [
          54.0,
          449.1578674316406,
          557.9970703125,
          466.49285888671875
        ],
        "heading_witness": "Latihan 2.1 (Mengidentifikasi Fungsi Linier)\n⋆\n",
        "page": 469,
        "page_text_sha256": "9574b53771b322c68cb5490bd0a87ec478b6ded8e019b326101ad00d2cbcd3a7"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 46,
        "content_sha256": "2bba181979672c965dbc9928092604c333916bca049a0c81589e9483e09b42a6",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch02.solutions-manual.manualsolution-001",
        "label": "exsol:2.1",
        "line_range": [
          11,
          11
        ],
        "native_record_sha256": "89c5d643423c2a827e44a2b255898786d599440f4976a31b9f073009e9fd5cac",
        "normalized_character_range": [
          1956,
          2002
        ],
        "normalized_utf8_byte_range": [
          1956,
          2002
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch02.tex",
        "source_file": {
          "archive": "source",
          "bytes": 17163,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch02.tex",
          "sha256": "e77990fba3db490b1e7e1ca93a4453c963dc0fb16d6ec2e623be23178c379fbe"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          2731,
          3671
        ],
        "body_sha256": "0d78bd26433091a26f17e10bfea4888f409f06d398cf9127b195836b3d073d52",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          22,
          34
        ],
        "normalized_character_range": [
          2685,
          3671
        ],
        "sha256": "4d341b22549375246bb1278af0312c84a0506aef3d3d6b2c5f4560944fb8abf4"
      },
      "id": "unit.r017.book1.ch02.solutions-manual.manualsolution-002",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch02.text.ex-002",
      "reader": {
        "bbox": [
          53.999996185302734,
          70.83483123779297,
          557.9970703125,
          88.16983032226562
        ],
        "heading_witness": "Latihan 2.2 (Mengidentifikasi Fungsi Linier)\n⋆\n",
        "page": 470,
        "page_text_sha256": "d109d7c84c287d7adcf198149c517d41740e3bca26c9cf3f216b367c257b2b5c"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 46,
        "content_sha256": "8ef00ae7a4616280447aecb70d526a27727528be3813df1858d555b0d86981d5",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch02.solutions-manual.manualsolution-002",
        "label": "exsol:2.2",
        "line_range": [
          22,
          22
        ],
        "native_record_sha256": "2f6f5c64b52f9b8ba02c5382f52a7459de5d9b0242144cef7979ec3552a17ccd",
        "normalized_character_range": [
          2685,
          2731
        ],
        "normalized_utf8_byte_range": [
          2685,
          2731
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch02.tex",
        "source_file": {
          "archive": "source",
          "bytes": 17163,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch02.tex",
          "sha256": "e77990fba3db490b1e7e1ca93a4453c963dc0fb16d6ec2e623be23178c379fbe"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          3704,
          4576
        ],
        "body_sha256": "26e8a27d1b4b7db7fe1ebf8181308003231180019edce1421d595c3089c838ac",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          34,
          46
        ],
        "normalized_character_range": [
          3671,
          4576
        ],
        "sha256": "62dc5cf3386db07b20057500b7bd7713f271105837be2a96038982b3d73b2a7a"
      },
      "id": "unit.r017.book1.ch02.solutions-manual.manualsolution-003",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch02.text.ex-003",
      "reader": {
        "bbox": [
          54.0,
          307.9748229980469,
          557.9948120117188,
          325.309814453125
        ],
        "heading_witness": "Latihan 2.3 (Hoodie dan Poster)\n⋆\n",
        "page": 470,
        "page_text_sha256": "d109d7c84c287d7adcf198149c517d41740e3bca26c9cf3f216b367c257b2b5c"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 33,
        "content_sha256": "a6761f45c27bc4ad547b407d10858a83915d6429fc1d24f34b7c0e907a821448",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch02.solutions-manual.manualsolution-003",
        "label": "exsol:2.3",
        "line_range": [
          34,
          34
        ],
        "native_record_sha256": "404f4eaaa51cc3345872b0fa8fe94aa14890dde703e4399c1a484aa174c47f4a",
        "normalized_character_range": [
          3671,
          3704
        ],
        "normalized_utf8_byte_range": [
          3671,
          3704
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch02.tex",
        "source_file": {
          "archive": "source",
          "bytes": 17163,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch02.tex",
          "sha256": "e77990fba3db490b1e7e1ca93a4453c963dc0fb16d6ec2e623be23178c379fbe"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          4606,
          5437
        ],
        "body_sha256": "f2dc721f7e114f918f26cf43bec3d55255cbf9d35dd2d4863a7700b76cfd6bc1",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          46,
          62
        ],
        "normalized_character_range": [
          4576,
          5437
        ],
        "sha256": "4ea935760b535344acfaa7464d2062a51ba72d520b9a3277ce37e470c67e77de"
      },
      "id": "unit.r017.book1.ch02.solutions-manual.manualsolution-004",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch02.text.ex-004",
      "reader": {
        "bbox": [
          53.99998474121094,
          571.2847900390625,
          557.9996337890625,
          588.6197509765625
        ],
        "heading_witness": "Latihan 2.4 (Bubuk Smoothie)\n⋆\n",
        "page": 470,
        "page_text_sha256": "d109d7c84c287d7adcf198149c517d41740e3bca26c9cf3f216b367c257b2b5c"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 30,
        "content_sha256": "b70136e2f3d0725fd13ebb976da0adea5011694f17d328dbf2905dd139f74226",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch02.solutions-manual.manualsolution-004",
        "label": "exsol:2.4",
        "line_range": [
          46,
          46
        ],
        "native_record_sha256": "7c99bcb51085d4946528f4de16a3bc1791b523891865d222e41f5e7d841e8127",
        "normalized_character_range": [
          4576,
          4606
        ],
        "normalized_utf8_byte_range": [
          4576,
          4606
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch02.tex",
        "source_file": {
          "archive": "source",
          "bytes": 17163,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch02.tex",
          "sha256": "e77990fba3db490b1e7e1ca93a4453c963dc0fb16d6ec2e623be23178c379fbe"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          5474,
          6182
        ],
        "body_sha256": "ed2f83fa2bf904c27cedb20ae99791d859a0bf25c1e6ced1a05ee69f6988386d",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          62,
          74
        ],
        "normalized_character_range": [
          5437,
          6182
        ],
        "sha256": "85c4e0b4e9ae7c89b1494159109d71b77006a95c069076389e23b52a1b760fc9"
      },
      "id": "unit.r017.book1.ch02.solutions-manual.manualsolution-005",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch02.text.ex-005",
      "reader": {
        "bbox": [
          53.99995803833008,
          199.8918914794922,
          557.9970703125,
          217.22689819335938
        ],
        "heading_witness": "Latihan 2.5 (Pembuatan Bahan Kimia)\n⋆⋆\n",
        "page": 471,
        "page_text_sha256": "b714ef72d10fd9f5e327caf0c3cd704437654ff42dc105042b695a4fffb415c4"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 37,
        "content_sha256": "b5a2a925d1d2a021cdae27f9f3ede9c3374907b541ff9686580ed53fcddabc57",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch02.solutions-manual.manualsolution-005",
        "label": "exsol:2.5",
        "line_range": [
          62,
          62
        ],
        "native_record_sha256": "0edf3e6426750e715df07b7b7dce84dee88603e9d494e391e67ab5dd4aceee2f",
        "normalized_character_range": [
          5437,
          5474
        ],
        "normalized_utf8_byte_range": [
          5437,
          5474
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch02.tex",
        "source_file": {
          "archive": "source",
          "bytes": 17163,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch02.tex",
          "sha256": "e77990fba3db490b1e7e1ca93a4453c963dc0fb16d6ec2e623be23178c379fbe"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          6224,
          7460
        ],
        "body_sha256": "7d8e187594bb7a6ba9b527f5cab9b8761552919a8b8f4d72954f35a6ab51253c",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          74,
          90
        ],
        "normalized_character_range": [
          6182,
          7460
        ],
        "sha256": "8dd111ebbef44aede3b4cd970a5bb513cc7b8f5d719b42f066514d8304340d34"
      },
      "id": "unit.r017.book1.ch02.solutions-manual.manualsolution-006",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch02.text.ex-006",
      "reader": {
        "bbox": [
          53.999908447265625,
          467.9278259277344,
          558.0017700195312,
          485.2628173828125
        ],
        "heading_witness": "Latihan 2.6 (Ruang Pamer Sepeda Listrik)\n⋆⋆\n",
        "page": 471,
        "page_text_sha256": "b714ef72d10fd9f5e327caf0c3cd704437654ff42dc105042b695a4fffb415c4"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 42,
        "content_sha256": "8950974095771f79dbe2425d91aa278675f07640101cd12b9485c089c37fc09b",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch02.solutions-manual.manualsolution-006",
        "label": "exsol:2.6",
        "line_range": [
          74,
          74
        ],
        "native_record_sha256": "a84d94d9665a8c880d7c0837b5ca7a59da22be156fb38eb062b61d61539a297a",
        "normalized_character_range": [
          6182,
          6224
        ],
        "normalized_utf8_byte_range": [
          6182,
          6224
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch02.tex",
        "source_file": {
          "archive": "source",
          "bytes": 17163,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch02.tex",
          "sha256": "e77990fba3db490b1e7e1ca93a4453c963dc0fb16d6ec2e623be23178c379fbe"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          7499,
          8664
        ],
        "body_sha256": "92c2ca2b745af33217344b353bc2bdfb4297167f44068a7dd3846f4190b27544",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          90,
          105
        ],
        "normalized_character_range": [
          7460,
          8664
        ],
        "sha256": "32075ff021c2ea6846ab10b7984878baa52c888710ddc7a8713d8da0dd2af9a3"
      },
      "id": "unit.r017.book1.ch02.solutions-manual.manualsolution-007",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch02.text.ex-007",
      "reader": {
        "bbox": [
          54.0,
          157.65379333496094,
          558.0042724609375,
          174.98880004882812
        ],
        "heading_witness": "Latihan 2.7 (Masalah Laba Manufaktur)\n⋆⋆\n",
        "page": 472,
        "page_text_sha256": "520f3be9d02e0c6fbc35384b69c0d129e878744e4289937c40688de0569053b0"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 39,
        "content_sha256": "48da353e87dfed6b8a9aea668e19d7223eaab5916b3085657f3143c0ff3569b8",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch02.solutions-manual.manualsolution-007",
        "label": "exsol:2.7",
        "line_range": [
          90,
          90
        ],
        "native_record_sha256": "2cc198d2b205d3d4729a86985179576d8bb64bf86ae4699926c646294b3cd031",
        "normalized_character_range": [
          7460,
          7499
        ],
        "normalized_utf8_byte_range": [
          7460,
          7499
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch02.tex",
        "source_file": {
          "archive": "source",
          "bytes": 17163,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch02.tex",
          "sha256": "e77990fba3db490b1e7e1ca93a4453c963dc0fb16d6ec2e623be23178c379fbe"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          8701,
          9678
        ],
        "body_sha256": "b306292b7f54b0414dff8ebe538c7c94eef5c9562a990736bd9c6044365b716d",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          105,
          121
        ],
        "normalized_character_range": [
          8664,
          9678
        ],
        "sha256": "026af6274c9d9fde375b626b03d3bb495cc040666bf64c04daf4116fe782c3a4"
      },
      "id": "unit.r017.book1.ch02.solutions-manual.manualsolution-008",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch02.text.ex-008",
      "reader": {
        "bbox": [
          54.0,
          504.8768310546875,
          557.99951171875,
          522.2117919921875
        ],
        "heading_witness": "Latihan 2.8 (Pabrik Pembotolan Jus)\n⋆⋆\n",
        "page": 472,
        "page_text_sha256": "520f3be9d02e0c6fbc35384b69c0d129e878744e4289937c40688de0569053b0"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 37,
        "content_sha256": "93d8546dd6082b83d8701a563508be625e161072f890e59238b1b2ff455c5962",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch02.solutions-manual.manualsolution-008",
        "label": "exsol:2.8",
        "line_range": [
          105,
          105
        ],
        "native_record_sha256": "47b7dd3981116fb157bdc667e4fb86d104626957e2442d53b98693c08657b90a",
        "normalized_character_range": [
          8664,
          8701
        ],
        "normalized_utf8_byte_range": [
          8664,
          8701
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch02.tex",
        "source_file": {
          "archive": "source",
          "bytes": 17163,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch02.tex",
          "sha256": "e77990fba3db490b1e7e1ca93a4453c963dc0fb16d6ec2e623be23178c379fbe"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          9727,
          10780
        ],
        "body_sha256": "247d37c76b0abd00981e0c35539a1fd11494c786291b13f63e1b5fb04bedba92",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          121,
          133
        ],
        "normalized_character_range": [
          9678,
          10780
        ],
        "sha256": "36039bb7d27871d2d9c830eb1dd779f802cfd074bf79722538775262154c4bc5"
      },
      "id": "unit.r017.book1.ch02.solutions-manual.manualsolution-009",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch02.text.ex-009",
      "reader": {
        "bbox": [
          54.0,
          157.65379333496094,
          557.9945678710938,
          174.98880004882812
        ],
        "heading_witness": "Latihan 2.9 (Meminimumkan Waktu Penilaian Kuis)\n⋆⋆\n",
        "page": 473,
        "page_text_sha256": "87b7ecb16a85e85d5d41b2df6bb5df4ef8947895fac0e94c085add1811e47bbc"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 49,
        "content_sha256": "d5b900c5e7cffab49470fb01f8cf95141a4cfaa0656f6e35a5e82406374da121",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch02.solutions-manual.manualsolution-009",
        "label": "exsol:2.9",
        "line_range": [
          121,
          121
        ],
        "native_record_sha256": "a058dac84cf91f36c229c8e2b67c08048f759ffd4ae8affbd2619e06badfccc8",
        "normalized_character_range": [
          9678,
          9727
        ],
        "normalized_utf8_byte_range": [
          9678,
          9727
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch02.tex",
        "source_file": {
          "archive": "source",
          "bytes": 17163,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch02.tex",
          "sha256": "e77990fba3db490b1e7e1ca93a4453c963dc0fb16d6ec2e623be23178c379fbe"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          10822,
          12470
        ],
        "body_sha256": "1e18706b322a68bfbfe664b9425186206c2ba90aaa663a057ee8c0b80b33226c",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          133,
          152
        ],
        "normalized_character_range": [
          10780,
          12470
        ],
        "sha256": "d38ff7194862a71427a6b406627da304b7ccb2d0cda312115d455ad50cb02174"
      },
      "id": "unit.r017.book1.ch02.solutions-manual.manualsolution-010",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch02.text.ex-010",
      "reader": {
        "bbox": [
          53.999969482421875,
          433.9038391113281,
          558.0042114257812,
          451.23883056640625
        ],
        "heading_witness": "Latihan 2.10 (Penjadwalan Kafé Kampus)\n⋆⋆\n",
        "page": 473,
        "page_text_sha256": "87b7ecb16a85e85d5d41b2df6bb5df4ef8947895fac0e94c085add1811e47bbc"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 42,
        "content_sha256": "a745899fc03192997d6c23e4a2371af9679d5e68f84f1d4df45f980dab107241",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch02.solutions-manual.manualsolution-010",
        "label": "exsol:2.10",
        "line_range": [
          133,
          133
        ],
        "native_record_sha256": "e7e5ec35d9ed04542e4d13b0286ce367447cf3dc2655da3f7a8c6acd85832f28",
        "normalized_character_range": [
          10780,
          10822
        ],
        "normalized_utf8_byte_range": [
          10780,
          10822
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch02.tex",
        "source_file": {
          "archive": "source",
          "bytes": 17163,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch02.tex",
          "sha256": "e77990fba3db490b1e7e1ca93a4453c963dc0fb16d6ec2e623be23178c379fbe"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          12518,
          13467
        ],
        "body_sha256": "8d165d35f080bfa689940b4679d54d56f03fc44c56881580ad26cabaf408742e",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          152,
          160
        ],
        "normalized_character_range": [
          12470,
          13467
        ],
        "sha256": "88888b75ba948a4c3761a79700b1c124be165bea99897bf1388dc38ebeec7ae1"
      },
      "id": "unit.r017.book1.ch02.solutions-manual.manualsolution-011",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch02.text.ex-011",
      "reader": {
        "bbox": [
          54.000038146972656,
          174.24192810058594,
          558.0018920898438,
          191.57693481445312
        ],
        "heading_witness": "Latihan 2.11 (Mengidentifikasi Kendala Linier)\n⋆⋆\n",
        "page": 474,
        "page_text_sha256": "c6477a8ec7f1fd62978d1522edff62b2fcd1e0b5ff0c2a3974d35f5a0e615d55"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 48,
        "content_sha256": "ee89bbc9a5bf13fb4ac3fb1dfc7900db5859009ea176fa9bfdf6a699492903c3",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch02.solutions-manual.manualsolution-011",
        "label": "exsol:2.11",
        "line_range": [
          152,
          152
        ],
        "native_record_sha256": "4446c80979a5308bda41d56665d804b5fdc05c8fb4bfb3d91788cc699f98fe7c",
        "normalized_character_range": [
          12470,
          12518
        ],
        "normalized_utf8_byte_range": [
          12470,
          12518
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch02.tex",
        "source_file": {
          "archive": "source",
          "bytes": 17163,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch02.tex",
          "sha256": "e77990fba3db490b1e7e1ca93a4453c963dc0fb16d6ec2e623be23178c379fbe"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          13514,
          14439
        ],
        "body_sha256": "bcb6615440b0ce4ae14632958bb1d1e9c0ce75bad61ea323db3870341b15b29e",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          160,
          172
        ],
        "normalized_character_range": [
          13467,
          14439
        ],
        "sha256": "3d23bb03f8d64fc74c3f6efe10f2f1d23b4bc352ea59f3decbe0afb57ed18c30"
      },
      "id": "unit.r017.book1.ch02.solutions-manual.manualsolution-012",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch02.text.ex-012",
      "reader": {
        "bbox": [
          53.999908447265625,
          358.3768310546875,
          558.0015869140625,
          375.7118225097656
        ],
        "heading_witness": "Latihan 2.12 (Biaya Acak dalam Fungsi Tujuan)\n⋆⋆\n",
        "page": 474,
        "page_text_sha256": "c6477a8ec7f1fd62978d1522edff62b2fcd1e0b5ff0c2a3974d35f5a0e615d55"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 47,
        "content_sha256": "5addd8d6b47212c5dab08265bf43298686d4b47771bf77be9718a03e77e829ea",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch02.solutions-manual.manualsolution-012",
        "label": "exsol:2.12",
        "line_range": [
          160,
          160
        ],
        "native_record_sha256": "c226ae1ac6ad7e7c5b17f3852d161c319d1d0d644a6ee1dfd51cee48225b721c",
        "normalized_character_range": [
          13467,
          13514
        ],
        "normalized_utf8_byte_range": [
          13467,
          13514
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch02.tex",
        "source_file": {
          "archive": "source",
          "bytes": 17163,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch02.tex",
          "sha256": "e77990fba3db490b1e7e1ca93a4453c963dc0fb16d6ec2e623be23178c379fbe"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          14483,
          15825
        ],
        "body_sha256": "4ee3213448339c6664a8e5709b908d0529b8ffd87231511433a1f7e676f563fd",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          172,
          182
        ],
        "normalized_character_range": [
          14439,
          15825
        ],
        "sha256": "a2d02b11092b0951db5ee8e79bcea9594029adb80b01c60a3a6abd1896b39bf8"
      },
      "id": "unit.r017.book1.ch02.solutions-manual.manualsolution-013",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch02.text.ex-013",
      "reader": {
        "bbox": [
          54.000030517578125,
          70.83483123779297,
          557.9993896484375,
          88.16983032226562
        ],
        "heading_witness": "Latihan 2.13 (Asumsi Mana yang Dilanggar?)\n⋆⋆\n",
        "page": 475,
        "page_text_sha256": "584abc9bc8acfa410b786d31892333dcb1277050900d3216adc18255b1057e1e"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 44,
        "content_sha256": "af8de6d02fd06daf2d8bef0214e3f031debd8d29c3acb03a86302e88e2de1570",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch02.solutions-manual.manualsolution-013",
        "label": "exsol:2.13",
        "line_range": [
          172,
          172
        ],
        "native_record_sha256": "d42f99fe2c1b0e231a819639b9bbb70f84edf506a34ca7d0d7a166f1f0be95c2",
        "normalized_character_range": [
          14439,
          14483
        ],
        "normalized_utf8_byte_range": [
          14439,
          14483
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch02.tex",
        "source_file": {
          "archive": "source",
          "bytes": 17163,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch02.tex",
          "sha256": "e77990fba3db490b1e7e1ca93a4453c963dc0fb16d6ec2e623be23178c379fbe"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          15875,
          17163
        ],
        "body_sha256": "55daa516effacee89d488a79218e67eb386981df446ae3b2e0f151fa96d94f61",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          182,
          196
        ],
        "normalized_character_range": [
          15825,
          17163
        ],
        "sha256": "53bf22b86aec210b9e189edcf05d13c6f3a3bda4e5171ed4a094eb31ee79cc90"
      },
      "id": "unit.r017.book1.ch02.solutions-manual.manualsolution-014",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch02.text.ex-014",
      "reader": {
        "bbox": [
          54.0,
          345.97802734375,
          557.9969482421875,
          363.3130187988281
        ],
        "heading_witness": "Latihan 2.14 (Produksi dengan Tenaga Kerja Sewa)\n⋆⋆⋆\n",
        "page": 475,
        "page_text_sha256": "584abc9bc8acfa410b786d31892333dcb1277050900d3216adc18255b1057e1e"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 50,
        "content_sha256": "b55174e3b1dc5de0a502fe9585fc84f866f2d99e2669ae789554a1113dfe1457",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch02.solutions-manual.manualsolution-014",
        "label": "exsol:2.14",
        "line_range": [
          182,
          182
        ],
        "native_record_sha256": "df474b429eb476e08168f7a156174e80db1b40f3f1aedcd156697df171e0ca02",
        "normalized_character_range": [
          15825,
          15875
        ],
        "normalized_utf8_byte_range": [
          15825,
          15875
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch02.tex",
        "source_file": {
          "archive": "source",
          "bytes": 17163,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch02.tex",
          "sha256": "e77990fba3db490b1e7e1ca93a4453c963dc0fb16d6ec2e623be23178c379fbe"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          1960,
          3357
        ],
        "body_sha256": "44192d2d10fb3849fcc139ad13f34bf62ab7462bf32eba6ca9284267be3eb2f4",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          11,
          27
        ],
        "normalized_character_range": [
          1886,
          3357
        ],
        "sha256": "50403f3dbe8bbb3c8acc9b179167c8f68306c8dd8c0d894e1b01bb9d099f92f2"
      },
      "id": "unit.r017.book1.ch03.solutions-manual.manualsolution-001",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch03.text.ex-001",
      "reader": {
        "bbox": [
          54.0,
          340.11602783203125,
          557.9989624023438,
          357.4510192871094
        ],
        "heading_witness": "Latihan 3.1 (Menjalankan Ulang Solver: Aliran Jaringan Berbiaya Minimum)\n⋆\n",
        "page": 476,
        "page_text_sha256": "3ab014cb3be41df6f93d6967f8177c5ec57b96f89d7433f4eb3b850cb8254b02"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 74,
        "content_sha256": "fc9468a5140db61bdfaaf79edaba26c6269e73c2d3a441e2521b8eabf3c6bda1",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch03.solutions-manual.manualsolution-001",
        "label": "exsol:3.1",
        "line_range": [
          11,
          11
        ],
        "native_record_sha256": "9db36935d34c4ff3e433b8ae2744eaf78bc5bda023c65a6b89ca48968d57d266",
        "normalized_character_range": [
          1886,
          1960
        ],
        "normalized_utf8_byte_range": [
          1886,
          1960
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch03.tex",
        "source_file": {
          "archive": "source",
          "bytes": 17875,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch03.tex",
          "sha256": "847c8b25bcca57a0d20c15f7b46ce81ddb72e4a76a8d2421cd057b4c765eed15"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          3437,
          4906
        ],
        "body_sha256": "ffc50c675a1019475d0f30873e18f793dedb13b72fa84cfd2c79157e9f2875d3",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          27,
          38
        ],
        "normalized_character_range": [
          3357,
          4906
        ],
        "sha256": "c40388112786a6f881190cd07d7b957b6fe67ca9653a5822430a84089aa9d13d"
      },
      "id": "unit.r017.book1.ch03.solutions-manual.manualsolution-002",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch03.text.ex-002",
      "reader": {
        "bbox": [
          54.000030517578125,
          70.83483123779297,
          557.9964599609375,
          85.1810302734375
        ],
        "heading_witness": "Latihan 3.2 (Menjalankan Ulang Solver: Perencanaan Produksi Selama 10 Periode)\n",
        "page": 477,
        "page_text_sha256": "7b9c76d352c99dae0787063aaf7a89a9f28407fce91145f77f85ba3065120635"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 80,
        "content_sha256": "03bac59ee05dbaa377f6588c8ea90f7753d9d0e63ea007587462270d9d327399",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch03.solutions-manual.manualsolution-002",
        "label": "exsol:3.2",
        "line_range": [
          27,
          27
        ],
        "native_record_sha256": "f38c8176f9e241d8ae22484741e15188636ce1f25d2d291093173ce33b16658b",
        "normalized_character_range": [
          3357,
          3437
        ],
        "normalized_utf8_byte_range": [
          3357,
          3437
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch03.tex",
        "source_file": {
          "archive": "source",
          "bytes": 17875,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch03.tex",
          "sha256": "847c8b25bcca57a0d20c15f7b46ce81ddb72e4a76a8d2421cd057b4c765eed15"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          4943,
          7134
        ],
        "body_sha256": "be86a2786b0994290e602c0a26585cd64abb185f6fd84ba2d763d2e6540a7ad3",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          38,
          66
        ],
        "normalized_character_range": [
          4906,
          7134
        ],
        "sha256": "ea84ea7a416ef890d9933459b0daf839eec54b66369d9290b3b8548cbe74df5c"
      },
      "id": "unit.r017.book1.ch03.solutions-manual.manualsolution-003",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch03.text.ex-003",
      "reader": {
        "bbox": [
          54.00006103515625,
          382.156982421875,
          557.9996337890625,
          399.4919738769531
        ],
        "heading_witness": "Latihan 3.3 (Masalah Diet di Excel)\n⋆⋆\n",
        "page": 477,
        "page_text_sha256": "7b9c76d352c99dae0787063aaf7a89a9f28407fce91145f77f85ba3065120635"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 37,
        "content_sha256": "42286db9c5853c6b24bbcc245e7eb22ba77182d65677e60cb942352b3be71d51",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch03.solutions-manual.manualsolution-003",
        "label": "exsol:3.3",
        "line_range": [
          38,
          38
        ],
        "native_record_sha256": "aa6cbb5cb6ef797a5f4eb6186fa5c1ff1b2264f4ce94161f59be20d7e3545095",
        "normalized_character_range": [
          4906,
          4943
        ],
        "normalized_utf8_byte_range": [
          4906,
          4943
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch03.tex",
        "source_file": {
          "archive": "source",
          "bytes": 17875,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch03.tex",
          "sha256": "847c8b25bcca57a0d20c15f7b46ce81ddb72e4a76a8d2421cd057b4c765eed15"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          7179,
          8733
        ],
        "body_sha256": "70bde120d97a8c3ee421136a924764d7496734d831d684fb5e194a5945cf938f",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          66,
          83
        ],
        "normalized_character_range": [
          7134,
          8733
        ],
        "sha256": "eb46b3fd1f9700947b17946366d35f8ef87e91dc5ba66cc20850ceac81b1e2ed"
      },
      "id": "unit.r017.book1.ch03.solutions-manual.manualsolution-004",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch03.text.ex-004",
      "reader": {
        "bbox": [
          53.999996185302734,
          70.83483123779297,
          558.0018310546875,
          88.16983032226562
        ],
        "heading_witness": "Latihan 3.4 (Perencanaan Produksi di Excel)\n⋆⋆\n",
        "page": 478,
        "page_text_sha256": "24da70e1d6e6024bbebe27bdad6043cbaf7f38eb8614aacd487bde8e591240c7"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 45,
        "content_sha256": "d7e2dcdd9596073418d1ff752f1a95f524d4951840a7b26249002a94733f64e1",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch03.solutions-manual.manualsolution-004",
        "label": "exsol:3.4",
        "line_range": [
          66,
          66
        ],
        "native_record_sha256": "f85f8693569a7ddfd0dc3fea0d6d15938e2dda02d16cc08d3d8d3e3cec3abc6a",
        "normalized_character_range": [
          7134,
          7179
        ],
        "normalized_utf8_byte_range": [
          7134,
          7179
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch03.tex",
        "source_file": {
          "archive": "source",
          "bytes": 17875,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch03.tex",
          "sha256": "847c8b25bcca57a0d20c15f7b46ce81ddb72e4a76a8d2421cd057b4c765eed15"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          8778,
          10236
        ],
        "body_sha256": "5004ea0e57f2cac2bccbc9b5dba70762aa2e1a73a11f3ab311410890073b9dbc",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          83,
          101
        ],
        "normalized_character_range": [
          8733,
          10236
        ],
        "sha256": "e12d19d9fa223ed8cbd6a8c84cd23d196b5cbdb46e3ebfeeee8825e771404f53"
      },
      "id": "unit.r017.book1.ch03.solutions-manual.manualsolution-005",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch03.text.ex-005",
      "reader": {
        "bbox": [
          54.000030517578125,
          412.9658508300781,
          557.9970703125,
          430.30084228515625
        ],
        "heading_witness": "Latihan 3.5 (Masalah Transportasi di Excel)\n⋆⋆\n",
        "page": 478,
        "page_text_sha256": "24da70e1d6e6024bbebe27bdad6043cbaf7f38eb8614aacd487bde8e591240c7"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 45,
        "content_sha256": "16deaaf443194047e02fbd9a31166124d900a929274982e1f4b2463508c69500",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch03.solutions-manual.manualsolution-005",
        "label": "exsol:3.5",
        "line_range": [
          83,
          83
        ],
        "native_record_sha256": "729af6bba262cd3a7c9a248a82eafddc5c99d04d63569ef57aa7643c6eb7668a",
        "normalized_character_range": [
          8733,
          8778
        ],
        "normalized_utf8_byte_range": [
          8733,
          8778
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch03.tex",
        "source_file": {
          "archive": "source",
          "bytes": 17875,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch03.tex",
          "sha256": "847c8b25bcca57a0d20c15f7b46ce81ddb72e4a76a8d2421cd057b4c765eed15"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          10293,
          12397
        ],
        "body_sha256": "ad6b9d14d8a2b820f11803aa7093c3d2649544b57021f7d32644d18b23588aca",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          101,
          120
        ],
        "normalized_character_range": [
          10236,
          12397
        ],
        "sha256": "0cdcd0cb9e6241fff1cf09f17e8fdf6241124d7bb40e7757e5a9ab44176a9057"
      },
      "id": "unit.r017.book1.ch03.solutions-manual.manualsolution-006",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch03.text.ex-006",
      "reader": {
        "bbox": [
          54.000030517578125,
          70.83483123779297,
          557.996826171875,
          88.16983032226562
        ],
        "heading_witness": "Latihan 3.6 (Bauran Produk dengan Laporan Sensitivitas)\n⋆⋆\n",
        "page": 479,
        "page_text_sha256": "19fd8c18d93131b276af67e1ba7ebdfcbcaa06c61e76080e49eb052bc89bf5a0"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 57,
        "content_sha256": "3cc74456ac6fa09f54eccca174eda56d4a11e75f84f3eab0ca8b9251411b3eee",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch03.solutions-manual.manualsolution-006",
        "label": "exsol:3.6",
        "line_range": [
          101,
          101
        ],
        "native_record_sha256": "cc9999e5121aaf43bfe7e622218c7f0e69ce39829279312349c02fb61ea05c19",
        "normalized_character_range": [
          10236,
          10293
        ],
        "normalized_utf8_byte_range": [
          10236,
          10293
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch03.tex",
        "source_file": {
          "archive": "source",
          "bytes": 17875,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch03.tex",
          "sha256": "847c8b25bcca57a0d20c15f7b46ce81ddb72e4a76a8d2421cd057b4c765eed15"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          12466,
          14327
        ],
        "body_sha256": "b75e3d93b47f2b2b73079ab5d8cebca38bbb78ee4fd94f6cea546e916c0c1863",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          120,
          139
        ],
        "normalized_character_range": [
          12397,
          14327
        ],
        "sha256": "5daa9694cc83ff7fa13050891e209794ed37ab5e03d2a271c57704b2172e72d7"
      },
      "id": "unit.r017.book1.ch03.solutions-manual.manualsolution-007",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch03.text.ex-007",
      "reader": {
        "bbox": [
          53.99994659423828,
          479.6908264160156,
          557.9989624023438,
          497.02581787109375
        ],
        "heading_witness": "Latihan 3.7 (Transportasi Tak Seimbang dengan Laporan Sensitivitas)\n⋆⋆\n",
        "page": 479,
        "page_text_sha256": "19fd8c18d93131b276af67e1ba7ebdfcbcaa06c61e76080e49eb052bc89bf5a0"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 69,
        "content_sha256": "65de22c9c26d4d515850273d9b5e189a0b399bd4a7dff24c3e01286c5feb0962",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch03.solutions-manual.manualsolution-007",
        "label": "exsol:3.7",
        "line_range": [
          120,
          120
        ],
        "native_record_sha256": "812b190cafdfa7b23d6bf670592090cddad4bf0c27b4f65b6b502ed1741bada2",
        "normalized_character_range": [
          12397,
          12466
        ],
        "normalized_utf8_byte_range": [
          12397,
          12466
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch03.tex",
        "source_file": {
          "archive": "source",
          "bytes": 17875,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch03.tex",
          "sha256": "847c8b25bcca57a0d20c15f7b46ce81ddb72e4a76a8d2421cd057b4c765eed15"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          14374,
          16264
        ],
        "body_sha256": "b039765f99cf41c4c1b5045398da775d6d18ae2c182cd4eb2729ab95cd218575",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          139,
          151
        ],
        "normalized_character_range": [
          14327,
          16264
        ],
        "sha256": "e779c4f5a6d258f17cbc34cc2f4253e8632b4973377ce72d96a45dab597be789"
      },
      "id": "unit.r017.book1.ch03.solutions-manual.manualsolution-008",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch03.text.ex-008",
      "reader": {
        "bbox": [
          53.999996185302734,
          174.24192810058594,
          557.9994506835938,
          191.57693481445312
        ],
        "heading_witness": "Latihan 3.8 (Simplex LP versus GRG Nonlinear)\n⋆⋆\n",
        "page": 480,
        "page_text_sha256": "d29f2af2b151b3cbe195dbc068e99c1506e3866805bde35db297ab1432d3f30b"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 47,
        "content_sha256": "60589e1b4a3b44f6057278286c66116ba4fb0114b04e14df1aa93a6295a466f5",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch03.solutions-manual.manualsolution-008",
        "label": "exsol:3.8",
        "line_range": [
          139,
          139
        ],
        "native_record_sha256": "5f6b04c56687a52fba40eb5eb1ab39bbbe63e92b457884d8e2fbc7f6c6422596",
        "normalized_character_range": [
          14327,
          14374
        ],
        "normalized_utf8_byte_range": [
          14327,
          14374
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch03.tex",
        "source_file": {
          "archive": "source",
          "bytes": 17875,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch03.tex",
          "sha256": "847c8b25bcca57a0d20c15f7b46ce81ddb72e4a76a8d2421cd057b4c765eed15"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          16318,
          17875
        ],
        "body_sha256": "b5bf391df3b8d7fbe3ce9a4924ef7cb74498ac06782678ebbc40de65c652ecd2",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          151,
          164
        ],
        "normalized_character_range": [
          16264,
          17875
        ],
        "sha256": "e29fc28d45958bb046516e22186cfa7b09c00074072e030f546699b9dcb08bc7"
      },
      "id": "unit.r017.book1.ch03.solutions-manual.manualsolution-009",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch03.text.ex-009",
      "reader": {
        "bbox": [
          54.000030517578125,
          70.83483123779297,
          558.0040893554688,
          88.16983032226562
        ],
        "heading_witness": "Latihan 3.9 (Ketika Variabel Harus Bernilai Negatif)\n⋆⋆⋆\n",
        "page": 481,
        "page_text_sha256": "0215fecf3f4caec2581658c602c8714558291b9b32a2031152fed1b317762202"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 54,
        "content_sha256": "0ce44c88d79066155f2b07f571921d90c9c67399c1ef3580f27de3f6e77b2546",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch03.solutions-manual.manualsolution-009",
        "label": "exsol:3.9",
        "line_range": [
          151,
          151
        ],
        "native_record_sha256": "dfd22ac6218530e8a3a420c3fa537ab7fc42835edec3437b7f5e8e0221d79f59",
        "normalized_character_range": [
          16264,
          16318
        ],
        "normalized_utf8_byte_range": [
          16264,
          16318
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch03.tex",
        "source_file": {
          "archive": "source",
          "bytes": 17875,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch03.tex",
          "sha256": "847c8b25bcca57a0d20c15f7b46ce81ddb72e4a76a8d2421cd057b4c765eed15"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          2569,
          3657
        ],
        "body_sha256": "8750d0403a0a4dfffc6b4fa2a62a139ca80785da76ba15385566a3c2a3b9ebd3",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          17,
          35
        ],
        "normalized_character_range": [
          2513,
          3657
        ],
        "sha256": "b46f648437c57ecf455dfe00613c84d9adca0856e025efe51e7fbc2baf827dfa"
      },
      "id": "unit.r017.book1.ch04.solutions-manual.manualsolution-001",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch04.text-b.ex-001",
      "reader": {
        "bbox": [
          53.999996185302734,
          70.83483123779297,
          557.9992065429688,
          88.16983032226562
        ],
        "heading_witness": "Latihan 4.1 (Perencanaan Produksi Selama Lima Periode)\n⋆\n",
        "page": 482,
        "page_text_sha256": "6a1b56d3d00d99f96b49f45475a7e4092a7674a9fbeeb260a50d16e8ad19418a"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 56,
        "content_sha256": "3822ce390b70404f9d3485e7761ffffce88d108b72d78cad7cafaaa9dd299296",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch04.solutions-manual.manualsolution-001",
        "label": "exsol:4.1",
        "line_range": [
          17,
          17
        ],
        "native_record_sha256": "ec3bfde4de9331359ce3d154df748d90ffecee474f4c4770a4e5a3875b87041d",
        "normalized_character_range": [
          2513,
          2569
        ],
        "normalized_utf8_byte_range": [
          2513,
          2569
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch04.tex",
        "source_file": {
          "archive": "source",
          "bytes": 27714,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch04.tex",
          "sha256": "c1512fabbb257a8c58b2a83b2c7269ca5d392f352fed7ea74de4b2bfaf4e4dea"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          3706,
          4381
        ],
        "body_sha256": "75809453c9b37079324d005fcbd7058692c9f8b9bf91a0555824a256aa93604f",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          35,
          44
        ],
        "normalized_character_range": [
          3657,
          4381
        ],
        "sha256": "3bb96acb6decb7595da99d8d3a97bdf2cdcc219f700ac00d102db117f750cd13"
      },
      "id": "unit.r017.book1.ch04.solutions-manual.manualsolution-002",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch04.text-b.ex-002",
      "reader": {
        "bbox": [
          54.0,
          384.4747009277344,
          558.001708984375,
          401.8096923828125
        ],
        "heading_witness": "Latihan 4.2 (Penugasan Mesin dengan Biaya Baru)\n⋆\n",
        "page": 482,
        "page_text_sha256": "6a1b56d3d00d99f96b49f45475a7e4092a7674a9fbeeb260a50d16e8ad19418a"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 49,
        "content_sha256": "d0f53fd7dce56d46d684466f484f7cbba56f1e9a614c6c2daac08a5256bac760",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch04.solutions-manual.manualsolution-002",
        "label": "exsol:4.2",
        "line_range": [
          35,
          35
        ],
        "native_record_sha256": "bc97420b28ffaf60f106d42f1a30e25e2e0d5a3d751658e924e41f1d03c35274",
        "normalized_character_range": [
          3657,
          3706
        ],
        "normalized_utf8_byte_range": [
          3657,
          3706
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch04.tex",
        "source_file": {
          "archive": "source",
          "bytes": 27714,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch04.tex",
          "sha256": "c1512fabbb257a8c58b2a83b2c7269ca5d392f352fed7ea74de4b2bfaf4e4dea"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          4436,
          5968
        ],
        "body_sha256": "bb929f8ebeadbf1943622a5d1b0a739828a93837f9d9a485a8b43e743076121f",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          44,
          67
        ],
        "normalized_character_range": [
          4381,
          5968
        ],
        "sha256": "23f1dcc2ead8719287e43e620f9daab117de3000701f69e457672615b52be8f1"
      },
      "id": "unit.r017.book1.ch04.solutions-manual.manualsolution-003",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch04.text-b.ex-003",
      "reader": {
        "bbox": [
          53.999961853027344,
          543.667724609375,
          558.0040283203125,
          561.002685546875
        ],
        "heading_witness": "Latihan 4.3 (Pengiriman dari Gudang dengan Data Baru)\n⋆\n",
        "page": 482,
        "page_text_sha256": "6a1b56d3d00d99f96b49f45475a7e4092a7674a9fbeeb260a50d16e8ad19418a"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 55,
        "content_sha256": "b2cf5f44ff81ed155876c00bddbae597bf47cf96e875c7442d8689aed5318c97",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch04.solutions-manual.manualsolution-003",
        "label": "exsol:4.3",
        "line_range": [
          44,
          44
        ],
        "native_record_sha256": "e1adac65222c3af9b34081b67d1e37ba48de26e2657776345fa3a1103fbbc2a0",
        "normalized_character_range": [
          4381,
          4436
        ],
        "normalized_utf8_byte_range": [
          4381,
          4436
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch04.tex",
        "source_file": {
          "archive": "source",
          "bytes": 27714,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch04.tex",
          "sha256": "c1512fabbb257a8c58b2a83b2c7269ca5d392f352fed7ea74de4b2bfaf4e4dea"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          6027,
          7498
        ],
        "body_sha256": "f7448b5e9b2fdabde3a628ac9993749a7c1cb8988a0afa14731e06dfdf99665f",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          67,
          89
        ],
        "normalized_character_range": [
          5968,
          7498
        ],
        "sha256": "7cd67c907e21e15b9509ad6117e2b720e19894605c7643a7119cd9ae2089c4ed"
      },
      "id": "unit.r017.book1.ch04.solutions-manual.manualsolution-004",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch04.text-b.ex-004",
      "reader": {
        "bbox": [
          54.0,
          257.58380126953125,
          557.996826171875,
          274.9187927246094
        ],
        "heading_witness": "Latihan 4.4 (Penugasan Hunian yang Adil bagi 12 Keluarga)\n⋆⋆\n",
        "page": 483,
        "page_text_sha256": "d6b3594db736bcf2ff2e5630138a8cf9e5f5afd8e04fefb6136689cdb7955b46"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 59,
        "content_sha256": "04c55da18159aa0658affedd37b44b12626aecd19df55606ec6feff899a1a731",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch04.solutions-manual.manualsolution-004",
        "label": "exsol:4.4",
        "line_range": [
          67,
          67
        ],
        "native_record_sha256": "a15c9a2148cea457726f1811d8bf2add71c8d2ce1f9d44c8a035a4189fcacacf",
        "normalized_character_range": [
          5968,
          6027
        ],
        "normalized_utf8_byte_range": [
          5968,
          6027
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch04.tex",
        "source_file": {
          "archive": "source",
          "bytes": 27714,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch04.tex",
          "sha256": "c1512fabbb257a8c58b2a83b2c7269ca5d392f352fed7ea74de4b2bfaf4e4dea"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          7553,
          10491
        ],
        "body_sha256": "c8568a5d1e6944f8babbf73d7b5b56916d93c6cb68d7033a4e58a94c5b901734",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          89,
          119
        ],
        "normalized_character_range": [
          7498,
          10491
        ],
        "sha256": "bcd138cabe809231d2fd52177ae4edf79e298cafc6753b7d72c5b3fce6685cc0"
      },
      "id": "unit.r017.book1.ch04.solutions-manual.manualsolution-005",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch04.text-b.ex-005",
      "reader": {
        "bbox": [
          54.0,
          591.310791015625,
          558.0040893554688,
          608.645751953125
        ],
        "heading_witness": "Latihan 4.5 (Aliran Jaringan Maksimum ke Satu Simpul)\n⋆⋆\n",
        "page": 483,
        "page_text_sha256": "d6b3594db736bcf2ff2e5630138a8cf9e5f5afd8e04fefb6136689cdb7955b46"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 55,
        "content_sha256": "e8c0a18754e2f172568ba4e85a7e54b159c6cf485093c1ecd337df30d58b9f55",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch04.solutions-manual.manualsolution-005",
        "label": "exsol:4.5",
        "line_range": [
          89,
          89
        ],
        "native_record_sha256": "fd7a3c6fdd4f4a8eba545901e975544ff63f0ea297efacaeefb4341c4fa14a05",
        "normalized_character_range": [
          7498,
          7553
        ],
        "normalized_utf8_byte_range": [
          7498,
          7553
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch04.tex",
        "source_file": {
          "archive": "source",
          "bytes": 27714,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch04.tex",
          "sha256": "c1512fabbb257a8c58b2a83b2c7269ca5d392f352fed7ea74de4b2bfaf4e4dea"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          10522,
          12006
        ],
        "body_sha256": "ceda1fd304ac89077e2f8ce48aa398e87987e415f1421e2144d875bc69f2009a",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          119,
          137
        ],
        "normalized_character_range": [
          10491,
          12006
        ],
        "sha256": "b03362453aef6a25a0752f59909bd514b5c487396624a6254755ea2589707c62"
      },
      "id": "unit.r017.book1.ch04.solutions-manual.manualsolution-006",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch04.text-b.ex-006",
      "reader": {
        "bbox": [
          54.0,
          515.518798828125,
          558.0020141601562,
          532.853759765625
        ],
        "heading_witness": "Latihan 4.6 (Aliran Maksimum)\n⋆⋆\n",
        "page": 484,
        "page_text_sha256": "86a5604a5f46905ba585fc72944ab8f1cf5e632e6b5850116ee06b2798b2695b"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 31,
        "content_sha256": "ea5e90858283ec5b168d25276408d93d964efe90ed8e1a276235bba5384915a2",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch04.solutions-manual.manualsolution-006",
        "label": "exsol:4.6",
        "line_range": [
          119,
          119
        ],
        "native_record_sha256": "e823daba67f5c946a1e05453f76e2f65e456faee3b81dbe1110e3f940cfaeaa3",
        "normalized_character_range": [
          10491,
          10522
        ],
        "normalized_utf8_byte_range": [
          10491,
          10522
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch04.tex",
        "source_file": {
          "archive": "source",
          "bytes": 27714,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch04.tex",
          "sha256": "c1512fabbb257a8c58b2a83b2c7269ca5d392f352fed7ea74de4b2bfaf4e4dea"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          12054,
          14399
        ],
        "body_sha256": "d8322c7ed8541c620af9968c55fdb8a00553807e6b6053da9ab6e5855a3395e6",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          137,
          157
        ],
        "normalized_character_range": [
          12006,
          14399
        ],
        "sha256": "64f0f7928e0e6dcb18b8ecac2423c35a8e7c74c8e7f911a9c51c4e9bb3f66a98"
      },
      "id": "unit.r017.book1.ch04.solutions-manual.manualsolution-007",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch04.text-b.ex-007",
      "reader": {
        "bbox": [
          54.000030517578125,
          174.24192810058594,
          557.99462890625,
          191.57693481445312
        ],
        "heading_witness": "Latihan 4.7 (Aliran Jaringan Berbiaya Minimum)\n⋆⋆\n",
        "page": 485,
        "page_text_sha256": "8f47d63791dda74f85533924fcc7cc61530204c1379c793d09b279b542813730"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 48,
        "content_sha256": "9902d9eff44180b8e1251d482df6d81d30a54e5dbd821a92611c4df2cf091629",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch04.solutions-manual.manualsolution-007",
        "label": "exsol:4.7",
        "line_range": [
          137,
          137
        ],
        "native_record_sha256": "7c92d4bed242a446bcd85cdef5605d999a71ff8e7b806c512f4c013fec346b68",
        "normalized_character_range": [
          12006,
          12054
        ],
        "normalized_utf8_byte_range": [
          12006,
          12054
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch04.tex",
        "source_file": {
          "archive": "source",
          "bytes": 27714,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch04.tex",
          "sha256": "c1512fabbb257a8c58b2a83b2c7269ca5d392f352fed7ea74de4b2bfaf4e4dea"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          14449,
          15955
        ],
        "body_sha256": "30ed60d7f666af119f529dcddb43845a3e112c77635df98718c525ab69a9a84c",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          157,
          178
        ],
        "normalized_character_range": [
          14399,
          15955
        ],
        "sha256": "c5b0e3698bb7e1213cf92eabaa3822da60a3f8242ad334f8eacd0e460db33d40"
      },
      "id": "unit.r017.book1.ch04.solutions-manual.manualsolution-008",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch04.text-b.ex-008",
      "reader": {
        "bbox": [
          53.999996185302734,
          70.83483123779297,
          558.0017700195312,
          88.16983032226562
        ],
        "heading_witness": "Latihan 4.8 (Transshipment Melalui Hub Regional)\n⋆⋆\n",
        "page": 486,
        "page_text_sha256": "75c5ca7155e47a5bfdef0e30c12903f8409c224427d3df95e096d9b20970e9cc"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 50,
        "content_sha256": "c41eb079337ee14d9f81e76782c7cb2f6ada0bb612280ce8593e9fdcbd48f480",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch04.solutions-manual.manualsolution-008",
        "label": "exsol:4.8",
        "line_range": [
          157,
          157
        ],
        "native_record_sha256": "75ff9cc7e574bdbb228a3f2aee76b34fdb677ab03680e526586832fe535d8a51",
        "normalized_character_range": [
          14399,
          14449
        ],
        "normalized_utf8_byte_range": [
          14399,
          14449
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch04.tex",
        "source_file": {
          "archive": "source",
          "bytes": 27714,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch04.tex",
          "sha256": "c1512fabbb257a8c58b2a83b2c7269ca5d392f352fed7ea74de4b2bfaf4e4dea"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          16006,
          17418
        ],
        "body_sha256": "908443fde699b68cb96620ab1b8cd71420f043cdcaf7ac6c40dd94720995b8f7",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          178,
          195
        ],
        "normalized_character_range": [
          15955,
          17418
        ],
        "sha256": "0a7309bbb1d2ef54f100cbc03a2476cc38a119be3aabc6b5d4508b632bf3a37a"
      },
      "id": "unit.r017.book1.ch04.solutions-manual.manualsolution-009",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch04.text-b.ex-009",
      "reader": {
        "bbox": [
          53.999725341796875,
          436.4039001464844,
          557.9942016601562,
          453.7388916015625
        ],
        "heading_witness": "Latihan 4.9 (Penugasan dengan Pasangan Terlarang)\n⋆⋆\n",
        "page": 486,
        "page_text_sha256": "75c5ca7155e47a5bfdef0e30c12903f8409c224427d3df95e096d9b20970e9cc"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 51,
        "content_sha256": "966b4a708d31deebb65a086640be5ef81482101193ea0fcfbef8fe0fa08638b4",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch04.solutions-manual.manualsolution-009",
        "label": "exsol:4.9",
        "line_range": [
          178,
          178
        ],
        "native_record_sha256": "4c5b34d03a7ebcc586062d61f2b84dd36a05b40454d9594c0aeba89601307d45",
        "normalized_character_range": [
          15955,
          16006
        ],
        "normalized_utf8_byte_range": [
          15955,
          16006
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch04.tex",
        "source_file": {
          "archive": "source",
          "bytes": 27714,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch04.tex",
          "sha256": "c1512fabbb257a8c58b2a83b2c7269ca5d392f352fed7ea74de4b2bfaf4e4dea"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          17481,
          19197
        ],
        "body_sha256": "22b7f222c1bb4a2d4d581d3cd37910a1d0ab70676a9b07390d4e4c18d6371c5a",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          195,
          212
        ],
        "normalized_character_range": [
          17418,
          19197
        ],
        "sha256": "95c23c7f72927e19d9159f1f748a16f035b23933929eb2373fbecf5758bd3775"
      },
      "id": "unit.r017.book1.ch04.solutions-manual.manualsolution-010",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch04.text-b.ex-010",
      "reader": {
        "bbox": [
          54.000030517578125,
          70.83483123779297,
          558.0064086914062,
          88.16983032226562
        ],
        "heading_witness": "Latihan 4.10 (Persediaan Multiperiodik dengan Batas Produksi)\n⋆⋆\n",
        "page": 487,
        "page_text_sha256": "576adb9b3375c094572f21158c5348441c37b5d6ba019826feb2619e14abda7e"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 63,
        "content_sha256": "d5a51b7e10b8d46ec3d775af0953ae758771e79ad56f9e628b7efd618bcecdd2",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch04.solutions-manual.manualsolution-010",
        "label": "exsol:4.10",
        "line_range": [
          195,
          195
        ],
        "native_record_sha256": "a48787c482d34c71b775f63ab38c9479179411b9acae150a2d8630c99c8ed268",
        "normalized_character_range": [
          17418,
          17481
        ],
        "normalized_utf8_byte_range": [
          17418,
          17481
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch04.tex",
        "source_file": {
          "archive": "source",
          "bytes": 27714,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch04.tex",
          "sha256": "c1512fabbb257a8c58b2a83b2c7269ca5d392f352fed7ea74de4b2bfaf4e4dea"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          19260,
          21534
        ],
        "body_sha256": "2ddc661af96ce6a7d60d433a9af8f628b1ded18affb56fbc0478b09a4f0d5a3c",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          212,
          225
        ],
        "normalized_character_range": [
          19197,
          21534
        ],
        "sha256": "05538b71a9c70736deb06b31a48695438d31d039d023233b2106737541dd09be"
      },
      "id": "unit.r017.book1.ch04.solutions-manual.manualsolution-011",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch04.text-b.ex-011",
      "reader": {
        "bbox": [
          53.99993896484375,
          433.9739685058594,
          557.9966430664062,
          451.3089599609375
        ],
        "heading_witness": "Latihan 4.11 (Mengapa Semuanya Harus Dikirim ke Suatu Tempat)\n⋆⋆\n",
        "page": 487,
        "page_text_sha256": "576adb9b3375c094572f21158c5348441c37b5d6ba019826feb2619e14abda7e"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 63,
        "content_sha256": "60256bc77fc8505c11118bb7ebcb75310ffcf778a92df546ba861588ecdc8b4b",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch04.solutions-manual.manualsolution-011",
        "label": "exsol:4.11",
        "line_range": [
          212,
          212
        ],
        "native_record_sha256": "3e16b41fc4d92c37ab9c3fce4ce30b3eaa2bb1f75ce0939976ce964a9cbecf42",
        "normalized_character_range": [
          19197,
          19260
        ],
        "normalized_utf8_byte_range": [
          19197,
          19260
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch04.tex",
        "source_file": {
          "archive": "source",
          "bytes": 27714,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch04.tex",
          "sha256": "c1512fabbb257a8c58b2a83b2c7269ca5d392f352fed7ea74de4b2bfaf4e4dea"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          21587,
          23696
        ],
        "body_sha256": "002cb48e6747d973fd9741c1b829ccf41195a57c6dad46bfe5a4bd9989dd31b1",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          225,
          234
        ],
        "normalized_character_range": [
          21534,
          23696
        ],
        "sha256": "bb97834923b45a7e44d9d1507d672f25d77e5b2dc2efc724a4eff7df985481bb"
      },
      "id": "unit.r017.book1.ch04.solutions-manual.manualsolution-012",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch04.text-b.ex-012",
      "reader": {
        "bbox": [
          53.99999237060547,
          204.57798767089844,
          558.0015869140625,
          221.91299438476562
        ],
        "heading_witness": "Latihan 4.12 (Jawaban Bulat Tanpa Kendala Tambahan)\n⋆⋆\n",
        "page": 488,
        "page_text_sha256": "f3f5bd56d098b44dc5dfdb16fecc4672d9166d0394569de38d19fd1622030c5e"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 53,
        "content_sha256": "2cf147c69cf31c27cd37104ee63bf37bd406afc1b4291920d26c8b1ec4424b72",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch04.solutions-manual.manualsolution-012",
        "label": "exsol:4.12",
        "line_range": [
          225,
          225
        ],
        "native_record_sha256": "e6e80c60c99591ce06f5d97878b86f8508ecbbe70bb09fc950649ae9ef3b029f",
        "normalized_character_range": [
          21534,
          21587
        ],
        "normalized_utf8_byte_range": [
          21534,
          21587
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch04.tex",
        "source_file": {
          "archive": "source",
          "bytes": 27714,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch04.tex",
          "sha256": "c1512fabbb257a8c58b2a83b2c7269ca5d392f352fed7ea74de4b2bfaf4e4dea"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          23776,
          25911
        ],
        "body_sha256": "2dc60f6e5fd4535e594819b26350be4aee2b7281c00b58893818ef9992086627",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          234,
          243
        ],
        "normalized_character_range": [
          23696,
          25911
        ],
        "sha256": "925e7c4c61970b0f281c1eafdb86b9997f5f5e71c250b2fd828e6de5af94a6bd"
      },
      "id": "unit.r017.book1.ch04.solutions-manual.manualsolution-013",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch04.text-b.ex-013",
      "reader": {
        "bbox": [
          53.999969482421875,
          555.5628051757812,
          557.9963989257812,
          569.9089965820312
        ],
        "heading_witness": "Latihan 4.13 (Perutean Ulang Multikomoditas Akibat Kapasitas yang Lebih Ketat)\n",
        "page": 488,
        "page_text_sha256": "f3f5bd56d098b44dc5dfdb16fecc4672d9166d0394569de38d19fd1622030c5e"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 80,
        "content_sha256": "cf7ec95cd0ca182b62af9a3eb45c6653ea52c59165e2f1c50fef3332f4b45b13",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch04.solutions-manual.manualsolution-013",
        "label": "exsol:4.13",
        "line_range": [
          234,
          234
        ],
        "native_record_sha256": "9cd7954dbf7beed69932cf7a2b50902c72dd89814054179dc686a4029c755363",
        "normalized_character_range": [
          23696,
          23776
        ],
        "normalized_utf8_byte_range": [
          23696,
          23776
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch04.tex",
        "source_file": {
          "archive": "source",
          "bytes": 27714,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch04.tex",
          "sha256": "c1512fabbb257a8c58b2a83b2c7269ca5d392f352fed7ea74de4b2bfaf4e4dea"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          25958,
          27714
        ],
        "body_sha256": "8d55a632f8c14195b4191f925e8b93675d1d63c23aa1518fdcca36e1567137a7",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          243,
          258
        ],
        "normalized_character_range": [
          25911,
          27714
        ],
        "sha256": "0b85d5bf69006bbbfccfca76ef3f2c11c908e926b465fdf16cbeb1c5cad63d34"
      },
      "id": "unit.r017.book1.ch04.solutions-manual.manualsolution-014",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch04.text-b.ex-014",
      "reader": {
        "bbox": [
          54.000030517578125,
          265.2510986328125,
          558.0040893554688,
          282.5860900878906
        ],
        "heading_witness": "Latihan 4.14 (Penugasan Proyek Adil Max–Min)\n⋆⋆⋆\n",
        "page": 489,
        "page_text_sha256": "f42583334bd5abb5e996a3a57745fd757816d05dcef2e2619682547fdc1df0ea"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 47,
        "content_sha256": "7a90161a3d4fed957e90cabe13c4b141b2e66b560c1cd818ad377553111a98b2",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch04.solutions-manual.manualsolution-014",
        "label": "exsol:4.14",
        "line_range": [
          243,
          243
        ],
        "native_record_sha256": "c2921a41da144e3a033ba12d1b624ba79b4127e3ef475f388a7277fe7f7a4133",
        "normalized_character_range": [
          25911,
          25958
        ],
        "normalized_utf8_byte_range": [
          25911,
          25958
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch04.tex",
        "source_file": {
          "archive": "source",
          "bytes": 27714,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch04.tex",
          "sha256": "c1512fabbb257a8c58b2a83b2c7269ca5d392f352fed7ea74de4b2bfaf4e4dea"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          2181,
          2753
        ],
        "body_sha256": "97a58e366ae9f54be185fbc74f81e917b2f43aee9459897f5de4f3a1d7369ba8",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          15,
          20
        ],
        "normalized_character_range": [
          2144,
          2753
        ],
        "sha256": "ec4c4ad059fc6e975a2768c989d1aa7ce5d8bb1d82b10d8ed42b4f815f21927b"
      },
      "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-001",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch05.text.ex-001",
      "reader": {
        "bbox": [
          54.0,
          423.45880126953125,
          557.9948120117188,
          440.7937927246094
        ],
        "heading_witness": "Latihan 5.1 (Analisis Daerah Layak)\n⋆\n",
        "page": 490,
        "page_text_sha256": "ffe8bdb8d07e00b29f63ec322608050b006184ccbe499c81fc822e7e0e636a76"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 37,
        "content_sha256": "69307ca62ee8229eb2807b1c9238fc073206b0c1d3dd1fed73ecca668d509d92",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-001",
        "label": "exsol:5.1",
        "line_range": [
          15,
          15
        ],
        "native_record_sha256": "97b21e29426b51d98b17ac217de78b45376378664aa829b0a0d7ff0191e20570",
        "normalized_character_range": [
          2144,
          2181
        ],
        "normalized_utf8_byte_range": [
          2144,
          2181
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
        "source_file": {
          "archive": "source",
          "bytes": 22684,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
          "sha256": "ee6db2bb15936c83159d0e97eafb19dc34e4914dd379bd774cf681fb961e640c"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          2788,
          3289
        ],
        "body_sha256": "fa0fadb8ec46b1f7b8d5526c1a0b99734d8dcf232ece4472814897bc28d73a34",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          20,
          23
        ],
        "normalized_character_range": [
          2753,
          3289
        ],
        "sha256": "2ff952aee53eb69724ddc413e8e075c773f014c1c10dcedee00360e2f160e4b1"
      },
      "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-002",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch05.text.ex-002",
      "reader": {
        "bbox": [
          54.0,
          562.0888061523438,
          558.001953125,
          579.423828125
        ],
        "heading_witness": "Latihan 5.2 (Sketsa Daerah Layak)\n⋆\n",
        "page": 490,
        "page_text_sha256": "ffe8bdb8d07e00b29f63ec322608050b006184ccbe499c81fc822e7e0e636a76"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 35,
        "content_sha256": "f26cade412751f9088717bbf66407995f5ab17dcde83d80cdfd28da973271455",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-002",
        "label": "exsol:5.2",
        "line_range": [
          20,
          20
        ],
        "native_record_sha256": "4765aa47f6fa761a5fc190551d71af7499d9cd261ce29a6dacccb1d96f11d38e",
        "normalized_character_range": [
          2753,
          2788
        ],
        "normalized_utf8_byte_range": [
          2753,
          2788
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
        "source_file": {
          "archive": "source",
          "bytes": 22684,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
          "sha256": "ee6db2bb15936c83159d0e97eafb19dc34e4914dd379bd774cf681fb961e640c"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          3328,
          4204
        ],
        "body_sha256": "a4ca8659d321b349e6c9a5974a4f0f3d457ce3fd681cb908251c990e0fa85f45",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          23,
          38
        ],
        "normalized_character_range": [
          3289,
          4204
        ],
        "sha256": "8fa75b91e1bdb6c22b3464ea8ba184b7fc57870d770f0f1dc1ac6b684b37d737"
      },
      "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-003",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch05.text.ex-003",
      "reader": {
        "bbox": [
          54.000030517578125,
          70.83483123779297,
          558.0043334960938,
          88.16983032226562
        ],
        "heading_witness": "Latihan 5.3 (Latihan Metode Grafis 1)\n⋆\n",
        "page": 491,
        "page_text_sha256": "c3088ada5cce00501a52445554685e1dd137192e85c78293aaf8c0654a703e91"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 39,
        "content_sha256": "67e5a708a227abf0135fb28faccc26a000179821bfbefd1661ac2ecd97123fe5",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-003",
        "label": "exsol:5.3",
        "line_range": [
          23,
          23
        ],
        "native_record_sha256": "ecb9b7c168c826fa1d617bc87e0f8d587dd6d0aad899c8d12c68456c07a454c6",
        "normalized_character_range": [
          3289,
          3328
        ],
        "normalized_utf8_byte_range": [
          3289,
          3328
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
        "source_file": {
          "archive": "source",
          "bytes": 22684,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
          "sha256": "ee6db2bb15936c83159d0e97eafb19dc34e4914dd379bd774cf681fb961e640c"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          4253,
          5061
        ],
        "body_sha256": "3f1e4633e3169985646c6ce6679bf00e3fa9474a705c7885267f1d9ce4c89602",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          38,
          51
        ],
        "normalized_character_range": [
          4204,
          5061
        ],
        "sha256": "3d9e5f7243f79eb2a08eb8ae2a1d814b4f07538965bea36a4527f5947148cf33"
      },
      "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-004",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch05.text.ex-004",
      "reader": {
        "bbox": [
          53.999969482421875,
          306.2309265136719,
          558.004150390625,
          323.56591796875
        ],
        "heading_witness": "Latihan 5.4 (Metode Grafis untuk Penjual Limun)\n⋆\n",
        "page": 491,
        "page_text_sha256": "c3088ada5cce00501a52445554685e1dd137192e85c78293aaf8c0654a703e91"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 49,
        "content_sha256": "ea43d52465f36ddf52d6a0544fd5722846245cc9d17977b94b2dbffee149173d",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-004",
        "label": "exsol:5.4",
        "line_range": [
          38,
          38
        ],
        "native_record_sha256": "f56052eece394f6f33d7b01f4872857d85475b2b64eea3e99671bce898a64717",
        "normalized_character_range": [
          4204,
          4253
        ],
        "normalized_utf8_byte_range": [
          4204,
          4253
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
        "source_file": {
          "archive": "source",
          "bytes": 22684,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
          "sha256": "ee6db2bb15936c83159d0e97eafb19dc34e4914dd379bd774cf681fb961e640c"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          5090,
          6415
        ],
        "body_sha256": "78ed436e84cc5298a28309ebbf94f468b87a2fa6c54ad516b47c3648077d0be4",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          51,
          64
        ],
        "normalized_character_range": [
          5061,
          6415
        ],
        "sha256": "09f13f20e12e2bbe685d4a3d0ef124fad37209df98718ac71dcc64efdbba81c6"
      },
      "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-005",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch05.text.ex-005",
      "reader": {
        "bbox": [
          54.0,
          547.3858642578125,
          558.0045166015625,
          564.7208251953125
        ],
        "heading_witness": "Latihan 5.5 (Metode Grafis)\n⋆⋆\n",
        "page": 491,
        "page_text_sha256": "c3088ada5cce00501a52445554685e1dd137192e85c78293aaf8c0654a703e91"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 29,
        "content_sha256": "b254bd1204d5a05e37fb11d40c57dcbdb1262acb0c3ccde8406d3745cf935ebb",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-005",
        "label": "exsol:5.5",
        "line_range": [
          51,
          51
        ],
        "native_record_sha256": "d913380774e41fa1bfdc65465a3a406a34d13707c2204f1d6cda538c181a9b29",
        "normalized_character_range": [
          5061,
          5090
        ],
        "normalized_utf8_byte_range": [
          5061,
          5090
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
        "source_file": {
          "archive": "source",
          "bytes": 22684,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
          "sha256": "ee6db2bb15936c83159d0e97eafb19dc34e4914dd379bd774cf681fb961e640c"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          6454,
          7280
        ],
        "body_sha256": "721199cbbfdcff3383bfd7513fce2673a029122c67b769ec666c823cf83af058",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          64,
          69
        ],
        "normalized_character_range": [
          6415,
          7280
        ],
        "sha256": "7c47408e86f2bb77fd3da60be96ba24c2cb537acdd50bfe0da482f9201568bd1"
      },
      "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-006",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch05.text.ex-006",
      "reader": {
        "bbox": [
          54.000030517578125,
          174.24192810058594,
          557.99951171875,
          191.57693481445312
        ],
        "heading_witness": "Latihan 5.6 (Grafik Daerah Tak Layak)\n⋆⋆\n",
        "page": 492,
        "page_text_sha256": "961da6faa793a408583e08246443b0cea7d9276e127479cb20659f8c8a52283a"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 39,
        "content_sha256": "e7481a3e0e29e4ccfd7e3cd94e46436e662f5ad43f14d594a6ad9999b41ca139",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-006",
        "label": "exsol:5.6",
        "line_range": [
          64,
          64
        ],
        "native_record_sha256": "bd07300e5f1e0cc2b57419ce41eaaea935d78774d3a36e02fcb103db64e209c5",
        "normalized_character_range": [
          6415,
          6454
        ],
        "normalized_utf8_byte_range": [
          6415,
          6454
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
        "source_file": {
          "archive": "source",
          "bytes": 22684,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
          "sha256": "ee6db2bb15936c83159d0e97eafb19dc34e4914dd379bd774cf681fb961e640c"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          7320,
          8541
        ],
        "body_sha256": "561b230652855498117fd13f64614ee83999fb131629957cb6112ed6e7d0e6f9",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          69,
          83
        ],
        "normalized_character_range": [
          7280,
          8541
        ],
        "sha256": "aea1ae6f2991edccf178e23cd0f80fca7f12e218b605904bdbeb8ade9492cfc7"
      },
      "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-007",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch05.text.ex-007",
      "reader": {
        "bbox": [
          54.00007629394531,
          343.2088928222656,
          558.001953125,
          360.54388427734375
        ],
        "heading_witness": "Latihan 5.7 (Menentukan Nilai Optimal)\n⋆⋆\n",
        "page": 492,
        "page_text_sha256": "961da6faa793a408583e08246443b0cea7d9276e127479cb20659f8c8a52283a"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 40,
        "content_sha256": "17ed88ac098e77c3e730a8c9a0f5ab95f94f39666ff9002f36103b7fa685786e",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-007",
        "label": "exsol:5.7",
        "line_range": [
          69,
          69
        ],
        "native_record_sha256": "abc4716ee9aac20dc39a2d9ea809e357178d0f21cbcd572cbcd2283abbd9a3f6",
        "normalized_character_range": [
          7280,
          7320
        ],
        "normalized_utf8_byte_range": [
          7280,
          7320
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
        "source_file": {
          "archive": "source",
          "bytes": 22684,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
          "sha256": "ee6db2bb15936c83159d0e97eafb19dc34e4914dd379bd774cf681fb961e640c"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          8589,
          9241
        ],
        "body_sha256": "1028c2d4188d4aaaa6f40047359d90ee363c703a6101346e761c834bb4ef2308",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          83,
          88
        ],
        "normalized_character_range": [
          8541,
          9241
        ],
        "sha256": "e5c1605f9a96d7d1aa508306be1b1461ab62205e93ccff013b03bccb078ea667"
      },
      "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-008",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch05.text.ex-008",
      "reader": {
        "bbox": [
          54.000030517578125,
          70.83483123779297,
          557.9993286132812,
          88.16983032226562
        ],
        "heading_witness": "Latihan 5.8 (Menunjukkan Masalah Tak Berbatas)\n⋆⋆\n",
        "page": 493,
        "page_text_sha256": "99a76eedb25548c252b7ce8c7ba8285d1d64c640f07335e7a012331df5facdbb"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 48,
        "content_sha256": "67f33986788452b9941154f568833b58c1cfe715f498ea4eeb246e091b2edeca",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-008",
        "label": "exsol:5.8",
        "line_range": [
          83,
          83
        ],
        "native_record_sha256": "a1fa92b992985843fa2f367ddb12238b11625af8290bafb504162e066f623c77",
        "normalized_character_range": [
          8541,
          8589
        ],
        "normalized_utf8_byte_range": [
          8541,
          8589
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
        "source_file": {
          "archive": "source",
          "bytes": 22684,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
          "sha256": "ee6db2bb15936c83159d0e97eafb19dc34e4914dd379bd774cf681fb961e640c"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          9285,
          10518
        ],
        "body_sha256": "c85a99896054bf751c6178b76ca51feda72873d8eccd5f22c9691dfd1b5fe751",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          88,
          105
        ],
        "normalized_character_range": [
          9241,
          10518
        ],
        "sha256": "de2fd72e9c4c5c249ccf615b6d8e799d91db7d58efe52bc8b783850596a052a6"
      },
      "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-009",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch05.text.ex-009",
      "reader": {
        "bbox": [
          54.0,
          224.63291931152344,
          557.9970092773438,
          241.96792602539062
        ],
        "heading_witness": "Latihan 5.9 (Berhingga atau Tak Berbatas?)\n⋆⋆\n",
        "page": 493,
        "page_text_sha256": "99a76eedb25548c252b7ce8c7ba8285d1d64c640f07335e7a012331df5facdbb"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 44,
        "content_sha256": "113cd4d668b766083c596448f3e3cd594ce1d4a6db5ce1f4da46e472dc7d7c27",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-009",
        "label": "exsol:5.9",
        "line_range": [
          88,
          88
        ],
        "native_record_sha256": "86e9edaa241aaa0349a9540cac09d0638b15db24353a319da76419da20f4ffd2",
        "normalized_character_range": [
          9241,
          9285
        ],
        "normalized_utf8_byte_range": [
          9241,
          9285
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
        "source_file": {
          "archive": "source",
          "bytes": 22684,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
          "sha256": "ee6db2bb15936c83159d0e97eafb19dc34e4914dd379bd774cf681fb961e640c"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          10547,
          11806
        ],
        "body_sha256": "7bd81bd2214424ced022c62cb06a4ca58d53da17b1af0eecd7337ee49a52323d",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          105,
          121
        ],
        "normalized_character_range": [
          10518,
          11806
        ],
        "sha256": "480812f431c52ac6a611441baa38799f56c48a6a3eefefb2a8d7bb7863585cb0"
      },
      "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-010",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch05.text.ex-010",
      "reader": {
        "bbox": [
          54.0,
          552.1818237304688,
          557.9949340820312,
          569.516845703125
        ],
        "heading_witness": "Latihan 5.10 (Masalah Diet)\n⋆⋆\n",
        "page": 493,
        "page_text_sha256": "99a76eedb25548c252b7ce8c7ba8285d1d64c640f07335e7a012331df5facdbb"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 29,
        "content_sha256": "13dba31094019b4ca298d9c5bb20402f34564f75090d5c813734fb81d20261f7",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-010",
        "label": "exsol:5.10",
        "line_range": [
          105,
          105
        ],
        "native_record_sha256": "f5e466c9e0febb679f2bf22650d845cf04b1ef7186319a084582d836d4f0b5ca",
        "normalized_character_range": [
          10518,
          10547
        ],
        "normalized_utf8_byte_range": [
          10518,
          10547
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
        "source_file": {
          "archive": "source",
          "bytes": 22684,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
          "sha256": "ee6db2bb15936c83159d0e97eafb19dc34e4914dd379bd774cf681fb961e640c"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          11869,
          14292
        ],
        "body_sha256": "32ae90dbbe1ac50ddaa6c164091e4ee93fa45c6e405968d326b6673a22124429",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          121,
          133
        ],
        "normalized_character_range": [
          11806,
          14292
        ],
        "sha256": "d195df3b1eb6200dc64a9c4a3a15bc8bf6d145b8c622a18c9333af6e190daf43"
      },
      "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-011",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch05.text.ex-011",
      "reader": {
        "bbox": [
          54.0,
          227.2357635498047,
          558.00146484375,
          244.57077026367188
        ],
        "heading_witness": "Latihan 5.11 (Mengapa Optimum Harus Berada di Titik Ekstrem?)\n⋆⋆\n",
        "page": 494,
        "page_text_sha256": "18312e7ace9df83f7b00bbef6995eeb2e85f7156ca410180ab0647d469943476"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 63,
        "content_sha256": "854a6587d3c8074356312f3276581346c782af34a578a90a7c7851a0c678a7a4",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-011",
        "label": "exsol:5.11",
        "line_range": [
          121,
          121
        ],
        "native_record_sha256": "b6e642d0f8a12fa7a6c5162d5ca8d93e84cba247c6ec9932d20b0a8829c7865a",
        "normalized_character_range": [
          11806,
          11869
        ],
        "normalized_utf8_byte_range": [
          11806,
          11869
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
        "source_file": {
          "archive": "source",
          "bytes": 22684,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
          "sha256": "ee6db2bb15936c83159d0e97eafb19dc34e4914dd379bd774cf681fb961e640c"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          14341,
          15188
        ],
        "body_sha256": "0ab85017c6e402c5681e88376e85a40f779e28f2469e45f8e2e1f6cd2f42b07a",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          133,
          144
        ],
        "normalized_character_range": [
          14292,
          15188
        ],
        "sha256": "268d1e3536aa94b7e04723dfa13aa54ebf1f8813b1f6de25de8318a26df02a35"
      },
      "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-012",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch05.text.ex-012",
      "reader": {
        "bbox": [
          54.000030517578125,
          70.83483123779297,
          558.001708984375,
          88.16983032226562
        ],
        "heading_witness": "Latihan 5.12 (Tak Hingga Banyak Solusi Optimal)\n⋆⋆\n",
        "page": 495,
        "page_text_sha256": "3f267ce3f561b665505481500f27004fd00327068593f7a3ad0f2ac858cf4ee8"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 49,
        "content_sha256": "a7d5678c02ab56458c11508e95a701b3909f5131fc1645087b5a26ac6f265b9c",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-012",
        "label": "exsol:5.12",
        "line_range": [
          133,
          133
        ],
        "native_record_sha256": "d1fdd91bddc6ee6e98c054a6f901d5f32fcb4040c4cecc12362f09e221d274c1",
        "normalized_character_range": [
          14292,
          14341
        ],
        "normalized_utf8_byte_range": [
          14292,
          14341
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
        "source_file": {
          "archive": "source",
          "bytes": 22684,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
          "sha256": "ee6db2bb15936c83159d0e97eafb19dc34e4914dd379bd774cf681fb961e640c"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          15237,
          16251
        ],
        "body_sha256": "f77855f66273a74e13bf1e05477f8c1053f555b5b6b8f22cae26b7d74582a6d2",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          144,
          157
        ],
        "normalized_character_range": [
          15188,
          16251
        ],
        "sha256": "14ac6942b5eb1fa79a73b73fd4581e0950f276ba2135d535330fda1ad77f4f05"
      },
      "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-013",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch05.text.ex-013",
      "reader": {
        "bbox": [
          54.0,
          274.1318359375,
          558.0016479492188,
          291.4668273925781
        ],
        "heading_witness": "Latihan 5.13 (Tak Hingga Banyak Solusi Optimal)\n⋆⋆\n",
        "page": 495,
        "page_text_sha256": "3f267ce3f561b665505481500f27004fd00327068593f7a3ad0f2ac858cf4ee8"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 49,
        "content_sha256": "7de77d5940be081d4345e8f91ba090870f045d2bc8a1091a385887b265adb8f8",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-013",
        "label": "exsol:5.13",
        "line_range": [
          144,
          144
        ],
        "native_record_sha256": "8eab892389072832bbdb54d9425134c9f31d2907beb3201a428a5ebd3f6382ac",
        "normalized_character_range": [
          15188,
          15237
        ],
        "normalized_utf8_byte_range": [
          15188,
          15237
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
        "source_file": {
          "archive": "source",
          "bytes": 22684,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
          "sha256": "ee6db2bb15936c83159d0e97eafb19dc34e4914dd379bd774cf681fb961e640c"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          16310,
          17732
        ],
        "body_sha256": "84fcef2b031e9829aa70ddc7939bf34287f2fdd23f2256af888de5d3e41e868b",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          157,
          172
        ],
        "normalized_character_range": [
          16251,
          17732
        ],
        "sha256": "3b3c761308b50c8b0f7030a27378d3cb25a218ca51fdfadfb4f8cde773fa0457"
      },
      "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-014",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch05.text.ex-014",
      "reader": {
        "bbox": [
          54.000091552734375,
          507.766845703125,
          557.999267578125,
          525.101806640625
        ],
        "heading_witness": "Latihan 5.14 (Optimum Berhingga pada Daerah Tak Berbatas)\n⋆⋆\n",
        "page": 495,
        "page_text_sha256": "3f267ce3f561b665505481500f27004fd00327068593f7a3ad0f2ac858cf4ee8"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 59,
        "content_sha256": "ac85b7ca4fcd6fcc41ae398d838e32c99d30e398a29b3547a460c3865779c53a",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-014",
        "label": "exsol:5.14",
        "line_range": [
          157,
          157
        ],
        "native_record_sha256": "2793179a0bd589709cb576d2316b4cf5bc74a6978dffdd2c9fcf2faec81633d5",
        "normalized_character_range": [
          16251,
          16310
        ],
        "normalized_utf8_byte_range": [
          16251,
          16310
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
        "source_file": {
          "archive": "source",
          "bytes": 22684,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
          "sha256": "ee6db2bb15936c83159d0e97eafb19dc34e4914dd379bd774cf681fb961e640c"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          17780,
          18905
        ],
        "body_sha256": "953539ab38739a387c3d26b09c0ccc2788b74043e2ceb7111f2c67a752477477",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          172,
          195
        ],
        "normalized_character_range": [
          17732,
          18905
        ],
        "sha256": "3f0a4319d788ecc2c485ceb8e2816c969199c3997a530f7e1f2d7e2d8fdbce5f"
      },
      "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-015",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch05.text.ex-015",
      "reader": {
        "bbox": [
          54.000022888183594,
          143.90586853027344,
          557.9993286132812,
          161.24087524414062
        ],
        "heading_witness": "Latihan 5.15 (Arah Fungsi Tujuan Tak Berbatas)\n⋆⋆⋆\n",
        "page": 496,
        "page_text_sha256": "34fc7b51ccb96cb59ac1a9918a5c6a62150d200927763f39518ba334d6b04287"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 48,
        "content_sha256": "05857f5be29016cfccc6d927d2d79a6bfc691805cf16216942683f5b88d2ad84",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-015",
        "label": "exsol:5.15",
        "line_range": [
          172,
          172
        ],
        "native_record_sha256": "e6403858dbf318c11bb1ca0485b8feda464b1df8074a880c03f51faab6758bf7",
        "normalized_character_range": [
          17732,
          17780
        ],
        "normalized_utf8_byte_range": [
          17732,
          17780
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
        "source_file": {
          "archive": "source",
          "bytes": 22684,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
          "sha256": "ee6db2bb15936c83159d0e97eafb19dc34e4914dd379bd774cf681fb961e640c"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          18958,
          21081
        ],
        "body_sha256": "d240806db2c77cdbb54bb8a20f7b02dad6967947923720ca87ea33271de2aa60",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          195,
          227
        ],
        "normalized_character_range": [
          18905,
          21081
        ],
        "sha256": "6c60401941b1adaf9ae134a64cedff5e5896d15b5f6e781dbde168bd3d551961"
      },
      "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-016",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch05.text.ex-016",
      "reader": {
        "bbox": [
          54.0,
          498.33282470703125,
          558.0040283203125,
          515.6678466796875
        ],
        "heading_witness": "Latihan 5.16 (Optimisasi Terbatas dan Tak Berbatas)\n⋆⋆⋆\n",
        "page": 496,
        "page_text_sha256": "34fc7b51ccb96cb59ac1a9918a5c6a62150d200927763f39518ba334d6b04287"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 53,
        "content_sha256": "6910cd591c0f24fbd7cd46e130608b0e21e4ff1c6880db73f38371eec269b7fb",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-016",
        "label": "exsol:5.16",
        "line_range": [
          195,
          195
        ],
        "native_record_sha256": "3c17641ec833f41aad1046ae2a7f1f2a7f2ccd6185c28f4b83f45592c8ba7176",
        "normalized_character_range": [
          18905,
          18958
        ],
        "normalized_utf8_byte_range": [
          18905,
          18958
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
        "source_file": {
          "archive": "source",
          "bytes": 22684,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
          "sha256": "ee6db2bb15936c83159d0e97eafb19dc34e4914dd379bd774cf681fb961e640c"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          21135,
          22684
        ],
        "body_sha256": "cd7e4db34a53515831328df171a86c4a15bc23fc0f3fc6066b5a401596207a8c",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          227,
          241
        ],
        "normalized_character_range": [
          21081,
          22684
        ],
        "sha256": "7a1176f1c5b6a44f425bbb6d4478c19341db65e1224a0d70ad2b45a462855231"
      },
      "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-017",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch05.text.ex-017",
      "reader": {
        "bbox": [
          54.0,
          382.841796875,
          558.0039672851562,
          400.1767883300781
        ],
        "heading_witness": "Latihan 5.17 (Dari Rusuk Optimal ke Optimum Tunggal)\n⋆⋆⋆\n",
        "page": 497,
        "page_text_sha256": "62b4f72fdb781c94c1b824b2a48c2b45130e566bef21de3a5304d682ce17bbb0"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 54,
        "content_sha256": "9435e721994799ddfc165002ff3b5d3b25d58f5877fa1bc88c3796b5b0e7f126",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-017",
        "label": "exsol:5.17",
        "line_range": [
          227,
          227
        ],
        "native_record_sha256": "b9bda5caad1bc3b51081c65aa33d72aa36978621277199b97c8b051827a07c53",
        "normalized_character_range": [
          21081,
          21135
        ],
        "normalized_utf8_byte_range": [
          21081,
          21135
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
        "source_file": {
          "archive": "source",
          "bytes": 22684,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
          "sha256": "ee6db2bb15936c83159d0e97eafb19dc34e4914dd379bd774cf681fb961e640c"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          1964,
          2269
        ],
        "body_sha256": "4d4e6748ce762cd411c27cd83906c55b61e3ee0f25409774ac03b2506ded8832",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          11,
          19
        ],
        "normalized_character_range": [
          1934,
          2269
        ],
        "sha256": "712e30f76192ef4ded614fa04cb6c9f4640f3abb6f2bf2d725215a4838baed33"
      },
      "id": "unit.r017.book1.ch06.solutions-manual.manualsolution-001",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch06.text.ex-001",
      "reader": {
        "bbox": [
          53.999969482421875,
          355.2850341796875,
          558.0044555664062,
          372.6200256347656
        ],
        "heading_witness": "Latihan 6.1 (Operasi Vektor)\n⋆\n",
        "page": 498,
        "page_text_sha256": "09cf8c92f5e502d5641199525ade4d96a1e8382d1902416986c5a1c031cc70bb"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 30,
        "content_sha256": "9dc4c288f8fe38873441c6edd66368796340031242fee22795eb454bcae0773d",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch06.solutions-manual.manualsolution-001",
        "label": "exsol:6.1",
        "line_range": [
          11,
          11
        ],
        "native_record_sha256": "c505576f648894e9d09d405ef6bb19f40349296acda14a8b38c8d303321d9a27",
        "normalized_character_range": [
          1934,
          1964
        ],
        "normalized_utf8_byte_range": [
          1938,
          1968
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch06.tex",
        "source_file": {
          "archive": "source",
          "bytes": 15677,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch06.tex",
          "sha256": "3f54164435b4fe489e907b8ebfc71c862ff09a73af288d427830db84feefd344"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          2313,
          3259
        ],
        "body_sha256": "fcd4535db051df379c8cfb05bd3e8dabbb478a9412e3872b9deaad85b798af08",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          19,
          35
        ],
        "normalized_character_range": [
          2269,
          3259
        ],
        "sha256": "35601d94ea12630b14b41d93b9f620cdaf42ee021eb7c54d6630a5a50b32a8cd"
      },
      "id": "unit.r017.book1.ch06.solutions-manual.manualsolution-002",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch06.text.ex-002",
      "reader": {
        "bbox": [
          54.0,
          463.57879638671875,
          557.9970703125,
          480.9137878417969
        ],
        "heading_witness": "Latihan 6.2 (Kombinasi Linier dan Konveks)\n⋆\n",
        "page": 498,
        "page_text_sha256": "09cf8c92f5e502d5641199525ade4d96a1e8382d1902416986c5a1c031cc70bb"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 44,
        "content_sha256": "3b89ba7c9f78ef3d8fc9ffe50f310f98716a9ef145de483fb2fa44dcf243aadb",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch06.solutions-manual.manualsolution-002",
        "label": "exsol:6.2",
        "line_range": [
          19,
          19
        ],
        "native_record_sha256": "e136e63347a5c1329c1406b939796d61c2f2652a945dbffa636eadabcbfb44ef",
        "normalized_character_range": [
          2269,
          2313
        ],
        "normalized_utf8_byte_range": [
          2273,
          2317
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch06.tex",
        "source_file": {
          "archive": "source",
          "bytes": 15677,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch06.tex",
          "sha256": "3f54164435b4fe489e907b8ebfc71c862ff09a73af288d427830db84feefd344"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          3308,
          3964
        ],
        "body_sha256": "47c8d11f361320ec6558bc2f701684ec4e91def15bc60b1243b3bb91edbb919a",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          35,
          42
        ],
        "normalized_character_range": [
          3259,
          3964
        ],
        "sha256": "6027dc8f9f3abba6311a55ce865779e3c3107326966293fa185a6098fe501571"
      },
      "id": "unit.r017.book1.ch06.solutions-manual.manualsolution-003",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch06.text.ex-003",
      "reader": {
        "bbox": [
          54.000030517578125,
          70.83483123779297,
          557.9970092773438,
          88.16983032226562
        ],
        "heading_witness": "Latihan 6.3 (Kebebasan Linier dan Rank Matriks)\n⋆\n",
        "page": 499,
        "page_text_sha256": "36242ce1d014a1f9bd33b73a25c0a5902a929701124a630038499911f677cad8"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 49,
        "content_sha256": "60c5306a23a72afa2f6af95d4e3ff0a61fd025b99733f64ed77f6f799458a328",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch06.solutions-manual.manualsolution-003",
        "label": "exsol:6.3",
        "line_range": [
          35,
          35
        ],
        "native_record_sha256": "714690f8c1cc6482e717f12474b08f0846b3559d9ddf1a5d9b5713ef75970f5e",
        "normalized_character_range": [
          3259,
          3308
        ],
        "normalized_utf8_byte_range": [
          3263,
          3312
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch06.tex",
        "source_file": {
          "archive": "source",
          "bytes": 15677,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch06.tex",
          "sha256": "3f54164435b4fe489e907b8ebfc71c862ff09a73af288d427830db84feefd344"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          3999,
          5341
        ],
        "body_sha256": "81c023a4db65b641eeda735139a29b9e20057b4fad4a31122abb5e14f013d41e",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          42,
          50
        ],
        "normalized_character_range": [
          3964,
          5341
        ],
        "sha256": "0f453185995cb53b978585f7ec760dbb6aa386c6b1de95a4d14399b9ea473418"
      },
      "id": "unit.r017.book1.ch06.solutions-manual.manualsolution-004",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch06.text.ex-004",
      "reader": {
        "bbox": [
          53.99998474121094,
          224.63291931152344,
          557.9948120117188,
          241.96792602539062
        ],
        "heading_witness": "Latihan 6.4 (Konveks atau Tidak?)\n⋆\n",
        "page": 499,
        "page_text_sha256": "36242ce1d014a1f9bd33b73a25c0a5902a929701124a630038499911f677cad8"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 35,
        "content_sha256": "c8d4d24d8d4ee5e8381dad337e1cb98b47b5116c96d83bfe09e6459b267bc90f",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch06.solutions-manual.manualsolution-004",
        "label": "exsol:6.4",
        "line_range": [
          42,
          42
        ],
        "native_record_sha256": "7b74076d50326d5452ec7f1a6161be70e774f084395fe5b1ffede498252cec31",
        "normalized_character_range": [
          3964,
          3999
        ],
        "normalized_utf8_byte_range": [
          3968,
          4003
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch06.tex",
        "source_file": {
          "archive": "source",
          "bytes": 15677,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch06.tex",
          "sha256": "3f54164435b4fe489e907b8ebfc71c862ff09a73af288d427830db84feefd344"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          5400,
          6277
        ],
        "body_sha256": "cbc52496d9de90f9b6d0d24c82d41116742cbe35abee663a42b3cf9f6954f557",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          50,
          66
        ],
        "normalized_character_range": [
          5341,
          6277
        ],
        "sha256": "0b3b68dd9d221cddc695dbc5950869a3aa2e2d94bd36a1479c2ce06045393166"
      },
      "id": "unit.r017.book1.ch06.solutions-manual.manualsolution-005",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch06.text.ex-005",
      "reader": {
        "bbox": [
          53.99992370605469,
          454.2728576660156,
          558.0015258789062,
          471.60784912109375
        ],
        "heading_witness": "Latihan 6.5 (Menulis Program Linier dalam Notasi Matriks)\n⋆\n",
        "page": 499,
        "page_text_sha256": "36242ce1d014a1f9bd33b73a25c0a5902a929701124a630038499911f677cad8"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 59,
        "content_sha256": "6ce277abb5066cadaf1d1aaa8f827567588c1a9301cce34e832a91ebbb8b8129",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch06.solutions-manual.manualsolution-005",
        "label": "exsol:6.5",
        "line_range": [
          50,
          50
        ],
        "native_record_sha256": "ae331719c0de6488b3612d8dbd2d22c5c485888419ec2021a03afc521ae2a516",
        "normalized_character_range": [
          5341,
          5400
        ],
        "normalized_utf8_byte_range": [
          5345,
          5404
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch06.tex",
        "source_file": {
          "archive": "source",
          "bytes": 15677,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch06.tex",
          "sha256": "3f54164435b4fe489e907b8ebfc71c862ff09a73af288d427830db84feefd344"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          6323,
          7460
        ],
        "body_sha256": "d0c6b0b67d2018152e88b6af6f5867e13e6435b27b0605e3b969acbdd2a70880",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          66,
          78
        ],
        "normalized_character_range": [
          6277,
          7460
        ],
        "sha256": "96fcd8facf0a3fb55399bbd47e484b688f0360ddddea9bd706b23cbaf63c5051"
      },
      "id": "unit.r017.book1.ch06.solutions-manual.manualsolution-006",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch06.text.ex-006",
      "reader": {
        "bbox": [
          53.999996185302734,
          70.83483123779297,
          558.0017700195312,
          88.16983032226562
        ],
        "heading_witness": "Latihan 6.6 (Kombinasi Konveks dan Geometri)\n⋆⋆\n",
        "page": 500,
        "page_text_sha256": "67b521a5b30d78ba1bf1699c996fca84e0c42342166141df0cfce4f0bbfcfaa9"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 46,
        "content_sha256": "37dbda966a75a059fe2db8a33a5ef496b71c475d72a8ad9a9b86aae0c4306b44",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch06.solutions-manual.manualsolution-006",
        "label": "exsol:6.6",
        "line_range": [
          66,
          66
        ],
        "native_record_sha256": "566c2079cadda5607b32838de2bef1098748283d0138dcc42e837345f61efe11",
        "normalized_character_range": [
          6277,
          6323
        ],
        "normalized_utf8_byte_range": [
          6281,
          6327
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch06.tex",
        "source_file": {
          "archive": "source",
          "bytes": 15677,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch06.tex",
          "sha256": "3f54164435b4fe489e907b8ebfc71c862ff09a73af288d427830db84feefd344"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          7515,
          8480
        ],
        "body_sha256": "7c683abd4562e1b5b6ff4fa2f957ce7a69305fa2f56e105fb8409bd3c2f82edf",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          78,
          85
        ],
        "normalized_character_range": [
          7460,
          8480
        ],
        "sha256": "b0f45c14f2a7204f4d0be54cabaca043935568bc9ba7eeb4d09aef176363835a"
      },
      "id": "unit.r017.book1.ch06.solutions-manual.manualsolution-007",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch06.text.ex-007",
      "reader": {
        "bbox": [
          53.999900817871094,
          320.8558044433594,
          558.0015869140625,
          338.1907958984375
        ],
        "heading_witness": "Latihan 6.7 (Geometri dan Konveksitas Setengah Ruang)\n⋆⋆\n",
        "page": 500,
        "page_text_sha256": "67b521a5b30d78ba1bf1699c996fca84e0c42342166141df0cfce4f0bbfcfaa9"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 55,
        "content_sha256": "b8326d59b7461efd10be5baa91bc5feab1b2b4c787c585ddbdad2cbe2a81f489",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch06.solutions-manual.manualsolution-007",
        "label": "exsol:6.7",
        "line_range": [
          78,
          78
        ],
        "native_record_sha256": "abf042425fd7f063d83eeb0a6b690647dac9213cd3d4651282df15fbe9531694",
        "normalized_character_range": [
          7460,
          7515
        ],
        "normalized_utf8_byte_range": [
          7464,
          7519
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch06.tex",
        "source_file": {
          "archive": "source",
          "bytes": 15677,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch06.tex",
          "sha256": "3f54164435b4fe489e907b8ebfc71c862ff09a73af288d427830db84feefd344"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          8519,
          10072
        ],
        "body_sha256": "b87051f7dbfd4bb4f8fba30b1f0e5854c1420ca25508af9f5a8996424b4ab2f9",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          85,
          100
        ],
        "normalized_character_range": [
          8480,
          10072
        ],
        "sha256": "f313978f8a9897ca0cecdadaa188f0bcfcf043a89efb9115dcd1b91ce6b36997"
      },
      "id": "unit.r017.book1.ch06.solutions-manual.manualsolution-008",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch06.text.ex-008",
      "reader": {
        "bbox": [
          53.999969482421875,
          504.9908447265625,
          557.9970703125,
          522.3258056640625
        ],
        "heading_witness": "Latihan 6.8 (Memeriksa Titik Ekstrem)\n⋆⋆\n",
        "page": 500,
        "page_text_sha256": "67b521a5b30d78ba1bf1699c996fca84e0c42342166141df0cfce4f0bbfcfaa9"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 39,
        "content_sha256": "a4fa11730ba71e716650815d3f98b531f628b15ea448fea5613a960084e3b14c",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch06.solutions-manual.manualsolution-008",
        "label": "exsol:6.8",
        "line_range": [
          85,
          85
        ],
        "native_record_sha256": "1afc64cc0877f2b6b3a53cf85ac0f161ce621259efad07adf821acf46d5cbf44",
        "normalized_character_range": [
          8480,
          8519
        ],
        "normalized_utf8_byte_range": [
          8488,
          8527
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch06.tex",
        "source_file": {
          "archive": "source",
          "bytes": 15677,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch06.tex",
          "sha256": "3f54164435b4fe489e907b8ebfc71c862ff09a73af288d427830db84feefd344"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          10125,
          11026
        ],
        "body_sha256": "a749a330f2a2e1ea42b56eada92be31284b390cb2420e58875f020c49e3bcaf0",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          100,
          107
        ],
        "normalized_character_range": [
          10072,
          11026
        ],
        "sha256": "ab36563ab62be25c9ae0c5fa3784f1d4fdecf6b9b06a9cc90c6061a86dd5ad8a"
      },
      "id": "unit.r017.book1.ch06.solutions-manual.manualsolution-009",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch06.text.ex-009",
      "reader": {
        "bbox": [
          54.00001525878906,
          176.60276794433594,
          558.0064697265625,
          193.93777465820312
        ],
        "heading_witness": "Latihan 6.9 (Kombinasi Konveks Titik-Titik Ekstrem)\n⋆⋆\n",
        "page": 501,
        "page_text_sha256": "c49c3ca4d4c6120c135d26174774b9cb4b3c52acc8ddadc97a6d0ad604a8a918"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 53,
        "content_sha256": "d934848a953c8449034bf80c045aa9f5c798b6311f5f1d7a1c346585132e0ce5",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch06.solutions-manual.manualsolution-009",
        "label": "exsol:6.9",
        "line_range": [
          100,
          100
        ],
        "native_record_sha256": "fc2c07257fdd15ba831e6b72f9ccbcc2b028e9de904d1cf077dbf272798fdda5",
        "normalized_character_range": [
          10072,
          10125
        ],
        "normalized_utf8_byte_range": [
          10080,
          10133
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch06.tex",
        "source_file": {
          "archive": "source",
          "bytes": 15677,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch06.tex",
          "sha256": "3f54164435b4fe489e907b8ebfc71c862ff09a73af288d427830db84feefd344"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          11093,
          11932
        ],
        "body_sha256": "93258cf66b550ec785e3b22c01e68771d357fd95bca4c12c97109fdb25688402",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          107,
          114
        ],
        "normalized_character_range": [
          11026,
          11932
        ],
        "sha256": "f731482edc6298838a0754ee38c55f8ae99cdd735a8d6375c5efcf361216fdc3"
      },
      "id": "unit.r017.book1.ch06.solutions-manual.manualsolution-010",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch06.text.ex-010",
      "reader": {
        "bbox": [
          54.0,
          382.10980224609375,
          558.0062255859375,
          399.4447937011719
        ],
        "heading_witness": "Latihan 6.10 (Apakah Gabungan Himpunan Konveks Bersifat Konveks?)\n⋆⋆\n",
        "page": 501,
        "page_text_sha256": "c49c3ca4d4c6120c135d26174774b9cb4b3c52acc8ddadc97a6d0ad604a8a918"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 67,
        "content_sha256": "90d4566b3f4d0b441f912a0bbbe16fbf6941807ff25ac85d02ab5d710f5bc940",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch06.solutions-manual.manualsolution-010",
        "label": "exsol:6.10",
        "line_range": [
          107,
          107
        ],
        "native_record_sha256": "368fe68df0588cb6bfcf6ccde39d4987468b33675b69cfdfe8f4165df9bdf9f9",
        "normalized_character_range": [
          11026,
          11093
        ],
        "normalized_utf8_byte_range": [
          11034,
          11101
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch06.tex",
        "source_file": {
          "archive": "source",
          "bytes": 15677,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch06.tex",
          "sha256": "3f54164435b4fe489e907b8ebfc71c862ff09a73af288d427830db84feefd344"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          12004,
          14299
        ],
        "body_sha256": "7f1fc999ebc5054ac8ae6ae4eaa965963019325c1882cbf83c34bb0ae7d29bc7",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          114,
          126
        ],
        "normalized_character_range": [
          11932,
          14299
        ],
        "sha256": "67ceb9f7638921b7bd81868baedfc36e0f37347a338ab1e8e637741ec3447bdf"
      },
      "id": "unit.r017.book1.ch06.solutions-manual.manualsolution-011",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch06.text.ex-011",
      "reader": {
        "bbox": [
          54.0,
          551.0767822265625,
          558.006103515625,
          568.4117431640625
        ],
        "heading_witness": "Latihan 6.11 (Letak Penggunaan Keterbatasan dalam Teorema Titik Sudut)\n⋆⋆\n",
        "page": 501,
        "page_text_sha256": "c49c3ca4d4c6120c135d26174774b9cb4b3c52acc8ddadc97a6d0ad604a8a918"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 72,
        "content_sha256": "58b9cbe9cb646b6667c5a55a629494a747d075863afc80a31b17d92e9009fc16",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch06.solutions-manual.manualsolution-011",
        "label": "exsol:6.11",
        "line_range": [
          114,
          114
        ],
        "native_record_sha256": "b95f8ffd371929e87114edd9bc97e3ad039620a04855e34eeb570cc053e1d9ad",
        "normalized_character_range": [
          11932,
          12004
        ],
        "normalized_utf8_byte_range": [
          11940,
          12012
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch06.tex",
        "source_file": {
          "archive": "source",
          "bytes": 15677,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch06.tex",
          "sha256": "3f54164435b4fe489e907b8ebfc71c862ff09a73af288d427830db84feefd344"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          14358,
          15661
        ],
        "body_sha256": "18ac029a199380567cb7191ce043163e7bdeb550441b8517c02152efdb08f79b",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          126,
          130
        ],
        "normalized_character_range": [
          14299,
          15661
        ],
        "sha256": "908bae2855df30c891f9d6405f2e5e7afae6f2f893c486226659313f5c03fe4d"
      },
      "id": "unit.r017.book1.ch06.solutions-manual.manualsolution-012",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch06.text.ex-012",
      "reader": {
        "bbox": [
          53.99998474121094,
          280.41912841796875,
          557.9991455078125,
          297.7541198730469
        ],
        "heading_witness": "Latihan 6.12 (Irisan Keluarga Himpunan Konveks Sembarang)\n⋆⋆⋆\n",
        "page": 502,
        "page_text_sha256": "8aa73154261ae719fd58ca08dbd17865631eaa835c81a4eb272ebeecb087e01e"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 59,
        "content_sha256": "0994c092bbbfea92c5f43c8b920425d6446de03b080db1da3f54524a2c6b27e9",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch06.solutions-manual.manualsolution-012",
        "label": "exsol:6.12",
        "line_range": [
          126,
          126
        ],
        "native_record_sha256": "2579ed296c8b2ec9dca82069b29385ed08a0aca8151bfebfad79f70704746360",
        "normalized_character_range": [
          14299,
          14358
        ],
        "normalized_utf8_byte_range": [
          14311,
          14370
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch06.tex",
        "source_file": {
          "archive": "source",
          "bytes": 15677,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch06.tex",
          "sha256": "3f54164435b4fe489e907b8ebfc71c862ff09a73af288d427830db84feefd344"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          1284,
          2060
        ],
        "body_sha256": "a7973b5e4d2c55d5f54855355919b832ad82415c3c9441121c072a0e5659b85b",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          21,
          51
        ],
        "normalized_character_range": [
          1236,
          2060
        ],
        "sha256": "8d3cf582bb45734bf8de565522baf6c74e5c3e80ac7c8473906d309785ab41a6"
      },
      "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-001",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch07.text.ex-001",
      "reader": {
        "bbox": [
          54.000030517578125,
          70.83483123779297,
          557.9993286132812,
          88.16983032226562
        ],
        "heading_witness": "Latihan 7.1 (Bentuk standar dan kamus pertama)\n⋆\n",
        "page": 503,
        "page_text_sha256": "a32cc508ede9f1b6dcbbe46c36364885732205a9affd0bf4f289f1f8ead0c5df"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 48,
        "content_sha256": "6862f2f792945f731ba65ea9a3e1031bc0916be9304213a738770553e187e691",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-001",
        "label": "exsol:7.1",
        "line_range": [
          21,
          21
        ],
        "native_record_sha256": "e016a67e8ef2d75b693e68f12b5e14cd624eac23dfb6e4d6c172625305d949bc",
        "normalized_character_range": [
          1236,
          1284
        ],
        "normalized_utf8_byte_range": [
          1236,
          1284
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
        "source_file": {
          "archive": "source",
          "bytes": 21264,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
          "sha256": "bff78cc451540559fa73eb619ae0f71e86bfd0df9575e3dd50cea0faf56ae98d"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          2105,
          2465
        ],
        "body_sha256": "e2d20105c35f1decbae211c53ae3e74711dfc093b78c0398c7479ce9c40a74a0",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          51,
          65
        ],
        "normalized_character_range": [
          2060,
          2465
        ],
        "sha256": "cef26758d3ea8167a1385a966828efb1c01aec465dda6d287daff7b3bb5e2a91"
      },
      "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-002",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch07.text.ex-002",
      "reader": {
        "bbox": [
          54.0,
          390.4577941894531,
          558.0018920898438,
          407.79278564453125
        ],
        "heading_witness": "Latihan 7.2 (Mengonversi ke Bentuk Standar)\n⋆\n",
        "page": 503,
        "page_text_sha256": "a32cc508ede9f1b6dcbbe46c36364885732205a9affd0bf4f289f1f8ead0c5df"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 45,
        "content_sha256": "3d2abf48003a92e96bdc9b13c6025098b98ecbe68290f4a38a709ffa0c53acf2",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-002",
        "label": "exsol:7.2",
        "line_range": [
          51,
          51
        ],
        "native_record_sha256": "a315bae3c6c3293c1539d022b38d218d62e8d15210af735ca3b515dd0aa2f513",
        "normalized_character_range": [
          2060,
          2105
        ],
        "normalized_utf8_byte_range": [
          2060,
          2105
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
        "source_file": {
          "archive": "source",
          "bytes": 21264,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
          "sha256": "bff78cc451540559fa73eb619ae0f71e86bfd0df9575e3dd50cea0faf56ae98d"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          2510,
          2963
        ],
        "body_sha256": "30c16735ba5797c75cdf2a98c306a4ca42d70a54e2e4495d4069cf36e0ffccf5",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          65,
          80
        ],
        "normalized_character_range": [
          2465,
          2963
        ],
        "sha256": "07529527f622ff7eead203ac9802f0d86477c78de26c49291e6fd41a6c3b4c57"
      },
      "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-003",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch07.text.ex-003",
      "reader": {
        "bbox": [
          53.999908447265625,
          550.9518432617188,
          558.0017700195312,
          568.286865234375
        ],
        "heading_witness": "Latihan 7.3 (Mengonversi ke Bentuk Standar)\n⋆\n",
        "page": 503,
        "page_text_sha256": "a32cc508ede9f1b6dcbbe46c36364885732205a9affd0bf4f289f1f8ead0c5df"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 45,
        "content_sha256": "876e901e74f445427d63b84b4f37377b32e3c7c4293e2fdffac8f6f65e4569d5",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-003",
        "label": "exsol:7.3",
        "line_range": [
          65,
          65
        ],
        "native_record_sha256": "99528d708c0b777fbf83216e4ae98d724bdd6dd8657343647c92422183db7c08",
        "normalized_character_range": [
          2465,
          2510
        ],
        "normalized_utf8_byte_range": [
          2465,
          2510
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
        "source_file": {
          "archive": "source",
          "bytes": 21264,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
          "sha256": "bff78cc451540559fa73eb619ae0f71e86bfd0df9575e3dd50cea0faf56ae98d"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          3008,
          3614
        ],
        "body_sha256": "da6247cacec1946f92bb4d353d01f1675380b54f9b73618b6d788ca6d666534a",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          80,
          97
        ],
        "normalized_character_range": [
          2963,
          3614
        ],
        "sha256": "98a71475e118f510f213c1081ea1b77e1028d412118473e3ce8a4773abcf8018"
      },
      "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-004",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch07.text.ex-004",
      "reader": {
        "bbox": [
          53.999996185302734,
          70.83483123779297,
          558.0018920898438,
          88.16983032226562
        ],
        "heading_witness": "Latihan 7.4 (Mengonversi ke Bentuk Standar)\n⋆\n",
        "page": 504,
        "page_text_sha256": "0f13a9f8be5b98ba0d20d546a8e984f2c387ca805090d626fcf6aacfea13dd01"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 45,
        "content_sha256": "8e1e3477eb61bc1efbc3b066c671273305c3e0c590b7029c304aa55f18dec346",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-004",
        "label": "exsol:7.4",
        "line_range": [
          80,
          80
        ],
        "native_record_sha256": "aa07fc525eff09e687bc5e173caf448686dd7560b06e62d9c51e2ae30ebe5d35",
        "normalized_character_range": [
          2963,
          3008
        ],
        "normalized_utf8_byte_range": [
          2963,
          3008
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
        "source_file": {
          "archive": "source",
          "bytes": 21264,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
          "sha256": "bff78cc451540559fa73eb619ae0f71e86bfd0df9575e3dd50cea0faf56ae98d"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          3659,
          4113
        ],
        "body_sha256": "d79fd1406646c4ae90f08213bc4a16c90078c71d07bd2be482ae62fe9976d3c2",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          97,
          113
        ],
        "normalized_character_range": [
          3614,
          4113
        ],
        "sha256": "dd7aceb82a41513d0ae4820849a4bccbedd50655794917542245bb84015b13ff"
      },
      "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-005",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch07.text.ex-005",
      "reader": {
        "bbox": [
          53.99981689453125,
          249.52049255371094,
          558.0016479492188,
          266.8554992675781
        ],
        "heading_witness": "Latihan 7.5 (Mengonversi ke Bentuk Standar)\n⋆\n",
        "page": 504,
        "page_text_sha256": "0f13a9f8be5b98ba0d20d546a8e984f2c387ca805090d626fcf6aacfea13dd01"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 45,
        "content_sha256": "9148a7e8dde1f3a15396a24a98ad79e79939f628714ad1ee1f7ba95cb704eebb",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-005",
        "label": "exsol:7.5",
        "line_range": [
          97,
          97
        ],
        "native_record_sha256": "391a0188fa6ccae4044c69ff23370636bafac4fc82cf232393e16c05eb856a03",
        "normalized_character_range": [
          3614,
          3659
        ],
        "normalized_utf8_byte_range": [
          3614,
          3659
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
        "source_file": {
          "archive": "source",
          "bytes": 21264,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
          "sha256": "bff78cc451540559fa73eb619ae0f71e86bfd0df9575e3dd50cea0faf56ae98d"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          4158,
          4603
        ],
        "body_sha256": "28f0ec27e4a2eebeb2c2564d943f2f91c2d9da5a0e9fbcfecf051dc5c49b9530",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          113,
          128
        ],
        "normalized_character_range": [
          4113,
          4603
        ],
        "sha256": "db2a386a5c79e0d44089a2415400f787269f96eac6c0a077f2ef9c9214813ab8"
      },
      "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-006",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch07.text.ex-006",
      "reader": {
        "bbox": [
          53.999847412109375,
          405.2449645996094,
          558.001708984375,
          422.5799560546875
        ],
        "heading_witness": "Latihan 7.6 (Mengonversi ke Bentuk Standar)\n⋆\n",
        "page": 504,
        "page_text_sha256": "0f13a9f8be5b98ba0d20d546a8e984f2c387ca805090d626fcf6aacfea13dd01"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 45,
        "content_sha256": "382fcf8b8769733c97af14c4390974612296efdbe16ecb40a30dbfb8b1326f1a",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-006",
        "label": "exsol:7.6",
        "line_range": [
          113,
          113
        ],
        "native_record_sha256": "d221c9768f2189816141027d01df665bc147bb3ebb9172e04c5ca76d4e73b17f",
        "normalized_character_range": [
          4113,
          4158
        ],
        "normalized_utf8_byte_range": [
          4113,
          4158
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
        "source_file": {
          "archive": "source",
          "bytes": 21264,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
          "sha256": "bff78cc451540559fa73eb619ae0f71e86bfd0df9575e3dd50cea0faf56ae98d"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          4645,
          6072
        ],
        "body_sha256": "c0362765bff1cfe9c97a55d4a54d660f7849c53724daf46aa2fe13be05baced7",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          128,
          172
        ],
        "normalized_character_range": [
          4603,
          6072
        ],
        "sha256": "7befd5c47e2e8e2e5c19014aa8e71f5f772a33c247d1fb2b7e71464ed9d1eea0"
      },
      "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-007",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch07.text.ex-007",
      "reader": {
        "bbox": [
          53.9998779296875,
          564.5389404296875,
          558.004150390625,
          581.8739013671875
        ],
        "heading_witness": "Latihan 7.7 (Pivot ke arah yang berbeda)\n⋆⋆\n",
        "page": 504,
        "page_text_sha256": "0f13a9f8be5b98ba0d20d546a8e984f2c387ca805090d626fcf6aacfea13dd01"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 42,
        "content_sha256": "846e9d766715ecb80d6de82b864eede3edb770ea7fec1cd322f286b392f67378",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-007",
        "label": "exsol:7.7",
        "line_range": [
          128,
          128
        ],
        "native_record_sha256": "8ffc239df5c7b87d64b0b70f0ce87634184ffa9393cc57b43f0dbf2d00cbabf6",
        "normalized_character_range": [
          4603,
          4645
        ],
        "normalized_utf8_byte_range": [
          4603,
          4645
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
        "source_file": {
          "archive": "source",
          "bytes": 21264,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
          "sha256": "bff78cc451540559fa73eb619ae0f71e86bfd0df9575e3dd50cea0faf56ae98d"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          6111,
          6890
        ],
        "body_sha256": "6b799d0b814e38579a9bbd820cbeedbaabe8c77f6ef8eccdd08e40925023e087",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          172,
          204
        ],
        "normalized_character_range": [
          6072,
          6890
        ],
        "sha256": "ed7391032a36b21215b5fa33e5972fe94b43d7605490d23fd821c08eba1b0f1b"
      },
      "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-008",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch07.text.ex-008",
      "reader": {
        "bbox": [
          53.99993896484375,
          340.28076171875,
          557.99951171875,
          357.6157531738281
        ],
        "heading_witness": "Latihan 7.8 (Latihan Metode Simpleks)\n⋆⋆\n",
        "page": 505,
        "page_text_sha256": "eac1ff9d9adf03473dfd51fb188fbe1d3eb6a1d2e1a71049f16c3291a6e437c8"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 39,
        "content_sha256": "8f8a28d57ed9205b3c55bab8dfbfbf486e2527aaae78642b09536cad6252d7fa",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-008",
        "label": "exsol:7.8",
        "line_range": [
          172,
          172
        ],
        "native_record_sha256": "5a04e4d023751830bcc969ae6a34abbea8516d65a6ed028f5ad88cd6f5aa5c81",
        "normalized_character_range": [
          6072,
          6111
        ],
        "normalized_utf8_byte_range": [
          6072,
          6111
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
        "source_file": {
          "archive": "source",
          "bytes": 21264,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
          "sha256": "bff78cc451540559fa73eb619ae0f71e86bfd0df9575e3dd50cea0faf56ae98d"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          6929,
          7731
        ],
        "body_sha256": "8d14464ab50962d9f2931b88aa5e4ac7bd60307a527430f7fe58ad53a97171e1",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          204,
          236
        ],
        "normalized_character_range": [
          6890,
          7731
        ],
        "sha256": "d12380c255f795c73898e3fb1de6e56aa646b25175a41da3cb6cc9b404b62133"
      },
      "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-009",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch07.text.ex-009",
      "reader": {
        "bbox": [
          53.999996185302734,
          70.83483123779297,
          557.99951171875,
          88.16983032226562
        ],
        "heading_witness": "Latihan 7.9 (Latihan Metode Simpleks)\n⋆⋆\n",
        "page": 506,
        "page_text_sha256": "7ce4ace730c9375008991ef58a6f8beddc5c2f9b9f445a6ea3482cfc6719340e"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 39,
        "content_sha256": "df20b1277e645bdceae87d738c420c45f36069ec4380bf8ea20c17a53235103c",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-009",
        "label": "exsol:7.9",
        "line_range": [
          204,
          204
        ],
        "native_record_sha256": "600d12d56e05f31ef6caeb61eddef793049d36421cd479694bf1a3a0f076ff52",
        "normalized_character_range": [
          6890,
          6929
        ],
        "normalized_utf8_byte_range": [
          6890,
          6929
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
        "source_file": {
          "archive": "source",
          "bytes": 21264,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
          "sha256": "bff78cc451540559fa73eb619ae0f71e86bfd0df9575e3dd50cea0faf56ae98d"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          7771,
          8864
        ],
        "body_sha256": "7478c574b8d2038d4ea52399cf2f86531fb725f0b86704ee7f7aa83412382dd0",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          236,
          271
        ],
        "normalized_character_range": [
          7731,
          8864
        ],
        "sha256": "4c1307752258f2ef04350879aa23d6ff97c6fe4df2c6f17aa4d0a6e87d5afea9"
      },
      "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-010",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch07.text.ex-010",
      "reader": {
        "bbox": [
          53.999969482421875,
          404.23480224609375,
          557.99951171875,
          421.5697937011719
        ],
        "heading_witness": "Latihan 7.10 (Latihan Metode Simpleks)\n⋆⋆\n",
        "page": 506,
        "page_text_sha256": "7ce4ace730c9375008991ef58a6f8beddc5c2f9b9f445a6ea3482cfc6719340e"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 40,
        "content_sha256": "24ff37a96b90444649912693b8c485dab170357d0774edfd881b079e48dd054a",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-010",
        "label": "exsol:7.10",
        "line_range": [
          236,
          236
        ],
        "native_record_sha256": "e10553c036f776f5a31b0d798d5a3390b2637148f8d4a778d8474089bc7438da",
        "normalized_character_range": [
          7731,
          7771
        ],
        "normalized_utf8_byte_range": [
          7731,
          7771
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
        "source_file": {
          "archive": "source",
          "bytes": 21264,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
          "sha256": "bff78cc451540559fa73eb619ae0f71e86bfd0df9575e3dd50cea0faf56ae98d"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          8904,
          10086
        ],
        "body_sha256": "a417387d62fe52308a5b0d8d1f06b796a8ddeb891a2b277e6d8216fcc269ed7f",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          271,
          310
        ],
        "normalized_character_range": [
          8864,
          10086
        ],
        "sha256": "4cf1ccdec0543f1805a75bd560fc24600b47ac6c3fa93c150656d873f0a4b152"
      },
      "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-011",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch07.text.ex-011",
      "reader": {
        "bbox": [
          54.000030517578125,
          70.83483123779297,
          557.99951171875,
          88.16983032226562
        ],
        "heading_witness": "Latihan 7.11 (Latihan Metode Simpleks)\n⋆⋆\n",
        "page": 507,
        "page_text_sha256": "ea67c1ab0f7a26041377af26982383686cb51ddb8c4633fcdc61c434617573fa"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 40,
        "content_sha256": "3f25ffaee9ea4e53722527da2c45acc549bf4e6d978375082067dd5b87715e91",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-011",
        "label": "exsol:7.11",
        "line_range": [
          271,
          271
        ],
        "native_record_sha256": "8983ee33166658ffa58ff405802d7db9d542095901771bed20e567a793d8e43c",
        "normalized_character_range": [
          8864,
          8904
        ],
        "normalized_utf8_byte_range": [
          8864,
          8904
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
        "source_file": {
          "archive": "source",
          "bytes": 21264,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
          "sha256": "bff78cc451540559fa73eb619ae0f71e86bfd0df9575e3dd50cea0faf56ae98d"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          10134,
          12804
        ],
        "body_sha256": "91a5d8e52c79fe80dee205f5b858d3872ae04c2c3e14aaa0ed357ac71030afb6",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          310,
          372
        ],
        "normalized_character_range": [
          10086,
          12804
        ],
        "sha256": "3758cae60919e6f8e9d43777e2ee59aa16cb3df7c16f39373c7f9ce3c53a642c"
      },
      "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-012",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch07.text.ex-012",
      "reader": {
        "bbox": [
          53.99992370605469,
          492.5328369140625,
          557.9945068359375,
          509.8678283691406
        ],
        "heading_witness": "Latihan 7.12 (Latihan Metode Simpleks (Big-M))\n⋆⋆\n",
        "page": 507,
        "page_text_sha256": "ea67c1ab0f7a26041377af26982383686cb51ddb8c4633fcdc61c434617573fa"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 48,
        "content_sha256": "02bb19a09f8476b7a665b960a45b345d9fdc81c9e2aef8108dd49c61b662d1f0",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-012",
        "label": "exsol:7.12",
        "line_range": [
          310,
          310
        ],
        "native_record_sha256": "68e82a27df00a6cbb6d3a81f3d77bb0d052dffbf7b51fab3b12b2dd623dcbf9f",
        "normalized_character_range": [
          10086,
          10134
        ],
        "normalized_utf8_byte_range": [
          10086,
          10134
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
        "source_file": {
          "archive": "source",
          "bytes": 21264,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
          "sha256": "bff78cc451540559fa73eb619ae0f71e86bfd0df9575e3dd50cea0faf56ae98d"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          12852,
          14976
        ],
        "body_sha256": "65d93268a6912ac7cd99a773815f6236efd7f3a67f8a2b2256a928e8d54b999e",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          372,
          421
        ],
        "normalized_character_range": [
          12804,
          14976
        ],
        "sha256": "e76503b4ec4a434be99efd74bd29d0a580036956c1deb73a3bf7cc7cc8c53c9f"
      },
      "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-013",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch07.text.ex-013",
      "reader": {
        "bbox": [
          54.0,
          431.3468017578125,
          557.9945678710938,
          448.6817932128906
        ],
        "heading_witness": "Latihan 7.13 (Latihan Metode Simpleks (Big-M))\n⋆⋆\n",
        "page": 508,
        "page_text_sha256": "fa70fab8f4ea112d3be2b17885803411ac5201495e2caf910e2ffbef7fd2e4a8"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 48,
        "content_sha256": "a3cbc04827402b1b190145e32be9e487cc3ac9df99a7fcbdda4eb8e471a11f3b",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-013",
        "label": "exsol:7.13",
        "line_range": [
          372,
          372
        ],
        "native_record_sha256": "0a56620bdf117f5733c2d646efcd4803841db1a47c85e9b0a78de2bae489e367",
        "normalized_character_range": [
          12804,
          12852
        ],
        "normalized_utf8_byte_range": [
          12804,
          12852
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
        "source_file": {
          "archive": "source",
          "bytes": 21264,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
          "sha256": "bff78cc451540559fa73eb619ae0f71e86bfd0df9575e3dd50cea0faf56ae98d"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          15010,
          16237
        ],
        "body_sha256": "851ee6b4af605ea91e79406cecdba189e47ca35a4667f1773995968a9e7df60a",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          421,
          445
        ],
        "normalized_character_range": [
          14976,
          16237
        ],
        "sha256": "ebcd3c8e428d97315763bb6c79a423ff183a172bedb1d08ecc82227878a48e53"
      },
      "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-014",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch07.text.ex-014",
      "reader": {
        "bbox": [
          54.0,
          215.34580993652344,
          558.001953125,
          232.68081665039062
        ],
        "heading_witness": "Latihan 7.14 (Optimalitas Kamus)\n⋆⋆\n",
        "page": 509,
        "page_text_sha256": "302f82b542d83a815a883e8ef50bc05a18989a90ea342337770c722864216e3a"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 34,
        "content_sha256": "d7c3441be0c5a7f26c497bc374f6c62225f01616e3f54b4bfd7682e07c8e03ac",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-014",
        "label": "exsol:7.14",
        "line_range": [
          421,
          421
        ],
        "native_record_sha256": "7af70a13f7ad50e35dd54366b479a8b8dd2da5194fa60b733d0c7331e4f77474",
        "normalized_character_range": [
          14976,
          15010
        ],
        "normalized_utf8_byte_range": [
          14976,
          15010
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
        "source_file": {
          "archive": "source",
          "bytes": 21264,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
          "sha256": "bff78cc451540559fa73eb619ae0f71e86bfd0df9575e3dd50cea0faf56ae98d"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          16272,
          17841
        ],
        "body_sha256": "1eb03da645ebe9ecb581a013b8c327862656ed61a111f54f7113eebcd2bf54fb",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          445,
          480
        ],
        "normalized_character_range": [
          16237,
          17841
        ],
        "sha256": "64ed0029a0c71ab77d3a803be28dad44f548f45101d441f8ae5238d022d1e89b"
      },
      "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-015",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch07.text.ex-015",
      "reader": {
        "bbox": [
          53.99998474121094,
          460.15380859375,
          558.0043334960938,
          477.4888000488281
        ],
        "heading_witness": "Latihan 7.15 (Solusi Basis Layak)\n⋆⋆\n",
        "page": 509,
        "page_text_sha256": "302f82b542d83a815a883e8ef50bc05a18989a90ea342337770c722864216e3a"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 35,
        "content_sha256": "a8e8ce0d83787ed6f4e6f885bf61c5a1533ae4cb10c33f631c1aee51de8a36c6",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-015",
        "label": "exsol:7.15",
        "line_range": [
          445,
          445
        ],
        "native_record_sha256": "9217aba463fd5460b2095810787093035f28a6ddc811c45d772693667d4f8569",
        "normalized_character_range": [
          16237,
          16272
        ],
        "normalized_utf8_byte_range": [
          16237,
          16272
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
        "source_file": {
          "archive": "source",
          "bytes": 21264,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
          "sha256": "bff78cc451540559fa73eb619ae0f71e86bfd0df9575e3dd50cea0faf56ae98d"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          17892,
          19252
        ],
        "body_sha256": "d6c500833cb0a0be595e2ab2c754b05c6ba8b85a0165d89ef9860e6345079fb6",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          480,
          508
        ],
        "normalized_character_range": [
          17841,
          19252
        ],
        "sha256": "02bde460780cc6f652b22542f5ae886439123c4248b8a2d790e8a19c01bd8797"
      },
      "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-016",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch07.text.ex-016",
      "reader": {
        "bbox": [
          53.99998474121094,
          128.73680114746094,
          558.001708984375,
          146.07180786132812
        ],
        "heading_witness": "Latihan 7.16 (Apa yang dilindungi oleh uji rasio)\n⋆⋆\n",
        "page": 510,
        "page_text_sha256": "4a5254acf2caad28882580d41a6a878e673124c1afc3b459452bb865c23a895d"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 51,
        "content_sha256": "6550ab21cb7298b32804f0f0fce889b403402103d5b850be34b94a40f1a240c8",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-016",
        "label": "exsol:7.16",
        "line_range": [
          480,
          480
        ],
        "native_record_sha256": "d1fc45d9e49a859e6a37527439c6486ef7b2450ff21c74b6ef9710e33aaf0246",
        "normalized_character_range": [
          17841,
          17892
        ],
        "normalized_utf8_byte_range": [
          17841,
          17892
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
        "source_file": {
          "archive": "source",
          "bytes": 21264,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
          "sha256": "bff78cc451540559fa73eb619ae0f71e86bfd0df9575e3dd50cea0faf56ae98d"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          19316,
          21264
        ],
        "body_sha256": "eb571cd9fcf9aa7add78ef1febd6cdf184d13c48c04af86c761f3531bc82c099",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          508,
          558
        ],
        "normalized_character_range": [
          19252,
          21264
        ],
        "sha256": "e2bf98858cd6fe6230428554c591fe0139d3beac4420d4899d0204bdfa5e5298"
      },
      "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-017",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch07.text.ex-017",
      "reader": {
        "bbox": [
          54.00006103515625,
          451.51580810546875,
          557.9990844726562,
          468.8507995605469
        ],
        "heading_witness": "Latihan 7.17 (Hasil imbang dalam uji rasio memaksa degenerasi)\n⋆⋆⋆\n",
        "page": 510,
        "page_text_sha256": "4a5254acf2caad28882580d41a6a878e673124c1afc3b459452bb865c23a895d"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 64,
        "content_sha256": "4b06b0947b5736f5f8306bb3dd7a433ce48677f59a917f8185a2285d782be8f9",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-017",
        "label": "exsol:7.17",
        "line_range": [
          508,
          508
        ],
        "native_record_sha256": "db6a24472ca30d4a5a4c2936490554d1bfb9c6f97aa2b374a193bfd1efa583dd",
        "normalized_character_range": [
          19252,
          19316
        ],
        "normalized_utf8_byte_range": [
          19252,
          19316
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
        "source_file": {
          "archive": "source",
          "bytes": 21264,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
          "sha256": "bff78cc451540559fa73eb619ae0f71e86bfd0df9575e3dd50cea0faf56ae98d"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          1403,
          1977
        ],
        "body_sha256": "29bca361df08adbff21a659048da89d7eb432f824c26f1870bfb4e9e97b16ff6",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          23,
          62
        ],
        "normalized_character_range": [
          1357,
          1977
        ],
        "sha256": "4f9cb244e0639e11b808eac64bb41ae03b20c4ccb8ed7b7479dbaeeb868c01dc"
      },
      "id": "unit.r017.book1.ch08.solutions-manual.manualsolution-001",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch08.text.ex-001",
      "reader": {
        "bbox": [
          53.99999237060547,
          508.618896484375,
          557.9970092773438,
          525.953857421875
        ],
        "heading_witness": "Latihan 8.1 (Matriks basis dan solusi basis)\n⋆\n",
        "page": 511,
        "page_text_sha256": "5efd2ef038c7a1f9bb52814ea52cc8d5f5335e87fbb7d2ac763fa544427ac397"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 46,
        "content_sha256": "f0857c2657e87cca5c3584d361202f4e4bb90d104e718d8ae1ee99b77f4f2af1",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch08.solutions-manual.manualsolution-001",
        "label": "exsol:8.1",
        "line_range": [
          23,
          23
        ],
        "native_record_sha256": "bc22a455a6d2dee89c859daa608986fbdda8db8f57b281a27ef6ab0cb1a7baa8",
        "normalized_character_range": [
          1357,
          1403
        ],
        "normalized_utf8_byte_range": [
          1357,
          1403
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch08.tex",
        "source_file": {
          "archive": "source",
          "bytes": 12946,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch08.tex",
          "sha256": "c19558f01e860afdf475157fda8af00ca3e5a08314cb188a5b3c9bc7046a7885"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          2022,
          2783
        ],
        "body_sha256": "db185cb68604ae5385e3f359764256d40d4aa4ae49a1d92750156772037cbadc",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          62,
          102
        ],
        "normalized_character_range": [
          1977,
          2783
        ],
        "sha256": "b4794d4544cd5be1ce8ffdb53b95a4bcc49affc00d5efcabd0dd6f8378aadcce"
      },
      "id": "unit.r017.book1.ch08.solutions-manual.manualsolution-002",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch08.text.ex-002",
      "reader": {
        "bbox": [
          53.999996185302734,
          70.83483123779297,
          558.0018920898438,
          88.16983032226562
        ],
        "heading_witness": "Latihan 8.2 (Solusi basis yang tidak layak)\n⋆\n",
        "page": 512,
        "page_text_sha256": "3d3f7b7500c9a13f1b43374151de9a68469e7f1b6da34ce42c48fe89db036bb2"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 45,
        "content_sha256": "6da69023cbe9ef63ee1d90f34ba1c27441660a2547a1f3a295fd6a9d4c11ead8",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch08.solutions-manual.manualsolution-002",
        "label": "exsol:8.2",
        "line_range": [
          62,
          62
        ],
        "native_record_sha256": "28e157b747fbcbe333d5a4821a16df84887159d4c3ef70f439376641bdcbc303",
        "normalized_character_range": [
          1977,
          2022
        ],
        "normalized_utf8_byte_range": [
          1977,
          2022
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch08.tex",
        "source_file": {
          "archive": "source",
          "bytes": 12946,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch08.tex",
          "sha256": "c19558f01e860afdf475157fda8af00ca3e5a08314cb188a5b3c9bc7046a7885"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          2836,
          3599
        ],
        "body_sha256": "d5b1215c60f5db8aa7caceb2dcae922fe88838d9006157c73095030699e278c9",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          102,
          145
        ],
        "normalized_character_range": [
          2783,
          3599
        ],
        "sha256": "b00829fd21f0c9016491df3b992a36f6c5f718fdb5f47eeaacd730041824836f"
      },
      "id": "unit.r017.book1.ch08.solutions-manual.manualsolution-003",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch08.text.ex-003",
      "reader": {
        "bbox": [
          53.9998779296875,
          289.57379150390625,
          558.0039672851562,
          306.9087829589844
        ],
        "heading_witness": "Latihan 8.3 (Basis keempat untuk contoh tiga basis)\n⋆\n",
        "page": 512,
        "page_text_sha256": "3d3f7b7500c9a13f1b43374151de9a68469e7f1b6da34ce42c48fe89db036bb2"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 53,
        "content_sha256": "034b704c1efac83912df13079c921320c3c0ce74057194047b7a827c01afa60b",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch08.solutions-manual.manualsolution-003",
        "label": "exsol:8.3",
        "line_range": [
          102,
          102
        ],
        "native_record_sha256": "4eec7aee8840c87bd4044832a112571c05e18c7fdc7cec850dbd0942b01e3b5c",
        "normalized_character_range": [
          2783,
          2836
        ],
        "normalized_utf8_byte_range": [
          2783,
          2836
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch08.tex",
        "source_file": {
          "archive": "source",
          "bytes": 12946,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch08.tex",
          "sha256": "c19558f01e860afdf475157fda8af00ca3e5a08314cb188a5b3c9bc7046a7885"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          3645,
          5643
        ],
        "body_sha256": "14c243b6bb382d02ded8fbd558d994ff8b09021e8b2e1d387c1dbdd92c4981ab",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          145,
          216
        ],
        "normalized_character_range": [
          3599,
          5643
        ],
        "sha256": "8285c52357aa41e669ae0c518141a291934818107b52996c081dadaf0de1d8f0"
      },
      "id": "unit.r017.book1.ch08.solutions-manual.manualsolution-004",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch08.text.ex-004",
      "reader": {
        "bbox": [
          53.9998779296875,
          493.34381103515625,
          557.999267578125,
          510.6788024902344
        ],
        "heading_witness": "Latihan 8.4 (Biaya tereduksi pada dua basis)\n⋆⋆\n",
        "page": 512,
        "page_text_sha256": "3d3f7b7500c9a13f1b43374151de9a68469e7f1b6da34ce42c48fe89db036bb2"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 46,
        "content_sha256": "76dff632cf86ba864419262f60654ad809293467e9a966065d3f6c08e5bbf5b4",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch08.solutions-manual.manualsolution-004",
        "label": "exsol:8.4",
        "line_range": [
          145,
          145
        ],
        "native_record_sha256": "61e3f1b53e70f94089dd43ca4c611dbaa365d58b0f01d54382b3dea8589faf9f",
        "normalized_character_range": [
          3599,
          3645
        ],
        "normalized_utf8_byte_range": [
          3599,
          3645
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch08.tex",
        "source_file": {
          "archive": "source",
          "bytes": 12946,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch08.tex",
          "sha256": "c19558f01e860afdf475157fda8af00ca3e5a08314cb188a5b3c9bc7046a7885"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          5681,
          7209
        ],
        "body_sha256": "5249f17a372629b03555d137a096cdd8f92dbce06bce4b00153bd704a871e9ce",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          216,
          259
        ],
        "normalized_character_range": [
          5643,
          7209
        ],
        "sha256": "e1afdb755f08b9c284d485ee277b450e96383fa416208668a2e95a41cfa1787f"
      },
      "id": "unit.r017.book1.ch08.solutions-manual.manualsolution-005",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch08.text.ex-005",
      "reader": {
        "bbox": [
          53.999969482421875,
          254.81590270996094,
          558.0018310546875,
          272.1509094238281
        ],
        "heading_witness": "Latihan 8.5 (Basis mana yang layak?)\n⋆⋆\n",
        "page": 513,
        "page_text_sha256": "1f855c9425eda3fa004e9e4635baef9284f76e63eb7c87816b76753b2b2b6344"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 38,
        "content_sha256": "20924fb910094f52328287d2ca14dccd4742dfa99c3cfdc9bce335b39daf32e4",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch08.solutions-manual.manualsolution-005",
        "label": "exsol:8.5",
        "line_range": [
          216,
          216
        ],
        "native_record_sha256": "69d974a955d82ab1d95e70866be9d79b4dde616a1c16679880049c4743f08e51",
        "normalized_character_range": [
          5643,
          5681
        ],
        "normalized_utf8_byte_range": [
          5643,
          5681
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch08.tex",
        "source_file": {
          "archive": "source",
          "bytes": 12946,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch08.tex",
          "sha256": "c19558f01e860afdf475157fda8af00ca3e5a08314cb188a5b3c9bc7046a7885"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          7259,
          8713
        ],
        "body_sha256": "2970429bbdc8f0752dcaaea179007fb99b4cc72197f12c16e3f0422a44fe264c",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          259,
          308
        ],
        "normalized_character_range": [
          7209,
          8713
        ],
        "sha256": "04e3d7d106e24384a373bf7b844ed51261c685929e0cf7217531a3066f2ca6cd"
      },
      "id": "unit.r017.book1.ch08.solutions-manual.manualsolution-006",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch08.text.ex-006",
      "reader": {
        "bbox": [
          53.999996185302734,
          70.83483123779297,
          557.996826171875,
          88.16983032226562
        ],
        "heading_witness": "Latihan 8.6 (Membangun kembali kamus dari rumus)\n⋆⋆\n",
        "page": 514,
        "page_text_sha256": "42daa3702ce464c867b88520885db4d2b3dfa496389e76d3b29a49af5dcc9027"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 50,
        "content_sha256": "3abcbb67a872bfc31e0e4670a4d3395daf75167198f630f756f0e1539dec7391",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch08.solutions-manual.manualsolution-006",
        "label": "exsol:8.6",
        "line_range": [
          259,
          259
        ],
        "native_record_sha256": "509c73f8a0c34d8d9b8f9de406d3312f1e1c9b1554e9673de185f4c7ba86b94b",
        "normalized_character_range": [
          7209,
          7259
        ],
        "normalized_utf8_byte_range": [
          7209,
          7259
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch08.tex",
        "source_file": {
          "archive": "source",
          "bytes": 12946,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch08.tex",
          "sha256": "c19558f01e860afdf475157fda8af00ca3e5a08314cb188a5b3c9bc7046a7885"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          8759,
          9842
        ],
        "body_sha256": "302d158fe9cc31f2c6905830021ee4ebad26a076154b58caa606c7e48ede173a",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          308,
          332
        ],
        "normalized_character_range": [
          8713,
          9842
        ],
        "sha256": "573869004dcce7cc28472799d4673bd585af5d3726c6ff749421eda75273f557"
      },
      "id": "unit.r017.book1.ch08.solutions-manual.manualsolution-007",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch08.text.ex-007",
      "reader": {
        "bbox": [
          53.999786376953125,
          475.7408142089844,
          558.0015869140625,
          493.0758056640625
        ],
        "heading_witness": "Latihan 8.7 (Biaya tereduksi variabel basis)\n⋆⋆\n",
        "page": 514,
        "page_text_sha256": "42daa3702ce464c867b88520885db4d2b3dfa496389e76d3b29a49af5dcc9027"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 46,
        "content_sha256": "09bac3d4fa15ec7d1a47a5722a32f75505bdd71a000a1fed18fb7c0639e8d3b3",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch08.solutions-manual.manualsolution-007",
        "label": "exsol:8.7",
        "line_range": [
          308,
          308
        ],
        "native_record_sha256": "0c1f42b6826ec0d0486702a61bac9f13b9929d613ec18f3f8907316429b5c0b3",
        "normalized_character_range": [
          8713,
          8759
        ],
        "normalized_utf8_byte_range": [
          8713,
          8759
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch08.tex",
        "source_file": {
          "archive": "source",
          "bytes": 12946,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch08.tex",
          "sha256": "c19558f01e860afdf475157fda8af00ca3e5a08314cb188a5b3c9bc7046a7885"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          9896,
          11844
        ],
        "body_sha256": "22469587254ca81ccf739741327cd63e53377d71c038a4d43b343c196048226c",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          332,
          372
        ],
        "normalized_character_range": [
          9842,
          11844
        ],
        "sha256": "8382bb306f15ca3b476fde4e6f215c26ee0d7a8d9aad86705f817dd1a9209868"
      },
      "id": "unit.r017.book1.ch08.solutions-manual.manualsolution-008",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch08.text.ex-008",
      "reader": {
        "bbox": [
          54.000030517578125,
          70.83483123779297,
          558.0040283203125,
          88.16983032226562
        ],
        "heading_witness": "Latihan 8.8 (Tanda biaya tereduksi dan aturan masuk)\n⋆⋆\n",
        "page": 515,
        "page_text_sha256": "6e414a124a88b076759623105af2feefc235cbaae0636e89331fb05db74955ea"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 54,
        "content_sha256": "d3f44b0112f9d1ee6d178688c4f5b5ab73ad8d138d589b994ed49d589a1ea6e7",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch08.solutions-manual.manualsolution-008",
        "label": "exsol:8.8",
        "line_range": [
          332,
          332
        ],
        "native_record_sha256": "5b9d63b43c006b47e84c3e3f2d412c1d261967273d26bb821811a3717e7a4839",
        "normalized_character_range": [
          9842,
          9896
        ],
        "normalized_utf8_byte_range": [
          9842,
          9896
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch08.tex",
        "source_file": {
          "archive": "source",
          "bytes": 12946,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch08.tex",
          "sha256": "c19558f01e860afdf475157fda8af00ca3e5a08314cb188a5b3c9bc7046a7885"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          11926,
          12946
        ],
        "body_sha256": "bc7b28cb3a5005b8e24bd2297999a26a0bd5bfb5206411b64adb69ca369a57d2",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          372,
          397
        ],
        "normalized_character_range": [
          11844,
          12946
        ],
        "sha256": "bf997943b5b5f01b24fffed5adc65b42508821a99c3daa283796e9040a3eb17f"
      },
      "id": "unit.r017.book1.ch08.solutions-manual.manualsolution-009",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch08.text.ex-009",
      "reader": {
        "bbox": [
          53.999969482421875,
          473.4907531738281,
          557.9964599609375,
          487.8369445800781
        ],
        "heading_witness": "Latihan 8.9 (Biaya tereduksi yang negatif secara ketat menyiratkan optimum unik)\n",
        "page": 515,
        "page_text_sha256": "6e414a124a88b076759623105af2feefc235cbaae0636e89331fb05db74955ea"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 82,
        "content_sha256": "7773b591ae702df707d8f1ff89ed0c9768194716a4ec2fb6a78717134ed44526",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch08.solutions-manual.manualsolution-009",
        "label": "exsol:8.9",
        "line_range": [
          372,
          372
        ],
        "native_record_sha256": "c1e0f3f71e1aa55ff4c3bb26bfd8b0d146eeffd8a69c81a5b86ba12ddfd9224e",
        "normalized_character_range": [
          11844,
          11926
        ],
        "normalized_utf8_byte_range": [
          11844,
          11926
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch08.tex",
        "source_file": {
          "archive": "source",
          "bytes": 12946,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch08.tex",
          "sha256": "c19558f01e860afdf475157fda8af00ca3e5a08314cb188a5b3c9bc7046a7885"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          1527,
          2418
        ],
        "body_sha256": "230a9ab778e55379ee81e6efeffc469edc09906e5feaacd2d8f3c057561637aa",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          24,
          46
        ],
        "normalized_character_range": [
          1466,
          2418
        ],
        "sha256": "4e27cc6fb3ceb42835256c18530f131722a429bccd74e9d62115d4ac6aa6c951"
      },
      "id": "unit.r017.book1.ch09.solutions-manual.manualsolution-001",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch09.text.ex-001",
      "reader": {
        "bbox": [
          53.99998474121094,
          264.1920166015625,
          558.0039672851562,
          281.5270080566406
        ],
        "heading_witness": "Latihan 9.1 (Membaca tableau di tengah proses penyelesaian)\n⋆\n",
        "page": 516,
        "page_text_sha256": "ca58853d47e6ad47163186f58460bbe4d06c047c395e4b4ba294c3cb5edf2f9b"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 61,
        "content_sha256": "0897c7d4fcf8e9e23377ee98bd82cfcb9aa5d3641a30d951f713209fbb98bc22",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch09.solutions-manual.manualsolution-001",
        "label": "exsol:9.1",
        "line_range": [
          24,
          24
        ],
        "native_record_sha256": "d316a0197824724712bfad162299a1ce788e553dd92d2e4830860d75ca5b9aa7",
        "normalized_character_range": [
          1466,
          1527
        ],
        "normalized_utf8_byte_range": [
          1466,
          1527
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch09.tex",
        "source_file": {
          "archive": "source",
          "bytes": 15079,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch09.tex",
          "sha256": "f563b1aabe4d56830afbfb882e677d65ad890145c2a668d7dc31631d8baa7cb4"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          2449,
          3053
        ],
        "body_sha256": "6fc288a75d6457d2e1ba2c616fdb333be3b739a25a068e859fbfb4c1a648c928",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          46,
          60
        ],
        "normalized_character_range": [
          2418,
          3053
        ],
        "sha256": "30f1c693cabc8291b145ac2a7006b6b93332690ba117fe26acb74cb07c29fe68"
      },
      "id": "unit.r017.book1.ch09.solutions-manual.manualsolution-002",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch09.text.ex-002",
      "reader": {
        "bbox": [
          54.0,
          472.23681640625,
          558.00439453125,
          489.5718078613281
        ],
        "heading_witness": "Latihan 9.2 (Membaca tableau)\n⋆\n",
        "page": 516,
        "page_text_sha256": "ca58853d47e6ad47163186f58460bbe4d06c047c395e4b4ba294c3cb5edf2f9b"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 31,
        "content_sha256": "7b56a6ee87813b5a06ccaea0c2447ad45fe13fa142f62e24250b6eb0aa8dbbef",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch09.solutions-manual.manualsolution-002",
        "label": "exsol:9.2",
        "line_range": [
          46,
          46
        ],
        "native_record_sha256": "c7e647eca9483a01242d8b264c253675c2cafd3e2973c01bce6535c77ab0270a",
        "normalized_character_range": [
          2418,
          2449
        ],
        "normalized_utf8_byte_range": [
          2418,
          2449
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch09.tex",
        "source_file": {
          "archive": "source",
          "bytes": 15079,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch09.tex",
          "sha256": "f563b1aabe4d56830afbfb882e677d65ad890145c2a668d7dc31631d8baa7cb4"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          3112,
          3510
        ],
        "body_sha256": "18c8102321c0db5b87e729c15c25c34f3f271846a1e380c799f27034c3f9bc6c",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          60,
          71
        ],
        "normalized_character_range": [
          3053,
          3510
        ],
        "sha256": "f5f9cce7bbb9e5c45d1a897432af1ea205c527bcc98a2ed662e81db94e2ec4eb"
      },
      "id": "unit.r017.book1.ch09.solutions-manual.manualsolution-003",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch09.text.ex-003",
      "reader": {
        "bbox": [
          54.000030517578125,
          70.83483123779297,
          558.0016479492188,
          88.16983032226562
        ],
        "heading_witness": "Latihan 9.3 (Variabel masuk, uji rasio, dan elemen pivot)\n⋆\n",
        "page": 517,
        "page_text_sha256": "143ffeaad244de7fcf06aab19e2a4cb05c170b16a232a98e3219c5841e658381"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 59,
        "content_sha256": "cccb157cfca755c1979fabcbe8860d2be0ca3ba25952fed395fea0f52be50703",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch09.solutions-manual.manualsolution-003",
        "label": "exsol:9.3",
        "line_range": [
          60,
          60
        ],
        "native_record_sha256": "8bb5328f27700cfe56f202d9eba5a239ed4b6ec5b62a203ab71e7e5ccfd50e81",
        "normalized_character_range": [
          3053,
          3112
        ],
        "normalized_utf8_byte_range": [
          3053,
          3112
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch09.tex",
        "source_file": {
          "archive": "source",
          "bytes": 15079,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch09.tex",
          "sha256": "f563b1aabe4d56830afbfb882e677d65ad890145c2a668d7dc31631d8baa7cb4"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          3546,
          4696
        ],
        "body_sha256": "c7aaf59dec7ef27f136a5a90d1bc558f2bf4b83367d1c2674b74596ea61a1943",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          71,
          97
        ],
        "normalized_character_range": [
          3510,
          4696
        ],
        "sha256": "8c833eb06a9166d34b205a6c5e86d67e4c4b8c0045c51c90f17ab5a44e91c88c"
      },
      "id": "unit.r017.book1.ch09.solutions-manual.manualsolution-004",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch09.text.ex-004",
      "reader": {
        "bbox": [
          54.00003433227539,
          230.37779235839844,
          557.9971923828125,
          247.71279907226562
        ],
        "heading_witness": "Latihan 9.4 (Melakukan satu pivot)\n⋆⋆\n",
        "page": 517,
        "page_text_sha256": "143ffeaad244de7fcf06aab19e2a4cb05c170b16a232a98e3219c5841e658381"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 36,
        "content_sha256": "b8e7607059faabd7a5cf062e6e0e2bf9dab947e2ee0532749c2d24f66e2f6329",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch09.solutions-manual.manualsolution-004",
        "label": "exsol:9.4",
        "line_range": [
          71,
          71
        ],
        "native_record_sha256": "9d0ca14587a34833932b552283544957c694965eba068b09139fb8652c930389",
        "normalized_character_range": [
          3510,
          3546
        ],
        "normalized_utf8_byte_range": [
          3510,
          3546
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch09.tex",
        "source_file": {
          "archive": "source",
          "bytes": 15079,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch09.tex",
          "sha256": "f563b1aabe4d56830afbfb882e677d65ad890145c2a668d7dc31631d8baa7cb4"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          4761,
          6439
        ],
        "body_sha256": "fb807d08ec3571365bb6c2871856562507f2151730e0f527dfada6368cd0b7a1",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          97,
          145
        ],
        "normalized_character_range": [
          4696,
          6439
        ],
        "sha256": "409be987267865993708d3550d68f1f1e6033eb152aca76644f096a14d7c4691"
      },
      "id": "unit.r017.book1.ch09.solutions-manual.manualsolution-005",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch09.text.ex-005",
      "reader": {
        "bbox": [
          54.0,
          469.8768005371094,
          558.00634765625,
          487.2117919921875
        ],
        "heading_witness": "Latihan 9.5 (Menyelesaikan program linier dalam bentuk tableau)\n⋆⋆\n",
        "page": 517,
        "page_text_sha256": "143ffeaad244de7fcf06aab19e2a4cb05c170b16a232a98e3219c5841e658381"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 65,
        "content_sha256": "f717fd04a77d1b81aa416ede3b939b114270ad7afb371ecce7cb3ac4e3a5b1c9",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch09.solutions-manual.manualsolution-005",
        "label": "exsol:9.5",
        "line_range": [
          97,
          97
        ],
        "native_record_sha256": "b1cf81f23a3d14c319f60870d399f3edb874e59d59651206b1de2ae2c104d0d9",
        "normalized_character_range": [
          4696,
          4761
        ],
        "normalized_utf8_byte_range": [
          4696,
          4761
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch09.tex",
        "source_file": {
          "archive": "source",
          "bytes": 15079,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch09.tex",
          "sha256": "f563b1aabe4d56830afbfb882e677d65ad890145c2a668d7dc31631d8baa7cb4"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          6492,
          8145
        ],
        "body_sha256": "d3663345f7289a73ba031699404dc4a378905131e75331abe7198f1fc60fbde0",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          145,
          193
        ],
        "normalized_character_range": [
          6439,
          8145
        ],
        "sha256": "4818a1a27b4af4f5073c581afed223c175380bfdc2010ad54099f1d88cae7f46"
      },
      "id": "unit.r017.book1.ch09.solutions-manual.manualsolution-006",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch09.text.ex-006",
      "reader": {
        "bbox": [
          54.0,
          191.6307830810547,
          557.9993896484375,
          208.96578979492188
        ],
        "heading_witness": "Latihan 9.6 (Penyelesaian lengkap dengan dua pivot)\n⋆⋆\n",
        "page": 518,
        "page_text_sha256": "264af1270a30db7c34a92346965345ab5d17e8bd47a144cac2465ba791d76b88"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 53,
        "content_sha256": "ce2a5ae9fe5488327c8e410384a62a508703a9f79d96c73d4ea6348f8e1b456c",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch09.solutions-manual.manualsolution-006",
        "label": "exsol:9.6",
        "line_range": [
          145,
          145
        ],
        "native_record_sha256": "c4bae13c3ba036514ea0beb50f9f08f5dfa90d93227fd8bcaeb4a2df538c5304",
        "normalized_character_range": [
          6439,
          6492
        ],
        "normalized_utf8_byte_range": [
          6439,
          6492
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch09.tex",
        "source_file": {
          "archive": "source",
          "bytes": 15079,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch09.tex",
          "sha256": "f563b1aabe4d56830afbfb882e677d65ad890145c2a668d7dc31631d8baa7cb4"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          8183,
          9811
        ],
        "body_sha256": "3eaf49ec3c43938f5309c79bd4559418fa9c0fbc1a3cbd3b26ef04cdbd5fe5d5",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          193,
          238
        ],
        "normalized_character_range": [
          8145,
          9811
        ],
        "sha256": "058fe332edc0220e5fec22ffa1f8c28ec92749cf6b9f945e1af5e7a46747ca23"
      },
      "id": "unit.r017.book1.ch09.solutions-manual.manualsolution-007",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch09.text.ex-007",
      "reader": {
        "bbox": [
          54.00003433227539,
          583.52880859375,
          557.9971313476562,
          600.86376953125
        ],
        "heading_witness": "Latihan 9.7 (Menyusun tableau Big-M)\n⋆⋆\n",
        "page": 518,
        "page_text_sha256": "264af1270a30db7c34a92346965345ab5d17e8bd47a144cac2465ba791d76b88"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 38,
        "content_sha256": "e34dac2193a7bf958ec80a52c15f2dd5c14a30d8c6be7cf7fa8bc9f982c7ee12",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch09.solutions-manual.manualsolution-007",
        "label": "exsol:9.7",
        "line_range": [
          193,
          193
        ],
        "native_record_sha256": "12a70f3ffb7d388803f36d9d52754f7fa111c4d5d07d257bad657f15dd0f7eed",
        "normalized_character_range": [
          8145,
          8183
        ],
        "normalized_utf8_byte_range": [
          8145,
          8183
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch09.tex",
        "source_file": {
          "archive": "source",
          "bytes": 15079,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch09.tex",
          "sha256": "f563b1aabe4d56830afbfb882e677d65ad890145c2a668d7dc31631d8baa7cb4"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          9856,
          11196
        ],
        "body_sha256": "8cf1e1bb53e17edf3a05a59cb5ca38ceab32da44e6f25aa59b7db5436d20f4cf",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          238,
          268
        ],
        "normalized_character_range": [
          9811,
          11196
        ],
        "sha256": "fda9ec9924d060d403e481a3402f370215dbc0b00d8728630499e72300bd0d42"
      },
      "id": "unit.r017.book1.ch09.solutions-manual.manualsolution-008",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch09.text.ex-008",
      "reader": {
        "bbox": [
          53.99996566772461,
          342.8977966308594,
          557.99462890625,
          360.4598083496094
        ],
        "heading_witness": "Latihan 9.8 (Konvensi tanda pada baris z)\n⋆⋆\n",
        "page": 519,
        "page_text_sha256": "2dd41163d81c683620163a460447aff9684225bb185ede62ad0547d567999a46"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 45,
        "content_sha256": "b63e26620782bd93af3fa2fa60e8676762847782bfbf801d7ed13e8cc5ab36ca",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch09.solutions-manual.manualsolution-008",
        "label": "exsol:9.8",
        "line_range": [
          238,
          238
        ],
        "native_record_sha256": "10d2746af7cf0a45b8de9e13b314a5ac06b0027892a84724c88b3010e5ed67f0",
        "normalized_character_range": [
          9811,
          9856
        ],
        "normalized_utf8_byte_range": [
          9811,
          9856
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch09.tex",
        "source_file": {
          "archive": "source",
          "bytes": 15079,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch09.tex",
          "sha256": "f563b1aabe4d56830afbfb882e677d65ad890145c2a668d7dc31631d8baa7cb4"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          11233,
          11909
        ],
        "body_sha256": "6d4e2457ebaba1da5a9d26a9110338beed44b1092d7e18f4d7124ce3972aed78",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          268,
          287
        ],
        "normalized_character_range": [
          11196,
          11909
        ],
        "sha256": "fe153f5fbf0276e557cb342fc84c3f090383a7b1376d01ec3a7b4f6deff639d4"
      },
      "id": "unit.r017.book1.ch09.solutions-manual.manualsolution-009",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch09.text.ex-009",
      "reader": {
        "bbox": [
          53.999996185302734,
          70.83483123779297,
          557.9971923828125,
          88.16983032226562
        ],
        "heading_witness": "Latihan 9.9 (Dari tableau ke kamus)\n⋆⋆\n",
        "page": 520,
        "page_text_sha256": "d6401cb7557564671cf0cf9343ffc39323b9c8c1fe0feaf7f39f8dd5c3025470"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 37,
        "content_sha256": "25e4ed25bea2ba385151ebaa0c14ea113540e686c7be31c16bb40ea3b053fec8",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch09.solutions-manual.manualsolution-009",
        "label": "exsol:9.9",
        "line_range": [
          268,
          268
        ],
        "native_record_sha256": "6be3b1361b8258d6b8a5424a9a395a5d2e79d5d0f453a9de70865eaa41e5b1ce",
        "normalized_character_range": [
          11196,
          11233
        ],
        "normalized_utf8_byte_range": [
          11196,
          11233
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch09.tex",
        "source_file": {
          "archive": "source",
          "bytes": 15079,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch09.tex",
          "sha256": "f563b1aabe4d56830afbfb882e677d65ad890145c2a668d7dc31631d8baa7cb4"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          11956,
          12624
        ],
        "body_sha256": "67d5fe512b33d7657e7922e9116329c33d530d7c66f82aeafaf20a2bf1b2f660",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          287,
          299
        ],
        "normalized_character_range": [
          11909,
          12624
        ],
        "sha256": "98940691ff55cca6870e2297ff3b2464f392f9b0938c53fde7185bb6fd65285f"
      },
      "id": "unit.r017.book1.ch09.solutions-manual.manualsolution-010",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch09.text.ex-010",
      "reader": {
        "bbox": [
          53.9998779296875,
          300.6098327636719,
          557.9945068359375,
          317.94482421875
        ],
        "heading_witness": "Latihan 9.10 (Mengenali masalah tak terbatas)\n⋆⋆\n",
        "page": 520,
        "page_text_sha256": "d6401cb7557564671cf0cf9343ffc39323b9c8c1fe0feaf7f39f8dd5c3025470"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 47,
        "content_sha256": "5d4fe9bcce42df825b6c33e664a5c4f916f777ff9b612694213fba544a43dfeb",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch09.solutions-manual.manualsolution-010",
        "label": "exsol:9.10",
        "line_range": [
          287,
          287
        ],
        "native_record_sha256": "111f55c09e974cbe7082d800eade4211ae6ff03faa1fdf1d866e07928c677429",
        "normalized_character_range": [
          11909,
          11956
        ],
        "normalized_utf8_byte_range": [
          11909,
          11956
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch09.tex",
        "source_file": {
          "archive": "source",
          "bytes": 15079,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch09.tex",
          "sha256": "f563b1aabe4d56830afbfb882e677d65ad890145c2a668d7dc31631d8baa7cb4"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          12661,
          13576
        ],
        "body_sha256": "15988596f5a9bbef6646a022f3387c9f4fca9c2a592983c58ad441523184009d",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          299,
          316
        ],
        "normalized_character_range": [
          12624,
          13576
        ],
        "sha256": "49828890498415772b0f54d172bcb534e292a3f798eaf9d83b7e68d356878fcb"
      },
      "id": "unit.r017.book1.ch09.solutions-manual.manualsolution-011",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch09.text.ex-011",
      "reader": {
        "bbox": [
          54.00001907348633,
          439.2408142089844,
          557.9971313476562,
          456.5758056640625
        ],
        "heading_witness": "Latihan 9.11 (Membaca ketaklayakan)\n⋆⋆\n",
        "page": 520,
        "page_text_sha256": "d6401cb7557564671cf0cf9343ffc39323b9c8c1fe0feaf7f39f8dd5c3025470"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 37,
        "content_sha256": "c84ba9426f786437417fb902bbe5a99c201b8d29422e55437af9b17891d08953",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch09.solutions-manual.manualsolution-011",
        "label": "exsol:9.11",
        "line_range": [
          299,
          299
        ],
        "native_record_sha256": "cce7d4e1e73f49231020d7978d05b7b40b2b6ac25b01355cdbd7db7e8b5d7693",
        "normalized_character_range": [
          12624,
          12661
        ],
        "normalized_utf8_byte_range": [
          12624,
          12661
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch09.tex",
        "source_file": {
          "archive": "source",
          "bytes": 15079,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch09.tex",
          "sha256": "f563b1aabe4d56830afbfb882e677d65ad890145c2a668d7dc31631d8baa7cb4"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          13636,
          15079
        ],
        "body_sha256": "4b674c683620f5573929a4228992a70cd1d7a89c06215da41e38028d053b9c72",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          316,
          349
        ],
        "normalized_character_range": [
          13576,
          15079
        ],
        "sha256": "6f116340fff425cf698010d5938b09e56cd79f593bf9e672913ad66a22948059"
      },
      "id": "unit.r017.book1.ch09.solutions-manual.manualsolution-012",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch09.text.ex-012",
      "reader": {
        "bbox": [
          54.000030517578125,
          70.83483123779297,
          557.9992065429688,
          88.16983032226562
        ],
        "heading_witness": "Latihan 9.12 (Menyertifikasi ketakterbatasan dari tableau)\n⋆⋆⋆\n",
        "page": 521,
        "page_text_sha256": "6561f4e986b8e4198e919ce4cc7cd66fa28b140fbb76d352a660dbb9388a5df7"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 60,
        "content_sha256": "c8ea55e59f4ef038ceb132c5f6a9a84f5d57a0cbab6fb04e5feea28c45925573",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch09.solutions-manual.manualsolution-012",
        "label": "exsol:9.12",
        "line_range": [
          316,
          316
        ],
        "native_record_sha256": "f902e88c723ce6206b0a0c6846a6e270923acddd5b36abdc92567977e84b41f3",
        "normalized_character_range": [
          13576,
          13636
        ],
        "normalized_utf8_byte_range": [
          13576,
          13636
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch09.tex",
        "source_file": {
          "archive": "source",
          "bytes": 15079,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch09.tex",
          "sha256": "f563b1aabe4d56830afbfb882e677d65ad890145c2a668d7dc31631d8baa7cb4"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          1506,
          2995
        ],
        "body_sha256": "d980844946d1387ba6b0b7a843ff671c4d49e65dd5c71f9bc1d80f71ae14f411",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          12,
          34
        ],
        "normalized_character_range": [
          1458,
          2995
        ],
        "sha256": "1b948e6f1566e2e255cb6fa01ef83654b0e9f647f55d13bb7f63e79e3968f58e"
      },
      "id": "unit.r017.book1.ch10.solutions-manual.manualsolution-001",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch10.text.ex-001",
      "reader": {
        "bbox": [
          54.0,
          581.7017822265625,
          557.9993286132812,
          599.0367431640625
        ],
        "heading_witness": "Latihan 10.1 (Harga Bayangan dari Kamus Akhir)\n⋆\n",
        "page": 521,
        "page_text_sha256": "6561f4e986b8e4198e919ce4cc7cd66fa28b140fbb76d352a660dbb9388a5df7"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 48,
        "content_sha256": "e5325dc5249b6d32b7d40f26053f71fe48a369bd98f17301574731d1c0e8f2f9",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch10.solutions-manual.manualsolution-001",
        "label": "exsol:10.1",
        "line_range": [
          12,
          12
        ],
        "native_record_sha256": "70a2679b75ab60afb88014bedf3988d46c1ef541263976addfb80f53e8f6cf36",
        "normalized_character_range": [
          1458,
          1506
        ],
        "normalized_utf8_byte_range": [
          1458,
          1506
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch10.tex",
        "source_file": {
          "archive": "source",
          "bytes": 22264,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch10.tex",
          "sha256": "6abe9524a7052068e1d5931356d43f24ec5fde441af4080a347124e1088b6ca5"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          3043,
          4895
        ],
        "body_sha256": "576c7d0a1e2103c2154544150066e9f31c354a25dff7ba50877d7ad56035d9bf",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          34,
          72
        ],
        "normalized_character_range": [
          2995,
          4895
        ],
        "sha256": "67dc7fac138e97c5ba9c856bc46594f98f3a907c1e0c2bddf5b406ee8e882b62"
      },
      "id": "unit.r017.book1.ch10.solutions-manual.manualsolution-002",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch10.text.ex-002",
      "reader": {
        "bbox": [
          54.0,
          234.9149627685547,
          558.0017700195312,
          252.24996948242188
        ],
        "heading_witness": "Latihan 10.2 (Rentang Sensitivitas Ruas Kanan)\n⋆\n",
        "page": 522,
        "page_text_sha256": "8a55fa75a911b21e339a22c5091d3e74d4ca569aaf15b01a45bf0a6c6c4c8972"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 48,
        "content_sha256": "cc77bb02033782614cb82e131d26023ca6a4d988b6eaf5731710bcbeab7ef8f1",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch10.solutions-manual.manualsolution-002",
        "label": "exsol:10.2",
        "line_range": [
          34,
          34
        ],
        "native_record_sha256": "9a399c945f644f48ed910e6386b22498a3e9888d9410ee64120e6060f84ce81a",
        "normalized_character_range": [
          2995,
          3043
        ],
        "normalized_utf8_byte_range": [
          2995,
          3043
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch10.tex",
        "source_file": {
          "archive": "source",
          "bytes": 22264,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch10.tex",
          "sha256": "6abe9524a7052068e1d5931356d43f24ec5fde441af4080a347124e1088b6ca5"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          4943,
          6113
        ],
        "body_sha256": "fb622c199c35e43bf1177a2e8549b1a68d4108101d5c8dd684e2786134186526",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          72,
          100
        ],
        "normalized_character_range": [
          4895,
          6113
        ],
        "sha256": "355749390cb33ab5e058256999b0fddcefa4addfdc1ef86ecb836f0702f4cd49"
      },
      "id": "unit.r017.book1.ch10.solutions-manual.manualsolution-003",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch10.text.ex-003",
      "reader": {
        "bbox": [
          54.000030517578125,
          70.83483123779297,
          557.9970703125,
          88.16983032226562
        ],
        "heading_witness": "Latihan 10.3 (Sensitivitas Koefisien Objektif)\n⋆⋆\n",
        "page": 523,
        "page_text_sha256": "851f97be4f07e3e2a569d63a2b94a8d434cb845300e833d2133483fba44896da"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 48,
        "content_sha256": "334698918d6aa8d07b25b2d5b713a0dc4eb6830beabdb5d83efb9f2c8ed62cae",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch10.solutions-manual.manualsolution-003",
        "label": "exsol:10.3",
        "line_range": [
          72,
          72
        ],
        "native_record_sha256": "f76c15b81dcf416e8c05e28cff1ceeacb9b7a33e188d3699cc4a802ee573e43e",
        "normalized_character_range": [
          4895,
          4943
        ],
        "normalized_utf8_byte_range": [
          4895,
          4943
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch10.tex",
        "source_file": {
          "archive": "source",
          "bytes": 22264,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch10.tex",
          "sha256": "6abe9524a7052068e1d5931356d43f24ec5fde441af4080a347124e1088b6ca5"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          6159,
          7812
        ],
        "body_sha256": "c69643d4173420f58dc4c568652fb3b3739c8ca8c209bea27b356852d137b1a2",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          100,
          119
        ],
        "normalized_character_range": [
          6113,
          7812
        ],
        "sha256": "72f7ada3da31b8f8f2da15112b343ce8a1aad083a6032a87916d58962742397f"
      },
      "id": "unit.r017.book1.ch10.solutions-manual.manualsolution-004",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch10.text.ex-004",
      "reader": {
        "bbox": [
          54.000030517578125,
          393.8487854003906,
          558.0042724609375,
          411.18377685546875
        ],
        "heading_witness": "Latihan 10.4 (Analisis Sensitivitas Lengkap)\n⋆⋆\n",
        "page": 523,
        "page_text_sha256": "851f97be4f07e3e2a569d63a2b94a8d434cb845300e833d2133483fba44896da"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 46,
        "content_sha256": "f55759b6269a50c860a1c18728cfd4df4148cced919365bd8b986a916ee2998c",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch10.solutions-manual.manualsolution-004",
        "label": "exsol:10.4",
        "line_range": [
          100,
          100
        ],
        "native_record_sha256": "1b6cd53177d55251684eeda12155520a0c8a13adc73a52be0a0898f903ef9b58",
        "normalized_character_range": [
          6113,
          6159
        ],
        "normalized_utf8_byte_range": [
          6113,
          6159
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch10.tex",
        "source_file": {
          "archive": "source",
          "bytes": 22264,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch10.tex",
          "sha256": "6abe9524a7052068e1d5931356d43f24ec5fde441af4080a347124e1088b6ca5"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          7876,
          10768
        ],
        "body_sha256": "5ece77314260dbcd43bf92e8105315cf0f861ec8656fe8784922ab1c10e05cf4",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          119,
          160
        ],
        "normalized_character_range": [
          7812,
          10768
        ],
        "sha256": "e3ac838562664d14a211bd79ad800afc221e157049d37d17f0880a8000f71db6"
      },
      "id": "unit.r017.book1.ch10.solutions-manual.manualsolution-005",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch10.text.ex-005",
      "reader": {
        "bbox": [
          53.999996185302734,
          70.83483123779297,
          557.9990844726562,
          88.16983032226562
        ],
        "heading_witness": "Latihan 10.5 (Menentukan Rentang Koefisien Basis dan Nonbasis)\n⋆⋆\n",
        "page": 524,
        "page_text_sha256": "b802019d675343ffb2826fea51f2ed6dbbbc03155d464860aafc9c5ee96eaa94"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 64,
        "content_sha256": "bd92d176cf9ef5b86cc26e737cd564ca7055e9c4e791662af4d07e8b16a01a9d",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch10.solutions-manual.manualsolution-005",
        "label": "exsol:10.5",
        "line_range": [
          119,
          119
        ],
        "native_record_sha256": "36468bc035b04024a13a75c182668840e7b57e43441c4a6e3058ca38f24a0d32",
        "normalized_character_range": [
          7812,
          7876
        ],
        "normalized_utf8_byte_range": [
          7812,
          7876
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch10.tex",
        "source_file": {
          "archive": "source",
          "bytes": 22264,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch10.tex",
          "sha256": "6abe9524a7052068e1d5931356d43f24ec5fde441af4080a347124e1088b6ca5"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          10815,
          12806
        ],
        "body_sha256": "acfac3efeb5756f7f885ab22bb0fae297e7f25b4f45f33221d482869df8b74be",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          160,
          191
        ],
        "normalized_character_range": [
          10768,
          12806
        ],
        "sha256": "cacfef8bb4dee6e66e37fb734d94181e7b694d7978c4226affe1ff10a09c9923"
      },
      "id": "unit.r017.book1.ch10.solutions-manual.manualsolution-006",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch10.text.ex-006",
      "reader": {
        "bbox": [
          54.000030517578125,
          70.83483123779297,
          558.0018310546875,
          88.16983032226562
        ],
        "heading_witness": "Latihan 10.6 (Sensitivitas dari Invers Basis)\n⋆⋆\n",
        "page": 525,
        "page_text_sha256": "2fcf0602f8080bccabdfc7042eb43295c9e988cb96c96e7475e61768af680296"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 47,
        "content_sha256": "f94ddf9c1885415ef646a72df00f8d1447b851297ef8d07ff382d7da2cde6879",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch10.solutions-manual.manualsolution-006",
        "label": "exsol:10.6",
        "line_range": [
          160,
          160
        ],
        "native_record_sha256": "b1ff5a69cee0b4fa5c6467c827bb0348eb27bfc64750a800d3ee39a525cdbf6a",
        "normalized_character_range": [
          10768,
          10815
        ],
        "normalized_utf8_byte_range": [
          10768,
          10815
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch10.tex",
        "source_file": {
          "archive": "source",
          "bytes": 22264,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch10.tex",
          "sha256": "6abe9524a7052068e1d5931356d43f24ec5fde441af4080a347124e1088b6ca5"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          12851,
          13842
        ],
        "body_sha256": "40e2fc98ecc05a6c065e99887d78210dadc79207e5af0e157ca064d31d2ed964",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          191,
          207
        ],
        "normalized_character_range": [
          12806,
          13842
        ],
        "sha256": "5ee081dece81cdea04b8f48fd750bcd8ce52d686ee98683b9c8dd5ad3783fd72"
      },
      "id": "unit.r017.book1.ch10.solutions-manual.manualsolution-007",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch10.text.ex-007",
      "reader": {
        "bbox": [
          53.999969482421875,
          500.39678955078125,
          558.004150390625,
          517.7318115234375
        ],
        "heading_witness": "Latihan 10.7 (Membaca Laporan Sensitivitas)\n⋆⋆\n",
        "page": 525,
        "page_text_sha256": "2fcf0602f8080bccabdfc7042eb43295c9e988cb96c96e7475e61768af680296"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 45,
        "content_sha256": "df542362eb740328bc13c28b7705276b7d80db2738f8e6e91ffa1fc66278f443",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch10.solutions-manual.manualsolution-007",
        "label": "exsol:10.7",
        "line_range": [
          191,
          191
        ],
        "native_record_sha256": "80f541ad157f9379d5fc85db92f8631fea757d2fb8542e25782c8877c499bc88",
        "normalized_character_range": [
          12806,
          12851
        ],
        "normalized_utf8_byte_range": [
          12806,
          12851
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch10.tex",
        "source_file": {
          "archive": "source",
          "bytes": 22264,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch10.tex",
          "sha256": "6abe9524a7052068e1d5931356d43f24ec5fde441af4080a347124e1088b6ca5"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          13884,
          15333
        ],
        "body_sha256": "636e9d17a7f5d42545e0f00162bab318ab220f3199414c789461ab7620ecc22a",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          207,
          222
        ],
        "normalized_character_range": [
          13842,
          15333
        ],
        "sha256": "ae5dc351e636c24de573da2c95072edf72fbb9174815a03925aba7c45e9c2e57"
      },
      "id": "unit.r017.book1.ch10.solutions-manual.manualsolution-008",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch10.text.ex-008",
      "reader": {
        "bbox": [
          53.999996185302734,
          70.83483123779297,
          558.0018310546875,
          88.16983032226562
        ],
        "heading_witness": "Latihan 10.8 (Penafsiran Harga Bayangan)\n⋆⋆\n",
        "page": 526,
        "page_text_sha256": "8edc9d6e9f8d3f1c4d44d8f4e90cb97c5af7a810f03682367e888f8e77f043eb"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 42,
        "content_sha256": "f50c921801f7dfd16d764be5738e942b470419a036fe15f610ea77f22572b9ba",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch10.solutions-manual.manualsolution-008",
        "label": "exsol:10.8",
        "line_range": [
          207,
          207
        ],
        "native_record_sha256": "65ddefe188d2f60a93afe19d06e2dd29f0d211e62600db5cae6547f5d3de5866",
        "normalized_character_range": [
          13842,
          13884
        ],
        "normalized_utf8_byte_range": [
          13842,
          13884
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch10.tex",
        "source_file": {
          "archive": "source",
          "bytes": 22264,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch10.tex",
          "sha256": "6abe9524a7052068e1d5931356d43f24ec5fde441af4080a347124e1088b6ca5"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          15387,
          16929
        ],
        "body_sha256": "e0c500d4f61aee5038167145a0f5dc448a3c1916d2b20619ae2506f6a6cbd12a",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          222,
          230
        ],
        "normalized_character_range": [
          15333,
          16929
        ],
        "sha256": "4d50f6f5872001a7ba2acbb5e0a18261ca73e67a0711e5fd6b383c4c4857944a"
      },
      "id": "unit.r017.book1.ch10.solutions-manual.manualsolution-009",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch10.text.ex-009",
      "reader": {
        "bbox": [
          54.0,
          345.97802734375,
          557.9945068359375,
          363.3130187988281
        ],
        "heading_witness": "Latihan 10.9 (Mengapa Kendala Berslack Berharga Nol)\n⋆⋆\n",
        "page": 526,
        "page_text_sha256": "8edc9d6e9f8d3f1c4d44d8f4e90cb97c5af7a810f03682367e888f8e77f043eb"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 54,
        "content_sha256": "998faea8b48366739d95f53799ab8e182be8bfa936ef4e8fceba7d529689a09c",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch10.solutions-manual.manualsolution-009",
        "label": "exsol:10.9",
        "line_range": [
          222,
          222
        ],
        "native_record_sha256": "572203950ed9baac41e5d54a509c6d080a6acb22041a4a37bfe9d87627bda762",
        "normalized_character_range": [
          15333,
          15387
        ],
        "normalized_utf8_byte_range": [
          15333,
          15387
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch10.tex",
        "source_file": {
          "archive": "source",
          "bytes": 22264,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch10.tex",
          "sha256": "6abe9524a7052068e1d5931356d43f24ec5fde441af4080a347124e1088b6ca5"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          16970,
          18716
        ],
        "body_sha256": "7e614deed3ce78c1088428b636ecb77115cd049ee878e2aaf8c8c7e884934ede",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          230,
          239
        ],
        "normalized_character_range": [
          16929,
          18716
        ],
        "sha256": "670757653db6d9eb8721c3ed1c3bd776c6c06a46473e2c5086f5de8c75a86a17"
      },
      "id": "unit.r017.book1.ch10.solutions-manual.manualsolution-010",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch10.text.ex-010",
      "reader": {
        "bbox": [
          54.00004577636719,
          605.9537963867188,
          558.0018920898438,
          623.288818359375
        ],
        "heading_witness": "Latihan 10.10 (Mengapa Rentang Itu Ada)\n⋆⋆\n",
        "page": 526,
        "page_text_sha256": "8edc9d6e9f8d3f1c4d44d8f4e90cb97c5af7a810f03682367e888f8e77f043eb"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 41,
        "content_sha256": "bda3ef6b7ddb45c717fe9fd1b54a9cab9383d65724bfaff5ebca910637847d62",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch10.solutions-manual.manualsolution-010",
        "label": "exsol:10.10",
        "line_range": [
          230,
          230
        ],
        "native_record_sha256": "a4c441c57c76e0fe4931b2addf4bce37b61d9381dbafb306d5ab6bd52986d5b5",
        "normalized_character_range": [
          16929,
          16970
        ],
        "normalized_utf8_byte_range": [
          16929,
          16970
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch10.tex",
        "source_file": {
          "archive": "source",
          "bytes": 22264,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch10.tex",
          "sha256": "6abe9524a7052068e1d5931356d43f24ec5fde441af4080a347124e1088b6ca5"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          18770,
          20906
        ],
        "body_sha256": "fa8b1be773300f699988e6e7112f38dcaa4f8c549f90aae9fa5278c84c02c406",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          239,
          254
        ],
        "normalized_character_range": [
          18716,
          20906
        ],
        "sha256": "631971cef45fef2d3dc6eead0f3387d7f1f2cf97f16cd6b316c36be1dcc231cf"
      },
      "id": "unit.r017.book1.ch10.solutions-manual.manualsolution-011",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch10.text.ex-011",
      "reader": {
        "bbox": [
          53.99998474121094,
          250.0829315185547,
          558.0016479492188,
          267.4179382324219
        ],
        "heading_witness": "Latihan 10.11 (Ketika Prediksi Harga Bayangan Gagal)\n⋆⋆\n",
        "page": 527,
        "page_text_sha256": "cd938b72008af2f81030e43c5e7b56d2ccc053d4cb3e04f88e7ba038ebb63c8b"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 54,
        "content_sha256": "fc62d308fcf160b80bccdf4d6c86a4d57261fbff7215c0dc1699cb46a3042c12",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch10.solutions-manual.manualsolution-011",
        "label": "exsol:10.11",
        "line_range": [
          239,
          239
        ],
        "native_record_sha256": "2444c6b1536a2256ea28a66a7027a303203979ce88a2f03f0da3a768bab4dfa9",
        "normalized_character_range": [
          18716,
          18770
        ],
        "normalized_utf8_byte_range": [
          18716,
          18770
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch10.tex",
        "source_file": {
          "archive": "source",
          "bytes": 22264,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch10.tex",
          "sha256": "6abe9524a7052068e1d5931356d43f24ec5fde441af4080a347124e1088b6ca5"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          20941,
          22264
        ],
        "body_sha256": "9c7f714befe3f1eedaea22ae525e27b8c31b7d031e3d9e6694c02b5b78b2d1ea",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          254,
          261
        ],
        "normalized_character_range": [
          20906,
          22264
        ],
        "sha256": "ae7b027bf30fb7539ca103ff222a3643d786c844fcedef3034b4ef5964451f76"
      },
      "id": "unit.r017.book1.ch10.solutions-manual.manualsolution-012",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch10.text.ex-012",
      "reader": {
        "bbox": [
          53.999996185302734,
          70.83483123779297,
          557.9971313476562,
          88.16983032226562
        ],
        "heading_witness": "Latihan 10.12 (Melampaui Rentang)\n⋆⋆⋆\n",
        "page": 528,
        "page_text_sha256": "9ba992d2fc56549367059da65ad4670e1a83c0f9cba1441bddb40b7baf1db4ad"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 35,
        "content_sha256": "29d2765ca34a146454d68595484f82e5dc70528c3d1c1e60c294c61aa3ee915a",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch10.solutions-manual.manualsolution-012",
        "label": "exsol:10.12",
        "line_range": [
          254,
          254
        ],
        "native_record_sha256": "13be276f0945e55e9bac4575d4947a59a48a6dc9a6c57d55ac7ec5fa7243ce87",
        "normalized_character_range": [
          20906,
          20941
        ],
        "normalized_utf8_byte_range": [
          20906,
          20941
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch10.tex",
        "source_file": {
          "archive": "source",
          "bytes": 22264,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch10.tex",
          "sha256": "6abe9524a7052068e1d5931356d43f24ec5fde441af4080a347124e1088b6ca5"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          3448,
          5047
        ],
        "body_sha256": "d75114848616d131398aede69dfa87618bfdf40d7b2f39454063dfe1ab83f3c2",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          23,
          44
        ],
        "normalized_character_range": [
          3403,
          5047
        ],
        "sha256": "b6e15c4223c9a0e60f174e4773ee8185473dfef1bb324d23abb6a6188d30b89d"
      },
      "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-001",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch11.text-a.ex-001",
      "reader": {
        "bbox": [
          54.0,
          415.5118103027344,
          557.9994506835938,
          432.8468017578125
        ],
        "heading_witness": "Latihan 11.1 (Masalah Dual Toko Roti Kecil)\n⋆\n",
        "page": 529,
        "page_text_sha256": "8da5800e612facccec133cc1a01a28970785753f99827e0abdf16d9162a5b4eb"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 45,
        "content_sha256": "990839350ace085913d575dbadad2f071d28f14f51af50e907d8ecc2081cb490",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-001",
        "label": "exsol:11.1",
        "line_range": [
          23,
          23
        ],
        "native_record_sha256": "977b049747133d660bb560479087def03153e1dd7e4d16ef21733f2a272c0268",
        "normalized_character_range": [
          3403,
          3448
        ],
        "normalized_utf8_byte_range": [
          3403,
          3448
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
        "source_file": {
          "archive": "source",
          "bytes": 34607,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
          "sha256": "6688bdb15e34fba8f412815979df92494ff9018d15f4c8b8661e0ada9b607d2d"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          5085,
          5666
        ],
        "body_sha256": "55b20e2a72cdab508580d33f624ee2450b688f05ee85b1e7556b82372e7ad70c",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          44,
          58
        ],
        "normalized_character_range": [
          5047,
          5666
        ],
        "sha256": "c79821caf7de1367f52f9eeaf75e0ef30c289fad50ffd9277a82c576d2321d3a"
      },
      "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-002",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch11.text-a.ex-002",
      "reader": {
        "bbox": [
          53.999996185302734,
          98.40081024169922,
          557.99951171875,
          115.73580932617188
        ],
        "heading_witness": "Latihan 11.2 (Rumuskan Masalah Dual)\n⋆\n",
        "page": 530,
        "page_text_sha256": "3f309062896ffb1c8839755ed1dce79a4504b5c49b583d1ecdac5ec45814b894"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 38,
        "content_sha256": "7a32d1a7b0fa94165f56e0419cd153bb33261fbe2a8fef3351980c027ae90c7c",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-002",
        "label": "exsol:11.2",
        "line_range": [
          44,
          44
        ],
        "native_record_sha256": "792bb60c67a3dc06b30eee664141f5ac58ff255d92196b0287a0755bbe5c318f",
        "normalized_character_range": [
          5047,
          5085
        ],
        "normalized_utf8_byte_range": [
          5047,
          5085
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
        "source_file": {
          "archive": "source",
          "bytes": 34607,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
          "sha256": "6688bdb15e34fba8f412815979df92494ff9018d15f4c8b8661e0ada9b607d2d"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          5711,
          6696
        ],
        "body_sha256": "fdcdc1e631fbfc72a1becdce4a7e91e52126e47d9ffde11ddd3d95e7e3c25023",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          58,
          73
        ],
        "normalized_character_range": [
          5666,
          6696
        ],
        "sha256": "0c746b4076fa4c93eac7b28b20e8e93725423c3c0e1f821c931658ad4d8e64f6"
      },
      "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-003",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch11.text-a.ex-003",
      "reader": {
        "bbox": [
          54.0,
          293.4407958984375,
          558.0017700195312,
          310.7757873535156
        ],
        "heading_witness": "Latihan 11.3 (Memverifikasi Dualitas Lemah)\n⋆\n",
        "page": 530,
        "page_text_sha256": "3f309062896ffb1c8839755ed1dce79a4504b5c49b583d1ecdac5ec45814b894"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 45,
        "content_sha256": "2ba380e98d9a8c6088c062e7b5ff71865384937d4fd644ab447b563cfad27f8b",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-003",
        "label": "exsol:11.3",
        "line_range": [
          58,
          58
        ],
        "native_record_sha256": "3dcc8226093647c5e991049b4a943e27f729efdd0956f1438805c50b111526c3",
        "normalized_character_range": [
          5666,
          5711
        ],
        "normalized_utf8_byte_range": [
          5666,
          5711
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
        "source_file": {
          "archive": "source",
          "bytes": 34607,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
          "sha256": "6688bdb15e34fba8f412815979df92494ff9018d15f4c8b8661e0ada9b607d2d"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          6733,
          7643
        ],
        "body_sha256": "a8b01a1a5ff24ed2304d68c402cac4b15547d2c949b2dac367aa144d4a4e8f27",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          73,
          83
        ],
        "normalized_character_range": [
          6696,
          7643
        ],
        "sha256": "ef8d38a21fc8b8c934d0ecf65e82eff76b7249e9cccfddb07011a30e5fd5de27"
      },
      "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-004",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch11.text-a.ex-004",
      "reader": {
        "bbox": [
          53.99986267089844,
          516.65478515625,
          557.9970092773438,
          533.98974609375
        ],
        "heading_witness": "Latihan 11.4 (Batas Dualitas Lemah)\n⋆⋆\n",
        "page": 530,
        "page_text_sha256": "3f309062896ffb1c8839755ed1dce79a4504b5c49b583d1ecdac5ec45814b894"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 37,
        "content_sha256": "ffe9ff43e998568f0a5d783cbe4401b1648a60a742a3f1beacb851b98e052c67",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-004",
        "label": "exsol:11.4",
        "line_range": [
          73,
          73
        ],
        "native_record_sha256": "2dd37b6e555c704e74fd5bcbdfb88fe4f2d191febb9e3fd6021bc24144195317",
        "normalized_character_range": [
          6696,
          6733
        ],
        "normalized_utf8_byte_range": [
          6696,
          6733
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
        "source_file": {
          "archive": "source",
          "bytes": 34607,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
          "sha256": "6688bdb15e34fba8f412815979df92494ff9018d15f4c8b8661e0ada9b607d2d"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          7696,
          9086
        ],
        "body_sha256": "e379d4cb5cb442f9663e341eab9a942e5790a11265fa1792e38f781e08f42de6",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          83,
          101
        ],
        "normalized_character_range": [
          7643,
          9086
        ],
        "sha256": "91ee5c8c63f5b34ce3b3c7e2a17d00ce4dc76aa8411886016df94200317314a8"
      },
      "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-005",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch11.text-a.ex-005",
      "reader": {
        "bbox": [
          54.000030517578125,
          70.83483123779297,
          557.9945068359375,
          88.16983032226562
        ],
        "heading_witness": "Latihan 11.5 (Masalah Dual dengan Kendala Campuran)\n⋆⋆\n",
        "page": 531,
        "page_text_sha256": "05f41993b776bebfa6b644bf0dad7fa2fdd8dcd43468dcc9d1c3535571347dc7"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 53,
        "content_sha256": "f2798cfd2c77dc2997bb6dd9f050802e44873fedc941537b03d364fff9047786",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-005",
        "label": "exsol:11.5",
        "line_range": [
          83,
          83
        ],
        "native_record_sha256": "93fd5825cb2464fb2d465dae54285aa3e60945519445787eb470643b6f8d313e",
        "normalized_character_range": [
          7643,
          7696
        ],
        "normalized_utf8_byte_range": [
          7643,
          7696
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
        "source_file": {
          "archive": "source",
          "bytes": 34607,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
          "sha256": "6688bdb15e34fba8f412815979df92494ff9018d15f4c8b8661e0ada9b607d2d"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          9135,
          11134
        ],
        "body_sha256": "35cb581088001c00044fb0f5bc4c06f55fe811b867290cba16feca4159711448",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          101,
          130
        ],
        "normalized_character_range": [
          9086,
          11134
        ],
        "sha256": "249716309eac39df6ccfed73ff5f37fd4f0501a8b8ca001da0b7ceabcfc21187"
      },
      "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-006",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch11.text-a.ex-006",
      "reader": {
        "bbox": [
          53.999969482421875,
          368.141845703125,
          557.9993286132812,
          385.4768371582031
        ],
        "heading_witness": "Latihan 11.6 (Harga Bayangan dan Variabel Dual)\n⋆⋆\n",
        "page": 531,
        "page_text_sha256": "05f41993b776bebfa6b644bf0dad7fa2fdd8dcd43468dcc9d1c3535571347dc7"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 49,
        "content_sha256": "2cb5987506134dd183876113f06310d7b8b38add98917297ada5377b5c3f89cd",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-006",
        "label": "exsol:11.6",
        "line_range": [
          101,
          101
        ],
        "native_record_sha256": "4af7e3bfbcda6961562ce9ad6cf56e7064d0d31614bdff269e59e3310d66326b",
        "normalized_character_range": [
          9086,
          9135
        ],
        "normalized_utf8_byte_range": [
          9086,
          9135
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
        "source_file": {
          "archive": "source",
          "bytes": 34607,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
          "sha256": "6688bdb15e34fba8f412815979df92494ff9018d15f4c8b8661e0ada9b607d2d"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          11191,
          13145
        ],
        "body_sha256": "a41be7c19f36162d2d44504eed7b1f72d6e5e42968cd5b981c2c3d0650a11af6",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          130,
          139
        ],
        "normalized_character_range": [
          11134,
          13145
        ],
        "sha256": "d280883f4f8c6a7affae0773518ec89a42e9f2532cb702e894ab17af99d3d804"
      },
      "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-007",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch11.text-a.ex-007",
      "reader": {
        "bbox": [
          53.999996185302734,
          70.83483123779297,
          557.999267578125,
          88.16983032226562
        ],
        "heading_witness": "Latihan 11.7 (Sertifikat dengan Kata-kata Anda Sendiri)\n⋆⋆\n",
        "page": 532,
        "page_text_sha256": "c946d244821daf006be6a59853a7a7995f2f679d37c91600513192650507f720"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 57,
        "content_sha256": "f0a3cebb109cffd7c2407c0b4cc07a877ab036bce64a9a247ad1b5ad7b152732",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-007",
        "label": "exsol:11.7",
        "line_range": [
          130,
          130
        ],
        "native_record_sha256": "6785d180ea707805d1daa146f97a92ea7f7ba95e7144272fdb0f419922ca5046",
        "normalized_character_range": [
          11134,
          11191
        ],
        "normalized_utf8_byte_range": [
          11134,
          11191
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
        "source_file": {
          "archive": "source",
          "bytes": 34607,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
          "sha256": "6688bdb15e34fba8f412815979df92494ff9018d15f4c8b8661e0ada9b607d2d"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          13192,
          15464
        ],
        "body_sha256": "641467a1dd7d7ef1bac86ce6b3553c674087e206e78f201c835748760348cf19",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          139,
          162
        ],
        "normalized_character_range": [
          13145,
          15464
        ],
        "sha256": "91e253749c91568ad4b2632c2f3b7b4e0b90666b0a3713b106962bd101cce944"
      },
      "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-008",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch11.text-a.ex-008",
      "reader": {
        "bbox": [
          53.99998474121094,
          421.81903076171875,
          557.9993286132812,
          439.1540222167969
        ],
        "heading_witness": "Latihan 11.8 (Dualitas Kuat dan Ketaklayakan)\n⋆⋆\n",
        "page": 532,
        "page_text_sha256": "c946d244821daf006be6a59853a7a7995f2f679d37c91600513192650507f720"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 47,
        "content_sha256": "7ad381661793a54c0722cfd7a4000f0dce8b9c2151ea875ddecb14c3073f91f9",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-008",
        "label": "exsol:11.8",
        "line_range": [
          139,
          139
        ],
        "native_record_sha256": "af7b2d3daf867caf991b9d62d93715dfab6755d288044fcb0fd0eddeba6de3e7",
        "normalized_character_range": [
          13145,
          13192
        ],
        "normalized_utf8_byte_range": [
          13145,
          13192
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
        "source_file": {
          "archive": "source",
          "bytes": 34607,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
          "sha256": "6688bdb15e34fba8f412815979df92494ff9018d15f4c8b8661e0ada9b607d2d"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          15509,
          16670
        ],
        "body_sha256": "66b2efe0e6491d62c48cfd3bd9384f8de6f0aa993141d8103534014d4061db1b",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          162,
          181
        ],
        "normalized_character_range": [
          15464,
          16670
        ],
        "sha256": "e57d2190836f0314be05771981ae9951403ba0716d75ffd95424513a7cbdd6c5"
      },
      "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-009",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch11.text-a.ex-009",
      "reader": {
        "bbox": [
          54.0,
          227.24778747558594,
          557.99462890625,
          244.58279418945312
        ],
        "heading_witness": "Latihan 11.9 (Dual dari Dual adalah Primal)\n⋆⋆⋆\n",
        "page": 533,
        "page_text_sha256": "76217505762fb9d9255a15e9a8b580f3fac053a728d90c402dd0fc67b7d18ad9"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 45,
        "content_sha256": "15e5d3c95bb2ad52c846f8f6ab133048e8ad855be25e9c7f3c3f1bc7f1e679cc",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-009",
        "label": "exsol:11.9",
        "line_range": [
          162,
          162
        ],
        "native_record_sha256": "9f2b638df3e640cb9797a1a22f26adaa19feb9528598fa6776ed90e11457f7b6",
        "normalized_character_range": [
          15464,
          15509
        ],
        "normalized_utf8_byte_range": [
          15464,
          15509
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
        "source_file": {
          "archive": "source",
          "bytes": 34607,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
          "sha256": "6688bdb15e34fba8f412815979df92494ff9018d15f4c8b8661e0ada9b607d2d"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          16711,
          18022
        ],
        "body_sha256": "e2bc30d5ace7ae7a7c07bb1ad18e59584c58a8d53461ec7991ea2fca64c2d18b",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          181,
          200
        ],
        "normalized_character_range": [
          16670,
          18022
        ],
        "sha256": "8eede48f3e31d37baf0125807e8f08843b932b13a5968e869046bc88b468afab"
      },
      "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-010",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch11.text-b.ex-001",
      "reader": {
        "bbox": [
          53.99989318847656,
          488.4427490234375,
          557.9945678710938,
          505.7777404785156
        ],
        "heading_witness": "Latihan 11.10 (Memeriksa Syarat-syarat)\n⋆\n",
        "page": 533,
        "page_text_sha256": "76217505762fb9d9255a15e9a8b580f3fac053a728d90c402dd0fc67b7d18ad9"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 41,
        "content_sha256": "15cfdef345dc826d4066e2c0a8b8491e4a630fa961d0ebc055b0b8ec6b3c499b",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-010",
        "label": "exsol:11.10",
        "line_range": [
          181,
          181
        ],
        "native_record_sha256": "066e14cd1c39afc2294b26155c76cd3a44c0c45214cee27282e38b503d8d4f65",
        "normalized_character_range": [
          16670,
          16711
        ],
        "normalized_utf8_byte_range": [
          16670,
          16711
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
        "source_file": {
          "archive": "source",
          "bytes": 34607,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
          "sha256": "6688bdb15e34fba8f412815979df92494ff9018d15f4c8b8661e0ada9b607d2d"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          18084,
          20631
        ],
        "body_sha256": "2e391dd3865455aa2f9c32503139dfbaeffbb2260de0036ab3f51aa86a67a9f2",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          200,
          217
        ],
        "normalized_character_range": [
          18022,
          20631
        ],
        "sha256": "0bc8516a9bb90234216b5c4b4a1405580950e0c1c1484bff156372f84eaa478f"
      },
      "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-011",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch11.text-b.ex-002",
      "reader": {
        "bbox": [
          53.999996185302734,
          70.83483123779297,
          558.00634765625,
          88.16983032226562
        ],
        "heading_witness": "Latihan 11.11 (Produksi Toko Roti dan Interpretasi Dualitas)\n⋆⋆\n",
        "page": 534,
        "page_text_sha256": "025e256345682622eef06bfca828b78d7a26b8e2d721efb25b2586af670199bf"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 62,
        "content_sha256": "2862c3af85b56d2d43a508aea12213f84fba72a587a849498b7755bac42904e6",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-011",
        "label": "exsol:11.11",
        "line_range": [
          200,
          200
        ],
        "native_record_sha256": "48b9f8ee95be918be595819644fc831f8be9c524c8c0e07c66e2267a158c766b",
        "normalized_character_range": [
          18022,
          18084
        ],
        "normalized_utf8_byte_range": [
          18022,
          18084
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
        "source_file": {
          "archive": "source",
          "bytes": 34607,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
          "sha256": "6688bdb15e34fba8f412815979df92494ff9018d15f4c8b8661e0ada9b607d2d"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          20682,
          22278
        ],
        "body_sha256": "44ecdf46addc52dcd6632d810d3af9ffe3a19a1b7d9594aa13d2db736f97d622",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          217,
          237
        ],
        "normalized_character_range": [
          20631,
          22278
        ],
        "sha256": "eab62a5de2c24b1fc24a7c6e953f505d7b9d31ff4bae8442b8ad2a3e8b362081"
      },
      "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-012",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch11.text-b.ex-003",
      "reader": {
        "bbox": [
          54.0,
          551.391845703125,
          558.0017700195312,
          568.726806640625
        ],
        "heading_witness": "Latihan 11.12 (Kendala Kotak dan Sertifikat Dual)\n⋆⋆\n",
        "page": 534,
        "page_text_sha256": "025e256345682622eef06bfca828b78d7a26b8e2d721efb25b2586af670199bf"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 51,
        "content_sha256": "907063843cd2eb486d6155f5d4bf586c23db32dbc5862596042f74a5a1867a45",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-012",
        "label": "exsol:11.12",
        "line_range": [
          217,
          217
        ],
        "native_record_sha256": "352f87315c7dd32d4015a63d0dc736d45c54a3e2b58df75edb35614412abdbb4",
        "normalized_character_range": [
          20631,
          20682
        ],
        "normalized_utf8_byte_range": [
          20631,
          20682
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
        "source_file": {
          "archive": "source",
          "bytes": 34607,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
          "sha256": "6688bdb15e34fba8f412815979df92494ff9018d15f4c8b8661e0ada9b607d2d"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          22338,
          24495
        ],
        "body_sha256": "2c8f7d77c0549e5856aafcc72972a2eee22c8ff53fe8c066bd4ac04b47499da1",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          237,
          255
        ],
        "normalized_character_range": [
          22278,
          24495
        ],
        "sha256": "e1ccc139cf11841cccfb631e712d2728fd9f94b1822a1ffc3d6cf0ec341869b6"
      },
      "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-013",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch11.text-b.ex-004",
      "reader": {
        "bbox": [
          54.0,
          204.5778045654297,
          558.0015869140625,
          221.91281127929688
        ],
        "heading_witness": "Latihan 11.13 (Menurunkan Solusi Primal dari Tebakan Dual)\n⋆⋆\n",
        "page": 535,
        "page_text_sha256": "c7fbb51c32ff6aa9d19067ad991633e6fdab58b4bba0b4ea2592b5142378c789"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 60,
        "content_sha256": "87c4e10908b84304e7d0a68a8edf9b9949240a17d72edacc01dc62306e6e2e07",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-013",
        "label": "exsol:11.13",
        "line_range": [
          237,
          237
        ],
        "native_record_sha256": "7eb751c5a117b77d55d6d20f3ca9df1fdc1698bda73417a1b2be398809460469",
        "normalized_character_range": [
          22278,
          22338
        ],
        "normalized_utf8_byte_range": [
          22278,
          22338
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
        "source_file": {
          "archive": "source",
          "bytes": 34607,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
          "sha256": "6688bdb15e34fba8f412815979df92494ff9018d15f4c8b8661e0ada9b607d2d"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          24552,
          26561
        ],
        "body_sha256": "c2e44c6d135b53d124ddd4658e595aee9f03e3b3a7defd2e9fbb207a6b53a761",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          255,
          264
        ],
        "normalized_character_range": [
          24495,
          26561
        ],
        "sha256": "fe528ecc395e722c09d5fe634122b4ddafddcf3b3cbeeeb48c6fc24c8d3d0408"
      },
      "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-014",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch11.text-b.ex-005",
      "reader": {
        "bbox": [
          53.99993896484375,
          583.4788208007812,
          557.9991455078125,
          600.8138427734375
        ],
        "heading_witness": "Latihan 11.14 (Harga Positif pada Kendala yang Longgar)\n⋆⋆\n",
        "page": 535,
        "page_text_sha256": "c7fbb51c32ff6aa9d19067ad991633e6fdab58b4bba0b4ea2592b5142378c789"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 57,
        "content_sha256": "6e3a7f9687957a38442350e406123d37fdc7826c22db3add399d1228bfa377a0",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-014",
        "label": "exsol:11.14",
        "line_range": [
          255,
          255
        ],
        "native_record_sha256": "cfcff3331db5a2448cddfafcf9a2883955bfd33880981071452d0eec7763c863",
        "normalized_character_range": [
          24495,
          24552
        ],
        "normalized_utf8_byte_range": [
          24495,
          24552
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
        "source_file": {
          "archive": "source",
          "bytes": 34607,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
          "sha256": "6688bdb15e34fba8f412815979df92494ff9018d15f4c8b8661e0ada9b607d2d"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          26610,
          27682
        ],
        "body_sha256": "a161a2419e9fe44d541f167642a3184e1908e318fda1a30df6c088f02b4645b9",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          264,
          275
        ],
        "normalized_character_range": [
          26561,
          27682
        ],
        "sha256": "12ea9e04054bdd543b55d5c43ad0215903828991ff4fe442ad1cce6ae5f565f2"
      },
      "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-015",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch11.text-b.ex-006",
      "reader": {
        "bbox": [
          54.00000762939453,
          265.2510986328125,
          557.9945678710938,
          282.5860900878906
        ],
        "heading_witness": "Latihan 11.15 (Menyangkal Klaim Solusi Optimal)\n⋆⋆\n",
        "page": 536,
        "page_text_sha256": "a89d1b4bb72474d22d1926595d6af47f54409da2964ea4d601435eae27ce785d"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 49,
        "content_sha256": "c45a1eeac6261c4e371b76571ac91c34921003c3efbb33322de1bf74ba32496c",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-015",
        "label": "exsol:11.15",
        "line_range": [
          264,
          264
        ],
        "native_record_sha256": "11f241f42c9c8a9e84a9a3aaecaacdc61f464e2e12c874fa5347f5edc0412917",
        "normalized_character_range": [
          26561,
          26610
        ],
        "normalized_utf8_byte_range": [
          26561,
          26610
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
        "source_file": {
          "archive": "source",
          "bytes": 34607,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
          "sha256": "6688bdb15e34fba8f412815979df92494ff9018d15f4c8b8661e0ada9b607d2d"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          27737,
          30902
        ],
        "body_sha256": "c1b7c58080383fc7b29667f7d9a446e374a8b01deac64da8de7ff07023a5025f",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          275,
          316
        ],
        "normalized_character_range": [
          27682,
          30902
        ],
        "sha256": "deaa12a43c1342803ebfbb980e5cdda98848d5cd667178cfbd751c67dcc2f6b5"
      },
      "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-016",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch11.text-b.ex-007",
      "reader": {
        "bbox": [
          53.999908447265625,
          479.7218017578125,
          557.9990844726562,
          497.0567932128906
        ],
        "heading_witness": "Latihan 11.16 (Optimisasi Paket Makanan dan Dualitas)\n⋆⋆⋆\n",
        "page": 536,
        "page_text_sha256": "a89d1b4bb72474d22d1926595d6af47f54409da2964ea4d601435eae27ce785d"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 55,
        "content_sha256": "a7602e26576d00971aed708775c53f0605c988f547ef86b7c79e77025ae356bd",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-016",
        "label": "exsol:11.16",
        "line_range": [
          275,
          275
        ],
        "native_record_sha256": "f076f27209ca9a73b234fa2da6c34266cfc7b65a1123770cf1cb90a4aacf837e",
        "normalized_character_range": [
          27682,
          27737
        ],
        "normalized_utf8_byte_range": [
          27682,
          27737
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
        "source_file": {
          "archive": "source",
          "bytes": 34607,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
          "sha256": "6688bdb15e34fba8f412815979df92494ff9018d15f4c8b8661e0ada9b607d2d"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          31004,
          34607
        ],
        "body_sha256": "51eec2dff9124abbc3c95e0fdb4b4e3fccba56c7e57895f84c1bc332d5f4c611",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          316,
          350
        ],
        "normalized_character_range": [
          30902,
          34607
        ],
        "sha256": "195760d5960475fa5f70fa698f6bd15c902475a113891d76a10be830755f82d8"
      },
      "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-017",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch11.text-b.ex-008",
      "reader": {
        "bbox": [
          53.9998779296875,
          564.6500244140625,
          558.0042114257812,
          600.81396484375
        ],
        "heading_witness": "Latihan 11.17 (Dualitas dengan Jenis Kendala Campuran: Perusahaan Rintisan\nKemasan Ramah Lingkungan)\n⋆⋆⋆\n",
        "page": 537,
        "page_text_sha256": "feba1193305a613bfed1a2e59f8cbc8415178b3280a96844fcf072370c18d1be"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 102,
        "content_sha256": "0386594194af83e6f7045035d35c12ec0da0bc3be3cb2719ce57f4169de6f65d",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-017",
        "label": "exsol:11.17",
        "line_range": [
          316,
          316
        ],
        "native_record_sha256": "fef026ec466e43b1dbf7702f90127ea4fb2ef39e67452f2b06a277de8537fea6",
        "normalized_character_range": [
          30902,
          31004
        ],
        "normalized_utf8_byte_range": [
          30902,
          31004
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
        "source_file": {
          "archive": "source",
          "bytes": 34607,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
          "sha256": "6688bdb15e34fba8f412815979df92494ff9018d15f4c8b8661e0ada9b607d2d"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          1475,
          3004
        ],
        "body_sha256": "628a9521d800585ccaad4231e29f0f36dc0bb453ab02042c4061de5d5f982517",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          24,
          71
        ],
        "normalized_character_range": [
          1442,
          3004
        ],
        "sha256": "cad45e0adc53de369f9affd75f5bc3fdadfd1959007e165ef7aee360d3bf2191"
      },
      "id": "unit.r017.book1.ch12.solutions-manual.manualsolution-001",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch12.text.ex-001",
      "reader": {
        "bbox": [
          54.0,
          264.1920166015625,
          558.0020141601562,
          281.5270080566406
        ],
        "heading_witness": "Latihan 12.1 (Margin Laba Baru)\n⋆\n",
        "page": 539,
        "page_text_sha256": "3a8e04b255c479060554cd9e952cee3588fae3efd5f7b5d18fb3d57947570a4a"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 33,
        "content_sha256": "3fbace38c9bf5f09be0b055de239d513201d5ceb3b0aa02fd539aba61071ced1",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch12.solutions-manual.manualsolution-001",
        "label": "exsol:12.1",
        "line_range": [
          24,
          24
        ],
        "native_record_sha256": "f95990190747015177e7341062164e6688ce5681e27ff06056f9cbdda9249bb3",
        "normalized_character_range": [
          1442,
          1475
        ],
        "normalized_utf8_byte_range": [
          1442,
          1475
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch12.tex",
        "source_file": {
          "archive": "source",
          "bytes": 21613,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch12.tex",
          "sha256": "349a413041f0bd97a746604b01414e90f93cdbbc9f90d33a0215976a7c42dcf8"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          3044,
          4475
        ],
        "body_sha256": "419feebf52fd4b9512cbb32265f9c23ca774b32e405c62f4e0049343eb2ff4cd",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          71,
          119
        ],
        "normalized_character_range": [
          3004,
          4475
        ],
        "sha256": "1df0884850a6f2c5a5225e25e51d12f4e591b1be4a3b370b42cd333bb75b7872"
      },
      "id": "unit.r017.book1.ch12.solutions-manual.manualsolution-002",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch12.text.ex-002",
      "reader": {
        "bbox": [
          54.0,
          128.73789978027344,
          557.9971313476562,
          146.07290649414062
        ],
        "heading_witness": "Latihan 12.2 (Dari Matematika ke PuLP)\n⋆\n",
        "page": 540,
        "page_text_sha256": "c763d35bcbca41bd4f77b7978f5407b864ec616400631c723bce17151c51769e"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 40,
        "content_sha256": "e4179a961e6a7fdb1b969606a9aa08a0e7faf6a7071702bf34b040d1b9fde8ce",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch12.solutions-manual.manualsolution-002",
        "label": "exsol:12.2",
        "line_range": [
          71,
          71
        ],
        "native_record_sha256": "610696c3256acf7c7cf3d44b32de99f7a937d85a9a15a707ed105a2b4728d28a",
        "normalized_character_range": [
          3004,
          3044
        ],
        "normalized_utf8_byte_range": [
          3004,
          3044
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch12.tex",
        "source_file": {
          "archive": "source",
          "bytes": 21613,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch12.tex",
          "sha256": "349a413041f0bd97a746604b01414e90f93cdbbc9f90d33a0215976a7c42dcf8"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          4512,
          6748
        ],
        "body_sha256": "09fc32a0a014adb7a28177354be4e704d90666b86b4d44960f9cd1b26bbdf14d",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          119,
          191
        ],
        "normalized_character_range": [
          4475,
          6748
        ],
        "sha256": "d201019d89b825da8ae578343643dbd1357303811715f46db353eeb1e6706670"
      },
      "id": "unit.r017.book1.ch12.solutions-manual.manualsolution-003",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch12.text.ex-003",
      "reader": {
        "bbox": [
          54.000030517578125,
          70.83483123779297,
          558.0020141601562,
          88.16983032226562
        ],
        "heading_witness": "Latihan 12.3 (Data Permintaan Baru)\n⋆\n",
        "page": 541,
        "page_text_sha256": "fd999e60b6d8af7eed99cd57a973e0356a9e1baf64082ec172492f34451d31da"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 37,
        "content_sha256": "05f2ae48b6f5c792fd31b8b7f3f51b6a11306956ab63eb7d642d83b105b2827b",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch12.solutions-manual.manualsolution-003",
        "label": "exsol:12.3",
        "line_range": [
          119,
          119
        ],
        "native_record_sha256": "3f6c9b8dc6e0136110d73b25a74c1fb5258df469cd54b40490e2089b1bcb7a77",
        "normalized_character_range": [
          4475,
          4512
        ],
        "normalized_utf8_byte_range": [
          4475,
          4512
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch12.tex",
        "source_file": {
          "archive": "source",
          "bytes": 21613,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch12.tex",
          "sha256": "349a413041f0bd97a746604b01414e90f93cdbbc9f90d33a0215976a7c42dcf8"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          6795,
          9091
        ],
        "body_sha256": "72c9484e48b845ad8be1bf28193e4b118dfa325d637126903a117ec7fb65951a",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          191,
          263
        ],
        "normalized_character_range": [
          6748,
          9091
        ],
        "sha256": "e3123394db603ab82c498eedf566f8417ef27ff8a887abd6a21c5fcefbdb35a2"
      },
      "id": "unit.r017.book1.ch12.solutions-manual.manualsolution-004",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch12.text.ex-004",
      "reader": {
        "bbox": [
          53.99999237060547,
          310.755126953125,
          558.0042114257812,
          328.0901184082031
        ],
        "heading_witness": "Latihan 12.4 (Model Transportasi Tiga Pabrik)\n⋆⋆\n",
        "page": 542,
        "page_text_sha256": "0af609a7d887934de8dc14de7cef3fd198d271f5aa6550c6c8d15f648395ec63"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 47,
        "content_sha256": "65f93565d86f807ef30c452f8a09c009276cc408f2695078e8430ae50f79d19a",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch12.solutions-manual.manualsolution-004",
        "label": "exsol:12.4",
        "line_range": [
          191,
          191
        ],
        "native_record_sha256": "bf8d2ed5663b8f55cf7dd291d0246bb40b1960e604afcb9edd203304c53e05f8",
        "normalized_character_range": [
          6748,
          6795
        ],
        "normalized_utf8_byte_range": [
          6748,
          6795
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch12.tex",
        "source_file": {
          "archive": "source",
          "bytes": 21613,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch12.tex",
          "sha256": "349a413041f0bd97a746604b01414e90f93cdbbc9f90d33a0215976a7c42dcf8"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          9157,
          10983
        ],
        "body_sha256": "a13c9a17a09594a0604627905875bc99723114b8b426c01b2a24cbb5f50da34d",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          263,
          314
        ],
        "normalized_character_range": [
          9091,
          10983
        ],
        "sha256": "7fefa2a892a35d80cee42babaef72e83610b54b0f5e4d260a07a4ce8cd087e20"
      },
      "id": "unit.r017.book1.ch12.solutions-manual.manualsolution-005",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch12.text.ex-005",
      "reader": {
        "bbox": [
          54.00000762939453,
          583.7821044921875,
          558.0015258789062,
          601.1170654296875
        ],
        "heading_witness": "Latihan 12.5 (Dual dan Slack dari Model yang Telah Diselesaikan)\n⋆⋆\n",
        "page": 543,
        "page_text_sha256": "dcfbb273154eaa2e3475048a764717bb90393e3dfc4b64dcf81b4c9db121ce2d"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 66,
        "content_sha256": "57aea06483808691664b72e31780492fa01d6dcbe8fbd92f5baeddd2acdf29da",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch12.solutions-manual.manualsolution-005",
        "label": "exsol:12.5",
        "line_range": [
          263,
          263
        ],
        "native_record_sha256": "1b7bf475252f3fc426cc18397ce0aaf51fc3434cf63c9a2fee8b85ed052f118a",
        "normalized_character_range": [
          9091,
          9157
        ],
        "normalized_utf8_byte_range": [
          9091,
          9157
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch12.tex",
        "source_file": {
          "archive": "source",
          "bytes": 21613,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch12.tex",
          "sha256": "349a413041f0bd97a746604b01414e90f93cdbbc9f90d33a0215976a7c42dcf8"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          11022,
          13004
        ],
        "body_sha256": "499fd6968db594ba429190aaa719772415d90538f490fddfebe169c3d1c594ad",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          314,
          364
        ],
        "normalized_character_range": [
          10983,
          13004
        ],
        "sha256": "ed815299658e3fb42b44a4a7d900fbdd4040954b99af3dbfba98cd7c7c72eb91"
      },
      "id": "unit.r017.book1.ch12.solutions-manual.manualsolution-006",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch12.text.ex-006",
      "reader": {
        "bbox": [
          53.99989318847656,
          477.6050720214844,
          557.9970092773438,
          494.9400634765625
        ],
        "heading_witness": "Latihan 12.6 (Sapuan Kendala Epsilon)\n⋆⋆\n",
        "page": 544,
        "page_text_sha256": "c869adbde534031f333008a90203a5ca1a7a4c0e012f2eb418b026ce4193abee"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 39,
        "content_sha256": "75d576a65809fe6f0ae86d298b60241f07d8821380edb586e9d0881a5ae2e2e6",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch12.solutions-manual.manualsolution-006",
        "label": "exsol:12.6",
        "line_range": [
          314,
          314
        ],
        "native_record_sha256": "824b4acd86997f4836d2e01b318455839b191f42d93d388b8cbc3d53f5c21b57",
        "normalized_character_range": [
          10983,
          11022
        ],
        "normalized_utf8_byte_range": [
          10983,
          11022
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch12.tex",
        "source_file": {
          "archive": "source",
          "bytes": 21613,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch12.tex",
          "sha256": "349a413041f0bd97a746604b01414e90f93cdbbc9f90d33a0215976a7c42dcf8"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          13043,
          16092
        ],
        "body_sha256": "6c245830d872b9fec8937a86b136083cd90b58bd4163692ec5d4b4085106148e",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          364,
          433
        ],
        "normalized_character_range": [
          13004,
          16092
        ],
        "sha256": "6071235d4af43f87d290335e3771d00d065e49365f16ca5a136a13dcfc60e272"
      },
      "id": "unit.r017.book1.ch12.solutions-manual.manualsolution-007",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch12.text.ex-007",
      "reader": {
        "bbox": [
          54.00001525878906,
          371.4281311035156,
          558.0042724609375,
          388.76312255859375
        ],
        "heading_witness": "Latihan 12.7 (Kendala yang Tidak Ada)\n⋆⋆\n",
        "page": 545,
        "page_text_sha256": "0576235919f830148887d5a629fdf4834f57c09c8566b573352f51a932738fd8"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 39,
        "content_sha256": "073a8de432229fea1d06652c9421e1eaba328d91c95c1a0e9002a9eb1c202b83",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch12.solutions-manual.manualsolution-007",
        "label": "exsol:12.7",
        "line_range": [
          364,
          364
        ],
        "native_record_sha256": "fc09f34b9c9147e0f83fd6ded4b1b717df0a5e6280605415346a8bcc41a49557",
        "normalized_character_range": [
          13004,
          13043
        ],
        "normalized_utf8_byte_range": [
          13004,
          13043
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch12.tex",
        "source_file": {
          "archive": "source",
          "bytes": 21613,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch12.tex",
          "sha256": "349a413041f0bd97a746604b01414e90f93cdbbc9f90d33a0215976a7c42dcf8"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          16141,
          18524
        ],
        "body_sha256": "d7531fda283f2bb041eb562992eed763ea6d14a14b8f97463586a12f97bd88a7",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          433,
          490
        ],
        "normalized_character_range": [
          16092,
          18524
        ],
        "sha256": "11592846e62ef4e1624f23242822c8cb00d73a0a5c10e7f110fc38350489c8a8"
      },
      "id": "unit.r017.book1.ch12.solutions-manual.manualsolution-008",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch12.text.ex-008",
      "reader": {
        "bbox": [
          54.0,
          462.1338195800781,
          557.9944458007812,
          479.46881103515625
        ],
        "heading_witness": "Latihan 12.8 (Meminimumkan atau Memaksimumkan?)\n⋆⋆\n",
        "page": 546,
        "page_text_sha256": "fefca1feb669c99104bb9edbe8bc90b97481d258f7ae0ce537ae493948ebe74a"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 49,
        "content_sha256": "d9963e31cc4107489470b1592c08fba350145675d95fc91c34fe84ee07fa6e87",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch12.solutions-manual.manualsolution-008",
        "label": "exsol:12.8",
        "line_range": [
          433,
          433
        ],
        "native_record_sha256": "630026526fa34663fe688fbe5e2b81d9a686686398683ad36bf0619843b3c1ad",
        "normalized_character_range": [
          16092,
          16141
        ],
        "normalized_utf8_byte_range": [
          16092,
          16141
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch12.tex",
        "source_file": {
          "archive": "source",
          "bytes": 21613,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch12.tex",
          "sha256": "349a413041f0bd97a746604b01414e90f93cdbbc9f90d33a0215976a7c42dcf8"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          18573,
          21613
        ],
        "body_sha256": "665ec501c94caa76381503adafd111d9bb44cd14f428f49aa7ec225e39ce7692",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          490,
          556
        ],
        "normalized_character_range": [
          18524,
          21613
        ],
        "sha256": "038be4504a7672656415c3cde03c51388d4518461a02b2ab387e7cf728b14872"
      },
      "id": "unit.r017.book1.ch12.solutions-manual.manualsolution-009",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch12.text.ex-009",
      "reader": {
        "bbox": [
          54.000022888183594,
          371.4281311035156,
          557.999267578125,
          388.76312255859375
        ],
        "heading_witness": "Latihan 12.9 (Laba sebagai Fungsi Tenaga Kerja)\n⋆⋆⋆\n",
        "page": 547,
        "page_text_sha256": "b977e8d1c9cf93996840eb240ed5f18df94d2c86359b9c1f9ede86e26193f27b"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 49,
        "content_sha256": "754ef0886861093a5557516f76656f1a16f9f8634502f0b146f1a0be17e6b9f0",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch12.solutions-manual.manualsolution-009",
        "label": "exsol:12.9",
        "line_range": [
          490,
          490
        ],
        "native_record_sha256": "5cfe563582a1550c23dd7965836bc7b184ca49d014c195314ff12eb25414d59b",
        "normalized_character_range": [
          18524,
          18573
        ],
        "normalized_utf8_byte_range": [
          18524,
          18573
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch12.tex",
        "source_file": {
          "archive": "source",
          "bytes": 21613,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch12.tex",
          "sha256": "349a413041f0bd97a746604b01414e90f93cdbbc9f90d33a0215976a7c42dcf8"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          1661,
          2312
        ],
        "body_sha256": "df1b9c870c541976905b07aada3303d7fa478d3a9bc686b7d76167eaaabc1cc1",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          27,
          39
        ],
        "normalized_character_range": [
          1611,
          2312
        ],
        "sha256": "ea879d83a90be22939ca4c3c0859f7e06f31b68e1e7c9516fa01c14aed9ac3b1"
      },
      "id": "unit.r017.book1.ch13.solutions-manual.manualsolution-001",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch13.text.ex-001",
      "reader": {
        "bbox": [
          54.000030517578125,
          70.83483123779297,
          557.9993286132812,
          88.16983032226562
        ],
        "heading_witness": "Latihan 13.1 (Mendefinisikan Optimalitas Pareto)\n⋆\n",
        "page": 549,
        "page_text_sha256": "135310924e0118174479f20519c4eff81ae1732d791a93a508bc07d3a2af3798"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 50,
        "content_sha256": "c850938d9d22eb36d1c40974a61e8dfd938be2bb5133b3f9cb828da24bde992c",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch13.solutions-manual.manualsolution-001",
        "label": "exsol:13.1",
        "line_range": [
          27,
          27
        ],
        "native_record_sha256": "c8f22e19ce21a795b69080b42e9416225f3fd01910ac9a23c5a1fb6a1d8a0b19",
        "normalized_character_range": [
          1611,
          1661
        ],
        "normalized_utf8_byte_range": [
          1611,
          1661
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch13.tex",
        "source_file": {
          "archive": "source",
          "bytes": 20246,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch13.tex",
          "sha256": "e44ff5d9166bd4b8178e805ad0d4945144c1dbf731a911790bab781588b0d91a"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          2357,
          3583
        ],
        "body_sha256": "538bf6dbe04535f14bc6ac67f919e3df2c9ed55f30b453296a4428a326652a15",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          39,
          65
        ],
        "normalized_character_range": [
          2312,
          3583
        ],
        "sha256": "f463384bdf88601be7f89137aa5fdf060f5e26de3d1015c805656b5fb6336ace"
      },
      "id": "unit.r017.book1.ch13.solutions-manual.manualsolution-002",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch13.text.ex-002",
      "reader": {
        "bbox": [
          54.0,
          194.29685974121094,
          558.0042114257812,
          211.63186645507812
        ],
        "heading_witness": "Latihan 13.2 (Menemukan Desain Terdominasi)\n⋆\n",
        "page": 549,
        "page_text_sha256": "135310924e0118174479f20519c4eff81ae1732d791a93a508bc07d3a2af3798"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 45,
        "content_sha256": "4682537de72d96700c3bfee62c819303f71172879a82df561b705ec5d8201912",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch13.solutions-manual.manualsolution-002",
        "label": "exsol:13.2",
        "line_range": [
          39,
          39
        ],
        "native_record_sha256": "1660173dbb30445c6bf0f3729c510aef362beb235f00b5da319f648b23656b46",
        "normalized_character_range": [
          2312,
          2357
        ],
        "normalized_utf8_byte_range": [
          2312,
          2357
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch13.tex",
        "source_file": {
          "archive": "source",
          "bytes": 20246,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch13.tex",
          "sha256": "e44ff5d9166bd4b8178e805ad0d4945144c1dbf731a911790bab781588b0d91a"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          3631,
          5194
        ],
        "body_sha256": "07098e4cbc0e52c73a8a3675921149d9584e90073d8e465ff3553473ed441b36",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          65,
          100
        ],
        "normalized_character_range": [
          3583,
          5194
        ],
        "sha256": "701cb29e32341df47797a8527fef6617c0a38374012d5395a5ec783c447d7b8c"
      },
      "id": "unit.r017.book1.ch13.solutions-manual.manualsolution-003",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch13.text.ex-003",
      "reader": {
        "bbox": [
          54.00001525878906,
          464.016845703125,
          558.0017700195312,
          481.3518371582031
        ],
        "heading_witness": "Latihan 13.3 (Menghitung Skor Jumlah Berbobot)\n⋆\n",
        "page": 549,
        "page_text_sha256": "135310924e0118174479f20519c4eff81ae1732d791a93a508bc07d3a2af3798"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 48,
        "content_sha256": "7229fe059ac3d1bffb97ab5f9f4ae1c0cf65fb52118f565d94d1e416aedaf59b",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch13.solutions-manual.manualsolution-003",
        "label": "exsol:13.3",
        "line_range": [
          65,
          65
        ],
        "native_record_sha256": "570f9ed9ee0ad9b92a8c9acad96c6da7c57283ca584e6c2d381390402519f888",
        "normalized_character_range": [
          3583,
          3631
        ],
        "normalized_utf8_byte_range": [
          3583,
          3631
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch13.tex",
        "source_file": {
          "archive": "source",
          "bytes": 20246,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch13.tex",
          "sha256": "e44ff5d9166bd4b8178e805ad0d4945144c1dbf731a911790bab781588b0d91a"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          5267,
          7508
        ],
        "body_sha256": "05c22ab837dd131cc554404c90e31a33dca16d4544bb083b109ffff44f46ea45",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          100,
          138
        ],
        "normalized_character_range": [
          5194,
          7508
        ],
        "sha256": "7c598efdfaba9089972f76e4a5d1cf5f3cfccf7f59a56e13c3161229267fb7e5"
      },
      "id": "unit.r017.book1.ch13.solutions-manual.manualsolution-004",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch13.text.ex-004",
      "reader": {
        "bbox": [
          54.0,
          98.40081024169922,
          558.00390625,
          117.3354721069336
        ],
        "heading_witness": "Latihan 13.4 (Batas Pareto, Jumlah Berbobot, dan Kendala-ε)\n⋆⋆\n",
        "page": 550,
        "page_text_sha256": "4977084dc2fd96e3d5da94090ea428bd02710350121007273e4a5f206735b978"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 73,
        "content_sha256": "fc8bdf6fa1c62fa7a6755caeca41649d34d7aef8e445970d78e919e23037a874",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch13.solutions-manual.manualsolution-004",
        "label": "exsol:13.4",
        "line_range": [
          100,
          100
        ],
        "native_record_sha256": "112c8386688eaeff36d415f4bc030f9283940bba71684228342cf86ca7893bff",
        "normalized_character_range": [
          5194,
          5267
        ],
        "normalized_utf8_byte_range": [
          5194,
          5267
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch13.tex",
        "source_file": {
          "archive": "source",
          "bytes": 20246,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch13.tex",
          "sha256": "e44ff5d9166bd4b8178e805ad0d4945144c1dbf731a911790bab781588b0d91a"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          7547,
          8732
        ],
        "body_sha256": "18eedf34857190e5d7d1ae58609f902a28cb16d7b93c745f3be41fc648949ca2",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          138,
          165
        ],
        "normalized_character_range": [
          7508,
          8732
        ],
        "sha256": "d8f7b7aabc554b2cc2a3df80904be04c8296fe362b2a860ef521a5a99b0e5c46"
      },
      "id": "unit.r017.book1.ch13.solutions-manual.manualsolution-005",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch13.text.ex-005",
      "reader": {
        "bbox": [
          53.99998474121094,
          494.8898010253906,
          557.9946899414062,
          512.2247924804688
        ],
        "heading_witness": "Latihan 13.5 (Metode Jumlah Berbobot)\n⋆⋆\n",
        "page": 550,
        "page_text_sha256": "4977084dc2fd96e3d5da94090ea428bd02710350121007273e4a5f206735b978"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 39,
        "content_sha256": "0a5abe68d0b7fdc95fca355868f56fd788f028fcb6d03d141e0c2cfa2dce2faa",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch13.solutions-manual.manualsolution-005",
        "label": "exsol:13.5",
        "line_range": [
          138,
          138
        ],
        "native_record_sha256": "19b1f9d1b90630875138e36061e7298f0fd95c8309066e0dd0f8d1307f7a8e01",
        "normalized_character_range": [
          7508,
          7547
        ],
        "normalized_utf8_byte_range": [
          7508,
          7547
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch13.tex",
        "source_file": {
          "archive": "source",
          "bytes": 20246,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch13.tex",
          "sha256": "e44ff5d9166bd4b8178e805ad0d4945144c1dbf731a911790bab781588b0d91a"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          8771,
          11280
        ],
        "body_sha256": "9f7e20cfe4074aa9660b58450a9791336f6b982fba8502d4a263a1592e7b0892",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          165,
          223
        ],
        "normalized_character_range": [
          8732,
          11280
        ],
        "sha256": "a7f594d17319cd1fdd9d7d79c6e5e098c7a4c55bd397ecd3157d74666649fe50"
      },
      "id": "unit.r017.book1.ch13.solutions-manual.manualsolution-006",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch13.text.ex-006",
      "reader": {
        "bbox": [
          54.00001525878906,
          113.56884002685547,
          557.9971313476562,
          130.90383911132812
        ],
        "heading_witness": "Latihan 13.6 (Metode Kendala-Epsilon)\n⋆⋆\n",
        "page": 551,
        "page_text_sha256": "ba439af076f7c7f126e362470db361e8ee030700f1daaf95163727c00cacb786"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 39,
        "content_sha256": "55b8f3edf9d2b1da767341a1fe0dcf0dd1ebc757f0603ba1f0cddec626d2b8c4",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch13.solutions-manual.manualsolution-006",
        "label": "exsol:13.6",
        "line_range": [
          165,
          165
        ],
        "native_record_sha256": "259c97d4b9cc88e5370c15078d8dbd110af9f67debadaf6b1342522a37833f8c",
        "normalized_character_range": [
          8732,
          8771
        ],
        "normalized_utf8_byte_range": [
          8732,
          8771
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch13.tex",
        "source_file": {
          "archive": "source",
          "bytes": 20246,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch13.tex",
          "sha256": "e44ff5d9166bd4b8178e805ad0d4945144c1dbf731a911790bab781588b0d91a"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          11326,
          13244
        ],
        "body_sha256": "638d14caaa868f74e0e547d3a76394b6c3969eabd1c259ffa1306e0763ef1b24",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          223,
          262
        ],
        "normalized_character_range": [
          11280,
          13244
        ],
        "sha256": "498a0add142a249b7d8059ca9df5ce25d2f3ed5e692fff9accbbe1cdb0be3121"
      },
      "id": "unit.r017.book1.ch13.solutions-manual.manualsolution-007",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch13.text.ex-007",
      "reader": {
        "bbox": [
          53.999996185302734,
          70.83483123779297,
          557.99462890625,
          88.16983032226562
        ],
        "heading_witness": "Latihan 13.7 (Kendala-Epsilon secara Manual)\n⋆⋆\n",
        "page": 552,
        "page_text_sha256": "41c708443566e43c0cc5fba377866317c2bfbfec4f8577fc61d05c5a158f1ab8"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 46,
        "content_sha256": "0ca90e75606f8e8316ff0bcf63a82ae2bc0514173b221eb60ee5975b9871911f",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch13.solutions-manual.manualsolution-007",
        "label": "exsol:13.7",
        "line_range": [
          223,
          223
        ],
        "native_record_sha256": "6c19d365e1b27aceecf934ccb144c121c9143194d07e37b89197a6b962069f51",
        "normalized_character_range": [
          11280,
          11326
        ],
        "normalized_utf8_byte_range": [
          11280,
          11326
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch13.tex",
        "source_file": {
          "archive": "source",
          "bytes": 20246,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch13.tex",
          "sha256": "e44ff5d9166bd4b8178e805ad0d4945144c1dbf731a911790bab781588b0d91a"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          13278,
          14720
        ],
        "body_sha256": "0fec394ef023857db867a19661d9e230695bf1f69e90b923b5f666f0df14bf56",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          262,
          291
        ],
        "normalized_character_range": [
          13244,
          14720
        ],
        "sha256": "320aab2779f78bc0141108f7b2cd90aa3bfd290e00c901785ad0767c86627945"
      },
      "id": "unit.r017.book1.ch13.solutions-manual.manualsolution-008",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch13.text.ex-008",
      "reader": {
        "bbox": [
          54.0,
          435.41180419921875,
          558.001953125,
          452.7467956542969
        ],
        "heading_witness": "Latihan 13.8 (Analisis Kompromi)\n⋆⋆\n",
        "page": 552,
        "page_text_sha256": "41c708443566e43c0cc5fba377866317c2bfbfec4f8577fc61d05c5a158f1ab8"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 34,
        "content_sha256": "3e0826c9d65dbdbc46f710a36a61ed6d824988f40db7b81328ff004398c11acc",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch13.solutions-manual.manualsolution-008",
        "label": "exsol:13.8",
        "line_range": [
          262,
          262
        ],
        "native_record_sha256": "c9b983a75e02ea429f81cdc15a83907bf07198a92a67ffc0b8f9ddbec236b089",
        "normalized_character_range": [
          13244,
          13278
        ],
        "normalized_utf8_byte_range": [
          13244,
          13278
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch13.tex",
        "source_file": {
          "archive": "source",
          "bytes": 20246,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch13.tex",
          "sha256": "e44ff5d9166bd4b8178e805ad0d4945144c1dbf731a911790bab781588b0d91a"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          14786,
          17200
        ],
        "body_sha256": "56eb9845e3818d5a1d6d0d7a169ee1f8b90119524ff4fb6b66cce306d5c69573",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          291,
          334
        ],
        "normalized_character_range": [
          14720,
          17200
        ],
        "sha256": "44e83614dd3415863754028828ed1b34d5430736b8f47b3c7ce82552b59adfc6"
      },
      "id": "unit.r017.book1.ch13.solutions-manual.manualsolution-009",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch13.text.ex-009",
      "reader": {
        "bbox": [
          54.000030517578125,
          70.83483123779297,
          557.9991455078125,
          88.16983032226562
        ],
        "heading_witness": "Latihan 13.9 (Hal yang Tidak Dapat Dilihat oleh Jumlah Berbobot)\n⋆⋆\n",
        "page": 553,
        "page_text_sha256": "e473f39e509118ed65a447127ccf0878478aabd30f9af3b5334ac0b025aab213"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 66,
        "content_sha256": "f165fefd5d9465d611a97a7984de239996949410ec62511afc9cde5b61afa214",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch13.solutions-manual.manualsolution-009",
        "label": "exsol:13.9",
        "line_range": [
          291,
          291
        ],
        "native_record_sha256": "0b500a4586200bdc157bd01a8481ef3fc65f195fccbc52c51c06d1ac0f55b0de",
        "normalized_character_range": [
          14720,
          14786
        ],
        "normalized_utf8_byte_range": [
          14720,
          14786
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch13.tex",
        "source_file": {
          "archive": "source",
          "bytes": 20246,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch13.tex",
          "sha256": "e44ff5d9166bd4b8178e805ad0d4945144c1dbf731a911790bab781588b0d91a"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          17255,
          20246
        ],
        "body_sha256": "5abc05a7712a05c21fe600c961e5f73336293844e510d8d4aee76dca612770f0",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          334,
          394
        ],
        "normalized_character_range": [
          17200,
          20246
        ],
        "sha256": "45295b15c83b713127295aff1dee5975c66a75fc90a87c2c31b1bc8f174b5702"
      },
      "id": "unit.r017.book1.ch13.solutions-manual.manualsolution-010",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch13.text.ex-010",
      "reader": {
        "bbox": [
          54.00000762939453,
          495.58380126953125,
          557.9945678710938,
          512.9188232421875
        ],
        "heading_witness": "Latihan 13.10 (Bobot yang Memilih Setiap Titik Sudut)\n⋆⋆⋆\n",
        "page": 553,
        "page_text_sha256": "e473f39e509118ed65a447127ccf0878478aabd30f9af3b5334ac0b025aab213"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 55,
        "content_sha256": "20ca874409d271c9856f8f3e8d48d96ec6507b9338a4ae397cd3e4170afdfe13",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch13.solutions-manual.manualsolution-010",
        "label": "exsol:13.10",
        "line_range": [
          334,
          334
        ],
        "native_record_sha256": "07f2517a8314f1b47e82aa4b00bf1ccad709419556f74ae5f87856446fec7fe4",
        "normalized_character_range": [
          17200,
          17255
        ],
        "normalized_utf8_byte_range": [
          17200,
          17255
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch13.tex",
        "source_file": {
          "archive": "source",
          "bytes": 20246,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch13.tex",
          "sha256": "e44ff5d9166bd4b8178e805ad0d4945144c1dbf731a911790bab781588b0d91a"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          2171,
          2657
        ],
        "body_sha256": "3cfdf0749777236d3e388163a8aa1fc94887d9e36c90119bd8cb712b9147044b",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          16,
          20
        ],
        "normalized_character_range": [
          2104,
          2657
        ],
        "sha256": "c7083c15734754e10c441feb4b531ee1c4e022a351ab0d3bf0510cc45c44b218"
      },
      "id": "unit.r017.book1.ch14.solutions-manual.subsection-001",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch14.text.learningcheckpoint-001",
      "reader": {
        "bbox": [
          54.000030517578125,
          70.83483123779297,
          388.5534362792969,
          85.1810302734375
        ],
        "heading_witness": "Cek pembelajaran (graf harga tiket pesawat lima kota)\n",
        "page": 555,
        "page_text_sha256": "7b16ed0a8d4bcadd0bf0441e7bd02b1a07e0e725e432200dc209f0284fb39a63"
      },
      "relation_basis": "explicit-manual-heading-and-distinct-numbering-family",
      "source_header": {
        "content_sha256": "a4d43991f2a5281ac67bf6d17b10a1dd0681b26f68c88decb74f069edc684849",
        "native_record_sha256": "3d03d2b14e9f8243c4a52411947786add1457ca375d1c5fb30eb07adb202fa97",
        "normalized_character_range": [
          2104,
          2171
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch14.tex",
        "source_file": {
          "archive": "source",
          "bytes": 22169,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch14.tex",
          "sha256": "ce143e1c44694c9d47d00870fc31d1e63c70c1fe9d679e32593bc5eef9b7689a"
        }
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          2724,
          3398
        ],
        "body_sha256": "6722c2070216ea201eebe80e46663eeb8dc9909320604859ee7b6291028fd26a",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          20,
          35
        ],
        "normalized_character_range": [
          2657,
          3398
        ],
        "sha256": "195108794cf3ed67c6f4188c28241d2f9c47f0452348fc9baaec6179350a5ca3"
      },
      "id": "unit.r017.book1.ch14.solutions-manual.subsection-002",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch14.text.ex-001",
      "reader": {
        "bbox": [
          53.999969482421875,
          194.29685974121094,
          416.6719665527344,
          208.64306640625
        ],
        "heading_witness": "Latihan 14.1: Pohon Merentang Biaya Minimum (Kruskal)\n",
        "page": 555,
        "page_text_sha256": "7b16ed0a8d4bcadd0bf0441e7bd02b1a07e0e725e432200dc209f0284fb39a63"
      },
      "relation_basis": "explicit-manual-heading-and-distinct-numbering-family",
      "source_header": {
        "content_sha256": "5c5f6ccf6942856257a35ad89bcf385a16b60210b9219e679903fbac5a5ce858",
        "native_record_sha256": "430196f7e30dc232ff1bccfd238977a9db30d2c06c15ccc07c484210ade493a0",
        "normalized_character_range": [
          2657,
          2724
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch14.tex",
        "source_file": {
          "archive": "source",
          "bytes": 22169,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch14.tex",
          "sha256": "ce143e1c44694c9d47d00870fc31d1e63c70c1fe9d679e32593bc5eef9b7689a"
        }
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          3434,
          3922
        ],
        "body_sha256": "1bbd8064591c4315afa09ec5869e360caef58ed156d7014bfd151fbd8767856a",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          35,
          44
        ],
        "normalized_character_range": [
          3398,
          3922
        ],
        "sha256": "3f8ba66d84817864f8e3a3eba2759d7533d5c0fa31f3eaed2ebe0ddad7f935d9"
      },
      "id": "unit.r017.book1.ch14.solutions-manual.subsection-003",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch14.text.ex-002",
      "reader": {
        "bbox": [
          53.99999237060547,
          407.05682373046875,
          203.54478454589844,
          421.40301513671875
        ],
        "heading_witness": "Latihan 14.2: NetworkX\n",
        "page": 555,
        "page_text_sha256": "7b16ed0a8d4bcadd0bf0441e7bd02b1a07e0e725e432200dc209f0284fb39a63"
      },
      "relation_basis": "explicit-manual-heading-and-distinct-numbering-family",
      "source_header": {
        "content_sha256": "377d7a41086ae9dda98b5fe99758c920b5fabdeaeab817b01eecfc29804ec939",
        "native_record_sha256": "ac1b57e698cc46024731666abcab494f4ebc5e1d68bc41978900273b58e5f8b2",
        "normalized_character_range": [
          3398,
          3434
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch14.tex",
        "source_file": {
          "archive": "source",
          "bytes": 22169,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch14.tex",
          "sha256": "ce143e1c44694c9d47d00870fc31d1e63c70c1fe9d679e32593bc5eef9b7689a"
        }
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          3964,
          5324
        ],
        "body_sha256": "3852d8976749521717feb02e3196666542902430f9b6b288debe911764f309db",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          44,
          63
        ],
        "normalized_character_range": [
          3922,
          5324
        ],
        "sha256": "64a96efe6017e81ec40e6dfbe788b0023951b6e0a11e6eaf622a49087cc4eb4e"
      },
      "id": "unit.r017.book1.ch14.solutions-manual.subsection-004",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch14.text.ex-003",
      "reader": {
        "bbox": [
          54.0,
          545.6878051757812,
          237.6887664794922,
          560.0339965820312
        ],
        "heading_witness": "Latihan 14.3: Algoritme Prim\n",
        "page": 555,
        "page_text_sha256": "7b16ed0a8d4bcadd0bf0441e7bd02b1a07e0e725e432200dc209f0284fb39a63"
      },
      "relation_basis": "explicit-manual-heading-and-distinct-numbering-family",
      "source_header": {
        "content_sha256": "568b6679067bb639c2a15ec22562067ffbe08c746d78e59e339d119451743311",
        "native_record_sha256": "2c65e9fc5510246cfbed2129ca3a68dcead84acade70de868c32b40a80a206d9",
        "normalized_character_range": [
          3922,
          3964
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch14.tex",
        "source_file": {
          "archive": "source",
          "bytes": 22169,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch14.tex",
          "sha256": "ce143e1c44694c9d47d00870fc31d1e63c70c1fe9d679e32593bc5eef9b7689a"
        }
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          5387,
          5908
        ],
        "body_sha256": "ca2b25ff80c34bc2e409911fb6292a56ecf7853900ddff4388eb83e2226f8115",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          63,
          71
        ],
        "normalized_character_range": [
          5324,
          5908
        ],
        "sha256": "f97b3f977c6783486de59e247c4bb40f2a43c87c79475c62bc9b98c885988606"
      },
      "id": "unit.r017.book1.ch14.solutions-manual.subsection-005",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch14.text.ex-004",
      "reader": {
        "bbox": [
          54.0,
          187.9897918701172,
          376.43096923828125,
          202.33599853515625
        ],
        "heading_witness": "Latihan 14.4: Masalah Lintasan Terpendek (A ke G)\n",
        "page": 556,
        "page_text_sha256": "7b67eaf4b16dce5fa71f931e1be031f25946c4961d3bf0859397282ba3c8b3e9"
      },
      "relation_basis": "explicit-manual-heading-and-distinct-numbering-family",
      "source_header": {
        "content_sha256": "e571cc56827afd4aa8025a7f3759e86290a2e57c34aa38f12d49023b4fb52c25",
        "native_record_sha256": "b85458d3537b617dce30c4242dc5dfc8b13b7c6b17f9abeb79d8a5b013199622",
        "normalized_character_range": [
          5324,
          5387
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch14.tex",
        "source_file": {
          "archive": "source",
          "bytes": 22169,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch14.tex",
          "sha256": "ce143e1c44694c9d47d00870fc31d1e63c70c1fe9d679e32593bc5eef9b7689a"
        }
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          5967,
          6781
        ],
        "body_sha256": "a5fb2e4f5e5a7a7b915e989b847f9d001bf1fae8072fa60ea84e600d1596d7e4",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          71,
          75
        ],
        "normalized_character_range": [
          5908,
          6781
        ],
        "sha256": "01c18bc9b544073c4ff22ec4bcfaa5507786a829a16edbf5500b9cea9f3b97c1"
      },
      "id": "unit.r017.book1.ch14.solutions-manual.subsection-006",
      "material_kind": "solution",
      "question_id": "c130:graph-practice:01",
      "reader": {
        "bbox": [
          54.0,
          414.51287841796875,
          357.2069396972656,
          428.85906982421875
        ],
        "heading_witness": "Keterampilan 1: Graf petugas pos (menggambar)\n",
        "page": 556,
        "page_text_sha256": "7b67eaf4b16dce5fa71f931e1be031f25946c4961d3bf0859397282ba3c8b3e9"
      },
      "relation_basis": "explicit-manual-heading-and-distinct-numbering-family",
      "source_header": {
        "content_sha256": "92979b2ad314102626637048abd30b656f73caae4b91a9cd0c5b6d6a4a9c98de",
        "native_record_sha256": "f167f86d0756c5889cafb1d922bf42c1cc86b0c7c67995f4ff7a8cc42f18657c",
        "normalized_character_range": [
          5908,
          5967
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch14.tex",
        "source_file": {
          "archive": "source",
          "bytes": 22169,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch14.tex",
          "sha256": "ce143e1c44694c9d47d00870fc31d1e63c70c1fe9d679e32593bc5eef9b7689a"
        }
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          6843,
          8116
        ],
        "body_sha256": "74df2d0f286de8cec0ef94f795aa7e5780904ce68bdb426b92dbde3de7d0d077",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          75,
          83
        ],
        "normalized_character_range": [
          6781,
          8116
        ],
        "sha256": "bdcb84e979ea2b812cea6b7ffb27085eb28d7067f58d9b882c92af2ca2cb9ac3"
      },
      "id": "unit.r017.book1.ch14.solutions-manual.subsection-007",
      "material_kind": "solution",
      "question_id": "c130:graph-practice:02",
      "reader": {
        "bbox": [
          54.0,
          583.478759765625,
          381.6098327636719,
          597.824951171875
        ],
        "heading_witness": "Keterampilan 2: Graf tujuh jembatan (menggambar)\n",
        "page": 556,
        "page_text_sha256": "7b67eaf4b16dce5fa71f931e1be031f25946c4961d3bf0859397282ba3c8b3e9"
      },
      "relation_basis": "explicit-manual-heading-and-distinct-numbering-family",
      "source_header": {
        "content_sha256": "40d22635b828cb5a9bdc15e5d9165ebe2ffdc3be3c346b174008a7039669c93c",
        "native_record_sha256": "430b513ab5913ab44b346a0151ba31171d211133213dd607451b367857f00ed1",
        "normalized_character_range": [
          6781,
          6843
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch14.tex",
        "source_file": {
          "archive": "source",
          "bytes": 22169,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch14.tex",
          "sha256": "ce143e1c44694c9d47d00870fc31d1e63c70c1fe9d679e32593bc5eef9b7689a"
        }
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          8187,
          8665
        ],
        "body_sha256": "0fef956e534f89045d3e9cff1a0f49cb7cff2866df2050f08903fb2367dbfbd8",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          83,
          89
        ],
        "normalized_character_range": [
          8116,
          8665
        ],
        "sha256": "550e9723f7f07918ec5225e038159f4da72c7c14b99a01d0552d8a08ecf09452"
      },
      "id": "unit.r017.book1.ch14.solutions-manual.subsection-008",
      "material_kind": "solution",
      "question_id": "c130:graph-practice:03",
      "reader": {
        "bbox": [
          54.0,
          203.15782165527344,
          440.5727844238281,
          217.5040283203125
        ],
        "heading_witness": "Keterampilan 3: Graf waktu berkendara Dallas (menggambar)\n",
        "page": 557,
        "page_text_sha256": "b3f7e64247a9699cee4962dba76533b650cde431e3cc79396a5425c8a52e240a"
      },
      "relation_basis": "explicit-manual-heading-and-distinct-numbering-family",
      "source_header": {
        "content_sha256": "8fe745f775c5abd241ec07f54a35606d3568a0eb1143180d95eadaf68a5c7b85",
        "native_record_sha256": "c1389350187003f1fc2c9e7c148a4a504b447adf7c3e9e0ec0f3c91578b83e6e",
        "normalized_character_range": [
          8116,
          8187
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch14.tex",
        "source_file": {
          "archive": "source",
          "bytes": 22169,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch14.tex",
          "sha256": "ce143e1c44694c9d47d00870fc31d1e63c70c1fe9d679e32593bc5eef9b7689a"
        }
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          8732,
          9163
        ],
        "body_sha256": "e28275482b7d57455006746d5b5d9ee7e6419cb880dc3dca2fbe0e8b1bd00cc3",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          89,
          95
        ],
        "normalized_character_range": [
          8665,
          9163
        ],
        "sha256": "72817cfa465b3f6fc95020dba6234dba39aac56479e7f4bca671298e3a6e97e8"
      },
      "id": "unit.r017.book1.ch14.solutions-manual.subsection-009",
      "material_kind": "solution",
      "question_id": "c130:graph-practice:04",
      "reader": {
        "bbox": [
          53.999969482421875,
          326.6198425292969,
          404.76458740234375,
          340.9660339355469
        ],
        "heading_witness": "Keterampilan 4: Graf harga tiket pesawat (menggambar)\n",
        "page": 557,
        "page_text_sha256": "b3f7e64247a9699cee4962dba76533b650cde431e3cc79396a5425c8a52e240a"
      },
      "relation_basis": "explicit-manual-heading-and-distinct-numbering-family",
      "source_header": {
        "content_sha256": "65c04019b8948c67a93705ec2c08ff2fdfd119c39a18751a40a033dc75241974",
        "native_record_sha256": "7461d3e60797cf6b81d27976b302376e5480d40b02ce33eba60f63dcdea18f93",
        "normalized_character_range": [
          8665,
          8732
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch14.tex",
        "source_file": {
          "archive": "source",
          "bytes": 22169,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch14.tex",
          "sha256": "ce143e1c44694c9d47d00870fc31d1e63c70c1fe9d679e32593bc5eef9b7689a"
        }
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          9218,
          9524
        ],
        "body_sha256": "d7c15031bde9500aedf4ed1890ff6596e3fd75ef456e848e822ec4fa7b5f8bd8",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          95,
          103
        ],
        "normalized_character_range": [
          9163,
          9524
        ],
        "sha256": "08757e23a9a8dd0f58b9b32057a837e14456578090b34c05e08de6e68e568fb5"
      },
      "id": "unit.r017.book1.ch14.solutions-manual.subsection-010",
      "material_kind": "solution",
      "question_id": "c130:graph-practice:05",
      "reader": {
        "bbox": [
          54.00000762939453,
          450.0827941894531,
          323.85198974609375,
          464.4289855957031
        ],
        "heading_witness": "Keterampilan 5: Derajat pada graf pertama\n",
        "page": 557,
        "page_text_sha256": "b3f7e64247a9699cee4962dba76533b650cde431e3cc79396a5425c8a52e240a"
      },
      "relation_basis": "explicit-manual-heading-and-distinct-numbering-family",
      "source_header": {
        "content_sha256": "cb29a899dff67b3ca2e5204e243f80edb8f108b98afe5ec05498cce6c65e684d",
        "native_record_sha256": "1a118ff6d066769fc41dc64faab988297cd4d3a2321d4549d15c9d3f2855a344",
        "normalized_character_range": [
          9163,
          9218
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch14.tex",
        "source_file": {
          "archive": "source",
          "bytes": 22169,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch14.tex",
          "sha256": "ce143e1c44694c9d47d00870fc31d1e63c70c1fe9d679e32593bc5eef9b7689a"
        }
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          9577,
          9924
        ],
        "body_sha256": "06360b63c56ee9f98c4055ae99973e29fdd65ccb8173c6933faa3445ba7e3ff6",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          103,
          111
        ],
        "normalized_character_range": [
          9524,
          9924
        ],
        "sha256": "bb105e65e43b648502d713e4e97f9646023a4b884e665df8f96097c5f751776f"
      },
      "id": "unit.r017.book1.ch14.solutions-manual.subsection-011",
      "material_kind": "solution",
      "question_id": "c130:graph-practice:06",
      "reader": {
        "bbox": [
          54.0,
          582.2868041992188,
          308.8889465332031,
          596.6329956054688
        ],
        "heading_witness": "Keterampilan 6: Derajat pada graf kedua\n",
        "page": 557,
        "page_text_sha256": "b3f7e64247a9699cee4962dba76533b650cde431e3cc79396a5425c8a52e240a"
      },
      "relation_basis": "explicit-manual-heading-and-distinct-numbering-family",
      "source_header": {
        "content_sha256": "6728f9ae7db311bb2a64b24bc74c5857c43af4317ec538e8745e70ca074451aa",
        "native_record_sha256": "5d942b24bd83d6969c8e1a8d6f73929264ba643ba333fbd683119aad36ad076f",
        "normalized_character_range": [
          9524,
          9577
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch14.tex",
        "source_file": {
          "archive": "source",
          "bytes": 22169,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch14.tex",
          "sha256": "ce143e1c44694c9d47d00870fc31d1e63c70c1fe9d679e32593bc5eef9b7689a"
        }
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          9992,
          10560
        ],
        "body_sha256": "e65716e63795396320fb6a3dd4307f7418eb8f313642233fb221074d7bc43109",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          111,
          121
        ],
        "normalized_character_range": [
          9924,
          10560
        ],
        "sha256": "69d08d23fd67a9ed3abceb3df1026da1a07b14a6374aa59fab0186fc8f190faf"
      },
      "id": "unit.r017.book1.ch14.solutions-manual.subsection-012",
      "material_kind": "solution",
      "question_id": "c130:graph-practice:07",
      "reader": {
        "bbox": [
          53.999996185302734,
          70.83483123779297,
          411.9521179199219,
          85.1810302734375
        ],
        "heading_witness": "Keterampilan 7: Graf mana yang terhubung (lima simpul)\n",
        "page": 558,
        "page_text_sha256": "e43e8ef3d7b41900117c05f404cf360275844f63c18fe9e15cd82a769e27effe"
      },
      "relation_basis": "explicit-manual-heading-and-distinct-numbering-family",
      "source_header": {
        "content_sha256": "6b671ba1837e9df064a798c42d2ab91bcbba342d38430185149f9c432839f9dd",
        "native_record_sha256": "23a67c141b68fc47d9326c59d7b07d55d9dfb0be15a8228f0ac5e2f61a81e609",
        "normalized_character_range": [
          9924,
          9992
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch14.tex",
        "source_file": {
          "archive": "source",
          "bytes": 22169,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch14.tex",
          "sha256": "ce143e1c44694c9d47d00870fc31d1e63c70c1fe9d679e32593bc5eef9b7689a"
        }
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          10631,
          11359
        ],
        "body_sha256": "e1a0f61b6519a29130231a2d57ca2f1c6813ea0d355319e5f42a1573fe581426",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          121,
          131
        ],
        "normalized_character_range": [
          10560,
          11359
        ],
        "sha256": "222270679fdd13760f094aee6a4c281c0265fd12538db263972c50528035348d"
      },
      "id": "unit.r017.book1.ch14.solutions-manual.subsection-013",
      "material_kind": "solution",
      "question_id": "c130:graph-practice:08",
      "reader": {
        "bbox": [
          54.0,
          239.8009490966797,
          433.4858093261719,
          254.14715576171875
        ],
        "heading_witness": "Keterampilan 8: Graf mana yang terhubung (delapan simpul)\n",
        "page": 558,
        "page_text_sha256": "e43e8ef3d7b41900117c05f404cf360275844f63c18fe9e15cd82a769e27effe"
      },
      "relation_basis": "explicit-manual-heading-and-distinct-numbering-family",
      "source_header": {
        "content_sha256": "44f085dd62297bff7fbb65c51c7a7329e7b2779ed461f760f5da100a35f21c1b",
        "native_record_sha256": "4fa9d008dfcd76e6b7a2c8c2e0ee02aa1df9ea8e3102fd6153f206ec25d7008f",
        "normalized_character_range": [
          10560,
          10631
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch14.tex",
        "source_file": {
          "archive": "source",
          "bytes": 22169,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch14.tex",
          "sha256": "ce143e1c44694c9d47d00870fc31d1e63c70c1fe9d679e32593bc5eef9b7689a"
        }
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          11422,
          12475
        ],
        "body_sha256": "fac5c6c2ceab169bd06b436073e03dfba713e7055aca53e5c45eee2eb5879a70",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          131,
          148
        ],
        "normalized_character_range": [
          11359,
          12475
        ],
        "sha256": "8dd278aba20e8948250809be46e9cc936a75f6be27e7db12ab0af7e407e9075d"
      },
      "id": "unit.r017.book1.ch14.solutions-manual.subsection-014",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch14.text.itemexercise-001",
      "reader": {
        "bbox": [
          54.0,
          423.935791015625,
          358.1682434082031,
          438.281982421875
        ],
        "heading_witness": "Keterampilan 9: Eurail, Bern ke Berlin (Dijkstra)\n",
        "page": 558,
        "page_text_sha256": "e43e8ef3d7b41900117c05f404cf360275844f63c18fe9e15cd82a769e27effe"
      },
      "relation_basis": "explicit-manual-heading-and-distinct-numbering-family",
      "source_header": {
        "content_sha256": "881c772ed21a64a45b065e50b8267d629a538599f86131541f84d5f20d16c1fc",
        "native_record_sha256": "406e86485ac96caf6f1632b8bca0992a40d1681e9f7acbfdc72d7ef40a333470",
        "normalized_character_range": [
          11359,
          11422
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch14.tex",
        "source_file": {
          "archive": "source",
          "bytes": 22169,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch14.tex",
          "sha256": "ce143e1c44694c9d47d00870fc31d1e63c70c1fe9d679e32593bc5eef9b7689a"
        }
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          12532,
          13101
        ],
        "body_sha256": "a8994e014b84c9d0cf9fa504ec24de12038f5e27013b31c7d1a6bf13d63e446b",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          148,
          157
        ],
        "normalized_character_range": [
          12475,
          13101
        ],
        "sha256": "ed1c93f9e26abef84464e75f50c797095b49aa03f856b33624402e657343975a"
      },
      "id": "unit.r017.book1.ch14.solutions-manual.subsection-015",
      "material_kind": "solution",
      "question_id": "c130:graph-practice:10",
      "reader": {
        "bbox": [
          54.000030517578125,
          70.83483123779297,
          322.9339904785156,
          85.1810302734375
        ],
        "heading_witness": "Keterampilan 10: Eurail, Paris ke München\n",
        "page": 559,
        "page_text_sha256": "f3b385d35a8370ed484ccdf6a608502a26cebbf167253cb9829c6b483d81bdc4"
      },
      "relation_basis": "explicit-manual-heading-and-distinct-numbering-family",
      "source_header": {
        "content_sha256": "bf4b3dd6d8792039241b6f851d2244b77cf10f3c496673ffc2689d368f72e29f",
        "native_record_sha256": "9b5532d1d0faecabe73c69315e72cb7da6853e3d4cb85aad00846a317059e6df",
        "normalized_character_range": [
          12475,
          12532
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch14.tex",
        "source_file": {
          "archive": "source",
          "bytes": 22169,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch14.tex",
          "sha256": "ce143e1c44694c9d47d00870fc31d1e63c70c1fe9d679e32593bc5eef9b7689a"
        }
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          13147,
          13650
        ],
        "body_sha256": "91148f7b5908dc33e661ca79fbe1ee39eda6c5e7019815c56c200d13967ef56c",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          157,
          170
        ],
        "normalized_character_range": [
          13101,
          13650
        ],
        "sha256": "80ae2546a9e273cc6652ade712c42a36e18b67756a6e5b5162324b132eb19afc"
      },
      "id": "unit.r017.book1.ch14.solutions-manual.subsection-016",
      "material_kind": "solution",
      "question_id": "c130:graph-practice:11",
      "reader": {
        "bbox": [
          54.0,
          233.37486267089844,
          267.9161682128906,
          247.7210693359375
        ],
        "heading_witness": "Keterampilan 11: MST graf Dallas\n",
        "page": 559,
        "page_text_sha256": "f3b385d35a8370ed484ccdf6a608502a26cebbf167253cb9829c6b483d81bdc4"
      },
      "relation_basis": "explicit-manual-heading-and-distinct-numbering-family",
      "source_header": {
        "content_sha256": "e0c9dc771ea5a9aa130382bdd17758e8ae127575ee3131345d09a7ccd68c4acf",
        "native_record_sha256": "69e964a2e515a1ea29fe3f704fdf9991e451243b0b5fe98736d79446f5756943",
        "normalized_character_range": [
          13101,
          13147
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch14.tex",
        "source_file": {
          "archive": "source",
          "bytes": 22169,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch14.tex",
          "sha256": "ce143e1c44694c9d47d00870fc31d1e63c70c1fe9d679e32593bc5eef9b7689a"
        }
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          13704,
          14101
        ],
        "body_sha256": "9a975048ea37b5355e0e90bdebaa94c7550d8ae157727b6c18435d9265c294a6",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          170,
          174
        ],
        "normalized_character_range": [
          13650,
          14101
        ],
        "sha256": "70d154bd4362dc49ada2538e624cdce60d1a8943705a06dbe6319dbba3082f22"
      },
      "id": "unit.r017.book1.ch14.solutions-manual.subsection-017",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch14.text.itemexercise-002",
      "reader": {
        "bbox": [
          54.00000762939453,
          385.47479248046875,
          332.9331970214844,
          399.82098388671875
        ],
        "heading_witness": "Keterampilan 12: MST untuk lima bangunan\n",
        "page": 559,
        "page_text_sha256": "f3b385d35a8370ed484ccdf6a608502a26cebbf167253cb9829c6b483d81bdc4"
      },
      "relation_basis": "explicit-manual-heading-and-distinct-numbering-family",
      "source_header": {
        "content_sha256": "6a4f2f4f7b4a8aaf26a8fa7d0ab0d6e7cc1911a8f0a378c6f50ac7019f8cd35d",
        "native_record_sha256": "c9a80cc9cdbdb3f711f644223eac312b143d2b00d83c0467743b88be293e267a",
        "normalized_character_range": [
          13650,
          13704
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch14.tex",
        "source_file": {
          "archive": "source",
          "bytes": 22169,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch14.tex",
          "sha256": "ce143e1c44694c9d47d00870fc31d1e63c70c1fe9d679e32593bc5eef9b7689a"
        }
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          14181,
          14769
        ],
        "body_sha256": "f332eeba04ba38d2cba730714997c3cf1866982ff45e73e58693abc264e9197b",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          174,
          183
        ],
        "normalized_character_range": [
          14101,
          14769
        ],
        "sha256": "e7b55b66b9c85694f7e422e114bdc6402118064a57d818892a07eee377ea5251"
      },
      "id": "unit.r017.book1.ch14.solutions-manual.subsection-018",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch14.text.itemexercise-003",
      "reader": {
        "bbox": [
          54.0,
          493.768798828125,
          468.77740478515625,
          508.114990234375
        ],
        "heading_witness": "Keterampilan 13: Kereta Virginia, Bristol ke Washington (Dijkstra)\n",
        "page": 559,
        "page_text_sha256": "f3b385d35a8370ed484ccdf6a608502a26cebbf167253cb9829c6b483d81bdc4"
      },
      "relation_basis": "explicit-manual-heading-and-distinct-numbering-family",
      "source_header": {
        "content_sha256": "8549409835c7798b0aa808cea581e88f2948b073fd7e7f4ccebe1aac3d167407",
        "native_record_sha256": "78e3d2568213c941c6bda0f942b4b92f5af3af1b2f73970fadeb9d53d1e2ea72",
        "normalized_character_range": [
          14101,
          14181
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch14.tex",
        "source_file": {
          "archive": "source",
          "bytes": 22169,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch14.tex",
          "sha256": "ce143e1c44694c9d47d00870fc31d1e63c70c1fe9d679e32593bc5eef9b7689a"
        }
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          14837,
          15600
        ],
        "body_sha256": "2971c95d4a167012fe8634067f96d58770792388a3cc248588247fd4661f2474",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          183,
          197
        ],
        "normalized_character_range": [
          14769,
          15600
        ],
        "sha256": "6a3bfb7a2c0b54b44e14fa0671a411bf3b21eb0db9859ac8c06994a9dd604612"
      },
      "id": "unit.r017.book1.ch14.solutions-manual.subsection-019",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch14.text.itemexercise-004",
      "reader": {
        "bbox": [
          53.999996185302734,
          70.83483123779297,
          401.4363098144531,
          85.1810302734375
        ],
        "heading_witness": "Keterampilan 14: Kruskal pada graf harga tiket pesawat\n",
        "page": 560,
        "page_text_sha256": "6b08694f7e9eaf9b7f8e369842ad1e7001bdacf71904fb91c2d87c6a50432330"
      },
      "relation_basis": "explicit-manual-heading-and-distinct-numbering-family",
      "source_header": {
        "content_sha256": "72ac586d82ded72f8e2660950693e5d1a3a8e0970b6dc83365923d8d71b29d83",
        "native_record_sha256": "5d49da0bb673ee87c6899486575315fe04c6d8c2f58bd79af293dfbf9f11097f",
        "normalized_character_range": [
          14769,
          14837
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch14.tex",
        "source_file": {
          "archive": "source",
          "bytes": 22169,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch14.tex",
          "sha256": "ce143e1c44694c9d47d00870fc31d1e63c70c1fe9d679e32593bc5eef9b7689a"
        }
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          15649,
          16179
        ],
        "body_sha256": "412cbe36c4bf02baa4757bd051d0f826c58f99cb62d00005f118e3fb85626976",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          197,
          201
        ],
        "normalized_character_range": [
          15600,
          16179
        ],
        "sha256": "6daa3ae5de9823959d5140b74018a43b714f32023f6668c89c76d85dd47d7cf1"
      },
      "id": "unit.r017.book1.ch14.solutions-manual.subsection-020",
      "material_kind": "solution",
      "question_id": "c130:graph-practice:15",
      "reader": {
        "bbox": [
          54.0,
          268.27691650390625,
          277.5855712890625,
          282.62310791015625
        ],
        "heading_witness": "Konsep 15: Simpul berderajat ganjil\n",
        "page": 560,
        "page_text_sha256": "6b08694f7e9eaf9b7f8e369842ad1e7001bdacf71904fb91c2d87c6a50432330"
      },
      "relation_basis": "explicit-manual-heading-and-distinct-numbering-family",
      "source_header": {
        "content_sha256": "75a837c0495250e8d7b0e90763dc3fb378293fe90702f3ed9f3d971e4c34c813",
        "native_record_sha256": "8d5b992878a587e2b2c3ad6d445a1090aeaf6c6d3d1bff99e047b3aca39c1fad",
        "normalized_character_range": [
          15600,
          15649
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch14.tex",
        "source_file": {
          "archive": "source",
          "bytes": 22169,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch14.tex",
          "sha256": "ce143e1c44694c9d47d00870fc31d1e63c70c1fe9d679e32593bc5eef9b7689a"
        }
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          16254,
          17498
        ],
        "body_sha256": "121bb41ddd0381d33bd087f258482633b228d03c8be374be2da55608f838ff99",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          201,
          207
        ],
        "normalized_character_range": [
          16179,
          17498
        ],
        "sha256": "600be5b4b4e4384508a2a2c4c60ae10faa0dbc2106c111dc1b8f963294c6afa2"
      },
      "id": "unit.r017.book1.ch14.solutions-manual.subsection-021",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch14.text.itemexercise-005",
      "reader": {
        "bbox": [
          54.0,
          391.7397766113281,
          457.5157470703125,
          406.0859680175781
        ],
        "heading_witness": "Konsep 16: Mengapa sifat rakus berhasil untuk pohon merentang\n",
        "page": 560,
        "page_text_sha256": "6b08694f7e9eaf9b7f8e369842ad1e7001bdacf71904fb91c2d87c6a50432330"
      },
      "relation_basis": "explicit-manual-heading-and-distinct-numbering-family",
      "source_header": {
        "content_sha256": "b5206d6bbbbbef71ce22e255c6f90d8dcd968f045a7dfd13d4f3804c448c9ea9",
        "native_record_sha256": "6f369cb7d918060b6e8264175b4640261ac3a958b5632700a1b5b9258f379409",
        "normalized_character_range": [
          16179,
          16254
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch14.tex",
        "source_file": {
          "archive": "source",
          "bytes": 22169,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch14.tex",
          "sha256": "ce143e1c44694c9d47d00870fc31d1e63c70c1fe9d679e32593bc5eef9b7689a"
        }
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          17568,
          18850
        ],
        "body_sha256": "b3d00dbe2bd888bcfd5017b8757055365857d5720a4ef1640f1dc30f3d162918",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          207,
          213
        ],
        "normalized_character_range": [
          17498,
          18850
        ],
        "sha256": "7aa1e084cabcccc6b0e990576528c0fef51fc9fcfc3fa485e07124300e7cb3cf"
      },
      "id": "unit.r017.book1.ch14.solutions-manual.subsection-022",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch14.text.itemexercise-006",
      "reader": {
        "bbox": [
          54.000030517578125,
          70.83483123779297,
          427.87646484375,
          85.1810302734375
        ],
        "heading_witness": "Konsep 17: Mengapa Dijkstra memerlukan bobot tak negatif\n",
        "page": 561,
        "page_text_sha256": "3b7149fca99e91a410daa604db7f941cbe4fd412f95bf3b8ec48c8f8c36572dc"
      },
      "relation_basis": "explicit-manual-heading-and-distinct-numbering-family",
      "source_header": {
        "content_sha256": "0535a141d2e34f83771087e42ee45327762220a6967958e0f4702c240874cb2e",
        "native_record_sha256": "2a71f4f8daaa0fffa7fb7b521e4fa86ac53e682ef6f670a1de18a0ad5022495f",
        "normalized_character_range": [
          17498,
          17568
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch14.tex",
        "source_file": {
          "archive": "source",
          "bytes": 22169,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch14.tex",
          "sha256": "ce143e1c44694c9d47d00870fc31d1e63c70c1fe9d679e32593bc5eef9b7689a"
        }
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          18915,
          20246
        ],
        "body_sha256": "b9ba91ad6576569588a0ef5fb2f46554a28efbdeba8addf76d33d283b691e806",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          213,
          221
        ],
        "normalized_character_range": [
          18850,
          20246
        ],
        "sha256": "6b37b4b18057da54267fee38e9be98e937fbc453dd0098c53e8db4fb5641451b"
      },
      "id": "unit.r017.book1.ch14.solutions-manual.subsection-023",
      "material_kind": "guide-and-rubric",
      "question_id": "c130:graph-practice:18",
      "reader": {
        "bbox": [
          54.0,
          315.64202880859375,
          373.2604675292969,
          329.98822021484375
        ],
        "heading_witness": "Eksplorasi 18: Jejaring sosial (panduan dan rubrik)\n",
        "page": 561,
        "page_text_sha256": "3b7149fca99e91a410daa604db7f941cbe4fd412f95bf3b8ec48c8f8c36572dc"
      },
      "relation_basis": "explicit-manual-heading-and-distinct-numbering-family",
      "source_header": {
        "content_sha256": "7b63c5e7a9a8081b7bb16a7da837738091f44e00ebb0d182b76d82207372ccae",
        "native_record_sha256": "12bdcc90f303de8e384f08e980fe41e4cd764a14d42aab67cfafe8a52555f106",
        "normalized_character_range": [
          18850,
          18915
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch14.tex",
        "source_file": {
          "archive": "source",
          "bytes": 22169,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch14.tex",
          "sha256": "ce143e1c44694c9d47d00870fc31d1e63c70c1fe9d679e32593bc5eef9b7689a"
        }
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          20313,
          22149
        ],
        "body_sha256": "326cef1cd7a1f98a3dd83f69ff2f15880c314e86d8cabefa1ce2451b705b7d04",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          221,
          230
        ],
        "normalized_character_range": [
          20246,
          22149
        ],
        "sha256": "95df4fe7ed6a6c56e252968005171d665ca1c7e6b3a2b162f34fba6e736e994d"
      },
      "id": "unit.r017.book1.ch14.solutions-manual.subsection-024",
      "material_kind": "guide-and-rubric",
      "question_id": "c130:graph-practice:19",
      "reader": {
        "bbox": [
          54.0,
          575.6177978515625,
          397.8355407714844,
          589.9639892578125
        ],
        "heading_witness": "Eksplorasi 19: Jarak Levenshtein (panduan dan rubrik)\n",
        "page": 561,
        "page_text_sha256": "3b7149fca99e91a410daa604db7f941cbe4fd412f95bf3b8ec48c8f8c36572dc"
      },
      "relation_basis": "explicit-manual-heading-and-distinct-numbering-family",
      "source_header": {
        "content_sha256": "9ae4627cd1918cffbe8408129caa09570709093ed94c3c8357b8e5d289ec6fb9",
        "native_record_sha256": "4e816815ec79a7bed9fd39f4f908409eb0d783f839ac8b1597c9b6ca32bd8aac",
        "normalized_character_range": [
          20246,
          20313
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch14.tex",
        "source_file": {
          "archive": "source",
          "bytes": 22169,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch14.tex",
          "sha256": "ce143e1c44694c9d47d00870fc31d1e63c70c1fe9d679e32593bc5eef9b7689a"
        }
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          1701,
          2501
        ],
        "body_sha256": "0a47c6d4ccd924470845f7990522687e6eb5c8d02edeccb68dac05925c7bf0a5",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          14,
          32
        ],
        "normalized_character_range": [
          1670,
          2501
        ],
        "sha256": "3a593df1caf6c156975d1f03af0eedecd4f3833cf4bf949df9882de81e9f3c56"
      },
      "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-001",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch15.text.ex-001",
      "reader": {
        "bbox": [
          54.0,
          558.8248291015625,
          557.9996337890625,
          576.1597900390625
        ],
        "heading_witness": "Latihan 15.1 (Masalah Ransel)\n⋆\n",
        "page": 562,
        "page_text_sha256": "bb1f0687a805190954de4dafb0eaaa09a60b4401d01570666905d02cd6b54643"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 31,
        "content_sha256": "9d96e5a12ae1467e0be3b72094b621286764c4885976213eeb5c7cda73282662",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-001",
        "label": "exsol:15.1",
        "line_range": [
          14,
          14
        ],
        "native_record_sha256": "307e430a318dfe87ed0331486c1b43ac1bb2139316ab4c622d6d358e0bb3b4a8",
        "normalized_character_range": [
          1670,
          1701
        ],
        "normalized_utf8_byte_range": [
          1670,
          1701
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
        "source_file": {
          "archive": "source",
          "bytes": 20710,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
          "sha256": "85d3a2960c32933717ac172a590085eb510689cc73ab1ec10420ffe2af31e0af"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          2536,
          2999
        ],
        "body_sha256": "5df4825acd3b878401c049d0334866e0c8052c317897fd1fa4cd0fe1dae31f61",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          32,
          42
        ],
        "normalized_character_range": [
          2501,
          2999
        ],
        "sha256": "4229870fb45387bd030df4e1b7efb9328055f23d246471410cdff0afe93287dd"
      },
      "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-002",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch15.text.ex-002",
      "reader": {
        "bbox": [
          54.000030517578125,
          165.55686950683594,
          557.9972534179688,
          182.89187622070312
        ],
        "heading_witness": "Latihan 15.2 (Ransel Mobil Kurir)\n⋆\n",
        "page": 563,
        "page_text_sha256": "3e5395177b6a2e247848eda8a893410b6e531f8a626638076df6eca6011f54fc"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 35,
        "content_sha256": "b0dae59b1d46a82daffbf4e0fe98ba767103a79ec21487ac32a34d2fa565cbb9",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-002",
        "label": "exsol:15.2",
        "line_range": [
          32,
          32
        ],
        "native_record_sha256": "c14927fc0b0688f50eb701a10bf961d680aeda1df46a5fcb77b28b2fa8eebe36",
        "normalized_character_range": [
          2501,
          2536
        ],
        "normalized_utf8_byte_range": [
          2501,
          2536
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
        "source_file": {
          "archive": "source",
          "bytes": 20710,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
          "sha256": "85d3a2960c32933717ac172a590085eb510689cc73ab1ec10420ffe2af31e0af"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          3042,
          4001
        ],
        "body_sha256": "1b79a43acd5ae4deb124e0b6e4f40c1f0880e272633f78c75954b445b49dffaa",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          42,
          56
        ],
        "normalized_character_range": [
          2999,
          4001
        ],
        "sha256": "918d7f19e66e9b61b1b23d339274eafe465c7b238aa5be0717ec9f460a96ede7"
      },
      "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-003",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch15.text.ex-003",
      "reader": {
        "bbox": [
          53.9998779296875,
          310.6708068847656,
          558.001708984375,
          328.00579833984375
        ],
        "heading_witness": "Latihan 15.3 (Mencakup Sebuah Kota Kecil)\n⋆\n",
        "page": 563,
        "page_text_sha256": "3e5395177b6a2e247848eda8a893410b6e531f8a626638076df6eca6011f54fc"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 43,
        "content_sha256": "e29d4a4c6c67de5a5a075a17833535aba3af0770cdaa81f193a18852b50d369b",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-003",
        "label": "exsol:15.3",
        "line_range": [
          42,
          42
        ],
        "native_record_sha256": "d61f48e4bc8eb9f4086e7e94a4d399260ec3ccd0412adcf748b1fa54a420b0ac",
        "normalized_character_range": [
          2999,
          3042
        ],
        "normalized_utf8_byte_range": [
          2999,
          3042
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
        "source_file": {
          "archive": "source",
          "bytes": 20710,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
          "sha256": "85d3a2960c32933717ac172a590085eb510689cc73ab1ec10420ffe2af31e0af"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          4040,
          4580
        ],
        "body_sha256": "26ca3cce550d8248d44ace818dda7fa47d920baab6bc4192ee85e33d97874021",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          56,
          70
        ],
        "normalized_character_range": [
          4001,
          4580
        ],
        "sha256": "33b00b76f2648263ceb19ff2fc4d97bced67bcf8625e54ea2221ce8520dce2a5"
      },
      "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-004",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch15.text.ex-004",
      "reader": {
        "bbox": [
          53.99989318847656,
          555.8358154296875,
          558.0042114257812,
          573.1707763671875
        ],
        "heading_witness": "Latihan 15.4 (Latihan Aktivasi Big-M)\n⋆\n",
        "page": 563,
        "page_text_sha256": "3e5395177b6a2e247848eda8a893410b6e531f8a626638076df6eca6011f54fc"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 39,
        "content_sha256": "13260f773a9c05e4c85ba9d53ac794ff5781c9758acb9cd6d3abfc449fabb037",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-004",
        "label": "exsol:15.4",
        "line_range": [
          56,
          56
        ],
        "native_record_sha256": "1b9ebd0cc9889e9f8bf82e0ec694f417d2c86159a315d524df18478e167eadcb",
        "normalized_character_range": [
          4001,
          4040
        ],
        "normalized_utf8_byte_range": [
          4001,
          4040
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
        "source_file": {
          "archive": "source",
          "bytes": 20710,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
          "sha256": "85d3a2960c32933717ac172a590085eb510689cc73ab1ec10420ffe2af31e0af"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          4634,
          5359
        ],
        "body_sha256": "e8e0a2adbca2bb65151ea0d5f1d96d82d6046e8f94f4623acbc1118929b68904",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          70,
          84
        ],
        "normalized_character_range": [
          4580,
          5359
        ],
        "sha256": "abb0ff4cbb34b624a9c6ea344b9e8f5fe0ac5cb7ada7b2c57e1059f196772c74"
      },
      "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-005",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch15.text.ex-005",
      "reader": {
        "bbox": [
          53.999996185302734,
          70.83483123779297,
          558.0040893554688,
          88.16983032226562
        ],
        "heading_witness": "Latihan 15.5 (Menentukan Lokasi Terminal Distribusi)\n⋆⋆\n",
        "page": 564,
        "page_text_sha256": "bca9913a4ebb618605572b27037f8dd214221bfce50692daccb08c339905dfa2"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 54,
        "content_sha256": "fabf9a5e6ee3dcb12624a7a3d12b0443677451ffba2e70cc67df161361fcd6c2",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-005",
        "label": "exsol:15.5",
        "line_range": [
          70,
          70
        ],
        "native_record_sha256": "fdc2b4a84b16a30d8a5eb83264ed2ceae1632bef51f5ba92a37da9eed98e7cb5",
        "normalized_character_range": [
          4580,
          4634
        ],
        "normalized_utf8_byte_range": [
          4580,
          4634
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
        "source_file": {
          "archive": "source",
          "bytes": 20710,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
          "sha256": "85d3a2960c32933717ac172a590085eb510689cc73ab1ec10420ffe2af31e0af"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          5389,
          6306
        ],
        "body_sha256": "74f86ae3b85dc8433c57f140e93e30c8f4685d3fd0eec4e59b60cf12fe73d790",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          84,
          102
        ],
        "normalized_character_range": [
          5359,
          6306
        ],
        "sha256": "6eb961d57a4949809d10e7b1df1111eb747548256fd1080da0e687a4101a0963"
      },
      "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-006",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch15.text.ex-006",
      "reader": {
        "bbox": [
          53.999847412109375,
          385.36279296875,
          557.9994506835938,
          402.6977844238281
        ],
        "heading_witness": "Latihan 15.6 (Lokasi Gudang)\n⋆⋆\n",
        "page": 564,
        "page_text_sha256": "bca9913a4ebb618605572b27037f8dd214221bfce50692daccb08c339905dfa2"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 30,
        "content_sha256": "5f1320179785c04b3c772c2c37b9214815cff03a10bf0a0ee6698a9793bd5db4",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-006",
        "label": "exsol:15.6",
        "line_range": [
          84,
          84
        ],
        "native_record_sha256": "c0ce57b4c49375861f3c1e14f2245fe3afce6c3c43233162146ac646b3352654",
        "normalized_character_range": [
          5359,
          5389
        ],
        "normalized_utf8_byte_range": [
          5359,
          5389
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
        "source_file": {
          "archive": "source",
          "bytes": 20710,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
          "sha256": "85d3a2960c32933717ac172a590085eb510689cc73ab1ec10420ffe2af31e0af"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          6363,
          7083
        ],
        "body_sha256": "f46aa12421d7141f1011ff12fc4d0b0c2653df549d57876538ce9ab17c7ae129",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          102,
          117
        ],
        "normalized_character_range": [
          6306,
          7083
        ],
        "sha256": "76d2d17bbdf95d45957ac6a12f3a0a6ed5d771cb759bbfe2cce3a0dcd954d0a0"
      },
      "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-007",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch15.text.ex-007",
      "reader": {
        "bbox": [
          54.000030517578125,
          70.83483123779297,
          557.9968872070312,
          88.16983032226562
        ],
        "heading_witness": "Latihan 15.7 (Penganggaran Modal dengan Kebergantungan)\n⋆⋆\n",
        "page": 565,
        "page_text_sha256": "683ee09bc2ea8157fd191122bf2e5480432b3bee5de0a36ad492b2915ff86b78"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 57,
        "content_sha256": "d372dae31492db4ce4a0c8c352b8fbce32370f060bbe24189da32cc2dcc3c8a5",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-007",
        "label": "exsol:15.7",
        "line_range": [
          102,
          102
        ],
        "native_record_sha256": "e40623b3b1a449603305f601c7da416066547903c10984ea7c288ac9f1da8080",
        "normalized_character_range": [
          6306,
          6363
        ],
        "normalized_utf8_byte_range": [
          6306,
          6363
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
        "source_file": {
          "archive": "source",
          "bytes": 20710,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
          "sha256": "85d3a2960c32933717ac172a590085eb510689cc73ab1ec10420ffe2af31e0af"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          7138,
          8297
        ],
        "body_sha256": "56c6cf97feb73ab78c30400e3261b42b691aac78997ddd498d8f2013c9d47e28",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          117,
          139
        ],
        "normalized_character_range": [
          7083,
          8297
        ],
        "sha256": "818b781f3d60faf3f53bfdbc3317662cb274bae4dc943147fb16616a78aa8f72"
      },
      "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-008",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch15.text.ex-008",
      "reader": {
        "bbox": [
          53.99981689453125,
          324.686767578125,
          558.00146484375,
          342.0217590332031
        ],
        "heading_witness": "Latihan 15.8 (Lokasi Fasilitas: Dua Pusat Distribusi)\n⋆⋆\n",
        "page": 565,
        "page_text_sha256": "683ee09bc2ea8157fd191122bf2e5480432b3bee5de0a36ad492b2915ff86b78"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 55,
        "content_sha256": "fc9e90168a1e24ac8fd5dd054cf3b49fdb5789bcd26e25127ff72c9f969bc40a",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-008",
        "label": "exsol:15.8",
        "line_range": [
          117,
          117
        ],
        "native_record_sha256": "5b77f50306defe316f1d3ab367ac0673c9c5fe0ffa7e395cf9ca85bb40464d83",
        "normalized_character_range": [
          7083,
          7138
        ],
        "normalized_utf8_byte_range": [
          7083,
          7138
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
        "source_file": {
          "archive": "source",
          "bytes": 20710,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
          "sha256": "85d3a2960c32933717ac172a590085eb510689cc73ab1ec10420ffe2af31e0af"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          8339,
          9396
        ],
        "body_sha256": "ce2422fa1e08c586e9c0853a7376ef08eb4e11b8fa23c5ac007a3c96b92ae40f",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          139,
          154
        ],
        "normalized_character_range": [
          8297,
          9396
        ],
        "sha256": "a232b5c19890c81f8f0453569187caeba0d9fe675643ed61e3445688d0622eee"
      },
      "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-009",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch15.text.ex-009",
      "reader": {
        "bbox": [
          53.999996185302734,
          70.83483123779297,
          558.0042724609375,
          88.16983032226562
        ],
        "heading_witness": "Latihan 15.9 (Mewarnai Graf Lima Simpul)\n⋆⋆\n",
        "page": 566,
        "page_text_sha256": "6a8ae370705c710983a02abef364746dec16825b3bd735a55b61c6b3a663f2e1"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 42,
        "content_sha256": "d4b4e22c0dfd73d5310e5fdae32914d3c1f9aa48b938c8e7312706d9bce35431",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-009",
        "label": "exsol:15.9",
        "line_range": [
          139,
          139
        ],
        "native_record_sha256": "2295793a26f7c239c1aefefb071bf894cc6608af210d6f9835c2899726182760",
        "normalized_character_range": [
          8297,
          8339
        ],
        "normalized_utf8_byte_range": [
          8297,
          8339
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
        "source_file": {
          "archive": "source",
          "bytes": 20710,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
          "sha256": "85d3a2960c32933717ac172a590085eb510689cc73ab1ec10420ffe2af31e0af"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          9432,
          10776
        ],
        "body_sha256": "7d8c0d7ada0f52e5f1e8d57cd6ff0b7e60fe0f0d80f393c265250b99d0e5f7fa",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          154,
          171
        ],
        "normalized_character_range": [
          9396,
          10776
        ],
        "sha256": "87c2c22a1fc4bc72e5b925763cc01c29c9b76be957f52c49707ea96c2f02d281"
      },
      "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-010",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch15.text.ex-010",
      "reader": {
        "bbox": [
          54.000030517578125,
          371.4058532714844,
          558.001953125,
          388.7408447265625
        ],
        "heading_witness": "Latihan 15.10 (Kendala Salah Satu)\n⋆⋆\n",
        "page": 566,
        "page_text_sha256": "6a8ae370705c710983a02abef364746dec16825b3bd735a55b61c6b3a663f2e1"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 36,
        "content_sha256": "11896946fdef30cd697f631b6447750b09796f945f211dca55ec7a66037480dc",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-010",
        "label": "exsol:15.10",
        "line_range": [
          154,
          154
        ],
        "native_record_sha256": "72804ea22ac5dc4119857aa46733f2de4d785118f4f10924198b59e70efdc5b8",
        "normalized_character_range": [
          9396,
          9432
        ],
        "normalized_utf8_byte_range": [
          9396,
          9432
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
        "source_file": {
          "archive": "source",
          "bytes": 20710,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
          "sha256": "85d3a2960c32933717ac172a590085eb510689cc73ab1ec10420ffe2af31e0af"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          10821,
          11617
        ],
        "body_sha256": "c3e01b6a59d53753ce564fe70363d3bf5131d4138e6253b3f82a26973af28598",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          171,
          183
        ],
        "normalized_character_range": [
          10776,
          11617
        ],
        "sha256": "5c09469407d96f502346fd780e4f7e807e37c7078c7afcda8aa8d56c9a841772"
      },
      "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-011",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch15.text.ex-011",
      "reader": {
        "bbox": [
          54.000030517578125,
          70.83483123779297,
          558.0018310546875,
          88.16983032226562
        ],
        "heading_witness": "Latihan 15.11 (Produksi dengan Biaya Tetap)\n⋆⋆\n",
        "page": 567,
        "page_text_sha256": "a3518cf3d8690c1dd06918dd14f48f023f4641f57d86de7a317be2ebdd5d1f85"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 45,
        "content_sha256": "6a66336c463b6aa88d6686bfd9559688012d5a71cb46a96585ec85a2c7178527",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-011",
        "label": "exsol:15.11",
        "line_range": [
          171,
          171
        ],
        "native_record_sha256": "9c5c46a2c4bf007e1485923e98292d5eff80d31dc6845c428ee5c37f4cd00e35",
        "normalized_character_range": [
          10776,
          10821
        ],
        "normalized_utf8_byte_range": [
          10776,
          10821
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
        "source_file": {
          "archive": "source",
          "bytes": 20710,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
          "sha256": "85d3a2960c32933717ac172a590085eb510689cc73ab1ec10420ffe2af31e0af"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          11669,
          13544
        ],
        "body_sha256": "3bed22d11c85a9d9db0ee6eb2709917815cffe123b10115d6b7dd91340d74d2e",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          183,
          195
        ],
        "normalized_character_range": [
          11617,
          13544
        ],
        "sha256": "83d461eed55b94103b0b9e544e99254a34e2797194b5adf576b53e1cd18fb200"
      },
      "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-012",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch15.text.ex-012",
      "reader": {
        "bbox": [
          54.0,
          263.7119140625,
          557.9945068359375,
          281.0469055175781
        ],
        "heading_witness": "Latihan 15.12 (Mengapa Pembulatan Relaksasi Gagal)\n⋆⋆\n",
        "page": 567,
        "page_text_sha256": "a3518cf3d8690c1dd06918dd14f48f023f4641f57d86de7a317be2ebdd5d1f85"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 52,
        "content_sha256": "6173da7c05e61ee5fa398e56a6373a849b8a2869bd5f73bf5eed1c1e75defcc0",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-012",
        "label": "exsol:15.12",
        "line_range": [
          183,
          183
        ],
        "native_record_sha256": "1292b57263e1d0abc0cd3e8e51a3f834e3b3b80b5f0eab04dd4565ce4dc22e3a",
        "normalized_character_range": [
          11617,
          11669
        ],
        "normalized_utf8_byte_range": [
          11617,
          11669
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
        "source_file": {
          "archive": "source",
          "bytes": 20710,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
          "sha256": "85d3a2960c32933717ac172a590085eb510689cc73ab1ec10420ffe2af31e0af"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          13588,
          15176
        ],
        "body_sha256": "c01e02772c53c811aeadfee401596276c277c5a8889964d0b5a271237bec7bfb",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          195,
          203
        ],
        "normalized_character_range": [
          13544,
          15176
        ],
        "sha256": "1e9d5926ffb4381e6491994533fa504414553455b5eed0dedffaa61844b9a71b"
      },
      "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-013",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch15.text.ex-013",
      "reader": {
        "bbox": [
          53.999996185302734,
          70.83483123779297,
          558.004150390625,
          88.16983032226562
        ],
        "heading_witness": "Latihan 15.13 (Kapan Big-M Terlalu Besar?)\n⋆⋆\n",
        "page": 568,
        "page_text_sha256": "3984430f675848b0f719681e52ce49a412054201094ddd6809d6ea4f72143d93"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 44,
        "content_sha256": "9020ec9dcbb50def8f7cbf0a54e3300ee14d25d2c0c31fce9c9839255a026d07",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-013",
        "label": "exsol:15.13",
        "line_range": [
          195,
          195
        ],
        "native_record_sha256": "9ee83230a9eeae9dd7d90b607ae175efd007b42b49f0fafc72a6eda272655a81",
        "normalized_character_range": [
          13544,
          13588
        ],
        "normalized_utf8_byte_range": [
          13544,
          13588
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
        "source_file": {
          "archive": "source",
          "bytes": 20710,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
          "sha256": "85d3a2960c32933717ac172a590085eb510689cc73ab1ec10420ffe2af31e0af"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          15225,
          17396
        ],
        "body_sha256": "361a5d475a086860b32ac6633b81b35f38b6aaa87a6b9eaf969a2a9451a082c1",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          203,
          219
        ],
        "normalized_character_range": [
          15176,
          17396
        ],
        "sha256": "3faddc7bc4943740e992ed26b17e5e6f7290b4272c0b3c948cc96364b1bbda67"
      },
      "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-014",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch15.text.ex-014",
      "reader": {
        "bbox": [
          53.999969482421875,
          363.08709716796875,
          557.9969482421875,
          380.4220886230469
        ],
        "heading_witness": "Latihan 15.14 (Membaca Model Pertukaran Ginjal)\n⋆⋆\n",
        "page": 568,
        "page_text_sha256": "3984430f675848b0f719681e52ce49a412054201094ddd6809d6ea4f72143d93"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 49,
        "content_sha256": "fdbae6a1dbf97eba31ca60acc662b422aad9f79634caa854a6719b26a844a0b4",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-014",
        "label": "exsol:15.14",
        "line_range": [
          203,
          203
        ],
        "native_record_sha256": "dad33c93c98a5816f4f9fdbaa0626a91b495c5adc4c7901d47212c18f73d7be2",
        "normalized_character_range": [
          15176,
          15225
        ],
        "normalized_utf8_byte_range": [
          15176,
          15225
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
        "source_file": {
          "archive": "source",
          "bytes": 20710,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
          "sha256": "85d3a2960c32933717ac172a590085eb510689cc73ab1ec10420ffe2af31e0af"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          17445,
          19035
        ],
        "body_sha256": "c4f45bcf55a9fb830959af2e3f94d2e911c8bc928205af75d49dc89a3a45ae6a",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          219,
          240
        ],
        "normalized_character_range": [
          17396,
          19035
        ],
        "sha256": "ffd2994a7f0ff12f5c177d75e16b1c2ff9a67451f5f57a36235ca9259fd9a181"
      },
      "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-015",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch15.text.ex-015",
      "reader": {
        "bbox": [
          54.000030517578125,
          70.83483123779297,
          557.9993896484375,
          88.16983032226562
        ],
        "heading_witness": "Latihan 15.15 (Biaya Produksi Linier Sepenggal)\n⋆⋆⋆\n",
        "page": 569,
        "page_text_sha256": "d6dec15c19caff5dd6c917c7b84cfb7b68804caffbb570f49434eb8a90e69014"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 49,
        "content_sha256": "d5583825262828b48d7285650083966213a8fc832e050df362fc592e841d2a5d",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-015",
        "label": "exsol:15.15",
        "line_range": [
          219,
          219
        ],
        "native_record_sha256": "ac7cdd65f33a28f15d18caa6acfd7bd4e658771cd63e3f44371805f8a63c3a20",
        "normalized_character_range": [
          17396,
          17445
        ],
        "normalized_utf8_byte_range": [
          17396,
          17445
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
        "source_file": {
          "archive": "source",
          "bytes": 20710,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
          "sha256": "85d3a2960c32933717ac172a590085eb510689cc73ab1ec10420ffe2af31e0af"
        },
        "type": "solution"
      }
    },
    {
      "complete_material_span": {
        "body_after_header_range": [
          19078,
          20710
        ],
        "body_sha256": "b6177000621ff172148b09ad2c0b44ed21096c14a27e3c437b0b68c02fff9c63",
        "boundary_rule": "next-manual-heading-or-member-end",
        "line_range": [
          240,
          264
        ],
        "normalized_character_range": [
          19035,
          20710
        ],
        "sha256": "551f93253d46ec70e1ccb5b184509aa16eb07a1540fd09d7498f31a3c3a90129"
      },
      "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-016",
      "material_kind": "solution",
      "question_id": "unit.r017.book1.ch15.text.ex-016",
      "reader": {
        "bbox": [
          53.999794006347656,
          463.9197998046875,
          558.0015258789062,
          481.2547912597656
        ],
        "heading_witness": "Latihan 15.16 (Dua Pekerjaan, Tiga Mesin)\n⋆⋆⋆\n",
        "page": 569,
        "page_text_sha256": "d6dec15c19caff5dd6c917c7b84cfb7b68804caffbb570f49434eb8a90e69014"
      },
      "relation_basis": "explicit-manual-exercise-number",
      "source_header": {
        "content_bytes": 43,
        "content_sha256": "a856ace2d688f9a44f1c8b928dc3a3ac0cea42629cc0b30e0f487f3531118ab5",
        "environment": "manualsolution",
        "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-016",
        "label": "exsol:15.16",
        "line_range": [
          240,
          240
        ],
        "native_record_sha256": "cd2c0fefb2ff631f9c24e88131c498eeecc91b324da876803a6aad455f6dac7b",
        "normalized_character_range": [
          19035,
          19078
        ],
        "normalized_utf8_byte_range": [
          19035,
          19078
        ],
        "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
        "source_file": {
          "archive": "source",
          "bytes": 20710,
          "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
          "sha256": "85d3a2960c32933717ac172a590085eb510689cc73ab1ec10420ffe2af31e0af"
        },
        "type": "solution"
      }
    }
  ],
  "native_backend": {
    "bytes": 26022240,
    "member": "backend/dist/backend-v0.json",
    "sha256": "7c2ec930a7472021b37101f860b2b1846503fd52f4b495f863508cd91d741804"
  },
  "native_individual_spans": [
    {
      "content_bytes": 1197,
      "content_sha256": "f02d1682565ddb5b65211af8e752555ce1b77530d4a82d584a74ed4957a13ae4",
      "environment": "solution",
      "id": "unit.r017.book1.appendix.linear-systems.gaussian.solution-001",
      "label": null,
      "line_range": [
        342,
        383
      ],
      "native_record_sha256": "95f7fcb7b3ff27b2ebe7312a5f093888e15735821e6fcd652e5e2fd199ab4f36",
      "normalized_character_range": [
        10871,
        12068
      ],
      "normalized_utf8_byte_range": [
        10871,
        12068
      ],
      "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/systemsofequationsAlgebraicProceduresGaussianElimination.tex",
      "source_file": {
        "archive": "source",
        "bytes": 32542,
        "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/systemsofequationsAlgebraicProceduresGaussianElimination.tex",
        "sha256": "ff082d784a2caddec46097f6c12814dd1fbbfd16205e3e93625fed0d345fb173"
      },
      "type": "solution"
    },
    {
      "content_bytes": 2866,
      "content_sha256": "dd3fd098b792499b360cacd9a3dd4cb2d702617ec716d99a9a7a267e6fa6da98",
      "environment": "solution",
      "id": "unit.r017.book1.appendix.linear-systems.gaussian.solution-002",
      "label": null,
      "line_range": [
        454,
        543
      ],
      "native_record_sha256": "079126f3b73de14be69ca869c9b75fff81b3a442cd08fc3c9e01ff4e143116d4",
      "normalized_character_range": [
        14969,
        17835
      ],
      "normalized_utf8_byte_range": [
        14969,
        17835
      ],
      "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/systemsofequationsAlgebraicProceduresGaussianElimination.tex",
      "source_file": {
        "archive": "source",
        "bytes": 32542,
        "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/systemsofequationsAlgebraicProceduresGaussianElimination.tex",
        "sha256": "ff082d784a2caddec46097f6c12814dd1fbbfd16205e3e93625fed0d345fb173"
      },
      "type": "solution"
    },
    {
      "content_bytes": 2202,
      "content_sha256": "9006609c67ed0798f7dae13713915b0656433a1c916a0890ea891d6b766c3952",
      "environment": "solution",
      "id": "unit.r017.book1.appendix.linear-systems.gaussian.solution-003",
      "label": null,
      "line_range": [
        625,
        686
      ],
      "native_record_sha256": "a75d8b18ff8b8c15e877f22531b6f20ac55496f2c1663104b2617321ff240423",
      "normalized_character_range": [
        20432,
        22634
      ],
      "normalized_utf8_byte_range": [
        20432,
        22634
      ],
      "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/systemsofequationsAlgebraicProceduresGaussianElimination.tex",
      "source_file": {
        "archive": "source",
        "bytes": 32542,
        "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/systemsofequationsAlgebraicProceduresGaussianElimination.tex",
        "sha256": "ff082d784a2caddec46097f6c12814dd1fbbfd16205e3e93625fed0d345fb173"
      },
      "type": "solution"
    },
    {
      "content_bytes": 3821,
      "content_sha256": "5944c8ace58b33b520e250f912517adbdd499e0c7fcb25b2696e7480b0b596d8",
      "environment": "solution",
      "id": "unit.r017.book1.appendix.linear-systems.gaussian.solution-004",
      "label": null,
      "line_range": [
        702,
        821
      ],
      "native_record_sha256": "9e8bea52e186942455460d4dd94fd18d1ab320deb8390f225b7255302d18685a",
      "normalized_character_range": [
        23027,
        26848
      ],
      "normalized_utf8_byte_range": [
        23027,
        26848
      ],
      "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/systemsofequationsAlgebraicProceduresGaussianElimination.tex",
      "source_file": {
        "archive": "source",
        "bytes": 32542,
        "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/systemsofequationsAlgebraicProceduresGaussianElimination.tex",
        "sha256": "ff082d784a2caddec46097f6c12814dd1fbbfd16205e3e93625fed0d345fb173"
      },
      "type": "solution"
    },
    {
      "content_bytes": 2100,
      "content_sha256": "b96b2ef0a549809bb6a37f1be50e2fed71ddbd127c169ec274eb93153d382b06",
      "environment": "solution",
      "id": "unit.r017.book1.appendix.linear-systems.gaussian.solution-005",
      "label": "twoparameters1",
      "line_range": [
        837,
        920
      ],
      "native_record_sha256": "57b10b6fe27587fc8d71108c7dafc099eeb391268645561f94ce70d097966afc",
      "normalized_character_range": [
        27291,
        29391
      ],
      "normalized_utf8_byte_range": [
        27291,
        29391
      ],
      "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/systemsofequationsAlgebraicProceduresGaussianElimination.tex",
      "source_file": {
        "archive": "source",
        "bytes": 32542,
        "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/systemsofequationsAlgebraicProceduresGaussianElimination.tex",
        "sha256": "ff082d784a2caddec46097f6c12814dd1fbbfd16205e3e93625fed0d345fb173"
      },
      "type": "solution"
    },
    {
      "content_bytes": 1685,
      "content_sha256": "9c88929760f85607b8305d4e38a7fff2801b70c8149e127b10b5845a9e00ec80",
      "environment": "solution",
      "id": "unit.r017.book1.appendix.linear-systems.geometry.solution-001",
      "label": "fig:systemsofequationsGeometry-tikz02",
      "line_range": [
        74,
        109
      ],
      "native_record_sha256": "37ee546f2abbe3c777a1bca9303524ce0b7b6aaec5e6e33b30f9b8088eaa735d",
      "normalized_character_range": [
        3617,
        5302
      ],
      "normalized_utf8_byte_range": [
        3617,
        5302
      ],
      "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/systemsofequationsGeometry.tex",
      "source_file": {
        "archive": "source",
        "bytes": 15969,
        "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/systemsofequationsGeometry.tex",
        "sha256": "51be85f32691a4bdfeee797e30cb033efc26b6acb97cfa91a21e504148460f3d"
      },
      "type": "solution"
    },
    {
      "content_bytes": 1236,
      "content_sha256": "b48966c1332bcb0333156231168720a8e4fdfcc701d4200ba57c951d503996d3",
      "environment": "solution",
      "id": "unit.r017.book1.appendix.linear-systems.rank.solution-001",
      "label": null,
      "line_range": [
        47,
        89
      ],
      "native_record_sha256": "2f385d183f273b904144c906fbf20570e917004bc2a33a62e072d9e966237956",
      "normalized_character_range": [
        2021,
        3257
      ],
      "normalized_utf8_byte_range": [
        2021,
        3257
      ],
      "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/systemsofequationsAlgebraicProceduresRankHomogeneousSystems.tex",
      "source_file": {
        "archive": "source",
        "bytes": 12621,
        "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/systemsofequationsAlgebraicProceduresRankHomogeneousSystems.tex",
        "sha256": "31c23caadc9190532b9600dce02c5b5ea7fcedc723f535ad5819c503685398e8"
      },
      "type": "solution"
    },
    {
      "content_bytes": 1416,
      "content_sha256": "9357271fd439881e9649361f4d2549490a2dc4594846f2c0c09d2d6701323666",
      "environment": "solution",
      "id": "unit.r017.book1.appendix.linear-systems.rank.solution-002",
      "label": null,
      "line_range": [
        164,
        248
      ],
      "native_record_sha256": "2cf141363fe8a99b623bf34fa5da9b1687bbfeaab438a317384cbfa9ad3f32a0",
      "normalized_character_range": [
        4859,
        6275
      ],
      "normalized_utf8_byte_range": [
        4859,
        6275
      ],
      "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/systemsofequationsAlgebraicProceduresRankHomogeneousSystems.tex",
      "source_file": {
        "archive": "source",
        "bytes": 12621,
        "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/systemsofequationsAlgebraicProceduresRankHomogeneousSystems.tex",
        "sha256": "31c23caadc9190532b9600dce02c5b5ea7fcedc723f535ad5819c503685398e8"
      },
      "type": "solution"
    },
    {
      "content_bytes": 382,
      "content_sha256": "9a50d0b046fcf55bab63edfb8413d2590f4f95d3baf4bbd8d0be2d0ff5f5b331",
      "environment": "solution",
      "id": "unit.r017.book1.appendix.linear-systems.rank.solution-003",
      "label": null,
      "line_range": [
        341,
        353
      ],
      "native_record_sha256": "8211d8c874f35ebe2a5fe54f466cd15a5f4b7f7c220e79e2c619822bb12426a9",
      "normalized_character_range": [
        8520,
        8902
      ],
      "normalized_utf8_byte_range": [
        8520,
        8902
      ],
      "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/systemsofequationsAlgebraicProceduresRankHomogeneousSystems.tex",
      "source_file": {
        "archive": "source",
        "bytes": 12621,
        "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/systemsofequationsAlgebraicProceduresRankHomogeneousSystems.tex",
        "sha256": "31c23caadc9190532b9600dce02c5b5ea7fcedc723f535ad5819c503685398e8"
      },
      "type": "solution"
    },
    {
      "content_bytes": 902,
      "content_sha256": "f76c7460a28320d1d1000cda920d9feb048c2f6ef3cefdcd1bc8170e0659b41d",
      "environment": "solution",
      "id": "unit.r017.book1.appendix.linear-systems.row-operations.solution-001",
      "label": null,
      "line_range": [
        16,
        35
      ],
      "native_record_sha256": "0cf76135d570cadc7108cdff0a84644a3ccc41c6b1f85e4cf6a7ba061781d516",
      "normalized_character_range": [
        532,
        1434
      ],
      "normalized_utf8_byte_range": [
        532,
        1434
      ],
      "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/systemsofequationsAlgebraicProceduresElementaryOperations.tex",
      "source_file": {
        "archive": "source",
        "bytes": 13910,
        "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/systemsofequationsAlgebraicProceduresElementaryOperations.tex",
        "sha256": "b22fa26e94a4d89298e166279095d955f1aba478f3800862efa9a4127ff912cc"
      },
      "type": "solution"
    },
    {
      "content_bytes": 1136,
      "content_sha256": "872ee881e72e34c7a4d0aa180c324013e3bc23553a0774209723f6ee1c93ec90",
      "environment": "solution",
      "id": "unit.r017.book1.appendix.linear-systems.row-operations.solution-002",
      "label": null,
      "line_range": [
        79,
        104
      ],
      "native_record_sha256": "b63f39970fd14c7392cc74e2f419ad2c91d8c8440790ba1c99bf97730648c975",
      "normalized_character_range": [
        2851,
        3987
      ],
      "normalized_utf8_byte_range": [
        2851,
        3987
      ],
      "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/systemsofequationsAlgebraicProceduresElementaryOperations.tex",
      "source_file": {
        "archive": "source",
        "bytes": 13910,
        "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/systemsofequationsAlgebraicProceduresElementaryOperations.tex",
        "sha256": "b22fa26e94a4d89298e166279095d955f1aba478f3800862efa9a4127ff912cc"
      },
      "type": "solution"
    },
    {
      "content_bytes": 2865,
      "content_sha256": "cfe3bff4a8f20c474f64e75e0643ab2bb078472c33ba2267999334e303479548",
      "environment": "solution",
      "id": "unit.r017.book1.appendix.linear-systems.row-operations.solution-003",
      "label": "solvingasystem2",
      "line_range": [
        259,
        335
      ],
      "native_record_sha256": "131bf0bde397ca641047fd6e1717779135c22530ab0fa8d1b0cb8afbb22294c2",
      "normalized_character_range": [
        11044,
        13909
      ],
      "normalized_utf8_byte_range": [
        11044,
        13909
      ],
      "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/systemsofequationsAlgebraicProceduresElementaryOperations.tex",
      "source_file": {
        "archive": "source",
        "bytes": 13910,
        "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/systemsofequationsAlgebraicProceduresElementaryOperations.tex",
        "sha256": "b22fa26e94a4d89298e166279095d955f1aba478f3800862efa9a4127ff912cc"
      },
      "type": "solution"
    },
    {
      "content_bytes": 794,
      "content_sha256": "3eeccc149a83f7d7e505f70f0aa1d52d8cccb941efb089345934c0a9c04b59a5",
      "environment": "solution",
      "id": "unit.r017.book1.appendix.linear-systems.rref.solution-001",
      "label": null,
      "line_range": [
        26,
        50
      ],
      "native_record_sha256": "98b062dd9527a154c2e185c274956cf45a82d567d7e97ba9729e90598b88987f",
      "normalized_character_range": [
        1171,
        1965
      ],
      "normalized_utf8_byte_range": [
        1171,
        1965
      ],
      "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/systemsofequationsAlgebraicProceduresUniquenessRREF.tex",
      "source_file": {
        "archive": "source",
        "bytes": 7393,
        "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/systemsofequationsAlgebraicProceduresUniquenessRREF.tex",
        "sha256": "6f39e19ad21413283685c6f044c16fc22f66a3526a3a212a0d021d78660ff3eb"
      },
      "type": "solution"
    },
    {
      "content_bytes": 608,
      "content_sha256": "1ff38f9a1631a416da36b9b6057fbd8817691e9738edc3e0cfe498c6ec808488",
      "environment": "solution",
      "id": "unit.r017.book1.appendix.matrices.addition.solution-001",
      "label": null,
      "line_range": [
        78,
        111
      ],
      "native_record_sha256": "b2717caada407c4a808e0fa63305ab9467d53a086c28a15b1371e1f44fe13a47",
      "normalized_character_range": [
        1613,
        2221
      ],
      "normalized_utf8_byte_range": [
        1613,
        2221
      ],
      "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticAddition.tex",
      "source_file": {
        "archive": "source",
        "bytes": 4455,
        "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticAddition.tex",
        "sha256": "54bc8efdc4d09c17bee280493cfc47b7b2309b874a84e951c87e571860747e67"
      },
      "type": "solution"
    },
    {
      "content_bytes": 2496,
      "content_sha256": "f89ae6faeaf98818edeba568126c927073291064922107026846328f5676ec0f",
      "environment": "solution",
      "id": "unit.r017.book1.appendix.matrices.finding-inverse.solution-001",
      "label": null,
      "line_range": [
        200,
        282
      ],
      "native_record_sha256": "894b2483471c0df5b6cf2f4f6e9ad9e5cbb32f29a4aff7a34e4d2eae2612ba32",
      "normalized_character_range": [
        4483,
        6979
      ],
      "normalized_utf8_byte_range": [
        4483,
        6979
      ],
      "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticFindingInverse.tex",
      "source_file": {
        "archive": "source",
        "bytes": 13557,
        "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticFindingInverse.tex",
        "sha256": "5070c747ba6ae12fe621eb3f270943b0e3199bffd2974e31890c0f5c0284d7db"
      },
      "type": "solution"
    },
    {
      "content_bytes": 1126,
      "content_sha256": "59de43e08040f1fca1de8c1b99185fbc128f27d279f17f3ce26a79f42cbfba46",
      "environment": "solution",
      "id": "unit.r017.book1.appendix.matrices.finding-inverse.solution-002",
      "label": null,
      "line_range": [
        297,
        334
      ],
      "native_record_sha256": "d42d23736a8bf4df4139536ef89e375b2554c3704ab1b6ffed656c180f5a9d14",
      "normalized_character_range": [
        7362,
        8488
      ],
      "normalized_utf8_byte_range": [
        7362,
        8488
      ],
      "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticFindingInverse.tex",
      "source_file": {
        "archive": "source",
        "bytes": 13557,
        "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticFindingInverse.tex",
        "sha256": "5070c747ba6ae12fe621eb3f270943b0e3199bffd2974e31890c0f5c0284d7db"
      },
      "type": "solution"
    },
    {
      "content_bytes": 1327,
      "content_sha256": "3a638f4af766ba013450ecf63f12c837469d574098299a4a7521b1fc82f3df18",
      "environment": "solution",
      "id": "unit.r017.book1.appendix.matrices.finding-inverse.solution-003",
      "label": "inversesystem1",
      "line_range": [
        373,
        449
      ],
      "native_record_sha256": "f6932199672412797b02ec64e506901626785c875d4720f3547f1dbb5790a5db",
      "normalized_character_range": [
        10092,
        11419
      ],
      "normalized_utf8_byte_range": [
        10092,
        11419
      ],
      "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticFindingInverse.tex",
      "source_file": {
        "archive": "source",
        "bytes": 13557,
        "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticFindingInverse.tex",
        "sha256": "5070c747ba6ae12fe621eb3f270943b0e3199bffd2974e31890c0f5c0284d7db"
      },
      "type": "solution"
    },
    {
      "content_bytes": 590,
      "content_sha256": "5ae5179762843bf4a3e6654464336c1d226b48bb46ceb65d2dabb964f102433e",
      "environment": "solution",
      "id": "unit.r017.book1.appendix.matrices.identity-inverse.solution-001",
      "label": null,
      "line_range": [
        118,
        157
      ],
      "native_record_sha256": "a0a2bdc00dcf4c2a66b121a2f8da75699eaad1219c79533fa6212d203903a8be",
      "normalized_character_range": [
        3961,
        4551
      ],
      "normalized_utf8_byte_range": [
        3961,
        4551
      ],
      "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticIdentityInverses.tex",
      "source_file": {
        "archive": "source",
        "bytes": 6058,
        "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticIdentityInverses.tex",
        "sha256": "342e006a6b1d8d6bcfe40d63ed4018bd6759bf8cc9e9a242d7a6fd5b24053f8e"
      },
      "type": "solution"
    },
    {
      "content_bytes": 1023,
      "content_sha256": "b57b42123fe1939ff770c56e20572adfbfdab1b7372cf78334ed44127651fd71",
      "environment": "solution",
      "id": "unit.r017.book1.appendix.matrices.identity-inverse.solution-002",
      "label": null,
      "line_range": [
        171,
        246
      ],
      "native_record_sha256": "af1700eb31cd6bf646a8890059f0492726d6c1f7736f8186aac2ff30513fd139",
      "normalized_character_range": [
        4928,
        5951
      ],
      "normalized_utf8_byte_range": [
        4928,
        5951
      ],
      "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticIdentityInverses.tex",
      "source_file": {
        "archive": "source",
        "bytes": 6058,
        "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticIdentityInverses.tex",
        "sha256": "342e006a6b1d8d6bcfe40d63ed4018bd6759bf8cc9e9a242d7a6fd5b24053f8e"
      },
      "type": "solution"
    },
    {
      "content_bytes": 778,
      "content_sha256": "18f6ff15085e29daa5d65349af7ecf69da82ec8773bb0023fb6814f583c8e4c7",
      "environment": "solution",
      "id": "unit.r017.book1.appendix.matrices.multiplication.solution-001",
      "label": null,
      "line_range": [
        304,
        367
      ],
      "native_record_sha256": "0fded9e7dbcf3bf62edbe2be9e4f51e4f6d0c3a96e02a04e64158bfa37bd30ab",
      "normalized_character_range": [
        6411,
        7189
      ],
      "normalized_utf8_byte_range": [
        6411,
        7189
      ],
      "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticMultiplication.tex",
      "source_file": {
        "archive": "source",
        "bytes": 17009,
        "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticMultiplication.tex",
        "sha256": "1beda3f43065b12a13b9af1c5b18573a1b359d6581a84ced989cf5c4a4bb686e"
      },
      "type": "solution"
    },
    {
      "content_bytes": 1514,
      "content_sha256": "9d2899232808f998e3a081f11985d0ffd33a24ab270f5259750aaeb2a492ddae",
      "environment": "solution",
      "id": "unit.r017.book1.appendix.matrices.multiplication.solution-002",
      "label": null,
      "line_range": [
        499,
        564
      ],
      "native_record_sha256": "30965fce318aa1712443ee7f8b93ebf67d7d87ec43945d548f414abb837aacba",
      "normalized_character_range": [
        11464,
        12978
      ],
      "normalized_utf8_byte_range": [
        11464,
        12978
      ],
      "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticMultiplication.tex",
      "source_file": {
        "archive": "source",
        "bytes": 17009,
        "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticMultiplication.tex",
        "sha256": "1beda3f43065b12a13b9af1c5b18573a1b359d6581a84ced989cf5c4a4bb686e"
      },
      "type": "solution"
    },
    {
      "content_bytes": 1396,
      "content_sha256": "05c2e39fa883885918ddec1d648ff1792c4bc185eb8c17c68583a5f81fa300c8",
      "environment": "solution",
      "id": "unit.r017.book1.appendix.matrices.multiplication.solution-003",
      "label": null,
      "line_range": [
        583,
        653
      ],
      "native_record_sha256": "c844211f16fb449b40ba7f1298556f921b840413a3e1614940424320e54162ea",
      "normalized_character_range": [
        13351,
        14747
      ],
      "normalized_utf8_byte_range": [
        13351,
        14747
      ],
      "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticMultiplication.tex",
      "source_file": {
        "archive": "source",
        "bytes": 17009,
        "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticMultiplication.tex",
        "sha256": "1beda3f43065b12a13b9af1c5b18573a1b359d6581a84ced989cf5c4a4bb686e"
      },
      "type": "solution"
    },
    {
      "content_bytes": 241,
      "content_sha256": "bcb30517ad06bc0b63721298667a7f70daa5289e2cf686a10fe624daa6016a85",
      "environment": "solution",
      "id": "unit.r017.book1.appendix.matrices.multiplication.solution-004",
      "label": null,
      "line_range": [
        673,
        676
      ],
      "native_record_sha256": "0a91c554ebc19c582a5256b60a0990c60a0278a732eea6fbd620c69dbd9d2da7",
      "normalized_character_range": [
        15084,
        15325
      ],
      "normalized_utf8_byte_range": [
        15084,
        15325
      ],
      "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticMultiplication.tex",
      "source_file": {
        "archive": "source",
        "bytes": 17009,
        "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticMultiplication.tex",
        "sha256": "1beda3f43065b12a13b9af1c5b18573a1b359d6581a84ced989cf5c4a4bb686e"
      },
      "type": "solution"
    },
    {
      "content_bytes": 302,
      "content_sha256": "b7a25314c2f63b74d7ceeafad732a0a3a16aec07f11536a3e5a2738c37ae15c2",
      "environment": "solution",
      "id": "unit.r017.book1.appendix.matrices.multiplication.solution-005",
      "label": null,
      "line_range": [
        712,
        737
      ],
      "native_record_sha256": "cb84e7a146cad3adf441d9e57426cf7cf0e76ddea8f7cee5c05d3bce3c9a53d8",
      "normalized_character_range": [
        16414,
        16716
      ],
      "normalized_utf8_byte_range": [
        16414,
        16716
      ],
      "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticMultiplication.tex",
      "source_file": {
        "archive": "source",
        "bytes": 17009,
        "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticMultiplication.tex",
        "sha256": "1beda3f43065b12a13b9af1c5b18573a1b359d6581a84ced989cf5c4a4bb686e"
      },
      "type": "solution"
    },
    {
      "content_bytes": 1491,
      "content_sha256": "4fec5c0e7c5f1a4788f7e240938e22325a4fb4c886ba2b5a2bd8267187efbc55",
      "environment": "solution",
      "id": "unit.r017.book1.appendix.matrices.product-entry.solution-001",
      "label": null,
      "line_range": [
        132,
        193
      ],
      "native_record_sha256": "274bb0ee4431d799ff1c5add3711fe057cce4370fe336364ca1169985d84b6f6",
      "normalized_character_range": [
        3517,
        5008
      ],
      "normalized_utf8_byte_range": [
        3517,
        5008
      ],
      "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticProductEntry.tex",
      "source_file": {
        "archive": "source",
        "bytes": 6988,
        "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticProductEntry.tex",
        "sha256": "327123b335e477ea3c70b33463a598bd1f8a1cf1872fd88d12ed6859e5d7aa36"
      },
      "type": "solution"
    },
    {
      "content_bytes": 1541,
      "content_sha256": "2f265776af40644d2c49c8cd4e67a535fdb333dd4b2f3a27f75d0ffcfed45232",
      "environment": "solution",
      "id": "unit.r017.book1.appendix.matrices.product-entry.solution-002",
      "label": null,
      "line_range": [
        217,
        285
      ],
      "native_record_sha256": "335c5b118f5bf7b88190ee832aaf3a8e7ab5243b847856da7fbaf07cbff0b83e",
      "normalized_character_range": [
        5446,
        6987
      ],
      "normalized_utf8_byte_range": [
        5446,
        6987
      ],
      "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticProductEntry.tex",
      "source_file": {
        "archive": "source",
        "bytes": 6988,
        "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticProductEntry.tex",
        "sha256": "327123b335e477ea3c70b33463a598bd1f8a1cf1872fd88d12ed6859e5d7aa36"
      },
      "type": "solution"
    },
    {
      "content_bytes": 712,
      "content_sha256": "63c2f2736388bb542cd964fa40f4a6ec03df1ac088b1875412ff6f362fa6f0a5",
      "environment": "solution",
      "id": "unit.r017.book1.appendix.matrices.properties.solution-001",
      "label": null,
      "line_range": [
        22,
        64
      ],
      "native_record_sha256": "0bbcb7ec1b23cdc04c72196e7761b52c84a3e146098a8922735e414fe43d2105",
      "normalized_character_range": [
        543,
        1255
      ],
      "normalized_utf8_byte_range": [
        543,
        1255
      ],
      "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticMultiplicationProperties.tex",
      "source_file": {
        "archive": "source",
        "bytes": 3538,
        "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticMultiplicationProperties.tex",
        "sha256": "b952efaf462254e7fa458b632cf915e67361587cd5c7add984ae06bbdf1195ba"
      },
      "type": "solution"
    },
    {
      "content_bytes": 389,
      "content_sha256": "94d9b59e4d38a508e1de908bc9f3df1fd499860bbf9a9c5c7035928cb61d842f",
      "environment": "solution",
      "id": "unit.r017.book1.appendix.matrices.scalar.solution-001",
      "label": null,
      "line_range": [
        46,
        70
      ],
      "native_record_sha256": "c1a91b02b3891d9a2256b6be20ac4ad1b04f8936e50ce00aeb7b9855e1a171b8",
      "normalized_character_range": [
        1252,
        1641
      ],
      "normalized_utf8_byte_range": [
        1252,
        1641
      ],
      "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticScalarMultiplication.tex",
      "source_file": {
        "archive": "source",
        "bytes": 2559,
        "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticScalarMultiplication.tex",
        "sha256": "063399548743d13bfc4939ca8e2e2f0615563487704ab1a285ea5654932b2d0e"
      },
      "type": "solution"
    },
    {
      "content_bytes": 515,
      "content_sha256": "23f4a9eff65743ec323337fed9a6f0e81c1d264273946e16da18b83b4207f6d3",
      "environment": "solution",
      "id": "unit.r017.book1.appendix.matrices.transpose.solution-001",
      "label": null,
      "line_range": [
        53,
        71
      ],
      "native_record_sha256": "062103850a37e3fc8dea3ae540adc8733187280e94eae1aca3218953f2223505",
      "normalized_character_range": [
        1456,
        1971
      ],
      "normalized_utf8_byte_range": [
        1456,
        1971
      ],
      "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticTranspose.tex",
      "source_file": {
        "archive": "source",
        "bytes": 4816,
        "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticTranspose.tex",
        "sha256": "4f5eb740823ffea9cc2490ed74b6f08ac5a12acc8dff39fdd826e0ca4833d7f6"
      },
      "type": "solution"
    },
    {
      "content_bytes": 362,
      "content_sha256": "c17df630616f8b1adb956d344ce0f315a8739a68d5954ec0262d1fa9ef284fed",
      "environment": "solution",
      "id": "unit.r017.book1.appendix.matrices.transpose.solution-002",
      "label": null,
      "line_range": [
        124,
        137
      ],
      "native_record_sha256": "5b17a3c9f2d98c9252a26b7e4215edca299a10f3f3d71a52d9ac8fa8ccefc448",
      "normalized_character_range": [
        3782,
        4144
      ],
      "normalized_utf8_byte_range": [
        3782,
        4144
      ],
      "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticTranspose.tex",
      "source_file": {
        "archive": "source",
        "bytes": 4816,
        "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticTranspose.tex",
        "sha256": "4f5eb740823ffea9cc2490ed74b6f08ac5a12acc8dff39fdd826e0ca4833d7f6"
      },
      "type": "solution"
    },
    {
      "content_bytes": 414,
      "content_sha256": "8044008e2f9ef0ec9dfdae1330fa9bfd991a0a2a371a085f77bc739d5d4dc618",
      "environment": "solution",
      "id": "unit.r017.book1.appendix.matrices.transpose.solution-003",
      "label": null,
      "line_range": [
        153,
        166
      ],
      "native_record_sha256": "df604c3ed22c87b92a1d600f296eccd5188ec7617ddc96f138dabfadc3b18f72",
      "normalized_character_range": [
        4401,
        4815
      ],
      "normalized_utf8_byte_range": [
        4401,
        4815
      ],
      "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticTranspose.tex",
      "source_file": {
        "archive": "source",
        "bytes": 4816,
        "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticTranspose.tex",
        "sha256": "4f5eb740823ffea9cc2490ed74b6f08ac5a12acc8dff39fdd826e0ca4833d7f6"
      },
      "type": "solution"
    },
    {
      "content_bytes": 1662,
      "content_sha256": "5e99d4b8a0f6ddbf5f9d7ef341932fc4aaf900d4ae159adfc7ac061feca883b4",
      "environment": "solution",
      "id": "unit.r017.book1.appendix.vectors.addition-meaning.solution-001",
      "label": "fig:RnVectorsAdditionMeaning-tikz03",
      "line_range": [
        109,
        143
      ],
      "native_record_sha256": "bd14b85a7b5daa06ecea654f2081d99ef91d394c072b6965c132dc3cee1cedb2",
      "normalized_character_range": [
        4713,
        6375
      ],
      "normalized_utf8_byte_range": [
        4713,
        6375
      ],
      "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/RnVectorsAdditionMeaning.tex",
      "source_file": {
        "archive": "source",
        "bytes": 6376,
        "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/RnVectorsAdditionMeaning.tex",
        "sha256": "3bc5962ddd8b72d234460599b237dfa0ed7333e6869cddba5fe8dac108b785b1"
      },
      "type": "solution"
    },
    {
      "content_bytes": 1124,
      "content_sha256": "0bd0967469883d3432b760cee5b2c7e1320e03cf88f440187f4ae7cf804ca050",
      "environment": "solution",
      "id": "unit.r017.book1.appendix.vectors.dot-significance.solution-001",
      "label": null,
      "line_range": [
        59,
        96
      ],
      "native_record_sha256": "9570aa4e442f5eaf936bc4ef7182382c7a76a881e3c1069d1609f1f3110ecb72",
      "normalized_character_range": [
        1894,
        3018
      ],
      "normalized_utf8_byte_range": [
        1894,
        3018
      ],
      "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/RnVectorsDotProductSignificance.tex",
      "source_file": {
        "archive": "source",
        "bytes": 8004,
        "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/RnVectorsDotProductSignificance.tex",
        "sha256": "d5860a69ee0e3d38a5766552857ce73a2184b1fbd1fb2b3e83c35ae063e070b8"
      },
      "type": "solution"
    },
    {
      "content_bytes": 1167,
      "content_sha256": "f3cff7fa7c04fb425d787dd72f0d9ddf7ae1e0889bea5fd48b9dd9080d34dce0",
      "environment": "solution",
      "id": "unit.r017.book1.appendix.vectors.dot-significance.solution-002",
      "label": null,
      "line_range": [
        163,
        198
      ],
      "native_record_sha256": "1b7a8ef4e72273dbf7d3ab4025077c9f5196ae8f6eb3f0f1adf79ad31c2fdf66",
      "normalized_character_range": [
        4361,
        5528
      ],
      "normalized_utf8_byte_range": [
        4361,
        5528
      ],
      "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/RnVectorsDotProductSignificance.tex",
      "source_file": {
        "archive": "source",
        "bytes": 8004,
        "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/RnVectorsDotProductSignificance.tex",
        "sha256": "d5860a69ee0e3d38a5766552857ce73a2184b1fbd1fb2b3e83c35ae063e070b8"
      },
      "type": "solution"
    },
    {
      "content_bytes": 231,
      "content_sha256": "32ac7d903253b8033599f0a6e809ded2a767833e69289c177126876068a81c22",
      "environment": "solution",
      "id": "unit.r017.book1.appendix.vectors.dot-significance.solution-003",
      "label": null,
      "line_range": [
        207,
        213
      ],
      "native_record_sha256": "2934440b53d42620623666737e844a4efb702b547a184490b21657ef71a29022",
      "normalized_character_range": [
        6013,
        6244
      ],
      "normalized_utf8_byte_range": [
        6013,
        6244
      ],
      "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/RnVectorsDotProductSignificance.tex",
      "source_file": {
        "archive": "source",
        "bytes": 8004,
        "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/RnVectorsDotProductSignificance.tex",
        "sha256": "d5860a69ee0e3d38a5766552857ce73a2184b1fbd1fb2b3e83c35ae063e070b8"
      },
      "type": "solution"
    },
    {
      "content_bytes": 332,
      "content_sha256": "b7b42e0426a891568722b896d56993f3d1f8fbfa7b5dbdeea7014161a6439643",
      "environment": "solution",
      "id": "unit.r017.book1.appendix.vectors.dot-significance.solution-004",
      "label": null,
      "line_range": [
        271,
        282
      ],
      "native_record_sha256": "b016bf3e82e1cdc219020d3f16bd354267a50e0164a6551f7e7eecdff4a1f6fd",
      "normalized_character_range": [
        7671,
        8003
      ],
      "normalized_utf8_byte_range": [
        7671,
        8003
      ],
      "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/RnVectorsDotProductSignificance.tex",
      "source_file": {
        "archive": "source",
        "bytes": 8004,
        "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/RnVectorsDotProductSignificance.tex",
        "sha256": "d5860a69ee0e3d38a5766552857ce73a2184b1fbd1fb2b3e83c35ae063e070b8"
      },
      "type": "solution"
    },
    {
      "content_bytes": 344,
      "content_sha256": "ffe36f54b0a52002e344575c87c2137ad2805eb23b517d4f3234b49ca91be1a1",
      "environment": "solution",
      "id": "unit.r017.book1.appendix.vectors.dot.solution-001",
      "label": null,
      "line_range": [
        47,
        63
      ],
      "native_record_sha256": "12f2f01d1c5ce7be1944b4b78b241d1a4d946bcbed9e17baee5c90de812e706e",
      "normalized_character_range": [
        1452,
        1796
      ],
      "normalized_utf8_byte_range": [
        1452,
        1796
      ],
      "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/RnVectorsDotProductDot.tex",
      "source_file": {
        "archive": "source",
        "bytes": 10811,
        "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/RnVectorsDotProductDot.tex",
        "sha256": "4c272fad7e55d9464986abb7aa97ecacdf1c210b67f3efd5a5a6e79d745a3ac7"
      },
      "type": "solution"
    },
    {
      "content_bytes": 591,
      "content_sha256": "cf43f554ffe274e592515b5a44391fbd3ef31a14fe17c18a5b9ac22fda8e3e27",
      "environment": "solution",
      "id": "unit.r017.book1.appendix.vectors.dot.solution-002",
      "label": null,
      "line_range": [
        106,
        129
      ],
      "native_record_sha256": "de6657d1542ecc9dbffb15689494a2e2b0cc1ba0191751d59e7161bfe91b4250",
      "normalized_character_range": [
        3185,
        3776
      ],
      "normalized_utf8_byte_range": [
        3185,
        3776
      ],
      "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/RnVectorsDotProductDot.tex",
      "source_file": {
        "archive": "source",
        "bytes": 10811,
        "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/RnVectorsDotProductDot.tex",
        "sha256": "4c272fad7e55d9464986abb7aa97ecacdf1c210b67f3efd5a5a6e79d745a3ac7"
      },
      "type": "solution"
    },
    {
      "content_bytes": 420,
      "content_sha256": "e79ac12fcbdd0257fd6ed7d32fcf2765428c35c5d04d2bbc38506fce7f754af5",
      "environment": "solution",
      "id": "unit.r017.book1.appendix.vectors.length.solution-001",
      "label": null,
      "line_range": [
        154,
        166
      ],
      "native_record_sha256": "92bc060cb4ff88beac497bba9cd184acfb282dc4edee8545a5b34b4f9cf2962a",
      "normalized_character_range": [
        6176,
        6596
      ],
      "normalized_utf8_byte_range": [
        6176,
        6596
      ],
      "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/RnVectorsLength.tex",
      "source_file": {
        "archive": "source",
        "bytes": 12498,
        "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/RnVectorsLength.tex",
        "sha256": "93dfab6430b43b6ff5d3290cd14fee85cbb821961a7b4c36e549df4ae3b5374b"
      },
      "type": "solution"
    },
    {
      "content_bytes": 1215,
      "content_sha256": "0cfd63cdde59c26efd944f94a8db790331c63ed7ea7613fe136d39b9e196376e",
      "environment": "solution",
      "id": "unit.r017.book1.appendix.vectors.length.solution-002",
      "label": "distanceplane",
      "line_range": [
        191,
        219
      ],
      "native_record_sha256": "cab78ac646bc9a6faf363c27dcf1f33d0af101c0a472637257c6e7d80b5321cc",
      "normalized_character_range": [
        7623,
        8838
      ],
      "normalized_utf8_byte_range": [
        7623,
        8838
      ],
      "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/RnVectorsLength.tex",
      "source_file": {
        "archive": "source",
        "bytes": 12498,
        "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/RnVectorsLength.tex",
        "sha256": "93dfab6430b43b6ff5d3290cd14fee85cbb821961a7b4c36e549df4ae3b5374b"
      },
      "type": "solution"
    },
    {
      "content_bytes": 1075,
      "content_sha256": "02a026bf7871a2902691196b436a87fc457ed0e7de60634da9451d647e8a52da",
      "environment": "solution",
      "id": "unit.r017.book1.appendix.vectors.length.solution-003",
      "label": null,
      "line_range": [
        286,
        328
      ],
      "native_record_sha256": "817d4b22c989960a25b65c9aa6c3b25928f499f359fce3abeea0a451de0653c3",
      "normalized_character_range": [
        11422,
        12497
      ],
      "normalized_utf8_byte_range": [
        11422,
        12497
      ],
      "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/RnVectorsLength.tex",
      "source_file": {
        "archive": "source",
        "bytes": 12498,
        "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/RnVectorsLength.tex",
        "sha256": "93dfab6430b43b6ff5d3290cd14fee85cbb821961a7b4c36e549df4ae3b5374b"
      },
      "type": "solution"
    },
    {
      "content_bytes": 1050,
      "content_sha256": "a2983daffca171e80a765d43ff2ed619202c6c4fb4029bf6308c523c75964a36",
      "environment": "solution",
      "id": "unit.r017.book1.appendix.vectors.scalar-meaning.solution-001",
      "label": "fig:RnVectorsScalarMultMeaning-tikz02",
      "line_range": [
        68,
        91
      ],
      "native_record_sha256": "922becba7d4063464b59d512671e328350b0ab75fb34816308412a5c841f6e4b",
      "normalized_character_range": [
        2651,
        3701
      ],
      "normalized_utf8_byte_range": [
        2651,
        3701
      ],
      "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/RnVectorsScalarMultMeaning.tex",
      "source_file": {
        "archive": "source",
        "bytes": 5954,
        "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/RnVectorsScalarMultMeaning.tex",
        "sha256": "c24633da77eaba6e6ccffb236cc844cd0afeed7e40912718b14b189df0f45e44"
      },
      "type": "solution"
    },
    {
      "content_bytes": 1137,
      "content_sha256": "bb1e8946cdc38abec902bba4b2ef2ec689c79802a72e4c2406d9e16dddc6f84e",
      "environment": "solution",
      "id": "unit.r017.book1.appendix.vectors.scalar-meaning.solution-002",
      "label": "fig:RnVectorsScalarMultMeaning-tikz04",
      "line_range": [
        115,
        140
      ],
      "native_record_sha256": "20d2777bb79b29a39eb0146ea32a926e5277878e3e1a0a063ec7a422d0b5d3d9",
      "normalized_character_range": [
        4816,
        5953
      ],
      "normalized_utf8_byte_range": [
        4816,
        5953
      ],
      "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/RnVectorsScalarMultMeaning.tex",
      "source_file": {
        "archive": "source",
        "bytes": 5954,
        "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/RnVectorsScalarMultMeaning.tex",
        "sha256": "c24633da77eaba6e6ccffb236cc844cd0afeed7e40912718b14b189df0f45e44"
      },
      "type": "solution"
    },
    {
      "content_bytes": 680,
      "content_sha256": "796285c7ae7a3003b900d74206e3397b8e18f24bc60f8e63a68172a0290666d9",
      "environment": "checkpointanswer",
      "id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-001",
      "label": "lc:lp-assumptions",
      "line_range": [
        13,
        18
      ],
      "native_record_sha256": "734a46455d52fc10348607d88ff128881efb964b1a7fa91d8c6a81c0bb44a370",
      "normalized_character_range": [
        581,
        1261
      ],
      "normalized_utf8_byte_range": [
        581,
        1261
      ],
      "path": "Intro-Math-Programming/baseText/book/backmatter/checkpoint-answers.tex",
      "source_file": {
        "archive": "source",
        "bytes": 6543,
        "member": "source/Intro-Math-Programming/baseText/book/backmatter/checkpoint-answers.tex",
        "sha256": "f44ba1eb13329f1bb83be8e3c3fb555f39c244b7f9c85ca1bf3f4a1a716f93fa"
      },
      "type": "answer"
    },
    {
      "content_bytes": 413,
      "content_sha256": "a97c172d5acfa4026f6c3e97daecacfe5b6a1221b9bfdc96ba8d25806ee6aad3",
      "environment": "checkpointanswer",
      "id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-002",
      "label": "lc:how-many-optima",
      "line_range": [
        18,
        23
      ],
      "native_record_sha256": "ed6aac05233d95942fe6b6ed0075476236aaa9b60662c11f1c73c402e2faae23",
      "normalized_character_range": [
        1261,
        1674
      ],
      "normalized_utf8_byte_range": [
        1261,
        1674
      ],
      "path": "Intro-Math-Programming/baseText/book/backmatter/checkpoint-answers.tex",
      "source_file": {
        "archive": "source",
        "bytes": 6543,
        "member": "source/Intro-Math-Programming/baseText/book/backmatter/checkpoint-answers.tex",
        "sha256": "f44ba1eb13329f1bb83be8e3c3fb555f39c244b7f9c85ca1bf3f4a1a716f93fa"
      },
      "type": "answer"
    },
    {
      "content_bytes": 402,
      "content_sha256": "505b993faabe9f777d29016377a6c5a9485a50b55390fdaff8673303d47eb063",
      "environment": "checkpointanswer",
      "id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-003",
      "label": "lc:missing-index",
      "line_range": [
        23,
        30
      ],
      "native_record_sha256": "5194f5608bb86f523460107e0062adb8943595fcd53fa3e2f893ae0902026635",
      "normalized_character_range": [
        1674,
        2076
      ],
      "normalized_utf8_byte_range": [
        1674,
        2076
      ],
      "path": "Intro-Math-Programming/baseText/book/backmatter/checkpoint-answers.tex",
      "source_file": {
        "archive": "source",
        "bytes": 6543,
        "member": "source/Intro-Math-Programming/baseText/book/backmatter/checkpoint-answers.tex",
        "sha256": "f44ba1eb13329f1bb83be8e3c3fb555f39c244b7f9c85ca1bf3f4a1a716f93fa"
      },
      "type": "answer"
    },
    {
      "content_bytes": 353,
      "content_sha256": "38ab2d05cfc86e352a5de45b992f61f8dfbcc09703e56adf73cfff7186a48dc2",
      "environment": "checkpointanswer",
      "id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-004",
      "label": "lc:bfs-nonzero",
      "line_range": [
        30,
        35
      ],
      "native_record_sha256": "533054931235440d2ecb0bd80665446e67eea3614ca185bea71dfe09507c5a3f",
      "normalized_character_range": [
        2076,
        2429
      ],
      "normalized_utf8_byte_range": [
        2076,
        2429
      ],
      "path": "Intro-Math-Programming/baseText/book/backmatter/checkpoint-answers.tex",
      "source_file": {
        "archive": "source",
        "bytes": 6543,
        "member": "source/Intro-Math-Programming/baseText/book/backmatter/checkpoint-answers.tex",
        "sha256": "f44ba1eb13329f1bb83be8e3c3fb555f39c244b7f9c85ca1bf3f4a1a716f93fa"
      },
      "type": "answer"
    },
    {
      "content_bytes": 531,
      "content_sha256": "17dfc076dbb06548e15f875ca00426b4b99463810b8c49aa2b7bfe72bdd731b2",
      "environment": "checkpointanswer",
      "id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-005",
      "label": "lc:ratio-test",
      "line_range": [
        35,
        40
      ],
      "native_record_sha256": "2cf25176ac265fadd07bb8c0feeb83c55f3cca35656ac080d8915a13fdd1805f",
      "normalized_character_range": [
        2429,
        2960
      ],
      "normalized_utf8_byte_range": [
        2429,
        2960
      ],
      "path": "Intro-Math-Programming/baseText/book/backmatter/checkpoint-answers.tex",
      "source_file": {
        "archive": "source",
        "bytes": 6543,
        "member": "source/Intro-Math-Programming/baseText/book/backmatter/checkpoint-answers.tex",
        "sha256": "f44ba1eb13329f1bb83be8e3c3fb555f39c244b7f9c85ca1bf3f4a1a716f93fa"
      },
      "type": "answer"
    },
    {
      "content_bytes": 413,
      "content_sha256": "fed50944d33f9b8ed74dff79a3b6fd9ac70f234d41b1fca2e4f8f6f7b016ba7a",
      "environment": "checkpointanswer",
      "id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-006",
      "label": "lc:artificial-removal",
      "line_range": [
        40,
        45
      ],
      "native_record_sha256": "6d20f6601c473c55c9c133ea29f28c6aa21175853ee01102ca99ca763af1443b",
      "normalized_character_range": [
        2960,
        3373
      ],
      "normalized_utf8_byte_range": [
        2960,
        3373
      ],
      "path": "Intro-Math-Programming/baseText/book/backmatter/checkpoint-answers.tex",
      "source_file": {
        "archive": "source",
        "bytes": 6543,
        "member": "source/Intro-Math-Programming/baseText/book/backmatter/checkpoint-answers.tex",
        "sha256": "f44ba1eb13329f1bb83be8e3c3fb555f39c244b7f9c85ca1bf3f4a1a716f93fa"
      },
      "type": "answer"
    },
    {
      "content_bytes": 467,
      "content_sha256": "57361df4f557e9638c3cbc3325143c718ba748a70c7bd1b3029135ad2e7e8e93",
      "environment": "checkpointanswer",
      "id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-007",
      "label": "lc:shadow-price-b1",
      "line_range": [
        45,
        50
      ],
      "native_record_sha256": "6f5c4d1ba395287626e9fe663a0e497ac45b5226864f08750e24fa6500b1bcca",
      "normalized_character_range": [
        3373,
        3840
      ],
      "normalized_utf8_byte_range": [
        3373,
        3840
      ],
      "path": "Intro-Math-Programming/baseText/book/backmatter/checkpoint-answers.tex",
      "source_file": {
        "archive": "source",
        "bytes": 6543,
        "member": "source/Intro-Math-Programming/baseText/book/backmatter/checkpoint-answers.tex",
        "sha256": "f44ba1eb13329f1bb83be8e3c3fb555f39c244b7f9c85ca1bf3f4a1a716f93fa"
      },
      "type": "answer"
    },
    {
      "content_bytes": 661,
      "content_sha256": "bfad6a4e0fe54fc61f715228b0ccd079a41e253065c040baca38c5023f3ebe73",
      "environment": "checkpointanswer",
      "id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-008",
      "label": "lc:nonbasic-cost",
      "line_range": [
        50,
        55
      ],
      "native_record_sha256": "bd57eb088483d5f2081b587c2b1cb861c2b1f23ae000b0c017675773e6c91a31",
      "normalized_character_range": [
        3840,
        4501
      ],
      "normalized_utf8_byte_range": [
        3840,
        4501
      ],
      "path": "Intro-Math-Programming/baseText/book/backmatter/checkpoint-answers.tex",
      "source_file": {
        "archive": "source",
        "bytes": 6543,
        "member": "source/Intro-Math-Programming/baseText/book/backmatter/checkpoint-answers.tex",
        "sha256": "f44ba1eb13329f1bb83be8e3c3fb555f39c244b7f9c85ca1bf3f4a1a716f93fa"
      },
      "type": "answer"
    },
    {
      "content_bytes": 653,
      "content_sha256": "85fdcb1f161a1431a08103228ba2ff0989dc938e6f44e9398d64bda6e29f750b",
      "environment": "checkpointanswer",
      "id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-009",
      "label": "lc:duality-certificate",
      "line_range": [
        55,
        60
      ],
      "native_record_sha256": "abd97e823a32cdac3e9d379ea2bc3ab48810274f3ecddb36b63764a020f51a7e",
      "normalized_character_range": [
        4501,
        5154
      ],
      "normalized_utf8_byte_range": [
        4501,
        5154
      ],
      "path": "Intro-Math-Programming/baseText/book/backmatter/checkpoint-answers.tex",
      "source_file": {
        "archive": "source",
        "bytes": 6543,
        "member": "source/Intro-Math-Programming/baseText/book/backmatter/checkpoint-answers.tex",
        "sha256": "f44ba1eb13329f1bb83be8e3c3fb555f39c244b7f9c85ca1bf3f4a1a716f93fa"
      },
      "type": "answer"
    },
    {
      "content_bytes": 522,
      "content_sha256": "0eb40d99b1b7a4484a854011bc1cf419f77ebd6924829c444636f618c9b998dc",
      "environment": "checkpointanswer",
      "id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-010",
      "label": "lc:dual-forms",
      "line_range": [
        60,
        65
      ],
      "native_record_sha256": "31278001c0ab89ed622a035562dc3983cb6751515b7308a00d24a1e7a588ea87",
      "normalized_character_range": [
        5154,
        5676
      ],
      "normalized_utf8_byte_range": [
        5154,
        5676
      ],
      "path": "Intro-Math-Programming/baseText/book/backmatter/checkpoint-answers.tex",
      "source_file": {
        "archive": "source",
        "bytes": 6543,
        "member": "source/Intro-Math-Programming/baseText/book/backmatter/checkpoint-answers.tex",
        "sha256": "f44ba1eb13329f1bb83be8e3c3fb555f39c244b7f9c85ca1bf3f4a1a716f93fa"
      },
      "type": "answer"
    },
    {
      "content_bytes": 364,
      "content_sha256": "5ad517486bea90f5e4038dd4b8b8b9bda4dc158dd2cb1f514f12591bd3213105",
      "environment": "checkpointanswer",
      "id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-011",
      "label": "lc:cs-leftover",
      "line_range": [
        65,
        70
      ],
      "native_record_sha256": "0209ab622cda6a736e8cb780e6f1a43b83f30a70f4cb1c4345ce01b005b3d650",
      "normalized_character_range": [
        5676,
        6040
      ],
      "normalized_utf8_byte_range": [
        5676,
        6040
      ],
      "path": "Intro-Math-Programming/baseText/book/backmatter/checkpoint-answers.tex",
      "source_file": {
        "archive": "source",
        "bytes": 6543,
        "member": "source/Intro-Math-Programming/baseText/book/backmatter/checkpoint-answers.tex",
        "sha256": "f44ba1eb13329f1bb83be8e3c3fb555f39c244b7f9c85ca1bf3f4a1a716f93fa"
      },
      "type": "answer"
    },
    {
      "content_bytes": 503,
      "content_sha256": "f9a80e240e2833fb9796538ccf4f67df18e9d2c154c344234c2b060ac0d20ae0",
      "environment": "checkpointanswer",
      "id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-012",
      "label": "lc:graph-5cities",
      "line_range": [
        70,
        76
      ],
      "native_record_sha256": "b098a0737012f8a06b4262dcb8ffb9951e7506bcb3402ecdb07b29c86023989e",
      "normalized_character_range": [
        6040,
        6543
      ],
      "normalized_utf8_byte_range": [
        6040,
        6543
      ],
      "path": "Intro-Math-Programming/baseText/book/backmatter/checkpoint-answers.tex",
      "source_file": {
        "archive": "source",
        "bytes": 6543,
        "member": "source/Intro-Math-Programming/baseText/book/backmatter/checkpoint-answers.tex",
        "sha256": "f44ba1eb13329f1bb83be8e3c3fb555f39c244b7f9c85ca1bf3f4a1a716f93fa"
      },
      "type": "answer"
    },
    {
      "content_bytes": 650,
      "content_sha256": "d20daf2d14b7d57b598119d01decdb84f9f5de6ecd5d0858925a6aaef4f2674e",
      "environment": "ex",
      "id": "unit.r017.book1.ch01.text.ex-001",
      "label": null,
      "line_range": [
        577,
        580
      ],
      "native_record_sha256": "07381cc81d3ff27c8388b769d4120816125755097d3021feb904079d537994b8",
      "normalized_character_range": [
        38413,
        39063
      ],
      "normalized_utf8_byte_range": [
        38413,
        39063
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
      "source_file": {
        "archive": "source",
        "bytes": 48958,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
        "sha256": "51d9570de4c13f47c4b07999f23f06c1587223867a0f5b41a39ad38b11265eea"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 703,
      "content_sha256": "8c6bed67c01ff60d629700591da633f421477638b4f52c07e99a320504742385",
      "environment": "ex",
      "id": "unit.r017.book1.ch01.text.ex-002",
      "label": "ex:classify-projects",
      "line_range": [
        582,
        590
      ],
      "native_record_sha256": "fdcef35a2027731c63f4ed1c2ae30c429382c1e8f3f4c3b10a865f4f64ff469d",
      "normalized_character_range": [
        39065,
        39768
      ],
      "normalized_utf8_byte_range": [
        39065,
        39768
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
      "source_file": {
        "archive": "source",
        "bytes": 48958,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
        "sha256": "51d9570de4c13f47c4b07999f23f06c1587223867a0f5b41a39ad38b11265eea"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 504,
      "content_sha256": "9fb7a75f18cfa9de5da7a6f4e69d1730c7071261bf5eb4c32e97f67a1c991d2e",
      "environment": "ex",
      "id": "unit.r017.book1.ch01.text.ex-003",
      "label": null,
      "line_range": [
        592,
        599
      ],
      "native_record_sha256": "41f24c5facf5ae70ca9d1a33e19cf13e64ed3842d3f61748a6e603781367032c",
      "normalized_character_range": [
        39770,
        40274
      ],
      "normalized_utf8_byte_range": [
        39770,
        40274
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
      "source_file": {
        "archive": "source",
        "bytes": 48958,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
        "sha256": "51d9570de4c13f47c4b07999f23f06c1587223867a0f5b41a39ad38b11265eea"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 692,
      "content_sha256": "bbce4bf77a0e88afd844bbe62179c869de73fd7a13db91d8447c3a47053998ac",
      "environment": "ex",
      "id": "unit.r017.book1.ch01.text.ex-004",
      "label": null,
      "line_range": [
        601,
        604
      ],
      "native_record_sha256": "520df42a0894b067d01064f9733443d85c002b61ba85eab734c938658e172673",
      "normalized_character_range": [
        40276,
        40968
      ],
      "normalized_utf8_byte_range": [
        40276,
        40968
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
      "source_file": {
        "archive": "source",
        "bytes": 48958,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
        "sha256": "51d9570de4c13f47c4b07999f23f06c1587223867a0f5b41a39ad38b11265eea"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 858,
      "content_sha256": "e0aa94e40efb9b113092265844756ccb7e635ccbc3be252734268b18113b82cb",
      "environment": "ex",
      "id": "unit.r017.book1.ch01.text.ex-005",
      "label": "ex:shirt-friday-balance",
      "line_range": [
        608,
        617
      ],
      "native_record_sha256": "7e616f71733d179d497c96710067a4ae3f93fdd84fbca290217e879179b43c1e",
      "normalized_character_range": [
        40994,
        41852
      ],
      "normalized_utf8_byte_range": [
        40994,
        41852
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
      "source_file": {
        "archive": "source",
        "bytes": 48958,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
        "sha256": "51d9570de4c13f47c4b07999f23f06c1587223867a0f5b41a39ad38b11265eea"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 625,
      "content_sha256": "01e146db587116850236c2f966c58c5bdde76cc719c5c781341f18e9cb5c137e",
      "environment": "ex",
      "id": "unit.r017.book1.ch01.text.ex-006",
      "label": null,
      "line_range": [
        619,
        622
      ],
      "native_record_sha256": "88ff912b9466910d633e6c554dcbefd4b39ff031ab0dd45a75520aef75195e0b",
      "normalized_character_range": [
        41854,
        42479
      ],
      "normalized_utf8_byte_range": [
        41854,
        42479
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
      "source_file": {
        "archive": "source",
        "bytes": 48958,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
        "sha256": "51d9570de4c13f47c4b07999f23f06c1587223867a0f5b41a39ad38b11265eea"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 845,
      "content_sha256": "bd899c8578e7bbdcaa3b83d718c0a74b40d59a99adc9c37f750e2c1c5c6a8d17",
      "environment": "ex",
      "id": "unit.r017.book1.ch01.text.ex-007",
      "label": null,
      "line_range": [
        624,
        627
      ],
      "native_record_sha256": "be1d4ab1f53a01b6e8fca628d2b3ac7476ea56430375d6087640fdc11035a886",
      "normalized_character_range": [
        42481,
        43326
      ],
      "normalized_utf8_byte_range": [
        42481,
        43326
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
      "source_file": {
        "archive": "source",
        "bytes": 48958,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
        "sha256": "51d9570de4c13f47c4b07999f23f06c1587223867a0f5b41a39ad38b11265eea"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 629,
      "content_sha256": "cf1670e2d55582c8e09b972c90af77b84972712a8a1288919cbe3f6b59159beb",
      "environment": "ex",
      "id": "unit.r017.book1.ch01.text.ex-008",
      "label": null,
      "line_range": [
        631,
        638
      ],
      "native_record_sha256": "45f90855dcbf056361e2f7cd28eff6c1c1871035cbf2bfbb5f146d63d7bfd94b",
      "normalized_character_range": [
        43362,
        43991
      ],
      "normalized_utf8_byte_range": [
        43362,
        43991
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
      "source_file": {
        "archive": "source",
        "bytes": 48958,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
        "sha256": "51d9570de4c13f47c4b07999f23f06c1587223867a0f5b41a39ad38b11265eea"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 377,
      "content_sha256": "93c72c8a46adb51ddae96bf30ccc7ed209e3e6bcb9bf184250d29d20441a2a3f",
      "environment": "ex",
      "id": "unit.r017.book1.ch01.text.ex-009",
      "label": "ex:programming-term",
      "line_range": [
        640,
        644
      ],
      "native_record_sha256": "e1403ebc5b946ca69fa68cc6fa97603af7a224ebdc9b631e08f26ed62d9614d8",
      "normalized_character_range": [
        43993,
        44370
      ],
      "normalized_utf8_byte_range": [
        43993,
        44370
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
      "source_file": {
        "archive": "source",
        "bytes": 48958,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
        "sha256": "51d9570de4c13f47c4b07999f23f06c1587223867a0f5b41a39ad38b11265eea"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 618,
      "content_sha256": "62a782f5469d1c056710848880348a8fcf71f1ed47777e79b7e402b263a37e53",
      "environment": "ex",
      "id": "unit.r017.book1.ch01.text.ex-010",
      "label": null,
      "line_range": [
        646,
        649
      ],
      "native_record_sha256": "b42e95e79673147e251fcd1ecda9c61da0b6f4bf6e45092c4fb7ae656962dc1b",
      "normalized_character_range": [
        44372,
        44990
      ],
      "normalized_utf8_byte_range": [
        44372,
        44990
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
      "source_file": {
        "archive": "source",
        "bytes": 48958,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
        "sha256": "51d9570de4c13f47c4b07999f23f06c1587223867a0f5b41a39ad38b11265eea"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1242,
      "content_sha256": "a263336f9ede5d4aca2943414d78e4a5f26af5a4c577a91eebf6e0a3b4c5e273",
      "environment": "ex",
      "id": "unit.r017.book1.ch01.text.ex-011",
      "label": "ex:shirt-full-lp",
      "line_range": [
        653,
        662
      ],
      "native_record_sha256": "5ff8de49d4dab3cabd02eec3225ebca2816ee84ffd121b3cba7c1065da1f664e",
      "normalized_character_range": [
        45021,
        46263
      ],
      "normalized_utf8_byte_range": [
        45021,
        46263
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
      "source_file": {
        "archive": "source",
        "bytes": 48958,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
        "sha256": "51d9570de4c13f47c4b07999f23f06c1587223867a0f5b41a39ad38b11265eea"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 403,
      "content_sha256": "251885549a76fbf3cd8b75a68b119d1b6d0cbdd8f2714ac5a3dab601ba806847",
      "environment": "solution",
      "id": "unit.r017.book1.ch01.text.solution-001",
      "label": null,
      "line_range": [
        666,
        668
      ],
      "native_record_sha256": "85b90ef5e610874ef9833d4cdd0a9917d91767f0eb41680661b7b6114e16ae76",
      "normalized_character_range": [
        46299,
        46702
      ],
      "normalized_utf8_byte_range": [
        46299,
        46702
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
      "source_file": {
        "archive": "source",
        "bytes": 48958,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
        "sha256": "51d9570de4c13f47c4b07999f23f06c1587223867a0f5b41a39ad38b11265eea"
      },
      "type": "solution"
    },
    {
      "content_bytes": 518,
      "content_sha256": "f2b364e51a1ff16b84044a0653411287b32067b3bbcc59103ea1fa8f6bb46ac9",
      "environment": "solution",
      "id": "unit.r017.book1.ch01.text.solution-002",
      "label": null,
      "line_range": [
        670,
        676
      ],
      "native_record_sha256": "75fa560401fd937a8533368f66baf6286a3b2204ce99534bc954eb462e371799",
      "normalized_character_range": [
        46704,
        47222
      ],
      "normalized_utf8_byte_range": [
        46704,
        47222
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
      "source_file": {
        "archive": "source",
        "bytes": 48958,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
        "sha256": "51d9570de4c13f47c4b07999f23f06c1587223867a0f5b41a39ad38b11265eea"
      },
      "type": "solution"
    },
    {
      "content_bytes": 422,
      "content_sha256": "680b65d0edc8f37f5366541cce1a72028f3ddda81e0c71753aca25f1568d4703",
      "environment": "solution",
      "id": "unit.r017.book1.ch01.text.solution-003",
      "label": null,
      "line_range": [
        678,
        680
      ],
      "native_record_sha256": "eb91b3656ea74676f130ab16d34f9b6e766c4f429a4477ebfec2fd77d52c69c7",
      "normalized_character_range": [
        47224,
        47646
      ],
      "normalized_utf8_byte_range": [
        47224,
        47646
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
      "source_file": {
        "archive": "source",
        "bytes": 48958,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
        "sha256": "51d9570de4c13f47c4b07999f23f06c1587223867a0f5b41a39ad38b11265eea"
      },
      "type": "solution"
    },
    {
      "content_bytes": 1288,
      "content_sha256": "53e6d54616aa8d97e2611013e2198a51dee19c4b000b4ebc02adc675e772f047",
      "environment": "solution",
      "id": "unit.r017.book1.ch01.text.solution-004",
      "label": null,
      "line_range": [
        682,
        692
      ],
      "native_record_sha256": "dbf72cb17cc7e02fbd49c8a83963841edb54660ff703c1bd9c9e6c4a65fbaf12",
      "normalized_character_range": [
        47648,
        48936
      ],
      "normalized_utf8_byte_range": [
        47648,
        48936
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
      "source_file": {
        "archive": "source",
        "bytes": 48958,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
        "sha256": "51d9570de4c13f47c4b07999f23f06c1587223867a0f5b41a39ad38b11265eea"
      },
      "type": "solution"
    },
    {
      "content_bytes": 46,
      "content_sha256": "2bba181979672c965dbc9928092604c333916bca049a0c81589e9483e09b42a6",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch02.solutions-manual.manualsolution-001",
      "label": "exsol:2.1",
      "line_range": [
        11,
        11
      ],
      "native_record_sha256": "89c5d643423c2a827e44a2b255898786d599440f4976a31b9f073009e9fd5cac",
      "normalized_character_range": [
        1956,
        2002
      ],
      "normalized_utf8_byte_range": [
        1956,
        2002
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch02.tex",
      "source_file": {
        "archive": "source",
        "bytes": 17163,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch02.tex",
        "sha256": "e77990fba3db490b1e7e1ca93a4453c963dc0fb16d6ec2e623be23178c379fbe"
      },
      "type": "solution"
    },
    {
      "content_bytes": 46,
      "content_sha256": "8ef00ae7a4616280447aecb70d526a27727528be3813df1858d555b0d86981d5",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch02.solutions-manual.manualsolution-002",
      "label": "exsol:2.2",
      "line_range": [
        22,
        22
      ],
      "native_record_sha256": "2f6f5c64b52f9b8ba02c5382f52a7459de5d9b0242144cef7979ec3552a17ccd",
      "normalized_character_range": [
        2685,
        2731
      ],
      "normalized_utf8_byte_range": [
        2685,
        2731
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch02.tex",
      "source_file": {
        "archive": "source",
        "bytes": 17163,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch02.tex",
        "sha256": "e77990fba3db490b1e7e1ca93a4453c963dc0fb16d6ec2e623be23178c379fbe"
      },
      "type": "solution"
    },
    {
      "content_bytes": 33,
      "content_sha256": "a6761f45c27bc4ad547b407d10858a83915d6429fc1d24f34b7c0e907a821448",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch02.solutions-manual.manualsolution-003",
      "label": "exsol:2.3",
      "line_range": [
        34,
        34
      ],
      "native_record_sha256": "404f4eaaa51cc3345872b0fa8fe94aa14890dde703e4399c1a484aa174c47f4a",
      "normalized_character_range": [
        3671,
        3704
      ],
      "normalized_utf8_byte_range": [
        3671,
        3704
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch02.tex",
      "source_file": {
        "archive": "source",
        "bytes": 17163,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch02.tex",
        "sha256": "e77990fba3db490b1e7e1ca93a4453c963dc0fb16d6ec2e623be23178c379fbe"
      },
      "type": "solution"
    },
    {
      "content_bytes": 30,
      "content_sha256": "b70136e2f3d0725fd13ebb976da0adea5011694f17d328dbf2905dd139f74226",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch02.solutions-manual.manualsolution-004",
      "label": "exsol:2.4",
      "line_range": [
        46,
        46
      ],
      "native_record_sha256": "7c99bcb51085d4946528f4de16a3bc1791b523891865d222e41f5e7d841e8127",
      "normalized_character_range": [
        4576,
        4606
      ],
      "normalized_utf8_byte_range": [
        4576,
        4606
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch02.tex",
      "source_file": {
        "archive": "source",
        "bytes": 17163,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch02.tex",
        "sha256": "e77990fba3db490b1e7e1ca93a4453c963dc0fb16d6ec2e623be23178c379fbe"
      },
      "type": "solution"
    },
    {
      "content_bytes": 37,
      "content_sha256": "b5a2a925d1d2a021cdae27f9f3ede9c3374907b541ff9686580ed53fcddabc57",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch02.solutions-manual.manualsolution-005",
      "label": "exsol:2.5",
      "line_range": [
        62,
        62
      ],
      "native_record_sha256": "0edf3e6426750e715df07b7b7dce84dee88603e9d494e391e67ab5dd4aceee2f",
      "normalized_character_range": [
        5437,
        5474
      ],
      "normalized_utf8_byte_range": [
        5437,
        5474
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch02.tex",
      "source_file": {
        "archive": "source",
        "bytes": 17163,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch02.tex",
        "sha256": "e77990fba3db490b1e7e1ca93a4453c963dc0fb16d6ec2e623be23178c379fbe"
      },
      "type": "solution"
    },
    {
      "content_bytes": 42,
      "content_sha256": "8950974095771f79dbe2425d91aa278675f07640101cd12b9485c089c37fc09b",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch02.solutions-manual.manualsolution-006",
      "label": "exsol:2.6",
      "line_range": [
        74,
        74
      ],
      "native_record_sha256": "a84d94d9665a8c880d7c0837b5ca7a59da22be156fb38eb062b61d61539a297a",
      "normalized_character_range": [
        6182,
        6224
      ],
      "normalized_utf8_byte_range": [
        6182,
        6224
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch02.tex",
      "source_file": {
        "archive": "source",
        "bytes": 17163,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch02.tex",
        "sha256": "e77990fba3db490b1e7e1ca93a4453c963dc0fb16d6ec2e623be23178c379fbe"
      },
      "type": "solution"
    },
    {
      "content_bytes": 39,
      "content_sha256": "48da353e87dfed6b8a9aea668e19d7223eaab5916b3085657f3143c0ff3569b8",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch02.solutions-manual.manualsolution-007",
      "label": "exsol:2.7",
      "line_range": [
        90,
        90
      ],
      "native_record_sha256": "2cc198d2b205d3d4729a86985179576d8bb64bf86ae4699926c646294b3cd031",
      "normalized_character_range": [
        7460,
        7499
      ],
      "normalized_utf8_byte_range": [
        7460,
        7499
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch02.tex",
      "source_file": {
        "archive": "source",
        "bytes": 17163,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch02.tex",
        "sha256": "e77990fba3db490b1e7e1ca93a4453c963dc0fb16d6ec2e623be23178c379fbe"
      },
      "type": "solution"
    },
    {
      "content_bytes": 37,
      "content_sha256": "93d8546dd6082b83d8701a563508be625e161072f890e59238b1b2ff455c5962",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch02.solutions-manual.manualsolution-008",
      "label": "exsol:2.8",
      "line_range": [
        105,
        105
      ],
      "native_record_sha256": "47b7dd3981116fb157bdc667e4fb86d104626957e2442d53b98693c08657b90a",
      "normalized_character_range": [
        8664,
        8701
      ],
      "normalized_utf8_byte_range": [
        8664,
        8701
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch02.tex",
      "source_file": {
        "archive": "source",
        "bytes": 17163,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch02.tex",
        "sha256": "e77990fba3db490b1e7e1ca93a4453c963dc0fb16d6ec2e623be23178c379fbe"
      },
      "type": "solution"
    },
    {
      "content_bytes": 49,
      "content_sha256": "d5b900c5e7cffab49470fb01f8cf95141a4cfaa0656f6e35a5e82406374da121",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch02.solutions-manual.manualsolution-009",
      "label": "exsol:2.9",
      "line_range": [
        121,
        121
      ],
      "native_record_sha256": "a058dac84cf91f36c229c8e2b67c08048f759ffd4ae8affbd2619e06badfccc8",
      "normalized_character_range": [
        9678,
        9727
      ],
      "normalized_utf8_byte_range": [
        9678,
        9727
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch02.tex",
      "source_file": {
        "archive": "source",
        "bytes": 17163,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch02.tex",
        "sha256": "e77990fba3db490b1e7e1ca93a4453c963dc0fb16d6ec2e623be23178c379fbe"
      },
      "type": "solution"
    },
    {
      "content_bytes": 42,
      "content_sha256": "a745899fc03192997d6c23e4a2371af9679d5e68f84f1d4df45f980dab107241",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch02.solutions-manual.manualsolution-010",
      "label": "exsol:2.10",
      "line_range": [
        133,
        133
      ],
      "native_record_sha256": "e7e5ec35d9ed04542e4d13b0286ce367447cf3dc2655da3f7a8c6acd85832f28",
      "normalized_character_range": [
        10780,
        10822
      ],
      "normalized_utf8_byte_range": [
        10780,
        10822
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch02.tex",
      "source_file": {
        "archive": "source",
        "bytes": 17163,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch02.tex",
        "sha256": "e77990fba3db490b1e7e1ca93a4453c963dc0fb16d6ec2e623be23178c379fbe"
      },
      "type": "solution"
    },
    {
      "content_bytes": 48,
      "content_sha256": "ee89bbc9a5bf13fb4ac3fb1dfc7900db5859009ea176fa9bfdf6a699492903c3",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch02.solutions-manual.manualsolution-011",
      "label": "exsol:2.11",
      "line_range": [
        152,
        152
      ],
      "native_record_sha256": "4446c80979a5308bda41d56665d804b5fdc05c8fb4bfb3d91788cc699f98fe7c",
      "normalized_character_range": [
        12470,
        12518
      ],
      "normalized_utf8_byte_range": [
        12470,
        12518
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch02.tex",
      "source_file": {
        "archive": "source",
        "bytes": 17163,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch02.tex",
        "sha256": "e77990fba3db490b1e7e1ca93a4453c963dc0fb16d6ec2e623be23178c379fbe"
      },
      "type": "solution"
    },
    {
      "content_bytes": 47,
      "content_sha256": "5addd8d6b47212c5dab08265bf43298686d4b47771bf77be9718a03e77e829ea",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch02.solutions-manual.manualsolution-012",
      "label": "exsol:2.12",
      "line_range": [
        160,
        160
      ],
      "native_record_sha256": "c226ae1ac6ad7e7c5b17f3852d161c319d1d0d644a6ee1dfd51cee48225b721c",
      "normalized_character_range": [
        13467,
        13514
      ],
      "normalized_utf8_byte_range": [
        13467,
        13514
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch02.tex",
      "source_file": {
        "archive": "source",
        "bytes": 17163,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch02.tex",
        "sha256": "e77990fba3db490b1e7e1ca93a4453c963dc0fb16d6ec2e623be23178c379fbe"
      },
      "type": "solution"
    },
    {
      "content_bytes": 44,
      "content_sha256": "af8de6d02fd06daf2d8bef0214e3f031debd8d29c3acb03a86302e88e2de1570",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch02.solutions-manual.manualsolution-013",
      "label": "exsol:2.13",
      "line_range": [
        172,
        172
      ],
      "native_record_sha256": "d42f99fe2c1b0e231a819639b9bbb70f84edf506a34ca7d0d7a166f1f0be95c2",
      "normalized_character_range": [
        14439,
        14483
      ],
      "normalized_utf8_byte_range": [
        14439,
        14483
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch02.tex",
      "source_file": {
        "archive": "source",
        "bytes": 17163,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch02.tex",
        "sha256": "e77990fba3db490b1e7e1ca93a4453c963dc0fb16d6ec2e623be23178c379fbe"
      },
      "type": "solution"
    },
    {
      "content_bytes": 50,
      "content_sha256": "b55174e3b1dc5de0a502fe9585fc84f866f2d99e2669ae789554a1113dfe1457",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch02.solutions-manual.manualsolution-014",
      "label": "exsol:2.14",
      "line_range": [
        182,
        182
      ],
      "native_record_sha256": "df474b429eb476e08168f7a156174e80db1b40f3f1aedcd156697df171e0ca02",
      "normalized_character_range": [
        15825,
        15875
      ],
      "normalized_utf8_byte_range": [
        15825,
        15875
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch02.tex",
      "source_file": {
        "archive": "source",
        "bytes": 17163,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch02.tex",
        "sha256": "e77990fba3db490b1e7e1ca93a4453c963dc0fb16d6ec2e623be23178c379fbe"
      },
      "type": "solution"
    },
    {
      "content_bytes": 478,
      "content_sha256": "5022d41a98859ae6fe0b6382ccbc731d4955c487bc585eb0d2ae6c574360cfc2",
      "environment": "ex",
      "id": "unit.r017.book1.ch02.text.ex-001",
      "label": null,
      "line_range": [
        824,
        833
      ],
      "native_record_sha256": "5506f0540107d3a9831c3e67cd25bf37a2934f280cb44fe734939b3c1a94d3ea",
      "normalized_character_range": [
        49534,
        50012
      ],
      "normalized_utf8_byte_range": [
        49534,
        50012
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
      "source_file": {
        "archive": "source",
        "bytes": 67810,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
        "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 292,
      "content_sha256": "2846c3c5e32d3eb4b50967fd85bcd8c9b7ee60c880ae35d21ce5a2b87587f5cf",
      "environment": "ex",
      "id": "unit.r017.book1.ch02.text.ex-002",
      "label": null,
      "line_range": [
        835,
        843
      ],
      "native_record_sha256": "f384ed9633aa2f174973992e2aef8dc09917b6298a77beba76196b5d79dad7a2",
      "normalized_character_range": [
        50014,
        50306
      ],
      "normalized_utf8_byte_range": [
        50014,
        50306
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
      "source_file": {
        "archive": "source",
        "bytes": 67810,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
        "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 851,
      "content_sha256": "f0ce2d1652eccdb28c98f303ed819f0cf9efde3e85f6b942d918795d33a34b0e",
      "environment": "ex",
      "id": "unit.r017.book1.ch02.text.ex-003",
      "label": "ex:HoodiePosters",
      "line_range": [
        845,
        849
      ],
      "native_record_sha256": "b7ea69568a419bf0f6165db3ea5b598bad9bf83946049e9bc92ab79f2e78fe3b",
      "normalized_character_range": [
        50308,
        51159
      ],
      "normalized_utf8_byte_range": [
        50308,
        51159
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
      "source_file": {
        "archive": "source",
        "bytes": 67810,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
        "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 830,
      "content_sha256": "e68d295c8566b8872d93000cbe2fed5f0871dcc0d9ce97f837ee54d404a7eb30",
      "environment": "ex",
      "id": "unit.r017.book1.ch02.text.ex-004",
      "label": null,
      "line_range": [
        851,
        854
      ],
      "native_record_sha256": "bb2c6d9f9b59c02393b6cf08dba5ad43c9644603265d06ed3b19a3195db8b025",
      "normalized_character_range": [
        51161,
        51991
      ],
      "normalized_utf8_byte_range": [
        51161,
        51991
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
      "source_file": {
        "archive": "source",
        "bytes": 67810,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
        "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1195,
      "content_sha256": "5163fa5eab1241c1093bdbec30b3494bda61325b6c734215679ca55771fa3976",
      "environment": "ex",
      "id": "unit.r017.book1.ch02.text.ex-005",
      "label": "ex:ChemicalPlant",
      "line_range": [
        858,
        867
      ],
      "native_record_sha256": "2f925fd04836b168be4b8e0f8f9c6b5fe0cb10186a26905df69a6a58711ac296",
      "normalized_character_range": [
        52014,
        53209
      ],
      "normalized_utf8_byte_range": [
        52014,
        53209
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
      "source_file": {
        "archive": "source",
        "bytes": 67810,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
        "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 926,
      "content_sha256": "a20d2699ca2b61b6814dc2185969ee9563af32f1ac8ef9e7bcd3293b3febbe87",
      "environment": "ex",
      "id": "unit.r017.book1.ch02.text.ex-006",
      "label": "ex:ebike-showroom",
      "line_range": [
        869,
        875
      ],
      "native_record_sha256": "5cc75f32a42d04ff6354b07e6f1400a42cd112b046f6f0c495e0646082251eec",
      "normalized_character_range": [
        53211,
        54137
      ],
      "normalized_utf8_byte_range": [
        53211,
        54137
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
      "source_file": {
        "archive": "source",
        "bytes": 67810,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
        "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1012,
      "content_sha256": "88bd87d52aa79be9cfb81531d9b582fe03d83143f4581294528121433f229c10",
      "environment": "ex",
      "id": "unit.r017.book1.ch02.text.ex-007",
      "label": "ex:two-machine-profit",
      "line_range": [
        877,
        899
      ],
      "native_record_sha256": "b83d5e8f2095662b53642732cd16ae0abf9f6d0e8c7bf001bcdd8d0d01f29e43",
      "normalized_character_range": [
        54139,
        55151
      ],
      "normalized_utf8_byte_range": [
        54139,
        55151
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
      "source_file": {
        "archive": "source",
        "bytes": 67810,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
        "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1027,
      "content_sha256": "513beda4a8fe44c6268318c6129c0cfe47edbe3d0839764abcd7c48fcd93ded1",
      "environment": "ex",
      "id": "unit.r017.book1.ch02.text.ex-008",
      "label": "ex:factory-days",
      "line_range": [
        901,
        923
      ],
      "native_record_sha256": "5837d2a5db6edc83002bd03566bd8c9356a122591925ce46eeb30a1d0f67fe63",
      "normalized_character_range": [
        55153,
        56180
      ],
      "normalized_utf8_byte_range": [
        55153,
        56180
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
      "source_file": {
        "archive": "source",
        "bytes": 67810,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
        "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1229,
      "content_sha256": "524d5436060f01382ac30557a19d1a6f9bf8000e32199fa53c66ed93500e666d",
      "environment": "ex",
      "id": "unit.r017.book1.ch02.text.ex-009",
      "label": null,
      "line_range": [
        925,
        954
      ],
      "native_record_sha256": "4f4c0a1fcf33bb789a4bc82abacc308390f8992ae4ab3445c0bbdc904b56fac7",
      "normalized_character_range": [
        56182,
        57411
      ],
      "normalized_utf8_byte_range": [
        56182,
        57411
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
      "source_file": {
        "archive": "source",
        "bytes": 67810,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
        "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1359,
      "content_sha256": "1ea6c242cb398a24ef55ec2d0de764683038b8ffe744a6a98ad8cd0fc9af449e",
      "environment": "ex",
      "id": "unit.r017.book1.ch02.text.ex-010",
      "label": "ex:cafe-scheduling",
      "line_range": [
        956,
        976
      ],
      "native_record_sha256": "5f88a0426a7e62af9b846d34b29fe0870fa8e6f6e7a5bd8debb94ccc00de0329",
      "normalized_character_range": [
        57413,
        58772
      ],
      "normalized_utf8_byte_range": [
        57413,
        58772
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
      "source_file": {
        "archive": "source",
        "bytes": 67810,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
        "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 810,
      "content_sha256": "0426488746e4769823f74a5d0fa91af0dad81d5184c2658ded9c65faab8718d7",
      "environment": "ex",
      "id": "unit.r017.book1.ch02.text.ex-011",
      "label": "ex:linear-inequalities-check",
      "line_range": [
        980,
        992
      ],
      "native_record_sha256": "a658c89eef81b79a367ac50ca193b5862ed84911725107af190e18e4e08ee4ff",
      "normalized_character_range": [
        58808,
        59618
      ],
      "normalized_utf8_byte_range": [
        58808,
        59618
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
      "source_file": {
        "archive": "source",
        "bytes": 67810,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
        "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 763,
      "content_sha256": "eddec7a12df34461fb509204d85e0f2617e1f66faa29ca924d2817536b9761b0",
      "environment": "ex",
      "id": "unit.r017.book1.ch02.text.ex-012",
      "label": null,
      "line_range": [
        994,
        999
      ],
      "native_record_sha256": "ad9850bb5baf0c73256d93e29f260f113fe2712ea3041062fbd75f38ef6f7981",
      "normalized_character_range": [
        59620,
        60383
      ],
      "normalized_utf8_byte_range": [
        59620,
        60383
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
      "source_file": {
        "archive": "source",
        "bytes": 67810,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
        "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1164,
      "content_sha256": "8a343e9f1a1d482f1387836b96b53cdf210bc78e96424b303d3b3a3470feb898",
      "environment": "ex",
      "id": "unit.r017.book1.ch02.text.ex-013",
      "label": "ex:assumption-audit",
      "line_range": [
        1001,
        1012
      ],
      "native_record_sha256": "68fecfb63a004b64909013a8e6b6394e345bf38be68854dbf30d8c476f7946df",
      "normalized_character_range": [
        60385,
        61549
      ],
      "normalized_utf8_byte_range": [
        60385,
        61549
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
      "source_file": {
        "archive": "source",
        "bytes": 67810,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
        "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1384,
      "content_sha256": "e16311f9ba0ef329412692b65ab53b3684c7b4a15fd3f40cd40d15275d5edc3e",
      "environment": "ex",
      "id": "unit.r017.book1.ch02.text.ex-014",
      "label": "ex:rented-labor",
      "line_range": [
        1016,
        1025
      ],
      "native_record_sha256": "f5832a8cdea95762de46e1e21981ff33037842cc4782747505d553cc086bc259",
      "normalized_character_range": [
        61577,
        62961
      ],
      "normalized_utf8_byte_range": [
        61577,
        62961
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
      "source_file": {
        "archive": "source",
        "bytes": 67810,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
        "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 411,
      "content_sha256": "5287f9d559ffa756e0c49d23b89567ab6e88bcdd404c81148c4c20d1dd8b9be6",
      "environment": "learningcheckpoint",
      "id": "unit.r017.book1.ch02.text.learningcheckpoint-001",
      "label": "lc:lp-assumptions",
      "line_range": [
        190,
        197
      ],
      "native_record_sha256": "b5a43e5134a0dbad73124273862bfe0aadb86a8a8399696fae00e6456af1466f",
      "normalized_character_range": [
        13916,
        14327
      ],
      "normalized_utf8_byte_range": [
        13916,
        14327
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
      "source_file": {
        "archive": "source",
        "bytes": 67810,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
        "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
      },
      "type": "learningcheckpoint"
    },
    {
      "content_bytes": 1090,
      "content_sha256": "8dbb2d1700cf25fc2d176387af5438da0f41e33bdaabfce6da9bad0c480ab946",
      "environment": "solution",
      "id": "unit.r017.book1.ch02.text.solution-001",
      "label": null,
      "line_range": [
        263,
        294
      ],
      "native_record_sha256": "b546de0db6887a126a8106ea02f760867feb3fb8cd2d2d24b17ab0b336fb4349",
      "normalized_character_range": [
        17164,
        18254
      ],
      "normalized_utf8_byte_range": [
        17164,
        18254
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
      "source_file": {
        "archive": "source",
        "bytes": 67810,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
        "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
      },
      "type": "solution"
    },
    {
      "content_bytes": 951,
      "content_sha256": "93fb0679e3e290351412088a5a038d746a807b02cf18e585fa514e08fbf1025a",
      "environment": "solution",
      "id": "unit.r017.book1.ch02.text.solution-002",
      "label": null,
      "line_range": [
        350,
        377
      ],
      "native_record_sha256": "d3481f6ffd4a7f1306b4b8867e3fd11a175e18ecfa094530ee9377dbef72842b",
      "normalized_character_range": [
        23237,
        24188
      ],
      "normalized_utf8_byte_range": [
        23237,
        24188
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
      "source_file": {
        "archive": "source",
        "bytes": 67810,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
        "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
      },
      "type": "solution"
    },
    {
      "content_bytes": 812,
      "content_sha256": "c64e6f61d0e26b6161290f844c2b6fb504a924cc09177dce293f934489db9591",
      "environment": "solution",
      "id": "unit.r017.book1.ch02.text.solution-003",
      "label": null,
      "line_range": [
        403,
        430
      ],
      "native_record_sha256": "2495c5487b682fad25a33d708f3c051458d0a83d40e59fff2647c712be468485",
      "normalized_character_range": [
        25587,
        26399
      ],
      "normalized_utf8_byte_range": [
        25587,
        26399
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
      "source_file": {
        "archive": "source",
        "bytes": 67810,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
        "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
      },
      "type": "solution"
    },
    {
      "content_bytes": 951,
      "content_sha256": "816d310749f14aadab9ea9f95be4e136b2c04161b9a51348177f362c4188c23b",
      "environment": "solution",
      "id": "unit.r017.book1.ch02.text.solution-004",
      "label": null,
      "line_range": [
        454,
        483
      ],
      "native_record_sha256": "3f85ea31fbfc7749d85d1f52444ec8f2323e09eb2f95668b9270dbf8451b5adf",
      "normalized_character_range": [
        28278,
        29229
      ],
      "normalized_utf8_byte_range": [
        28278,
        29229
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
      "source_file": {
        "archive": "source",
        "bytes": 67810,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
        "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
      },
      "type": "solution"
    },
    {
      "content_bytes": 1169,
      "content_sha256": "30256fb9eafcd25231833b7104ffd34496ff96f61184bce6c22801992f9f8ab0",
      "environment": "solution",
      "id": "unit.r017.book1.ch02.text.solution-005",
      "label": null,
      "line_range": [
        553,
        571
      ],
      "native_record_sha256": "de184cb9b158426fb33fb0c0ebce9e0179e94dccb67ce252722ad649945397e3",
      "normalized_character_range": [
        34748,
        35917
      ],
      "normalized_utf8_byte_range": [
        34748,
        35917
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
      "source_file": {
        "archive": "source",
        "bytes": 67810,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
        "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
      },
      "type": "solution"
    },
    {
      "content_bytes": 1016,
      "content_sha256": "27e35d68ced220a6a3e555ae2cfd7436e6ac81f5c03db71325030c8885a32423",
      "environment": "solution",
      "id": "unit.r017.book1.ch02.text.solution-006",
      "label": null,
      "line_range": [
        580,
        599
      ],
      "native_record_sha256": "9bd9fef4b7874b04d09eac87fbcad5f59666916df0eae13a5f427a66e5ea08ed",
      "normalized_character_range": [
        36875,
        37891
      ],
      "normalized_utf8_byte_range": [
        36875,
        37891
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
      "source_file": {
        "archive": "source",
        "bytes": 67810,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
        "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
      },
      "type": "solution"
    },
    {
      "content_bytes": 482,
      "content_sha256": "1af3ce901fd972b70b42892c576dcf72eef60fadd994c56566ed5add772eaa7c",
      "environment": "solution",
      "id": "unit.r017.book1.ch02.text.solution-007",
      "label": null,
      "line_range": [
        627,
        637
      ],
      "native_record_sha256": "17324b8b74a35b8cee22f91759900338fdacaf1c58bfc06dfdc7100d4b742f6b",
      "normalized_character_range": [
        39988,
        40470
      ],
      "normalized_utf8_byte_range": [
        39988,
        40470
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
      "source_file": {
        "archive": "source",
        "bytes": 67810,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
        "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
      },
      "type": "solution"
    },
    {
      "content_bytes": 1020,
      "content_sha256": "95f50bd8d6366667a712ff084cfd0b080f3625cd6f646aaac19603aa29fda227",
      "environment": "solution",
      "id": "unit.r017.book1.ch02.text.solution-008",
      "label": null,
      "line_range": [
        662,
        695
      ],
      "native_record_sha256": "7a67b45b50fdb974b7dd6ce32f775085f4969f99a2a20d43e7f6952ba8de909c",
      "normalized_character_range": [
        42356,
        43376
      ],
      "normalized_utf8_byte_range": [
        42356,
        43376
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
      "source_file": {
        "archive": "source",
        "bytes": 67810,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
        "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
      },
      "type": "solution"
    },
    {
      "content_bytes": 1392,
      "content_sha256": "968ec314ecd63dcf599e0cf9e4aecf4cb07a189504ada8edd27779b9d00752a3",
      "environment": "solution",
      "id": "unit.r017.book1.ch02.text.solution-009",
      "label": null,
      "line_range": [
        725,
        760
      ],
      "native_record_sha256": "e93f6ef71f5326ac9c6679870501e2f37e084a1d27fb015c0648da709c210a02",
      "normalized_character_range": [
        45081,
        46473
      ],
      "normalized_utf8_byte_range": [
        45081,
        46473
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
      "source_file": {
        "archive": "source",
        "bytes": 67810,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
        "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
      },
      "type": "solution"
    },
    {
      "content_bytes": 927,
      "content_sha256": "1f7c7a0fe933742c823e076d87d12a253ff52f6bd34aa2feb67bc2a8d0153efc",
      "environment": "solution",
      "id": "unit.r017.book1.ch02.text.solution-010",
      "label": null,
      "line_range": [
        789,
        816
      ],
      "native_record_sha256": "46869ced974581fc2ebcb8b240b99131d61c07bd877b5aab55cdd658cbe49eea",
      "normalized_character_range": [
        48327,
        49254
      ],
      "normalized_utf8_byte_range": [
        48327,
        49254
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
      "source_file": {
        "archive": "source",
        "bytes": 67810,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
        "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
      },
      "type": "solution"
    },
    {
      "content_bytes": 891,
      "content_sha256": "7ee66405fe59e82f80b82a48f8de9e5caa80a8c06ca82bdcbbd03ec2fbefbf79",
      "environment": "solution",
      "id": "unit.r017.book1.ch02.text.solution-011",
      "label": null,
      "line_range": [
        1029,
        1039
      ],
      "native_record_sha256": "2e1ce3244aeb72bf80b4a24e0b9ed5290f38fc69b65dda0d9470dc3e11b917eb",
      "normalized_character_range": [
        62997,
        63888
      ],
      "normalized_utf8_byte_range": [
        62997,
        63888
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
      "source_file": {
        "archive": "source",
        "bytes": 67810,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
        "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
      },
      "type": "solution"
    },
    {
      "content_bytes": 866,
      "content_sha256": "7d175aa5ed98139f221e0ef0adcf8bc54b22e3b6372324fffc17020685d79d5a",
      "environment": "solution",
      "id": "unit.r017.book1.ch02.text.solution-012",
      "label": null,
      "line_range": [
        1041,
        1045
      ],
      "native_record_sha256": "8394a50dc85306fece869e1cbc71f7e4825e4e3ada282c3f54c7bc7f504619a1",
      "normalized_character_range": [
        63890,
        64756
      ],
      "normalized_utf8_byte_range": [
        63890,
        64756
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
      "source_file": {
        "archive": "source",
        "bytes": 67810,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
        "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
      },
      "type": "solution"
    },
    {
      "content_bytes": 862,
      "content_sha256": "512e5ecc0055e687514eea4a8cd536635c0b92b5cf95029e082a435fee8b2364",
      "environment": "solution",
      "id": "unit.r017.book1.ch02.text.solution-013",
      "label": null,
      "line_range": [
        1047,
        1056
      ],
      "native_record_sha256": "06d97048bbead22e485aba6043a13cb4cce814015b87b05060e5d0b3c243decd",
      "normalized_character_range": [
        64758,
        65620
      ],
      "normalized_utf8_byte_range": [
        64758,
        65620
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
      "source_file": {
        "archive": "source",
        "bytes": 67810,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
        "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
      },
      "type": "solution"
    },
    {
      "content_bytes": 667,
      "content_sha256": "124cfe585bbfc35d58f94503972e9005536241aea9aebf44b043d10e9c9b39f6",
      "environment": "solution",
      "id": "unit.r017.book1.ch02.text.solution-014",
      "label": null,
      "line_range": [
        1058,
        1068
      ],
      "native_record_sha256": "dfc61031f0ce8335645aea9a53c3621fc006503a4d9cc02bf4e7808c4e535429",
      "normalized_character_range": [
        65622,
        66289
      ],
      "normalized_utf8_byte_range": [
        65622,
        66289
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
      "source_file": {
        "archive": "source",
        "bytes": 67810,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
        "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
      },
      "type": "solution"
    },
    {
      "content_bytes": 861,
      "content_sha256": "923c541a85ec0a81ac8ca30dc3ce969c07db300e989d592b53a6beb2675dcb58",
      "environment": "solution",
      "id": "unit.r017.book1.ch02.text.solution-015",
      "label": null,
      "line_range": [
        1070,
        1080
      ],
      "native_record_sha256": "83b1598b1f8a661827ada81ab7e4c298842ae8829097f33a3a023d2cdbcf8994",
      "normalized_character_range": [
        66291,
        67152
      ],
      "normalized_utf8_byte_range": [
        66291,
        67152
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
      "source_file": {
        "archive": "source",
        "bytes": 67810,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
        "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
      },
      "type": "solution"
    },
    {
      "content_bytes": 622,
      "content_sha256": "451aa6218753965f1609a5febeff7784574c87740c45bf840535c26ddf7b9371",
      "environment": "solution",
      "id": "unit.r017.book1.ch02.text.solution-016",
      "label": null,
      "line_range": [
        1083,
        1085
      ],
      "native_record_sha256": "78a3b9565bb11fdbabbcbdf18f0e2383316d1ac7f50e29d09ca59c13bc8a2864",
      "normalized_character_range": [
        67187,
        67809
      ],
      "normalized_utf8_byte_range": [
        67187,
        67809
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
      "source_file": {
        "archive": "source",
        "bytes": 67810,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
        "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
      },
      "type": "solution"
    },
    {
      "content_bytes": 133,
      "content_sha256": "000548d2dbb1dfd112934a48f5e1b44d9374bd1262eb9dbd1da356d1249c5119",
      "environment": "tryit",
      "id": "unit.r017.book1.ch02.text.tryit-001",
      "label": null,
      "line_range": [
        22,
        24
      ],
      "native_record_sha256": "06d6363816d06547ee6db98d97b74c5fadf8f7db5e367daaca0af1f7258b789d",
      "normalized_character_range": [
        862,
        995
      ],
      "normalized_utf8_byte_range": [
        862,
        995
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
      "source_file": {
        "archive": "source",
        "bytes": 67810,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
        "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
      },
      "type": "tryit"
    },
    {
      "content_bytes": 74,
      "content_sha256": "fc9468a5140db61bdfaaf79edaba26c6269e73c2d3a441e2521b8eabf3c6bda1",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch03.solutions-manual.manualsolution-001",
      "label": "exsol:3.1",
      "line_range": [
        11,
        11
      ],
      "native_record_sha256": "9db36935d34c4ff3e433b8ae2744eaf78bc5bda023c65a6b89ca48968d57d266",
      "normalized_character_range": [
        1886,
        1960
      ],
      "normalized_utf8_byte_range": [
        1886,
        1960
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch03.tex",
      "source_file": {
        "archive": "source",
        "bytes": 17875,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch03.tex",
        "sha256": "847c8b25bcca57a0d20c15f7b46ce81ddb72e4a76a8d2421cd057b4c765eed15"
      },
      "type": "solution"
    },
    {
      "content_bytes": 80,
      "content_sha256": "03bac59ee05dbaa377f6588c8ea90f7753d9d0e63ea007587462270d9d327399",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch03.solutions-manual.manualsolution-002",
      "label": "exsol:3.2",
      "line_range": [
        27,
        27
      ],
      "native_record_sha256": "f38c8176f9e241d8ae22484741e15188636ce1f25d2d291093173ce33b16658b",
      "normalized_character_range": [
        3357,
        3437
      ],
      "normalized_utf8_byte_range": [
        3357,
        3437
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch03.tex",
      "source_file": {
        "archive": "source",
        "bytes": 17875,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch03.tex",
        "sha256": "847c8b25bcca57a0d20c15f7b46ce81ddb72e4a76a8d2421cd057b4c765eed15"
      },
      "type": "solution"
    },
    {
      "content_bytes": 37,
      "content_sha256": "42286db9c5853c6b24bbcc245e7eb22ba77182d65677e60cb942352b3be71d51",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch03.solutions-manual.manualsolution-003",
      "label": "exsol:3.3",
      "line_range": [
        38,
        38
      ],
      "native_record_sha256": "aa6cbb5cb6ef797a5f4eb6186fa5c1ff1b2264f4ce94161f59be20d7e3545095",
      "normalized_character_range": [
        4906,
        4943
      ],
      "normalized_utf8_byte_range": [
        4906,
        4943
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch03.tex",
      "source_file": {
        "archive": "source",
        "bytes": 17875,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch03.tex",
        "sha256": "847c8b25bcca57a0d20c15f7b46ce81ddb72e4a76a8d2421cd057b4c765eed15"
      },
      "type": "solution"
    },
    {
      "content_bytes": 45,
      "content_sha256": "d7e2dcdd9596073418d1ff752f1a95f524d4951840a7b26249002a94733f64e1",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch03.solutions-manual.manualsolution-004",
      "label": "exsol:3.4",
      "line_range": [
        66,
        66
      ],
      "native_record_sha256": "f85f8693569a7ddfd0dc3fea0d6d15938e2dda02d16cc08d3d8d3e3cec3abc6a",
      "normalized_character_range": [
        7134,
        7179
      ],
      "normalized_utf8_byte_range": [
        7134,
        7179
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch03.tex",
      "source_file": {
        "archive": "source",
        "bytes": 17875,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch03.tex",
        "sha256": "847c8b25bcca57a0d20c15f7b46ce81ddb72e4a76a8d2421cd057b4c765eed15"
      },
      "type": "solution"
    },
    {
      "content_bytes": 45,
      "content_sha256": "16deaaf443194047e02fbd9a31166124d900a929274982e1f4b2463508c69500",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch03.solutions-manual.manualsolution-005",
      "label": "exsol:3.5",
      "line_range": [
        83,
        83
      ],
      "native_record_sha256": "729af6bba262cd3a7c9a248a82eafddc5c99d04d63569ef57aa7643c6eb7668a",
      "normalized_character_range": [
        8733,
        8778
      ],
      "normalized_utf8_byte_range": [
        8733,
        8778
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch03.tex",
      "source_file": {
        "archive": "source",
        "bytes": 17875,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch03.tex",
        "sha256": "847c8b25bcca57a0d20c15f7b46ce81ddb72e4a76a8d2421cd057b4c765eed15"
      },
      "type": "solution"
    },
    {
      "content_bytes": 57,
      "content_sha256": "3cc74456ac6fa09f54eccca174eda56d4a11e75f84f3eab0ca8b9251411b3eee",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch03.solutions-manual.manualsolution-006",
      "label": "exsol:3.6",
      "line_range": [
        101,
        101
      ],
      "native_record_sha256": "cc9999e5121aaf43bfe7e622218c7f0e69ce39829279312349c02fb61ea05c19",
      "normalized_character_range": [
        10236,
        10293
      ],
      "normalized_utf8_byte_range": [
        10236,
        10293
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch03.tex",
      "source_file": {
        "archive": "source",
        "bytes": 17875,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch03.tex",
        "sha256": "847c8b25bcca57a0d20c15f7b46ce81ddb72e4a76a8d2421cd057b4c765eed15"
      },
      "type": "solution"
    },
    {
      "content_bytes": 69,
      "content_sha256": "65de22c9c26d4d515850273d9b5e189a0b399bd4a7dff24c3e01286c5feb0962",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch03.solutions-manual.manualsolution-007",
      "label": "exsol:3.7",
      "line_range": [
        120,
        120
      ],
      "native_record_sha256": "812b190cafdfa7b23d6bf670592090cddad4bf0c27b4f65b6b502ed1741bada2",
      "normalized_character_range": [
        12397,
        12466
      ],
      "normalized_utf8_byte_range": [
        12397,
        12466
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch03.tex",
      "source_file": {
        "archive": "source",
        "bytes": 17875,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch03.tex",
        "sha256": "847c8b25bcca57a0d20c15f7b46ce81ddb72e4a76a8d2421cd057b4c765eed15"
      },
      "type": "solution"
    },
    {
      "content_bytes": 47,
      "content_sha256": "60589e1b4a3b44f6057278286c66116ba4fb0114b04e14df1aa93a6295a466f5",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch03.solutions-manual.manualsolution-008",
      "label": "exsol:3.8",
      "line_range": [
        139,
        139
      ],
      "native_record_sha256": "5f6b04c56687a52fba40eb5eb1ab39bbbe63e92b457884d8e2fbc7f6c6422596",
      "normalized_character_range": [
        14327,
        14374
      ],
      "normalized_utf8_byte_range": [
        14327,
        14374
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch03.tex",
      "source_file": {
        "archive": "source",
        "bytes": 17875,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch03.tex",
        "sha256": "847c8b25bcca57a0d20c15f7b46ce81ddb72e4a76a8d2421cd057b4c765eed15"
      },
      "type": "solution"
    },
    {
      "content_bytes": 54,
      "content_sha256": "0ce44c88d79066155f2b07f571921d90c9c67399c1ef3580f27de3f6e77b2546",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch03.solutions-manual.manualsolution-009",
      "label": "exsol:3.9",
      "line_range": [
        151,
        151
      ],
      "native_record_sha256": "dfd22ac6218530e8a3a420c3fa537ab7fc42835edec3437b7f5e8e0221d79f59",
      "normalized_character_range": [
        16264,
        16318
      ],
      "normalized_utf8_byte_range": [
        16264,
        16318
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch03.tex",
      "source_file": {
        "archive": "source",
        "bytes": 17875,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch03.tex",
        "sha256": "847c8b25bcca57a0d20c15f7b46ce81ddb72e4a76a8d2421cd057b4c765eed15"
      },
      "type": "solution"
    },
    {
      "content_bytes": 868,
      "content_sha256": "52ff3db8e0dfaa70e3332f82a300a639429767bec53cdcae8ed67781c448f6ec",
      "environment": "ex",
      "id": "unit.r017.book1.ch03.text.ex-001",
      "label": "ex:excel-network-flow-rerun",
      "line_range": [
        176,
        184
      ],
      "native_record_sha256": "b41bca275b325877451b0b9097dd40618a86406d9f51dcca41ae0f2d00182ddb",
      "normalized_character_range": [
        13729,
        14597
      ],
      "normalized_utf8_byte_range": [
        13729,
        14597
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-excel.tex",
      "source_file": {
        "archive": "source",
        "bytes": 28566,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-excel.tex",
        "sha256": "a38b55c6ffd45a60b0b225c5fd9807628c17bbc39201efac588fbe760dae5a70"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 904,
      "content_sha256": "196057370ab333d860b59e4360fac44397a29fee68a9a9e6732b6ab56630c0fa",
      "environment": "ex",
      "id": "unit.r017.book1.ch03.text.ex-002",
      "label": "ex:excel-production-rerun",
      "line_range": [
        186,
        194
      ],
      "native_record_sha256": "b476f8593f95ab4578decf90f84a0cb060978c86b8faa01a042c79e507b603e1",
      "normalized_character_range": [
        14599,
        15503
      ],
      "normalized_utf8_byte_range": [
        14599,
        15503
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-excel.tex",
      "source_file": {
        "archive": "source",
        "bytes": 28566,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-excel.tex",
        "sha256": "a38b55c6ffd45a60b0b225c5fd9807628c17bbc39201efac588fbe760dae5a70"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1625,
      "content_sha256": "b491be6419f5e920fe08c75a0013a851d33d4dc0b2a11c66b6eac3085417534c",
      "environment": "ex",
      "id": "unit.r017.book1.ch03.text.ex-003",
      "label": "ex:excel-diet",
      "line_range": [
        198,
        226
      ],
      "native_record_sha256": "78195c320c9cf194c0570a55690dce8f23614678a334def041809b8fd2d494d8",
      "normalized_character_range": [
        15529,
        17154
      ],
      "normalized_utf8_byte_range": [
        15529,
        17154
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-excel.tex",
      "source_file": {
        "archive": "source",
        "bytes": 28566,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-excel.tex",
        "sha256": "a38b55c6ffd45a60b0b225c5fd9807628c17bbc39201efac588fbe760dae5a70"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1203,
      "content_sha256": "35d5f1035b9af231307ac6492a74a206a1ffb2d70fa733920cca6d734b70629c",
      "environment": "ex",
      "id": "unit.r017.book1.ch03.text.ex-004",
      "label": "ex:excel-production-planning",
      "line_range": [
        228,
        251
      ],
      "native_record_sha256": "a282f510d724e6c1bec5f985139efe82ab785d80763749c0f87bf7d52f818468",
      "normalized_character_range": [
        17156,
        18359
      ],
      "normalized_utf8_byte_range": [
        17156,
        18359
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-excel.tex",
      "source_file": {
        "archive": "source",
        "bytes": 28566,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-excel.tex",
        "sha256": "a38b55c6ffd45a60b0b225c5fd9807628c17bbc39201efac588fbe760dae5a70"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1036,
      "content_sha256": "0d31c9ea8da4a367b32868fd3733ecc85c4b24c83b783c386844e862055dc415",
      "environment": "ex",
      "id": "unit.r017.book1.ch03.text.ex-005",
      "label": "ex:excel-transportation",
      "line_range": [
        253,
        275
      ],
      "native_record_sha256": "a299f9e2c69297c208f7b73e238f8adf29017901f3450cdd8a637eb1116d4896",
      "normalized_character_range": [
        18361,
        19397
      ],
      "normalized_utf8_byte_range": [
        18361,
        19397
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-excel.tex",
      "source_file": {
        "archive": "source",
        "bytes": 28566,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-excel.tex",
        "sha256": "a38b55c6ffd45a60b0b225c5fd9807628c17bbc39201efac588fbe760dae5a70"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1597,
      "content_sha256": "d41dc2ef74ca3858fff22ff10f7f62d4d375127e433c433817f2093eed313c77",
      "environment": "ex",
      "id": "unit.r017.book1.ch03.text.ex-006",
      "label": "ex:excel-furniture-sensitivity",
      "line_range": [
        277,
        301
      ],
      "native_record_sha256": "8be2a3cfd6e2aff943f3dd296c9e3980d539f9aa295e0babada00e76d9b75875",
      "normalized_character_range": [
        19399,
        20996
      ],
      "normalized_utf8_byte_range": [
        19399,
        20996
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-excel.tex",
      "source_file": {
        "archive": "source",
        "bytes": 28566,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-excel.tex",
        "sha256": "a38b55c6ffd45a60b0b225c5fd9807628c17bbc39201efac588fbe760dae5a70"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1466,
      "content_sha256": "efc85c1e6163ba9ce8a7ea224eb7f53eb8687ba2308e2161b62b0b10760786a5",
      "environment": "ex",
      "id": "unit.r017.book1.ch03.text.ex-007",
      "label": "ex:excel-unbalanced-transportation",
      "line_range": [
        303,
        327
      ],
      "native_record_sha256": "d4a5f48e2a6b43110918f093cbc76d846e4b4e460369820602ebdf0a6167f655",
      "normalized_character_range": [
        20998,
        22464
      ],
      "normalized_utf8_byte_range": [
        20998,
        22464
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-excel.tex",
      "source_file": {
        "archive": "source",
        "bytes": 28566,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-excel.tex",
        "sha256": "a38b55c6ffd45a60b0b225c5fd9807628c17bbc39201efac588fbe760dae5a70"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1023,
      "content_sha256": "7cf5fac9605d9d4671306f2bd5d03aa2ba37471cf179d1b5ce6a855709c29e35",
      "environment": "ex",
      "id": "unit.r017.book1.ch03.text.ex-008",
      "label": "ex:excel-solver-methods",
      "line_range": [
        331,
        341
      ],
      "native_record_sha256": "29036b0f3ff977dff863bc3d64e09fbf35d755aa7f27f5986d7bcc4b8ac2a498",
      "normalized_character_range": [
        22500,
        23523
      ],
      "normalized_utf8_byte_range": [
        22500,
        23523
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-excel.tex",
      "source_file": {
        "archive": "source",
        "bytes": 28566,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-excel.tex",
        "sha256": "a38b55c6ffd45a60b0b225c5fd9807628c17bbc39201efac588fbe760dae5a70"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1358,
      "content_sha256": "fdb34309a18b6905612d6c11713fff905d115d9287fabd950326da04173a2e60",
      "environment": "ex",
      "id": "unit.r017.book1.ch03.text.ex-009",
      "label": "ex:excel-short-selling",
      "line_range": [
        345,
        359
      ],
      "native_record_sha256": "7c5bf05335f07fbf16d673ac79111009ce0bbd64c28b23e1b58c88f334742b82",
      "normalized_character_range": [
        23554,
        24912
      ],
      "normalized_utf8_byte_range": [
        23554,
        24912
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-excel.tex",
      "source_file": {
        "archive": "source",
        "bytes": 28566,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-excel.tex",
        "sha256": "a38b55c6ffd45a60b0b225c5fd9807628c17bbc39201efac588fbe760dae5a70"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1238,
      "content_sha256": "453cef6dcffc02dc71bdb9e06758c81d43286d776dd54927710249f29feca698",
      "environment": "solution",
      "id": "unit.r017.book1.ch03.text.solution-001",
      "label": null,
      "line_range": [
        363,
        373
      ],
      "native_record_sha256": "653c4a6536943a600191ce95f36167062af230d9921a65b83c56d68850aed798",
      "normalized_character_range": [
        24948,
        26186
      ],
      "normalized_utf8_byte_range": [
        24948,
        26186
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-excel.tex",
      "source_file": {
        "archive": "source",
        "bytes": 28566,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-excel.tex",
        "sha256": "a38b55c6ffd45a60b0b225c5fd9807628c17bbc39201efac588fbe760dae5a70"
      },
      "type": "solution"
    },
    {
      "content_bytes": 1167,
      "content_sha256": "c38c8527672628a1d53debca56c75ffd5768721ef11ece9744550e56fabb65ec",
      "environment": "solution",
      "id": "unit.r017.book1.ch03.text.solution-002",
      "label": null,
      "line_range": [
        375,
        385
      ],
      "native_record_sha256": "cdb18e3eefa7473af980d214ffba56f352c606876de59c8541f496801775035f",
      "normalized_character_range": [
        26188,
        27355
      ],
      "normalized_utf8_byte_range": [
        26188,
        27355
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-excel.tex",
      "source_file": {
        "archive": "source",
        "bytes": 28566,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-excel.tex",
        "sha256": "a38b55c6ffd45a60b0b225c5fd9807628c17bbc39201efac588fbe760dae5a70"
      },
      "type": "solution"
    },
    {
      "content_bytes": 1180,
      "content_sha256": "e4a809b9ab66cb63d4bc0bee7eebef8a6382870f104cf839e6ea846877a7054f",
      "environment": "solution",
      "id": "unit.r017.book1.ch03.text.solution-003",
      "label": null,
      "line_range": [
        388,
        391
      ],
      "native_record_sha256": "a36a0f450cd1dccc4655605b320344d8463ec9545aeb0185efa02509611950da",
      "normalized_character_range": [
        27385,
        28565
      ],
      "normalized_utf8_byte_range": [
        27385,
        28565
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-excel.tex",
      "source_file": {
        "archive": "source",
        "bytes": 28566,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-excel.tex",
        "sha256": "a38b55c6ffd45a60b0b225c5fd9807628c17bbc39201efac588fbe760dae5a70"
      },
      "type": "solution"
    },
    {
      "content_bytes": 134,
      "content_sha256": "1267fefce69f5cce61169d1ed32f8993cde17519d01998c19c6338d47331b42d",
      "environment": "tryit",
      "id": "unit.r017.book1.ch03.text.tryit-001",
      "label": null,
      "line_range": [
        167,
        169
      ],
      "native_record_sha256": "715ab4b94033ee532ef66ef3c540b08ed4569c04b1ba971657316ea7e16d1c0e",
      "normalized_character_range": [
        13552,
        13686
      ],
      "normalized_utf8_byte_range": [
        13552,
        13686
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-excel.tex",
      "source_file": {
        "archive": "source",
        "bytes": 28566,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-excel.tex",
        "sha256": "a38b55c6ffd45a60b0b225c5fd9807628c17bbc39201efac588fbe760dae5a70"
      },
      "type": "tryit"
    },
    {
      "content_bytes": 56,
      "content_sha256": "3822ce390b70404f9d3485e7761ffffce88d108b72d78cad7cafaaa9dd299296",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch04.solutions-manual.manualsolution-001",
      "label": "exsol:4.1",
      "line_range": [
        17,
        17
      ],
      "native_record_sha256": "ec3bfde4de9331359ce3d154df748d90ffecee474f4c4770a4e5a3875b87041d",
      "normalized_character_range": [
        2513,
        2569
      ],
      "normalized_utf8_byte_range": [
        2513,
        2569
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch04.tex",
      "source_file": {
        "archive": "source",
        "bytes": 27714,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch04.tex",
        "sha256": "c1512fabbb257a8c58b2a83b2c7269ca5d392f352fed7ea74de4b2bfaf4e4dea"
      },
      "type": "solution"
    },
    {
      "content_bytes": 49,
      "content_sha256": "d0f53fd7dce56d46d684466f484f7cbba56f1e9a614c6c2daac08a5256bac760",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch04.solutions-manual.manualsolution-002",
      "label": "exsol:4.2",
      "line_range": [
        35,
        35
      ],
      "native_record_sha256": "bc97420b28ffaf60f106d42f1a30e25e2e0d5a3d751658e924e41f1d03c35274",
      "normalized_character_range": [
        3657,
        3706
      ],
      "normalized_utf8_byte_range": [
        3657,
        3706
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch04.tex",
      "source_file": {
        "archive": "source",
        "bytes": 27714,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch04.tex",
        "sha256": "c1512fabbb257a8c58b2a83b2c7269ca5d392f352fed7ea74de4b2bfaf4e4dea"
      },
      "type": "solution"
    },
    {
      "content_bytes": 55,
      "content_sha256": "b2cf5f44ff81ed155876c00bddbae597bf47cf96e875c7442d8689aed5318c97",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch04.solutions-manual.manualsolution-003",
      "label": "exsol:4.3",
      "line_range": [
        44,
        44
      ],
      "native_record_sha256": "e1adac65222c3af9b34081b67d1e37ba48de26e2657776345fa3a1103fbbc2a0",
      "normalized_character_range": [
        4381,
        4436
      ],
      "normalized_utf8_byte_range": [
        4381,
        4436
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch04.tex",
      "source_file": {
        "archive": "source",
        "bytes": 27714,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch04.tex",
        "sha256": "c1512fabbb257a8c58b2a83b2c7269ca5d392f352fed7ea74de4b2bfaf4e4dea"
      },
      "type": "solution"
    },
    {
      "content_bytes": 59,
      "content_sha256": "04c55da18159aa0658affedd37b44b12626aecd19df55606ec6feff899a1a731",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch04.solutions-manual.manualsolution-004",
      "label": "exsol:4.4",
      "line_range": [
        67,
        67
      ],
      "native_record_sha256": "a15c9a2148cea457726f1811d8bf2add71c8d2ce1f9d44c8a035a4189fcacacf",
      "normalized_character_range": [
        5968,
        6027
      ],
      "normalized_utf8_byte_range": [
        5968,
        6027
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch04.tex",
      "source_file": {
        "archive": "source",
        "bytes": 27714,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch04.tex",
        "sha256": "c1512fabbb257a8c58b2a83b2c7269ca5d392f352fed7ea74de4b2bfaf4e4dea"
      },
      "type": "solution"
    },
    {
      "content_bytes": 55,
      "content_sha256": "e8c0a18754e2f172568ba4e85a7e54b159c6cf485093c1ecd337df30d58b9f55",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch04.solutions-manual.manualsolution-005",
      "label": "exsol:4.5",
      "line_range": [
        89,
        89
      ],
      "native_record_sha256": "fd7a3c6fdd4f4a8eba545901e975544ff63f0ea297efacaeefb4341c4fa14a05",
      "normalized_character_range": [
        7498,
        7553
      ],
      "normalized_utf8_byte_range": [
        7498,
        7553
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch04.tex",
      "source_file": {
        "archive": "source",
        "bytes": 27714,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch04.tex",
        "sha256": "c1512fabbb257a8c58b2a83b2c7269ca5d392f352fed7ea74de4b2bfaf4e4dea"
      },
      "type": "solution"
    },
    {
      "content_bytes": 31,
      "content_sha256": "ea5e90858283ec5b168d25276408d93d964efe90ed8e1a276235bba5384915a2",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch04.solutions-manual.manualsolution-006",
      "label": "exsol:4.6",
      "line_range": [
        119,
        119
      ],
      "native_record_sha256": "e823daba67f5c946a1e05453f76e2f65e456faee3b81dbe1110e3f940cfaeaa3",
      "normalized_character_range": [
        10491,
        10522
      ],
      "normalized_utf8_byte_range": [
        10491,
        10522
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch04.tex",
      "source_file": {
        "archive": "source",
        "bytes": 27714,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch04.tex",
        "sha256": "c1512fabbb257a8c58b2a83b2c7269ca5d392f352fed7ea74de4b2bfaf4e4dea"
      },
      "type": "solution"
    },
    {
      "content_bytes": 48,
      "content_sha256": "9902d9eff44180b8e1251d482df6d81d30a54e5dbd821a92611c4df2cf091629",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch04.solutions-manual.manualsolution-007",
      "label": "exsol:4.7",
      "line_range": [
        137,
        137
      ],
      "native_record_sha256": "7c92d4bed242a446bcd85cdef5605d999a71ff8e7b806c512f4c013fec346b68",
      "normalized_character_range": [
        12006,
        12054
      ],
      "normalized_utf8_byte_range": [
        12006,
        12054
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch04.tex",
      "source_file": {
        "archive": "source",
        "bytes": 27714,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch04.tex",
        "sha256": "c1512fabbb257a8c58b2a83b2c7269ca5d392f352fed7ea74de4b2bfaf4e4dea"
      },
      "type": "solution"
    },
    {
      "content_bytes": 50,
      "content_sha256": "c41eb079337ee14d9f81e76782c7cb2f6ada0bb612280ce8593e9fdcbd48f480",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch04.solutions-manual.manualsolution-008",
      "label": "exsol:4.8",
      "line_range": [
        157,
        157
      ],
      "native_record_sha256": "75ff9cc7e574bdbb228a3f2aee76b34fdb677ab03680e526586832fe535d8a51",
      "normalized_character_range": [
        14399,
        14449
      ],
      "normalized_utf8_byte_range": [
        14399,
        14449
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch04.tex",
      "source_file": {
        "archive": "source",
        "bytes": 27714,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch04.tex",
        "sha256": "c1512fabbb257a8c58b2a83b2c7269ca5d392f352fed7ea74de4b2bfaf4e4dea"
      },
      "type": "solution"
    },
    {
      "content_bytes": 51,
      "content_sha256": "966b4a708d31deebb65a086640be5ef81482101193ea0fcfbef8fe0fa08638b4",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch04.solutions-manual.manualsolution-009",
      "label": "exsol:4.9",
      "line_range": [
        178,
        178
      ],
      "native_record_sha256": "4c5b34d03a7ebcc586062d61f2b84dd36a05b40454d9594c0aeba89601307d45",
      "normalized_character_range": [
        15955,
        16006
      ],
      "normalized_utf8_byte_range": [
        15955,
        16006
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch04.tex",
      "source_file": {
        "archive": "source",
        "bytes": 27714,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch04.tex",
        "sha256": "c1512fabbb257a8c58b2a83b2c7269ca5d392f352fed7ea74de4b2bfaf4e4dea"
      },
      "type": "solution"
    },
    {
      "content_bytes": 63,
      "content_sha256": "d5a51b7e10b8d46ec3d775af0953ae758771e79ad56f9e628b7efd618bcecdd2",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch04.solutions-manual.manualsolution-010",
      "label": "exsol:4.10",
      "line_range": [
        195,
        195
      ],
      "native_record_sha256": "a48787c482d34c71b775f63ab38c9479179411b9acae150a2d8630c99c8ed268",
      "normalized_character_range": [
        17418,
        17481
      ],
      "normalized_utf8_byte_range": [
        17418,
        17481
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch04.tex",
      "source_file": {
        "archive": "source",
        "bytes": 27714,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch04.tex",
        "sha256": "c1512fabbb257a8c58b2a83b2c7269ca5d392f352fed7ea74de4b2bfaf4e4dea"
      },
      "type": "solution"
    },
    {
      "content_bytes": 63,
      "content_sha256": "60256bc77fc8505c11118bb7ebcb75310ffcf778a92df546ba861588ecdc8b4b",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch04.solutions-manual.manualsolution-011",
      "label": "exsol:4.11",
      "line_range": [
        212,
        212
      ],
      "native_record_sha256": "3e16b41fc4d92c37ab9c3fce4ce30b3eaa2bb1f75ce0939976ce964a9cbecf42",
      "normalized_character_range": [
        19197,
        19260
      ],
      "normalized_utf8_byte_range": [
        19197,
        19260
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch04.tex",
      "source_file": {
        "archive": "source",
        "bytes": 27714,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch04.tex",
        "sha256": "c1512fabbb257a8c58b2a83b2c7269ca5d392f352fed7ea74de4b2bfaf4e4dea"
      },
      "type": "solution"
    },
    {
      "content_bytes": 53,
      "content_sha256": "2cf147c69cf31c27cd37104ee63bf37bd406afc1b4291920d26c8b1ec4424b72",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch04.solutions-manual.manualsolution-012",
      "label": "exsol:4.12",
      "line_range": [
        225,
        225
      ],
      "native_record_sha256": "e6e80c60c99591ce06f5d97878b86f8508ecbbe70bb09fc950649ae9ef3b029f",
      "normalized_character_range": [
        21534,
        21587
      ],
      "normalized_utf8_byte_range": [
        21534,
        21587
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch04.tex",
      "source_file": {
        "archive": "source",
        "bytes": 27714,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch04.tex",
        "sha256": "c1512fabbb257a8c58b2a83b2c7269ca5d392f352fed7ea74de4b2bfaf4e4dea"
      },
      "type": "solution"
    },
    {
      "content_bytes": 80,
      "content_sha256": "cf7ec95cd0ca182b62af9a3eb45c6653ea52c59165e2f1c50fef3332f4b45b13",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch04.solutions-manual.manualsolution-013",
      "label": "exsol:4.13",
      "line_range": [
        234,
        234
      ],
      "native_record_sha256": "9cd7954dbf7beed69932cf7a2b50902c72dd89814054179dc686a4029c755363",
      "normalized_character_range": [
        23696,
        23776
      ],
      "normalized_utf8_byte_range": [
        23696,
        23776
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch04.tex",
      "source_file": {
        "archive": "source",
        "bytes": 27714,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch04.tex",
        "sha256": "c1512fabbb257a8c58b2a83b2c7269ca5d392f352fed7ea74de4b2bfaf4e4dea"
      },
      "type": "solution"
    },
    {
      "content_bytes": 47,
      "content_sha256": "7a90161a3d4fed957e90cabe13c4b141b2e66b560c1cd818ad377553111a98b2",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch04.solutions-manual.manualsolution-014",
      "label": "exsol:4.14",
      "line_range": [
        243,
        243
      ],
      "native_record_sha256": "c2921a41da144e3a033ba12d1b624ba79b4127e3ef475f388a7277fe7f7a4133",
      "normalized_character_range": [
        25911,
        25958
      ],
      "normalized_utf8_byte_range": [
        25911,
        25958
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch04.tex",
      "source_file": {
        "archive": "source",
        "bytes": 27714,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch04.tex",
        "sha256": "c1512fabbb257a8c58b2a83b2c7269ca5d392f352fed7ea74de4b2bfaf4e4dea"
      },
      "type": "solution"
    },
    {
      "content_bytes": 316,
      "content_sha256": "ae51d8b8c35a6008c7a03ea2009908578ddcbd7c22a960e76519fbb3ba22adc8",
      "environment": "learningcheckpoint",
      "id": "unit.r017.book1.ch04.text-a.learningcheckpoint-001",
      "label": "lc:missing-index",
      "line_range": [
        96,
        102
      ],
      "native_record_sha256": "7704e0c09c10dce6ea8d29618817b7645bfe25ec6a9ffa1e59a88d6b75c79340",
      "normalized_character_range": [
        4192,
        4508
      ],
      "normalized_utf8_byte_range": [
        4196,
        4512
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums.tex",
      "source_file": {
        "archive": "source",
        "bytes": 42587,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums.tex",
        "sha256": "571e60349312e349ed7b32fe8ca8e2ae01e7ae1a18f69bc4ac28b378d5b01663"
      },
      "type": "learningcheckpoint"
    },
    {
      "content_bytes": 1057,
      "content_sha256": "ea6b45965219abdf0b905f5c8deca37fb6a03af2ef4c05843e8ccc7cadf2958c",
      "environment": "ex",
      "id": "unit.r017.book1.ch04.text-b.ex-001",
      "label": "ex:production-5period-warmup",
      "line_range": [
        1062,
        1071
      ],
      "native_record_sha256": "91b2e1f339602a37eceec6f493124fe54c0c96dff539f70609b5b19bf227c98c",
      "normalized_character_range": [
        56934,
        57991
      ],
      "normalized_utf8_byte_range": [
        56934,
        57991
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
      "source_file": {
        "archive": "source",
        "bytes": 85343,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
        "sha256": "cb07632203302bd695426880f491a496e67cf2f9504a25231988a8ea6a767eb4"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 735,
      "content_sha256": "54426e458cf36c18865c907b55c0e3b11eb94e37162fed6ac4642e379be2d22a",
      "environment": "ex",
      "id": "unit.r017.book1.ch04.text-b.ex-002",
      "label": "ex:machine-assignment-warmup",
      "line_range": [
        1073,
        1081
      ],
      "native_record_sha256": "03bd58a37fccab942597c9e454d4afc901701d475e082396549cd89395be73da",
      "normalized_character_range": [
        57993,
        58728
      ],
      "normalized_utf8_byte_range": [
        57993,
        58728
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
      "source_file": {
        "archive": "source",
        "bytes": 85343,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
        "sha256": "cb07632203302bd695426880f491a496e67cf2f9504a25231988a8ea6a767eb4"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 830,
      "content_sha256": "c548e1f4000c9acf9d6afbab80d7f1fd1fa27568229878334bbe099f73fae6d8",
      "environment": "ex",
      "id": "unit.r017.book1.ch04.text-b.ex-003",
      "label": "ex:network-flow-warmup",
      "line_range": [
        1083,
        1091
      ],
      "native_record_sha256": "6504e41c70dbfa880d9ec79c0354796edc0d6ff3fe81b98f60289b0b846a661f",
      "normalized_character_range": [
        58730,
        59560
      ],
      "normalized_utf8_byte_range": [
        58730,
        59560
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
      "source_file": {
        "archive": "source",
        "bytes": 85343,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
        "sha256": "cb07632203302bd695426880f491a496e67cf2f9504a25231988a8ea6a767eb4"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 875,
      "content_sha256": "efd07d4854847eb21b67544b8ba9247a7ee09037c09ed9aa0d2637e42adc8b69",
      "environment": "ex",
      "id": "unit.r017.book1.ch04.text-b.ex-004",
      "label": "ex:fair-housing-assignment",
      "line_range": [
        1095,
        1107
      ],
      "native_record_sha256": "a35580a19a6d57560bb3a6b2c1250e523dc2ab89ddf599b320c68dfe326eef2e",
      "normalized_character_range": [
        59583,
        60458
      ],
      "normalized_utf8_byte_range": [
        59583,
        60458
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
      "source_file": {
        "archive": "source",
        "bytes": 85343,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
        "sha256": "cb07632203302bd695426880f491a496e67cf2f9504a25231988a8ea6a767eb4"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 3565,
      "content_sha256": "74a2b8de04425c9b4508f4bed49d58955d4532e6bf357e1b3e50e7c7209b79c3",
      "environment": "ex",
      "id": "unit.r017.book1.ch04.text-b.ex-005",
      "label": "ex:relief-max-flow",
      "line_range": [
        1109,
        1168
      ],
      "native_record_sha256": "a4ea1d3659a286a13e768606780c983f7f3200ec538ce1a6d0343085ebfb194a",
      "normalized_character_range": [
        60460,
        64025
      ],
      "normalized_utf8_byte_range": [
        60460,
        64025
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
      "source_file": {
        "archive": "source",
        "bytes": 85343,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
        "sha256": "cb07632203302bd695426880f491a496e67cf2f9504a25231988a8ea6a767eb4"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 2130,
      "content_sha256": "9dfa09739d5e2f897d3efd5ebf537fd8b10566f32516ade800d504276803c21d",
      "environment": "ex",
      "id": "unit.r017.book1.ch04.text-b.ex-006",
      "label": "ex:max-flow-explicit",
      "line_range": [
        1170,
        1233
      ],
      "native_record_sha256": "f78e0a2316eb391b96c9b3f6d19b0092dbb8b3580a2adcc364ce5d48411f790e",
      "normalized_character_range": [
        64027,
        66157
      ],
      "normalized_utf8_byte_range": [
        64027,
        66157
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
      "source_file": {
        "archive": "source",
        "bytes": 85343,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
        "sha256": "cb07632203302bd695426880f491a496e67cf2f9504a25231988a8ea6a767eb4"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 3434,
      "content_sha256": "9f083cf38ae0ac88d14177759ee36a7a3997acd8a227bcadac582b02b1434d8a",
      "environment": "ex",
      "id": "unit.r017.book1.ch04.text-b.ex-007",
      "label": "ex:min-cost-flow-picture",
      "line_range": [
        1235,
        1313
      ],
      "native_record_sha256": "50b6ebc6793a8b1ef4f79ed649297da5e514e9e474ea3fb35d9a3cf9096a5313",
      "normalized_character_range": [
        66159,
        69593
      ],
      "normalized_utf8_byte_range": [
        66159,
        69593
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
      "source_file": {
        "archive": "source",
        "bytes": 85343,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
        "sha256": "cb07632203302bd695426880f491a496e67cf2f9504a25231988a8ea6a767eb4"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1256,
      "content_sha256": "7105e20933cc76123659843bc8a006e5f0c41a1650ee1b5ca3245a093eda361d",
      "environment": "ex",
      "id": "unit.r017.book1.ch04.text-b.ex-008",
      "label": "ex:transshipment-hubs",
      "line_range": [
        1315,
        1341
      ],
      "native_record_sha256": "a10fc0a9a5e01274bd4cacbd22c916eb275ebde181a2f61916ede34e89b6585e",
      "normalized_character_range": [
        69595,
        70851
      ],
      "normalized_utf8_byte_range": [
        69595,
        70851
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
      "source_file": {
        "archive": "source",
        "bytes": 85343,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
        "sha256": "cb07632203302bd695426880f491a496e67cf2f9504a25231988a8ea6a767eb4"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1201,
      "content_sha256": "e916693cb2bf15a2b4b862e644fa0f414c5cccee2e737fc8f9b0e42f37912484",
      "environment": "ex",
      "id": "unit.r017.book1.ch04.text-b.ex-009",
      "label": "ex:assignment-forbidden",
      "line_range": [
        1343,
        1362
      ],
      "native_record_sha256": "8bafe952ab599f180c543e1d7c685dd0ed406ca0cb6c91f930416f104fdd332f",
      "normalized_character_range": [
        70853,
        72054
      ],
      "normalized_utf8_byte_range": [
        70853,
        72054
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
      "source_file": {
        "archive": "source",
        "bytes": 85343,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
        "sha256": "cb07632203302bd695426880f491a496e67cf2f9504a25231988a8ea6a767eb4"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1213,
      "content_sha256": "b15474db7ae27de6725b4d1f97560de1036c00732aa3684a8536244641b261a0",
      "environment": "ex",
      "id": "unit.r017.book1.ch04.text-b.ex-010",
      "label": "ex:capacitated-production",
      "line_range": [
        1364,
        1373
      ],
      "native_record_sha256": "48575cb61c97e7eb82ba23c19d058374e091d9250568fca807fe03438040def9",
      "normalized_character_range": [
        72056,
        73269
      ],
      "normalized_utf8_byte_range": [
        72056,
        73269
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
      "source_file": {
        "archive": "source",
        "bytes": 85343,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
        "sha256": "cb07632203302bd695426880f491a496e67cf2f9504a25231988a8ea6a767eb4"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1315,
      "content_sha256": "0106716a0c75f1abf687fa80b6e0d961bb12ae76b04784484f2efb683844f6e5",
      "environment": "ex",
      "id": "unit.r017.book1.ch04.text-b.ex-011",
      "label": "ex:flow-conservation-concept",
      "line_range": [
        1377,
        1386
      ],
      "native_record_sha256": "6921cd9551f60f48727b192410b632e5b25ca28c9e52b0371a9e3c15c5afa49d",
      "normalized_character_range": [
        73305,
        74620
      ],
      "normalized_utf8_byte_range": [
        73305,
        74620
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
      "source_file": {
        "archive": "source",
        "bytes": 85343,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
        "sha256": "cb07632203302bd695426880f491a496e67cf2f9504a25231988a8ea6a767eb4"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1278,
      "content_sha256": "2a6c6603ef143079c789d2d9c423be1fa6b96867b40a79672374fb39de34fc55",
      "environment": "ex",
      "id": "unit.r017.book1.ch04.text-b.ex-012",
      "label": "ex:assignment-integrality-concept",
      "line_range": [
        1388,
        1397
      ],
      "native_record_sha256": "11b320d8736b3f67db686511fd76a4cef25e92c5e04db6e5a03f142855d95939",
      "normalized_character_range": [
        74622,
        75900
      ],
      "normalized_utf8_byte_range": [
        74622,
        75900
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
      "source_file": {
        "archive": "source",
        "bytes": 85343,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
        "sha256": "cb07632203302bd695426880f491a496e67cf2f9504a25231988a8ea6a767eb4"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1383,
      "content_sha256": "e128b8cc370d5baff205d73ce8b55783e67c4e877c25ef5782514c391d93010a",
      "environment": "ex",
      "id": "unit.r017.book1.ch04.text-b.ex-013",
      "label": "ex:multicommodity-rerouting",
      "line_range": [
        1401,
        1410
      ],
      "native_record_sha256": "e31d84b48d9a62ad961dd175f1c88b6ef7962cab6b6482a85ee767dbf30045da",
      "normalized_character_range": [
        75928,
        77311
      ],
      "normalized_utf8_byte_range": [
        75928,
        77311
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
      "source_file": {
        "archive": "source",
        "bytes": 85343,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
        "sha256": "cb07632203302bd695426880f491a496e67cf2f9504a25231988a8ea6a767eb4"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1287,
      "content_sha256": "e300fbe775b0aa93a03200f63f5a32eab5660d99a7c8d8e17257c38186356121",
      "environment": "ex",
      "id": "unit.r017.book1.ch04.text-b.ex-014",
      "label": "ex:maxmin-fair-assignment",
      "line_range": [
        1412,
        1425
      ],
      "native_record_sha256": "f22138134cc48cfbc2b72779857bd0ffec6a88d175aabf87d9479e6765220db6",
      "normalized_character_range": [
        77313,
        78600
      ],
      "normalized_utf8_byte_range": [
        77313,
        78600
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
      "source_file": {
        "archive": "source",
        "bytes": 85343,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
        "sha256": "cb07632203302bd695426880f491a496e67cf2f9504a25231988a8ea6a767eb4"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1649,
      "content_sha256": "23f4f2569a07b2865597d5fd8f86f397205689e7b9a37fa1f16249426f5627b7",
      "environment": "solution",
      "id": "unit.r017.book1.ch04.text-b.solution-001",
      "label": null,
      "line_range": [
        962,
        1005
      ],
      "native_record_sha256": "f59351cdb9edf76472a2c6dc5633eab7818cf7addc46d13f1493648731e2cd47",
      "normalized_character_range": [
        51245,
        52894
      ],
      "normalized_utf8_byte_range": [
        51245,
        52894
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
      "source_file": {
        "archive": "source",
        "bytes": 85343,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
        "sha256": "cb07632203302bd695426880f491a496e67cf2f9504a25231988a8ea6a767eb4"
      },
      "type": "solution"
    },
    {
      "content_bytes": 649,
      "content_sha256": "84524f6b14f979e28201f815a8dd1b18d76a50f728b49a0c72f297142f3c27c0",
      "environment": "solution",
      "id": "unit.r017.book1.ch04.text-b.solution-002",
      "label": null,
      "line_range": [
        1429,
        1431
      ],
      "native_record_sha256": "a7a655d41a5d0b48bfc5d32d660547134e1fee288fb55ecf4fcdc226523477ed",
      "normalized_character_range": [
        78636,
        79285
      ],
      "normalized_utf8_byte_range": [
        78636,
        79285
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
      "source_file": {
        "archive": "source",
        "bytes": 85343,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
        "sha256": "cb07632203302bd695426880f491a496e67cf2f9504a25231988a8ea6a767eb4"
      },
      "type": "solution"
    },
    {
      "content_bytes": 1503,
      "content_sha256": "c91b3650a768298f63a9c1efcbeb078981dd1a02a4ba668bcc0865937aba765d",
      "environment": "solution",
      "id": "unit.r017.book1.ch04.text-b.solution-003",
      "label": null,
      "line_range": [
        1433,
        1444
      ],
      "native_record_sha256": "6eebd69cb4b5accea771ccd4bd092c06c8d97de29068baabae8618442056ae61",
      "normalized_character_range": [
        79287,
        80790
      ],
      "normalized_utf8_byte_range": [
        79287,
        80790
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
      "source_file": {
        "archive": "source",
        "bytes": 85343,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
        "sha256": "cb07632203302bd695426880f491a496e67cf2f9504a25231988a8ea6a767eb4"
      },
      "type": "solution"
    },
    {
      "content_bytes": 1372,
      "content_sha256": "bb35586a3264b03ad4f6cb63329c3fc4eedd055b2b24e86a2b6930def3fb7a30",
      "environment": "solution",
      "id": "unit.r017.book1.ch04.text-b.solution-004",
      "label": null,
      "line_range": [
        1446,
        1459
      ],
      "native_record_sha256": "71c57d74c6207d1972f460be026ff184d8e134f0ed9b589393fef28aed0fbac2",
      "normalized_character_range": [
        80792,
        82164
      ],
      "normalized_utf8_byte_range": [
        80792,
        82164
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
      "source_file": {
        "archive": "source",
        "bytes": 85343,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
        "sha256": "cb07632203302bd695426880f491a496e67cf2f9504a25231988a8ea6a767eb4"
      },
      "type": "solution"
    },
    {
      "content_bytes": 1177,
      "content_sha256": "87a3fdd51d4f6549929aea47a9a113069ebd37d4184c485a045373ca586d5034",
      "environment": "solution",
      "id": "unit.r017.book1.ch04.text-b.solution-005",
      "label": null,
      "line_range": [
        1461,
        1472
      ],
      "native_record_sha256": "8533660d7362de139cade6bb9acc15521ce3f09e82be10d342501b322e628395",
      "normalized_character_range": [
        82166,
        83343
      ],
      "normalized_utf8_byte_range": [
        82166,
        83343
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
      "source_file": {
        "archive": "source",
        "bytes": 85343,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
        "sha256": "cb07632203302bd695426880f491a496e67cf2f9504a25231988a8ea6a767eb4"
      },
      "type": "solution"
    },
    {
      "content_bytes": 1391,
      "content_sha256": "817270458123b994f41fd3c07b312882ce489659986bb6a3edace387ffeda823",
      "environment": "solution",
      "id": "unit.r017.book1.ch04.text-b.solution-006",
      "label": null,
      "line_range": [
        1474,
        1480
      ],
      "native_record_sha256": "3e65e1e29f941404066553f85b85ce983083ac6b9410169ffe66c9f4d5eab0d2",
      "normalized_character_range": [
        83345,
        84736
      ],
      "normalized_utf8_byte_range": [
        83345,
        84736
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
      "source_file": {
        "archive": "source",
        "bytes": 85343,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
        "sha256": "cb07632203302bd695426880f491a496e67cf2f9504a25231988a8ea6a767eb4"
      },
      "type": "solution"
    },
    {
      "content_bytes": 221,
      "content_sha256": "17f035ca68630bb23ec8706600336d78dc350fc42b723bed91d91c43841cf944",
      "environment": "tryit",
      "id": "unit.r017.book1.ch04.text-b.tryit-001",
      "label": null,
      "line_range": [
        913,
        915
      ],
      "native_record_sha256": "2b465f23585d8ecae1983504c3e8fb3e4de514465921f694898472cdb6aa1d56",
      "normalized_character_range": [
        48896,
        49117
      ],
      "normalized_utf8_byte_range": [
        48896,
        49117
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
      "source_file": {
        "archive": "source",
        "bytes": 85343,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
        "sha256": "cb07632203302bd695426880f491a496e67cf2f9504a25231988a8ea6a767eb4"
      },
      "type": "tryit"
    },
    {
      "content_bytes": 37,
      "content_sha256": "69307ca62ee8229eb2807b1c9238fc073206b0c1d3dd1fed73ecca668d509d92",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-001",
      "label": "exsol:5.1",
      "line_range": [
        15,
        15
      ],
      "native_record_sha256": "97b21e29426b51d98b17ac217de78b45376378664aa829b0a0d7ff0191e20570",
      "normalized_character_range": [
        2144,
        2181
      ],
      "normalized_utf8_byte_range": [
        2144,
        2181
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
      "source_file": {
        "archive": "source",
        "bytes": 22684,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
        "sha256": "ee6db2bb15936c83159d0e97eafb19dc34e4914dd379bd774cf681fb961e640c"
      },
      "type": "solution"
    },
    {
      "content_bytes": 35,
      "content_sha256": "f26cade412751f9088717bbf66407995f5ab17dcde83d80cdfd28da973271455",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-002",
      "label": "exsol:5.2",
      "line_range": [
        20,
        20
      ],
      "native_record_sha256": "4765aa47f6fa761a5fc190551d71af7499d9cd261ce29a6dacccb1d96f11d38e",
      "normalized_character_range": [
        2753,
        2788
      ],
      "normalized_utf8_byte_range": [
        2753,
        2788
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
      "source_file": {
        "archive": "source",
        "bytes": 22684,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
        "sha256": "ee6db2bb15936c83159d0e97eafb19dc34e4914dd379bd774cf681fb961e640c"
      },
      "type": "solution"
    },
    {
      "content_bytes": 39,
      "content_sha256": "67e5a708a227abf0135fb28faccc26a000179821bfbefd1661ac2ecd97123fe5",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-003",
      "label": "exsol:5.3",
      "line_range": [
        23,
        23
      ],
      "native_record_sha256": "ecb9b7c168c826fa1d617bc87e0f8d587dd6d0aad899c8d12c68456c07a454c6",
      "normalized_character_range": [
        3289,
        3328
      ],
      "normalized_utf8_byte_range": [
        3289,
        3328
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
      "source_file": {
        "archive": "source",
        "bytes": 22684,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
        "sha256": "ee6db2bb15936c83159d0e97eafb19dc34e4914dd379bd774cf681fb961e640c"
      },
      "type": "solution"
    },
    {
      "content_bytes": 49,
      "content_sha256": "ea43d52465f36ddf52d6a0544fd5722846245cc9d17977b94b2dbffee149173d",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-004",
      "label": "exsol:5.4",
      "line_range": [
        38,
        38
      ],
      "native_record_sha256": "f56052eece394f6f33d7b01f4872857d85475b2b64eea3e99671bce898a64717",
      "normalized_character_range": [
        4204,
        4253
      ],
      "normalized_utf8_byte_range": [
        4204,
        4253
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
      "source_file": {
        "archive": "source",
        "bytes": 22684,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
        "sha256": "ee6db2bb15936c83159d0e97eafb19dc34e4914dd379bd774cf681fb961e640c"
      },
      "type": "solution"
    },
    {
      "content_bytes": 29,
      "content_sha256": "b254bd1204d5a05e37fb11d40c57dcbdb1262acb0c3ccde8406d3745cf935ebb",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-005",
      "label": "exsol:5.5",
      "line_range": [
        51,
        51
      ],
      "native_record_sha256": "d913380774e41fa1bfdc65465a3a406a34d13707c2204f1d6cda538c181a9b29",
      "normalized_character_range": [
        5061,
        5090
      ],
      "normalized_utf8_byte_range": [
        5061,
        5090
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
      "source_file": {
        "archive": "source",
        "bytes": 22684,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
        "sha256": "ee6db2bb15936c83159d0e97eafb19dc34e4914dd379bd774cf681fb961e640c"
      },
      "type": "solution"
    },
    {
      "content_bytes": 39,
      "content_sha256": "e7481a3e0e29e4ccfd7e3cd94e46436e662f5ad43f14d594a6ad9999b41ca139",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-006",
      "label": "exsol:5.6",
      "line_range": [
        64,
        64
      ],
      "native_record_sha256": "bd07300e5f1e0cc2b57419ce41eaaea935d78774d3a36e02fcb103db64e209c5",
      "normalized_character_range": [
        6415,
        6454
      ],
      "normalized_utf8_byte_range": [
        6415,
        6454
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
      "source_file": {
        "archive": "source",
        "bytes": 22684,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
        "sha256": "ee6db2bb15936c83159d0e97eafb19dc34e4914dd379bd774cf681fb961e640c"
      },
      "type": "solution"
    },
    {
      "content_bytes": 40,
      "content_sha256": "17ed88ac098e77c3e730a8c9a0f5ab95f94f39666ff9002f36103b7fa685786e",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-007",
      "label": "exsol:5.7",
      "line_range": [
        69,
        69
      ],
      "native_record_sha256": "abc4716ee9aac20dc39a2d9ea809e357178d0f21cbcd572cbcd2283abbd9a3f6",
      "normalized_character_range": [
        7280,
        7320
      ],
      "normalized_utf8_byte_range": [
        7280,
        7320
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
      "source_file": {
        "archive": "source",
        "bytes": 22684,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
        "sha256": "ee6db2bb15936c83159d0e97eafb19dc34e4914dd379bd774cf681fb961e640c"
      },
      "type": "solution"
    },
    {
      "content_bytes": 48,
      "content_sha256": "67f33986788452b9941154f568833b58c1cfe715f498ea4eeb246e091b2edeca",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-008",
      "label": "exsol:5.8",
      "line_range": [
        83,
        83
      ],
      "native_record_sha256": "a1fa92b992985843fa2f367ddb12238b11625af8290bafb504162e066f623c77",
      "normalized_character_range": [
        8541,
        8589
      ],
      "normalized_utf8_byte_range": [
        8541,
        8589
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
      "source_file": {
        "archive": "source",
        "bytes": 22684,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
        "sha256": "ee6db2bb15936c83159d0e97eafb19dc34e4914dd379bd774cf681fb961e640c"
      },
      "type": "solution"
    },
    {
      "content_bytes": 44,
      "content_sha256": "113cd4d668b766083c596448f3e3cd594ce1d4a6db5ce1f4da46e472dc7d7c27",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-009",
      "label": "exsol:5.9",
      "line_range": [
        88,
        88
      ],
      "native_record_sha256": "86e9edaa241aaa0349a9540cac09d0638b15db24353a319da76419da20f4ffd2",
      "normalized_character_range": [
        9241,
        9285
      ],
      "normalized_utf8_byte_range": [
        9241,
        9285
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
      "source_file": {
        "archive": "source",
        "bytes": 22684,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
        "sha256": "ee6db2bb15936c83159d0e97eafb19dc34e4914dd379bd774cf681fb961e640c"
      },
      "type": "solution"
    },
    {
      "content_bytes": 29,
      "content_sha256": "13dba31094019b4ca298d9c5bb20402f34564f75090d5c813734fb81d20261f7",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-010",
      "label": "exsol:5.10",
      "line_range": [
        105,
        105
      ],
      "native_record_sha256": "f5e466c9e0febb679f2bf22650d845cf04b1ef7186319a084582d836d4f0b5ca",
      "normalized_character_range": [
        10518,
        10547
      ],
      "normalized_utf8_byte_range": [
        10518,
        10547
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
      "source_file": {
        "archive": "source",
        "bytes": 22684,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
        "sha256": "ee6db2bb15936c83159d0e97eafb19dc34e4914dd379bd774cf681fb961e640c"
      },
      "type": "solution"
    },
    {
      "content_bytes": 63,
      "content_sha256": "854a6587d3c8074356312f3276581346c782af34a578a90a7c7851a0c678a7a4",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-011",
      "label": "exsol:5.11",
      "line_range": [
        121,
        121
      ],
      "native_record_sha256": "b6e642d0f8a12fa7a6c5162d5ca8d93e84cba247c6ec9932d20b0a8829c7865a",
      "normalized_character_range": [
        11806,
        11869
      ],
      "normalized_utf8_byte_range": [
        11806,
        11869
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
      "source_file": {
        "archive": "source",
        "bytes": 22684,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
        "sha256": "ee6db2bb15936c83159d0e97eafb19dc34e4914dd379bd774cf681fb961e640c"
      },
      "type": "solution"
    },
    {
      "content_bytes": 49,
      "content_sha256": "a7d5678c02ab56458c11508e95a701b3909f5131fc1645087b5a26ac6f265b9c",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-012",
      "label": "exsol:5.12",
      "line_range": [
        133,
        133
      ],
      "native_record_sha256": "d1fdd91bddc6ee6e98c054a6f901d5f32fcb4040c4cecc12362f09e221d274c1",
      "normalized_character_range": [
        14292,
        14341
      ],
      "normalized_utf8_byte_range": [
        14292,
        14341
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
      "source_file": {
        "archive": "source",
        "bytes": 22684,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
        "sha256": "ee6db2bb15936c83159d0e97eafb19dc34e4914dd379bd774cf681fb961e640c"
      },
      "type": "solution"
    },
    {
      "content_bytes": 49,
      "content_sha256": "7de77d5940be081d4345e8f91ba090870f045d2bc8a1091a385887b265adb8f8",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-013",
      "label": "exsol:5.13",
      "line_range": [
        144,
        144
      ],
      "native_record_sha256": "8eab892389072832bbdb54d9425134c9f31d2907beb3201a428a5ebd3f6382ac",
      "normalized_character_range": [
        15188,
        15237
      ],
      "normalized_utf8_byte_range": [
        15188,
        15237
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
      "source_file": {
        "archive": "source",
        "bytes": 22684,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
        "sha256": "ee6db2bb15936c83159d0e97eafb19dc34e4914dd379bd774cf681fb961e640c"
      },
      "type": "solution"
    },
    {
      "content_bytes": 59,
      "content_sha256": "ac85b7ca4fcd6fcc41ae398d838e32c99d30e398a29b3547a460c3865779c53a",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-014",
      "label": "exsol:5.14",
      "line_range": [
        157,
        157
      ],
      "native_record_sha256": "2793179a0bd589709cb576d2316b4cf5bc74a6978dffdd2c9fcf2faec81633d5",
      "normalized_character_range": [
        16251,
        16310
      ],
      "normalized_utf8_byte_range": [
        16251,
        16310
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
      "source_file": {
        "archive": "source",
        "bytes": 22684,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
        "sha256": "ee6db2bb15936c83159d0e97eafb19dc34e4914dd379bd774cf681fb961e640c"
      },
      "type": "solution"
    },
    {
      "content_bytes": 48,
      "content_sha256": "05857f5be29016cfccc6d927d2d79a6bfc691805cf16216942683f5b88d2ad84",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-015",
      "label": "exsol:5.15",
      "line_range": [
        172,
        172
      ],
      "native_record_sha256": "e6403858dbf318c11bb1ca0485b8feda464b1df8074a880c03f51faab6758bf7",
      "normalized_character_range": [
        17732,
        17780
      ],
      "normalized_utf8_byte_range": [
        17732,
        17780
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
      "source_file": {
        "archive": "source",
        "bytes": 22684,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
        "sha256": "ee6db2bb15936c83159d0e97eafb19dc34e4914dd379bd774cf681fb961e640c"
      },
      "type": "solution"
    },
    {
      "content_bytes": 53,
      "content_sha256": "6910cd591c0f24fbd7cd46e130608b0e21e4ff1c6880db73f38371eec269b7fb",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-016",
      "label": "exsol:5.16",
      "line_range": [
        195,
        195
      ],
      "native_record_sha256": "3c17641ec833f41aad1046ae2a7f1f2a7f2ccd6185c28f4b83f45592c8ba7176",
      "normalized_character_range": [
        18905,
        18958
      ],
      "normalized_utf8_byte_range": [
        18905,
        18958
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
      "source_file": {
        "archive": "source",
        "bytes": 22684,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
        "sha256": "ee6db2bb15936c83159d0e97eafb19dc34e4914dd379bd774cf681fb961e640c"
      },
      "type": "solution"
    },
    {
      "content_bytes": 54,
      "content_sha256": "9435e721994799ddfc165002ff3b5d3b25d58f5877fa1bc88c3796b5b0e7f126",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-017",
      "label": "exsol:5.17",
      "line_range": [
        227,
        227
      ],
      "native_record_sha256": "b9bda5caad1bc3b51081c65aa33d72aa36978621277199b97c8b051827a07c53",
      "normalized_character_range": [
        21081,
        21135
      ],
      "normalized_utf8_byte_range": [
        21081,
        21135
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
      "source_file": {
        "archive": "source",
        "bytes": 22684,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch05.tex",
        "sha256": "ee6db2bb15936c83159d0e97eafb19dc34e4914dd379bd774cf681fb961e640c"
      },
      "type": "solution"
    },
    {
      "content_bytes": 496,
      "content_sha256": "438ee03a973b6196ee134b8c35e8f712ba5d13ce0b4c17e557332b712b455336",
      "environment": "ex",
      "id": "unit.r017.book1.ch05.text.ex-001",
      "label": null,
      "line_range": [
        778,
        794
      ],
      "native_record_sha256": "b15d1ab37054224565415f8399cf0a3d7990651865d33a4c8add4232ab1ddb6a",
      "normalized_character_range": [
        40559,
        41055
      ],
      "normalized_utf8_byte_range": [
        40559,
        41055
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
      "source_file": {
        "archive": "source",
        "bytes": 65226,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
        "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 233,
      "content_sha256": "00206b079975c41cfa6ed724aa330aa8e15f6ee181c6010b470830d2cbe18a2f",
      "environment": "ex",
      "id": "unit.r017.book1.ch05.text.ex-002",
      "label": "ex:feasible-region",
      "line_range": [
        796,
        803
      ],
      "native_record_sha256": "b7e2c47f47dc18ba00229181f820be42718938ff60e5b86b509bd5234c3a9d21",
      "normalized_character_range": [
        41057,
        41290
      ],
      "normalized_utf8_byte_range": [
        41057,
        41290
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
      "source_file": {
        "archive": "source",
        "bytes": 65226,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
        "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 562,
      "content_sha256": "660997781b9f98ee9660b0b907cdeb9b74dab6658b71bf0b24694d42ccaaa010",
      "environment": "ex",
      "id": "unit.r017.book1.ch05.text.ex-003",
      "label": "ex:graphical-method-one",
      "line_range": [
        805,
        815
      ],
      "native_record_sha256": "45ae6e05ffa8953cb4bda2bec0919a757fa8f73673cfeda7c5b199bd9cfe239d",
      "normalized_character_range": [
        41292,
        41854
      ],
      "normalized_utf8_byte_range": [
        41292,
        41854
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
      "source_file": {
        "archive": "source",
        "bytes": 65226,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
        "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 232,
      "content_sha256": "c185913061dc4f03b8d589d8fda72023d1b5c641a5230e987c3f2f59fda42744",
      "environment": "ex",
      "id": "unit.r017.book1.ch05.text.ex-004",
      "label": null,
      "line_range": [
        817,
        820
      ],
      "native_record_sha256": "8f73b98016f943c60d813307523668277d782ac27fd7eff8edb6493267d50811",
      "normalized_character_range": [
        41856,
        42088
      ],
      "normalized_utf8_byte_range": [
        41856,
        42088
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
      "source_file": {
        "archive": "source",
        "bytes": 65226,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
        "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 342,
      "content_sha256": "8d1b80242e2512a4fc8df9c79b0ae335d10ca4606728d8a5854df016be066fcc",
      "environment": "ex",
      "id": "unit.r017.book1.ch05.text.ex-005",
      "label": null,
      "line_range": [
        825,
        834
      ],
      "native_record_sha256": "b79b94e381de4253f1d8320155e701fe5e10f31bf31ad5e6fc9238c05ff27a71",
      "normalized_character_range": [
        42141,
        42483
      ],
      "normalized_utf8_byte_range": [
        42141,
        42483
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
      "source_file": {
        "archive": "source",
        "bytes": 65226,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
        "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 437,
      "content_sha256": "c4ccbaa4760906c5cbc49e33fb5753ff7b7fc400df9254aeb5f24a96e195ddf3",
      "environment": "ex",
      "id": "unit.r017.book1.ch05.text.ex-006",
      "label": "ex:infeasible",
      "line_range": [
        836,
        847
      ],
      "native_record_sha256": "27ed508ca8be54624c54dd7a6ed97198217c24a32f8a96bddc288372952d2886",
      "normalized_character_range": [
        42485,
        42922
      ],
      "normalized_utf8_byte_range": [
        42485,
        42922
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
      "source_file": {
        "archive": "source",
        "bytes": 65226,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
        "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 274,
      "content_sha256": "6f24eccf1f221c57fbbfde58c3bd52eda366d306b104b3854b47e3ffb58a329a",
      "environment": "ex",
      "id": "unit.r017.book1.ch05.text.ex-007",
      "label": "ex:lp-optimal-value",
      "line_range": [
        849,
        859
      ],
      "native_record_sha256": "3e52d1e746a8d2bf1fed94e6c3cc14a38709a6935c3a11791607a247e6f09fea",
      "normalized_character_range": [
        42924,
        43198
      ],
      "normalized_utf8_byte_range": [
        42924,
        43198
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
      "source_file": {
        "archive": "source",
        "bytes": 65226,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
        "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 329,
      "content_sha256": "aea36425e46a6669817f38dfa20c01d9ed165a561008346c032785113bb3a254",
      "environment": "ex",
      "id": "unit.r017.book1.ch05.text.ex-008",
      "label": "ex:lp-unbounded",
      "line_range": [
        861,
        872
      ],
      "native_record_sha256": "5c74c283ef724bce51284eb210e18a786731bb4a27578dbadd6e4b40d1fe1516",
      "normalized_character_range": [
        43200,
        43529
      ],
      "normalized_utf8_byte_range": [
        43200,
        43529
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
      "source_file": {
        "archive": "source",
        "bytes": 65226,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
        "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 444,
      "content_sha256": "977b9a0a2f48642b9daaf932d053eb8320b9104337c49a71b3e5f36611fc781e",
      "environment": "ex",
      "id": "unit.r017.book1.ch05.text.ex-009",
      "label": "exer:BoundedSolutionQuestion",
      "line_range": [
        874,
        877
      ],
      "native_record_sha256": "1a21dc16131c078c67e014d603928c5f009ed8688d019258cca73c05aecbfdbd",
      "normalized_character_range": [
        43531,
        43975
      ],
      "normalized_utf8_byte_range": [
        43531,
        43975
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
      "source_file": {
        "archive": "source",
        "bytes": 65226,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
        "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1027,
      "content_sha256": "8908a506b03d64b2de1fb7ce7bf700cef4bb008cfc2f3f249afec48bb182a9a9",
      "environment": "ex",
      "id": "unit.r017.book1.ch05.text.ex-010",
      "label": "ex:lp-diet-problem",
      "line_range": [
        879,
        903
      ],
      "native_record_sha256": "5245319e3923730df2b68940ccf0c630a0132d0ffc8d554381216d1720e31f31",
      "normalized_character_range": [
        43977,
        45004
      ],
      "normalized_utf8_byte_range": [
        43977,
        45004
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
      "source_file": {
        "archive": "source",
        "bytes": 65226,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
        "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 889,
      "content_sha256": "273e5cac058acb8ded4869f5633b6e1eed1ef1bcbaf7e3a5c1abe470c65c6393",
      "environment": "ex",
      "id": "unit.r017.book1.ch05.text.ex-011",
      "label": "ex:why-vertex",
      "line_range": [
        907,
        914
      ],
      "native_record_sha256": "2ce6d64e5857bd7d7f11cb8a0516c6e54183b8fcf0420ebd8cc3da5dae62918c",
      "normalized_character_range": [
        45040,
        45929
      ],
      "normalized_utf8_byte_range": [
        45040,
        45929
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
      "source_file": {
        "archive": "source",
        "bytes": 65226,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
        "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 286,
      "content_sha256": "2bbca037238a987a5133920357c96c24897f49d800fa7be64672d8d8dab6da8d",
      "environment": "ex",
      "id": "unit.r017.book1.ch05.text.ex-012",
      "label": null,
      "line_range": [
        916,
        919
      ],
      "native_record_sha256": "67e40f35edd1e85eb4e3e950ede2abfe70bb6fc567ca2021253f612476fe19cf",
      "normalized_character_range": [
        45931,
        46217
      ],
      "normalized_utf8_byte_range": [
        45931,
        46217
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
      "source_file": {
        "archive": "source",
        "bytes": 65226,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
        "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 334,
      "content_sha256": "1e3d109901dfb72893fa2c77950982af2fca4fb3c44eb4b6a3e63f52cf3eced0",
      "environment": "ex",
      "id": "unit.r017.book1.ch05.text.ex-013",
      "label": null,
      "line_range": [
        921,
        924
      ],
      "native_record_sha256": "4327b6c4342cf3c08fb093e33513be0ed3d3174382010fc9f39fa8b6f436c50b",
      "normalized_character_range": [
        46219,
        46553
      ],
      "normalized_utf8_byte_range": [
        46219,
        46553
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
      "source_file": {
        "archive": "source",
        "bytes": 65226,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
        "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 475,
      "content_sha256": "0d7e8a764006e6cfa63963df87fc750c9f9a3952e120fc09439e5d85e7e4b855",
      "environment": "ex",
      "id": "unit.r017.book1.ch05.text.ex-014",
      "label": null,
      "line_range": [
        926,
        931
      ],
      "native_record_sha256": "b647fc9213c5702e5497c581f8e88959f0ff96e7e5c77e5d98d10efb8ba3553d",
      "normalized_character_range": [
        46555,
        47030
      ],
      "normalized_utf8_byte_range": [
        46555,
        47030
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
      "source_file": {
        "archive": "source",
        "bytes": 65226,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
        "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 937,
      "content_sha256": "8bec2d481053188089a995033219556d5677e4923d5ce6964acecabacf6a0fe0",
      "environment": "ex",
      "id": "unit.r017.book1.ch05.text.ex-015",
      "label": null,
      "line_range": [
        936,
        961
      ],
      "native_record_sha256": "167784fd720bfe57b2623dbf8a266e066518d6370eb839bbed3b282b6bec826f",
      "normalized_character_range": [
        47088,
        48025
      ],
      "normalized_utf8_byte_range": [
        47088,
        48025
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
      "source_file": {
        "archive": "source",
        "bytes": 65226,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
        "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1200,
      "content_sha256": "217cdd5d8bf3eea8810f0f0627afd29f691a6b6927e1cd75bc93823a0e17b83e",
      "environment": "ex",
      "id": "unit.r017.book1.ch05.text.ex-016",
      "label": null,
      "line_range": [
        963,
        995
      ],
      "native_record_sha256": "60e03e91351c401234efb73cdb7b47f9ec2cca2ecf5fa27a4a54cbc0a0b5fc83",
      "normalized_character_range": [
        48027,
        49227
      ],
      "normalized_utf8_byte_range": [
        48027,
        49227
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
      "source_file": {
        "archive": "source",
        "bytes": 65226,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
        "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 941,
      "content_sha256": "4bf710a166dd187a0715be49d197075c0ce3a852889648e3cca7d0879dceaaf2",
      "environment": "ex",
      "id": "unit.r017.book1.ch05.text.ex-017",
      "label": "ex:edge-of-optima",
      "line_range": [
        997,
        1004
      ],
      "native_record_sha256": "72eaeb1a33172c2b2eee6fb2195915c5121b4f9978e38f31b1b63518f529957c",
      "normalized_character_range": [
        49229,
        50170
      ],
      "normalized_utf8_byte_range": [
        49229,
        50170
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
      "source_file": {
        "archive": "source",
        "bytes": 65226,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
        "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1611,
      "content_sha256": "8607e7490498e89a68c28f475e1c466ac3d5c4959747ee55e8ef5ba762bdba88",
      "environment": "learningcheckpoint",
      "id": "unit.r017.book1.ch05.text.learningcheckpoint-001",
      "label": "lc:how-many-optima",
      "line_range": [
        451,
        485
      ],
      "native_record_sha256": "15bf373a87c3d2006d5f199c12bc7c109dd674d9421ab94a24b1adbc2a20cd66",
      "normalized_character_range": [
        25221,
        26832
      ],
      "normalized_utf8_byte_range": [
        25221,
        26832
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
      "source_file": {
        "archive": "source",
        "bytes": 65226,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
        "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
      },
      "type": "learningcheckpoint"
    },
    {
      "content_bytes": 3750,
      "content_sha256": "e322d23e29205f34d7afe9477513896f194f4fb37ec0eae692635a41a8009dd2",
      "environment": "solution",
      "id": "unit.r017.book1.ch05.text.solution-001",
      "label": "fig:FurnitureWorkshopFeasibleRegion",
      "line_range": [
        154,
        216
      ],
      "native_record_sha256": "047a15e5a7476b668125d22e1d03de99210100adb636e8c49934fa81aab347cf",
      "normalized_character_range": [
        8613,
        12363
      ],
      "normalized_utf8_byte_range": [
        8613,
        12363
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
      "source_file": {
        "archive": "source",
        "bytes": 65226,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
        "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
      },
      "type": "solution"
    },
    {
      "content_bytes": 5302,
      "content_sha256": "cb6e0a6eccba12c72aeb9bfcd8e7705268d4cf78fbb523da24154f2208793e19",
      "environment": "solution",
      "id": "unit.r017.book1.ch05.text.solution-002",
      "label": "fig:LemonadeVendorFeasibleRegion",
      "line_range": [
        260,
        359
      ],
      "native_record_sha256": "3044aa500b641186b544c370d33cf2120d9539931a45a40164c6aad415e45aa1",
      "normalized_character_range": [
        14649,
        19951
      ],
      "normalized_utf8_byte_range": [
        14649,
        19951
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
      "source_file": {
        "archive": "source",
        "bytes": 65226,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
        "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
      },
      "type": "solution"
    },
    {
      "content_bytes": 2746,
      "content_sha256": "fc1419276ed932e15e289fadb78e33c703a56e0945bebbb7d1762250d81aa010",
      "environment": "solution",
      "id": "unit.r017.book1.ch05.text.solution-003",
      "label": "fig:FurnitureWorkshopAltOptSoln",
      "line_range": [
        389,
        438
      ],
      "native_record_sha256": "985f06207ed4b18fff7822bbb9152e154fc2f8d479c02be67ac11bcba64ddb17",
      "normalized_character_range": [
        21641,
        24387
      ],
      "normalized_utf8_byte_range": [
        21641,
        24387
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
      "source_file": {
        "archive": "source",
        "bytes": 65226,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
        "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
      },
      "type": "solution"
    },
    {
      "content_bytes": 1972,
      "content_sha256": "2a36f3613d0c6e4ee17526eab692d56ced4847a382d755a5e7c33632f684ad79",
      "environment": "solution",
      "id": "unit.r017.book1.ch05.text.solution-004",
      "label": "fig:LPInfeasible",
      "line_range": [
        504,
        542
      ],
      "native_record_sha256": "65c860b1e390bf78ca8346fbe761aae3339688613236aa7c24f4dc7e3db71219",
      "normalized_character_range": [
        27403,
        29375
      ],
      "normalized_utf8_byte_range": [
        27403,
        29375
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
      "source_file": {
        "archive": "source",
        "bytes": 65226,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
        "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
      },
      "type": "solution"
    },
    {
      "content_bytes": 278,
      "content_sha256": "99cfda3892469cf29712f086995485507ec1e52c6404837ee5efc2e7e9944c8c",
      "environment": "solution",
      "id": "unit.r017.book1.ch05.text.solution-005",
      "label": null,
      "line_range": [
        627,
        629
      ],
      "native_record_sha256": "172e90791da9fb405f67e2024d7d863bfc33baa6c5111b615d9bbc698babfc7e",
      "normalized_character_range": [
        32358,
        32636
      ],
      "normalized_utf8_byte_range": [
        32358,
        32636
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
      "source_file": {
        "archive": "source",
        "bytes": 65226,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
        "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
      },
      "type": "solution"
    },
    {
      "content_bytes": 2667,
      "content_sha256": "6a812f3eed65130f9000764fb6c09025bf5f07b5506f1e2c70999fb92a86f54f",
      "environment": "solution",
      "id": "unit.r017.book1.ch05.text.solution-006",
      "label": "fig:LPUnboundFeasibleRegion1",
      "line_range": [
        644,
        689
      ],
      "native_record_sha256": "fc267f5db6c5ae093e109dcdb78c380af4cb2edb1e194c0078ebcfaeb2ef452f",
      "normalized_character_range": [
        33194,
        35861
      ],
      "normalized_utf8_byte_range": [
        33194,
        35861
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
      "source_file": {
        "archive": "source",
        "bytes": 65226,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
        "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
      },
      "type": "solution"
    },
    {
      "content_bytes": 2588,
      "content_sha256": "ce5a7cf06dc0ebced5cfcb751fea90ee81d69e192c99eafcc25751357e362d4a",
      "environment": "solution",
      "id": "unit.r017.book1.ch05.text.solution-007",
      "label": "fig:LPUnboundFeasibleRegion2",
      "line_range": [
        705,
        749
      ],
      "native_record_sha256": "48dda9b7b7f3bcbd297f6b405eab0042415a2af514c8b42b87715d2347497e04",
      "normalized_character_range": [
        36484,
        39072
      ],
      "normalized_utf8_byte_range": [
        36484,
        39072
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
      "source_file": {
        "archive": "source",
        "bytes": 65226,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
        "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
      },
      "type": "solution"
    },
    {
      "content_bytes": 505,
      "content_sha256": "18c8de9185ae69b1de48d7d05be890f05267e90513b84795639336912786a33d",
      "environment": "solution",
      "id": "unit.r017.book1.ch05.text.solution-008",
      "label": null,
      "line_range": [
        1069,
        1071
      ],
      "native_record_sha256": "d0251fd51f186d7bbc815120ea769ade41e5b07d2079e05b5d43f6ae667b982d",
      "normalized_character_range": [
        52793,
        53298
      ],
      "normalized_utf8_byte_range": [
        52793,
        53298
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
      "source_file": {
        "archive": "source",
        "bytes": 65226,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
        "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
      },
      "type": "solution"
    },
    {
      "content_bytes": 160,
      "content_sha256": "598ee9772cceea7a7cbaf7c562cec9c77f3ab0fbb94bb00a5df1d18498ae9ecc",
      "environment": "solution",
      "id": "unit.r017.book1.ch05.text.solution-009",
      "label": null,
      "line_range": [
        1073,
        1075
      ],
      "native_record_sha256": "259d3a52d9300d7922453076bb58db217ec41b28eb91e7ef4e77daeebac656d0",
      "normalized_character_range": [
        53300,
        53460
      ],
      "normalized_utf8_byte_range": [
        53300,
        53460
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
      "source_file": {
        "archive": "source",
        "bytes": 65226,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
        "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
      },
      "type": "solution"
    },
    {
      "content_bytes": 199,
      "content_sha256": "1ecdd459901f0fa79485855bd8beec40833a505416448adcdff16248a42e5a17",
      "environment": "solution",
      "id": "unit.r017.book1.ch05.text.solution-010",
      "label": null,
      "line_range": [
        1077,
        1081
      ],
      "native_record_sha256": "0bf8b5b08459ae558094a75612f5853736d75418e4142d4017b98d1b75e3e6d9",
      "normalized_character_range": [
        53462,
        53661
      ],
      "normalized_utf8_byte_range": [
        53462,
        53661
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
      "source_file": {
        "archive": "source",
        "bytes": 65226,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
        "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
      },
      "type": "solution"
    },
    {
      "content_bytes": 1790,
      "content_sha256": "0e997200fca7cce850a10dd93e163d1cfce2e80561066d57633a0028ad4de739",
      "environment": "solution",
      "id": "unit.r017.book1.ch05.text.solution-011",
      "label": null,
      "line_range": [
        1083,
        1126
      ],
      "native_record_sha256": "7a4c8048342a238bd5dad18640ac6df4774428dd58ee7f210a971a61b6751801",
      "normalized_character_range": [
        53663,
        55453
      ],
      "normalized_utf8_byte_range": [
        53663,
        55453
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
      "source_file": {
        "archive": "source",
        "bytes": 65226,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
        "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
      },
      "type": "solution"
    },
    {
      "content_bytes": 577,
      "content_sha256": "2aa74f126dc278d9b889f1c45c318b480fc54eabf865ceda715fb7d32557a78d",
      "environment": "solution",
      "id": "unit.r017.book1.ch05.text.solution-012",
      "label": null,
      "line_range": [
        1128,
        1138
      ],
      "native_record_sha256": "9233412d2614d890f6cacb66b47b4afd5208c8cbb502815d36dfe9b8c1ecdafd",
      "normalized_character_range": [
        55455,
        56032
      ],
      "normalized_utf8_byte_range": [
        55455,
        56032
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
      "source_file": {
        "archive": "source",
        "bytes": 65226,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
        "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
      },
      "type": "solution"
    },
    {
      "content_bytes": 916,
      "content_sha256": "b1561b3ccd7966abe160dc54f7b4ae840235649a5840452853c8dd50987e95ca",
      "environment": "solution",
      "id": "unit.r017.book1.ch05.text.solution-013",
      "label": null,
      "line_range": [
        1140,
        1165
      ],
      "native_record_sha256": "35c18c35417e82f6e70045617e5c046c2414668cfbee38b610a6ceef321806de",
      "normalized_character_range": [
        56034,
        56950
      ],
      "normalized_utf8_byte_range": [
        56034,
        56950
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
      "source_file": {
        "archive": "source",
        "bytes": 65226,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
        "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
      },
      "type": "solution"
    },
    {
      "content_bytes": 157,
      "content_sha256": "c98862608d71db6c743d79f0313b54e33ea5314274750615f9e61aa98b7ceab9",
      "environment": "tryit",
      "id": "unit.r017.book1.ch05.text.tryit-001",
      "label": null,
      "line_range": [
        19,
        21
      ],
      "native_record_sha256": "1d256790c8020c6bddfeb5584e011204ee63cde7e727268f84f215be56662e54",
      "normalized_character_range": [
        1266,
        1423
      ],
      "normalized_utf8_byte_range": [
        1266,
        1423
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
      "source_file": {
        "archive": "source",
        "bytes": 65226,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
        "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
      },
      "type": "tryit"
    },
    {
      "content_bytes": 30,
      "content_sha256": "9dc4c288f8fe38873441c6edd66368796340031242fee22795eb454bcae0773d",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch06.solutions-manual.manualsolution-001",
      "label": "exsol:6.1",
      "line_range": [
        11,
        11
      ],
      "native_record_sha256": "c505576f648894e9d09d405ef6bb19f40349296acda14a8b38c8d303321d9a27",
      "normalized_character_range": [
        1934,
        1964
      ],
      "normalized_utf8_byte_range": [
        1938,
        1968
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch06.tex",
      "source_file": {
        "archive": "source",
        "bytes": 15677,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch06.tex",
        "sha256": "3f54164435b4fe489e907b8ebfc71c862ff09a73af288d427830db84feefd344"
      },
      "type": "solution"
    },
    {
      "content_bytes": 44,
      "content_sha256": "3b89ba7c9f78ef3d8fc9ffe50f310f98716a9ef145de483fb2fa44dcf243aadb",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch06.solutions-manual.manualsolution-002",
      "label": "exsol:6.2",
      "line_range": [
        19,
        19
      ],
      "native_record_sha256": "e136e63347a5c1329c1406b939796d61c2f2652a945dbffa636eadabcbfb44ef",
      "normalized_character_range": [
        2269,
        2313
      ],
      "normalized_utf8_byte_range": [
        2273,
        2317
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch06.tex",
      "source_file": {
        "archive": "source",
        "bytes": 15677,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch06.tex",
        "sha256": "3f54164435b4fe489e907b8ebfc71c862ff09a73af288d427830db84feefd344"
      },
      "type": "solution"
    },
    {
      "content_bytes": 49,
      "content_sha256": "60c5306a23a72afa2f6af95d4e3ff0a61fd025b99733f64ed77f6f799458a328",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch06.solutions-manual.manualsolution-003",
      "label": "exsol:6.3",
      "line_range": [
        35,
        35
      ],
      "native_record_sha256": "714690f8c1cc6482e717f12474b08f0846b3559d9ddf1a5d9b5713ef75970f5e",
      "normalized_character_range": [
        3259,
        3308
      ],
      "normalized_utf8_byte_range": [
        3263,
        3312
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch06.tex",
      "source_file": {
        "archive": "source",
        "bytes": 15677,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch06.tex",
        "sha256": "3f54164435b4fe489e907b8ebfc71c862ff09a73af288d427830db84feefd344"
      },
      "type": "solution"
    },
    {
      "content_bytes": 35,
      "content_sha256": "c8d4d24d8d4ee5e8381dad337e1cb98b47b5116c96d83bfe09e6459b267bc90f",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch06.solutions-manual.manualsolution-004",
      "label": "exsol:6.4",
      "line_range": [
        42,
        42
      ],
      "native_record_sha256": "7b74076d50326d5452ec7f1a6161be70e774f084395fe5b1ffede498252cec31",
      "normalized_character_range": [
        3964,
        3999
      ],
      "normalized_utf8_byte_range": [
        3968,
        4003
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch06.tex",
      "source_file": {
        "archive": "source",
        "bytes": 15677,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch06.tex",
        "sha256": "3f54164435b4fe489e907b8ebfc71c862ff09a73af288d427830db84feefd344"
      },
      "type": "solution"
    },
    {
      "content_bytes": 59,
      "content_sha256": "6ce277abb5066cadaf1d1aaa8f827567588c1a9301cce34e832a91ebbb8b8129",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch06.solutions-manual.manualsolution-005",
      "label": "exsol:6.5",
      "line_range": [
        50,
        50
      ],
      "native_record_sha256": "ae331719c0de6488b3612d8dbd2d22c5c485888419ec2021a03afc521ae2a516",
      "normalized_character_range": [
        5341,
        5400
      ],
      "normalized_utf8_byte_range": [
        5345,
        5404
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch06.tex",
      "source_file": {
        "archive": "source",
        "bytes": 15677,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch06.tex",
        "sha256": "3f54164435b4fe489e907b8ebfc71c862ff09a73af288d427830db84feefd344"
      },
      "type": "solution"
    },
    {
      "content_bytes": 46,
      "content_sha256": "37dbda966a75a059fe2db8a33a5ef496b71c475d72a8ad9a9b86aae0c4306b44",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch06.solutions-manual.manualsolution-006",
      "label": "exsol:6.6",
      "line_range": [
        66,
        66
      ],
      "native_record_sha256": "566c2079cadda5607b32838de2bef1098748283d0138dcc42e837345f61efe11",
      "normalized_character_range": [
        6277,
        6323
      ],
      "normalized_utf8_byte_range": [
        6281,
        6327
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch06.tex",
      "source_file": {
        "archive": "source",
        "bytes": 15677,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch06.tex",
        "sha256": "3f54164435b4fe489e907b8ebfc71c862ff09a73af288d427830db84feefd344"
      },
      "type": "solution"
    },
    {
      "content_bytes": 55,
      "content_sha256": "b8326d59b7461efd10be5baa91bc5feab1b2b4c787c585ddbdad2cbe2a81f489",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch06.solutions-manual.manualsolution-007",
      "label": "exsol:6.7",
      "line_range": [
        78,
        78
      ],
      "native_record_sha256": "abf042425fd7f063d83eeb0a6b690647dac9213cd3d4651282df15fbe9531694",
      "normalized_character_range": [
        7460,
        7515
      ],
      "normalized_utf8_byte_range": [
        7464,
        7519
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch06.tex",
      "source_file": {
        "archive": "source",
        "bytes": 15677,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch06.tex",
        "sha256": "3f54164435b4fe489e907b8ebfc71c862ff09a73af288d427830db84feefd344"
      },
      "type": "solution"
    },
    {
      "content_bytes": 39,
      "content_sha256": "a4fa11730ba71e716650815d3f98b531f628b15ea448fea5613a960084e3b14c",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch06.solutions-manual.manualsolution-008",
      "label": "exsol:6.8",
      "line_range": [
        85,
        85
      ],
      "native_record_sha256": "1afc64cc0877f2b6b3a53cf85ac0f161ce621259efad07adf821acf46d5cbf44",
      "normalized_character_range": [
        8480,
        8519
      ],
      "normalized_utf8_byte_range": [
        8488,
        8527
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch06.tex",
      "source_file": {
        "archive": "source",
        "bytes": 15677,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch06.tex",
        "sha256": "3f54164435b4fe489e907b8ebfc71c862ff09a73af288d427830db84feefd344"
      },
      "type": "solution"
    },
    {
      "content_bytes": 53,
      "content_sha256": "d934848a953c8449034bf80c045aa9f5c798b6311f5f1d7a1c346585132e0ce5",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch06.solutions-manual.manualsolution-009",
      "label": "exsol:6.9",
      "line_range": [
        100,
        100
      ],
      "native_record_sha256": "fc2c07257fdd15ba831e6b72f9ccbcc2b028e9de904d1cf077dbf272798fdda5",
      "normalized_character_range": [
        10072,
        10125
      ],
      "normalized_utf8_byte_range": [
        10080,
        10133
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch06.tex",
      "source_file": {
        "archive": "source",
        "bytes": 15677,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch06.tex",
        "sha256": "3f54164435b4fe489e907b8ebfc71c862ff09a73af288d427830db84feefd344"
      },
      "type": "solution"
    },
    {
      "content_bytes": 67,
      "content_sha256": "90d4566b3f4d0b441f912a0bbbe16fbf6941807ff25ac85d02ab5d710f5bc940",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch06.solutions-manual.manualsolution-010",
      "label": "exsol:6.10",
      "line_range": [
        107,
        107
      ],
      "native_record_sha256": "368fe68df0588cb6bfcf6ccde39d4987468b33675b69cfdfe8f4165df9bdf9f9",
      "normalized_character_range": [
        11026,
        11093
      ],
      "normalized_utf8_byte_range": [
        11034,
        11101
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch06.tex",
      "source_file": {
        "archive": "source",
        "bytes": 15677,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch06.tex",
        "sha256": "3f54164435b4fe489e907b8ebfc71c862ff09a73af288d427830db84feefd344"
      },
      "type": "solution"
    },
    {
      "content_bytes": 72,
      "content_sha256": "58b9cbe9cb646b6667c5a55a629494a747d075863afc80a31b17d92e9009fc16",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch06.solutions-manual.manualsolution-011",
      "label": "exsol:6.11",
      "line_range": [
        114,
        114
      ],
      "native_record_sha256": "b95f8ffd371929e87114edd9bc97e3ad039620a04855e34eeb570cc053e1d9ad",
      "normalized_character_range": [
        11932,
        12004
      ],
      "normalized_utf8_byte_range": [
        11940,
        12012
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch06.tex",
      "source_file": {
        "archive": "source",
        "bytes": 15677,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch06.tex",
        "sha256": "3f54164435b4fe489e907b8ebfc71c862ff09a73af288d427830db84feefd344"
      },
      "type": "solution"
    },
    {
      "content_bytes": 59,
      "content_sha256": "0994c092bbbfea92c5f43c8b920425d6446de03b080db1da3f54524a2c6b27e9",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch06.solutions-manual.manualsolution-012",
      "label": "exsol:6.12",
      "line_range": [
        126,
        126
      ],
      "native_record_sha256": "2579ed296c8b2ec9dca82069b29385ed08a0aca8151bfebfad79f70704746360",
      "normalized_character_range": [
        14299,
        14358
      ],
      "normalized_utf8_byte_range": [
        14311,
        14370
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch06.tex",
      "source_file": {
        "archive": "source",
        "bytes": 15677,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch06.tex",
        "sha256": "3f54164435b4fe489e907b8ebfc71c862ff09a73af288d427830db84feefd344"
      },
      "type": "solution"
    },
    {
      "content_bytes": 343,
      "content_sha256": "4ea08ed27f9a0c54e62125ec8d58d577c23b6302658dc5f71a67a4882befd050",
      "environment": "ex",
      "id": "unit.r017.book1.ch06.text.ex-001",
      "label": "ex:vector-operations",
      "line_range": [
        719,
        728
      ],
      "native_record_sha256": "aeb70b2b4f06e4f841e1bdb2455c8042f4ea2820073029b86e076c0dcc89966a",
      "normalized_character_range": [
        41236,
        41579
      ],
      "normalized_utf8_byte_range": [
        41236,
        41579
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
      "source_file": {
        "archive": "source",
        "bytes": 52190,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
        "sha256": "4e08b0c7d3b5e89a868800569eeb57b9128d6b1b009301ce0cd2fcae9c2e75ca"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 621,
      "content_sha256": "e70a26450ae56c55abd70bbb2631c6c4c994b7c6d38d7549c32fb0b4308d383e",
      "environment": "ex",
      "id": "unit.r017.book1.ch06.text.ex-002",
      "label": null,
      "line_range": [
        730,
        743
      ],
      "native_record_sha256": "37ec0f2dc0f457ebfef3e9e28e672f10a52292c182fc029894ed01814a4ce0fd",
      "normalized_character_range": [
        41581,
        42202
      ],
      "normalized_utf8_byte_range": [
        41581,
        42202
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
      "source_file": {
        "archive": "source",
        "bytes": 52190,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
        "sha256": "4e08b0c7d3b5e89a868800569eeb57b9128d6b1b009301ce0cd2fcae9c2e75ca"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 361,
      "content_sha256": "1fbdc579386b1fa5df55f52de90542f81e20135f10f9a2f0ede8486b3f8c6e92",
      "environment": "ex",
      "id": "unit.r017.book1.ch06.text.ex-003",
      "label": null,
      "line_range": [
        745,
        753
      ],
      "native_record_sha256": "1029c0c94752db3a0433ee62189d650096ce14bb1d62b9b712a684bd4b7f3360",
      "normalized_character_range": [
        42204,
        42565
      ],
      "normalized_utf8_byte_range": [
        42204,
        42565
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
      "source_file": {
        "archive": "source",
        "bytes": 52190,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
        "sha256": "4e08b0c7d3b5e89a868800569eeb57b9128d6b1b009301ce0cd2fcae9c2e75ca"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 718,
      "content_sha256": "a8f2cf2fc9c1e0369d4ca48d0da1fd47e0d0842917d46db53d8ae6f2767c4438",
      "environment": "ex",
      "id": "unit.r017.book1.ch06.text.ex-004",
      "label": "ex:convex-or-not",
      "line_range": [
        755,
        765
      ],
      "native_record_sha256": "7792fb7890f0ddbae6ea16c681940cb0710d2ae2b59495d03bcdb8ee7f7e583f",
      "normalized_character_range": [
        42567,
        43285
      ],
      "normalized_utf8_byte_range": [
        42567,
        43285
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
      "source_file": {
        "archive": "source",
        "bytes": 52190,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
        "sha256": "4e08b0c7d3b5e89a868800569eeb57b9128d6b1b009301ce0cd2fcae9c2e75ca"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 808,
      "content_sha256": "7abf500d748297cf6e20c6d5aa6d84d1263045c7f58ef1454e861e6a1c2e7aa6",
      "environment": "ex",
      "id": "unit.r017.book1.ch06.text.ex-005",
      "label": "ex:lp-matrix-notation",
      "line_range": [
        767,
        778
      ],
      "native_record_sha256": "d98ee460b6c004407b546accd258518202bf9cc4bbd5b8d875319614463c6df9",
      "normalized_character_range": [
        43287,
        44095
      ],
      "normalized_utf8_byte_range": [
        43287,
        44095
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
      "source_file": {
        "archive": "source",
        "bytes": 52190,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
        "sha256": "4e08b0c7d3b5e89a868800569eeb57b9128d6b1b009301ce0cd2fcae9c2e75ca"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 469,
      "content_sha256": "2ae59258986b9fcd9aec143fac81107fc31fb4a402eb7fcf785cd76be25b5e7e",
      "environment": "ex",
      "id": "unit.r017.book1.ch06.text.ex-006",
      "label": "ex:convex-combo-triangle",
      "line_range": [
        782,
        791
      ],
      "native_record_sha256": "1ad2aa2bb740a7b1346ac8ba1143373bfab360c0256e565dff77324f77bcef54",
      "normalized_character_range": [
        44121,
        44590
      ],
      "normalized_utf8_byte_range": [
        44121,
        44590
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
      "source_file": {
        "archive": "source",
        "bytes": 52190,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
        "sha256": "4e08b0c7d3b5e89a868800569eeb57b9128d6b1b009301ce0cd2fcae9c2e75ca"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 546,
      "content_sha256": "43bf74d038b574f547b9b88a1556f2f33c603f881f604b72d47b0c390160e094",
      "environment": "ex",
      "id": "unit.r017.book1.ch06.text.ex-007",
      "label": null,
      "line_range": [
        793,
        801
      ],
      "native_record_sha256": "033fa394aec04b5aa62613366ff1a7217487dddb3defd02d28addf3507516073",
      "normalized_character_range": [
        44592,
        45138
      ],
      "normalized_utf8_byte_range": [
        44592,
        45138
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
      "source_file": {
        "archive": "source",
        "bytes": 52190,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
        "sha256": "4e08b0c7d3b5e89a868800569eeb57b9128d6b1b009301ce0cd2fcae9c2e75ca"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 890,
      "content_sha256": "a2860849c3e6ce731c0a325d0e81decaa6b13caac4a502b94b33375b55103b74",
      "environment": "ex",
      "id": "unit.r017.book1.ch06.text.ex-008",
      "label": "ex:extreme-point-check",
      "line_range": [
        803,
        815
      ],
      "native_record_sha256": "8f008721da9d4420062e703e1cb60657d00364b6ea2188ed29393c64eaf0a2d3",
      "normalized_character_range": [
        45140,
        46030
      ],
      "normalized_utf8_byte_range": [
        45140,
        46030
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
      "source_file": {
        "archive": "source",
        "bytes": 52190,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
        "sha256": "4e08b0c7d3b5e89a868800569eeb57b9128d6b1b009301ce0cd2fcae9c2e75ca"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 736,
      "content_sha256": "7b05f3b982e40ca174c34f17cc8600c16c9747ef535aee01a9dfd03f207cd25a",
      "environment": "ex",
      "id": "unit.r017.book1.ch06.text.ex-009",
      "label": "ex:rep-theorem-combo",
      "line_range": [
        817,
        825
      ],
      "native_record_sha256": "6d30ed7fda19b7c85b90ac9620e6ef5125834b6f0c6765015bb08301fd7ef2c1",
      "normalized_character_range": [
        46032,
        46768
      ],
      "normalized_utf8_byte_range": [
        46032,
        46768
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
      "source_file": {
        "archive": "source",
        "bytes": 52190,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
        "sha256": "4e08b0c7d3b5e89a868800569eeb57b9128d6b1b009301ce0cd2fcae9c2e75ca"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 628,
      "content_sha256": "2960d93e28489898e5fb567d765352cd0d4dd9993182de6bd9fc50c541c1b7c5",
      "environment": "ex",
      "id": "unit.r017.book1.ch06.text.ex-010",
      "label": "ex:union-convex",
      "line_range": [
        829,
        837
      ],
      "native_record_sha256": "c92a88e57494a4495898db755a8f285cc20aef2a8a84c18c941f5c275075db48",
      "normalized_character_range": [
        46804,
        47432
      ],
      "normalized_utf8_byte_range": [
        46804,
        47432
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
      "source_file": {
        "archive": "source",
        "bytes": 52190,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
        "sha256": "4e08b0c7d3b5e89a868800569eeb57b9128d6b1b009301ce0cd2fcae9c2e75ca"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 860,
      "content_sha256": "2ea95c401f387eaa2d694494c07bac6ef2ea3c3159fa49a45e349a40abbc4ebd",
      "environment": "ex",
      "id": "unit.r017.book1.ch06.text.ex-011",
      "label": "ex:boundedness-vertex",
      "line_range": [
        839,
        847
      ],
      "native_record_sha256": "1cced41d71043b411a65655045914dfb0f5ae7a97740bbe6b85638fc2de34088",
      "normalized_character_range": [
        47434,
        48294
      ],
      "normalized_utf8_byte_range": [
        47434,
        48294
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
      "source_file": {
        "archive": "source",
        "bytes": 52190,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
        "sha256": "4e08b0c7d3b5e89a868800569eeb57b9128d6b1b009301ce0cd2fcae9c2e75ca"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 627,
      "content_sha256": "abb74df0bd8c3bd74647f6645eeac60437966c4fee3c48965f1b2307a261856a",
      "environment": "ex",
      "id": "unit.r017.book1.ch06.text.ex-012",
      "label": "ex:intersection-family",
      "line_range": [
        851,
        859
      ],
      "native_record_sha256": "c7fcaab3b06820489091b8817a35bd1d15f142aa78859df6e3b6467eb2b6a53b",
      "normalized_character_range": [
        48325,
        48952
      ],
      "normalized_utf8_byte_range": [
        48325,
        48952
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
      "source_file": {
        "archive": "source",
        "bytes": 52190,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
        "sha256": "4e08b0c7d3b5e89a868800569eeb57b9128d6b1b009301ce0cd2fcae9c2e75ca"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 350,
      "content_sha256": "7bf0447031db0b3962443010cb362ccddeae91e69b69ea68aa2cfb664d112e9a",
      "environment": "solution",
      "id": "unit.r017.book1.ch06.text.solution-001",
      "label": null,
      "line_range": [
        863,
        870
      ],
      "native_record_sha256": "824dc4432f3d34a70e7c3337f6a0a4f378b8310cb3e97ecd6d28a00de6a6240a",
      "normalized_character_range": [
        48988,
        49338
      ],
      "normalized_utf8_byte_range": [
        48988,
        49338
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
      "source_file": {
        "archive": "source",
        "bytes": 52190,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
        "sha256": "4e08b0c7d3b5e89a868800569eeb57b9128d6b1b009301ce0cd2fcae9c2e75ca"
      },
      "type": "solution"
    },
    {
      "content_bytes": 1074,
      "content_sha256": "cdbb30499a2a36cf33d83aabe71786012a772822282978c822fd0a3bfea0eb22",
      "environment": "solution",
      "id": "unit.r017.book1.ch06.text.solution-002",
      "label": null,
      "line_range": [
        873,
        885
      ],
      "native_record_sha256": "ef9655a4d677ed08d77fb9dd544bb372fb00af8f721a0d8ac0debd39832bd950",
      "normalized_character_range": [
        49341,
        50415
      ],
      "normalized_utf8_byte_range": [
        49341,
        50415
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
      "source_file": {
        "archive": "source",
        "bytes": 52190,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
        "sha256": "4e08b0c7d3b5e89a868800569eeb57b9128d6b1b009301ce0cd2fcae9c2e75ca"
      },
      "type": "solution"
    },
    {
      "content_bytes": 844,
      "content_sha256": "cd168e1374ba8126be4e3a6ea37759d55880c184dc007e35fee4a00dac95c588",
      "environment": "solution",
      "id": "unit.r017.book1.ch06.text.solution-003",
      "label": null,
      "line_range": [
        887,
        893
      ],
      "native_record_sha256": "2fee830783507b5c355dcd3fa9e0e932c2949e6bbde7bf7e3c9ae20310c2fd51",
      "normalized_character_range": [
        50417,
        51261
      ],
      "normalized_utf8_byte_range": [
        50417,
        51261
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
      "source_file": {
        "archive": "source",
        "bytes": 52190,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
        "sha256": "4e08b0c7d3b5e89a868800569eeb57b9128d6b1b009301ce0cd2fcae9c2e75ca"
      },
      "type": "solution"
    },
    {
      "content_bytes": 926,
      "content_sha256": "a632454bb8e53ba55763838741dc95a76174a4d2e86165d7b28cb530b9f02d36",
      "environment": "solution",
      "id": "unit.r017.book1.ch06.text.solution-004",
      "label": null,
      "line_range": [
        895,
        900
      ],
      "native_record_sha256": "a58e00ed4101d23619a78a80347f649edee83df86d126501d20196289f5db8c1",
      "normalized_character_range": [
        51263,
        52189
      ],
      "normalized_utf8_byte_range": [
        51263,
        52189
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
      "source_file": {
        "archive": "source",
        "bytes": 52190,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
        "sha256": "4e08b0c7d3b5e89a868800569eeb57b9128d6b1b009301ce0cd2fcae9c2e75ca"
      },
      "type": "solution"
    },
    {
      "content_bytes": 48,
      "content_sha256": "6862f2f792945f731ba65ea9a3e1031bc0916be9304213a738770553e187e691",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-001",
      "label": "exsol:7.1",
      "line_range": [
        21,
        21
      ],
      "native_record_sha256": "e016a67e8ef2d75b693e68f12b5e14cd624eac23dfb6e4d6c172625305d949bc",
      "normalized_character_range": [
        1236,
        1284
      ],
      "normalized_utf8_byte_range": [
        1236,
        1284
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
      "source_file": {
        "archive": "source",
        "bytes": 21264,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
        "sha256": "bff78cc451540559fa73eb619ae0f71e86bfd0df9575e3dd50cea0faf56ae98d"
      },
      "type": "solution"
    },
    {
      "content_bytes": 45,
      "content_sha256": "3d2abf48003a92e96bdc9b13c6025098b98ecbe68290f4a38a709ffa0c53acf2",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-002",
      "label": "exsol:7.2",
      "line_range": [
        51,
        51
      ],
      "native_record_sha256": "a315bae3c6c3293c1539d022b38d218d62e8d15210af735ca3b515dd0aa2f513",
      "normalized_character_range": [
        2060,
        2105
      ],
      "normalized_utf8_byte_range": [
        2060,
        2105
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
      "source_file": {
        "archive": "source",
        "bytes": 21264,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
        "sha256": "bff78cc451540559fa73eb619ae0f71e86bfd0df9575e3dd50cea0faf56ae98d"
      },
      "type": "solution"
    },
    {
      "content_bytes": 45,
      "content_sha256": "876e901e74f445427d63b84b4f37377b32e3c7c4293e2fdffac8f6f65e4569d5",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-003",
      "label": "exsol:7.3",
      "line_range": [
        65,
        65
      ],
      "native_record_sha256": "99528d708c0b777fbf83216e4ae98d724bdd6dd8657343647c92422183db7c08",
      "normalized_character_range": [
        2465,
        2510
      ],
      "normalized_utf8_byte_range": [
        2465,
        2510
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
      "source_file": {
        "archive": "source",
        "bytes": 21264,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
        "sha256": "bff78cc451540559fa73eb619ae0f71e86bfd0df9575e3dd50cea0faf56ae98d"
      },
      "type": "solution"
    },
    {
      "content_bytes": 45,
      "content_sha256": "8e1e3477eb61bc1efbc3b066c671273305c3e0c590b7029c304aa55f18dec346",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-004",
      "label": "exsol:7.4",
      "line_range": [
        80,
        80
      ],
      "native_record_sha256": "aa07fc525eff09e687bc5e173caf448686dd7560b06e62d9c51e2ae30ebe5d35",
      "normalized_character_range": [
        2963,
        3008
      ],
      "normalized_utf8_byte_range": [
        2963,
        3008
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
      "source_file": {
        "archive": "source",
        "bytes": 21264,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
        "sha256": "bff78cc451540559fa73eb619ae0f71e86bfd0df9575e3dd50cea0faf56ae98d"
      },
      "type": "solution"
    },
    {
      "content_bytes": 45,
      "content_sha256": "9148a7e8dde1f3a15396a24a98ad79e79939f628714ad1ee1f7ba95cb704eebb",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-005",
      "label": "exsol:7.5",
      "line_range": [
        97,
        97
      ],
      "native_record_sha256": "391a0188fa6ccae4044c69ff23370636bafac4fc82cf232393e16c05eb856a03",
      "normalized_character_range": [
        3614,
        3659
      ],
      "normalized_utf8_byte_range": [
        3614,
        3659
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
      "source_file": {
        "archive": "source",
        "bytes": 21264,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
        "sha256": "bff78cc451540559fa73eb619ae0f71e86bfd0df9575e3dd50cea0faf56ae98d"
      },
      "type": "solution"
    },
    {
      "content_bytes": 45,
      "content_sha256": "382fcf8b8769733c97af14c4390974612296efdbe16ecb40a30dbfb8b1326f1a",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-006",
      "label": "exsol:7.6",
      "line_range": [
        113,
        113
      ],
      "native_record_sha256": "d221c9768f2189816141027d01df665bc147bb3ebb9172e04c5ca76d4e73b17f",
      "normalized_character_range": [
        4113,
        4158
      ],
      "normalized_utf8_byte_range": [
        4113,
        4158
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
      "source_file": {
        "archive": "source",
        "bytes": 21264,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
        "sha256": "bff78cc451540559fa73eb619ae0f71e86bfd0df9575e3dd50cea0faf56ae98d"
      },
      "type": "solution"
    },
    {
      "content_bytes": 42,
      "content_sha256": "846e9d766715ecb80d6de82b864eede3edb770ea7fec1cd322f286b392f67378",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-007",
      "label": "exsol:7.7",
      "line_range": [
        128,
        128
      ],
      "native_record_sha256": "8ffc239df5c7b87d64b0b70f0ce87634184ffa9393cc57b43f0dbf2d00cbabf6",
      "normalized_character_range": [
        4603,
        4645
      ],
      "normalized_utf8_byte_range": [
        4603,
        4645
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
      "source_file": {
        "archive": "source",
        "bytes": 21264,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
        "sha256": "bff78cc451540559fa73eb619ae0f71e86bfd0df9575e3dd50cea0faf56ae98d"
      },
      "type": "solution"
    },
    {
      "content_bytes": 39,
      "content_sha256": "8f8a28d57ed9205b3c55bab8dfbfbf486e2527aaae78642b09536cad6252d7fa",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-008",
      "label": "exsol:7.8",
      "line_range": [
        172,
        172
      ],
      "native_record_sha256": "5a04e4d023751830bcc969ae6a34abbea8516d65a6ed028f5ad88cd6f5aa5c81",
      "normalized_character_range": [
        6072,
        6111
      ],
      "normalized_utf8_byte_range": [
        6072,
        6111
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
      "source_file": {
        "archive": "source",
        "bytes": 21264,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
        "sha256": "bff78cc451540559fa73eb619ae0f71e86bfd0df9575e3dd50cea0faf56ae98d"
      },
      "type": "solution"
    },
    {
      "content_bytes": 39,
      "content_sha256": "df20b1277e645bdceae87d738c420c45f36069ec4380bf8ea20c17a53235103c",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-009",
      "label": "exsol:7.9",
      "line_range": [
        204,
        204
      ],
      "native_record_sha256": "600d12d56e05f31ef6caeb61eddef793049d36421cd479694bf1a3a0f076ff52",
      "normalized_character_range": [
        6890,
        6929
      ],
      "normalized_utf8_byte_range": [
        6890,
        6929
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
      "source_file": {
        "archive": "source",
        "bytes": 21264,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
        "sha256": "bff78cc451540559fa73eb619ae0f71e86bfd0df9575e3dd50cea0faf56ae98d"
      },
      "type": "solution"
    },
    {
      "content_bytes": 40,
      "content_sha256": "24ff37a96b90444649912693b8c485dab170357d0774edfd881b079e48dd054a",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-010",
      "label": "exsol:7.10",
      "line_range": [
        236,
        236
      ],
      "native_record_sha256": "e10553c036f776f5a31b0d798d5a3390b2637148f8d4a778d8474089bc7438da",
      "normalized_character_range": [
        7731,
        7771
      ],
      "normalized_utf8_byte_range": [
        7731,
        7771
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
      "source_file": {
        "archive": "source",
        "bytes": 21264,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
        "sha256": "bff78cc451540559fa73eb619ae0f71e86bfd0df9575e3dd50cea0faf56ae98d"
      },
      "type": "solution"
    },
    {
      "content_bytes": 40,
      "content_sha256": "3f25ffaee9ea4e53722527da2c45acc549bf4e6d978375082067dd5b87715e91",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-011",
      "label": "exsol:7.11",
      "line_range": [
        271,
        271
      ],
      "native_record_sha256": "8983ee33166658ffa58ff405802d7db9d542095901771bed20e567a793d8e43c",
      "normalized_character_range": [
        8864,
        8904
      ],
      "normalized_utf8_byte_range": [
        8864,
        8904
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
      "source_file": {
        "archive": "source",
        "bytes": 21264,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
        "sha256": "bff78cc451540559fa73eb619ae0f71e86bfd0df9575e3dd50cea0faf56ae98d"
      },
      "type": "solution"
    },
    {
      "content_bytes": 48,
      "content_sha256": "02bb19a09f8476b7a665b960a45b345d9fdc81c9e2aef8108dd49c61b662d1f0",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-012",
      "label": "exsol:7.12",
      "line_range": [
        310,
        310
      ],
      "native_record_sha256": "68e82a27df00a6cbb6d3a81f3d77bb0d052dffbf7b51fab3b12b2dd623dcbf9f",
      "normalized_character_range": [
        10086,
        10134
      ],
      "normalized_utf8_byte_range": [
        10086,
        10134
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
      "source_file": {
        "archive": "source",
        "bytes": 21264,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
        "sha256": "bff78cc451540559fa73eb619ae0f71e86bfd0df9575e3dd50cea0faf56ae98d"
      },
      "type": "solution"
    },
    {
      "content_bytes": 48,
      "content_sha256": "a3cbc04827402b1b190145e32be9e487cc3ac9df99a7fcbdda4eb8e471a11f3b",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-013",
      "label": "exsol:7.13",
      "line_range": [
        372,
        372
      ],
      "native_record_sha256": "0a56620bdf117f5733c2d646efcd4803841db1a47c85e9b0a78de2bae489e367",
      "normalized_character_range": [
        12804,
        12852
      ],
      "normalized_utf8_byte_range": [
        12804,
        12852
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
      "source_file": {
        "archive": "source",
        "bytes": 21264,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
        "sha256": "bff78cc451540559fa73eb619ae0f71e86bfd0df9575e3dd50cea0faf56ae98d"
      },
      "type": "solution"
    },
    {
      "content_bytes": 34,
      "content_sha256": "d7c3441be0c5a7f26c497bc374f6c62225f01616e3f54b4bfd7682e07c8e03ac",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-014",
      "label": "exsol:7.14",
      "line_range": [
        421,
        421
      ],
      "native_record_sha256": "7af70a13f7ad50e35dd54366b479a8b8dd2da5194fa60b733d0c7331e4f77474",
      "normalized_character_range": [
        14976,
        15010
      ],
      "normalized_utf8_byte_range": [
        14976,
        15010
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
      "source_file": {
        "archive": "source",
        "bytes": 21264,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
        "sha256": "bff78cc451540559fa73eb619ae0f71e86bfd0df9575e3dd50cea0faf56ae98d"
      },
      "type": "solution"
    },
    {
      "content_bytes": 35,
      "content_sha256": "a8e8ce0d83787ed6f4e6f885bf61c5a1533ae4cb10c33f631c1aee51de8a36c6",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-015",
      "label": "exsol:7.15",
      "line_range": [
        445,
        445
      ],
      "native_record_sha256": "9217aba463fd5460b2095810787093035f28a6ddc811c45d772693667d4f8569",
      "normalized_character_range": [
        16237,
        16272
      ],
      "normalized_utf8_byte_range": [
        16237,
        16272
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
      "source_file": {
        "archive": "source",
        "bytes": 21264,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
        "sha256": "bff78cc451540559fa73eb619ae0f71e86bfd0df9575e3dd50cea0faf56ae98d"
      },
      "type": "solution"
    },
    {
      "content_bytes": 51,
      "content_sha256": "6550ab21cb7298b32804f0f0fce889b403402103d5b850be34b94a40f1a240c8",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-016",
      "label": "exsol:7.16",
      "line_range": [
        480,
        480
      ],
      "native_record_sha256": "d1fc45d9e49a859e6a37527439c6486ef7b2450ff21c74b6ef9710e33aaf0246",
      "normalized_character_range": [
        17841,
        17892
      ],
      "normalized_utf8_byte_range": [
        17841,
        17892
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
      "source_file": {
        "archive": "source",
        "bytes": 21264,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
        "sha256": "bff78cc451540559fa73eb619ae0f71e86bfd0df9575e3dd50cea0faf56ae98d"
      },
      "type": "solution"
    },
    {
      "content_bytes": 64,
      "content_sha256": "4b06b0947b5736f5f8306bb3dd7a433ce48677f59a917f8185a2285d782be8f9",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-017",
      "label": "exsol:7.17",
      "line_range": [
        508,
        508
      ],
      "native_record_sha256": "db6a24472ca30d4a5a4c2936490554d1bfb9c6f97aa2b374a193bfd1efa583dd",
      "normalized_character_range": [
        19252,
        19316
      ],
      "normalized_utf8_byte_range": [
        19252,
        19316
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
      "source_file": {
        "archive": "source",
        "bytes": 21264,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch07.tex",
        "sha256": "bff78cc451540559fa73eb619ae0f71e86bfd0df9575e3dd50cea0faf56ae98d"
      },
      "type": "solution"
    },
    {
      "content_bytes": 758,
      "content_sha256": "e9ca9d970d22b1345f689beba506f32e2851259a2b3aaeb923060caaf37596fb",
      "environment": "ex",
      "id": "unit.r017.book1.ch07.text.ex-001",
      "label": "ex:standard-form-warmup-dictionary",
      "line_range": [
        2623,
        2642
      ],
      "native_record_sha256": "f30fed53b43e2f6515c08973374cab93f8c070c7dd79cfd59e29ab2d07350837",
      "normalized_character_range": [
        115408,
        116166
      ],
      "normalized_utf8_byte_range": [
        115410,
        116168
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
      "source_file": {
        "archive": "source",
        "bytes": 136863,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
        "sha256": "42c1640cd736a36e55d812fa58c696edbaa56958b02a2cd17c2cc301d0b30179"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 385,
      "content_sha256": "8c3ce36d321da5198f6a65ae5aa0f29f9506cf8a48a72927c22353d34cc569fc",
      "environment": "ex",
      "id": "unit.r017.book1.ch07.text.ex-002",
      "label": "ex:standard-form-1",
      "line_range": [
        2644,
        2658
      ],
      "native_record_sha256": "0a33f168bd4cf1804082665457916401a4cb761ad8fbc50cd08c66fbc860692e",
      "normalized_character_range": [
        116168,
        116553
      ],
      "normalized_utf8_byte_range": [
        116170,
        116555
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
      "source_file": {
        "archive": "source",
        "bytes": 136863,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
        "sha256": "42c1640cd736a36e55d812fa58c696edbaa56958b02a2cd17c2cc301d0b30179"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 425,
      "content_sha256": "1f96b8ad6f763da9f6011e750d1539076176a73ac339525912ef7076c892f325",
      "environment": "ex",
      "id": "unit.r017.book1.ch07.text.ex-003",
      "label": "ex:standard-form-2",
      "line_range": [
        2660,
        2674
      ],
      "native_record_sha256": "3a757c86e419f96b1a5cfc620bb486ad77d01abe27dd295e30f6d8511904a377",
      "normalized_character_range": [
        116555,
        116980
      ],
      "normalized_utf8_byte_range": [
        116557,
        116982
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
      "source_file": {
        "archive": "source",
        "bytes": 136863,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
        "sha256": "42c1640cd736a36e55d812fa58c696edbaa56958b02a2cd17c2cc301d0b30179"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 424,
      "content_sha256": "efff5c03fd0414151c24af306a6b41ca09c76a05ece440a6c4899c1ef57cb5e8",
      "environment": "ex",
      "id": "unit.r017.book1.ch07.text.ex-004",
      "label": "ex:standard-form-3",
      "line_range": [
        2676,
        2690
      ],
      "native_record_sha256": "73cfebcc39a825afe7588ccf785ed3692479434113773c64dafe87f45832d81f",
      "normalized_character_range": [
        116982,
        117406
      ],
      "normalized_utf8_byte_range": [
        116984,
        117408
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
      "source_file": {
        "archive": "source",
        "bytes": 136863,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
        "sha256": "42c1640cd736a36e55d812fa58c696edbaa56958b02a2cd17c2cc301d0b30179"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 396,
      "content_sha256": "b191fb6f6f8f2472ac24032943a139734dba4543851b64235f68a5b4e6348e24",
      "environment": "ex",
      "id": "unit.r017.book1.ch07.text.ex-005",
      "label": "ex:84",
      "line_range": [
        2692,
        2706
      ],
      "native_record_sha256": "066f0f131f38646feb45e54b34b3cc7c932a817687ac2633b5d7c520b413e34b",
      "normalized_character_range": [
        117408,
        117804
      ],
      "normalized_utf8_byte_range": [
        117410,
        117806
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
      "source_file": {
        "archive": "source",
        "bytes": 136863,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
        "sha256": "42c1640cd736a36e55d812fa58c696edbaa56958b02a2cd17c2cc301d0b30179"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 390,
      "content_sha256": "24fd35590349efc7bae6a18aab22c2f75fe2cf6dacc03e641a27907ebb8a4c0d",
      "environment": "ex",
      "id": "unit.r017.book1.ch07.text.ex-006",
      "label": "ex:85",
      "line_range": [
        2708,
        2722
      ],
      "native_record_sha256": "a05bfc65ac0460a4048846ec62bcdf9bf5e81ff85e022b1005b4a620112c5d15",
      "normalized_character_range": [
        117806,
        118196
      ],
      "normalized_utf8_byte_range": [
        117808,
        118198
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
      "source_file": {
        "archive": "source",
        "bytes": 136863,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
        "sha256": "42c1640cd736a36e55d812fa58c696edbaa56958b02a2cd17c2cc301d0b30179"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1315,
      "content_sha256": "e25e6b058441a5c003facee2e4d23b9d70b54e46ebbe2140179d7b4fac53e3d8",
      "environment": "ex",
      "id": "unit.r017.book1.ch07.text.ex-007",
      "label": "ex:alternative-pivot",
      "line_range": [
        2726,
        2750
      ],
      "native_record_sha256": "6be8ed471183d78b5c855dda8abb9ef4b5705f0aabc2d736dbf6c1f806434a1b",
      "normalized_character_range": [
        118219,
        119534
      ],
      "normalized_utf8_byte_range": [
        118221,
        119536
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
      "source_file": {
        "archive": "source",
        "bytes": 136863,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
        "sha256": "42c1640cd736a36e55d812fa58c696edbaa56958b02a2cd17c2cc301d0b30179"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 409,
      "content_sha256": "4c741fce75bf7a7db627c197e6e58f27b00fbe919ea625db1c32eb56b6e30e27",
      "environment": "ex",
      "id": "unit.r017.book1.ch07.text.ex-008",
      "label": "ex:simplex-practice-5-3",
      "line_range": [
        2752,
        2764
      ],
      "native_record_sha256": "de913b53e46d4ded64ea7bc3597a41e475b84ee03dc6a8396b0b25d17de17e9b",
      "normalized_character_range": [
        119536,
        119945
      ],
      "normalized_utf8_byte_range": [
        119538,
        119947
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
      "source_file": {
        "archive": "source",
        "bytes": 136863,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
        "sha256": "42c1640cd736a36e55d812fa58c696edbaa56958b02a2cd17c2cc301d0b30179"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 410,
      "content_sha256": "187f0d92c6b5139d72a454bfe2641502a248c44da98e35cfdbb089a796ab7ebf",
      "environment": "ex",
      "id": "unit.r017.book1.ch07.text.ex-009",
      "label": "ex:simplex-practice-5-8",
      "line_range": [
        2766,
        2778
      ],
      "native_record_sha256": "7ecd9a6bd6a46bf1a556f304aef66f8cb320678ddb9dc76596aabc1b85a55031",
      "normalized_character_range": [
        119947,
        120357
      ],
      "normalized_utf8_byte_range": [
        119949,
        120359
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
      "source_file": {
        "archive": "source",
        "bytes": 136863,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
        "sha256": "42c1640cd736a36e55d812fa58c696edbaa56958b02a2cd17c2cc301d0b30179"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 451,
      "content_sha256": "27884359c07ed46e10bcb7f09c7b9d2a51b74c6fbe8be41480428702032d1617",
      "environment": "ex",
      "id": "unit.r017.book1.ch07.text.ex-010",
      "label": "ex:simplex-practice-3var-1",
      "line_range": [
        2780,
        2792
      ],
      "native_record_sha256": "1247542997023d895129a101cb7741f7ff176882d0017af0247745a6a57a8525",
      "normalized_character_range": [
        120359,
        120810
      ],
      "normalized_utf8_byte_range": [
        120361,
        120812
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
      "source_file": {
        "archive": "source",
        "bytes": 136863,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
        "sha256": "42c1640cd736a36e55d812fa58c696edbaa56958b02a2cd17c2cc301d0b30179"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 491,
      "content_sha256": "dcd6356a6a176837a79f142c8d179c1e5a968f6180cbbbcb4eda9011e6480cb0",
      "environment": "ex",
      "id": "unit.r017.book1.ch07.text.ex-011",
      "label": "ex:simplex-practice-3var-2",
      "line_range": [
        2794,
        2807
      ],
      "native_record_sha256": "6ed497bdd7e6b023c2ee645f34da44dc276875dec714aebd26c881e0a3a9d314",
      "normalized_character_range": [
        120812,
        121303
      ],
      "normalized_utf8_byte_range": [
        120814,
        121305
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
      "source_file": {
        "archive": "source",
        "bytes": 136863,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
        "sha256": "42c1640cd736a36e55d812fa58c696edbaa56958b02a2cd17c2cc301d0b30179"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 425,
      "content_sha256": "61785f1e94907f0a352e24530ed0f87d50787a42344e4e9c9d7e0003024330dd",
      "environment": "ex",
      "id": "unit.r017.book1.ch07.text.ex-012",
      "label": "ex:simplex-bigm-practice-1",
      "line_range": [
        2809,
        2821
      ],
      "native_record_sha256": "3b58781798cbc14f9ee8ee220f4458a3464a27d230ee5d85ae8916a54fbd5653",
      "normalized_character_range": [
        121305,
        121730
      ],
      "normalized_utf8_byte_range": [
        121307,
        121732
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
      "source_file": {
        "archive": "source",
        "bytes": 136863,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
        "sha256": "42c1640cd736a36e55d812fa58c696edbaa56958b02a2cd17c2cc301d0b30179"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 430,
      "content_sha256": "de18baacdf8176cded718a3b48ff38947b1ed11434f6fdc71f5ae43db450ca43",
      "environment": "ex",
      "id": "unit.r017.book1.ch07.text.ex-013",
      "label": "ex:simplex-bigm-practice-2",
      "line_range": [
        2823,
        2835
      ],
      "native_record_sha256": "de714a863be7c25e8c5c8ebb9b483ba1f590d139b66e7b192ba48b43c91267d1",
      "normalized_character_range": [
        121732,
        122162
      ],
      "normalized_utf8_byte_range": [
        121734,
        122164
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
      "source_file": {
        "archive": "source",
        "bytes": 136863,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
        "sha256": "42c1640cd736a36e55d812fa58c696edbaa56958b02a2cd17c2cc301d0b30179"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 817,
      "content_sha256": "4c88fa0084f20229f971697b7bdb45f51b90511b71f7e638c5586b14fa8bcbd9",
      "environment": "ex",
      "id": "unit.r017.book1.ch07.text.ex-014",
      "label": "ex:dictionary-optimality-conditions",
      "line_range": [
        2839,
        2858
      ],
      "native_record_sha256": "e109cbbeece980fc1c59da72fa2184faf8202ca57f6c7b6b405ffcf73ce33163",
      "normalized_character_range": [
        122198,
        123015
      ],
      "normalized_utf8_byte_range": [
        122200,
        123017
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
      "source_file": {
        "archive": "source",
        "bytes": 136863,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
        "sha256": "42c1640cd736a36e55d812fa58c696edbaa56958b02a2cd17c2cc301d0b30179"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1871,
      "content_sha256": "ac55cfcc3dd48874e35874d631a0c1dd52fe3c9fec91dd47de96c31cc0f85325",
      "environment": "ex",
      "id": "unit.r017.book1.ch07.text.ex-015",
      "label": "ex:bfs-graphical-pivot",
      "line_range": [
        2860,
        2894
      ],
      "native_record_sha256": "3f3e97b189cc422a05690991baeaf2a2e13f1fe68d8ea43e4597549a7541873b",
      "normalized_character_range": [
        123017,
        124888
      ],
      "normalized_utf8_byte_range": [
        123019,
        124890
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
      "source_file": {
        "archive": "source",
        "bytes": 136863,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
        "sha256": "42c1640cd736a36e55d812fa58c696edbaa56958b02a2cd17c2cc301d0b30179"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1076,
      "content_sha256": "b1e8b918c759c7e5917cd82c951bdb131174356dbcee2c63063fc4901dd1662e",
      "environment": "ex",
      "id": "unit.r017.book1.ch07.text.ex-016",
      "label": "ex:ratio-test-wrong-row",
      "line_range": [
        2896,
        2914
      ],
      "native_record_sha256": "53ed1a9ca4fd18376fa5942d077951629affe0fc765b4a1b3985683459504164",
      "normalized_character_range": [
        124890,
        125966
      ],
      "normalized_utf8_byte_range": [
        124892,
        125968
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
      "source_file": {
        "archive": "source",
        "bytes": 136863,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
        "sha256": "42c1640cd736a36e55d812fa58c696edbaa56958b02a2cd17c2cc301d0b30179"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1223,
      "content_sha256": "f9d4dd5c9007fef0004556b0e64c945d08efef56ec4acc9fb7b3d85dab74b800",
      "environment": "ex",
      "id": "unit.r017.book1.ch07.text.ex-017",
      "label": "ex:degenerate-tie",
      "line_range": [
        2918,
        2936
      ],
      "native_record_sha256": "dd9c8b761391e27376a35ff0d2011b07d44c7ec231a8d56a16596215dfe375d8",
      "normalized_character_range": [
        125994,
        127217
      ],
      "normalized_utf8_byte_range": [
        125996,
        127219
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
      "source_file": {
        "archive": "source",
        "bytes": 136863,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
        "sha256": "42c1640cd736a36e55d812fa58c696edbaa56958b02a2cd17c2cc301d0b30179"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 330,
      "content_sha256": "3192c518646cb6d37f5a6c2a9d7c704a8567eebc8d7d89d7e9933dea706ea93c",
      "environment": "learningcheckpoint",
      "id": "unit.r017.book1.ch07.text.learningcheckpoint-001",
      "label": "lc:bfs-nonzero",
      "line_range": [
        429,
        433
      ],
      "native_record_sha256": "e033da402c7396dfcd8238924a77571b1e24d878de39fb7b783859b5c05dbd49",
      "normalized_character_range": [
        17326,
        17656
      ],
      "normalized_utf8_byte_range": [
        17326,
        17656
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
      "source_file": {
        "archive": "source",
        "bytes": 136863,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
        "sha256": "42c1640cd736a36e55d812fa58c696edbaa56958b02a2cd17c2cc301d0b30179"
      },
      "type": "learningcheckpoint"
    },
    {
      "content_bytes": 338,
      "content_sha256": "9221f8f13e8e4d8dd5eb406e4456401152edbf34b9f82c2528d991974ba5f2e5",
      "environment": "learningcheckpoint",
      "id": "unit.r017.book1.ch07.text.learningcheckpoint-002",
      "label": "lc:ratio-test",
      "line_range": [
        1611,
        1615
      ],
      "native_record_sha256": "3aeb44ecb0c9ff4ded233d576445631cfee4a875e02863f8e46b5073287ceeba",
      "normalized_character_range": [
        64443,
        64781
      ],
      "normalized_utf8_byte_range": [
        64443,
        64781
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
      "source_file": {
        "archive": "source",
        "bytes": 136863,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
        "sha256": "42c1640cd736a36e55d812fa58c696edbaa56958b02a2cd17c2cc301d0b30179"
      },
      "type": "learningcheckpoint"
    },
    {
      "content_bytes": 145,
      "content_sha256": "f9d8a509e2530f7342e232a9148eaa3da82678d4806ae579545c95132bbfb61b",
      "environment": "learningcheckpoint",
      "id": "unit.r017.book1.ch07.text.learningcheckpoint-003",
      "label": "lc:artificial-removal",
      "line_range": [
        2054,
        2056
      ],
      "native_record_sha256": "b38abdc86a31145c6479125f1eeae243b8ea2354c812da4467516a92780ed084",
      "normalized_character_range": [
        83824,
        83969
      ],
      "normalized_utf8_byte_range": [
        83826,
        83971
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
      "source_file": {
        "archive": "source",
        "bytes": 136863,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
        "sha256": "42c1640cd736a36e55d812fa58c696edbaa56958b02a2cd17c2cc301d0b30179"
      },
      "type": "learningcheckpoint"
    },
    {
      "content_bytes": 835,
      "content_sha256": "4811599b2378380ebbe153acb0803415132b49de4e0326c66759e524c10d1fd7",
      "environment": "solution",
      "id": "unit.r017.book1.ch07.text.solution-001",
      "label": null,
      "line_range": [
        2940,
        2969
      ],
      "native_record_sha256": "aca023633a7aa8b652f4c3a918928b3a864f0cd938a5ef7ea5d65f019d37579e",
      "normalized_character_range": [
        127253,
        128088
      ],
      "normalized_utf8_byte_range": [
        127255,
        128090
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
      "source_file": {
        "archive": "source",
        "bytes": 136863,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
        "sha256": "42c1640cd736a36e55d812fa58c696edbaa56958b02a2cd17c2cc301d0b30179"
      },
      "type": "solution"
    },
    {
      "content_bytes": 694,
      "content_sha256": "0b2c94dfa6a4a19f5dd612ea9f768a8bd52dac4685b028c683cb9c6c9b3c7dca",
      "environment": "solution",
      "id": "unit.r017.book1.ch07.text.solution-002",
      "label": null,
      "line_range": [
        2972,
        2996
      ],
      "native_record_sha256": "7cd5478d5d07cb7c9fd21788823c908a393a3c60bbb4946fe960f5e3a2530b21",
      "normalized_character_range": [
        128103,
        128797
      ],
      "normalized_utf8_byte_range": [
        128105,
        128799
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
      "source_file": {
        "archive": "source",
        "bytes": 136863,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
        "sha256": "42c1640cd736a36e55d812fa58c696edbaa56958b02a2cd17c2cc301d0b30179"
      },
      "type": "solution"
    },
    {
      "content_bytes": 2371,
      "content_sha256": "3798bf827f40aba613213e367f228294812060885480fb9676d540b28b10f9b7",
      "environment": "solution",
      "id": "unit.r017.book1.ch07.text.solution-003",
      "label": null,
      "line_range": [
        2999,
        3053
      ],
      "native_record_sha256": "2e8d5e7872467396900e38e4cab1aa6fa0503ce778324aeeb90bf99a120aeba8",
      "normalized_character_range": [
        128812,
        131183
      ],
      "normalized_utf8_byte_range": [
        128814,
        131185
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
      "source_file": {
        "archive": "source",
        "bytes": 136863,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
        "sha256": "42c1640cd736a36e55d812fa58c696edbaa56958b02a2cd17c2cc301d0b30179"
      },
      "type": "solution"
    },
    {
      "content_bytes": 1031,
      "content_sha256": "c86c9b08e0ede746250328dbca25e787dbcadf7116a93b667950a64bdfacba27",
      "environment": "solution",
      "id": "unit.r017.book1.ch07.text.solution-004",
      "label": null,
      "line_range": [
        3055,
        3083
      ],
      "native_record_sha256": "2541d30ea7fe38646f10be623b7b906b69bf769ed083fa30cb42a4db8fae20dc",
      "normalized_character_range": [
        131185,
        132216
      ],
      "normalized_utf8_byte_range": [
        131187,
        132218
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
      "source_file": {
        "archive": "source",
        "bytes": 136863,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
        "sha256": "42c1640cd736a36e55d812fa58c696edbaa56958b02a2cd17c2cc301d0b30179"
      },
      "type": "solution"
    },
    {
      "content_bytes": 990,
      "content_sha256": "ccb5a8666d7acfe578212ba2de8c0a9a9c7c60a9902dfda4dd1d93afc30dfeb8",
      "environment": "solution",
      "id": "unit.r017.book1.ch07.text.solution-005",
      "label": null,
      "line_range": [
        3086,
        3114
      ],
      "native_record_sha256": "b8da601d79df80aeff1b3cc71800aaa08a44b05e8b49de5f4f55e4f6cd5f50b1",
      "normalized_character_range": [
        132231,
        133221
      ],
      "normalized_utf8_byte_range": [
        132233,
        133223
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
      "source_file": {
        "archive": "source",
        "bytes": 136863,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
        "sha256": "42c1640cd736a36e55d812fa58c696edbaa56958b02a2cd17c2cc301d0b30179"
      },
      "type": "solution"
    },
    {
      "content_bytes": 1195,
      "content_sha256": "97c225b5d08304ef6740eb591b312bba9d1b2b76d0bca90858c57dceff677319",
      "environment": "solution",
      "id": "unit.r017.book1.ch07.text.solution-006",
      "label": null,
      "line_range": [
        3117,
        3126
      ],
      "native_record_sha256": "5b00739d2b3e879b0ebfcb8da71ef1aa15b54c267bbb365195c01dbe3dbbb2ba",
      "normalized_character_range": [
        133236,
        134431
      ],
      "normalized_utf8_byte_range": [
        133238,
        134433
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
      "source_file": {
        "archive": "source",
        "bytes": 136863,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
        "sha256": "42c1640cd736a36e55d812fa58c696edbaa56958b02a2cd17c2cc301d0b30179"
      },
      "type": "solution"
    },
    {
      "content_bytes": 2414,
      "content_sha256": "5cffa558911ee56907a21aa1d67b848386478792174497f3403d91b67a39fcb3",
      "environment": "solution",
      "id": "unit.r017.book1.ch07.text.solution-007",
      "label": null,
      "line_range": [
        3129,
        3164
      ],
      "native_record_sha256": "6e46233b9dea945996768bf040f188a1a9a09963470b52115bdbc76f6dd630e2",
      "normalized_character_range": [
        134446,
        136860
      ],
      "normalized_utf8_byte_range": [
        134448,
        136862
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
      "source_file": {
        "archive": "source",
        "bytes": 136863,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
        "sha256": "42c1640cd736a36e55d812fa58c696edbaa56958b02a2cd17c2cc301d0b30179"
      },
      "type": "solution"
    },
    {
      "content_bytes": 260,
      "content_sha256": "788e8887b8d11139da60e11c161ec120e51ca0c1ee9a118524053bdce92b013f",
      "environment": "tryit",
      "id": "unit.r017.book1.ch07.text.tryit-001",
      "label": null,
      "line_range": [
        673,
        675
      ],
      "native_record_sha256": "25671f14ecdd3411e5d020d43122b9915d4b21d9ef254337b7d9c53f1f2195dd",
      "normalized_character_range": [
        28117,
        28377
      ],
      "normalized_utf8_byte_range": [
        28117,
        28377
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
      "source_file": {
        "archive": "source",
        "bytes": 136863,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
        "sha256": "42c1640cd736a36e55d812fa58c696edbaa56958b02a2cd17c2cc301d0b30179"
      },
      "type": "tryit"
    },
    {
      "content_bytes": 162,
      "content_sha256": "2e08740f42dc54d4e556145e44e8f62bc45c64feaa2b2e38ebbd2639d1407a60",
      "environment": "tryit",
      "id": "unit.r017.book1.ch07.text.tryit-002",
      "label": null,
      "line_range": [
        1846,
        1848
      ],
      "native_record_sha256": "19b105816a40814f6fcfbc6e903d65d86de412828f8308635efbb374117b1378",
      "normalized_character_range": [
        75001,
        75163
      ],
      "normalized_utf8_byte_range": [
        75003,
        75165
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
      "source_file": {
        "archive": "source",
        "bytes": 136863,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
        "sha256": "42c1640cd736a36e55d812fa58c696edbaa56958b02a2cd17c2cc301d0b30179"
      },
      "type": "tryit"
    },
    {
      "content_bytes": 46,
      "content_sha256": "f0857c2657e87cca5c3584d361202f4e4bb90d104e718d8ae1ee99b77f4f2af1",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch08.solutions-manual.manualsolution-001",
      "label": "exsol:8.1",
      "line_range": [
        23,
        23
      ],
      "native_record_sha256": "bc22a455a6d2dee89c859daa608986fbdda8db8f57b281a27ef6ab0cb1a7baa8",
      "normalized_character_range": [
        1357,
        1403
      ],
      "normalized_utf8_byte_range": [
        1357,
        1403
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch08.tex",
      "source_file": {
        "archive": "source",
        "bytes": 12946,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch08.tex",
        "sha256": "c19558f01e860afdf475157fda8af00ca3e5a08314cb188a5b3c9bc7046a7885"
      },
      "type": "solution"
    },
    {
      "content_bytes": 45,
      "content_sha256": "6da69023cbe9ef63ee1d90f34ba1c27441660a2547a1f3a295fd6a9d4c11ead8",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch08.solutions-manual.manualsolution-002",
      "label": "exsol:8.2",
      "line_range": [
        62,
        62
      ],
      "native_record_sha256": "28e157b747fbcbe333d5a4821a16df84887159d4c3ef70f439376641bdcbc303",
      "normalized_character_range": [
        1977,
        2022
      ],
      "normalized_utf8_byte_range": [
        1977,
        2022
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch08.tex",
      "source_file": {
        "archive": "source",
        "bytes": 12946,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch08.tex",
        "sha256": "c19558f01e860afdf475157fda8af00ca3e5a08314cb188a5b3c9bc7046a7885"
      },
      "type": "solution"
    },
    {
      "content_bytes": 53,
      "content_sha256": "034b704c1efac83912df13079c921320c3c0ce74057194047b7a827c01afa60b",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch08.solutions-manual.manualsolution-003",
      "label": "exsol:8.3",
      "line_range": [
        102,
        102
      ],
      "native_record_sha256": "4eec7aee8840c87bd4044832a112571c05e18c7fdc7cec850dbd0942b01e3b5c",
      "normalized_character_range": [
        2783,
        2836
      ],
      "normalized_utf8_byte_range": [
        2783,
        2836
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch08.tex",
      "source_file": {
        "archive": "source",
        "bytes": 12946,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch08.tex",
        "sha256": "c19558f01e860afdf475157fda8af00ca3e5a08314cb188a5b3c9bc7046a7885"
      },
      "type": "solution"
    },
    {
      "content_bytes": 46,
      "content_sha256": "76dff632cf86ba864419262f60654ad809293467e9a966065d3f6c08e5bbf5b4",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch08.solutions-manual.manualsolution-004",
      "label": "exsol:8.4",
      "line_range": [
        145,
        145
      ],
      "native_record_sha256": "61e3f1b53e70f94089dd43ca4c611dbaa365d58b0f01d54382b3dea8589faf9f",
      "normalized_character_range": [
        3599,
        3645
      ],
      "normalized_utf8_byte_range": [
        3599,
        3645
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch08.tex",
      "source_file": {
        "archive": "source",
        "bytes": 12946,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch08.tex",
        "sha256": "c19558f01e860afdf475157fda8af00ca3e5a08314cb188a5b3c9bc7046a7885"
      },
      "type": "solution"
    },
    {
      "content_bytes": 38,
      "content_sha256": "20924fb910094f52328287d2ca14dccd4742dfa99c3cfdc9bce335b39daf32e4",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch08.solutions-manual.manualsolution-005",
      "label": "exsol:8.5",
      "line_range": [
        216,
        216
      ],
      "native_record_sha256": "69d974a955d82ab1d95e70866be9d79b4dde616a1c16679880049c4743f08e51",
      "normalized_character_range": [
        5643,
        5681
      ],
      "normalized_utf8_byte_range": [
        5643,
        5681
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch08.tex",
      "source_file": {
        "archive": "source",
        "bytes": 12946,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch08.tex",
        "sha256": "c19558f01e860afdf475157fda8af00ca3e5a08314cb188a5b3c9bc7046a7885"
      },
      "type": "solution"
    },
    {
      "content_bytes": 50,
      "content_sha256": "3abcbb67a872bfc31e0e4670a4d3395daf75167198f630f756f0e1539dec7391",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch08.solutions-manual.manualsolution-006",
      "label": "exsol:8.6",
      "line_range": [
        259,
        259
      ],
      "native_record_sha256": "509c73f8a0c34d8d9b8f9de406d3312f1e1c9b1554e9673de185f4c7ba86b94b",
      "normalized_character_range": [
        7209,
        7259
      ],
      "normalized_utf8_byte_range": [
        7209,
        7259
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch08.tex",
      "source_file": {
        "archive": "source",
        "bytes": 12946,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch08.tex",
        "sha256": "c19558f01e860afdf475157fda8af00ca3e5a08314cb188a5b3c9bc7046a7885"
      },
      "type": "solution"
    },
    {
      "content_bytes": 46,
      "content_sha256": "09bac3d4fa15ec7d1a47a5722a32f75505bdd71a000a1fed18fb7c0639e8d3b3",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch08.solutions-manual.manualsolution-007",
      "label": "exsol:8.7",
      "line_range": [
        308,
        308
      ],
      "native_record_sha256": "0c1f42b6826ec0d0486702a61bac9f13b9929d613ec18f3f8907316429b5c0b3",
      "normalized_character_range": [
        8713,
        8759
      ],
      "normalized_utf8_byte_range": [
        8713,
        8759
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch08.tex",
      "source_file": {
        "archive": "source",
        "bytes": 12946,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch08.tex",
        "sha256": "c19558f01e860afdf475157fda8af00ca3e5a08314cb188a5b3c9bc7046a7885"
      },
      "type": "solution"
    },
    {
      "content_bytes": 54,
      "content_sha256": "d3f44b0112f9d1ee6d178688c4f5b5ab73ad8d138d589b994ed49d589a1ea6e7",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch08.solutions-manual.manualsolution-008",
      "label": "exsol:8.8",
      "line_range": [
        332,
        332
      ],
      "native_record_sha256": "5b9d63b43c006b47e84c3e3f2d412c1d261967273d26bb821811a3717e7a4839",
      "normalized_character_range": [
        9842,
        9896
      ],
      "normalized_utf8_byte_range": [
        9842,
        9896
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch08.tex",
      "source_file": {
        "archive": "source",
        "bytes": 12946,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch08.tex",
        "sha256": "c19558f01e860afdf475157fda8af00ca3e5a08314cb188a5b3c9bc7046a7885"
      },
      "type": "solution"
    },
    {
      "content_bytes": 82,
      "content_sha256": "7773b591ae702df707d8f1ff89ed0c9768194716a4ec2fb6a78717134ed44526",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch08.solutions-manual.manualsolution-009",
      "label": "exsol:8.9",
      "line_range": [
        372,
        372
      ],
      "native_record_sha256": "c1e0f3f71e1aa55ff4c3bb26bfd8b0d146eeffd8a69c81a5b86ba12ddfd9224e",
      "normalized_character_range": [
        11844,
        11926
      ],
      "normalized_utf8_byte_range": [
        11844,
        11926
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch08.tex",
      "source_file": {
        "archive": "source",
        "bytes": 12946,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch08.tex",
        "sha256": "c19558f01e860afdf475157fda8af00ca3e5a08314cb188a5b3c9bc7046a7885"
      },
      "type": "solution"
    },
    {
      "content_bytes": 548,
      "content_sha256": "582e74d28de1b5e25cae430af796883cd51655198b3f4a19fe54e5439b087bca",
      "environment": "ex",
      "id": "unit.r017.book1.ch08.text.ex-001",
      "label": "ex:matrix-basis-warmup",
      "line_range": [
        1108,
        1124
      ],
      "native_record_sha256": "f67c52a5a9cfa4c82b0989ef8e8beca876e36440fc073eeb1b017a48feca9246",
      "normalized_character_range": [
        29469,
        30017
      ],
      "normalized_utf8_byte_range": [
        29469,
        30017
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-matrix-version.tex",
      "source_file": {
        "archive": "source",
        "bytes": 39468,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-matrix-version.tex",
        "sha256": "1e0ac6ecd971c245bf090c82dcc4779b06cdd9e716004632138c4094c0430bf2"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 391,
      "content_sha256": "82fe087a51f6f51c8769c835a91fd10117410e186d619ccc783fe2da569c02f7",
      "environment": "ex",
      "id": "unit.r017.book1.ch08.text.ex-002",
      "label": "ex:matrix-infeasible-basis",
      "line_range": [
        1126,
        1130
      ],
      "native_record_sha256": "3558cdb007c0706ce0972345d48fda127e4215b75e122455d8c85cb4c7192e7b",
      "normalized_character_range": [
        30019,
        30410
      ],
      "normalized_utf8_byte_range": [
        30019,
        30410
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-matrix-version.tex",
      "source_file": {
        "archive": "source",
        "bytes": 39468,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-matrix-version.tex",
        "sha256": "1e0ac6ecd971c245bf090c82dcc4779b06cdd9e716004632138c4094c0430bf2"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 666,
      "content_sha256": "98afcc2b9626fca507cb2e85407c0ca60ef6a54a5f641b450aeb136508f0632e",
      "environment": "ex",
      "id": "unit.r017.book1.ch08.text.ex-003",
      "label": "ex:matrix-fourth-basis",
      "line_range": [
        1132,
        1150
      ],
      "native_record_sha256": "21bb306f22109a6d3d4411f7ed220280f4d0a61c20440e21ef0ce6dd79d3a2fa",
      "normalized_character_range": [
        30412,
        31078
      ],
      "normalized_utf8_byte_range": [
        30412,
        31078
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-matrix-version.tex",
      "source_file": {
        "archive": "source",
        "bytes": 39468,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-matrix-version.tex",
        "sha256": "1e0ac6ecd971c245bf090c82dcc4779b06cdd9e716004632138c4094c0430bf2"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 880,
      "content_sha256": "86143b90399260acfd8696f5dc9f1d3ca8db269a97fa98e1db4237a31fccb92f",
      "environment": "ex",
      "id": "unit.r017.book1.ch08.text.ex-004",
      "label": "ex:matrix-reduced-costs",
      "line_range": [
        1154,
        1177
      ],
      "native_record_sha256": "a79a2cfdf86aa3ed14b38d372ad8da04f32cae2ca4585124e04a0d247bbd2be9",
      "normalized_character_range": [
        31101,
        31981
      ],
      "normalized_utf8_byte_range": [
        31101,
        31981
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-matrix-version.tex",
      "source_file": {
        "archive": "source",
        "bytes": 39468,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-matrix-version.tex",
        "sha256": "1e0ac6ecd971c245bf090c82dcc4779b06cdd9e716004632138c4094c0430bf2"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 848,
      "content_sha256": "fc515aa327884e315ab4272a9253b3d1b036608c7a7afc04802501f5b43bec6f",
      "environment": "ex",
      "id": "unit.r017.book1.ch08.text.ex-005",
      "label": "ex:matrix-feasible-bases",
      "line_range": [
        1179,
        1203
      ],
      "native_record_sha256": "105c3075e836a2a7767ff69af7d0fbbbf59fe1d80a9bd37b384e93acf0c47780",
      "normalized_character_range": [
        31983,
        32831
      ],
      "normalized_utf8_byte_range": [
        31983,
        32831
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-matrix-version.tex",
      "source_file": {
        "archive": "source",
        "bytes": 39468,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-matrix-version.tex",
        "sha256": "1e0ac6ecd971c245bf090c82dcc4779b06cdd9e716004632138c4094c0430bf2"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 783,
      "content_sha256": "5f23b3a3d3b8fa888371ef3d7785085725fea28785558a360e323906f6d2d069",
      "environment": "ex",
      "id": "unit.r017.book1.ch08.text.ex-006",
      "label": "ex:matrix-dictionary-formula",
      "line_range": [
        1205,
        1225
      ],
      "native_record_sha256": "4810453002ca17305374bc58d2e69dcd9028a99862d572a8e6d6782a0ce71133",
      "normalized_character_range": [
        32833,
        33616
      ],
      "normalized_utf8_byte_range": [
        32833,
        33616
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-matrix-version.tex",
      "source_file": {
        "archive": "source",
        "bytes": 39468,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-matrix-version.tex",
        "sha256": "1e0ac6ecd971c245bf090c82dcc4779b06cdd9e716004632138c4094c0430bf2"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 547,
      "content_sha256": "ef8e47b7eefb22c731e89ba84da2e21b0a770d99b0795a2adeb4950e0c360ec9",
      "environment": "ex",
      "id": "unit.r017.book1.ch08.text.ex-007",
      "label": "ex:matrix-basic-reduced-zero",
      "line_range": [
        1229,
        1237
      ],
      "native_record_sha256": "cd91e526cb4db2ba617a65892c4db076c437b3e436bf01a189c3f5d1cd6c0ed6",
      "normalized_character_range": [
        33652,
        34199
      ],
      "normalized_utf8_byte_range": [
        33652,
        34199
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-matrix-version.tex",
      "source_file": {
        "archive": "source",
        "bytes": 39468,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-matrix-version.tex",
        "sha256": "1e0ac6ecd971c245bf090c82dcc4779b06cdd9e716004632138c4094c0430bf2"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1145,
      "content_sha256": "5ddf28d14ecb42cabb087f1df3a16a1a43f3a586ec1b5d402af40412749da862",
      "environment": "ex",
      "id": "unit.r017.book1.ch08.text.ex-008",
      "label": "ex:matrix-sign-conventions",
      "line_range": [
        1239,
        1248
      ],
      "native_record_sha256": "6048a2536874ae8625ed9df416aaa4b24eb1368df5744b0eae92290e3918f36d",
      "normalized_character_range": [
        34201,
        35346
      ],
      "normalized_utf8_byte_range": [
        34201,
        35346
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-matrix-version.tex",
      "source_file": {
        "archive": "source",
        "bytes": 39468,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-matrix-version.tex",
        "sha256": "1e0ac6ecd971c245bf090c82dcc4779b06cdd9e716004632138c4094c0430bf2"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 838,
      "content_sha256": "8f1dc1d54e29eec77479303f8f4616eae6c679f17181bb68763d4db98b5c2f0b",
      "environment": "ex",
      "id": "unit.r017.book1.ch08.text.ex-009",
      "label": "ex:matrix-unique-optimum",
      "line_range": [
        1252,
        1260
      ],
      "native_record_sha256": "2b0ac1b52541aa901b0d195e82a72f7a450f9a3b251d8ee9a2ae8b37cc8b9aba",
      "normalized_character_range": [
        35374,
        36212
      ],
      "normalized_utf8_byte_range": [
        35374,
        36212
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-matrix-version.tex",
      "source_file": {
        "archive": "source",
        "bytes": 39468,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-matrix-version.tex",
        "sha256": "1e0ac6ecd971c245bf090c82dcc4779b06cdd9e716004632138c4094c0430bf2"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 4295,
      "content_sha256": "3baba7f2797c7b2deb9506d496ab975c280d4e0e505f04b8dba782e1c41ad0ca",
      "environment": "solution",
      "id": "unit.r017.book1.ch08.text.solution-001",
      "label": null,
      "line_range": [
        875,
        1094
      ],
      "native_record_sha256": "17eb1dc88888ad6c923514d93510af778b12aea2d32d90390bb2340b263e9af9",
      "normalized_character_range": [
        24385,
        28680
      ],
      "normalized_utf8_byte_range": [
        24385,
        28680
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-matrix-version.tex",
      "source_file": {
        "archive": "source",
        "bytes": 39468,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-matrix-version.tex",
        "sha256": "1e0ac6ecd971c245bf090c82dcc4779b06cdd9e716004632138c4094c0430bf2"
      },
      "type": "solution"
    },
    {
      "content_bytes": 655,
      "content_sha256": "62a9a64f5405f919dc079995dd6d01c27a9d8d0eca0450ca4f3f9e86f780b4cb",
      "environment": "solution",
      "id": "unit.r017.book1.ch08.text.solution-002",
      "label": null,
      "line_range": [
        1264,
        1299
      ],
      "native_record_sha256": "c085f906b12f2b5a6a73eca7dbdc93d17b555f17d238fe71a2b33dcdfe3bc039",
      "normalized_character_range": [
        36248,
        36903
      ],
      "normalized_utf8_byte_range": [
        36248,
        36903
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-matrix-version.tex",
      "source_file": {
        "archive": "source",
        "bytes": 39468,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-matrix-version.tex",
        "sha256": "1e0ac6ecd971c245bf090c82dcc4779b06cdd9e716004632138c4094c0430bf2"
      },
      "type": "solution"
    },
    {
      "content_bytes": 1426,
      "content_sha256": "e3ca1489d0ae24242738a9451c1acf26e5ebe2b441d4930da5df50b0b48625e5",
      "environment": "solution",
      "id": "unit.r017.book1.ch08.text.solution-003",
      "label": null,
      "line_range": [
        1301,
        1335
      ],
      "native_record_sha256": "0d560ccd49fb7995f2f8e0224ce561babf0288e4abbcd488f0e10ce336896f70",
      "normalized_character_range": [
        36905,
        38331
      ],
      "normalized_utf8_byte_range": [
        36905,
        38331
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-matrix-version.tex",
      "source_file": {
        "archive": "source",
        "bytes": 39468,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-matrix-version.tex",
        "sha256": "1e0ac6ecd971c245bf090c82dcc4779b06cdd9e716004632138c4094c0430bf2"
      },
      "type": "solution"
    },
    {
      "content_bytes": 1134,
      "content_sha256": "87704a94d4652de0f48c3f6c60ef48ceab5fb1d7148b758131b3c54576c5cb4d",
      "environment": "solution",
      "id": "unit.r017.book1.ch08.text.solution-004",
      "label": null,
      "line_range": [
        1337,
        1349
      ],
      "native_record_sha256": "b66fcab3f08f61b7904658939ae7167edc8a1b04642d89f1cb675a89cf69bc7b",
      "normalized_character_range": [
        38333,
        39467
      ],
      "normalized_utf8_byte_range": [
        38333,
        39467
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-matrix-version.tex",
      "source_file": {
        "archive": "source",
        "bytes": 39468,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-matrix-version.tex",
        "sha256": "1e0ac6ecd971c245bf090c82dcc4779b06cdd9e716004632138c4094c0430bf2"
      },
      "type": "solution"
    },
    {
      "content_bytes": 61,
      "content_sha256": "0897c7d4fcf8e9e23377ee98bd82cfcb9aa5d3641a30d951f713209fbb98bc22",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch09.solutions-manual.manualsolution-001",
      "label": "exsol:9.1",
      "line_range": [
        24,
        24
      ],
      "native_record_sha256": "d316a0197824724712bfad162299a1ce788e553dd92d2e4830860d75ca5b9aa7",
      "normalized_character_range": [
        1466,
        1527
      ],
      "normalized_utf8_byte_range": [
        1466,
        1527
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch09.tex",
      "source_file": {
        "archive": "source",
        "bytes": 15079,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch09.tex",
        "sha256": "f563b1aabe4d56830afbfb882e677d65ad890145c2a668d7dc31631d8baa7cb4"
      },
      "type": "solution"
    },
    {
      "content_bytes": 31,
      "content_sha256": "7b56a6ee87813b5a06ccaea0c2447ad45fe13fa142f62e24250b6eb0aa8dbbef",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch09.solutions-manual.manualsolution-002",
      "label": "exsol:9.2",
      "line_range": [
        46,
        46
      ],
      "native_record_sha256": "c7e647eca9483a01242d8b264c253675c2cafd3e2973c01bce6535c77ab0270a",
      "normalized_character_range": [
        2418,
        2449
      ],
      "normalized_utf8_byte_range": [
        2418,
        2449
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch09.tex",
      "source_file": {
        "archive": "source",
        "bytes": 15079,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch09.tex",
        "sha256": "f563b1aabe4d56830afbfb882e677d65ad890145c2a668d7dc31631d8baa7cb4"
      },
      "type": "solution"
    },
    {
      "content_bytes": 59,
      "content_sha256": "cccb157cfca755c1979fabcbe8860d2be0ca3ba25952fed395fea0f52be50703",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch09.solutions-manual.manualsolution-003",
      "label": "exsol:9.3",
      "line_range": [
        60,
        60
      ],
      "native_record_sha256": "8bb5328f27700cfe56f202d9eba5a239ed4b6ec5b62a203ab71e7e5ccfd50e81",
      "normalized_character_range": [
        3053,
        3112
      ],
      "normalized_utf8_byte_range": [
        3053,
        3112
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch09.tex",
      "source_file": {
        "archive": "source",
        "bytes": 15079,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch09.tex",
        "sha256": "f563b1aabe4d56830afbfb882e677d65ad890145c2a668d7dc31631d8baa7cb4"
      },
      "type": "solution"
    },
    {
      "content_bytes": 36,
      "content_sha256": "b8e7607059faabd7a5cf062e6e0e2bf9dab947e2ee0532749c2d24f66e2f6329",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch09.solutions-manual.manualsolution-004",
      "label": "exsol:9.4",
      "line_range": [
        71,
        71
      ],
      "native_record_sha256": "9d0ca14587a34833932b552283544957c694965eba068b09139fb8652c930389",
      "normalized_character_range": [
        3510,
        3546
      ],
      "normalized_utf8_byte_range": [
        3510,
        3546
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch09.tex",
      "source_file": {
        "archive": "source",
        "bytes": 15079,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch09.tex",
        "sha256": "f563b1aabe4d56830afbfb882e677d65ad890145c2a668d7dc31631d8baa7cb4"
      },
      "type": "solution"
    },
    {
      "content_bytes": 65,
      "content_sha256": "f717fd04a77d1b81aa416ede3b939b114270ad7afb371ecce7cb3ac4e3a5b1c9",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch09.solutions-manual.manualsolution-005",
      "label": "exsol:9.5",
      "line_range": [
        97,
        97
      ],
      "native_record_sha256": "b1cf81f23a3d14c319f60870d399f3edb874e59d59651206b1de2ae2c104d0d9",
      "normalized_character_range": [
        4696,
        4761
      ],
      "normalized_utf8_byte_range": [
        4696,
        4761
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch09.tex",
      "source_file": {
        "archive": "source",
        "bytes": 15079,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch09.tex",
        "sha256": "f563b1aabe4d56830afbfb882e677d65ad890145c2a668d7dc31631d8baa7cb4"
      },
      "type": "solution"
    },
    {
      "content_bytes": 53,
      "content_sha256": "ce2a5ae9fe5488327c8e410384a62a508703a9f79d96c73d4ea6348f8e1b456c",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch09.solutions-manual.manualsolution-006",
      "label": "exsol:9.6",
      "line_range": [
        145,
        145
      ],
      "native_record_sha256": "c4bae13c3ba036514ea0beb50f9f08f5dfa90d93227fd8bcaeb4a2df538c5304",
      "normalized_character_range": [
        6439,
        6492
      ],
      "normalized_utf8_byte_range": [
        6439,
        6492
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch09.tex",
      "source_file": {
        "archive": "source",
        "bytes": 15079,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch09.tex",
        "sha256": "f563b1aabe4d56830afbfb882e677d65ad890145c2a668d7dc31631d8baa7cb4"
      },
      "type": "solution"
    },
    {
      "content_bytes": 38,
      "content_sha256": "e34dac2193a7bf958ec80a52c15f2dd5c14a30d8c6be7cf7fa8bc9f982c7ee12",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch09.solutions-manual.manualsolution-007",
      "label": "exsol:9.7",
      "line_range": [
        193,
        193
      ],
      "native_record_sha256": "12a70f3ffb7d388803f36d9d52754f7fa111c4d5d07d257bad657f15dd0f7eed",
      "normalized_character_range": [
        8145,
        8183
      ],
      "normalized_utf8_byte_range": [
        8145,
        8183
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch09.tex",
      "source_file": {
        "archive": "source",
        "bytes": 15079,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch09.tex",
        "sha256": "f563b1aabe4d56830afbfb882e677d65ad890145c2a668d7dc31631d8baa7cb4"
      },
      "type": "solution"
    },
    {
      "content_bytes": 45,
      "content_sha256": "b63e26620782bd93af3fa2fa60e8676762847782bfbf801d7ed13e8cc5ab36ca",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch09.solutions-manual.manualsolution-008",
      "label": "exsol:9.8",
      "line_range": [
        238,
        238
      ],
      "native_record_sha256": "10d2746af7cf0a45b8de9e13b314a5ac06b0027892a84724c88b3010e5ed67f0",
      "normalized_character_range": [
        9811,
        9856
      ],
      "normalized_utf8_byte_range": [
        9811,
        9856
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch09.tex",
      "source_file": {
        "archive": "source",
        "bytes": 15079,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch09.tex",
        "sha256": "f563b1aabe4d56830afbfb882e677d65ad890145c2a668d7dc31631d8baa7cb4"
      },
      "type": "solution"
    },
    {
      "content_bytes": 37,
      "content_sha256": "25e4ed25bea2ba385151ebaa0c14ea113540e686c7be31c16bb40ea3b053fec8",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch09.solutions-manual.manualsolution-009",
      "label": "exsol:9.9",
      "line_range": [
        268,
        268
      ],
      "native_record_sha256": "6be3b1361b8258d6b8a5424a9a395a5d2e79d5d0f453a9de70865eaa41e5b1ce",
      "normalized_character_range": [
        11196,
        11233
      ],
      "normalized_utf8_byte_range": [
        11196,
        11233
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch09.tex",
      "source_file": {
        "archive": "source",
        "bytes": 15079,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch09.tex",
        "sha256": "f563b1aabe4d56830afbfb882e677d65ad890145c2a668d7dc31631d8baa7cb4"
      },
      "type": "solution"
    },
    {
      "content_bytes": 47,
      "content_sha256": "5d4fe9bcce42df825b6c33e664a5c4f916f777ff9b612694213fba544a43dfeb",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch09.solutions-manual.manualsolution-010",
      "label": "exsol:9.10",
      "line_range": [
        287,
        287
      ],
      "native_record_sha256": "111f55c09e974cbe7082d800eade4211ae6ff03faa1fdf1d866e07928c677429",
      "normalized_character_range": [
        11909,
        11956
      ],
      "normalized_utf8_byte_range": [
        11909,
        11956
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch09.tex",
      "source_file": {
        "archive": "source",
        "bytes": 15079,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch09.tex",
        "sha256": "f563b1aabe4d56830afbfb882e677d65ad890145c2a668d7dc31631d8baa7cb4"
      },
      "type": "solution"
    },
    {
      "content_bytes": 37,
      "content_sha256": "c84ba9426f786437417fb902bbe5a99c201b8d29422e55437af9b17891d08953",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch09.solutions-manual.manualsolution-011",
      "label": "exsol:9.11",
      "line_range": [
        299,
        299
      ],
      "native_record_sha256": "cce7d4e1e73f49231020d7978d05b7b40b2b6ac25b01355cdbd7db7e8b5d7693",
      "normalized_character_range": [
        12624,
        12661
      ],
      "normalized_utf8_byte_range": [
        12624,
        12661
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch09.tex",
      "source_file": {
        "archive": "source",
        "bytes": 15079,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch09.tex",
        "sha256": "f563b1aabe4d56830afbfb882e677d65ad890145c2a668d7dc31631d8baa7cb4"
      },
      "type": "solution"
    },
    {
      "content_bytes": 60,
      "content_sha256": "c8ea55e59f4ef038ceb132c5f6a9a84f5d57a0cbab6fb04e5feea28c45925573",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch09.solutions-manual.manualsolution-012",
      "label": "exsol:9.12",
      "line_range": [
        316,
        316
      ],
      "native_record_sha256": "f902e88c723ce6206b0a0c6846a6e270923acddd5b36abdc92567977e84b41f3",
      "normalized_character_range": [
        13576,
        13636
      ],
      "normalized_utf8_byte_range": [
        13576,
        13636
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch09.tex",
      "source_file": {
        "archive": "source",
        "bytes": 15079,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch09.tex",
        "sha256": "f563b1aabe4d56830afbfb882e677d65ad890145c2a668d7dc31631d8baa7cb4"
      },
      "type": "solution"
    },
    {
      "content_bytes": 1009,
      "content_sha256": "139be4eff92a53f2ab9d77ac34cd202c0c5b556deac762544c9419e812b29ab9",
      "environment": "ex",
      "id": "unit.r017.book1.ch09.text.ex-001",
      "label": "ex:tableau-read-mid",
      "line_range": [
        408,
        433
      ],
      "native_record_sha256": "6860081086591b33669cd89802d9d04e76b9cc42eb872a4afa877bda3a5327b5",
      "normalized_character_range": [
        17751,
        18760
      ],
      "normalized_utf8_byte_range": [
        17751,
        18760
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
      "source_file": {
        "archive": "source",
        "bytes": 30803,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
        "sha256": "6fe55f1e5eac82caf2128f7cae220bb29ff9537802465cb9b28feb6bab1330de"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 743,
      "content_sha256": "17739d9c1ad794c10c5e15d3c61ba705fbee69351d3ffbcaaa584a6aba008f41",
      "environment": "ex",
      "id": "unit.r017.book1.ch09.text.ex-002",
      "label": "ex:tableau-reading",
      "line_range": [
        435,
        456
      ],
      "native_record_sha256": "6602b0f1c73429ce9f02d7643ae0bcc7dcda92c6dc755f85a3b895af36a89e83",
      "normalized_character_range": [
        18762,
        19505
      ],
      "normalized_utf8_byte_range": [
        18762,
        19505
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
      "source_file": {
        "archive": "source",
        "bytes": 30803,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
        "sha256": "6fe55f1e5eac82caf2128f7cae220bb29ff9537802465cb9b28feb6bab1330de"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 667,
      "content_sha256": "510a38124a86ec6ae85055af0085228f44229e937eeb0fef1613d13b7f865b06",
      "environment": "ex",
      "id": "unit.r017.book1.ch09.text.ex-003",
      "label": "ex:tableau-ratio-test",
      "line_range": [
        458,
        478
      ],
      "native_record_sha256": "faeea916b9d6ed86bff6dee16de80f422e306c9955a90e0b46e4ee25176283d1",
      "normalized_character_range": [
        19507,
        20174
      ],
      "normalized_utf8_byte_range": [
        19507,
        20174
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
      "source_file": {
        "archive": "source",
        "bytes": 30803,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
        "sha256": "6fe55f1e5eac82caf2128f7cae220bb29ff9537802465cb9b28feb6bab1330de"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 361,
      "content_sha256": "a76e6ac47cea4dd26323d1c5c3698510d5c578d9fcb949d442e79b83c11d2544",
      "environment": "ex",
      "id": "unit.r017.book1.ch09.text.ex-004",
      "label": "ex:tableau-one-pivot",
      "line_range": [
        482,
        489
      ],
      "native_record_sha256": "076ad2cea812ed9b74b7269ee6dc02fff7ac97d18ad69caf8953076fb8cecddd",
      "normalized_character_range": [
        20197,
        20558
      ],
      "normalized_utf8_byte_range": [
        20197,
        20558
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
      "source_file": {
        "archive": "source",
        "bytes": 30803,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
        "sha256": "6fe55f1e5eac82caf2128f7cae220bb29ff9537802465cb9b28feb6bab1330de"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 598,
      "content_sha256": "35808b0bfe1cd81c987337f086ffc5e31393661ac1aae305889fef685fff0ce4",
      "environment": "ex",
      "id": "unit.r017.book1.ch09.text.ex-005",
      "label": "ex:tableau-solve-lp",
      "line_range": [
        491,
        506
      ],
      "native_record_sha256": "27f269cae707f93f0ac2124d8bb6e9224419074bf533668d9be99045cb686441",
      "normalized_character_range": [
        20560,
        21158
      ],
      "normalized_utf8_byte_range": [
        20560,
        21158
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
      "source_file": {
        "archive": "source",
        "bytes": 30803,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
        "sha256": "6fe55f1e5eac82caf2128f7cae220bb29ff9537802465cb9b28feb6bab1330de"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 601,
      "content_sha256": "ace4215fbc28f475c5bef6377a808ef31dd21c721f3c4f0caf3926e21b68af5d",
      "environment": "ex",
      "id": "unit.r017.book1.ch09.text.ex-006",
      "label": "ex:tableau-two-pivot-solve",
      "line_range": [
        508,
        523
      ],
      "native_record_sha256": "96ff920005f4abde022116fa0c7904323e277c720c15c7214ca486958d80489d",
      "normalized_character_range": [
        21160,
        21761
      ],
      "normalized_utf8_byte_range": [
        21160,
        21761
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
      "source_file": {
        "archive": "source",
        "bytes": 30803,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
        "sha256": "6fe55f1e5eac82caf2128f7cae220bb29ff9537802465cb9b28feb6bab1330de"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 715,
      "content_sha256": "53f8235bdbecb7a6f6b8fd5d0e0628fa8e77bac90b397ec6c2f62497e2480f7e",
      "environment": "ex",
      "id": "unit.r017.book1.ch09.text.ex-007",
      "label": "ex:tableau-bigm-setup",
      "line_range": [
        525,
        541
      ],
      "native_record_sha256": "28b155eb1d70d8217a23b3f7edcfc7ca1a6e406612f402542b9e82292a00329a",
      "normalized_character_range": [
        21763,
        22478
      ],
      "normalized_utf8_byte_range": [
        21763,
        22478
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
      "source_file": {
        "archive": "source",
        "bytes": 30803,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
        "sha256": "6fe55f1e5eac82caf2128f7cae220bb29ff9537802465cb9b28feb6bab1330de"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 774,
      "content_sha256": "435481cd4e121105a474b58c9ff87911d6495175b658e42261c708a63a6007d1",
      "environment": "ex",
      "id": "unit.r017.book1.ch09.text.ex-008",
      "label": "ex:tableau-sign-convention",
      "line_range": [
        545,
        556
      ],
      "native_record_sha256": "270ca6b0dd3d5f36fb4c8b185b5db074f3260807f787e465a5d227dbb8ba6875",
      "normalized_character_range": [
        22514,
        23288
      ],
      "normalized_utf8_byte_range": [
        22514,
        23288
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
      "source_file": {
        "archive": "source",
        "bytes": 30803,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
        "sha256": "6fe55f1e5eac82caf2128f7cae220bb29ff9537802465cb9b28feb6bab1330de"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 436,
      "content_sha256": "2c3a89c70bb729a27ddeac6ce923cf6933e13130d0881af8f02bcf7820b7c200",
      "environment": "ex",
      "id": "unit.r017.book1.ch09.text.ex-009",
      "label": "ex:tableau-to-dictionary",
      "line_range": [
        558,
        565
      ],
      "native_record_sha256": "b943399a0cf3627d87392ae44e298e57598b12fd49a77f1fef3c1f960c737e86",
      "normalized_character_range": [
        23290,
        23726
      ],
      "normalized_utf8_byte_range": [
        23290,
        23726
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
      "source_file": {
        "archive": "source",
        "bytes": 30803,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
        "sha256": "6fe55f1e5eac82caf2128f7cae220bb29ff9537802465cb9b28feb6bab1330de"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 682,
      "content_sha256": "ecf977669438ed9d9ade688247e1944862bc250869a16b90749728496bc2058e",
      "environment": "ex",
      "id": "unit.r017.book1.ch09.text.ex-010",
      "label": "ex:tableau-unbounded",
      "line_range": [
        567,
        586
      ],
      "native_record_sha256": "7373fcb44711f2eccf8191bc54615e6b9f5c6479c028f5d91618cc0b60f62094",
      "normalized_character_range": [
        23728,
        24410
      ],
      "normalized_utf8_byte_range": [
        23728,
        24410
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
      "source_file": {
        "archive": "source",
        "bytes": 30803,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
        "sha256": "6fe55f1e5eac82caf2128f7cae220bb29ff9537802465cb9b28feb6bab1330de"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 866,
      "content_sha256": "04e7eaae41151862d4687215f076271996ac053714554dbeb9fedd2614f12e59",
      "environment": "ex",
      "id": "unit.r017.book1.ch09.text.ex-011",
      "label": "ex:tableau-infeasible",
      "line_range": [
        588,
        610
      ],
      "native_record_sha256": "1cbecdfe76eea93a6093a71b335a26d8598709330adcf9dd81b02ac5ac4e48f3",
      "normalized_character_range": [
        24412,
        25278
      ],
      "normalized_utf8_byte_range": [
        24412,
        25278
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
      "source_file": {
        "archive": "source",
        "bytes": 30803,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
        "sha256": "6fe55f1e5eac82caf2128f7cae220bb29ff9537802465cb9b28feb6bab1330de"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1311,
      "content_sha256": "24417552ce43b5e370350e32b5c6d7b8add212a1a7ef0db5427f3c26f986bf8f",
      "environment": "ex",
      "id": "unit.r017.book1.ch09.text.ex-012",
      "label": "ex:tableau-unbounded-certificate",
      "line_range": [
        614,
        645
      ],
      "native_record_sha256": "932502a8ff495992d236f946b69de4b98b7df26d55c013ea7329d81c3335c58b",
      "normalized_character_range": [
        25306,
        26617
      ],
      "normalized_utf8_byte_range": [
        25306,
        26617
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
      "source_file": {
        "archive": "source",
        "bytes": 30803,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
        "sha256": "6fe55f1e5eac82caf2128f7cae220bb29ff9537802465cb9b28feb6bab1330de"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 616,
      "content_sha256": "74336a77d7f887d0c0de6f7f30c401fbe6d68bfa954ef25f72864e9784e8ab4d",
      "environment": "solution",
      "id": "unit.r017.book1.ch09.text.solution-001",
      "label": null,
      "line_range": [
        649,
        660
      ],
      "native_record_sha256": "f5b5ecf5ee4467509757ad9f3ed5fdcf1abfaa8f472000b0133613a51e62b654",
      "normalized_character_range": [
        26652,
        27268
      ],
      "normalized_utf8_byte_range": [
        26652,
        27268
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
      "source_file": {
        "archive": "source",
        "bytes": 30803,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
        "sha256": "6fe55f1e5eac82caf2128f7cae220bb29ff9537802465cb9b28feb6bab1330de"
      },
      "type": "solution"
    },
    {
      "content_bytes": 414,
      "content_sha256": "b0fa73e89018044a25e3041a9326821126bf8ccf37750492498b2f9bb4342379",
      "environment": "solution",
      "id": "unit.r017.book1.ch09.text.solution-002",
      "label": null,
      "line_range": [
        662,
        670
      ],
      "native_record_sha256": "6108354e58ddae66771d9e5bebce28cab6b272461a52f35a119fb17dd5f2bc51",
      "normalized_character_range": [
        27270,
        27684
      ],
      "normalized_utf8_byte_range": [
        27270,
        27684
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
      "source_file": {
        "archive": "source",
        "bytes": 30803,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
        "sha256": "6fe55f1e5eac82caf2128f7cae220bb29ff9537802465cb9b28feb6bab1330de"
      },
      "type": "solution"
    },
    {
      "content_bytes": 1389,
      "content_sha256": "7d92411f232316e5f25a30646a145c795240652ccd895647f67504e8b39f4264",
      "environment": "solution",
      "id": "unit.r017.book1.ch09.text.solution-003",
      "label": null,
      "line_range": [
        672,
        705
      ],
      "native_record_sha256": "c97c69eaad0cc0a1bd2389970eb4b76429683fdf9ec795d34654343599d95abc",
      "normalized_character_range": [
        27686,
        29075
      ],
      "normalized_utf8_byte_range": [
        27686,
        29075
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
      "source_file": {
        "archive": "source",
        "bytes": 30803,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
        "sha256": "6fe55f1e5eac82caf2128f7cae220bb29ff9537802465cb9b28feb6bab1330de"
      },
      "type": "solution"
    },
    {
      "content_bytes": 1725,
      "content_sha256": "d9b7667f90c0ce40ddbabebda6d5e76ac5e48a92b20dd1e5c964314c846ef64e",
      "environment": "solution",
      "id": "unit.r017.book1.ch09.text.solution-004",
      "label": null,
      "line_range": [
        707,
        753
      ],
      "native_record_sha256": "28748d38f29940643bbb2b15620fb581acd7fa9c1cacf91a3827a280f2f3d90c",
      "normalized_character_range": [
        29077,
        30802
      ],
      "normalized_utf8_byte_range": [
        29077,
        30802
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
      "source_file": {
        "archive": "source",
        "bytes": 30803,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
        "sha256": "6fe55f1e5eac82caf2128f7cae220bb29ff9537802465cb9b28feb6bab1330de"
      },
      "type": "solution"
    },
    {
      "content_bytes": 315,
      "content_sha256": "c597dccb6bfe963bd2bec5d663d0c1269f3277a11da0ccfce6c90a9c6665b9e3",
      "environment": "tryit",
      "id": "unit.r017.book1.ch09.text.tryit-001",
      "label": null,
      "line_range": [
        17,
        21
      ],
      "native_record_sha256": "1b12c5a68c2ec88dbd05c9df43510d0a091497d342346787b88ff51ca1360f66",
      "normalized_character_range": [
        669,
        984
      ],
      "normalized_utf8_byte_range": [
        669,
        984
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
      "source_file": {
        "archive": "source",
        "bytes": 30803,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
        "sha256": "6fe55f1e5eac82caf2128f7cae220bb29ff9537802465cb9b28feb6bab1330de"
      },
      "type": "tryit"
    },
    {
      "content_bytes": 48,
      "content_sha256": "e5325dc5249b6d32b7d40f26053f71fe48a369bd98f17301574731d1c0e8f2f9",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch10.solutions-manual.manualsolution-001",
      "label": "exsol:10.1",
      "line_range": [
        12,
        12
      ],
      "native_record_sha256": "70a2679b75ab60afb88014bedf3988d46c1ef541263976addfb80f53e8f6cf36",
      "normalized_character_range": [
        1458,
        1506
      ],
      "normalized_utf8_byte_range": [
        1458,
        1506
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch10.tex",
      "source_file": {
        "archive": "source",
        "bytes": 22264,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch10.tex",
        "sha256": "6abe9524a7052068e1d5931356d43f24ec5fde441af4080a347124e1088b6ca5"
      },
      "type": "solution"
    },
    {
      "content_bytes": 48,
      "content_sha256": "cc77bb02033782614cb82e131d26023ca6a4d988b6eaf5731710bcbeab7ef8f1",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch10.solutions-manual.manualsolution-002",
      "label": "exsol:10.2",
      "line_range": [
        34,
        34
      ],
      "native_record_sha256": "9a399c945f644f48ed910e6386b22498a3e9888d9410ee64120e6060f84ce81a",
      "normalized_character_range": [
        2995,
        3043
      ],
      "normalized_utf8_byte_range": [
        2995,
        3043
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch10.tex",
      "source_file": {
        "archive": "source",
        "bytes": 22264,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch10.tex",
        "sha256": "6abe9524a7052068e1d5931356d43f24ec5fde441af4080a347124e1088b6ca5"
      },
      "type": "solution"
    },
    {
      "content_bytes": 48,
      "content_sha256": "334698918d6aa8d07b25b2d5b713a0dc4eb6830beabdb5d83efb9f2c8ed62cae",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch10.solutions-manual.manualsolution-003",
      "label": "exsol:10.3",
      "line_range": [
        72,
        72
      ],
      "native_record_sha256": "f76c15b81dcf416e8c05e28cff1ceeacb9b7a33e188d3699cc4a802ee573e43e",
      "normalized_character_range": [
        4895,
        4943
      ],
      "normalized_utf8_byte_range": [
        4895,
        4943
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch10.tex",
      "source_file": {
        "archive": "source",
        "bytes": 22264,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch10.tex",
        "sha256": "6abe9524a7052068e1d5931356d43f24ec5fde441af4080a347124e1088b6ca5"
      },
      "type": "solution"
    },
    {
      "content_bytes": 46,
      "content_sha256": "f55759b6269a50c860a1c18728cfd4df4148cced919365bd8b986a916ee2998c",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch10.solutions-manual.manualsolution-004",
      "label": "exsol:10.4",
      "line_range": [
        100,
        100
      ],
      "native_record_sha256": "1b6cd53177d55251684eeda12155520a0c8a13adc73a52be0a0898f903ef9b58",
      "normalized_character_range": [
        6113,
        6159
      ],
      "normalized_utf8_byte_range": [
        6113,
        6159
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch10.tex",
      "source_file": {
        "archive": "source",
        "bytes": 22264,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch10.tex",
        "sha256": "6abe9524a7052068e1d5931356d43f24ec5fde441af4080a347124e1088b6ca5"
      },
      "type": "solution"
    },
    {
      "content_bytes": 64,
      "content_sha256": "bd92d176cf9ef5b86cc26e737cd564ca7055e9c4e791662af4d07e8b16a01a9d",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch10.solutions-manual.manualsolution-005",
      "label": "exsol:10.5",
      "line_range": [
        119,
        119
      ],
      "native_record_sha256": "36468bc035b04024a13a75c182668840e7b57e43441c4a6e3058ca38f24a0d32",
      "normalized_character_range": [
        7812,
        7876
      ],
      "normalized_utf8_byte_range": [
        7812,
        7876
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch10.tex",
      "source_file": {
        "archive": "source",
        "bytes": 22264,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch10.tex",
        "sha256": "6abe9524a7052068e1d5931356d43f24ec5fde441af4080a347124e1088b6ca5"
      },
      "type": "solution"
    },
    {
      "content_bytes": 47,
      "content_sha256": "f94ddf9c1885415ef646a72df00f8d1447b851297ef8d07ff382d7da2cde6879",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch10.solutions-manual.manualsolution-006",
      "label": "exsol:10.6",
      "line_range": [
        160,
        160
      ],
      "native_record_sha256": "b1ff5a69cee0b4fa5c6467c827bb0348eb27bfc64750a800d3ee39a525cdbf6a",
      "normalized_character_range": [
        10768,
        10815
      ],
      "normalized_utf8_byte_range": [
        10768,
        10815
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch10.tex",
      "source_file": {
        "archive": "source",
        "bytes": 22264,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch10.tex",
        "sha256": "6abe9524a7052068e1d5931356d43f24ec5fde441af4080a347124e1088b6ca5"
      },
      "type": "solution"
    },
    {
      "content_bytes": 45,
      "content_sha256": "df542362eb740328bc13c28b7705276b7d80db2738f8e6e91ffa1fc66278f443",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch10.solutions-manual.manualsolution-007",
      "label": "exsol:10.7",
      "line_range": [
        191,
        191
      ],
      "native_record_sha256": "80f541ad157f9379d5fc85db92f8631fea757d2fb8542e25782c8877c499bc88",
      "normalized_character_range": [
        12806,
        12851
      ],
      "normalized_utf8_byte_range": [
        12806,
        12851
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch10.tex",
      "source_file": {
        "archive": "source",
        "bytes": 22264,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch10.tex",
        "sha256": "6abe9524a7052068e1d5931356d43f24ec5fde441af4080a347124e1088b6ca5"
      },
      "type": "solution"
    },
    {
      "content_bytes": 42,
      "content_sha256": "f50c921801f7dfd16d764be5738e942b470419a036fe15f610ea77f22572b9ba",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch10.solutions-manual.manualsolution-008",
      "label": "exsol:10.8",
      "line_range": [
        207,
        207
      ],
      "native_record_sha256": "65ddefe188d2f60a93afe19d06e2dd29f0d211e62600db5cae6547f5d3de5866",
      "normalized_character_range": [
        13842,
        13884
      ],
      "normalized_utf8_byte_range": [
        13842,
        13884
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch10.tex",
      "source_file": {
        "archive": "source",
        "bytes": 22264,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch10.tex",
        "sha256": "6abe9524a7052068e1d5931356d43f24ec5fde441af4080a347124e1088b6ca5"
      },
      "type": "solution"
    },
    {
      "content_bytes": 54,
      "content_sha256": "998faea8b48366739d95f53799ab8e182be8bfa936ef4e8fceba7d529689a09c",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch10.solutions-manual.manualsolution-009",
      "label": "exsol:10.9",
      "line_range": [
        222,
        222
      ],
      "native_record_sha256": "572203950ed9baac41e5d54a509c6d080a6acb22041a4a37bfe9d87627bda762",
      "normalized_character_range": [
        15333,
        15387
      ],
      "normalized_utf8_byte_range": [
        15333,
        15387
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch10.tex",
      "source_file": {
        "archive": "source",
        "bytes": 22264,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch10.tex",
        "sha256": "6abe9524a7052068e1d5931356d43f24ec5fde441af4080a347124e1088b6ca5"
      },
      "type": "solution"
    },
    {
      "content_bytes": 41,
      "content_sha256": "bda3ef6b7ddb45c717fe9fd1b54a9cab9383d65724bfaff5ebca910637847d62",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch10.solutions-manual.manualsolution-010",
      "label": "exsol:10.10",
      "line_range": [
        230,
        230
      ],
      "native_record_sha256": "a4c441c57c76e0fe4931b2addf4bce37b61d9381dbafb306d5ab6bd52986d5b5",
      "normalized_character_range": [
        16929,
        16970
      ],
      "normalized_utf8_byte_range": [
        16929,
        16970
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch10.tex",
      "source_file": {
        "archive": "source",
        "bytes": 22264,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch10.tex",
        "sha256": "6abe9524a7052068e1d5931356d43f24ec5fde441af4080a347124e1088b6ca5"
      },
      "type": "solution"
    },
    {
      "content_bytes": 54,
      "content_sha256": "fc62d308fcf160b80bccdf4d6c86a4d57261fbff7215c0dc1699cb46a3042c12",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch10.solutions-manual.manualsolution-011",
      "label": "exsol:10.11",
      "line_range": [
        239,
        239
      ],
      "native_record_sha256": "2444c6b1536a2256ea28a66a7027a303203979ce88a2f03f0da3a768bab4dfa9",
      "normalized_character_range": [
        18716,
        18770
      ],
      "normalized_utf8_byte_range": [
        18716,
        18770
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch10.tex",
      "source_file": {
        "archive": "source",
        "bytes": 22264,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch10.tex",
        "sha256": "6abe9524a7052068e1d5931356d43f24ec5fde441af4080a347124e1088b6ca5"
      },
      "type": "solution"
    },
    {
      "content_bytes": 35,
      "content_sha256": "29d2765ca34a146454d68595484f82e5dc70528c3d1c1e60c294c61aa3ee915a",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch10.solutions-manual.manualsolution-012",
      "label": "exsol:10.12",
      "line_range": [
        254,
        254
      ],
      "native_record_sha256": "13be276f0945e55e9bac4575d4947a59a48a6dc9a6c57d55ac7ec5fa7243ce87",
      "normalized_character_range": [
        20906,
        20941
      ],
      "normalized_utf8_byte_range": [
        20906,
        20941
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch10.tex",
      "source_file": {
        "archive": "source",
        "bytes": 22264,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch10.tex",
        "sha256": "6abe9524a7052068e1d5931356d43f24ec5fde441af4080a347124e1088b6ca5"
      },
      "type": "solution"
    },
    {
      "content_bytes": 727,
      "content_sha256": "d6d19d457b1c47e5478af30bd576c548ea01ae431bc5efad1668f3325ccd30d3",
      "environment": "ex",
      "id": "unit.r017.book1.ch10.text.ex-001",
      "label": null,
      "line_range": [
        880,
        896
      ],
      "native_record_sha256": "459cc474f8ebfea84478df6bd0dec2720af2e0151382a270f0ac2333434cfa11",
      "normalized_character_range": [
        36914,
        37641
      ],
      "normalized_utf8_byte_range": [
        36914,
        37641
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
      "source_file": {
        "archive": "source",
        "bytes": 52340,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
        "sha256": "27125508e85609361382af200e24d33d5f979cb68f78c5eee94c06acd6a9c64c"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 648,
      "content_sha256": "f1e2772b6d2804821aed5ef1a717e837861b0617c4456be03ade6dbca0b970c9",
      "environment": "ex",
      "id": "unit.r017.book1.ch10.text.ex-002",
      "label": "ex:sensitivity-rhs-range",
      "line_range": [
        898,
        922
      ],
      "native_record_sha256": "590d3bf7d0fab397bb9fe6022b2414c13fb8e2a4a8b4f4053cbc8a851010bd94",
      "normalized_character_range": [
        37643,
        38291
      ],
      "normalized_utf8_byte_range": [
        37643,
        38291
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
      "source_file": {
        "archive": "source",
        "bytes": 52340,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
        "sha256": "27125508e85609361382af200e24d33d5f979cb68f78c5eee94c06acd6a9c64c"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 440,
      "content_sha256": "8a95e635a55e6c08742cd8ec07458c0da20698834760462fabccb21900cf209d",
      "environment": "ex",
      "id": "unit.r017.book1.ch10.text.ex-003",
      "label": null,
      "line_range": [
        926,
        929
      ],
      "native_record_sha256": "af8d00a89712edfacc43a7d48d44b115b2fa1e2c2fd12ae248626c2cf01c2191",
      "normalized_character_range": [
        38314,
        38754
      ],
      "normalized_utf8_byte_range": [
        38314,
        38754
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
      "source_file": {
        "archive": "source",
        "bytes": 52340,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
        "sha256": "27125508e85609361382af200e24d33d5f979cb68f78c5eee94c06acd6a9c64c"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1036,
      "content_sha256": "3485247a90067ea7f6ec86c50148436209f682ef3f6f8e40532392328162799f",
      "environment": "ex",
      "id": "unit.r017.book1.ch10.text.ex-004",
      "label": "ex:sensitivity-workup-2x2",
      "line_range": [
        931,
        951
      ],
      "native_record_sha256": "bc493616517c676ca879b112cfaffb1633acff88ee89b675116f981071cc64ec",
      "normalized_character_range": [
        38756,
        39792
      ],
      "normalized_utf8_byte_range": [
        38756,
        39792
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
      "source_file": {
        "archive": "source",
        "bytes": 52340,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
        "sha256": "27125508e85609361382af200e24d33d5f979cb68f78c5eee94c06acd6a9c64c"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1156,
      "content_sha256": "c9500bd36abd693f677728c996a27b3b19a8443996123eeb73c1f4c980ccb5b4",
      "environment": "ex",
      "id": "unit.r017.book1.ch10.text.ex-005",
      "label": "ex:sensitivity-obj-nonbasic",
      "line_range": [
        953,
        973
      ],
      "native_record_sha256": "66cb010c0e3b18eac1bdda1f4bbe0f695f847e9a0c8ce18414829d7eef12e4ad",
      "normalized_character_range": [
        39794,
        40950
      ],
      "normalized_utf8_byte_range": [
        39794,
        40950
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
      "source_file": {
        "archive": "source",
        "bytes": 52340,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
        "sha256": "27125508e85609361382af200e24d33d5f979cb68f78c5eee94c06acd6a9c64c"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 917,
      "content_sha256": "2d59a18969688683e5815668b6787de645052fdc969a3eb9d506a48bb35e01d6",
      "environment": "ex",
      "id": "unit.r017.book1.ch10.text.ex-006",
      "label": "ex:sensitivity-basis-inverse",
      "line_range": [
        975,
        998
      ],
      "native_record_sha256": "b691c1e8388ecac4f6372b957284ac7a74eefcd2022edde40f655d0829d1eacb",
      "normalized_character_range": [
        40952,
        41869
      ],
      "normalized_utf8_byte_range": [
        40952,
        41869
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
      "source_file": {
        "archive": "source",
        "bytes": 52340,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
        "sha256": "27125508e85609361382af200e24d33d5f979cb68f78c5eee94c06acd6a9c64c"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1547,
      "content_sha256": "7c59d485edabc40cafd448b53f46924be1a6df4dfa0b4a2d2080307f9895d054",
      "environment": "ex",
      "id": "unit.r017.book1.ch10.text.ex-007",
      "label": "tab:sensitivity-LP-tab03",
      "line_range": [
        1000,
        1039
      ],
      "native_record_sha256": "584a95de35e90392144eb4bf9b420c165ef7031165c16cbcb8a1e6a84898ceac",
      "normalized_character_range": [
        41871,
        43418
      ],
      "normalized_utf8_byte_range": [
        41871,
        43418
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
      "source_file": {
        "archive": "source",
        "bytes": 52340,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
        "sha256": "27125508e85609361382af200e24d33d5f979cb68f78c5eee94c06acd6a9c64c"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 886,
      "content_sha256": "b91555f47401b694826862eb5e02b70a01189565ad25f91ddbc081e2ebfd7af1",
      "environment": "ex",
      "id": "unit.r017.book1.ch10.text.ex-008",
      "label": "ex:shadow-price-workshop",
      "line_range": [
        1043,
        1063
      ],
      "native_record_sha256": "6fb64fd906cdf195ad8f368746c5082ea44a7c2b54b803b3a4868718f1ab5d23",
      "normalized_character_range": [
        43454,
        44340
      ],
      "normalized_utf8_byte_range": [
        43454,
        44340
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
      "source_file": {
        "archive": "source",
        "bytes": 52340,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
        "sha256": "27125508e85609361382af200e24d33d5f979cb68f78c5eee94c06acd6a9c64c"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 745,
      "content_sha256": "94c27187483f661303ac0336b7d0d9d0d630476b1f267b54194beded4c4553ab",
      "environment": "ex",
      "id": "unit.r017.book1.ch10.text.ex-009",
      "label": null,
      "line_range": [
        1065,
        1072
      ],
      "native_record_sha256": "3b883709547d3be57412686182ac3da81125a8dc45cd692869a54fcd99a69cd6",
      "normalized_character_range": [
        44342,
        45087
      ],
      "normalized_utf8_byte_range": [
        44342,
        45087
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
      "source_file": {
        "archive": "source",
        "bytes": 52340,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
        "sha256": "27125508e85609361382af200e24d33d5f979cb68f78c5eee94c06acd6a9c64c"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 677,
      "content_sha256": "e56c47544f8cca5ae3ecfdcf00f3fda953dd6e63e28565546cec92f1f62afa39",
      "environment": "ex",
      "id": "unit.r017.book1.ch10.text.ex-010",
      "label": null,
      "line_range": [
        1074,
        1082
      ],
      "native_record_sha256": "398330b43dd4cd620d5f3f423e43f7b75751fbb226f5d88a152f387c6ef91fd0",
      "normalized_character_range": [
        45089,
        45766
      ],
      "normalized_utf8_byte_range": [
        45089,
        45766
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
      "source_file": {
        "archive": "source",
        "bytes": 52340,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
        "sha256": "27125508e85609361382af200e24d33d5f979cb68f78c5eee94c06acd6a9c64c"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 952,
      "content_sha256": "e893964d1bb2738aad023b22602c967cd504af614fd14ecc42381798f60a0379",
      "environment": "ex",
      "id": "unit.r017.book1.ch10.text.ex-011",
      "label": null,
      "line_range": [
        1084,
        1096
      ],
      "native_record_sha256": "6c2b0fb4316ec24f3a8ef23af36d2e611d412db2e115e9e302dc5e520bb39247",
      "normalized_character_range": [
        45768,
        46720
      ],
      "normalized_utf8_byte_range": [
        45768,
        46720
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
      "source_file": {
        "archive": "source",
        "bytes": 52340,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
        "sha256": "27125508e85609361382af200e24d33d5f979cb68f78c5eee94c06acd6a9c64c"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 704,
      "content_sha256": "2f1cd08a9301eafe47a47487d12d727d382469671108937093c6747b7308cd1b",
      "environment": "ex",
      "id": "unit.r017.book1.ch10.text.ex-012",
      "label": "ex:sensitivity-range-boundary",
      "line_range": [
        1100,
        1104
      ],
      "native_record_sha256": "430b93003165796698494a4e7e1f42e9f6bf2309f5a29ebda07b2418da3c0426",
      "normalized_character_range": [
        46748,
        47452
      ],
      "normalized_utf8_byte_range": [
        46748,
        47452
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
      "source_file": {
        "archive": "source",
        "bytes": 52340,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
        "sha256": "27125508e85609361382af200e24d33d5f979cb68f78c5eee94c06acd6a9c64c"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 309,
      "content_sha256": "b4ceb67497e6fcda61853fcc4a75ac9621302fffff810c7acd363229d8fe09cb",
      "environment": "learningcheckpoint",
      "id": "unit.r017.book1.ch10.text.learningcheckpoint-001",
      "label": "lc:shadow-price-b1",
      "line_range": [
        338,
        340
      ],
      "native_record_sha256": "477f33806059f243b9538f5dd722c7e289ad57781f38a7b929ab9fe710f13677",
      "normalized_character_range": [
        18078,
        18387
      ],
      "normalized_utf8_byte_range": [
        18078,
        18387
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
      "source_file": {
        "archive": "source",
        "bytes": 52340,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
        "sha256": "27125508e85609361382af200e24d33d5f979cb68f78c5eee94c06acd6a9c64c"
      },
      "type": "learningcheckpoint"
    },
    {
      "content_bytes": 293,
      "content_sha256": "8e23a20e909011fa25b464030a8d797b75be1a9f1a54ccfdb53237a14e199f57",
      "environment": "learningcheckpoint",
      "id": "unit.r017.book1.ch10.text.learningcheckpoint-002",
      "label": "lc:nonbasic-cost",
      "line_range": [
        455,
        457
      ],
      "native_record_sha256": "9aabb4572db8498fab6c8ed6b0899f2b0203c2c81444c864be97816836bb8f18",
      "normalized_character_range": [
        23105,
        23398
      ],
      "normalized_utf8_byte_range": [
        23105,
        23398
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
      "source_file": {
        "archive": "source",
        "bytes": 52340,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
        "sha256": "27125508e85609361382af200e24d33d5f979cb68f78c5eee94c06acd6a9c64c"
      },
      "type": "learningcheckpoint"
    },
    {
      "content_bytes": 1694,
      "content_sha256": "178d861bff5bdf529dee04742cb63bc1fdffa800aca48bc24e12393848e6475c",
      "environment": "solution",
      "id": "unit.r017.book1.ch10.text.solution-001",
      "label": null,
      "line_range": [
        1108,
        1121
      ],
      "native_record_sha256": "fa220739e5d21843d0035b46d18a630d3575006d582fc2c6f2447d3886fbcb79",
      "normalized_character_range": [
        47488,
        49182
      ],
      "normalized_utf8_byte_range": [
        47488,
        49182
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
      "source_file": {
        "archive": "source",
        "bytes": 52340,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
        "sha256": "27125508e85609361382af200e24d33d5f979cb68f78c5eee94c06acd6a9c64c"
      },
      "type": "solution"
    },
    {
      "content_bytes": 1224,
      "content_sha256": "bb4c8b0b9860cfb9e081df63f3d4cb27eba2905c87b9694492440d0065719ade",
      "environment": "solution",
      "id": "unit.r017.book1.ch10.text.solution-002",
      "label": null,
      "line_range": [
        1123,
        1141
      ],
      "native_record_sha256": "52da8cb29f2d4b11a0c1140d93fb537567a7b55e910db75068d26473801cfb06",
      "normalized_character_range": [
        49184,
        50408
      ],
      "normalized_utf8_byte_range": [
        49184,
        50408
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
      "source_file": {
        "archive": "source",
        "bytes": 52340,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
        "sha256": "27125508e85609361382af200e24d33d5f979cb68f78c5eee94c06acd6a9c64c"
      },
      "type": "solution"
    },
    {
      "content_bytes": 906,
      "content_sha256": "9c8cbd3b35976bbe6079d75ecde46e016c3a668632e0b151ea1b7aa443b5e480",
      "environment": "solution",
      "id": "unit.r017.book1.ch10.text.solution-003",
      "label": null,
      "line_range": [
        1143,
        1151
      ],
      "native_record_sha256": "b736982b4e842dd8c68f7cbeca3e35e2c5c1dc778605bfe1064cb3adca6f34c7",
      "normalized_character_range": [
        50410,
        51316
      ],
      "normalized_utf8_byte_range": [
        50410,
        51316
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
      "source_file": {
        "archive": "source",
        "bytes": 52340,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
        "sha256": "27125508e85609361382af200e24d33d5f979cb68f78c5eee94c06acd6a9c64c"
      },
      "type": "solution"
    },
    {
      "content_bytes": 1021,
      "content_sha256": "fceae2acd208d998b25b66e0788c9d5f4f883e4e182965d51b1fa6c47bf36172",
      "environment": "solution",
      "id": "unit.r017.book1.ch10.text.solution-004",
      "label": null,
      "line_range": [
        1153,
        1155
      ],
      "native_record_sha256": "ff509290936d16f00d4086266783d68789592d888819d8daad70091568d2ad5c",
      "normalized_character_range": [
        51318,
        52339
      ],
      "normalized_utf8_byte_range": [
        51318,
        52339
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
      "source_file": {
        "archive": "source",
        "bytes": 52340,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
        "sha256": "27125508e85609361382af200e24d33d5f979cb68f78c5eee94c06acd6a9c64c"
      },
      "type": "solution"
    },
    {
      "content_bytes": 341,
      "content_sha256": "d5d8f6f53698ef92a9a6305dd8bc46e1eb33470102e79f7f94e7432fcc1777cf",
      "environment": "tryit",
      "id": "unit.r017.book1.ch10.text.tryit-001",
      "label": null,
      "line_range": [
        16,
        20
      ],
      "native_record_sha256": "d4eee8f44bc18ea179e0ad4be7277299d45bd6f805599b8b975f890f1c4dce48",
      "normalized_character_range": [
        580,
        921
      ],
      "normalized_utf8_byte_range": [
        580,
        921
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
      "source_file": {
        "archive": "source",
        "bytes": 52340,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
        "sha256": "27125508e85609361382af200e24d33d5f979cb68f78c5eee94c06acd6a9c64c"
      },
      "type": "tryit"
    },
    {
      "content_bytes": 45,
      "content_sha256": "990839350ace085913d575dbadad2f071d28f14f51af50e907d8ecc2081cb490",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-001",
      "label": "exsol:11.1",
      "line_range": [
        23,
        23
      ],
      "native_record_sha256": "977b049747133d660bb560479087def03153e1dd7e4d16ef21733f2a272c0268",
      "normalized_character_range": [
        3403,
        3448
      ],
      "normalized_utf8_byte_range": [
        3403,
        3448
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
      "source_file": {
        "archive": "source",
        "bytes": 34607,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
        "sha256": "6688bdb15e34fba8f412815979df92494ff9018d15f4c8b8661e0ada9b607d2d"
      },
      "type": "solution"
    },
    {
      "content_bytes": 38,
      "content_sha256": "7a32d1a7b0fa94165f56e0419cd153bb33261fbe2a8fef3351980c027ae90c7c",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-002",
      "label": "exsol:11.2",
      "line_range": [
        44,
        44
      ],
      "native_record_sha256": "792bb60c67a3dc06b30eee664141f5ac58ff255d92196b0287a0755bbe5c318f",
      "normalized_character_range": [
        5047,
        5085
      ],
      "normalized_utf8_byte_range": [
        5047,
        5085
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
      "source_file": {
        "archive": "source",
        "bytes": 34607,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
        "sha256": "6688bdb15e34fba8f412815979df92494ff9018d15f4c8b8661e0ada9b607d2d"
      },
      "type": "solution"
    },
    {
      "content_bytes": 45,
      "content_sha256": "2ba380e98d9a8c6088c062e7b5ff71865384937d4fd644ab447b563cfad27f8b",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-003",
      "label": "exsol:11.3",
      "line_range": [
        58,
        58
      ],
      "native_record_sha256": "3dcc8226093647c5e991049b4a943e27f729efdd0956f1438805c50b111526c3",
      "normalized_character_range": [
        5666,
        5711
      ],
      "normalized_utf8_byte_range": [
        5666,
        5711
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
      "source_file": {
        "archive": "source",
        "bytes": 34607,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
        "sha256": "6688bdb15e34fba8f412815979df92494ff9018d15f4c8b8661e0ada9b607d2d"
      },
      "type": "solution"
    },
    {
      "content_bytes": 37,
      "content_sha256": "ffe9ff43e998568f0a5d783cbe4401b1648a60a742a3f1beacb851b98e052c67",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-004",
      "label": "exsol:11.4",
      "line_range": [
        73,
        73
      ],
      "native_record_sha256": "2dd37b6e555c704e74fd5bcbdfb88fe4f2d191febb9e3fd6021bc24144195317",
      "normalized_character_range": [
        6696,
        6733
      ],
      "normalized_utf8_byte_range": [
        6696,
        6733
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
      "source_file": {
        "archive": "source",
        "bytes": 34607,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
        "sha256": "6688bdb15e34fba8f412815979df92494ff9018d15f4c8b8661e0ada9b607d2d"
      },
      "type": "solution"
    },
    {
      "content_bytes": 53,
      "content_sha256": "f2798cfd2c77dc2997bb6dd9f050802e44873fedc941537b03d364fff9047786",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-005",
      "label": "exsol:11.5",
      "line_range": [
        83,
        83
      ],
      "native_record_sha256": "93fd5825cb2464fb2d465dae54285aa3e60945519445787eb470643b6f8d313e",
      "normalized_character_range": [
        7643,
        7696
      ],
      "normalized_utf8_byte_range": [
        7643,
        7696
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
      "source_file": {
        "archive": "source",
        "bytes": 34607,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
        "sha256": "6688bdb15e34fba8f412815979df92494ff9018d15f4c8b8661e0ada9b607d2d"
      },
      "type": "solution"
    },
    {
      "content_bytes": 49,
      "content_sha256": "2cb5987506134dd183876113f06310d7b8b38add98917297ada5377b5c3f89cd",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-006",
      "label": "exsol:11.6",
      "line_range": [
        101,
        101
      ],
      "native_record_sha256": "4af7e3bfbcda6961562ce9ad6cf56e7064d0d31614bdff269e59e3310d66326b",
      "normalized_character_range": [
        9086,
        9135
      ],
      "normalized_utf8_byte_range": [
        9086,
        9135
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
      "source_file": {
        "archive": "source",
        "bytes": 34607,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
        "sha256": "6688bdb15e34fba8f412815979df92494ff9018d15f4c8b8661e0ada9b607d2d"
      },
      "type": "solution"
    },
    {
      "content_bytes": 57,
      "content_sha256": "f0a3cebb109cffd7c2407c0b4cc07a877ab036bce64a9a247ad1b5ad7b152732",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-007",
      "label": "exsol:11.7",
      "line_range": [
        130,
        130
      ],
      "native_record_sha256": "6785d180ea707805d1daa146f97a92ea7f7ba95e7144272fdb0f419922ca5046",
      "normalized_character_range": [
        11134,
        11191
      ],
      "normalized_utf8_byte_range": [
        11134,
        11191
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
      "source_file": {
        "archive": "source",
        "bytes": 34607,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
        "sha256": "6688bdb15e34fba8f412815979df92494ff9018d15f4c8b8661e0ada9b607d2d"
      },
      "type": "solution"
    },
    {
      "content_bytes": 47,
      "content_sha256": "7ad381661793a54c0722cfd7a4000f0dce8b9c2151ea875ddecb14c3073f91f9",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-008",
      "label": "exsol:11.8",
      "line_range": [
        139,
        139
      ],
      "native_record_sha256": "af7b2d3daf867caf991b9d62d93715dfab6755d288044fcb0fd0eddeba6de3e7",
      "normalized_character_range": [
        13145,
        13192
      ],
      "normalized_utf8_byte_range": [
        13145,
        13192
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
      "source_file": {
        "archive": "source",
        "bytes": 34607,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
        "sha256": "6688bdb15e34fba8f412815979df92494ff9018d15f4c8b8661e0ada9b607d2d"
      },
      "type": "solution"
    },
    {
      "content_bytes": 45,
      "content_sha256": "15e5d3c95bb2ad52c846f8f6ab133048e8ad855be25e9c7f3c3f1bc7f1e679cc",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-009",
      "label": "exsol:11.9",
      "line_range": [
        162,
        162
      ],
      "native_record_sha256": "9f2b638df3e640cb9797a1a22f26adaa19feb9528598fa6776ed90e11457f7b6",
      "normalized_character_range": [
        15464,
        15509
      ],
      "normalized_utf8_byte_range": [
        15464,
        15509
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
      "source_file": {
        "archive": "source",
        "bytes": 34607,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
        "sha256": "6688bdb15e34fba8f412815979df92494ff9018d15f4c8b8661e0ada9b607d2d"
      },
      "type": "solution"
    },
    {
      "content_bytes": 41,
      "content_sha256": "15cfdef345dc826d4066e2c0a8b8491e4a630fa961d0ebc055b0b8ec6b3c499b",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-010",
      "label": "exsol:11.10",
      "line_range": [
        181,
        181
      ],
      "native_record_sha256": "066e14cd1c39afc2294b26155c76cd3a44c0c45214cee27282e38b503d8d4f65",
      "normalized_character_range": [
        16670,
        16711
      ],
      "normalized_utf8_byte_range": [
        16670,
        16711
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
      "source_file": {
        "archive": "source",
        "bytes": 34607,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
        "sha256": "6688bdb15e34fba8f412815979df92494ff9018d15f4c8b8661e0ada9b607d2d"
      },
      "type": "solution"
    },
    {
      "content_bytes": 62,
      "content_sha256": "2862c3af85b56d2d43a508aea12213f84fba72a587a849498b7755bac42904e6",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-011",
      "label": "exsol:11.11",
      "line_range": [
        200,
        200
      ],
      "native_record_sha256": "48b9f8ee95be918be595819644fc831f8be9c524c8c0e07c66e2267a158c766b",
      "normalized_character_range": [
        18022,
        18084
      ],
      "normalized_utf8_byte_range": [
        18022,
        18084
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
      "source_file": {
        "archive": "source",
        "bytes": 34607,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
        "sha256": "6688bdb15e34fba8f412815979df92494ff9018d15f4c8b8661e0ada9b607d2d"
      },
      "type": "solution"
    },
    {
      "content_bytes": 51,
      "content_sha256": "907063843cd2eb486d6155f5d4bf586c23db32dbc5862596042f74a5a1867a45",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-012",
      "label": "exsol:11.12",
      "line_range": [
        217,
        217
      ],
      "native_record_sha256": "352f87315c7dd32d4015a63d0dc736d45c54a3e2b58df75edb35614412abdbb4",
      "normalized_character_range": [
        20631,
        20682
      ],
      "normalized_utf8_byte_range": [
        20631,
        20682
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
      "source_file": {
        "archive": "source",
        "bytes": 34607,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
        "sha256": "6688bdb15e34fba8f412815979df92494ff9018d15f4c8b8661e0ada9b607d2d"
      },
      "type": "solution"
    },
    {
      "content_bytes": 60,
      "content_sha256": "87c4e10908b84304e7d0a68a8edf9b9949240a17d72edacc01dc62306e6e2e07",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-013",
      "label": "exsol:11.13",
      "line_range": [
        237,
        237
      ],
      "native_record_sha256": "7eb751c5a117b77d55d6d20f3ca9df1fdc1698bda73417a1b2be398809460469",
      "normalized_character_range": [
        22278,
        22338
      ],
      "normalized_utf8_byte_range": [
        22278,
        22338
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
      "source_file": {
        "archive": "source",
        "bytes": 34607,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
        "sha256": "6688bdb15e34fba8f412815979df92494ff9018d15f4c8b8661e0ada9b607d2d"
      },
      "type": "solution"
    },
    {
      "content_bytes": 57,
      "content_sha256": "6e3a7f9687957a38442350e406123d37fdc7826c22db3add399d1228bfa377a0",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-014",
      "label": "exsol:11.14",
      "line_range": [
        255,
        255
      ],
      "native_record_sha256": "cfcff3331db5a2448cddfafcf9a2883955bfd33880981071452d0eec7763c863",
      "normalized_character_range": [
        24495,
        24552
      ],
      "normalized_utf8_byte_range": [
        24495,
        24552
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
      "source_file": {
        "archive": "source",
        "bytes": 34607,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
        "sha256": "6688bdb15e34fba8f412815979df92494ff9018d15f4c8b8661e0ada9b607d2d"
      },
      "type": "solution"
    },
    {
      "content_bytes": 49,
      "content_sha256": "c45a1eeac6261c4e371b76571ac91c34921003c3efbb33322de1bf74ba32496c",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-015",
      "label": "exsol:11.15",
      "line_range": [
        264,
        264
      ],
      "native_record_sha256": "11f241f42c9c8a9e84a9a3aaecaacdc61f464e2e12c874fa5347f5edc0412917",
      "normalized_character_range": [
        26561,
        26610
      ],
      "normalized_utf8_byte_range": [
        26561,
        26610
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
      "source_file": {
        "archive": "source",
        "bytes": 34607,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
        "sha256": "6688bdb15e34fba8f412815979df92494ff9018d15f4c8b8661e0ada9b607d2d"
      },
      "type": "solution"
    },
    {
      "content_bytes": 55,
      "content_sha256": "a7602e26576d00971aed708775c53f0605c988f547ef86b7c79e77025ae356bd",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-016",
      "label": "exsol:11.16",
      "line_range": [
        275,
        275
      ],
      "native_record_sha256": "f076f27209ca9a73b234fa2da6c34266cfc7b65a1123770cf1cb90a4aacf837e",
      "normalized_character_range": [
        27682,
        27737
      ],
      "normalized_utf8_byte_range": [
        27682,
        27737
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
      "source_file": {
        "archive": "source",
        "bytes": 34607,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
        "sha256": "6688bdb15e34fba8f412815979df92494ff9018d15f4c8b8661e0ada9b607d2d"
      },
      "type": "solution"
    },
    {
      "content_bytes": 102,
      "content_sha256": "0386594194af83e6f7045035d35c12ec0da0bc3be3cb2719ce57f4169de6f65d",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-017",
      "label": "exsol:11.17",
      "line_range": [
        316,
        316
      ],
      "native_record_sha256": "fef026ec466e43b1dbf7702f90127ea4fb2ef39e67452f2b06a277de8537fea6",
      "normalized_character_range": [
        30902,
        31004
      ],
      "normalized_utf8_byte_range": [
        30902,
        31004
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
      "source_file": {
        "archive": "source",
        "bytes": 34607,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch11.tex",
        "sha256": "6688bdb15e34fba8f412815979df92494ff9018d15f4c8b8661e0ada9b607d2d"
      },
      "type": "solution"
    },
    {
      "content_bytes": 914,
      "content_sha256": "7ab814cfbf47e98d1ec9f4d7d0aa0a8875d6bcf469866d1e7f80c96cc4a1ae46",
      "environment": "ex",
      "id": "unit.r017.book1.ch11.text-a.ex-001",
      "label": "ex:dual-2x2-warmup",
      "line_range": [
        1058,
        1075
      ],
      "native_record_sha256": "0394df5e2efeed37ef329272ded77ca2ba6855d2cac0c6e59f2a43b2a11e97db",
      "normalized_character_range": [
        45407,
        46321
      ],
      "normalized_utf8_byte_range": [
        45407,
        46321
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
      "source_file": {
        "archive": "source",
        "bytes": 54574,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
        "sha256": "ce71b6225b7c96fd52bb9c5df2718d6a2355a0482c4aec4350b0b1f0d5d34ec1"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 392,
      "content_sha256": "2a74ade891733e9b92e05eb06f5a0912339f4bae1d6c883a28643a0509e74e0b",
      "environment": "ex",
      "id": "unit.r017.book1.ch11.text-a.ex-002",
      "label": "ex:formulate-dual",
      "line_range": [
        1077,
        1090
      ],
      "native_record_sha256": "965889562fb730fc8f82d35be82581a1e1392483d41891991c3d3538f4250d34",
      "normalized_character_range": [
        46323,
        46715
      ],
      "normalized_utf8_byte_range": [
        46323,
        46715
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
      "source_file": {
        "archive": "source",
        "bytes": 54574,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
        "sha256": "ce71b6225b7c96fd52bb9c5df2718d6a2355a0482c4aec4350b0b1f0d5d34ec1"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 918,
      "content_sha256": "428c1602c7e26759fcabf5ba0bb26557f34f8005374e6679ad13c337869b9b20",
      "environment": "ex",
      "id": "unit.r017.book1.ch11.text-a.ex-003",
      "label": "ex:weak-duality-check",
      "line_range": [
        1092,
        1105
      ],
      "native_record_sha256": "1d445f44f07aa5447e4a03403bf3e88e7255a91b46fd5b075017e8c1642a26a6",
      "normalized_character_range": [
        46717,
        47635
      ],
      "normalized_utf8_byte_range": [
        46717,
        47635
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
      "source_file": {
        "archive": "source",
        "bytes": 54574,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
        "sha256": "ce71b6225b7c96fd52bb9c5df2718d6a2355a0482c4aec4350b0b1f0d5d34ec1"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 776,
      "content_sha256": "84d28c6394fdf414191d1afc018dcd312225b750886d18958d757cd20db738f0",
      "environment": "ex",
      "id": "unit.r017.book1.ch11.text-a.ex-004",
      "label": "ex:weak-duality-bound",
      "line_range": [
        1109,
        1127
      ],
      "native_record_sha256": "19f5d8a0e1c04faa7d050bced5232941447b960d164e100e27b9face5ffc1fae",
      "normalized_character_range": [
        47661,
        48437
      ],
      "normalized_utf8_byte_range": [
        47661,
        48437
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
      "source_file": {
        "archive": "source",
        "bytes": 54574,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
        "sha256": "ce71b6225b7c96fd52bb9c5df2718d6a2355a0482c4aec4350b0b1f0d5d34ec1"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 449,
      "content_sha256": "5d91ec2f0ff53383a3222f21c821524ed8c03a91d25829cad337770d06fc1c23",
      "environment": "ex",
      "id": "unit.r017.book1.ch11.text-a.ex-005",
      "label": null,
      "line_range": [
        1129,
        1142
      ],
      "native_record_sha256": "0862396c243ff3bf68ad81df9ecda349ad4626850dd7a945854c5257775d3b0b",
      "normalized_character_range": [
        48439,
        48888
      ],
      "normalized_utf8_byte_range": [
        48439,
        48888
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
      "source_file": {
        "archive": "source",
        "bytes": 54574,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
        "sha256": "ce71b6225b7c96fd52bb9c5df2718d6a2355a0482c4aec4350b0b1f0d5d34ec1"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1097,
      "content_sha256": "4accc39cd3af4c13bdcd5b361b0997ab28f688514c5f19f5b9f66097c5337227",
      "environment": "ex",
      "id": "unit.r017.book1.ch11.text-a.ex-006",
      "label": null,
      "line_range": [
        1144,
        1166
      ],
      "native_record_sha256": "68945efa6372764daeebce069e14c96103400b001d2e36c875e986072ac96752",
      "normalized_character_range": [
        48890,
        49987
      ],
      "normalized_utf8_byte_range": [
        48890,
        49987
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
      "source_file": {
        "archive": "source",
        "bytes": 54574,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
        "sha256": "ce71b6225b7c96fd52bb9c5df2718d6a2355a0482c4aec4350b0b1f0d5d34ec1"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 922,
      "content_sha256": "f010d77fdaee1c883327c018d5b8357e3465488d4c8b14111a6cf91ee4c9dcdf",
      "environment": "ex",
      "id": "unit.r017.book1.ch11.text-a.ex-007",
      "label": null,
      "line_range": [
        1170,
        1178
      ],
      "native_record_sha256": "5a05f9b5cd7ad164e94ce1134e8934dd5613338ea4a08c1a8af6a400b237bad4",
      "normalized_character_range": [
        50020,
        50942
      ],
      "normalized_utf8_byte_range": [
        50020,
        50942
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
      "source_file": {
        "archive": "source",
        "bytes": 54574,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
        "sha256": "ce71b6225b7c96fd52bb9c5df2718d6a2355a0482c4aec4350b0b1f0d5d34ec1"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 670,
      "content_sha256": "67bb5fbcc9cd8e8a7d9734e2648deca0b3a3e5eaee6615ff3b61e822a7b04de0",
      "environment": "ex",
      "id": "unit.r017.book1.ch11.text-a.ex-008",
      "label": null,
      "line_range": [
        1180,
        1196
      ],
      "native_record_sha256": "3c68a4b92a13febd09e5519f90433e0d51c790a109c7ae5cbba86259f5da43f4",
      "normalized_character_range": [
        50944,
        51614
      ],
      "normalized_utf8_byte_range": [
        50944,
        51614
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
      "source_file": {
        "archive": "source",
        "bytes": 54574,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
        "sha256": "ce71b6225b7c96fd52bb9c5df2718d6a2355a0482c4aec4350b0b1f0d5d34ec1"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 668,
      "content_sha256": "7fc78e1fcc1f3cf40532b5e76d5bf2076ec333ccfd53020a499a0c060f4811c6",
      "environment": "ex",
      "id": "unit.r017.book1.ch11.text-a.ex-009",
      "label": "ex:dual-of-dual",
      "line_range": [
        1200,
        1210
      ],
      "native_record_sha256": "b6f148b6ed7d41f621bbf795ce7e214ff6f6f8c8be745bdd076d0cd56050f544",
      "normalized_character_range": [
        51645,
        52313
      ],
      "normalized_utf8_byte_range": [
        51645,
        52313
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
      "source_file": {
        "archive": "source",
        "bytes": 54574,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
        "sha256": "ce71b6225b7c96fd52bb9c5df2718d6a2355a0482c4aec4350b0b1f0d5d34ec1"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 393,
      "content_sha256": "3acb81573ae5a494a7535248652af73a56d46aa62642fa7de2a3b02609ad853a",
      "environment": "learningcheckpoint",
      "id": "unit.r017.book1.ch11.text-a.learningcheckpoint-001",
      "label": "lc:duality-certificate",
      "line_range": [
        118,
        120
      ],
      "native_record_sha256": "01751289ff79c4ab6f72e4c9167ff018a5c14529d447b86918d74f698eb8c0b9",
      "normalized_character_range": [
        6911,
        7304
      ],
      "normalized_utf8_byte_range": [
        6911,
        7304
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
      "source_file": {
        "archive": "source",
        "bytes": 54574,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
        "sha256": "ce71b6225b7c96fd52bb9c5df2718d6a2355a0482c4aec4350b0b1f0d5d34ec1"
      },
      "type": "learningcheckpoint"
    },
    {
      "content_bytes": 389,
      "content_sha256": "f355aeef31758c3465197b47b77e1ae8e4ed2b42e5731834b1cd06e909ddbc9f",
      "environment": "learningcheckpoint",
      "id": "unit.r017.book1.ch11.text-a.learningcheckpoint-002",
      "label": "lc:dual-forms",
      "line_range": [
        623,
        629
      ],
      "native_record_sha256": "5fdf0b91f81d639ae7b0d8432246a993c454a81f962168c3b4f46976e28eff09",
      "normalized_character_range": [
        29092,
        29481
      ],
      "normalized_utf8_byte_range": [
        29092,
        29481
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
      "source_file": {
        "archive": "source",
        "bytes": 54574,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
        "sha256": "ce71b6225b7c96fd52bb9c5df2718d6a2355a0482c4aec4350b0b1f0d5d34ec1"
      },
      "type": "learningcheckpoint"
    },
    {
      "content_bytes": 506,
      "content_sha256": "d6ff173055c17a76e649c666b2edb8a052871d91da9c6606081788262e4a3a71",
      "environment": "solution",
      "id": "unit.r017.book1.ch11.text-a.solution-001",
      "label": null,
      "line_range": [
        1214,
        1226
      ],
      "native_record_sha256": "405bd20f884c4d53e41987e2743d920fbf3960bef6a71bdf68df79cc95878ce2",
      "normalized_character_range": [
        52348,
        52854
      ],
      "normalized_utf8_byte_range": [
        52348,
        52854
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
      "source_file": {
        "archive": "source",
        "bytes": 54574,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
        "sha256": "ce71b6225b7c96fd52bb9c5df2718d6a2355a0482c4aec4350b0b1f0d5d34ec1"
      },
      "type": "solution"
    },
    {
      "content_bytes": 709,
      "content_sha256": "9772533590a4c1367ec34166f7f403d3853f652dc747c3316a85f5b03a766555",
      "environment": "solution",
      "id": "unit.r017.book1.ch11.text-a.solution-002",
      "label": null,
      "line_range": [
        1228,
        1233
      ],
      "native_record_sha256": "8a5ae522cf4f500bd035713758d5af28dcd3409113c1e75fbab0ca4957b0503b",
      "normalized_character_range": [
        52856,
        53565
      ],
      "normalized_utf8_byte_range": [
        52856,
        53565
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
      "source_file": {
        "archive": "source",
        "bytes": 54574,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
        "sha256": "ce71b6225b7c96fd52bb9c5df2718d6a2355a0482c4aec4350b0b1f0d5d34ec1"
      },
      "type": "solution"
    },
    {
      "content_bytes": 1006,
      "content_sha256": "ad09a5411f2e79d2299927296a765e5753179ba8efd24ee32f0820ec907ff304",
      "environment": "solution",
      "id": "unit.r017.book1.ch11.text-a.solution-003",
      "label": null,
      "line_range": [
        1235,
        1249
      ],
      "native_record_sha256": "4ad21de2f9b518c954ae4221ad3ef4b757848ae39545aa9f5f3cb03cd5d1a2f2",
      "normalized_character_range": [
        53567,
        54573
      ],
      "normalized_utf8_byte_range": [
        53567,
        54573
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
      "source_file": {
        "archive": "source",
        "bytes": 54574,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
        "sha256": "ce71b6225b7c96fd52bb9c5df2718d6a2355a0482c4aec4350b0b1f0d5d34ec1"
      },
      "type": "solution"
    },
    {
      "content_bytes": 422,
      "content_sha256": "7f7ff718e4902079c004f67395cf9cb41ec60f0db032e493b139e36f23e7c71b",
      "environment": "tryit",
      "id": "unit.r017.book1.ch11.text-a.tryit-001",
      "label": null,
      "line_range": [
        19,
        25
      ],
      "native_record_sha256": "994016bfc4d5ae182798fad06992d96c27fadf504bd8c80289c5b7698b7d8ede",
      "normalized_character_range": [
        548,
        970
      ],
      "normalized_utf8_byte_range": [
        548,
        970
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
      "source_file": {
        "archive": "source",
        "bytes": 54574,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
        "sha256": "ce71b6225b7c96fd52bb9c5df2718d6a2355a0482c4aec4350b0b1f0d5d34ec1"
      },
      "type": "tryit"
    },
    {
      "content_bytes": 905,
      "content_sha256": "20b792b9539c1505a950e4bf41acd4c22d256a8a10dc7c8c156bff161c0321b8",
      "environment": "ex",
      "id": "unit.r017.book1.ch11.text-b.ex-001",
      "label": "ex:cs-warmup-check",
      "line_range": [
        209,
        234
      ],
      "native_record_sha256": "c3c3a1e54d1a5bac5d954b3c41155b1f2af2c8223144b9023af825d58281c66b",
      "normalized_character_range": [
        8501,
        9406
      ],
      "normalized_utf8_byte_range": [
        8501,
        9406
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/complimentary-slackness.tex",
      "source_file": {
        "archive": "source",
        "bytes": 28658,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/complimentary-slackness.tex",
        "sha256": "acf99fe82812fc9ad487bdeb4d8a4e2e46918e0e40bb48edcd1a75d075ebc69a"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 2304,
      "content_sha256": "1143af6911675070a708975b6cde92bbbe9d310a24b73bbb0277b32d71e497af",
      "environment": "ex",
      "id": "unit.r017.book1.ch11.text-b.ex-002",
      "label": "ex:cs-bakery-duality",
      "line_range": [
        238,
        303
      ],
      "native_record_sha256": "77afd08d12e15392f015124a5b6ebefb2e5272d77a51e3f0ffc80e8938045874",
      "normalized_character_range": [
        9432,
        11736
      ],
      "normalized_utf8_byte_range": [
        9432,
        11736
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/complimentary-slackness.tex",
      "source_file": {
        "archive": "source",
        "bytes": 28658,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/complimentary-slackness.tex",
        "sha256": "acf99fe82812fc9ad487bdeb4d8a4e2e46918e0e40bb48edcd1a75d075ebc69a"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1143,
      "content_sha256": "e11ab5a8a2550855e128628fca01cc88d092d3a5c7c9441fe766e9b232734979",
      "environment": "ex",
      "id": "unit.r017.book1.ch11.text-b.ex-003",
      "label": "ex:cs-box-constraints",
      "line_range": [
        305,
        332
      ],
      "native_record_sha256": "b0f51f390dce425a3bce26b03847f63b5475d39a6adadbf851822a469e7f6cf3",
      "normalized_character_range": [
        11738,
        12881
      ],
      "normalized_utf8_byte_range": [
        11738,
        12881
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/complimentary-slackness.tex",
      "source_file": {
        "archive": "source",
        "bytes": 28658,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/complimentary-slackness.tex",
        "sha256": "acf99fe82812fc9ad487bdeb4d8a4e2e46918e0e40bb48edcd1a75d075ebc69a"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 885,
      "content_sha256": "524be29a1962aec7d9e7a8310bc1426fb12c08cc1b587fa039284ab0e4098319",
      "environment": "ex",
      "id": "unit.r017.book1.ch11.text-b.ex-004",
      "label": "ex:cs-dual-guess",
      "line_range": [
        334,
        366
      ],
      "native_record_sha256": "ffb84de66e8e43b93428676974d231ed677e7557497b9ef03f2df7c66400e9a7",
      "normalized_character_range": [
        12883,
        13768
      ],
      "normalized_utf8_byte_range": [
        12883,
        13768
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/complimentary-slackness.tex",
      "source_file": {
        "archive": "source",
        "bytes": 28658,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/complimentary-slackness.tex",
        "sha256": "acf99fe82812fc9ad487bdeb4d8a4e2e46918e0e40bb48edcd1a75d075ebc69a"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 889,
      "content_sha256": "96b0a564cc639a8d5367203d90be65774e206b828cfa49237e8699d723d36160",
      "environment": "ex",
      "id": "unit.r017.book1.ch11.text-b.ex-005",
      "label": null,
      "line_range": [
        370,
        378
      ],
      "native_record_sha256": "f0684b93c5561ce3c5a432543e6cb5091e9bf836516364a757a5222618d7ef64",
      "normalized_character_range": [
        13801,
        14690
      ],
      "normalized_utf8_byte_range": [
        13801,
        14690
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/complimentary-slackness.tex",
      "source_file": {
        "archive": "source",
        "bytes": 28658,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/complimentary-slackness.tex",
        "sha256": "acf99fe82812fc9ad487bdeb4d8a4e2e46918e0e40bb48edcd1a75d075ebc69a"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1089,
      "content_sha256": "96265bc1b4be8d5011fe51aca2c7a0c20286d54a949254941c598f47deed0de5",
      "environment": "ex",
      "id": "unit.r017.book1.ch11.text-b.ex-006",
      "label": "ex:cs-claimed-optimal",
      "line_range": [
        380,
        414
      ],
      "native_record_sha256": "ec9450c6aab10a6b6c839e40145755913ee2e18fe8703b06f66417c290c1ab55",
      "normalized_character_range": [
        14692,
        15781
      ],
      "normalized_utf8_byte_range": [
        14692,
        15781
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/complimentary-slackness.tex",
      "source_file": {
        "archive": "source",
        "bytes": 28658,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/complimentary-slackness.tex",
        "sha256": "acf99fe82812fc9ad487bdeb4d8a4e2e46918e0e40bb48edcd1a75d075ebc69a"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 3129,
      "content_sha256": "5aac6f51aeeb4a2dfc1b595991baeb1ceb0c7b95e718f555aa525cef542bb2be",
      "environment": "ex",
      "id": "unit.r017.book1.ch11.text-b.ex-007",
      "label": "tab:complimentary-slackness-tab01",
      "line_range": [
        418,
        495
      ],
      "native_record_sha256": "a916dcd43c4b8abc48579b96707a3b69338b62a5f26649a0eb504d7745e7ef86",
      "normalized_character_range": [
        15812,
        18941
      ],
      "normalized_utf8_byte_range": [
        15812,
        18941
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/complimentary-slackness.tex",
      "source_file": {
        "archive": "source",
        "bytes": 28658,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/complimentary-slackness.tex",
        "sha256": "acf99fe82812fc9ad487bdeb4d8a4e2e46918e0e40bb48edcd1a75d075ebc69a"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 3371,
      "content_sha256": "60c1eae8e359b8cd8fb3b228cfd59017a077c30c069105c729645d286ab5d09c",
      "environment": "ex",
      "id": "unit.r017.book1.ch11.text-b.ex-008",
      "label": "tab:complimentary-slackness-tab03",
      "line_range": [
        497,
        589
      ],
      "native_record_sha256": "16dc5de41a515b84d4494d0d5165a603f3ae5b898ceb707643a032a0f02f6006",
      "normalized_character_range": [
        18943,
        22314
      ],
      "normalized_utf8_byte_range": [
        18943,
        22314
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/complimentary-slackness.tex",
      "source_file": {
        "archive": "source",
        "bytes": 28658,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/complimentary-slackness.tex",
        "sha256": "acf99fe82812fc9ad487bdeb4d8a4e2e46918e0e40bb48edcd1a75d075ebc69a"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 332,
      "content_sha256": "f8cb2e2c85a86d21d222f6c5c57f21ecc5adf26a8d835ffb825670cbed6c0df9",
      "environment": "learningcheckpoint",
      "id": "unit.r017.book1.ch11.text-b.learningcheckpoint-001",
      "label": "lc:cs-leftover",
      "line_range": [
        116,
        118
      ],
      "native_record_sha256": "a2a0837c1289cdc2ea088eeb344c340008b71b11245f3b806b38e63e5205e26a",
      "normalized_character_range": [
        5399,
        5731
      ],
      "normalized_utf8_byte_range": [
        5399,
        5731
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/complimentary-slackness.tex",
      "source_file": {
        "archive": "source",
        "bytes": 28658,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/complimentary-slackness.tex",
        "sha256": "acf99fe82812fc9ad487bdeb4d8a4e2e46918e0e40bb48edcd1a75d075ebc69a"
      },
      "type": "learningcheckpoint"
    },
    {
      "content_bytes": 1748,
      "content_sha256": "67b13afc1491d0b12df98ce9b5c5b0308a2c3618c51587b292d1e1960fe1c747",
      "environment": "solution",
      "id": "unit.r017.book1.ch11.text-b.solution-001",
      "label": null,
      "line_range": [
        593,
        605
      ],
      "native_record_sha256": "4169ba800d53508e91261e9d3004894d566fe36739a4181b83ba815a368e9ff4",
      "normalized_character_range": [
        22349,
        24097
      ],
      "normalized_utf8_byte_range": [
        22349,
        24097
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/complimentary-slackness.tex",
      "source_file": {
        "archive": "source",
        "bytes": 28658,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/complimentary-slackness.tex",
        "sha256": "acf99fe82812fc9ad487bdeb4d8a4e2e46918e0e40bb48edcd1a75d075ebc69a"
      },
      "type": "solution"
    },
    {
      "content_bytes": 1205,
      "content_sha256": "c656769c2691fbacd800f8cdce0d75bf2a7d4e2d4fce71a5fa8f14f839f59355",
      "environment": "solution",
      "id": "unit.r017.book1.ch11.text-b.solution-002",
      "label": null,
      "line_range": [
        607,
        620
      ],
      "native_record_sha256": "ca5f77a290c3125cdf078e44f2d5ac63b4fbd258bea80480aed6ee818bcb3320",
      "normalized_character_range": [
        24099,
        25304
      ],
      "normalized_utf8_byte_range": [
        24099,
        25304
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/complimentary-slackness.tex",
      "source_file": {
        "archive": "source",
        "bytes": 28658,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/complimentary-slackness.tex",
        "sha256": "acf99fe82812fc9ad487bdeb4d8a4e2e46918e0e40bb48edcd1a75d075ebc69a"
      },
      "type": "solution"
    },
    {
      "content_bytes": 969,
      "content_sha256": "fcbc6bd2ac2619efab71c4331c01d4ebd265d31fd102a57237d26176d1bd5638",
      "environment": "solution",
      "id": "unit.r017.book1.ch11.text-b.solution-003",
      "label": null,
      "line_range": [
        622,
        628
      ],
      "native_record_sha256": "da7c2d34a8b283700933dc24568835fc7e0e5d9fc51f449457f77ffdb9ce19c0",
      "normalized_character_range": [
        25306,
        26275
      ],
      "normalized_utf8_byte_range": [
        25306,
        26275
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/complimentary-slackness.tex",
      "source_file": {
        "archive": "source",
        "bytes": 28658,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/complimentary-slackness.tex",
        "sha256": "acf99fe82812fc9ad487bdeb4d8a4e2e46918e0e40bb48edcd1a75d075ebc69a"
      },
      "type": "solution"
    },
    {
      "content_bytes": 33,
      "content_sha256": "3fbace38c9bf5f09be0b055de239d513201d5ceb3b0aa02fd539aba61071ced1",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch12.solutions-manual.manualsolution-001",
      "label": "exsol:12.1",
      "line_range": [
        24,
        24
      ],
      "native_record_sha256": "f95990190747015177e7341062164e6688ce5681e27ff06056f9cbdda9249bb3",
      "normalized_character_range": [
        1442,
        1475
      ],
      "normalized_utf8_byte_range": [
        1442,
        1475
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch12.tex",
      "source_file": {
        "archive": "source",
        "bytes": 21613,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch12.tex",
        "sha256": "349a413041f0bd97a746604b01414e90f93cdbbc9f90d33a0215976a7c42dcf8"
      },
      "type": "solution"
    },
    {
      "content_bytes": 40,
      "content_sha256": "e4179a961e6a7fdb1b969606a9aa08a0e7faf6a7071702bf34b040d1b9fde8ce",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch12.solutions-manual.manualsolution-002",
      "label": "exsol:12.2",
      "line_range": [
        71,
        71
      ],
      "native_record_sha256": "610696c3256acf7c7cf3d44b32de99f7a937d85a9a15a707ed105a2b4728d28a",
      "normalized_character_range": [
        3004,
        3044
      ],
      "normalized_utf8_byte_range": [
        3004,
        3044
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch12.tex",
      "source_file": {
        "archive": "source",
        "bytes": 21613,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch12.tex",
        "sha256": "349a413041f0bd97a746604b01414e90f93cdbbc9f90d33a0215976a7c42dcf8"
      },
      "type": "solution"
    },
    {
      "content_bytes": 37,
      "content_sha256": "05f2ae48b6f5c792fd31b8b7f3f51b6a11306956ab63eb7d642d83b105b2827b",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch12.solutions-manual.manualsolution-003",
      "label": "exsol:12.3",
      "line_range": [
        119,
        119
      ],
      "native_record_sha256": "3f6c9b8dc6e0136110d73b25a74c1fb5258df469cd54b40490e2089b1bcb7a77",
      "normalized_character_range": [
        4475,
        4512
      ],
      "normalized_utf8_byte_range": [
        4475,
        4512
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch12.tex",
      "source_file": {
        "archive": "source",
        "bytes": 21613,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch12.tex",
        "sha256": "349a413041f0bd97a746604b01414e90f93cdbbc9f90d33a0215976a7c42dcf8"
      },
      "type": "solution"
    },
    {
      "content_bytes": 47,
      "content_sha256": "65f93565d86f807ef30c452f8a09c009276cc408f2695078e8430ae50f79d19a",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch12.solutions-manual.manualsolution-004",
      "label": "exsol:12.4",
      "line_range": [
        191,
        191
      ],
      "native_record_sha256": "bf8d2ed5663b8f55cf7dd291d0246bb40b1960e604afcb9edd203304c53e05f8",
      "normalized_character_range": [
        6748,
        6795
      ],
      "normalized_utf8_byte_range": [
        6748,
        6795
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch12.tex",
      "source_file": {
        "archive": "source",
        "bytes": 21613,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch12.tex",
        "sha256": "349a413041f0bd97a746604b01414e90f93cdbbc9f90d33a0215976a7c42dcf8"
      },
      "type": "solution"
    },
    {
      "content_bytes": 66,
      "content_sha256": "57aea06483808691664b72e31780492fa01d6dcbe8fbd92f5baeddd2acdf29da",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch12.solutions-manual.manualsolution-005",
      "label": "exsol:12.5",
      "line_range": [
        263,
        263
      ],
      "native_record_sha256": "1b7bf475252f3fc426cc18397ce0aaf51fc3434cf63c9a2fee8b85ed052f118a",
      "normalized_character_range": [
        9091,
        9157
      ],
      "normalized_utf8_byte_range": [
        9091,
        9157
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch12.tex",
      "source_file": {
        "archive": "source",
        "bytes": 21613,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch12.tex",
        "sha256": "349a413041f0bd97a746604b01414e90f93cdbbc9f90d33a0215976a7c42dcf8"
      },
      "type": "solution"
    },
    {
      "content_bytes": 39,
      "content_sha256": "75d576a65809fe6f0ae86d298b60241f07d8821380edb586e9d0881a5ae2e2e6",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch12.solutions-manual.manualsolution-006",
      "label": "exsol:12.6",
      "line_range": [
        314,
        314
      ],
      "native_record_sha256": "824b4acd86997f4836d2e01b318455839b191f42d93d388b8cbc3d53f5c21b57",
      "normalized_character_range": [
        10983,
        11022
      ],
      "normalized_utf8_byte_range": [
        10983,
        11022
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch12.tex",
      "source_file": {
        "archive": "source",
        "bytes": 21613,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch12.tex",
        "sha256": "349a413041f0bd97a746604b01414e90f93cdbbc9f90d33a0215976a7c42dcf8"
      },
      "type": "solution"
    },
    {
      "content_bytes": 39,
      "content_sha256": "073a8de432229fea1d06652c9421e1eaba328d91c95c1a0e9002a9eb1c202b83",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch12.solutions-manual.manualsolution-007",
      "label": "exsol:12.7",
      "line_range": [
        364,
        364
      ],
      "native_record_sha256": "fc09f34b9c9147e0f83fd6ded4b1b717df0a5e6280605415346a8bcc41a49557",
      "normalized_character_range": [
        13004,
        13043
      ],
      "normalized_utf8_byte_range": [
        13004,
        13043
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch12.tex",
      "source_file": {
        "archive": "source",
        "bytes": 21613,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch12.tex",
        "sha256": "349a413041f0bd97a746604b01414e90f93cdbbc9f90d33a0215976a7c42dcf8"
      },
      "type": "solution"
    },
    {
      "content_bytes": 49,
      "content_sha256": "d9963e31cc4107489470b1592c08fba350145675d95fc91c34fe84ee07fa6e87",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch12.solutions-manual.manualsolution-008",
      "label": "exsol:12.8",
      "line_range": [
        433,
        433
      ],
      "native_record_sha256": "630026526fa34663fe688fbe5e2b81d9a686686398683ad36bf0619843b3c1ad",
      "normalized_character_range": [
        16092,
        16141
      ],
      "normalized_utf8_byte_range": [
        16092,
        16141
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch12.tex",
      "source_file": {
        "archive": "source",
        "bytes": 21613,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch12.tex",
        "sha256": "349a413041f0bd97a746604b01414e90f93cdbbc9f90d33a0215976a7c42dcf8"
      },
      "type": "solution"
    },
    {
      "content_bytes": 49,
      "content_sha256": "754ef0886861093a5557516f76656f1a16f9f8634502f0b146f1a0be17e6b9f0",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch12.solutions-manual.manualsolution-009",
      "label": "exsol:12.9",
      "line_range": [
        490,
        490
      ],
      "native_record_sha256": "5cfe563582a1550c23dd7965836bc7b184ca49d014c195314ff12eb25414d59b",
      "normalized_character_range": [
        18524,
        18573
      ],
      "normalized_utf8_byte_range": [
        18524,
        18573
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch12.tex",
      "source_file": {
        "archive": "source",
        "bytes": 21613,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch12.tex",
        "sha256": "349a413041f0bd97a746604b01414e90f93cdbbc9f90d33a0215976a7c42dcf8"
      },
      "type": "solution"
    },
    {
      "content_bytes": 469,
      "content_sha256": "3e7eb2a7c6feb42782118bf31ebd8361740d68d3fdc86b070d29a912b59a2b36",
      "environment": "ex",
      "id": "unit.r017.book1.ch12.text.ex-001",
      "label": "ex:pulp-new-profit",
      "line_range": [
        1366,
        1370
      ],
      "native_record_sha256": "e058b266273641b015996cc4e229414b6cb950a4c1d1beb87ccabb8fc9790439",
      "normalized_character_range": [
        48010,
        48479
      ],
      "normalized_utf8_byte_range": [
        48010,
        48479
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-python-book1.tex",
      "source_file": {
        "archive": "source",
        "bytes": 57796,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-python-book1.tex",
        "sha256": "d4e0649df95b71b4b22c49bb133fb4bd9cf8d3407a8e0d5e3fe0a665c0975261"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 515,
      "content_sha256": "6eb404b9c844ef47807b3819ff208f93384b7337ce9dc93d4de504c16ce2bc89",
      "environment": "ex",
      "id": "unit.r017.book1.ch12.text.ex-002",
      "label": "ex:pulp-translate",
      "line_range": [
        1372,
        1383
      ],
      "native_record_sha256": "6d1123997c68386aa2bd0d05fc9186ae53c58106f9b4e3ff2f1443973674dc8c",
      "normalized_character_range": [
        48481,
        48996
      ],
      "normalized_utf8_byte_range": [
        48481,
        48996
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-python-book1.tex",
      "source_file": {
        "archive": "source",
        "bytes": 57796,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-python-book1.tex",
        "sha256": "d4e0649df95b71b4b22c49bb133fb4bd9cf8d3407a8e0d5e3fe0a665c0975261"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 539,
      "content_sha256": "e0bbdaf37c3efa83787ae3c9344565540f7ccc8f3181a4024fe25f60b27ab225",
      "environment": "ex",
      "id": "unit.r017.book1.ch12.text.ex-003",
      "label": "ex:pulp-transport-data",
      "line_range": [
        1385,
        1389
      ],
      "native_record_sha256": "e306577036cad0a1e4a0e7c263a80fb45a9e21ec52ccf1fbde187830ae887fbf",
      "normalized_character_range": [
        48998,
        49537
      ],
      "normalized_utf8_byte_range": [
        48998,
        49537
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-python-book1.tex",
      "source_file": {
        "archive": "source",
        "bytes": 57796,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-python-book1.tex",
        "sha256": "d4e0649df95b71b4b22c49bb133fb4bd9cf8d3407a8e0d5e3fe0a665c0975261"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 880,
      "content_sha256": "021d1a293acca45e37df2f61d3940a5b2a408b28be3296d1073735dfd472822e",
      "environment": "ex",
      "id": "unit.r017.book1.ch12.text.ex-004",
      "label": "ex:pulp-transport-model",
      "line_range": [
        1393,
        1411
      ],
      "native_record_sha256": "e2f749bd865ddcfe52274803a67202ecdd3e06946541ab5c1146228c37431830",
      "normalized_character_range": [
        49560,
        50440
      ],
      "normalized_utf8_byte_range": [
        49560,
        50440
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-python-book1.tex",
      "source_file": {
        "archive": "source",
        "bytes": 57796,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-python-book1.tex",
        "sha256": "d4e0649df95b71b4b22c49bb133fb4bd9cf8d3407a8e0d5e3fe0a665c0975261"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 844,
      "content_sha256": "6fe0db304de22082b1df03dd688f903a73485aca5524dd11937169068549b4b9",
      "environment": "ex",
      "id": "unit.r017.book1.ch12.text.ex-005",
      "label": "ex:pulp-duals",
      "line_range": [
        1413,
        1427
      ],
      "native_record_sha256": "1fa5789ecabfba62e5d95c5dcd39e6a14160572b925d76431e156db45e5e5916",
      "normalized_character_range": [
        50442,
        51286
      ],
      "normalized_utf8_byte_range": [
        50442,
        51286
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-python-book1.tex",
      "source_file": {
        "archive": "source",
        "bytes": 57796,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-python-book1.tex",
        "sha256": "d4e0649df95b71b4b22c49bb133fb4bd9cf8d3407a8e0d5e3fe0a665c0975261"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 740,
      "content_sha256": "768c96826571fed07a692850518d38e857353f9357677c3bd06fecc9d658939e",
      "environment": "ex",
      "id": "unit.r017.book1.ch12.text.ex-006",
      "label": "ex:pulp-epsilon",
      "line_range": [
        1429,
        1433
      ],
      "native_record_sha256": "742471d09b800c241b871a1f5b24525bd84c87b31cab19cb2686d80af85f05d5",
      "normalized_character_range": [
        51288,
        52028
      ],
      "normalized_utf8_byte_range": [
        51288,
        52028
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-python-book1.tex",
      "source_file": {
        "archive": "source",
        "bytes": 57796,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-python-book1.tex",
        "sha256": "d4e0649df95b71b4b22c49bb133fb4bd9cf8d3407a8e0d5e3fe0a665c0975261"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 828,
      "content_sha256": "363e4dab03b7e466aff39b79b9f1adf5f9dcb11f7e1d1fb00e2a6d1963284825",
      "environment": "ex",
      "id": "unit.r017.book1.ch12.text.ex-007",
      "label": "ex:pulp-missing-constraint",
      "line_range": [
        1437,
        1446
      ],
      "native_record_sha256": "30d046307186ae7cb9b30186c009bd1aa4ef5256ae120cb83eaa512d15931734",
      "normalized_character_range": [
        52064,
        52892
      ],
      "normalized_utf8_byte_range": [
        52064,
        52892
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-python-book1.tex",
      "source_file": {
        "archive": "source",
        "bytes": 57796,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-python-book1.tex",
        "sha256": "d4e0649df95b71b4b22c49bb133fb4bd9cf8d3407a8e0d5e3fe0a665c0975261"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 804,
      "content_sha256": "b0bd0b34e9ae59db9a7c6ec95713a95953495dea0014961d68072e403dd92cc4",
      "environment": "ex",
      "id": "unit.r017.book1.ch12.text.ex-008",
      "label": "ex:pulp-sense",
      "line_range": [
        1448,
        1457
      ],
      "native_record_sha256": "4b98e0ee37f00212b81b26b35bcb6c5933236e47f57006d5a15d415b3d3ee9b9",
      "normalized_character_range": [
        52894,
        53698
      ],
      "normalized_utf8_byte_range": [
        52894,
        53698
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-python-book1.tex",
      "source_file": {
        "archive": "source",
        "bytes": 57796,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-python-book1.tex",
        "sha256": "d4e0649df95b71b4b22c49bb133fb4bd9cf8d3407a8e0d5e3fe0a665c0975261"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 915,
      "content_sha256": "76366b75f87c2ad326d96def356160cf1421e6dd631990bf81ca247cf0123902",
      "environment": "ex",
      "id": "unit.r017.book1.ch12.text.ex-009",
      "label": "ex:pulp-rhs-sweep",
      "line_range": [
        1461,
        1470
      ],
      "native_record_sha256": "6c1fbe12f19917cbc6ccd240f33a43730ff11c3cec8f945661348a87e1457dc7",
      "normalized_character_range": [
        53726,
        54641
      ],
      "normalized_utf8_byte_range": [
        53726,
        54641
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-python-book1.tex",
      "source_file": {
        "archive": "source",
        "bytes": 57796,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-python-book1.tex",
        "sha256": "d4e0649df95b71b4b22c49bb133fb4bd9cf8d3407a8e0d5e3fe0a665c0975261"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 762,
      "content_sha256": "31ae28f32a0f82d63527e04861ca172ead0e7573068899072d35e7b75ce4bcff",
      "environment": "solution",
      "id": "unit.r017.book1.ch12.text.solution-001",
      "label": null,
      "line_range": [
        1474,
        1495
      ],
      "native_record_sha256": "e24a1291def0d4ffb15aec48350c86598575f141c8a457e5e5b3d1fe57d726ec",
      "normalized_character_range": [
        54677,
        55439
      ],
      "normalized_utf8_byte_range": [
        54677,
        55439
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-python-book1.tex",
      "source_file": {
        "archive": "source",
        "bytes": 57796,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-python-book1.tex",
        "sha256": "d4e0649df95b71b4b22c49bb133fb4bd9cf8d3407a8e0d5e3fe0a665c0975261"
      },
      "type": "solution"
    },
    {
      "content_bytes": 809,
      "content_sha256": "20d5f112c556765f6374ff28318bcee813b0e1ffd8ee203d15f6b920b2efc37a",
      "environment": "solution",
      "id": "unit.r017.book1.ch12.text.solution-002",
      "label": null,
      "line_range": [
        1497,
        1506
      ],
      "native_record_sha256": "0a714ddd7ae92041169a9c9b3b2b09a77fa3283fdcf52689b118b54193182e69",
      "normalized_character_range": [
        55441,
        56250
      ],
      "normalized_utf8_byte_range": [
        55441,
        56250
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-python-book1.tex",
      "source_file": {
        "archive": "source",
        "bytes": 57796,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-python-book1.tex",
        "sha256": "d4e0649df95b71b4b22c49bb133fb4bd9cf8d3407a8e0d5e3fe0a665c0975261"
      },
      "type": "solution"
    },
    {
      "content_bytes": 1543,
      "content_sha256": "ed10fc1f2deffe5616343d572c2f50794f1de796c2e34f3cc3293fa661ae1fc8",
      "environment": "solution",
      "id": "unit.r017.book1.ch12.text.solution-003",
      "label": null,
      "line_range": [
        1508,
        1525
      ],
      "native_record_sha256": "4dadbdb020fe597eb5fde290276c79ab7048880f5bc0a4560d0968f99bba8f24",
      "normalized_character_range": [
        56252,
        57795
      ],
      "normalized_utf8_byte_range": [
        56252,
        57795
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-python-book1.tex",
      "source_file": {
        "archive": "source",
        "bytes": 57796,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-python-book1.tex",
        "sha256": "d4e0649df95b71b4b22c49bb133fb4bd9cf8d3407a8e0d5e3fe0a665c0975261"
      },
      "type": "solution"
    },
    {
      "content_bytes": 167,
      "content_sha256": "5e7e75fa0173a2639d576a5cb8f1ca4b75be7eac94d2c35fa7d4f549b928e9d9",
      "environment": "tryit",
      "id": "unit.r017.book1.ch12.text.tryit-001",
      "label": null,
      "line_range": [
        161,
        163
      ],
      "native_record_sha256": "31dc60815c05c4d83203d13dcc7d88ab3dca94da598123fc53f482dd45cb90f8",
      "normalized_character_range": [
        8002,
        8169
      ],
      "normalized_utf8_byte_range": [
        8002,
        8169
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-python-book1.tex",
      "source_file": {
        "archive": "source",
        "bytes": 57796,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-python-book1.tex",
        "sha256": "d4e0649df95b71b4b22c49bb133fb4bd9cf8d3407a8e0d5e3fe0a665c0975261"
      },
      "type": "tryit"
    },
    {
      "content_bytes": 50,
      "content_sha256": "c850938d9d22eb36d1c40974a61e8dfd938be2bb5133b3f9cb828da24bde992c",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch13.solutions-manual.manualsolution-001",
      "label": "exsol:13.1",
      "line_range": [
        27,
        27
      ],
      "native_record_sha256": "c8f22e19ce21a795b69080b42e9416225f3fd01910ac9a23c5a1fb6a1d8a0b19",
      "normalized_character_range": [
        1611,
        1661
      ],
      "normalized_utf8_byte_range": [
        1611,
        1661
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch13.tex",
      "source_file": {
        "archive": "source",
        "bytes": 20246,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch13.tex",
        "sha256": "e44ff5d9166bd4b8178e805ad0d4945144c1dbf731a911790bab781588b0d91a"
      },
      "type": "solution"
    },
    {
      "content_bytes": 45,
      "content_sha256": "4682537de72d96700c3bfee62c819303f71172879a82df561b705ec5d8201912",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch13.solutions-manual.manualsolution-002",
      "label": "exsol:13.2",
      "line_range": [
        39,
        39
      ],
      "native_record_sha256": "1660173dbb30445c6bf0f3729c510aef362beb235f00b5da319f648b23656b46",
      "normalized_character_range": [
        2312,
        2357
      ],
      "normalized_utf8_byte_range": [
        2312,
        2357
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch13.tex",
      "source_file": {
        "archive": "source",
        "bytes": 20246,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch13.tex",
        "sha256": "e44ff5d9166bd4b8178e805ad0d4945144c1dbf731a911790bab781588b0d91a"
      },
      "type": "solution"
    },
    {
      "content_bytes": 48,
      "content_sha256": "7229fe059ac3d1bffb97ab5f9f4ae1c0cf65fb52118f565d94d1e416aedaf59b",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch13.solutions-manual.manualsolution-003",
      "label": "exsol:13.3",
      "line_range": [
        65,
        65
      ],
      "native_record_sha256": "570f9ed9ee0ad9b92a8c9acad96c6da7c57283ca584e6c2d381390402519f888",
      "normalized_character_range": [
        3583,
        3631
      ],
      "normalized_utf8_byte_range": [
        3583,
        3631
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch13.tex",
      "source_file": {
        "archive": "source",
        "bytes": 20246,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch13.tex",
        "sha256": "e44ff5d9166bd4b8178e805ad0d4945144c1dbf731a911790bab781588b0d91a"
      },
      "type": "solution"
    },
    {
      "content_bytes": 73,
      "content_sha256": "fc8bdf6fa1c62fa7a6755caeca41649d34d7aef8e445970d78e919e23037a874",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch13.solutions-manual.manualsolution-004",
      "label": "exsol:13.4",
      "line_range": [
        100,
        100
      ],
      "native_record_sha256": "112c8386688eaeff36d415f4bc030f9283940bba71684228342cf86ca7893bff",
      "normalized_character_range": [
        5194,
        5267
      ],
      "normalized_utf8_byte_range": [
        5194,
        5267
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch13.tex",
      "source_file": {
        "archive": "source",
        "bytes": 20246,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch13.tex",
        "sha256": "e44ff5d9166bd4b8178e805ad0d4945144c1dbf731a911790bab781588b0d91a"
      },
      "type": "solution"
    },
    {
      "content_bytes": 39,
      "content_sha256": "0a5abe68d0b7fdc95fca355868f56fd788f028fcb6d03d141e0c2cfa2dce2faa",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch13.solutions-manual.manualsolution-005",
      "label": "exsol:13.5",
      "line_range": [
        138,
        138
      ],
      "native_record_sha256": "19b1f9d1b90630875138e36061e7298f0fd95c8309066e0dd0f8d1307f7a8e01",
      "normalized_character_range": [
        7508,
        7547
      ],
      "normalized_utf8_byte_range": [
        7508,
        7547
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch13.tex",
      "source_file": {
        "archive": "source",
        "bytes": 20246,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch13.tex",
        "sha256": "e44ff5d9166bd4b8178e805ad0d4945144c1dbf731a911790bab781588b0d91a"
      },
      "type": "solution"
    },
    {
      "content_bytes": 39,
      "content_sha256": "55b8f3edf9d2b1da767341a1fe0dcf0dd1ebc757f0603ba1f0cddec626d2b8c4",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch13.solutions-manual.manualsolution-006",
      "label": "exsol:13.6",
      "line_range": [
        165,
        165
      ],
      "native_record_sha256": "259c97d4b9cc88e5370c15078d8dbd110af9f67debadaf6b1342522a37833f8c",
      "normalized_character_range": [
        8732,
        8771
      ],
      "normalized_utf8_byte_range": [
        8732,
        8771
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch13.tex",
      "source_file": {
        "archive": "source",
        "bytes": 20246,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch13.tex",
        "sha256": "e44ff5d9166bd4b8178e805ad0d4945144c1dbf731a911790bab781588b0d91a"
      },
      "type": "solution"
    },
    {
      "content_bytes": 46,
      "content_sha256": "0ca90e75606f8e8316ff0bcf63a82ae2bc0514173b221eb60ee5975b9871911f",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch13.solutions-manual.manualsolution-007",
      "label": "exsol:13.7",
      "line_range": [
        223,
        223
      ],
      "native_record_sha256": "6c19d365e1b27aceecf934ccb144c121c9143194d07e37b89197a6b962069f51",
      "normalized_character_range": [
        11280,
        11326
      ],
      "normalized_utf8_byte_range": [
        11280,
        11326
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch13.tex",
      "source_file": {
        "archive": "source",
        "bytes": 20246,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch13.tex",
        "sha256": "e44ff5d9166bd4b8178e805ad0d4945144c1dbf731a911790bab781588b0d91a"
      },
      "type": "solution"
    },
    {
      "content_bytes": 34,
      "content_sha256": "3e0826c9d65dbdbc46f710a36a61ed6d824988f40db7b81328ff004398c11acc",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch13.solutions-manual.manualsolution-008",
      "label": "exsol:13.8",
      "line_range": [
        262,
        262
      ],
      "native_record_sha256": "c9b983a75e02ea429f81cdc15a83907bf07198a92a67ffc0b8f9ddbec236b089",
      "normalized_character_range": [
        13244,
        13278
      ],
      "normalized_utf8_byte_range": [
        13244,
        13278
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch13.tex",
      "source_file": {
        "archive": "source",
        "bytes": 20246,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch13.tex",
        "sha256": "e44ff5d9166bd4b8178e805ad0d4945144c1dbf731a911790bab781588b0d91a"
      },
      "type": "solution"
    },
    {
      "content_bytes": 66,
      "content_sha256": "f165fefd5d9465d611a97a7984de239996949410ec62511afc9cde5b61afa214",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch13.solutions-manual.manualsolution-009",
      "label": "exsol:13.9",
      "line_range": [
        291,
        291
      ],
      "native_record_sha256": "0b500a4586200bdc157bd01a8481ef3fc65f195fccbc52c51c06d1ac0f55b0de",
      "normalized_character_range": [
        14720,
        14786
      ],
      "normalized_utf8_byte_range": [
        14720,
        14786
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch13.tex",
      "source_file": {
        "archive": "source",
        "bytes": 20246,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch13.tex",
        "sha256": "e44ff5d9166bd4b8178e805ad0d4945144c1dbf731a911790bab781588b0d91a"
      },
      "type": "solution"
    },
    {
      "content_bytes": 55,
      "content_sha256": "20ca874409d271c9856f8f3e8d48d96ec6507b9338a4ae397cd3e4170afdfe13",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch13.solutions-manual.manualsolution-010",
      "label": "exsol:13.10",
      "line_range": [
        334,
        334
      ],
      "native_record_sha256": "07f2517a8314f1b47e82aa4b00bf1ccad709419556f74ae5f87856446fec7fe4",
      "normalized_character_range": [
        17200,
        17255
      ],
      "normalized_utf8_byte_range": [
        17200,
        17255
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch13.tex",
      "source_file": {
        "archive": "source",
        "bytes": 20246,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch13.tex",
        "sha256": "e44ff5d9166bd4b8178e805ad0d4945144c1dbf731a911790bab781588b0d91a"
      },
      "type": "solution"
    },
    {
      "content_bytes": 225,
      "content_sha256": "4c25710a5c5236bb5fe5f0554a99c9ea9dc81e9e3b786fefa76d06fc4c2c0252",
      "environment": "ex",
      "id": "unit.r017.book1.ch13.text.ex-001",
      "label": "ex:pareto-def",
      "line_range": [
        441,
        445
      ],
      "native_record_sha256": "34f84b22128a3dc40d4b58777b58463c831ec6b9b2d6be7470b513a347a1c571",
      "normalized_character_range": [
        27729,
        27954
      ],
      "normalized_utf8_byte_range": [
        27729,
        27954
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
      "source_file": {
        "archive": "source",
        "bytes": 44623,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
        "sha256": "f03649dc7debed42b616a03bfb64d9a0cca27a00afcd3580cab57c1ba94bde23"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 907,
      "content_sha256": "ce898750a5616000152be3a63d0ed8b568e5da9655224bef7ebba616f7e87b49",
      "environment": "ex",
      "id": "unit.r017.book1.ch13.text.ex-002",
      "label": "ex:moo-dominance",
      "line_range": [
        447,
        467
      ],
      "native_record_sha256": "f068b1736fa64ffe712fa52788d9849ede0f616c747c3dd50f5d6a98f2ab2219",
      "normalized_character_range": [
        27956,
        28863
      ],
      "normalized_utf8_byte_range": [
        27956,
        28863
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
      "source_file": {
        "archive": "source",
        "bytes": 44623,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
        "sha256": "f03649dc7debed42b616a03bfb64d9a0cca27a00afcd3580cab57c1ba94bde23"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 762,
      "content_sha256": "86864b495d5d125bc1b8076db91de19d32a2dc48e26de0d5dcaafde4f8cc77a5",
      "environment": "ex",
      "id": "unit.r017.book1.ch13.text.ex-003",
      "label": "ex:moo-weighted-scores",
      "line_range": [
        469,
        478
      ],
      "native_record_sha256": "52cb90affde8785e18c9fdfbb4b4d8c860d463ec94bb47d68abd113dca1b09d9",
      "normalized_character_range": [
        28865,
        29627
      ],
      "normalized_utf8_byte_range": [
        28865,
        29627
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
      "source_file": {
        "archive": "source",
        "bytes": 44623,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
        "sha256": "f03649dc7debed42b616a03bfb64d9a0cca27a00afcd3580cab57c1ba94bde23"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1653,
      "content_sha256": "445f2bb51cc1e4eb898af8e3dba71006acc74c37069eddd193fb5c3428342196",
      "environment": "ex",
      "id": "unit.r017.book1.ch13.text.ex-004",
      "label": "ex:pareto-table",
      "line_range": [
        482,
        514
      ],
      "native_record_sha256": "c8e036061c04db7e06acd276b26d187b6b9c578d9de8b70dc13fd051d83168f2",
      "normalized_character_range": [
        29650,
        31303
      ],
      "normalized_utf8_byte_range": [
        29650,
        31303
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
      "source_file": {
        "archive": "source",
        "bytes": 44623,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
        "sha256": "f03649dc7debed42b616a03bfb64d9a0cca27a00afcd3580cab57c1ba94bde23"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1140,
      "content_sha256": "c0f23f2724757e101e876dfa33a53bc68f656f5a86098e4a79dcd844eaa60e42",
      "environment": "ex",
      "id": "unit.r017.book1.ch13.text.ex-005",
      "label": "ex:weighted-sum-projects",
      "line_range": [
        516,
        540
      ],
      "native_record_sha256": "f35e418f728e24bca732ab2e711d29f0a85cf74b303524d22b6d4954b2afb1fd",
      "normalized_character_range": [
        31305,
        32445
      ],
      "normalized_utf8_byte_range": [
        31305,
        32445
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
      "source_file": {
        "archive": "source",
        "bytes": 44623,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
        "sha256": "f03649dc7debed42b616a03bfb64d9a0cca27a00afcd3580cab57c1ba94bde23"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 793,
      "content_sha256": "9be7441c72195de9d91c392c3b348a2ce3b5e767d5ee69975ee1df741429034e",
      "environment": "ex",
      "id": "unit.r017.book1.ch13.text.ex-006",
      "label": "ex:eps-constraint-lp",
      "line_range": [
        542,
        556
      ],
      "native_record_sha256": "63a9009b555cf3fec9780c096de76bb0e3f6a07f7680025cd01d8fd0d7f48c17",
      "normalized_character_range": [
        32447,
        33240
      ],
      "normalized_utf8_byte_range": [
        32447,
        33240
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
      "source_file": {
        "archive": "source",
        "bytes": 44623,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
        "sha256": "f03649dc7debed42b616a03bfb64d9a0cca27a00afcd3580cab57c1ba94bde23"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1015,
      "content_sha256": "b50d954f9fa8bab0d47cad7d3c7ea6c6d6c53cbc569424c036db20dcf32aab63",
      "environment": "ex",
      "id": "unit.r017.book1.ch13.text.ex-007",
      "label": "ex:eps-triangle",
      "line_range": [
        558,
        571
      ],
      "native_record_sha256": "2b705f8ef9f3b3380fd90982533f5cc616c6485a7a5dd4ec6bd18ee9e76bf2b6",
      "normalized_character_range": [
        33242,
        34257
      ],
      "normalized_utf8_byte_range": [
        33242,
        34257
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
      "source_file": {
        "archive": "source",
        "bytes": 44623,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
        "sha256": "f03649dc7debed42b616a03bfb64d9a0cca27a00afcd3580cab57c1ba94bde23"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1171,
      "content_sha256": "30dca72f42632ca3fb668fd217fdfae8da41d4c0cd4f2a566ed49c8a46a337c4",
      "environment": "ex",
      "id": "unit.r017.book1.ch13.text.ex-008",
      "label": "ex:tradeoff-analysis",
      "line_range": [
        573,
        596
      ],
      "native_record_sha256": "0a92ef8864ff2e9c49424e3dad7c7fe78fa0f4bfb9978ffc7868014fdb1f2f7c",
      "normalized_character_range": [
        34259,
        35430
      ],
      "normalized_utf8_byte_range": [
        34259,
        35430
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
      "source_file": {
        "archive": "source",
        "bytes": 44623,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
        "sha256": "f03649dc7debed42b616a03bfb64d9a0cca27a00afcd3580cab57c1ba94bde23"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1231,
      "content_sha256": "347c327f42147089bbb7532f2ee54adb6e3803fdc245643a3430f41667a80a85",
      "environment": "ex",
      "id": "unit.r017.book1.ch13.text.ex-009",
      "label": "ex:nonconvex-weights",
      "line_range": [
        600,
        613
      ],
      "native_record_sha256": "ca3b718dd6fe9f28aab2af6808321bcf0e8a887aa6bae45822381237c2d037a7",
      "normalized_character_range": [
        35461,
        36692
      ],
      "normalized_utf8_byte_range": [
        35461,
        36692
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
      "source_file": {
        "archive": "source",
        "bytes": 44623,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
        "sha256": "f03649dc7debed42b616a03bfb64d9a0cca27a00afcd3580cab57c1ba94bde23"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1310,
      "content_sha256": "0699774a73d6783c05eaa67b8b421166ca9aa88282336ec02b6f88e08db7bc2f",
      "environment": "ex",
      "id": "unit.r017.book1.ch13.text.ex-010",
      "label": "ex:lex-vs-weighted",
      "line_range": [
        615,
        624
      ],
      "native_record_sha256": "cffb19199dfcb5e64330189d55d274039dbf963ac12ba91a9dbbb15cbff39a65",
      "normalized_character_range": [
        36694,
        38004
      ],
      "normalized_utf8_byte_range": [
        36694,
        38004
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
      "source_file": {
        "archive": "source",
        "bytes": 44623,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
        "sha256": "f03649dc7debed42b616a03bfb64d9a0cca27a00afcd3580cab57c1ba94bde23"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1304,
      "content_sha256": "111873bc091731cd89b76e6f8cf68550c6692e3fc4d8f79b613d882aea4f3dfc",
      "environment": "ex",
      "id": "unit.r017.book1.ch13.text.ex-011",
      "label": "ex:furniture-weights",
      "line_range": [
        628,
        641
      ],
      "native_record_sha256": "e7c5950665ef9a61103567fdc5000cc5f47aab87c4e0abb55ce7c66df493802d",
      "normalized_character_range": [
        38032,
        39336
      ],
      "normalized_utf8_byte_range": [
        38032,
        39336
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
      "source_file": {
        "archive": "source",
        "bytes": 44623,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
        "sha256": "f03649dc7debed42b616a03bfb64d9a0cca27a00afcd3580cab57c1ba94bde23"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 538,
      "content_sha256": "d294996e282976441285c5ea587776ec2a4b015d2b523b18e0c941febfb8ac52",
      "environment": "solution",
      "id": "unit.r017.book1.ch13.text.solution-001",
      "label": null,
      "line_range": [
        645,
        647
      ],
      "native_record_sha256": "94f7d9d0de4e78c4447bf94739e1f550cca2bde3421812e9efc7a70aac31efc6",
      "normalized_character_range": [
        39372,
        39910
      ],
      "normalized_utf8_byte_range": [
        39372,
        39910
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
      "source_file": {
        "archive": "source",
        "bytes": 44623,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
        "sha256": "f03649dc7debed42b616a03bfb64d9a0cca27a00afcd3580cab57c1ba94bde23"
      },
      "type": "solution"
    },
    {
      "content_bytes": 1282,
      "content_sha256": "5bb58177a1e7442a91dfa4c4b3b919008a325ed9c0cee6ce2e05f6f7ae56d9b7",
      "environment": "solution",
      "id": "unit.r017.book1.ch13.text.solution-002",
      "label": null,
      "line_range": [
        649,
        655
      ],
      "native_record_sha256": "e648e8c2ff9cb63e526c0185447dee2ed7b85df32ebf2ef1ef86699c19a77b62",
      "normalized_character_range": [
        39912,
        41194
      ],
      "normalized_utf8_byte_range": [
        39912,
        41194
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
      "source_file": {
        "archive": "source",
        "bytes": 44623,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
        "sha256": "f03649dc7debed42b616a03bfb64d9a0cca27a00afcd3580cab57c1ba94bde23"
      },
      "type": "solution"
    },
    {
      "content_bytes": 1385,
      "content_sha256": "83ad0a8b4e1a3698481ebe6adac6dce1c68c0539040a0431d6048adccc2b1b88",
      "environment": "solution",
      "id": "unit.r017.book1.ch13.text.solution-003",
      "label": "tab:multi-objective-optimization_updated-tab05",
      "line_range": [
        657,
        676
      ],
      "native_record_sha256": "78beb9ab212ce749a3d52266686e37dc7fb1764f1fd2d7e7a62c85274063c6de",
      "normalized_character_range": [
        41196,
        42581
      ],
      "normalized_utf8_byte_range": [
        41196,
        42581
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
      "source_file": {
        "archive": "source",
        "bytes": 44623,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
        "sha256": "f03649dc7debed42b616a03bfb64d9a0cca27a00afcd3580cab57c1ba94bde23"
      },
      "type": "solution"
    },
    {
      "content_bytes": 2039,
      "content_sha256": "9c20434b8116b0a9b261311ff282f8cffa28436116aa46a5f37cba8cf1e55e0d",
      "environment": "solution",
      "id": "unit.r017.book1.ch13.text.solution-004",
      "label": null,
      "line_range": [
        678,
        698
      ],
      "native_record_sha256": "bcf1ce1247f61d413a9da7a261fa2127450e018eeb04c8bab85cd335dcd39055",
      "normalized_character_range": [
        42583,
        44622
      ],
      "normalized_utf8_byte_range": [
        42583,
        44622
      ],
      "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
      "source_file": {
        "archive": "source",
        "bytes": 44623,
        "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
        "sha256": "f03649dc7debed42b616a03bfb64d9a0cca27a00afcd3580cab57c1ba94bde23"
      },
      "type": "solution"
    },
    {
      "content_bytes": 1535,
      "content_sha256": "fc89ae7b81b3a1199e0c674f9a1816ede02c87ac6a381d17637bd83fd235e708",
      "environment": "ex",
      "id": "unit.r017.book1.ch14.text.ex-001",
      "label": "ex:kruskal_exercise",
      "line_range": [
        1454,
        1494
      ],
      "native_record_sha256": "59ef3170a9934ede7dd8713c4b78de5ff2ae54db262cbd314202535a89455232",
      "normalized_character_range": [
        70963,
        72498
      ],
      "normalized_utf8_byte_range": [
        70971,
        72506
      ],
      "path": "Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
      "source_file": {
        "archive": "source",
        "bytes": 160339,
        "member": "source/Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
        "sha256": "bf10472a5ceb75aebe1702ecfb0e90c5d81242174858c28651196c9c169aa6bd"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1068,
      "content_sha256": "ee0d924f56b02ab93c69f38f9aa09f5f3783e18ee25a5e3422cf593f8a3e79bc",
      "environment": "ex",
      "id": "unit.r017.book1.ch14.text.ex-002",
      "label": null,
      "line_range": [
        1496,
        1538
      ],
      "native_record_sha256": "2734d216b3b2a9d6136f6079e961b782275ddf450e6dbd4e42e8ad88772d8084",
      "normalized_character_range": [
        72500,
        73568
      ],
      "normalized_utf8_byte_range": [
        72508,
        73576
      ],
      "path": "Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
      "source_file": {
        "archive": "source",
        "bytes": 160339,
        "member": "source/Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
        "sha256": "bf10472a5ceb75aebe1702ecfb0e90c5d81242174858c28651196c9c169aa6bd"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 326,
      "content_sha256": "a6b768f501efbb3709a6610ebfc5ea7e9eb53e782db6bbb4c89639085cff7371",
      "environment": "ex",
      "id": "unit.r017.book1.ch14.text.ex-003",
      "label": "ex:prim_exercise",
      "line_range": [
        1674,
        1676
      ],
      "native_record_sha256": "79bd6d40c9300e4c38ff22155d118dc764aab4987029a6373eb8ce7286a863bf",
      "normalized_character_range": [
        78799,
        79125
      ],
      "normalized_utf8_byte_range": [
        78807,
        79133
      ],
      "path": "Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
      "source_file": {
        "archive": "source",
        "bytes": 160339,
        "member": "source/Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
        "sha256": "bf10472a5ceb75aebe1702ecfb0e90c5d81242174858c28651196c9c169aa6bd"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1190,
      "content_sha256": "abedec52c74be36c0ac1248c928c58c190f20ccb93871ef5fda5dd7ae0ffabce",
      "environment": "ex",
      "id": "unit.r017.book1.ch14.text.ex-004",
      "label": "ex:shortest-path",
      "line_range": [
        1742,
        1778
      ],
      "native_record_sha256": "c1339bbfbd94035aac683d8f5cc1b7c0c49c67cad7dd65df6fd80b087f7eb953",
      "normalized_character_range": [
        81477,
        82667
      ],
      "normalized_utf8_byte_range": [
        81485,
        82675
      ],
      "path": "Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
      "source_file": {
        "archive": "source",
        "bytes": 160339,
        "member": "source/Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
        "sha256": "bf10472a5ceb75aebe1702ecfb0e90c5d81242174858c28651196c9c169aa6bd"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 737,
      "content_sha256": "743a463e4a1aad8aa72c310f50457b74cf5c0e4ee64265be6491f4df16364d2c",
      "environment": "ex",
      "id": "unit.r017.book1.ch14.text.ex-005",
      "label": null,
      "line_range": [
        2400,
        2423
      ],
      "native_record_sha256": "7de312ccb2695c0a02c22a6f255443027b7bf8c7a368babe49a5b693d36575ba",
      "normalized_character_range": [
        114647,
        115384
      ],
      "normalized_utf8_byte_range": [
        114671,
        115408
      ],
      "path": "Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
      "source_file": {
        "archive": "source",
        "bytes": 160339,
        "member": "source/Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
        "sha256": "bf10472a5ceb75aebe1702ecfb0e90c5d81242174858c28651196c9c169aa6bd"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 497,
      "content_sha256": "a4b38dd074d9df6c5d84bb98c2820781326a8bac392af478d588811f2a044a94",
      "environment": "ex",
      "id": "unit.r017.book1.ch14.text.ex-006",
      "label": null,
      "line_range": [
        2589,
        2604
      ],
      "native_record_sha256": "9d7130924c321577cd2aa0539fff0f9a70970b3a0a47eb36443721451bcc8856",
      "normalized_character_range": [
        121456,
        121953
      ],
      "normalized_utf8_byte_range": [
        121480,
        121977
      ],
      "path": "Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
      "source_file": {
        "archive": "source",
        "bytes": 160339,
        "member": "source/Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
        "sha256": "bf10472a5ceb75aebe1702ecfb0e90c5d81242174858c28651196c9c169aa6bd"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 943,
      "content_sha256": "12f1b526b72986fb2f4c3d6aba4e26ed9bee219e3e665186ce99d9f73afb391a",
      "environment": "ex",
      "id": "unit.r017.book1.ch14.text.ex-007",
      "label": "tab:graphtheory-dor1-tab07",
      "line_range": [
        3117,
        3145
      ],
      "native_record_sha256": "2ae2a6577dcebf2dfb9d9cb92a3404229e15d278745060584f79bafdaf226d8e",
      "normalized_character_range": [
        142789,
        143732
      ],
      "normalized_utf8_byte_range": [
        142817,
        143760
      ],
      "path": "Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
      "source_file": {
        "archive": "source",
        "bytes": 160339,
        "member": "source/Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
        "sha256": "bf10472a5ceb75aebe1702ecfb0e90c5d81242174858c28651196c9c169aa6bd"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1191,
      "content_sha256": "cc19f9b3a419615b4dea01d1f83eb5a0383887683cee9b6efdc76c14e008ef8a",
      "environment": "ex",
      "id": "unit.r017.book1.ch14.text.ex-008",
      "label": null,
      "line_range": [
        3512,
        3537
      ],
      "native_record_sha256": "bc8b3ec1f58444ee2d2e96e740a298e0298212b5a9e6c12188691708386b4bfc",
      "normalized_character_range": [
        157042,
        158233
      ],
      "normalized_utf8_byte_range": [
        157074,
        158265
      ],
      "path": "Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
      "source_file": {
        "archive": "source",
        "bytes": 160339,
        "member": "source/Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
        "sha256": "bf10472a5ceb75aebe1702ecfb0e90c5d81242174858c28651196c9c169aa6bd"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1155,
      "content_sha256": "b156419a8521711dbdd922a81dd9573f8ed756918189ed604f860f1ae177150b",
      "environment": "itemexercise",
      "id": "unit.r017.book1.ch14.text.itemexercise-001",
      "label": "ex:dijkstra-eurail",
      "line_range": [
        1970,
        1991
      ],
      "native_record_sha256": "c675ff618425a3f88b9bd2a1d8fc7a8fa72ba87f73c191ae346b7d60ab422f22",
      "normalized_character_range": [
        89380,
        90535
      ],
      "normalized_utf8_byte_range": [
        89388,
        90543
      ],
      "path": "Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
      "source_file": {
        "archive": "source",
        "bytes": 160339,
        "member": "source/Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
        "sha256": "bf10472a5ceb75aebe1702ecfb0e90c5d81242174858c28651196c9c169aa6bd"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1311,
      "content_sha256": "6725aab865746d53f10af04ee32db48840d3d667cfb1f70be226eea7df9c03ad",
      "environment": "itemexercise",
      "id": "unit.r017.book1.ch14.text.itemexercise-002",
      "label": "ex:mst-sonet-ring",
      "line_range": [
        1995,
        2016
      ],
      "native_record_sha256": "73eca51deea3d7a068e2ca649d63662668293f91d56d324b7b6c7ee6bd5ffb14",
      "normalized_character_range": [
        90749,
        92060
      ],
      "normalized_utf8_byte_range": [
        90757,
        92068
      ],
      "path": "Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
      "source_file": {
        "archive": "source",
        "bytes": 160339,
        "member": "source/Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
        "sha256": "bf10472a5ceb75aebe1702ecfb0e90c5d81242174858c28651196c9c169aa6bd"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1451,
      "content_sha256": "645448b676c84e6b57dd77d5e458f96cf4b55d2b0304c161a4eccdcf45b0ca9f",
      "environment": "itemexercise",
      "id": "unit.r017.book1.ch14.text.itemexercise-003",
      "label": "ex:dijkstra-warmup-rail",
      "line_range": [
        2016,
        2036
      ],
      "native_record_sha256": "12149ba10159652ed5913e1366dcf8a97b0cb2d853829d14d851edb2a97f60a2",
      "normalized_character_range": [
        92060,
        93511
      ],
      "normalized_utf8_byte_range": [
        92068,
        93519
      ],
      "path": "Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
      "source_file": {
        "archive": "source",
        "bytes": 160339,
        "member": "source/Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
        "sha256": "bf10472a5ceb75aebe1702ecfb0e90c5d81242174858c28651196c9c169aa6bd"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 405,
      "content_sha256": "ddb60a74de1d2e1ef2cb4aab68449aaeca9c80fa09b2afdc4ca4930b7e8ab5d3",
      "environment": "itemexercise",
      "id": "unit.r017.book1.ch14.text.itemexercise-004",
      "label": "ex:kruskal-airfare",
      "line_range": [
        2036,
        2038
      ],
      "native_record_sha256": "bd21b26dcbce7ccd1eb2efd31a41ab5c5a8ee0dd41949787dee22ff01a8d44e6",
      "normalized_character_range": [
        93511,
        93916
      ],
      "normalized_utf8_byte_range": [
        93519,
        93924
      ],
      "path": "Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
      "source_file": {
        "archive": "source",
        "bytes": 160339,
        "member": "source/Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
        "sha256": "bf10472a5ceb75aebe1702ecfb0e90c5d81242174858c28651196c9c169aa6bd"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 776,
      "content_sha256": "636cdb7e61ff94c68d02a6de629456656cbd095feab0226c34ae9b9d2ee7c01b",
      "environment": "itemexercise",
      "id": "unit.r017.book1.ch14.text.itemexercise-005",
      "label": "ex:mst-greedy",
      "line_range": [
        2045,
        2048
      ],
      "native_record_sha256": "e76225c92795a41b0a97f6b03887a575bcb3fdd856bbe5864bb6cfe810123886",
      "normalized_character_range": [
        94145,
        94921
      ],
      "normalized_utf8_byte_range": [
        94153,
        94929
      ],
      "path": "Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
      "source_file": {
        "archive": "source",
        "bytes": 160339,
        "member": "source/Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
        "sha256": "bf10472a5ceb75aebe1702ecfb0e90c5d81242174858c28651196c9c169aa6bd"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 443,
      "content_sha256": "e57c114a9ebf6c9016358c747bc585ca023c8b0edbb4ec1af0a568b7ec816347",
      "environment": "itemexercise",
      "id": "unit.r017.book1.ch14.text.itemexercise-006",
      "label": "ex:dijkstra-nonneg",
      "line_range": [
        2048,
        2051
      ],
      "native_record_sha256": "b1d627f6807eef503294257a6abbb31cb08c99f7aec13af728664ac0f51a133c",
      "normalized_character_range": [
        94921,
        95364
      ],
      "normalized_utf8_byte_range": [
        94929,
        95372
      ],
      "path": "Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
      "source_file": {
        "archive": "source",
        "bytes": 160339,
        "member": "source/Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
        "sha256": "bf10472a5ceb75aebe1702ecfb0e90c5d81242174858c28651196c9c169aa6bd"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1654,
      "content_sha256": "cbc2cf959ed1a22738dc365d585e77a0360c4ffe9210ceb8cade093d572a2760",
      "environment": "learningcheckpoint",
      "id": "unit.r017.book1.ch14.text.learningcheckpoint-001",
      "label": "lc:graph-5cities",
      "line_range": [
        331,
        372
      ],
      "native_record_sha256": "e41dc6843e144ada32d9e3adf8e084e1f8b926879a6945ecfd599172138267ed",
      "normalized_character_range": [
        17645,
        19299
      ],
      "normalized_utf8_byte_range": [
        17653,
        19307
      ],
      "path": "Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
      "source_file": {
        "archive": "source",
        "bytes": 160339,
        "member": "source/Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
        "sha256": "bf10472a5ceb75aebe1702ecfb0e90c5d81242174858c28651196c9c169aa6bd"
      },
      "type": "learningcheckpoint"
    },
    {
      "content_bytes": 630,
      "content_sha256": "e01a5e6edecd30ca6deb5c553aa903bd61c2104e443ebc5df4e4f1b1b5ce0b07",
      "environment": "solution",
      "id": "unit.r017.book1.ch14.text.solution-001",
      "label": null,
      "line_range": [
        2098,
        2105
      ],
      "native_record_sha256": "556aca5629aa46bf4d3a1472a2a7bd9350e96afc8ba734dedef14492d769c6c4",
      "normalized_character_range": [
        99133,
        99763
      ],
      "normalized_utf8_byte_range": [
        99157,
        99787
      ],
      "path": "Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
      "source_file": {
        "archive": "source",
        "bytes": 160339,
        "member": "source/Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
        "sha256": "bf10472a5ceb75aebe1702ecfb0e90c5d81242174858c28651196c9c169aa6bd"
      },
      "type": "solution"
    },
    {
      "content_bytes": 562,
      "content_sha256": "76930302d185124bf5bb592c8a48d12434f4afc0538e3c755b97c3758dfef9de",
      "environment": "solution",
      "id": "unit.r017.book1.ch14.text.solution-002",
      "label": null,
      "line_range": [
        2107,
        2109
      ],
      "native_record_sha256": "cbc655efd2d8ab4cee14abbbbcf66e402cf768fc7b40d51302b15bd2284d38ba",
      "normalized_character_range": [
        99765,
        100327
      ],
      "normalized_utf8_byte_range": [
        99789,
        100351
      ],
      "path": "Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
      "source_file": {
        "archive": "source",
        "bytes": 160339,
        "member": "source/Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
        "sha256": "bf10472a5ceb75aebe1702ecfb0e90c5d81242174858c28651196c9c169aa6bd"
      },
      "type": "solution"
    },
    {
      "content_bytes": 662,
      "content_sha256": "86ef61bb476c55862786c31e52f0b4ebd4607006b00c51613d6be046ae626e02",
      "environment": "solution",
      "id": "unit.r017.book1.ch14.text.solution-003",
      "label": null,
      "line_range": [
        2111,
        2118
      ],
      "native_record_sha256": "ebb420abcafbc35facb9acade2f8df3bf622bed84778acf4e46b2c5c5a2969af",
      "normalized_character_range": [
        100329,
        100991
      ],
      "normalized_utf8_byte_range": [
        100353,
        101015
      ],
      "path": "Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
      "source_file": {
        "archive": "source",
        "bytes": 160339,
        "member": "source/Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
        "sha256": "bf10472a5ceb75aebe1702ecfb0e90c5d81242174858c28651196c9c169aa6bd"
      },
      "type": "solution"
    },
    {
      "content_bytes": 731,
      "content_sha256": "6af9437acebaa0b5874b3969c10c5bc6b82ac3e39d558b6b0432d9f78d47c70c",
      "environment": "solution",
      "id": "unit.r017.book1.ch14.text.solution-004",
      "label": null,
      "line_range": [
        2120,
        2122
      ],
      "native_record_sha256": "bc5531d0278c7eee0927062a1de5f39ee1997c9168d30958b4a674fb68ff738f",
      "normalized_character_range": [
        100993,
        101724
      ],
      "normalized_utf8_byte_range": [
        101017,
        101748
      ],
      "path": "Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
      "source_file": {
        "archive": "source",
        "bytes": 160339,
        "member": "source/Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
        "sha256": "bf10472a5ceb75aebe1702ecfb0e90c5d81242174858c28651196c9c169aa6bd"
      },
      "type": "solution"
    },
    {
      "content_bytes": 1076,
      "content_sha256": "6c8b823709ef0fb55c6820cfa561c256669873649a3d53ada637115b277d59fa",
      "environment": "solution",
      "id": "unit.r017.book1.ch14.text.solution-005",
      "label": null,
      "line_range": [
        2124,
        2126
      ],
      "native_record_sha256": "93580f3d2a9d9a0b8e3cfe31d50187c29d2200c41ee952d8024412f0bda4d7a0",
      "normalized_character_range": [
        101726,
        102802
      ],
      "normalized_utf8_byte_range": [
        101750,
        102826
      ],
      "path": "Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
      "source_file": {
        "archive": "source",
        "bytes": 160339,
        "member": "source/Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
        "sha256": "bf10472a5ceb75aebe1702ecfb0e90c5d81242174858c28651196c9c169aa6bd"
      },
      "type": "solution"
    },
    {
      "content_bytes": 31,
      "content_sha256": "9d96e5a12ae1467e0be3b72094b621286764c4885976213eeb5c7cda73282662",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-001",
      "label": "exsol:15.1",
      "line_range": [
        14,
        14
      ],
      "native_record_sha256": "307e430a318dfe87ed0331486c1b43ac1bb2139316ab4c622d6d358e0bb3b4a8",
      "normalized_character_range": [
        1670,
        1701
      ],
      "normalized_utf8_byte_range": [
        1670,
        1701
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
      "source_file": {
        "archive": "source",
        "bytes": 20710,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
        "sha256": "85d3a2960c32933717ac172a590085eb510689cc73ab1ec10420ffe2af31e0af"
      },
      "type": "solution"
    },
    {
      "content_bytes": 35,
      "content_sha256": "b0dae59b1d46a82daffbf4e0fe98ba767103a79ec21487ac32a34d2fa565cbb9",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-002",
      "label": "exsol:15.2",
      "line_range": [
        32,
        32
      ],
      "native_record_sha256": "c14927fc0b0688f50eb701a10bf961d680aeda1df46a5fcb77b28b2fa8eebe36",
      "normalized_character_range": [
        2501,
        2536
      ],
      "normalized_utf8_byte_range": [
        2501,
        2536
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
      "source_file": {
        "archive": "source",
        "bytes": 20710,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
        "sha256": "85d3a2960c32933717ac172a590085eb510689cc73ab1ec10420ffe2af31e0af"
      },
      "type": "solution"
    },
    {
      "content_bytes": 43,
      "content_sha256": "e29d4a4c6c67de5a5a075a17833535aba3af0770cdaa81f193a18852b50d369b",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-003",
      "label": "exsol:15.3",
      "line_range": [
        42,
        42
      ],
      "native_record_sha256": "d61f48e4bc8eb9f4086e7e94a4d399260ec3ccd0412adcf748b1fa54a420b0ac",
      "normalized_character_range": [
        2999,
        3042
      ],
      "normalized_utf8_byte_range": [
        2999,
        3042
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
      "source_file": {
        "archive": "source",
        "bytes": 20710,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
        "sha256": "85d3a2960c32933717ac172a590085eb510689cc73ab1ec10420ffe2af31e0af"
      },
      "type": "solution"
    },
    {
      "content_bytes": 39,
      "content_sha256": "13260f773a9c05e4c85ba9d53ac794ff5781c9758acb9cd6d3abfc449fabb037",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-004",
      "label": "exsol:15.4",
      "line_range": [
        56,
        56
      ],
      "native_record_sha256": "1b9ebd0cc9889e9f8bf82e0ec694f417d2c86159a315d524df18478e167eadcb",
      "normalized_character_range": [
        4001,
        4040
      ],
      "normalized_utf8_byte_range": [
        4001,
        4040
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
      "source_file": {
        "archive": "source",
        "bytes": 20710,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
        "sha256": "85d3a2960c32933717ac172a590085eb510689cc73ab1ec10420ffe2af31e0af"
      },
      "type": "solution"
    },
    {
      "content_bytes": 54,
      "content_sha256": "fabf9a5e6ee3dcb12624a7a3d12b0443677451ffba2e70cc67df161361fcd6c2",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-005",
      "label": "exsol:15.5",
      "line_range": [
        70,
        70
      ],
      "native_record_sha256": "fdc2b4a84b16a30d8a5eb83264ed2ceae1632bef51f5ba92a37da9eed98e7cb5",
      "normalized_character_range": [
        4580,
        4634
      ],
      "normalized_utf8_byte_range": [
        4580,
        4634
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
      "source_file": {
        "archive": "source",
        "bytes": 20710,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
        "sha256": "85d3a2960c32933717ac172a590085eb510689cc73ab1ec10420ffe2af31e0af"
      },
      "type": "solution"
    },
    {
      "content_bytes": 30,
      "content_sha256": "5f1320179785c04b3c772c2c37b9214815cff03a10bf0a0ee6698a9793bd5db4",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-006",
      "label": "exsol:15.6",
      "line_range": [
        84,
        84
      ],
      "native_record_sha256": "c0ce57b4c49375861f3c1e14f2245fe3afce6c3c43233162146ac646b3352654",
      "normalized_character_range": [
        5359,
        5389
      ],
      "normalized_utf8_byte_range": [
        5359,
        5389
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
      "source_file": {
        "archive": "source",
        "bytes": 20710,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
        "sha256": "85d3a2960c32933717ac172a590085eb510689cc73ab1ec10420ffe2af31e0af"
      },
      "type": "solution"
    },
    {
      "content_bytes": 57,
      "content_sha256": "d372dae31492db4ce4a0c8c352b8fbce32370f060bbe24189da32cc2dcc3c8a5",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-007",
      "label": "exsol:15.7",
      "line_range": [
        102,
        102
      ],
      "native_record_sha256": "e40623b3b1a449603305f601c7da416066547903c10984ea7c288ac9f1da8080",
      "normalized_character_range": [
        6306,
        6363
      ],
      "normalized_utf8_byte_range": [
        6306,
        6363
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
      "source_file": {
        "archive": "source",
        "bytes": 20710,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
        "sha256": "85d3a2960c32933717ac172a590085eb510689cc73ab1ec10420ffe2af31e0af"
      },
      "type": "solution"
    },
    {
      "content_bytes": 55,
      "content_sha256": "fc9e90168a1e24ac8fd5dd054cf3b49fdb5789bcd26e25127ff72c9f969bc40a",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-008",
      "label": "exsol:15.8",
      "line_range": [
        117,
        117
      ],
      "native_record_sha256": "5b77f50306defe316f1d3ab367ac0673c9c5fe0ffa7e395cf9ca85bb40464d83",
      "normalized_character_range": [
        7083,
        7138
      ],
      "normalized_utf8_byte_range": [
        7083,
        7138
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
      "source_file": {
        "archive": "source",
        "bytes": 20710,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
        "sha256": "85d3a2960c32933717ac172a590085eb510689cc73ab1ec10420ffe2af31e0af"
      },
      "type": "solution"
    },
    {
      "content_bytes": 42,
      "content_sha256": "d4b4e22c0dfd73d5310e5fdae32914d3c1f9aa48b938c8e7312706d9bce35431",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-009",
      "label": "exsol:15.9",
      "line_range": [
        139,
        139
      ],
      "native_record_sha256": "2295793a26f7c239c1aefefb071bf894cc6608af210d6f9835c2899726182760",
      "normalized_character_range": [
        8297,
        8339
      ],
      "normalized_utf8_byte_range": [
        8297,
        8339
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
      "source_file": {
        "archive": "source",
        "bytes": 20710,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
        "sha256": "85d3a2960c32933717ac172a590085eb510689cc73ab1ec10420ffe2af31e0af"
      },
      "type": "solution"
    },
    {
      "content_bytes": 36,
      "content_sha256": "11896946fdef30cd697f631b6447750b09796f945f211dca55ec7a66037480dc",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-010",
      "label": "exsol:15.10",
      "line_range": [
        154,
        154
      ],
      "native_record_sha256": "72804ea22ac5dc4119857aa46733f2de4d785118f4f10924198b59e70efdc5b8",
      "normalized_character_range": [
        9396,
        9432
      ],
      "normalized_utf8_byte_range": [
        9396,
        9432
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
      "source_file": {
        "archive": "source",
        "bytes": 20710,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
        "sha256": "85d3a2960c32933717ac172a590085eb510689cc73ab1ec10420ffe2af31e0af"
      },
      "type": "solution"
    },
    {
      "content_bytes": 45,
      "content_sha256": "6a66336c463b6aa88d6686bfd9559688012d5a71cb46a96585ec85a2c7178527",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-011",
      "label": "exsol:15.11",
      "line_range": [
        171,
        171
      ],
      "native_record_sha256": "9c5c46a2c4bf007e1485923e98292d5eff80d31dc6845c428ee5c37f4cd00e35",
      "normalized_character_range": [
        10776,
        10821
      ],
      "normalized_utf8_byte_range": [
        10776,
        10821
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
      "source_file": {
        "archive": "source",
        "bytes": 20710,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
        "sha256": "85d3a2960c32933717ac172a590085eb510689cc73ab1ec10420ffe2af31e0af"
      },
      "type": "solution"
    },
    {
      "content_bytes": 52,
      "content_sha256": "6173da7c05e61ee5fa398e56a6373a849b8a2869bd5f73bf5eed1c1e75defcc0",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-012",
      "label": "exsol:15.12",
      "line_range": [
        183,
        183
      ],
      "native_record_sha256": "1292b57263e1d0abc0cd3e8e51a3f834e3b3b80b5f0eab04dd4565ce4dc22e3a",
      "normalized_character_range": [
        11617,
        11669
      ],
      "normalized_utf8_byte_range": [
        11617,
        11669
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
      "source_file": {
        "archive": "source",
        "bytes": 20710,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
        "sha256": "85d3a2960c32933717ac172a590085eb510689cc73ab1ec10420ffe2af31e0af"
      },
      "type": "solution"
    },
    {
      "content_bytes": 44,
      "content_sha256": "9020ec9dcbb50def8f7cbf0a54e3300ee14d25d2c0c31fce9c9839255a026d07",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-013",
      "label": "exsol:15.13",
      "line_range": [
        195,
        195
      ],
      "native_record_sha256": "9ee83230a9eeae9dd7d90b607ae175efd007b42b49f0fafc72a6eda272655a81",
      "normalized_character_range": [
        13544,
        13588
      ],
      "normalized_utf8_byte_range": [
        13544,
        13588
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
      "source_file": {
        "archive": "source",
        "bytes": 20710,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
        "sha256": "85d3a2960c32933717ac172a590085eb510689cc73ab1ec10420ffe2af31e0af"
      },
      "type": "solution"
    },
    {
      "content_bytes": 49,
      "content_sha256": "fdbae6a1dbf97eba31ca60acc662b422aad9f79634caa854a6719b26a844a0b4",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-014",
      "label": "exsol:15.14",
      "line_range": [
        203,
        203
      ],
      "native_record_sha256": "dad33c93c98a5816f4f9fdbaa0626a91b495c5adc4c7901d47212c18f73d7be2",
      "normalized_character_range": [
        15176,
        15225
      ],
      "normalized_utf8_byte_range": [
        15176,
        15225
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
      "source_file": {
        "archive": "source",
        "bytes": 20710,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
        "sha256": "85d3a2960c32933717ac172a590085eb510689cc73ab1ec10420ffe2af31e0af"
      },
      "type": "solution"
    },
    {
      "content_bytes": 49,
      "content_sha256": "d5583825262828b48d7285650083966213a8fc832e050df362fc592e841d2a5d",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-015",
      "label": "exsol:15.15",
      "line_range": [
        219,
        219
      ],
      "native_record_sha256": "ac7cdd65f33a28f15d18caa6acfd7bd4e658771cd63e3f44371805f8a63c3a20",
      "normalized_character_range": [
        17396,
        17445
      ],
      "normalized_utf8_byte_range": [
        17396,
        17445
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
      "source_file": {
        "archive": "source",
        "bytes": 20710,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
        "sha256": "85d3a2960c32933717ac172a590085eb510689cc73ab1ec10420ffe2af31e0af"
      },
      "type": "solution"
    },
    {
      "content_bytes": 43,
      "content_sha256": "a856ace2d688f9a44f1c8b928dc3a3ac0cea42629cc0b30e0f487f3531118ab5",
      "environment": "manualsolution",
      "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-016",
      "label": "exsol:15.16",
      "line_range": [
        240,
        240
      ],
      "native_record_sha256": "cd2c0fefb2ff631f9c24e88131c498eeecc91b324da876803a6aad455f6dac7b",
      "normalized_character_range": [
        19035,
        19078
      ],
      "normalized_utf8_byte_range": [
        19035,
        19078
      ],
      "path": "Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
      "source_file": {
        "archive": "source",
        "bytes": 20710,
        "member": "source/Intro-Math-Programming/baseText/book/solutions-manual/ch15.tex",
        "sha256": "85d3a2960c32933717ac172a590085eb510689cc73ab1ec10420ffe2af31e0af"
      },
      "type": "solution"
    },
    {
      "content_bytes": 958,
      "content_sha256": "545d7d96216b080d33a8453afe96f184b0aa5737b888293ed6e08583ddbf0e33",
      "environment": "ex",
      "id": "unit.r017.book1.ch15.text.ex-001",
      "label": "ex:knapsack-hiker",
      "line_range": [
        2121,
        2144
      ],
      "native_record_sha256": "29f0e12d08a7be8678643c15aa2f993cf78f8e855a7d65880b071dc7aff1c98d",
      "normalized_character_range": [
        112770,
        113728
      ],
      "normalized_utf8_byte_range": [
        112782,
        113740
      ],
      "path": "Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
      "source_file": {
        "archive": "source",
        "bytes": 136692,
        "member": "source/Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
        "sha256": "d5d12875d4841ef4ded4a4d2cf69311070cd9d59a5a1fd34c333ead8f1a26653"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 817,
      "content_sha256": "786eb8874d1f929a3adb18846244b290d63ba3c48a127758d446552c46ebb161",
      "environment": "ex",
      "id": "unit.r017.book1.ch15.text.ex-002",
      "label": "ex:knapsack-warmup",
      "line_range": [
        2146,
        2166
      ],
      "native_record_sha256": "91c761220a2ae32718bf48a3f15edeb18be16d73a48fcb699bcb5047865f1005",
      "normalized_character_range": [
        113730,
        114547
      ],
      "normalized_utf8_byte_range": [
        113742,
        114559
      ],
      "path": "Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
      "source_file": {
        "archive": "source",
        "bytes": 136692,
        "member": "source/Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
        "sha256": "d5d12875d4841ef4ded4a4d2cf69311070cd9d59a5a1fd34c333ead8f1a26653"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 873,
      "content_sha256": "f15dc98e6fad01453ecd3bbe55db67c1cb96205b13b4a4288a7c60ac1a09a8e3",
      "environment": "ex",
      "id": "unit.r017.book1.ch15.text.ex-003",
      "label": "ex:fire-warmup",
      "line_range": [
        2168,
        2187
      ],
      "native_record_sha256": "41d85f3f505a3d4e08b671535855627b5a472c64247173f89943a9ecc39b943b",
      "normalized_character_range": [
        114549,
        115422
      ],
      "normalized_utf8_byte_range": [
        114561,
        115434
      ],
      "path": "Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
      "source_file": {
        "archive": "source",
        "bytes": 136692,
        "member": "source/Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
        "sha256": "d5d12875d4841ef4ded4a4d2cf69311070cd9d59a5a1fd34c333ead8f1a26653"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 784,
      "content_sha256": "8f0ee9a92127c76117ee0e2a9e99fdacd506f6f83cb11577d4ecfd2cbb1e9e15",
      "environment": "ex",
      "id": "unit.r017.book1.ch15.text.ex-004",
      "label": "ex:bigM-drill",
      "line_range": [
        2189,
        2197
      ],
      "native_record_sha256": "d5a8deab7ac21fbed7a04ae015190d11f94d7c0ff2d089b9e34b9637ea891bda",
      "normalized_character_range": [
        115424,
        116208
      ],
      "normalized_utf8_byte_range": [
        115436,
        116220
      ],
      "path": "Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
      "source_file": {
        "archive": "source",
        "bytes": 136692,
        "member": "source/Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
        "sha256": "d5d12875d4841ef4ded4a4d2cf69311070cd9d59a5a1fd34c333ead8f1a26653"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1120,
      "content_sha256": "9d5d7935d296858ce9272c054c4e984f1aeed0c03ecbd05b16b0c34382dfb45a",
      "environment": "ex",
      "id": "unit.r017.book1.ch15.text.ex-005",
      "label": "ex:terminals",
      "line_range": [
        2201,
        2218
      ],
      "native_record_sha256": "119e96a55598e9ed8929edbf34f8b4e2c926d7748e0bd731b1515c84456994c9",
      "normalized_character_range": [
        116234,
        117352
      ],
      "normalized_utf8_byte_range": [
        116246,
        117366
      ],
      "path": "Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
      "source_file": {
        "archive": "source",
        "bytes": 136692,
        "member": "source/Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
        "sha256": "d5d12875d4841ef4ded4a4d2cf69311070cd9d59a5a1fd34c333ead8f1a26653"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1128,
      "content_sha256": "e0208e4f115ad98199a6a8b4558433da2fd8a50aa5277d36657b974305a153a9",
      "environment": "ex",
      "id": "unit.r017.book1.ch15.text.ex-006",
      "label": "ex:warehouse-cover",
      "line_range": [
        2220,
        2244
      ],
      "native_record_sha256": "1f1fe70cae25e9f975de4eb7d075e1cec41cc04cb428a9046bb82a01d8f1229b",
      "normalized_character_range": [
        117354,
        118482
      ],
      "normalized_utf8_byte_range": [
        117368,
        118496
      ],
      "path": "Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
      "source_file": {
        "archive": "source",
        "bytes": 136692,
        "member": "source/Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
        "sha256": "d5d12875d4841ef4ded4a4d2cf69311070cd9d59a5a1fd34c333ead8f1a26653"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1256,
      "content_sha256": "405925c1b8a5444a3cab88de5fdea9822bef94215b8ab50c6a52cd0981c25db5",
      "environment": "ex",
      "id": "unit.r017.book1.ch15.text.ex-007",
      "label": "ex:capital-dependencies",
      "line_range": [
        2246,
        2268
      ],
      "native_record_sha256": "cd147b3ac5bc29ac5c1163ecec77fd458287b7b82f522fc1412445195a59b8df",
      "normalized_character_range": [
        118484,
        119740
      ],
      "normalized_utf8_byte_range": [
        118498,
        119754
      ],
      "path": "Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
      "source_file": {
        "archive": "source",
        "bytes": 136692,
        "member": "source/Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
        "sha256": "d5d12875d4841ef4ded4a4d2cf69311070cd9d59a5a1fd34c333ead8f1a26653"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1216,
      "content_sha256": "0e0a0c05dcb1ba9f2634fe3233638a75bf8f0fc97e70cb1716dbb45c1a629a24",
      "environment": "ex",
      "id": "unit.r017.book1.ch15.text.ex-008",
      "label": "ex:facility-small",
      "line_range": [
        2270,
        2295
      ],
      "native_record_sha256": "673f01d08b6ecab9fb0dccfa4a4615f5f07354cef88c52470f4be18a23d7faba",
      "normalized_character_range": [
        119742,
        120958
      ],
      "normalized_utf8_byte_range": [
        119756,
        120972
      ],
      "path": "Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
      "source_file": {
        "archive": "source",
        "bytes": 136692,
        "member": "source/Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
        "sha256": "d5d12875d4841ef4ded4a4d2cf69311070cd9d59a5a1fd34c333ead8f1a26653"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 669,
      "content_sha256": "50b90f463d94818757677764aa5a286f622a3c0284b783fa58918d02c5818083",
      "environment": "ex",
      "id": "unit.r017.book1.ch15.text.ex-009",
      "label": "ex:graph-coloring-5",
      "line_range": [
        2297,
        2310
      ],
      "native_record_sha256": "79d79ab08ad7469649688b30abc7becbf6883b010cca1876d62d6a10a7ff389d",
      "normalized_character_range": [
        120960,
        121629
      ],
      "normalized_utf8_byte_range": [
        120974,
        121643
      ],
      "path": "Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
      "source_file": {
        "archive": "source",
        "bytes": 136692,
        "member": "source/Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
        "sha256": "d5d12875d4841ef4ded4a4d2cf69311070cd9d59a5a1fd34c333ead8f1a26653"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 715,
      "content_sha256": "48101685c22b1b9571ab3f539fb4f2d3adbc8b535ff405ebe6d4c1b3a13f7770",
      "environment": "ex",
      "id": "unit.r017.book1.ch15.text.ex-010",
      "label": "ex:either-or-modes",
      "line_range": [
        2312,
        2323
      ],
      "native_record_sha256": "0ec9a4b878b69b63dbbb2265e7a94520bdfff9fe2c7ae386adef8a23907ca022",
      "normalized_character_range": [
        121631,
        122346
      ],
      "normalized_utf8_byte_range": [
        121645,
        122360
      ],
      "path": "Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
      "source_file": {
        "archive": "source",
        "bytes": 136692,
        "member": "source/Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
        "sha256": "d5d12875d4841ef4ded4a4d2cf69311070cd9d59a5a1fd34c333ead8f1a26653"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 727,
      "content_sha256": "0aa4a2f9a3543daacc9bdbfb953b3be11471c3e110562cd11c289eeccfea3220",
      "environment": "ex",
      "id": "unit.r017.book1.ch15.text.ex-011",
      "label": "ex:fixed-charge",
      "line_range": [
        2325,
        2334
      ],
      "native_record_sha256": "b2760cad5841f61825b78dfc888cd0898e6f21dfccbfa764a0f409c65dec9e17",
      "normalized_character_range": [
        122348,
        123075
      ],
      "normalized_utf8_byte_range": [
        122362,
        123089
      ],
      "path": "Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
      "source_file": {
        "archive": "source",
        "bytes": 136692,
        "member": "source/Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
        "sha256": "d5d12875d4841ef4ded4a4d2cf69311070cd9d59a5a1fd34c333ead8f1a26653"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1297,
      "content_sha256": "0ac7e756c4e38cd46c2ce51914ef682fbf7960b41b4caf329031b75d707e5424",
      "environment": "ex",
      "id": "unit.r017.book1.ch15.text.ex-012",
      "label": "ex:lp-rounding",
      "line_range": [
        2338,
        2347
      ],
      "native_record_sha256": "fe617cda8342ad65e04270f3bfb8bd31ddb14f2baa1a1b96e7a8515810d18b8e",
      "normalized_character_range": [
        123111,
        124408
      ],
      "normalized_utf8_byte_range": [
        123125,
        124422
      ],
      "path": "Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
      "source_file": {
        "archive": "source",
        "bytes": 136692,
        "member": "source/Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
        "sha256": "d5d12875d4841ef4ded4a4d2cf69311070cd9d59a5a1fd34c333ead8f1a26653"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1027,
      "content_sha256": "ec0fd2fc011f853048e354475501abf9c407378fdab3ae09b6c77b49c0009a3e",
      "environment": "ex",
      "id": "unit.r017.book1.ch15.text.ex-013",
      "label": "ex:bigM-size",
      "line_range": [
        2349,
        2358
      ],
      "native_record_sha256": "bb024e8d8edb3b2be73883767c81ade57e6d5ed4c75a75b2570e1d58f02ea669",
      "normalized_character_range": [
        124410,
        125437
      ],
      "normalized_utf8_byte_range": [
        124424,
        125451
      ],
      "path": "Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
      "source_file": {
        "archive": "source",
        "bytes": 136692,
        "member": "source/Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
        "sha256": "d5d12875d4841ef4ded4a4d2cf69311070cd9d59a5a1fd34c333ead8f1a26653"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 988,
      "content_sha256": "bdc0a7e4de7f9d726d0d957957e8158108a13729445b9e06a3856d4d337a636e",
      "environment": "ex",
      "id": "unit.r017.book1.ch15.text.ex-014",
      "label": "ex:kidney-model",
      "line_range": [
        2360,
        2370
      ],
      "native_record_sha256": "df60a825c2d9054907936cbd4dbceca5c652e571b0f74d8fe84c4335782571eb",
      "normalized_character_range": [
        125439,
        126427
      ],
      "normalized_utf8_byte_range": [
        125453,
        126441
      ],
      "path": "Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
      "source_file": {
        "archive": "source",
        "bytes": 136692,
        "member": "source/Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
        "sha256": "d5d12875d4841ef4ded4a4d2cf69311070cd9d59a5a1fd34c333ead8f1a26653"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1069,
      "content_sha256": "d5859372d9487bd9ff999ae0f1f9396965f23b4195cd65853ef89e459d23d217",
      "environment": "ex",
      "id": "unit.r017.book1.ch15.text.ex-015",
      "label": "ex:pwl-challenge",
      "line_range": [
        2374,
        2383
      ],
      "native_record_sha256": "9c007d05961dc5c46f0bad536dbe4b45de28dca637fac884f070b6dc6eb0385d",
      "normalized_character_range": [
        126458,
        127527
      ],
      "normalized_utf8_byte_range": [
        126472,
        127541
      ],
      "path": "Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
      "source_file": {
        "archive": "source",
        "bytes": 136692,
        "member": "source/Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
        "sha256": "d5d12875d4841ef4ded4a4d2cf69311070cd9d59a5a1fd34c333ead8f1a26653"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 1319,
      "content_sha256": "e1e91a87e2cc7ddbe6c8c89c58e61eeb72ff7299f3abe23bc9bac5cd4faf0de6",
      "environment": "ex",
      "id": "unit.r017.book1.ch15.text.ex-016",
      "label": "ex:flowshop",
      "line_range": [
        2385,
        2407
      ],
      "native_record_sha256": "07cd93a94276193d0fe3d4c33a8ccb79c666f66f9ab7a4329a7424e752852021",
      "normalized_character_range": [
        127529,
        128848
      ],
      "normalized_utf8_byte_range": [
        127543,
        128862
      ],
      "path": "Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
      "source_file": {
        "archive": "source",
        "bytes": 136692,
        "member": "source/Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
        "sha256": "d5d12875d4841ef4ded4a4d2cf69311070cd9d59a5a1fd34c333ead8f1a26653"
      },
      "type": "exercise"
    },
    {
      "content_bytes": 526,
      "content_sha256": "aee7769679a93ab6573c810d197b429769b1b8bee0ef557f3ced2e5e94f2a675",
      "environment": "solution",
      "id": "unit.r017.book1.ch15.text.solution-001",
      "label": null,
      "line_range": [
        2411,
        2419
      ],
      "native_record_sha256": "3bb00281a1a0b6f7d3ae3a8682ace588e741cbdc9abbddbea471f36247b54bb0",
      "normalized_character_range": [
        128884,
        129410
      ],
      "normalized_utf8_byte_range": [
        128898,
        129424
      ],
      "path": "Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
      "source_file": {
        "archive": "source",
        "bytes": 136692,
        "member": "source/Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
        "sha256": "d5d12875d4841ef4ded4a4d2cf69311070cd9d59a5a1fd34c333ead8f1a26653"
      },
      "type": "solution"
    },
    {
      "content_bytes": 646,
      "content_sha256": "ff6bbce7f47823c5e49df139a0d70937bbe6a7599568f4afd60ddfe0aaa37618",
      "environment": "solution",
      "id": "unit.r017.book1.ch15.text.solution-002",
      "label": null,
      "line_range": [
        2421,
        2423
      ],
      "native_record_sha256": "c6c2cffa85d44db915bcd87eb33933496ebbeae2d0b4151b81a72ed8f579af93",
      "normalized_character_range": [
        129412,
        130058
      ],
      "normalized_utf8_byte_range": [
        129426,
        130072
      ],
      "path": "Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
      "source_file": {
        "archive": "source",
        "bytes": 136692,
        "member": "source/Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
        "sha256": "d5d12875d4841ef4ded4a4d2cf69311070cd9d59a5a1fd34c333ead8f1a26653"
      },
      "type": "solution"
    },
    {
      "content_bytes": 594,
      "content_sha256": "c8fcb6d98552868ac73b87aa3d96e4598cd53832cd145396fa6dfd5bcd791980",
      "environment": "solution",
      "id": "unit.r017.book1.ch15.text.solution-003",
      "label": null,
      "line_range": [
        2425,
        2427
      ],
      "native_record_sha256": "0e3de25aebf04d708adbf8663e8e9b1306bb351a4903d67ba823b6dce6b4172a",
      "normalized_character_range": [
        130060,
        130654
      ],
      "normalized_utf8_byte_range": [
        130074,
        130668
      ],
      "path": "Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
      "source_file": {
        "archive": "source",
        "bytes": 136692,
        "member": "source/Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
        "sha256": "d5d12875d4841ef4ded4a4d2cf69311070cd9d59a5a1fd34c333ead8f1a26653"
      },
      "type": "solution"
    },
    {
      "content_bytes": 426,
      "content_sha256": "3de4600ab5e22067912d3a8a034f82944d4ed86b9968845309e602a63b6a20e4",
      "environment": "solution",
      "id": "unit.r017.book1.ch15.text.solution-004",
      "label": null,
      "line_range": [
        2429,
        2431
      ],
      "native_record_sha256": "475042900d30adab204d0c6d9f19fcf25dfb79c34b0f5e133cb1d92fb7f4ee7c",
      "normalized_character_range": [
        130656,
        131082
      ],
      "normalized_utf8_byte_range": [
        130670,
        131096
      ],
      "path": "Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
      "source_file": {
        "archive": "source",
        "bytes": 136692,
        "member": "source/Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
        "sha256": "d5d12875d4841ef4ded4a4d2cf69311070cd9d59a5a1fd34c333ead8f1a26653"
      },
      "type": "solution"
    },
    {
      "content_bytes": 687,
      "content_sha256": "819f97aaae6b0ac08d33a23785817b65da634023f27ebac68edfbe5b6292dfdd",
      "environment": "solution",
      "id": "unit.r017.book1.ch15.text.solution-005",
      "label": null,
      "line_range": [
        2433,
        2444
      ],
      "native_record_sha256": "c45bd66fff54df680d6f601dde31a91cdbd48f8e2317f43c4585686b21a75ff2",
      "normalized_character_range": [
        131084,
        131771
      ],
      "normalized_utf8_byte_range": [
        131098,
        131785
      ],
      "path": "Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
      "source_file": {
        "archive": "source",
        "bytes": 136692,
        "member": "source/Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
        "sha256": "d5d12875d4841ef4ded4a4d2cf69311070cd9d59a5a1fd34c333ead8f1a26653"
      },
      "type": "solution"
    },
    {
      "content_bytes": 655,
      "content_sha256": "c67fe1359d745ccc92d8ff55c6838713eff1f637a403a45769c90dafdeffab25",
      "environment": "solution",
      "id": "unit.r017.book1.ch15.text.solution-006",
      "label": null,
      "line_range": [
        2446,
        2456
      ],
      "native_record_sha256": "ca8c402842f3bbef78d5812ea42f77fda225836e886b6fb55ee734e3ec421292",
      "normalized_character_range": [
        131773,
        132428
      ],
      "normalized_utf8_byte_range": [
        131787,
        132442
      ],
      "path": "Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
      "source_file": {
        "archive": "source",
        "bytes": 136692,
        "member": "source/Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
        "sha256": "d5d12875d4841ef4ded4a4d2cf69311070cd9d59a5a1fd34c333ead8f1a26653"
      },
      "type": "solution"
    },
    {
      "content_bytes": 146,
      "content_sha256": "719ca8d9851621f8c391d0d8c36ee19aca2af94f65901bda1b83253cfc41be2f",
      "environment": "tryit",
      "id": "unit.r017.book1.ch15.text.tryit-001",
      "label": null,
      "line_range": [
        1497,
        1499
      ],
      "native_record_sha256": "7064bed1986bf4c65243516a351cdbc58263f288032b1c8892c1fd72def38116",
      "normalized_character_range": [
        83442,
        83588
      ],
      "normalized_utf8_byte_range": [
        83454,
        83600
      ],
      "path": "Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
      "source_file": {
        "archive": "source",
        "bytes": 136692,
        "member": "source/Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
        "sha256": "d5d12875d4841ef4ded4a4d2cf69311070cd9d59a5a1fd34c333ead8f1a26653"
      },
      "type": "tryit"
    },
    {
      "content_bytes": 342,
      "content_sha256": "f8e5c192a9598014cc39316f62c7b7df517a639d750f548898fbf2ee62423cda",
      "environment": "tryit",
      "id": "unit.r017.book1.ch15.text.tryit-002",
      "label": null,
      "line_range": [
        2458,
        2462
      ],
      "native_record_sha256": "f7388b6a60ca0f5df16d4cc2fa57b8b040cef7a72bf7d8ea8ad7493caad75281",
      "normalized_character_range": [
        132430,
        132772
      ],
      "normalized_utf8_byte_range": [
        132444,
        132786
      ],
      "path": "Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
      "source_file": {
        "archive": "source",
        "bytes": 136692,
        "member": "source/Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
        "sha256": "d5d12875d4841ef4ded4a4d2cf69311070cd9d59a5a1fd34c333ead8f1a26653"
      },
      "type": "tryit"
    }
  ],
  "native_lab_relations": [
    {
      "from_id": "unit.o018.lab.ch10.ex-10-1",
      "id": "relation.adapts.unit.o018.lab.ch10.ex-10-1.unit.r017.book1.ch10.text.ex-001",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-001"
    },
    {
      "from_id": "unit.o018.lab.ch10.ex-10-10",
      "id": "relation.adapts.unit.o018.lab.ch10.ex-10-10.unit.r017.book1.ch10.text.ex-010",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-010"
    },
    {
      "from_id": "unit.o018.lab.ch10.ex-10-11",
      "id": "relation.adapts.unit.o018.lab.ch10.ex-10-11.unit.r017.book1.ch10.text.ex-011",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-011"
    },
    {
      "from_id": "unit.o018.lab.ch10.ex-10-12",
      "id": "relation.adapts.unit.o018.lab.ch10.ex-10-12.unit.r017.book1.ch10.text.ex-012",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-012"
    },
    {
      "from_id": "unit.o018.lab.ch10.ex-10-2",
      "id": "relation.adapts.unit.o018.lab.ch10.ex-10-2.unit.r017.book1.ch10.text.ex-002",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-002"
    },
    {
      "from_id": "unit.o018.lab.ch10.ex-10-3",
      "id": "relation.adapts.unit.o018.lab.ch10.ex-10-3.unit.r017.book1.ch10.text.ex-003",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-003"
    },
    {
      "from_id": "unit.o018.lab.ch10.ex-10-4",
      "id": "relation.adapts.unit.o018.lab.ch10.ex-10-4.unit.r017.book1.ch10.text.ex-004",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-004"
    },
    {
      "from_id": "unit.o018.lab.ch10.ex-10-5",
      "id": "relation.adapts.unit.o018.lab.ch10.ex-10-5.unit.r017.book1.ch10.text.ex-005",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-005"
    },
    {
      "from_id": "unit.o018.lab.ch10.ex-10-6",
      "id": "relation.adapts.unit.o018.lab.ch10.ex-10-6.unit.r017.book1.ch10.text.ex-006",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-006"
    },
    {
      "from_id": "unit.o018.lab.ch10.ex-10-7",
      "id": "relation.adapts.unit.o018.lab.ch10.ex-10-7.unit.r017.book1.ch10.text.ex-007",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-007"
    },
    {
      "from_id": "unit.o018.lab.ch10.ex-10-8",
      "id": "relation.adapts.unit.o018.lab.ch10.ex-10-8.unit.r017.book1.ch10.text.ex-008",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-008"
    },
    {
      "from_id": "unit.o018.lab.ch10.ex-10-9",
      "id": "relation.adapts.unit.o018.lab.ch10.ex-10-9.unit.r017.book1.ch10.text.ex-009",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-009"
    },
    {
      "from_id": "unit.o018.lab.ch10",
      "id": "relation.adapts.unit.o018.lab.ch10.unit.r017.book1.ch10",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-1",
      "id": "relation.adapts.unit.o018.lab.ch11.ex-11-1.unit.r017.book1.ch11.text-a.ex-001",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-a.ex-001"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-10",
      "id": "relation.adapts.unit.o018.lab.ch11.ex-11-10.unit.r017.book1.ch11.text-b.ex-001",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-b.ex-001"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-11",
      "id": "relation.adapts.unit.o018.lab.ch11.ex-11-11.unit.r017.book1.ch11.text-b.ex-002",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-b.ex-002"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-12",
      "id": "relation.adapts.unit.o018.lab.ch11.ex-11-12.unit.r017.book1.ch11.text-b.ex-003",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-b.ex-003"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-13",
      "id": "relation.adapts.unit.o018.lab.ch11.ex-11-13.unit.r017.book1.ch11.text-b.ex-004",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-b.ex-004"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-14",
      "id": "relation.adapts.unit.o018.lab.ch11.ex-11-14.unit.r017.book1.ch11.text-b.ex-005",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-b.ex-005"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-15",
      "id": "relation.adapts.unit.o018.lab.ch11.ex-11-15.unit.r017.book1.ch11.text-b.ex-006",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-b.ex-006"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-16",
      "id": "relation.adapts.unit.o018.lab.ch11.ex-11-16.unit.r017.book1.ch11.text-b.ex-007",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-b.ex-007"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-17",
      "id": "relation.adapts.unit.o018.lab.ch11.ex-11-17.unit.r017.book1.ch11.text-b.ex-008",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-b.ex-008"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-2",
      "id": "relation.adapts.unit.o018.lab.ch11.ex-11-2.unit.r017.book1.ch11.text-a.ex-002",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-a.ex-002"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-3",
      "id": "relation.adapts.unit.o018.lab.ch11.ex-11-3.unit.r017.book1.ch11.text-a.ex-003",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-a.ex-003"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-4",
      "id": "relation.adapts.unit.o018.lab.ch11.ex-11-4.unit.r017.book1.ch11.text-a.ex-004",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-a.ex-004"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-5",
      "id": "relation.adapts.unit.o018.lab.ch11.ex-11-5.unit.r017.book1.ch11.text-a.ex-005",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-a.ex-005"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-6",
      "id": "relation.adapts.unit.o018.lab.ch11.ex-11-6.unit.r017.book1.ch11.text-a.ex-006",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-a.ex-006"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-7",
      "id": "relation.adapts.unit.o018.lab.ch11.ex-11-7.unit.r017.book1.ch11.text-a.ex-007",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-a.ex-007"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-8",
      "id": "relation.adapts.unit.o018.lab.ch11.ex-11-8.unit.r017.book1.ch11.text-a.ex-008",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-a.ex-008"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-9",
      "id": "relation.adapts.unit.o018.lab.ch11.ex-11-9.unit.r017.book1.ch11.text-a.ex-009",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-a.ex-009"
    },
    {
      "from_id": "unit.o018.lab.ch11",
      "id": "relation.adapts.unit.o018.lab.ch11.unit.r017.book1.ch11",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11"
    },
    {
      "from_id": "unit.o018.lab.ch12.ex-12-1",
      "id": "relation.adapts.unit.o018.lab.ch12.ex-12-1.unit.r017.book1.ch12.text.ex-001",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch12.text.ex-001"
    },
    {
      "from_id": "unit.o018.lab.ch12.ex-12-2",
      "id": "relation.adapts.unit.o018.lab.ch12.ex-12-2.unit.r017.book1.ch12.text.ex-002",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch12.text.ex-002"
    },
    {
      "from_id": "unit.o018.lab.ch12.ex-12-3",
      "id": "relation.adapts.unit.o018.lab.ch12.ex-12-3.unit.r017.book1.ch12.text.ex-003",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch12.text.ex-003"
    },
    {
      "from_id": "unit.o018.lab.ch12.ex-12-4",
      "id": "relation.adapts.unit.o018.lab.ch12.ex-12-4.unit.r017.book1.ch12.text.ex-004",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch12.text.ex-004"
    },
    {
      "from_id": "unit.o018.lab.ch12.ex-12-5",
      "id": "relation.adapts.unit.o018.lab.ch12.ex-12-5.unit.r017.book1.ch12.text.ex-005",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch12.text.ex-005"
    },
    {
      "from_id": "unit.o018.lab.ch12.ex-12-6",
      "id": "relation.adapts.unit.o018.lab.ch12.ex-12-6.unit.r017.book1.ch12.text.ex-006",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch12.text.ex-006"
    },
    {
      "from_id": "unit.o018.lab.ch12.ex-12-7",
      "id": "relation.adapts.unit.o018.lab.ch12.ex-12-7.unit.r017.book1.ch12.text.ex-007",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch12.text.ex-007"
    },
    {
      "from_id": "unit.o018.lab.ch12.ex-12-8",
      "id": "relation.adapts.unit.o018.lab.ch12.ex-12-8.unit.r017.book1.ch12.text.ex-008",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch12.text.ex-008"
    },
    {
      "from_id": "unit.o018.lab.ch12.ex-12-9",
      "id": "relation.adapts.unit.o018.lab.ch12.ex-12-9.unit.r017.book1.ch12.text.ex-009",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch12.text.ex-009"
    },
    {
      "from_id": "unit.o018.lab.ch12",
      "id": "relation.adapts.unit.o018.lab.ch12.unit.r017.book1.ch12",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch12"
    },
    {
      "from_id": "unit.o018.lab.ch13.ex-13-1",
      "id": "relation.adapts.unit.o018.lab.ch13.ex-13-1.unit.r017.book1.ch13.text.ex-001",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13.text.ex-001"
    },
    {
      "from_id": "unit.o018.lab.ch13.ex-13-10",
      "id": "relation.adapts.unit.o018.lab.ch13.ex-13-10.unit.r017.book1.ch13.text.ex-010",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13.text.ex-010"
    },
    {
      "from_id": "unit.o018.lab.ch13.ex-13-11",
      "id": "relation.adapts.unit.o018.lab.ch13.ex-13-11.unit.r017.book1.ch13.text.ex-011",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13.text.ex-011"
    },
    {
      "from_id": "unit.o018.lab.ch13.ex-13-2",
      "id": "relation.adapts.unit.o018.lab.ch13.ex-13-2.unit.r017.book1.ch13.text.ex-002",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13.text.ex-002"
    },
    {
      "from_id": "unit.o018.lab.ch13.ex-13-3",
      "id": "relation.adapts.unit.o018.lab.ch13.ex-13-3.unit.r017.book1.ch13.text.ex-003",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13.text.ex-003"
    },
    {
      "from_id": "unit.o018.lab.ch13.ex-13-4",
      "id": "relation.adapts.unit.o018.lab.ch13.ex-13-4.unit.r017.book1.ch13.text.ex-004",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13.text.ex-004"
    },
    {
      "from_id": "unit.o018.lab.ch13.ex-13-5",
      "id": "relation.adapts.unit.o018.lab.ch13.ex-13-5.unit.r017.book1.ch13.text.ex-005",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13.text.ex-005"
    },
    {
      "from_id": "unit.o018.lab.ch13.ex-13-6",
      "id": "relation.adapts.unit.o018.lab.ch13.ex-13-6.unit.r017.book1.ch13.text.ex-006",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13.text.ex-006"
    },
    {
      "from_id": "unit.o018.lab.ch13.ex-13-7",
      "id": "relation.adapts.unit.o018.lab.ch13.ex-13-7.unit.r017.book1.ch13.text.ex-007",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13.text.ex-007"
    },
    {
      "from_id": "unit.o018.lab.ch13.ex-13-8",
      "id": "relation.adapts.unit.o018.lab.ch13.ex-13-8.unit.r017.book1.ch13.text.ex-008",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13.text.ex-008"
    },
    {
      "from_id": "unit.o018.lab.ch13.ex-13-9",
      "id": "relation.adapts.unit.o018.lab.ch13.ex-13-9.unit.r017.book1.ch13.text.ex-009",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13.text.ex-009"
    },
    {
      "from_id": "unit.o018.lab.ch13",
      "id": "relation.adapts.unit.o018.lab.ch13.unit.r017.book1.ch13",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13"
    },
    {
      "from_id": "unit.o018.lab.ch14.ex-14-1",
      "id": "relation.adapts.unit.o018.lab.ch14.ex-14-1.unit.r017.book1.ch14.text.ex-001",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch14.text.ex-001"
    },
    {
      "from_id": "unit.o018.lab.ch14.ex-14-3",
      "id": "relation.adapts.unit.o018.lab.ch14.ex-14-3.unit.r017.book1.ch14.text.ex-003",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch14.text.ex-003"
    },
    {
      "from_id": "unit.o018.lab.ch14.ex-14-4",
      "id": "relation.adapts.unit.o018.lab.ch14.ex-14-4.unit.r017.book1.ch14.text.ex-004",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch14.text.ex-004"
    },
    {
      "from_id": "unit.o018.lab.ch14.ex-14-concept-16",
      "id": "relation.adapts.unit.o018.lab.ch14.ex-14-concept-16.unit.r017.book1.ch14.text.itemexercise-005",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch14.text.itemexercise-005"
    },
    {
      "from_id": "unit.o018.lab.ch14.ex-14-concept-17",
      "id": "relation.adapts.unit.o018.lab.ch14.ex-14-concept-17.unit.r017.book1.ch14.text.itemexercise-006",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch14.text.itemexercise-006"
    },
    {
      "from_id": "unit.o018.lab.ch14.ex-14-skill-12",
      "id": "relation.adapts.unit.o018.lab.ch14.ex-14-skill-12.unit.r017.book1.ch14.text.itemexercise-002",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch14.text.itemexercise-002"
    },
    {
      "from_id": "unit.o018.lab.ch14.ex-14-skill-13",
      "id": "relation.adapts.unit.o018.lab.ch14.ex-14-skill-13.unit.r017.book1.ch14.text.itemexercise-003",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch14.text.itemexercise-003"
    },
    {
      "from_id": "unit.o018.lab.ch14.ex-14-skill-14",
      "id": "relation.adapts.unit.o018.lab.ch14.ex-14-skill-14.unit.r017.book1.ch14.text.itemexercise-004",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch14.text.itemexercise-004"
    },
    {
      "from_id": "unit.o018.lab.ch14.ex-14-skill-9",
      "id": "relation.adapts.unit.o018.lab.ch14.ex-14-skill-9.unit.r017.book1.ch14.text.itemexercise-001",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch14.text.itemexercise-001"
    },
    {
      "from_id": "unit.o018.lab.ch14",
      "id": "relation.adapts.unit.o018.lab.ch14.unit.r017.book1.ch14",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch14"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-1",
      "id": "relation.adapts.unit.o018.lab.ch15.ex-15-1.unit.r017.book1.ch15.text.ex-001",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-001"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-10",
      "id": "relation.adapts.unit.o018.lab.ch15.ex-15-10.unit.r017.book1.ch15.text.ex-010",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-010"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-11",
      "id": "relation.adapts.unit.o018.lab.ch15.ex-15-11.unit.r017.book1.ch15.text.ex-011",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-011"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-12",
      "id": "relation.adapts.unit.o018.lab.ch15.ex-15-12.unit.r017.book1.ch15.text.ex-012",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-012"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-13",
      "id": "relation.adapts.unit.o018.lab.ch15.ex-15-13.unit.r017.book1.ch15.text.ex-013",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-013"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-14",
      "id": "relation.adapts.unit.o018.lab.ch15.ex-15-14.unit.r017.book1.ch15.text.ex-014",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-014"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-15",
      "id": "relation.adapts.unit.o018.lab.ch15.ex-15-15.unit.r017.book1.ch15.text.ex-015",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-015"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-16",
      "id": "relation.adapts.unit.o018.lab.ch15.ex-15-16.unit.r017.book1.ch15.text.ex-016",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-016"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-2",
      "id": "relation.adapts.unit.o018.lab.ch15.ex-15-2.unit.r017.book1.ch15.text.ex-002",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-002"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-3",
      "id": "relation.adapts.unit.o018.lab.ch15.ex-15-3.unit.r017.book1.ch15.text.ex-003",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-003"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-4",
      "id": "relation.adapts.unit.o018.lab.ch15.ex-15-4.unit.r017.book1.ch15.text.ex-004",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-004"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-5",
      "id": "relation.adapts.unit.o018.lab.ch15.ex-15-5.unit.r017.book1.ch15.text.ex-005",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-005"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-6",
      "id": "relation.adapts.unit.o018.lab.ch15.ex-15-6.unit.r017.book1.ch15.text.ex-006",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-006"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-7",
      "id": "relation.adapts.unit.o018.lab.ch15.ex-15-7.unit.r017.book1.ch15.text.ex-007",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-007"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-8",
      "id": "relation.adapts.unit.o018.lab.ch15.ex-15-8.unit.r017.book1.ch15.text.ex-008",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-008"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-9",
      "id": "relation.adapts.unit.o018.lab.ch15.ex-15-9.unit.r017.book1.ch15.text.ex-009",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-009"
    },
    {
      "from_id": "unit.o018.lab.ch15",
      "id": "relation.adapts.unit.o018.lab.ch15.unit.r017.book1.ch15",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15"
    },
    {
      "from_id": "unit.o018.lab.ch01-shirt-ordering",
      "id": "relation.o018-adapts-r017-ex011",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch01.text.ex-011"
    },
    {
      "from_id": "unit.o018.lab.ch03.ex01",
      "id": "relation.o018-ch03-ex01-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch03.text.ex-001"
    },
    {
      "from_id": "unit.o018.lab.ch03.ex01",
      "id": "relation.o018-ch03-ex01-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch03.text.ex-001"
    },
    {
      "from_id": "unit.o018.lab.ch03.ex02",
      "id": "relation.o018-ch03-ex02-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch03.text.ex-002"
    },
    {
      "from_id": "unit.o018.lab.ch03.ex02",
      "id": "relation.o018-ch03-ex02-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch03.text.ex-002"
    },
    {
      "from_id": "unit.o018.lab.ch03.ex03",
      "id": "relation.o018-ch03-ex03-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch03.text.ex-003"
    },
    {
      "from_id": "unit.o018.lab.ch03.ex03",
      "id": "relation.o018-ch03-ex03-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch03.text.ex-003"
    },
    {
      "from_id": "unit.o018.lab.ch03.ex04",
      "id": "relation.o018-ch03-ex04-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch03.text.ex-004"
    },
    {
      "from_id": "unit.o018.lab.ch03.ex04",
      "id": "relation.o018-ch03-ex04-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch03.text.ex-004"
    },
    {
      "from_id": "unit.o018.lab.ch03.ex05",
      "id": "relation.o018-ch03-ex05-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch03.text.ex-005"
    },
    {
      "from_id": "unit.o018.lab.ch03.ex05",
      "id": "relation.o018-ch03-ex05-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch03.text.ex-005"
    },
    {
      "from_id": "unit.o018.lab.ch03.ex06",
      "id": "relation.o018-ch03-ex06-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch03.text.ex-006"
    },
    {
      "from_id": "unit.o018.lab.ch03.ex06",
      "id": "relation.o018-ch03-ex06-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch03.text.ex-006"
    },
    {
      "from_id": "unit.o018.lab.ch03.ex07",
      "id": "relation.o018-ch03-ex07-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch03.text.ex-007"
    },
    {
      "from_id": "unit.o018.lab.ch03.ex07",
      "id": "relation.o018-ch03-ex07-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch03.text.ex-007"
    },
    {
      "from_id": "unit.o018.lab.ch03.ex08",
      "id": "relation.o018-ch03-ex08-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch03.text.ex-008"
    },
    {
      "from_id": "unit.o018.lab.ch03.ex08",
      "id": "relation.o018-ch03-ex08-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch03.text.ex-008"
    },
    {
      "from_id": "unit.o018.lab.ch03.ex09",
      "id": "relation.o018-ch03-ex09-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch03.text.ex-009"
    },
    {
      "from_id": "unit.o018.lab.ch03.ex09",
      "id": "relation.o018-ch03-ex09-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch03.text.ex-009"
    },
    {
      "from_id": "unit.o018.lab.ch04.absolute-deviation",
      "id": "relation.o018-ch04-absolute-deviation-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch04.text-a.examplewithallcode-006"
    },
    {
      "from_id": "unit.o018.lab.ch04-compact-modeling-replacements",
      "id": "relation.o018-ch04-adapts-r017",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch04"
    },
    {
      "from_id": "unit.o018.lab.ch04.airline-max-flow",
      "id": "relation.o018-ch04-airline-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch04.text-b.examplewithallcode-002"
    },
    {
      "from_id": "unit.o018.lab.ch04.assignment-generic",
      "id": "relation.o018-ch04-assignment-generic-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch04.text-a.examplewithallcode-005"
    },
    {
      "from_id": "unit.o018.lab.ch04.assignment-machine",
      "id": "relation.o018-ch04-assignment-machine-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch04.text-a.examplewithallcode-003"
    },
    {
      "from_id": "unit.o018.lab.ch04.assignment-school-bus",
      "id": "relation.o018-ch04-assignment-school-bus-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch04.text-a.examplewithallcode-004"
    },
    {
      "from_id": "unit.o018.lab.ch04.investment-multi-period",
      "id": "relation.o018-ch04-investment-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "design_unresolved",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch04.text-b.examplewithallcode-005"
    },
    {
      "from_id": "unit.o018.lab.ch04.min-cost-flow-warehouses",
      "id": "relation.o018-ch04-mincost-warehouses-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch04.text-b.examplewithallcode-001"
    },
    {
      "from_id": "unit.o018.lab.ch04.multicommodity-fractional",
      "id": "relation.o018-ch04-multicommodity-fractional-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch04.text-b.examplewithallcode-004"
    },
    {
      "from_id": "unit.o018.lab.ch04.multicommodity-integer",
      "id": "relation.o018-ch04-multicommodity-integer-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch04.text-b.examplewithallcode-003"
    },
    {
      "from_id": "unit.o018.lab.ch04.production-10period",
      "id": "relation.o018-ch04-production-10period-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch04.text-a.examplewithallcode-001"
    },
    {
      "from_id": "unit.o018.lab.ch04.production-overtime",
      "id": "relation.o018-ch04-production-overtime-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "parameter_required",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch04.text-a.examplewithallcode-002"
    },
    {
      "from_id": "unit.o018.lab.ch05-graphical-lp",
      "id": "relation.o018-ch05-adapts-r017",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex01",
      "id": "relation.o018-ch05-ex01-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-001"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex01",
      "id": "relation.o018-ch05-ex01-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-001"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex02",
      "id": "relation.o018-ch05-ex02-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-002"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex02",
      "id": "relation.o018-ch05-ex02-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-002"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex03",
      "id": "relation.o018-ch05-ex03-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-003"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex03",
      "id": "relation.o018-ch05-ex03-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-003"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex04",
      "id": "relation.o018-ch05-ex04-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-004"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex04",
      "id": "relation.o018-ch05-ex04-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-004"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex05",
      "id": "relation.o018-ch05-ex05-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-005"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex05",
      "id": "relation.o018-ch05-ex05-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-005"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex06",
      "id": "relation.o018-ch05-ex06-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-006"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex06",
      "id": "relation.o018-ch05-ex06-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-006"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex07",
      "id": "relation.o018-ch05-ex07-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-007"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex07",
      "id": "relation.o018-ch05-ex07-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-007"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex08",
      "id": "relation.o018-ch05-ex08-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-008"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex08",
      "id": "relation.o018-ch05-ex08-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-008"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex09",
      "id": "relation.o018-ch05-ex09-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-009"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex09",
      "id": "relation.o018-ch05-ex09-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-009"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex10",
      "id": "relation.o018-ch05-ex10-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-010"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex10",
      "id": "relation.o018-ch05-ex10-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-010"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex11",
      "id": "relation.o018-ch05-ex11-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "parameter_required",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-011"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex12",
      "id": "relation.o018-ch05-ex12-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-012"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex12",
      "id": "relation.o018-ch05-ex12-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-012"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex13",
      "id": "relation.o018-ch05-ex13-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-013"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex13",
      "id": "relation.o018-ch05-ex13-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-013"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex14",
      "id": "relation.o018-ch05-ex14-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-014"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex14",
      "id": "relation.o018-ch05-ex14-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-014"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex15",
      "id": "relation.o018-ch05-ex15-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-015"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex15",
      "id": "relation.o018-ch05-ex15-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-015"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex16",
      "id": "relation.o018-ch05-ex16-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-016"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex16",
      "id": "relation.o018-ch05-ex16-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-016"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex17",
      "id": "relation.o018-ch05-ex17-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-017"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex17",
      "id": "relation.o018-ch05-ex17-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-017"
    },
    {
      "from_id": "unit.o018.lab.ch06-formal-mathematics",
      "id": "relation.o018-ch06-adapts-r017",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06"
    },
    {
      "from_id": "unit.o018.lab.ch06.ex01",
      "id": "relation.o018-ch06-ex01-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-001"
    },
    {
      "from_id": "unit.o018.lab.ch06.ex01",
      "id": "relation.o018-ch06-ex01-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-001"
    },
    {
      "from_id": "unit.o018.lab.ch06.ex02",
      "id": "relation.o018-ch06-ex02-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-002"
    },
    {
      "from_id": "unit.o018.lab.ch06.ex02",
      "id": "relation.o018-ch06-ex02-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-002"
    },
    {
      "from_id": "unit.o018.lab.ch06.ex03",
      "id": "relation.o018-ch06-ex03-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-003"
    },
    {
      "from_id": "unit.o018.lab.ch06.ex03",
      "id": "relation.o018-ch06-ex03-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-003"
    },
    {
      "from_id": "unit.o018.lab.ch06.ex04",
      "id": "relation.o018-ch06-ex04-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-004"
    },
    {
      "from_id": "unit.o018.lab.ch06.ex04",
      "id": "relation.o018-ch06-ex04-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-004"
    },
    {
      "from_id": "unit.o018.lab.ch06.ex05",
      "id": "relation.o018-ch06-ex05-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-005"
    },
    {
      "from_id": "unit.o018.lab.ch06.ex05",
      "id": "relation.o018-ch06-ex05-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-005"
    },
    {
      "from_id": "unit.o018.lab.ch06.ex06",
      "id": "relation.o018-ch06-ex06-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-006"
    },
    {
      "from_id": "unit.o018.lab.ch06.ex06",
      "id": "relation.o018-ch06-ex06-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-006"
    },
    {
      "from_id": "unit.o018.lab.ch06.ex07",
      "id": "relation.o018-ch06-ex07-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-007"
    },
    {
      "from_id": "unit.o018.lab.ch06.ex07",
      "id": "relation.o018-ch06-ex07-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-007"
    },
    {
      "from_id": "unit.o018.lab.ch06.ex08",
      "id": "relation.o018-ch06-ex08-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-008"
    },
    {
      "from_id": "unit.o018.lab.ch06.ex08",
      "id": "relation.o018-ch06-ex08-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-008"
    },
    {
      "from_id": "unit.o018.lab.ch06.ex09",
      "id": "relation.o018-ch06-ex09-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-009"
    },
    {
      "from_id": "unit.o018.lab.ch06.ex09",
      "id": "relation.o018-ch06-ex09-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-009"
    },
    {
      "from_id": "unit.o018.lab.ch06.ex10",
      "id": "relation.o018-ch06-ex10-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-010"
    },
    {
      "from_id": "unit.o018.lab.ch06.ex10",
      "id": "relation.o018-ch06-ex10-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-010"
    },
    {
      "from_id": "unit.o018.lab.ch06.ex11",
      "id": "relation.o018-ch06-ex11-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-011"
    },
    {
      "from_id": "unit.o018.lab.ch06.ex11",
      "id": "relation.o018-ch06-ex11-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-011"
    },
    {
      "from_id": "unit.o018.lab.ch06.ex12",
      "id": "relation.o018-ch06-ex12-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-012"
    },
    {
      "from_id": "unit.o018.lab.ch06.ex12",
      "id": "relation.o018-ch06-ex12-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-012"
    },
    {
      "from_id": "unit.o018.lab.ch07-ch09-simplex",
      "id": "relation.o018-simplex-adapts-r017-ch07",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07"
    },
    {
      "from_id": "unit.o018.lab.ch07-ch09-simplex",
      "id": "relation.o018-simplex-adapts-r017-ch08",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch08"
    },
    {
      "from_id": "unit.o018.lab.ch07-ch09-simplex",
      "id": "relation.o018-simplex-adapts-r017-ch09",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-01",
      "id": "relation.o018-simplex-ex07-01-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-001"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-01",
      "id": "relation.o018-simplex-ex07-01-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-001"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-02",
      "id": "relation.o018-simplex-ex07-02-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-002"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-02",
      "id": "relation.o018-simplex-ex07-02-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-002"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-03",
      "id": "relation.o018-simplex-ex07-03-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-003"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-03",
      "id": "relation.o018-simplex-ex07-03-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-003"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-04",
      "id": "relation.o018-simplex-ex07-04-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-004"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-04",
      "id": "relation.o018-simplex-ex07-04-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-004"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-05",
      "id": "relation.o018-simplex-ex07-05-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-005"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-05",
      "id": "relation.o018-simplex-ex07-05-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-005"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-06",
      "id": "relation.o018-simplex-ex07-06-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-006"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-06",
      "id": "relation.o018-simplex-ex07-06-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-006"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-07",
      "id": "relation.o018-simplex-ex07-07-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-007"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-07",
      "id": "relation.o018-simplex-ex07-07-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-007"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-08",
      "id": "relation.o018-simplex-ex07-08-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-008"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-08",
      "id": "relation.o018-simplex-ex07-08-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-008"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-09",
      "id": "relation.o018-simplex-ex07-09-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-009"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-09",
      "id": "relation.o018-simplex-ex07-09-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-009"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-10",
      "id": "relation.o018-simplex-ex07-10-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-010"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-10",
      "id": "relation.o018-simplex-ex07-10-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-010"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-11",
      "id": "relation.o018-simplex-ex07-11-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-011"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-11",
      "id": "relation.o018-simplex-ex07-11-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-011"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-12",
      "id": "relation.o018-simplex-ex07-12-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-012"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-12",
      "id": "relation.o018-simplex-ex07-12-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-012"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-13",
      "id": "relation.o018-simplex-ex07-13-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-013"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-13",
      "id": "relation.o018-simplex-ex07-13-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-013"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-14",
      "id": "relation.o018-simplex-ex07-14-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-014"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-14",
      "id": "relation.o018-simplex-ex07-14-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-014"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-15",
      "id": "relation.o018-simplex-ex07-15-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-015"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-15",
      "id": "relation.o018-simplex-ex07-15-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-015"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-16",
      "id": "relation.o018-simplex-ex07-16-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-016"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-16",
      "id": "relation.o018-simplex-ex07-16-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-016"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-17",
      "id": "relation.o018-simplex-ex07-17-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-017"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-17",
      "id": "relation.o018-simplex-ex07-17-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-017"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex08-01",
      "id": "relation.o018-simplex-ex08-01-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch08.text.ex-001"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex08-01",
      "id": "relation.o018-simplex-ex08-01-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch08.text.ex-001"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex08-02",
      "id": "relation.o018-simplex-ex08-02-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch08.text.ex-002"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex08-02",
      "id": "relation.o018-simplex-ex08-02-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch08.text.ex-002"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex08-03",
      "id": "relation.o018-simplex-ex08-03-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch08.text.ex-003"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex08-03",
      "id": "relation.o018-simplex-ex08-03-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch08.text.ex-003"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex08-04",
      "id": "relation.o018-simplex-ex08-04-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch08.text.ex-004"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex08-04",
      "id": "relation.o018-simplex-ex08-04-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch08.text.ex-004"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex08-05",
      "id": "relation.o018-simplex-ex08-05-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch08.text.ex-005"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex08-05",
      "id": "relation.o018-simplex-ex08-05-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch08.text.ex-005"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex08-06",
      "id": "relation.o018-simplex-ex08-06-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch08.text.ex-006"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex08-06",
      "id": "relation.o018-simplex-ex08-06-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch08.text.ex-006"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex08-07",
      "id": "relation.o018-simplex-ex08-07-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch08.text.ex-007"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex08-07",
      "id": "relation.o018-simplex-ex08-07-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch08.text.ex-007"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex08-08",
      "id": "relation.o018-simplex-ex08-08-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch08.text.ex-008"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex08-08",
      "id": "relation.o018-simplex-ex08-08-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch08.text.ex-008"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex08-09",
      "id": "relation.o018-simplex-ex08-09-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch08.text.ex-009"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex08-09",
      "id": "relation.o018-simplex-ex08-09-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch08.text.ex-009"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex09-01",
      "id": "relation.o018-simplex-ex09-01-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-001"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex09-01",
      "id": "relation.o018-simplex-ex09-01-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-001"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex09-02",
      "id": "relation.o018-simplex-ex09-02-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-002"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex09-02",
      "id": "relation.o018-simplex-ex09-02-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-002"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex09-03",
      "id": "relation.o018-simplex-ex09-03-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-003"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex09-03",
      "id": "relation.o018-simplex-ex09-03-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-003"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex09-04",
      "id": "relation.o018-simplex-ex09-04-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-004"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex09-04",
      "id": "relation.o018-simplex-ex09-04-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-004"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex09-05",
      "id": "relation.o018-simplex-ex09-05-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-005"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex09-05",
      "id": "relation.o018-simplex-ex09-05-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-005"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex09-06",
      "id": "relation.o018-simplex-ex09-06-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-006"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex09-06",
      "id": "relation.o018-simplex-ex09-06-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-006"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex09-07",
      "id": "relation.o018-simplex-ex09-07-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-007"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex09-07",
      "id": "relation.o018-simplex-ex09-07-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-007"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex09-08",
      "id": "relation.o018-simplex-ex09-08-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-008"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex09-08",
      "id": "relation.o018-simplex-ex09-08-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-008"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex09-09",
      "id": "relation.o018-simplex-ex09-09-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-009"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex09-09",
      "id": "relation.o018-simplex-ex09-09-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-009"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex09-10",
      "id": "relation.o018-simplex-ex09-10-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-010"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex09-10",
      "id": "relation.o018-simplex-ex09-10-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-010"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex09-11",
      "id": "relation.o018-simplex-ex09-11-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-011"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex09-11",
      "id": "relation.o018-simplex-ex09-11-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-011"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex09-12",
      "id": "relation.o018-simplex-ex09-12-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-012"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex09-12",
      "id": "relation.o018-simplex-ex09-12-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-012"
    },
    {
      "from_id": "unit.o018.lab.ch01-shirt-ordering",
      "id": "relation.o018-solves-r017-ex011",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch01.text.ex-011"
    },
    {
      "from_id": "unit.o018.lab.ch10.ex-10-1",
      "id": "relation.solves.unit.o018.lab.ch10.ex-10-1.unit.r017.book1.ch10.text.ex-001",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-001"
    },
    {
      "from_id": "unit.o018.lab.ch10.ex-10-10",
      "id": "relation.solves.unit.o018.lab.ch10.ex-10-10.unit.r017.book1.ch10.text.ex-010",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-010"
    },
    {
      "from_id": "unit.o018.lab.ch10.ex-10-11",
      "id": "relation.solves.unit.o018.lab.ch10.ex-10-11.unit.r017.book1.ch10.text.ex-011",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-011"
    },
    {
      "from_id": "unit.o018.lab.ch10.ex-10-12",
      "id": "relation.solves.unit.o018.lab.ch10.ex-10-12.unit.r017.book1.ch10.text.ex-012",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-012"
    },
    {
      "from_id": "unit.o018.lab.ch10.ex-10-2",
      "id": "relation.solves.unit.o018.lab.ch10.ex-10-2.unit.r017.book1.ch10.text.ex-002",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-002"
    },
    {
      "from_id": "unit.o018.lab.ch10.ex-10-3",
      "id": "relation.solves.unit.o018.lab.ch10.ex-10-3.unit.r017.book1.ch10.text.ex-003",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-003"
    },
    {
      "from_id": "unit.o018.lab.ch10.ex-10-4",
      "id": "relation.solves.unit.o018.lab.ch10.ex-10-4.unit.r017.book1.ch10.text.ex-004",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-004"
    },
    {
      "from_id": "unit.o018.lab.ch10.ex-10-5",
      "id": "relation.solves.unit.o018.lab.ch10.ex-10-5.unit.r017.book1.ch10.text.ex-005",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-005"
    },
    {
      "from_id": "unit.o018.lab.ch10.ex-10-6",
      "id": "relation.solves.unit.o018.lab.ch10.ex-10-6.unit.r017.book1.ch10.text.ex-006",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-006"
    },
    {
      "from_id": "unit.o018.lab.ch10.ex-10-7",
      "id": "relation.solves.unit.o018.lab.ch10.ex-10-7.unit.r017.book1.ch10.text.ex-007",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-007"
    },
    {
      "from_id": "unit.o018.lab.ch10.ex-10-8",
      "id": "relation.solves.unit.o018.lab.ch10.ex-10-8.unit.r017.book1.ch10.text.ex-008",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-008"
    },
    {
      "from_id": "unit.o018.lab.ch10.ex-10-9",
      "id": "relation.solves.unit.o018.lab.ch10.ex-10-9.unit.r017.book1.ch10.text.ex-009",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-009"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-1",
      "id": "relation.solves.unit.o018.lab.ch11.ex-11-1.unit.r017.book1.ch11.text-a.ex-001",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-a.ex-001"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-10",
      "id": "relation.solves.unit.o018.lab.ch11.ex-11-10.unit.r017.book1.ch11.text-b.ex-001",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-b.ex-001"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-11",
      "id": "relation.solves.unit.o018.lab.ch11.ex-11-11.unit.r017.book1.ch11.text-b.ex-002",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-b.ex-002"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-12",
      "id": "relation.solves.unit.o018.lab.ch11.ex-11-12.unit.r017.book1.ch11.text-b.ex-003",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-b.ex-003"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-13",
      "id": "relation.solves.unit.o018.lab.ch11.ex-11-13.unit.r017.book1.ch11.text-b.ex-004",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-b.ex-004"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-14",
      "id": "relation.solves.unit.o018.lab.ch11.ex-11-14.unit.r017.book1.ch11.text-b.ex-005",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-b.ex-005"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-15",
      "id": "relation.solves.unit.o018.lab.ch11.ex-11-15.unit.r017.book1.ch11.text-b.ex-006",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-b.ex-006"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-16",
      "id": "relation.solves.unit.o018.lab.ch11.ex-11-16.unit.r017.book1.ch11.text-b.ex-007",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-b.ex-007"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-17",
      "id": "relation.solves.unit.o018.lab.ch11.ex-11-17.unit.r017.book1.ch11.text-b.ex-008",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-b.ex-008"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-2",
      "id": "relation.solves.unit.o018.lab.ch11.ex-11-2.unit.r017.book1.ch11.text-a.ex-002",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-a.ex-002"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-3",
      "id": "relation.solves.unit.o018.lab.ch11.ex-11-3.unit.r017.book1.ch11.text-a.ex-003",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-a.ex-003"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-4",
      "id": "relation.solves.unit.o018.lab.ch11.ex-11-4.unit.r017.book1.ch11.text-a.ex-004",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-a.ex-004"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-5",
      "id": "relation.solves.unit.o018.lab.ch11.ex-11-5.unit.r017.book1.ch11.text-a.ex-005",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-a.ex-005"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-6",
      "id": "relation.solves.unit.o018.lab.ch11.ex-11-6.unit.r017.book1.ch11.text-a.ex-006",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-a.ex-006"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-7",
      "id": "relation.solves.unit.o018.lab.ch11.ex-11-7.unit.r017.book1.ch11.text-a.ex-007",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-a.ex-007"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-8",
      "id": "relation.solves.unit.o018.lab.ch11.ex-11-8.unit.r017.book1.ch11.text-a.ex-008",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-a.ex-008"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-9",
      "id": "relation.solves.unit.o018.lab.ch11.ex-11-9.unit.r017.book1.ch11.text-a.ex-009",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-a.ex-009"
    },
    {
      "from_id": "unit.o018.lab.ch12.ex-12-1",
      "id": "relation.solves.unit.o018.lab.ch12.ex-12-1.unit.r017.book1.ch12.text.ex-001",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch12.text.ex-001"
    },
    {
      "from_id": "unit.o018.lab.ch12.ex-12-2",
      "id": "relation.solves.unit.o018.lab.ch12.ex-12-2.unit.r017.book1.ch12.text.ex-002",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch12.text.ex-002"
    },
    {
      "from_id": "unit.o018.lab.ch12.ex-12-3",
      "id": "relation.solves.unit.o018.lab.ch12.ex-12-3.unit.r017.book1.ch12.text.ex-003",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch12.text.ex-003"
    },
    {
      "from_id": "unit.o018.lab.ch12.ex-12-4",
      "id": "relation.solves.unit.o018.lab.ch12.ex-12-4.unit.r017.book1.ch12.text.ex-004",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch12.text.ex-004"
    },
    {
      "from_id": "unit.o018.lab.ch12.ex-12-5",
      "id": "relation.solves.unit.o018.lab.ch12.ex-12-5.unit.r017.book1.ch12.text.ex-005",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch12.text.ex-005"
    },
    {
      "from_id": "unit.o018.lab.ch12.ex-12-6",
      "id": "relation.solves.unit.o018.lab.ch12.ex-12-6.unit.r017.book1.ch12.text.ex-006",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch12.text.ex-006"
    },
    {
      "from_id": "unit.o018.lab.ch12.ex-12-7",
      "id": "relation.solves.unit.o018.lab.ch12.ex-12-7.unit.r017.book1.ch12.text.ex-007",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch12.text.ex-007"
    },
    {
      "from_id": "unit.o018.lab.ch12.ex-12-8",
      "id": "relation.solves.unit.o018.lab.ch12.ex-12-8.unit.r017.book1.ch12.text.ex-008",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch12.text.ex-008"
    },
    {
      "from_id": "unit.o018.lab.ch12.ex-12-9",
      "id": "relation.solves.unit.o018.lab.ch12.ex-12-9.unit.r017.book1.ch12.text.ex-009",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch12.text.ex-009"
    },
    {
      "from_id": "unit.o018.lab.ch13.ex-13-1",
      "id": "relation.solves.unit.o018.lab.ch13.ex-13-1.unit.r017.book1.ch13.text.ex-001",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13.text.ex-001"
    },
    {
      "from_id": "unit.o018.lab.ch13.ex-13-10",
      "id": "relation.solves.unit.o018.lab.ch13.ex-13-10.unit.r017.book1.ch13.text.ex-010",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13.text.ex-010"
    },
    {
      "from_id": "unit.o018.lab.ch13.ex-13-11",
      "id": "relation.solves.unit.o018.lab.ch13.ex-13-11.unit.r017.book1.ch13.text.ex-011",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13.text.ex-011"
    },
    {
      "from_id": "unit.o018.lab.ch13.ex-13-2",
      "id": "relation.solves.unit.o018.lab.ch13.ex-13-2.unit.r017.book1.ch13.text.ex-002",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13.text.ex-002"
    },
    {
      "from_id": "unit.o018.lab.ch13.ex-13-3",
      "id": "relation.solves.unit.o018.lab.ch13.ex-13-3.unit.r017.book1.ch13.text.ex-003",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13.text.ex-003"
    },
    {
      "from_id": "unit.o018.lab.ch13.ex-13-4",
      "id": "relation.solves.unit.o018.lab.ch13.ex-13-4.unit.r017.book1.ch13.text.ex-004",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13.text.ex-004"
    },
    {
      "from_id": "unit.o018.lab.ch13.ex-13-5",
      "id": "relation.solves.unit.o018.lab.ch13.ex-13-5.unit.r017.book1.ch13.text.ex-005",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13.text.ex-005"
    },
    {
      "from_id": "unit.o018.lab.ch13.ex-13-6",
      "id": "relation.solves.unit.o018.lab.ch13.ex-13-6.unit.r017.book1.ch13.text.ex-006",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13.text.ex-006"
    },
    {
      "from_id": "unit.o018.lab.ch13.ex-13-7",
      "id": "relation.solves.unit.o018.lab.ch13.ex-13-7.unit.r017.book1.ch13.text.ex-007",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13.text.ex-007"
    },
    {
      "from_id": "unit.o018.lab.ch13.ex-13-8",
      "id": "relation.solves.unit.o018.lab.ch13.ex-13-8.unit.r017.book1.ch13.text.ex-008",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13.text.ex-008"
    },
    {
      "from_id": "unit.o018.lab.ch13.ex-13-9",
      "id": "relation.solves.unit.o018.lab.ch13.ex-13-9.unit.r017.book1.ch13.text.ex-009",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13.text.ex-009"
    },
    {
      "from_id": "unit.o018.lab.ch14.ex-14-1",
      "id": "relation.solves.unit.o018.lab.ch14.ex-14-1.unit.r017.book1.ch14.text.ex-001",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch14.text.ex-001"
    },
    {
      "from_id": "unit.o018.lab.ch14.ex-14-3",
      "id": "relation.solves.unit.o018.lab.ch14.ex-14-3.unit.r017.book1.ch14.text.ex-003",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch14.text.ex-003"
    },
    {
      "from_id": "unit.o018.lab.ch14.ex-14-4",
      "id": "relation.solves.unit.o018.lab.ch14.ex-14-4.unit.r017.book1.ch14.text.ex-004",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch14.text.ex-004"
    },
    {
      "from_id": "unit.o018.lab.ch14.ex-14-concept-16",
      "id": "relation.solves.unit.o018.lab.ch14.ex-14-concept-16.unit.r017.book1.ch14.text.itemexercise-005",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch14.text.itemexercise-005"
    },
    {
      "from_id": "unit.o018.lab.ch14.ex-14-concept-17",
      "id": "relation.solves.unit.o018.lab.ch14.ex-14-concept-17.unit.r017.book1.ch14.text.itemexercise-006",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch14.text.itemexercise-006"
    },
    {
      "from_id": "unit.o018.lab.ch14.ex-14-skill-12",
      "id": "relation.solves.unit.o018.lab.ch14.ex-14-skill-12.unit.r017.book1.ch14.text.itemexercise-002",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch14.text.itemexercise-002"
    },
    {
      "from_id": "unit.o018.lab.ch14.ex-14-skill-13",
      "id": "relation.solves.unit.o018.lab.ch14.ex-14-skill-13.unit.r017.book1.ch14.text.itemexercise-003",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch14.text.itemexercise-003"
    },
    {
      "from_id": "unit.o018.lab.ch14.ex-14-skill-14",
      "id": "relation.solves.unit.o018.lab.ch14.ex-14-skill-14.unit.r017.book1.ch14.text.itemexercise-004",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch14.text.itemexercise-004"
    },
    {
      "from_id": "unit.o018.lab.ch14.ex-14-skill-9",
      "id": "relation.solves.unit.o018.lab.ch14.ex-14-skill-9.unit.r017.book1.ch14.text.itemexercise-001",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch14.text.itemexercise-001"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-1",
      "id": "relation.solves.unit.o018.lab.ch15.ex-15-1.unit.r017.book1.ch15.text.ex-001",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-001"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-10",
      "id": "relation.solves.unit.o018.lab.ch15.ex-15-10.unit.r017.book1.ch15.text.ex-010",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-010"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-11",
      "id": "relation.solves.unit.o018.lab.ch15.ex-15-11.unit.r017.book1.ch15.text.ex-011",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-011"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-12",
      "id": "relation.solves.unit.o018.lab.ch15.ex-15-12.unit.r017.book1.ch15.text.ex-012",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-012"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-13",
      "id": "relation.solves.unit.o018.lab.ch15.ex-15-13.unit.r017.book1.ch15.text.ex-013",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-013"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-14",
      "id": "relation.solves.unit.o018.lab.ch15.ex-15-14.unit.r017.book1.ch15.text.ex-014",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-014"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-15",
      "id": "relation.solves.unit.o018.lab.ch15.ex-15-15.unit.r017.book1.ch15.text.ex-015",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-015"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-16",
      "id": "relation.solves.unit.o018.lab.ch15.ex-15-16.unit.r017.book1.ch15.text.ex-016",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-016"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-2",
      "id": "relation.solves.unit.o018.lab.ch15.ex-15-2.unit.r017.book1.ch15.text.ex-002",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-002"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-3",
      "id": "relation.solves.unit.o018.lab.ch15.ex-15-3.unit.r017.book1.ch15.text.ex-003",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-003"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-4",
      "id": "relation.solves.unit.o018.lab.ch15.ex-15-4.unit.r017.book1.ch15.text.ex-004",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-004"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-5",
      "id": "relation.solves.unit.o018.lab.ch15.ex-15-5.unit.r017.book1.ch15.text.ex-005",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-005"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-6",
      "id": "relation.solves.unit.o018.lab.ch15.ex-15-6.unit.r017.book1.ch15.text.ex-006",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-006"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-7",
      "id": "relation.solves.unit.o018.lab.ch15.ex-15-7.unit.r017.book1.ch15.text.ex-007",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-007"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-8",
      "id": "relation.solves.unit.o018.lab.ch15.ex-15-8.unit.r017.book1.ch15.text.ex-008",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-008"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-9",
      "id": "relation.solves.unit.o018.lab.ch15.ex-15-9.unit.r017.book1.ch15.text.ex-009",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-009"
    }
  ],
  "native_support_relations": [
    {
      "from_id": "unit.o018.lab.ch10.ex-10-1",
      "id": "relation.adapts.unit.o018.lab.ch10.ex-10-1.unit.r017.book1.ch10.text.ex-001",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-001"
    },
    {
      "from_id": "unit.o018.lab.ch10.ex-10-10",
      "id": "relation.adapts.unit.o018.lab.ch10.ex-10-10.unit.r017.book1.ch10.text.ex-010",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-010"
    },
    {
      "from_id": "unit.o018.lab.ch10.ex-10-11",
      "id": "relation.adapts.unit.o018.lab.ch10.ex-10-11.unit.r017.book1.ch10.text.ex-011",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-011"
    },
    {
      "from_id": "unit.o018.lab.ch10.ex-10-12",
      "id": "relation.adapts.unit.o018.lab.ch10.ex-10-12.unit.r017.book1.ch10.text.ex-012",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-012"
    },
    {
      "from_id": "unit.o018.lab.ch10.ex-10-2",
      "id": "relation.adapts.unit.o018.lab.ch10.ex-10-2.unit.r017.book1.ch10.text.ex-002",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-002"
    },
    {
      "from_id": "unit.o018.lab.ch10.ex-10-3",
      "id": "relation.adapts.unit.o018.lab.ch10.ex-10-3.unit.r017.book1.ch10.text.ex-003",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-003"
    },
    {
      "from_id": "unit.o018.lab.ch10.ex-10-4",
      "id": "relation.adapts.unit.o018.lab.ch10.ex-10-4.unit.r017.book1.ch10.text.ex-004",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-004"
    },
    {
      "from_id": "unit.o018.lab.ch10.ex-10-5",
      "id": "relation.adapts.unit.o018.lab.ch10.ex-10-5.unit.r017.book1.ch10.text.ex-005",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-005"
    },
    {
      "from_id": "unit.o018.lab.ch10.ex-10-6",
      "id": "relation.adapts.unit.o018.lab.ch10.ex-10-6.unit.r017.book1.ch10.text.ex-006",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-006"
    },
    {
      "from_id": "unit.o018.lab.ch10.ex-10-7",
      "id": "relation.adapts.unit.o018.lab.ch10.ex-10-7.unit.r017.book1.ch10.text.ex-007",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-007"
    },
    {
      "from_id": "unit.o018.lab.ch10.ex-10-8",
      "id": "relation.adapts.unit.o018.lab.ch10.ex-10-8.unit.r017.book1.ch10.text.ex-008",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-008"
    },
    {
      "from_id": "unit.o018.lab.ch10.ex-10-9",
      "id": "relation.adapts.unit.o018.lab.ch10.ex-10-9.unit.r017.book1.ch10.text.ex-009",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-009"
    },
    {
      "from_id": "unit.o018.lab.ch10",
      "id": "relation.adapts.unit.o018.lab.ch10.unit.r017.book1.ch10",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-1",
      "id": "relation.adapts.unit.o018.lab.ch11.ex-11-1.unit.r017.book1.ch11.text-a.ex-001",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-a.ex-001"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-10",
      "id": "relation.adapts.unit.o018.lab.ch11.ex-11-10.unit.r017.book1.ch11.text-b.ex-001",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-b.ex-001"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-11",
      "id": "relation.adapts.unit.o018.lab.ch11.ex-11-11.unit.r017.book1.ch11.text-b.ex-002",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-b.ex-002"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-12",
      "id": "relation.adapts.unit.o018.lab.ch11.ex-11-12.unit.r017.book1.ch11.text-b.ex-003",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-b.ex-003"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-13",
      "id": "relation.adapts.unit.o018.lab.ch11.ex-11-13.unit.r017.book1.ch11.text-b.ex-004",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-b.ex-004"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-14",
      "id": "relation.adapts.unit.o018.lab.ch11.ex-11-14.unit.r017.book1.ch11.text-b.ex-005",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-b.ex-005"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-15",
      "id": "relation.adapts.unit.o018.lab.ch11.ex-11-15.unit.r017.book1.ch11.text-b.ex-006",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-b.ex-006"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-16",
      "id": "relation.adapts.unit.o018.lab.ch11.ex-11-16.unit.r017.book1.ch11.text-b.ex-007",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-b.ex-007"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-17",
      "id": "relation.adapts.unit.o018.lab.ch11.ex-11-17.unit.r017.book1.ch11.text-b.ex-008",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-b.ex-008"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-2",
      "id": "relation.adapts.unit.o018.lab.ch11.ex-11-2.unit.r017.book1.ch11.text-a.ex-002",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-a.ex-002"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-3",
      "id": "relation.adapts.unit.o018.lab.ch11.ex-11-3.unit.r017.book1.ch11.text-a.ex-003",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-a.ex-003"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-4",
      "id": "relation.adapts.unit.o018.lab.ch11.ex-11-4.unit.r017.book1.ch11.text-a.ex-004",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-a.ex-004"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-5",
      "id": "relation.adapts.unit.o018.lab.ch11.ex-11-5.unit.r017.book1.ch11.text-a.ex-005",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-a.ex-005"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-6",
      "id": "relation.adapts.unit.o018.lab.ch11.ex-11-6.unit.r017.book1.ch11.text-a.ex-006",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-a.ex-006"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-7",
      "id": "relation.adapts.unit.o018.lab.ch11.ex-11-7.unit.r017.book1.ch11.text-a.ex-007",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-a.ex-007"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-8",
      "id": "relation.adapts.unit.o018.lab.ch11.ex-11-8.unit.r017.book1.ch11.text-a.ex-008",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-a.ex-008"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-9",
      "id": "relation.adapts.unit.o018.lab.ch11.ex-11-9.unit.r017.book1.ch11.text-a.ex-009",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-a.ex-009"
    },
    {
      "from_id": "unit.o018.lab.ch11",
      "id": "relation.adapts.unit.o018.lab.ch11.unit.r017.book1.ch11",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11"
    },
    {
      "from_id": "unit.o018.lab.ch12.ex-12-1",
      "id": "relation.adapts.unit.o018.lab.ch12.ex-12-1.unit.r017.book1.ch12.text.ex-001",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch12.text.ex-001"
    },
    {
      "from_id": "unit.o018.lab.ch12.ex-12-2",
      "id": "relation.adapts.unit.o018.lab.ch12.ex-12-2.unit.r017.book1.ch12.text.ex-002",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch12.text.ex-002"
    },
    {
      "from_id": "unit.o018.lab.ch12.ex-12-3",
      "id": "relation.adapts.unit.o018.lab.ch12.ex-12-3.unit.r017.book1.ch12.text.ex-003",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch12.text.ex-003"
    },
    {
      "from_id": "unit.o018.lab.ch12.ex-12-4",
      "id": "relation.adapts.unit.o018.lab.ch12.ex-12-4.unit.r017.book1.ch12.text.ex-004",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch12.text.ex-004"
    },
    {
      "from_id": "unit.o018.lab.ch12.ex-12-5",
      "id": "relation.adapts.unit.o018.lab.ch12.ex-12-5.unit.r017.book1.ch12.text.ex-005",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch12.text.ex-005"
    },
    {
      "from_id": "unit.o018.lab.ch12.ex-12-6",
      "id": "relation.adapts.unit.o018.lab.ch12.ex-12-6.unit.r017.book1.ch12.text.ex-006",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch12.text.ex-006"
    },
    {
      "from_id": "unit.o018.lab.ch12.ex-12-7",
      "id": "relation.adapts.unit.o018.lab.ch12.ex-12-7.unit.r017.book1.ch12.text.ex-007",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch12.text.ex-007"
    },
    {
      "from_id": "unit.o018.lab.ch12.ex-12-8",
      "id": "relation.adapts.unit.o018.lab.ch12.ex-12-8.unit.r017.book1.ch12.text.ex-008",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch12.text.ex-008"
    },
    {
      "from_id": "unit.o018.lab.ch12.ex-12-9",
      "id": "relation.adapts.unit.o018.lab.ch12.ex-12-9.unit.r017.book1.ch12.text.ex-009",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch12.text.ex-009"
    },
    {
      "from_id": "unit.o018.lab.ch12",
      "id": "relation.adapts.unit.o018.lab.ch12.unit.r017.book1.ch12",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch12"
    },
    {
      "from_id": "unit.o018.lab.ch13.ex-13-1",
      "id": "relation.adapts.unit.o018.lab.ch13.ex-13-1.unit.r017.book1.ch13.text.ex-001",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13.text.ex-001"
    },
    {
      "from_id": "unit.o018.lab.ch13.ex-13-10",
      "id": "relation.adapts.unit.o018.lab.ch13.ex-13-10.unit.r017.book1.ch13.text.ex-010",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13.text.ex-010"
    },
    {
      "from_id": "unit.o018.lab.ch13.ex-13-11",
      "id": "relation.adapts.unit.o018.lab.ch13.ex-13-11.unit.r017.book1.ch13.text.ex-011",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13.text.ex-011"
    },
    {
      "from_id": "unit.o018.lab.ch13.ex-13-2",
      "id": "relation.adapts.unit.o018.lab.ch13.ex-13-2.unit.r017.book1.ch13.text.ex-002",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13.text.ex-002"
    },
    {
      "from_id": "unit.o018.lab.ch13.ex-13-3",
      "id": "relation.adapts.unit.o018.lab.ch13.ex-13-3.unit.r017.book1.ch13.text.ex-003",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13.text.ex-003"
    },
    {
      "from_id": "unit.o018.lab.ch13.ex-13-4",
      "id": "relation.adapts.unit.o018.lab.ch13.ex-13-4.unit.r017.book1.ch13.text.ex-004",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13.text.ex-004"
    },
    {
      "from_id": "unit.o018.lab.ch13.ex-13-5",
      "id": "relation.adapts.unit.o018.lab.ch13.ex-13-5.unit.r017.book1.ch13.text.ex-005",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13.text.ex-005"
    },
    {
      "from_id": "unit.o018.lab.ch13.ex-13-6",
      "id": "relation.adapts.unit.o018.lab.ch13.ex-13-6.unit.r017.book1.ch13.text.ex-006",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13.text.ex-006"
    },
    {
      "from_id": "unit.o018.lab.ch13.ex-13-7",
      "id": "relation.adapts.unit.o018.lab.ch13.ex-13-7.unit.r017.book1.ch13.text.ex-007",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13.text.ex-007"
    },
    {
      "from_id": "unit.o018.lab.ch13.ex-13-8",
      "id": "relation.adapts.unit.o018.lab.ch13.ex-13-8.unit.r017.book1.ch13.text.ex-008",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13.text.ex-008"
    },
    {
      "from_id": "unit.o018.lab.ch13.ex-13-9",
      "id": "relation.adapts.unit.o018.lab.ch13.ex-13-9.unit.r017.book1.ch13.text.ex-009",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13.text.ex-009"
    },
    {
      "from_id": "unit.o018.lab.ch13",
      "id": "relation.adapts.unit.o018.lab.ch13.unit.r017.book1.ch13",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13"
    },
    {
      "from_id": "unit.o018.lab.ch14.ex-14-1",
      "id": "relation.adapts.unit.o018.lab.ch14.ex-14-1.unit.r017.book1.ch14.text.ex-001",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch14.text.ex-001"
    },
    {
      "from_id": "unit.o018.lab.ch14.ex-14-3",
      "id": "relation.adapts.unit.o018.lab.ch14.ex-14-3.unit.r017.book1.ch14.text.ex-003",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch14.text.ex-003"
    },
    {
      "from_id": "unit.o018.lab.ch14.ex-14-4",
      "id": "relation.adapts.unit.o018.lab.ch14.ex-14-4.unit.r017.book1.ch14.text.ex-004",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch14.text.ex-004"
    },
    {
      "from_id": "unit.o018.lab.ch14.ex-14-concept-16",
      "id": "relation.adapts.unit.o018.lab.ch14.ex-14-concept-16.unit.r017.book1.ch14.text.itemexercise-005",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch14.text.itemexercise-005"
    },
    {
      "from_id": "unit.o018.lab.ch14.ex-14-concept-17",
      "id": "relation.adapts.unit.o018.lab.ch14.ex-14-concept-17.unit.r017.book1.ch14.text.itemexercise-006",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch14.text.itemexercise-006"
    },
    {
      "from_id": "unit.o018.lab.ch14.ex-14-skill-12",
      "id": "relation.adapts.unit.o018.lab.ch14.ex-14-skill-12.unit.r017.book1.ch14.text.itemexercise-002",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch14.text.itemexercise-002"
    },
    {
      "from_id": "unit.o018.lab.ch14.ex-14-skill-13",
      "id": "relation.adapts.unit.o018.lab.ch14.ex-14-skill-13.unit.r017.book1.ch14.text.itemexercise-003",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch14.text.itemexercise-003"
    },
    {
      "from_id": "unit.o018.lab.ch14.ex-14-skill-14",
      "id": "relation.adapts.unit.o018.lab.ch14.ex-14-skill-14.unit.r017.book1.ch14.text.itemexercise-004",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch14.text.itemexercise-004"
    },
    {
      "from_id": "unit.o018.lab.ch14.ex-14-skill-9",
      "id": "relation.adapts.unit.o018.lab.ch14.ex-14-skill-9.unit.r017.book1.ch14.text.itemexercise-001",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch14.text.itemexercise-001"
    },
    {
      "from_id": "unit.o018.lab.ch14",
      "id": "relation.adapts.unit.o018.lab.ch14.unit.r017.book1.ch14",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch14"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-1",
      "id": "relation.adapts.unit.o018.lab.ch15.ex-15-1.unit.r017.book1.ch15.text.ex-001",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-001"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-10",
      "id": "relation.adapts.unit.o018.lab.ch15.ex-15-10.unit.r017.book1.ch15.text.ex-010",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-010"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-11",
      "id": "relation.adapts.unit.o018.lab.ch15.ex-15-11.unit.r017.book1.ch15.text.ex-011",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-011"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-12",
      "id": "relation.adapts.unit.o018.lab.ch15.ex-15-12.unit.r017.book1.ch15.text.ex-012",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-012"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-13",
      "id": "relation.adapts.unit.o018.lab.ch15.ex-15-13.unit.r017.book1.ch15.text.ex-013",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-013"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-14",
      "id": "relation.adapts.unit.o018.lab.ch15.ex-15-14.unit.r017.book1.ch15.text.ex-014",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-014"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-15",
      "id": "relation.adapts.unit.o018.lab.ch15.ex-15-15.unit.r017.book1.ch15.text.ex-015",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-015"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-16",
      "id": "relation.adapts.unit.o018.lab.ch15.ex-15-16.unit.r017.book1.ch15.text.ex-016",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-016"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-2",
      "id": "relation.adapts.unit.o018.lab.ch15.ex-15-2.unit.r017.book1.ch15.text.ex-002",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-002"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-3",
      "id": "relation.adapts.unit.o018.lab.ch15.ex-15-3.unit.r017.book1.ch15.text.ex-003",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-003"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-4",
      "id": "relation.adapts.unit.o018.lab.ch15.ex-15-4.unit.r017.book1.ch15.text.ex-004",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-004"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-5",
      "id": "relation.adapts.unit.o018.lab.ch15.ex-15-5.unit.r017.book1.ch15.text.ex-005",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-005"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-6",
      "id": "relation.adapts.unit.o018.lab.ch15.ex-15-6.unit.r017.book1.ch15.text.ex-006",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-006"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-7",
      "id": "relation.adapts.unit.o018.lab.ch15.ex-15-7.unit.r017.book1.ch15.text.ex-007",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-007"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-8",
      "id": "relation.adapts.unit.o018.lab.ch15.ex-15-8.unit.r017.book1.ch15.text.ex-008",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-008"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-9",
      "id": "relation.adapts.unit.o018.lab.ch15.ex-15-9.unit.r017.book1.ch15.text.ex-009",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-009"
    },
    {
      "from_id": "unit.o018.lab.ch15",
      "id": "relation.adapts.unit.o018.lab.ch15.unit.r017.book1.ch15",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15"
    },
    {
      "from_id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-001",
      "id": "relation.answers.unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-001.unit.r017.book1.ch02.text.learningcheckpoint-001",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "answers",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch02.text.learningcheckpoint-001"
    },
    {
      "from_id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-002",
      "id": "relation.answers.unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-002.unit.r017.book1.ch05.text.learningcheckpoint-001",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "answers",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.learningcheckpoint-001"
    },
    {
      "from_id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-003",
      "id": "relation.answers.unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-003.unit.r017.book1.ch04.text-a.learningcheckpoint-001",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "answers",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch04.text-a.learningcheckpoint-001"
    },
    {
      "from_id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-004",
      "id": "relation.answers.unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-004.unit.r017.book1.ch07.text.learningcheckpoint-001",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "answers",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.learningcheckpoint-001"
    },
    {
      "from_id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-005",
      "id": "relation.answers.unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-005.unit.r017.book1.ch07.text.learningcheckpoint-002",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "answers",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.learningcheckpoint-002"
    },
    {
      "from_id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-006",
      "id": "relation.answers.unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-006.unit.r017.book1.ch07.text.learningcheckpoint-003",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "answers",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.learningcheckpoint-003"
    },
    {
      "from_id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-007",
      "id": "relation.answers.unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-007.unit.r017.book1.ch10.text.learningcheckpoint-001",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "answers",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.learningcheckpoint-001"
    },
    {
      "from_id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-008",
      "id": "relation.answers.unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-008.unit.r017.book1.ch10.text.learningcheckpoint-002",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "answers",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.learningcheckpoint-002"
    },
    {
      "from_id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-009",
      "id": "relation.answers.unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-009.unit.r017.book1.ch11.text-a.learningcheckpoint-001",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "answers",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-a.learningcheckpoint-001"
    },
    {
      "from_id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-010",
      "id": "relation.answers.unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-010.unit.r017.book1.ch11.text-a.learningcheckpoint-002",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "answers",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-a.learningcheckpoint-002"
    },
    {
      "from_id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-011",
      "id": "relation.answers.unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-011.unit.r017.book1.ch11.text-b.learningcheckpoint-001",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "answers",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-b.learningcheckpoint-001"
    },
    {
      "from_id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-012",
      "id": "relation.answers.unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-012.unit.r017.book1.ch14.text.learningcheckpoint-001",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "answers",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch14.text.learningcheckpoint-001"
    },
    {
      "from_id": "unit.r017.book1.backmatter.checkpoint-answers",
      "id": "relation.answers.unit.r017.book1.backmatter.checkpoint-answers.unit.r017.book1",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "answers",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1"
    },
    {
      "from_id": "unit.o018.lab.ch01-shirt-ordering",
      "id": "relation.o018-adapts-r017-ex011",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch01.text.ex-011"
    },
    {
      "from_id": "unit.o018.lab.ch03.ex01",
      "id": "relation.o018-ch03-ex01-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch03.text.ex-001"
    },
    {
      "from_id": "unit.o018.lab.ch03.ex01",
      "id": "relation.o018-ch03-ex01-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch03.text.ex-001"
    },
    {
      "from_id": "unit.o018.lab.ch03.ex02",
      "id": "relation.o018-ch03-ex02-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch03.text.ex-002"
    },
    {
      "from_id": "unit.o018.lab.ch03.ex02",
      "id": "relation.o018-ch03-ex02-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch03.text.ex-002"
    },
    {
      "from_id": "unit.o018.lab.ch03.ex03",
      "id": "relation.o018-ch03-ex03-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch03.text.ex-003"
    },
    {
      "from_id": "unit.o018.lab.ch03.ex03",
      "id": "relation.o018-ch03-ex03-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch03.text.ex-003"
    },
    {
      "from_id": "unit.o018.lab.ch03.ex04",
      "id": "relation.o018-ch03-ex04-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch03.text.ex-004"
    },
    {
      "from_id": "unit.o018.lab.ch03.ex04",
      "id": "relation.o018-ch03-ex04-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch03.text.ex-004"
    },
    {
      "from_id": "unit.o018.lab.ch03.ex05",
      "id": "relation.o018-ch03-ex05-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch03.text.ex-005"
    },
    {
      "from_id": "unit.o018.lab.ch03.ex05",
      "id": "relation.o018-ch03-ex05-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch03.text.ex-005"
    },
    {
      "from_id": "unit.o018.lab.ch03.ex06",
      "id": "relation.o018-ch03-ex06-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch03.text.ex-006"
    },
    {
      "from_id": "unit.o018.lab.ch03.ex06",
      "id": "relation.o018-ch03-ex06-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch03.text.ex-006"
    },
    {
      "from_id": "unit.o018.lab.ch03.ex07",
      "id": "relation.o018-ch03-ex07-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch03.text.ex-007"
    },
    {
      "from_id": "unit.o018.lab.ch03.ex07",
      "id": "relation.o018-ch03-ex07-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch03.text.ex-007"
    },
    {
      "from_id": "unit.o018.lab.ch03.ex08",
      "id": "relation.o018-ch03-ex08-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch03.text.ex-008"
    },
    {
      "from_id": "unit.o018.lab.ch03.ex08",
      "id": "relation.o018-ch03-ex08-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch03.text.ex-008"
    },
    {
      "from_id": "unit.o018.lab.ch03.ex09",
      "id": "relation.o018-ch03-ex09-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch03.text.ex-009"
    },
    {
      "from_id": "unit.o018.lab.ch03.ex09",
      "id": "relation.o018-ch03-ex09-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch03.text.ex-009"
    },
    {
      "from_id": "unit.o018.lab.ch04.absolute-deviation",
      "id": "relation.o018-ch04-absolute-deviation-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch04.text-a.examplewithallcode-006"
    },
    {
      "from_id": "unit.o018.lab.ch04-compact-modeling-replacements",
      "id": "relation.o018-ch04-adapts-r017",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch04"
    },
    {
      "from_id": "unit.o018.lab.ch04.airline-max-flow",
      "id": "relation.o018-ch04-airline-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch04.text-b.examplewithallcode-002"
    },
    {
      "from_id": "unit.o018.lab.ch04.assignment-generic",
      "id": "relation.o018-ch04-assignment-generic-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch04.text-a.examplewithallcode-005"
    },
    {
      "from_id": "unit.o018.lab.ch04.assignment-machine",
      "id": "relation.o018-ch04-assignment-machine-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch04.text-a.examplewithallcode-003"
    },
    {
      "from_id": "unit.o018.lab.ch04.assignment-school-bus",
      "id": "relation.o018-ch04-assignment-school-bus-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch04.text-a.examplewithallcode-004"
    },
    {
      "from_id": "unit.o018.lab.ch04.investment-multi-period",
      "id": "relation.o018-ch04-investment-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "design_unresolved",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch04.text-b.examplewithallcode-005"
    },
    {
      "from_id": "unit.o018.lab.ch04.min-cost-flow-unstructured",
      "id": "relation.o018-ch04-mincost-unstructured-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch04.text-b.subsection-004"
    },
    {
      "from_id": "unit.o018.lab.ch04.min-cost-flow-warehouses",
      "id": "relation.o018-ch04-mincost-warehouses-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch04.text-b.examplewithallcode-001"
    },
    {
      "from_id": "unit.o018.lab.ch04.multicommodity-fractional",
      "id": "relation.o018-ch04-multicommodity-fractional-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch04.text-b.examplewithallcode-004"
    },
    {
      "from_id": "unit.o018.lab.ch04.multicommodity-integer",
      "id": "relation.o018-ch04-multicommodity-integer-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch04.text-b.examplewithallcode-003"
    },
    {
      "from_id": "unit.o018.lab.ch04.production-10period",
      "id": "relation.o018-ch04-production-10period-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch04.text-a.examplewithallcode-001"
    },
    {
      "from_id": "unit.o018.lab.ch04.production-overtime",
      "id": "relation.o018-ch04-production-overtime-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "parameter_required",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch04.text-a.examplewithallcode-002"
    },
    {
      "from_id": "unit.o018.lab.ch05-graphical-lp",
      "id": "relation.o018-ch05-adapts-r017",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex01",
      "id": "relation.o018-ch05-ex01-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-001"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex01",
      "id": "relation.o018-ch05-ex01-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-001"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex02",
      "id": "relation.o018-ch05-ex02-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-002"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex02",
      "id": "relation.o018-ch05-ex02-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-002"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex03",
      "id": "relation.o018-ch05-ex03-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-003"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex03",
      "id": "relation.o018-ch05-ex03-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-003"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex04",
      "id": "relation.o018-ch05-ex04-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-004"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex04",
      "id": "relation.o018-ch05-ex04-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-004"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex05",
      "id": "relation.o018-ch05-ex05-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-005"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex05",
      "id": "relation.o018-ch05-ex05-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-005"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex06",
      "id": "relation.o018-ch05-ex06-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-006"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex06",
      "id": "relation.o018-ch05-ex06-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-006"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex07",
      "id": "relation.o018-ch05-ex07-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-007"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex07",
      "id": "relation.o018-ch05-ex07-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-007"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex08",
      "id": "relation.o018-ch05-ex08-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-008"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex08",
      "id": "relation.o018-ch05-ex08-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-008"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex09",
      "id": "relation.o018-ch05-ex09-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-009"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex09",
      "id": "relation.o018-ch05-ex09-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-009"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex10",
      "id": "relation.o018-ch05-ex10-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-010"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex10",
      "id": "relation.o018-ch05-ex10-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-010"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex11",
      "id": "relation.o018-ch05-ex11-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "parameter_required",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-011"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex12",
      "id": "relation.o018-ch05-ex12-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-012"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex12",
      "id": "relation.o018-ch05-ex12-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-012"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex13",
      "id": "relation.o018-ch05-ex13-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-013"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex13",
      "id": "relation.o018-ch05-ex13-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-013"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex14",
      "id": "relation.o018-ch05-ex14-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-014"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex14",
      "id": "relation.o018-ch05-ex14-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-014"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex15",
      "id": "relation.o018-ch05-ex15-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-015"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex15",
      "id": "relation.o018-ch05-ex15-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-015"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex16",
      "id": "relation.o018-ch05-ex16-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-016"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex16",
      "id": "relation.o018-ch05-ex16-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-016"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex17",
      "id": "relation.o018-ch05-ex17-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-017"
    },
    {
      "from_id": "unit.o018.lab.ch05.ex17",
      "id": "relation.o018-ch05-ex17-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-017"
    },
    {
      "from_id": "unit.o018.lab.ch06-formal-mathematics",
      "id": "relation.o018-ch06-adapts-r017",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06"
    },
    {
      "from_id": "unit.o018.lab.ch06.ex01",
      "id": "relation.o018-ch06-ex01-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-001"
    },
    {
      "from_id": "unit.o018.lab.ch06.ex01",
      "id": "relation.o018-ch06-ex01-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-001"
    },
    {
      "from_id": "unit.o018.lab.ch06.ex02",
      "id": "relation.o018-ch06-ex02-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-002"
    },
    {
      "from_id": "unit.o018.lab.ch06.ex02",
      "id": "relation.o018-ch06-ex02-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-002"
    },
    {
      "from_id": "unit.o018.lab.ch06.ex03",
      "id": "relation.o018-ch06-ex03-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-003"
    },
    {
      "from_id": "unit.o018.lab.ch06.ex03",
      "id": "relation.o018-ch06-ex03-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-003"
    },
    {
      "from_id": "unit.o018.lab.ch06.ex04",
      "id": "relation.o018-ch06-ex04-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-004"
    },
    {
      "from_id": "unit.o018.lab.ch06.ex04",
      "id": "relation.o018-ch06-ex04-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-004"
    },
    {
      "from_id": "unit.o018.lab.ch06.ex05",
      "id": "relation.o018-ch06-ex05-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-005"
    },
    {
      "from_id": "unit.o018.lab.ch06.ex05",
      "id": "relation.o018-ch06-ex05-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-005"
    },
    {
      "from_id": "unit.o018.lab.ch06.ex06",
      "id": "relation.o018-ch06-ex06-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-006"
    },
    {
      "from_id": "unit.o018.lab.ch06.ex06",
      "id": "relation.o018-ch06-ex06-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-006"
    },
    {
      "from_id": "unit.o018.lab.ch06.ex07",
      "id": "relation.o018-ch06-ex07-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-007"
    },
    {
      "from_id": "unit.o018.lab.ch06.ex07",
      "id": "relation.o018-ch06-ex07-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-007"
    },
    {
      "from_id": "unit.o018.lab.ch06.ex08",
      "id": "relation.o018-ch06-ex08-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-008"
    },
    {
      "from_id": "unit.o018.lab.ch06.ex08",
      "id": "relation.o018-ch06-ex08-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-008"
    },
    {
      "from_id": "unit.o018.lab.ch06.ex09",
      "id": "relation.o018-ch06-ex09-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-009"
    },
    {
      "from_id": "unit.o018.lab.ch06.ex09",
      "id": "relation.o018-ch06-ex09-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-009"
    },
    {
      "from_id": "unit.o018.lab.ch06.ex10",
      "id": "relation.o018-ch06-ex10-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-010"
    },
    {
      "from_id": "unit.o018.lab.ch06.ex10",
      "id": "relation.o018-ch06-ex10-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-010"
    },
    {
      "from_id": "unit.o018.lab.ch06.ex11",
      "id": "relation.o018-ch06-ex11-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-011"
    },
    {
      "from_id": "unit.o018.lab.ch06.ex11",
      "id": "relation.o018-ch06-ex11-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-011"
    },
    {
      "from_id": "unit.o018.lab.ch06.ex12",
      "id": "relation.o018-ch06-ex12-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-012"
    },
    {
      "from_id": "unit.o018.lab.ch06.ex12",
      "id": "relation.o018-ch06-ex12-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-012"
    },
    {
      "from_id": "unit.o018.lab.ch07-ch09-simplex",
      "id": "relation.o018-simplex-adapts-r017-ch07",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07"
    },
    {
      "from_id": "unit.o018.lab.ch07-ch09-simplex",
      "id": "relation.o018-simplex-adapts-r017-ch08",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch08"
    },
    {
      "from_id": "unit.o018.lab.ch07-ch09-simplex",
      "id": "relation.o018-simplex-adapts-r017-ch09",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-01",
      "id": "relation.o018-simplex-ex07-01-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-001"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-01",
      "id": "relation.o018-simplex-ex07-01-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-001"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-02",
      "id": "relation.o018-simplex-ex07-02-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-002"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-02",
      "id": "relation.o018-simplex-ex07-02-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-002"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-03",
      "id": "relation.o018-simplex-ex07-03-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-003"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-03",
      "id": "relation.o018-simplex-ex07-03-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-003"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-04",
      "id": "relation.o018-simplex-ex07-04-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-004"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-04",
      "id": "relation.o018-simplex-ex07-04-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-004"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-05",
      "id": "relation.o018-simplex-ex07-05-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-005"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-05",
      "id": "relation.o018-simplex-ex07-05-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-005"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-06",
      "id": "relation.o018-simplex-ex07-06-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-006"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-06",
      "id": "relation.o018-simplex-ex07-06-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-006"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-07",
      "id": "relation.o018-simplex-ex07-07-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-007"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-07",
      "id": "relation.o018-simplex-ex07-07-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-007"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-08",
      "id": "relation.o018-simplex-ex07-08-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-008"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-08",
      "id": "relation.o018-simplex-ex07-08-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-008"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-09",
      "id": "relation.o018-simplex-ex07-09-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-009"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-09",
      "id": "relation.o018-simplex-ex07-09-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-009"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-10",
      "id": "relation.o018-simplex-ex07-10-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-010"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-10",
      "id": "relation.o018-simplex-ex07-10-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-010"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-11",
      "id": "relation.o018-simplex-ex07-11-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-011"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-11",
      "id": "relation.o018-simplex-ex07-11-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-011"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-12",
      "id": "relation.o018-simplex-ex07-12-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-012"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-12",
      "id": "relation.o018-simplex-ex07-12-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-012"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-13",
      "id": "relation.o018-simplex-ex07-13-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-013"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-13",
      "id": "relation.o018-simplex-ex07-13-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-013"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-14",
      "id": "relation.o018-simplex-ex07-14-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-014"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-14",
      "id": "relation.o018-simplex-ex07-14-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-014"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-15",
      "id": "relation.o018-simplex-ex07-15-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-015"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-15",
      "id": "relation.o018-simplex-ex07-15-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-015"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-16",
      "id": "relation.o018-simplex-ex07-16-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-016"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-16",
      "id": "relation.o018-simplex-ex07-16-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-016"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-17",
      "id": "relation.o018-simplex-ex07-17-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-017"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex07-17",
      "id": "relation.o018-simplex-ex07-17-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-017"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex08-01",
      "id": "relation.o018-simplex-ex08-01-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch08.text.ex-001"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex08-01",
      "id": "relation.o018-simplex-ex08-01-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch08.text.ex-001"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex08-02",
      "id": "relation.o018-simplex-ex08-02-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch08.text.ex-002"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex08-02",
      "id": "relation.o018-simplex-ex08-02-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch08.text.ex-002"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex08-03",
      "id": "relation.o018-simplex-ex08-03-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch08.text.ex-003"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex08-03",
      "id": "relation.o018-simplex-ex08-03-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch08.text.ex-003"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex08-04",
      "id": "relation.o018-simplex-ex08-04-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch08.text.ex-004"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex08-04",
      "id": "relation.o018-simplex-ex08-04-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch08.text.ex-004"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex08-05",
      "id": "relation.o018-simplex-ex08-05-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch08.text.ex-005"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex08-05",
      "id": "relation.o018-simplex-ex08-05-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch08.text.ex-005"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex08-06",
      "id": "relation.o018-simplex-ex08-06-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch08.text.ex-006"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex08-06",
      "id": "relation.o018-simplex-ex08-06-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch08.text.ex-006"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex08-07",
      "id": "relation.o018-simplex-ex08-07-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch08.text.ex-007"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex08-07",
      "id": "relation.o018-simplex-ex08-07-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch08.text.ex-007"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex08-08",
      "id": "relation.o018-simplex-ex08-08-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch08.text.ex-008"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex08-08",
      "id": "relation.o018-simplex-ex08-08-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch08.text.ex-008"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex08-09",
      "id": "relation.o018-simplex-ex08-09-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch08.text.ex-009"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex08-09",
      "id": "relation.o018-simplex-ex08-09-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch08.text.ex-009"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex09-01",
      "id": "relation.o018-simplex-ex09-01-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-001"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex09-01",
      "id": "relation.o018-simplex-ex09-01-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-001"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex09-02",
      "id": "relation.o018-simplex-ex09-02-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-002"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex09-02",
      "id": "relation.o018-simplex-ex09-02-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-002"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex09-03",
      "id": "relation.o018-simplex-ex09-03-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-003"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex09-03",
      "id": "relation.o018-simplex-ex09-03-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-003"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex09-04",
      "id": "relation.o018-simplex-ex09-04-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-004"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex09-04",
      "id": "relation.o018-simplex-ex09-04-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-004"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex09-05",
      "id": "relation.o018-simplex-ex09-05-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-005"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex09-05",
      "id": "relation.o018-simplex-ex09-05-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-005"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex09-06",
      "id": "relation.o018-simplex-ex09-06-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-006"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex09-06",
      "id": "relation.o018-simplex-ex09-06-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-006"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex09-07",
      "id": "relation.o018-simplex-ex09-07-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-007"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex09-07",
      "id": "relation.o018-simplex-ex09-07-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-007"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex09-08",
      "id": "relation.o018-simplex-ex09-08-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-008"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex09-08",
      "id": "relation.o018-simplex-ex09-08-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-008"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex09-09",
      "id": "relation.o018-simplex-ex09-09-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-009"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex09-09",
      "id": "relation.o018-simplex-ex09-09-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-009"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex09-10",
      "id": "relation.o018-simplex-ex09-10-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-010"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex09-10",
      "id": "relation.o018-simplex-ex09-10-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-010"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex09-11",
      "id": "relation.o018-simplex-ex09-11-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-011"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex09-11",
      "id": "relation.o018-simplex-ex09-11-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-011"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex09-12",
      "id": "relation.o018-simplex-ex09-12-adapts",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "adapts",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-012"
    },
    {
      "from_id": "unit.o018.lab.simplex.ex09-12",
      "id": "relation.o018-simplex-ex09-12-solves",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "verified",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-012"
    },
    {
      "from_id": "unit.o018.lab.ch01-shirt-ordering",
      "id": "relation.o018-solves-r017-ex011",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch01.text.ex-011"
    },
    {
      "from_id": "unit.o018.lab.ch10.ex-10-1",
      "id": "relation.solves.unit.o018.lab.ch10.ex-10-1.unit.r017.book1.ch10.text.ex-001",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-001"
    },
    {
      "from_id": "unit.o018.lab.ch10.ex-10-10",
      "id": "relation.solves.unit.o018.lab.ch10.ex-10-10.unit.r017.book1.ch10.text.ex-010",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-010"
    },
    {
      "from_id": "unit.o018.lab.ch10.ex-10-11",
      "id": "relation.solves.unit.o018.lab.ch10.ex-10-11.unit.r017.book1.ch10.text.ex-011",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-011"
    },
    {
      "from_id": "unit.o018.lab.ch10.ex-10-12",
      "id": "relation.solves.unit.o018.lab.ch10.ex-10-12.unit.r017.book1.ch10.text.ex-012",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-012"
    },
    {
      "from_id": "unit.o018.lab.ch10.ex-10-2",
      "id": "relation.solves.unit.o018.lab.ch10.ex-10-2.unit.r017.book1.ch10.text.ex-002",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-002"
    },
    {
      "from_id": "unit.o018.lab.ch10.ex-10-3",
      "id": "relation.solves.unit.o018.lab.ch10.ex-10-3.unit.r017.book1.ch10.text.ex-003",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-003"
    },
    {
      "from_id": "unit.o018.lab.ch10.ex-10-4",
      "id": "relation.solves.unit.o018.lab.ch10.ex-10-4.unit.r017.book1.ch10.text.ex-004",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-004"
    },
    {
      "from_id": "unit.o018.lab.ch10.ex-10-5",
      "id": "relation.solves.unit.o018.lab.ch10.ex-10-5.unit.r017.book1.ch10.text.ex-005",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-005"
    },
    {
      "from_id": "unit.o018.lab.ch10.ex-10-6",
      "id": "relation.solves.unit.o018.lab.ch10.ex-10-6.unit.r017.book1.ch10.text.ex-006",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-006"
    },
    {
      "from_id": "unit.o018.lab.ch10.ex-10-7",
      "id": "relation.solves.unit.o018.lab.ch10.ex-10-7.unit.r017.book1.ch10.text.ex-007",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-007"
    },
    {
      "from_id": "unit.o018.lab.ch10.ex-10-8",
      "id": "relation.solves.unit.o018.lab.ch10.ex-10-8.unit.r017.book1.ch10.text.ex-008",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-008"
    },
    {
      "from_id": "unit.o018.lab.ch10.ex-10-9",
      "id": "relation.solves.unit.o018.lab.ch10.ex-10-9.unit.r017.book1.ch10.text.ex-009",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-009"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-1",
      "id": "relation.solves.unit.o018.lab.ch11.ex-11-1.unit.r017.book1.ch11.text-a.ex-001",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-a.ex-001"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-10",
      "id": "relation.solves.unit.o018.lab.ch11.ex-11-10.unit.r017.book1.ch11.text-b.ex-001",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-b.ex-001"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-11",
      "id": "relation.solves.unit.o018.lab.ch11.ex-11-11.unit.r017.book1.ch11.text-b.ex-002",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-b.ex-002"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-12",
      "id": "relation.solves.unit.o018.lab.ch11.ex-11-12.unit.r017.book1.ch11.text-b.ex-003",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-b.ex-003"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-13",
      "id": "relation.solves.unit.o018.lab.ch11.ex-11-13.unit.r017.book1.ch11.text-b.ex-004",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-b.ex-004"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-14",
      "id": "relation.solves.unit.o018.lab.ch11.ex-11-14.unit.r017.book1.ch11.text-b.ex-005",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-b.ex-005"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-15",
      "id": "relation.solves.unit.o018.lab.ch11.ex-11-15.unit.r017.book1.ch11.text-b.ex-006",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-b.ex-006"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-16",
      "id": "relation.solves.unit.o018.lab.ch11.ex-11-16.unit.r017.book1.ch11.text-b.ex-007",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-b.ex-007"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-17",
      "id": "relation.solves.unit.o018.lab.ch11.ex-11-17.unit.r017.book1.ch11.text-b.ex-008",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-b.ex-008"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-2",
      "id": "relation.solves.unit.o018.lab.ch11.ex-11-2.unit.r017.book1.ch11.text-a.ex-002",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-a.ex-002"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-3",
      "id": "relation.solves.unit.o018.lab.ch11.ex-11-3.unit.r017.book1.ch11.text-a.ex-003",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-a.ex-003"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-4",
      "id": "relation.solves.unit.o018.lab.ch11.ex-11-4.unit.r017.book1.ch11.text-a.ex-004",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-a.ex-004"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-5",
      "id": "relation.solves.unit.o018.lab.ch11.ex-11-5.unit.r017.book1.ch11.text-a.ex-005",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-a.ex-005"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-6",
      "id": "relation.solves.unit.o018.lab.ch11.ex-11-6.unit.r017.book1.ch11.text-a.ex-006",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-a.ex-006"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-7",
      "id": "relation.solves.unit.o018.lab.ch11.ex-11-7.unit.r017.book1.ch11.text-a.ex-007",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-a.ex-007"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-8",
      "id": "relation.solves.unit.o018.lab.ch11.ex-11-8.unit.r017.book1.ch11.text-a.ex-008",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-a.ex-008"
    },
    {
      "from_id": "unit.o018.lab.ch11.ex-11-9",
      "id": "relation.solves.unit.o018.lab.ch11.ex-11-9.unit.r017.book1.ch11.text-a.ex-009",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-a.ex-009"
    },
    {
      "from_id": "unit.o018.lab.ch12.ex-12-1",
      "id": "relation.solves.unit.o018.lab.ch12.ex-12-1.unit.r017.book1.ch12.text.ex-001",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch12.text.ex-001"
    },
    {
      "from_id": "unit.o018.lab.ch12.ex-12-2",
      "id": "relation.solves.unit.o018.lab.ch12.ex-12-2.unit.r017.book1.ch12.text.ex-002",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch12.text.ex-002"
    },
    {
      "from_id": "unit.o018.lab.ch12.ex-12-3",
      "id": "relation.solves.unit.o018.lab.ch12.ex-12-3.unit.r017.book1.ch12.text.ex-003",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch12.text.ex-003"
    },
    {
      "from_id": "unit.o018.lab.ch12.ex-12-4",
      "id": "relation.solves.unit.o018.lab.ch12.ex-12-4.unit.r017.book1.ch12.text.ex-004",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch12.text.ex-004"
    },
    {
      "from_id": "unit.o018.lab.ch12.ex-12-5",
      "id": "relation.solves.unit.o018.lab.ch12.ex-12-5.unit.r017.book1.ch12.text.ex-005",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch12.text.ex-005"
    },
    {
      "from_id": "unit.o018.lab.ch12.ex-12-6",
      "id": "relation.solves.unit.o018.lab.ch12.ex-12-6.unit.r017.book1.ch12.text.ex-006",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch12.text.ex-006"
    },
    {
      "from_id": "unit.o018.lab.ch12.ex-12-7",
      "id": "relation.solves.unit.o018.lab.ch12.ex-12-7.unit.r017.book1.ch12.text.ex-007",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch12.text.ex-007"
    },
    {
      "from_id": "unit.o018.lab.ch12.ex-12-8",
      "id": "relation.solves.unit.o018.lab.ch12.ex-12-8.unit.r017.book1.ch12.text.ex-008",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch12.text.ex-008"
    },
    {
      "from_id": "unit.o018.lab.ch12.ex-12-9",
      "id": "relation.solves.unit.o018.lab.ch12.ex-12-9.unit.r017.book1.ch12.text.ex-009",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch12.text.ex-009"
    },
    {
      "from_id": "unit.o018.lab.ch13.ex-13-1",
      "id": "relation.solves.unit.o018.lab.ch13.ex-13-1.unit.r017.book1.ch13.text.ex-001",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13.text.ex-001"
    },
    {
      "from_id": "unit.o018.lab.ch13.ex-13-10",
      "id": "relation.solves.unit.o018.lab.ch13.ex-13-10.unit.r017.book1.ch13.text.ex-010",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13.text.ex-010"
    },
    {
      "from_id": "unit.o018.lab.ch13.ex-13-11",
      "id": "relation.solves.unit.o018.lab.ch13.ex-13-11.unit.r017.book1.ch13.text.ex-011",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13.text.ex-011"
    },
    {
      "from_id": "unit.o018.lab.ch13.ex-13-2",
      "id": "relation.solves.unit.o018.lab.ch13.ex-13-2.unit.r017.book1.ch13.text.ex-002",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13.text.ex-002"
    },
    {
      "from_id": "unit.o018.lab.ch13.ex-13-3",
      "id": "relation.solves.unit.o018.lab.ch13.ex-13-3.unit.r017.book1.ch13.text.ex-003",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13.text.ex-003"
    },
    {
      "from_id": "unit.o018.lab.ch13.ex-13-4",
      "id": "relation.solves.unit.o018.lab.ch13.ex-13-4.unit.r017.book1.ch13.text.ex-004",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13.text.ex-004"
    },
    {
      "from_id": "unit.o018.lab.ch13.ex-13-5",
      "id": "relation.solves.unit.o018.lab.ch13.ex-13-5.unit.r017.book1.ch13.text.ex-005",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13.text.ex-005"
    },
    {
      "from_id": "unit.o018.lab.ch13.ex-13-6",
      "id": "relation.solves.unit.o018.lab.ch13.ex-13-6.unit.r017.book1.ch13.text.ex-006",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13.text.ex-006"
    },
    {
      "from_id": "unit.o018.lab.ch13.ex-13-7",
      "id": "relation.solves.unit.o018.lab.ch13.ex-13-7.unit.r017.book1.ch13.text.ex-007",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13.text.ex-007"
    },
    {
      "from_id": "unit.o018.lab.ch13.ex-13-8",
      "id": "relation.solves.unit.o018.lab.ch13.ex-13-8.unit.r017.book1.ch13.text.ex-008",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13.text.ex-008"
    },
    {
      "from_id": "unit.o018.lab.ch13.ex-13-9",
      "id": "relation.solves.unit.o018.lab.ch13.ex-13-9.unit.r017.book1.ch13.text.ex-009",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13.text.ex-009"
    },
    {
      "from_id": "unit.o018.lab.ch14.ex-14-1",
      "id": "relation.solves.unit.o018.lab.ch14.ex-14-1.unit.r017.book1.ch14.text.ex-001",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch14.text.ex-001"
    },
    {
      "from_id": "unit.o018.lab.ch14.ex-14-3",
      "id": "relation.solves.unit.o018.lab.ch14.ex-14-3.unit.r017.book1.ch14.text.ex-003",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch14.text.ex-003"
    },
    {
      "from_id": "unit.o018.lab.ch14.ex-14-4",
      "id": "relation.solves.unit.o018.lab.ch14.ex-14-4.unit.r017.book1.ch14.text.ex-004",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch14.text.ex-004"
    },
    {
      "from_id": "unit.o018.lab.ch14.ex-14-concept-16",
      "id": "relation.solves.unit.o018.lab.ch14.ex-14-concept-16.unit.r017.book1.ch14.text.itemexercise-005",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch14.text.itemexercise-005"
    },
    {
      "from_id": "unit.o018.lab.ch14.ex-14-concept-17",
      "id": "relation.solves.unit.o018.lab.ch14.ex-14-concept-17.unit.r017.book1.ch14.text.itemexercise-006",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch14.text.itemexercise-006"
    },
    {
      "from_id": "unit.o018.lab.ch14.ex-14-skill-12",
      "id": "relation.solves.unit.o018.lab.ch14.ex-14-skill-12.unit.r017.book1.ch14.text.itemexercise-002",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch14.text.itemexercise-002"
    },
    {
      "from_id": "unit.o018.lab.ch14.ex-14-skill-13",
      "id": "relation.solves.unit.o018.lab.ch14.ex-14-skill-13.unit.r017.book1.ch14.text.itemexercise-003",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch14.text.itemexercise-003"
    },
    {
      "from_id": "unit.o018.lab.ch14.ex-14-skill-14",
      "id": "relation.solves.unit.o018.lab.ch14.ex-14-skill-14.unit.r017.book1.ch14.text.itemexercise-004",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch14.text.itemexercise-004"
    },
    {
      "from_id": "unit.o018.lab.ch14.ex-14-skill-9",
      "id": "relation.solves.unit.o018.lab.ch14.ex-14-skill-9.unit.r017.book1.ch14.text.itemexercise-001",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch14.text.itemexercise-001"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-1",
      "id": "relation.solves.unit.o018.lab.ch15.ex-15-1.unit.r017.book1.ch15.text.ex-001",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-001"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-10",
      "id": "relation.solves.unit.o018.lab.ch15.ex-15-10.unit.r017.book1.ch15.text.ex-010",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-010"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-11",
      "id": "relation.solves.unit.o018.lab.ch15.ex-15-11.unit.r017.book1.ch15.text.ex-011",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-011"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-12",
      "id": "relation.solves.unit.o018.lab.ch15.ex-15-12.unit.r017.book1.ch15.text.ex-012",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-012"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-13",
      "id": "relation.solves.unit.o018.lab.ch15.ex-15-13.unit.r017.book1.ch15.text.ex-013",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-013"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-14",
      "id": "relation.solves.unit.o018.lab.ch15.ex-15-14.unit.r017.book1.ch15.text.ex-014",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-014"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-15",
      "id": "relation.solves.unit.o018.lab.ch15.ex-15-15.unit.r017.book1.ch15.text.ex-015",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-015"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-16",
      "id": "relation.solves.unit.o018.lab.ch15.ex-15-16.unit.r017.book1.ch15.text.ex-016",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-016"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-2",
      "id": "relation.solves.unit.o018.lab.ch15.ex-15-2.unit.r017.book1.ch15.text.ex-002",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-002"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-3",
      "id": "relation.solves.unit.o018.lab.ch15.ex-15-3.unit.r017.book1.ch15.text.ex-003",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-003"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-4",
      "id": "relation.solves.unit.o018.lab.ch15.ex-15-4.unit.r017.book1.ch15.text.ex-004",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-004"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-5",
      "id": "relation.solves.unit.o018.lab.ch15.ex-15-5.unit.r017.book1.ch15.text.ex-005",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-005"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-6",
      "id": "relation.solves.unit.o018.lab.ch15.ex-15-6.unit.r017.book1.ch15.text.ex-006",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-006"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-7",
      "id": "relation.solves.unit.o018.lab.ch15.ex-15-7.unit.r017.book1.ch15.text.ex-007",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-007"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-8",
      "id": "relation.solves.unit.o018.lab.ch15.ex-15-8.unit.r017.book1.ch15.text.ex-008",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-008"
    },
    {
      "from_id": "unit.o018.lab.ch15.ex-15-9",
      "id": "relation.solves.unit.o018.lab.ch15.ex-15-9.unit.r017.book1.ch15.text.ex-009",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-009"
    },
    {
      "from_id": "unit.r017.book1.ch01.text.solution-001",
      "id": "relation.solves.unit.r017.book1.ch01.text.solution-001.unit.r017.book1.ch01.text.ex-002",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch01.text.ex-002"
    },
    {
      "from_id": "unit.r017.book1.ch01.text.solution-002",
      "id": "relation.solves.unit.r017.book1.ch01.text.solution-002.unit.r017.book1.ch01.text.ex-005",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch01.text.ex-005"
    },
    {
      "from_id": "unit.r017.book1.ch01.text.solution-003",
      "id": "relation.solves.unit.r017.book1.ch01.text.solution-003.unit.r017.book1.ch01.text.ex-009",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch01.text.ex-009"
    },
    {
      "from_id": "unit.r017.book1.ch01.text.solution-004",
      "id": "relation.solves.unit.r017.book1.ch01.text.solution-004.unit.r017.book1.ch01.text.ex-011",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch01.text.ex-011"
    },
    {
      "from_id": "unit.r017.book1.ch02.solutions-manual.manualsolution-001",
      "id": "relation.solves.unit.r017.book1.ch02.solutions-manual.manualsolution-001.unit.r017.book1.ch02.text.ex-001",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch02.text.ex-001"
    },
    {
      "from_id": "unit.r017.book1.ch02.solutions-manual.manualsolution-002",
      "id": "relation.solves.unit.r017.book1.ch02.solutions-manual.manualsolution-002.unit.r017.book1.ch02.text.ex-002",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch02.text.ex-002"
    },
    {
      "from_id": "unit.r017.book1.ch02.solutions-manual.manualsolution-003",
      "id": "relation.solves.unit.r017.book1.ch02.solutions-manual.manualsolution-003.unit.r017.book1.ch02.text.ex-003",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch02.text.ex-003"
    },
    {
      "from_id": "unit.r017.book1.ch02.solutions-manual.manualsolution-004",
      "id": "relation.solves.unit.r017.book1.ch02.solutions-manual.manualsolution-004.unit.r017.book1.ch02.text.ex-004",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch02.text.ex-004"
    },
    {
      "from_id": "unit.r017.book1.ch02.solutions-manual.manualsolution-005",
      "id": "relation.solves.unit.r017.book1.ch02.solutions-manual.manualsolution-005.unit.r017.book1.ch02.text.ex-005",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch02.text.ex-005"
    },
    {
      "from_id": "unit.r017.book1.ch02.solutions-manual.manualsolution-006",
      "id": "relation.solves.unit.r017.book1.ch02.solutions-manual.manualsolution-006.unit.r017.book1.ch02.text.ex-006",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch02.text.ex-006"
    },
    {
      "from_id": "unit.r017.book1.ch02.solutions-manual.manualsolution-007",
      "id": "relation.solves.unit.r017.book1.ch02.solutions-manual.manualsolution-007.unit.r017.book1.ch02.text.ex-007",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch02.text.ex-007"
    },
    {
      "from_id": "unit.r017.book1.ch02.solutions-manual.manualsolution-008",
      "id": "relation.solves.unit.r017.book1.ch02.solutions-manual.manualsolution-008.unit.r017.book1.ch02.text.ex-008",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch02.text.ex-008"
    },
    {
      "from_id": "unit.r017.book1.ch02.solutions-manual.manualsolution-009",
      "id": "relation.solves.unit.r017.book1.ch02.solutions-manual.manualsolution-009.unit.r017.book1.ch02.text.ex-009",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch02.text.ex-009"
    },
    {
      "from_id": "unit.r017.book1.ch02.solutions-manual.manualsolution-010",
      "id": "relation.solves.unit.r017.book1.ch02.solutions-manual.manualsolution-010.unit.r017.book1.ch02.text.ex-010",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch02.text.ex-010"
    },
    {
      "from_id": "unit.r017.book1.ch02.solutions-manual.manualsolution-011",
      "id": "relation.solves.unit.r017.book1.ch02.solutions-manual.manualsolution-011.unit.r017.book1.ch02.text.ex-011",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch02.text.ex-011"
    },
    {
      "from_id": "unit.r017.book1.ch02.solutions-manual.manualsolution-012",
      "id": "relation.solves.unit.r017.book1.ch02.solutions-manual.manualsolution-012.unit.r017.book1.ch02.text.ex-012",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch02.text.ex-012"
    },
    {
      "from_id": "unit.r017.book1.ch02.solutions-manual.manualsolution-013",
      "id": "relation.solves.unit.r017.book1.ch02.solutions-manual.manualsolution-013.unit.r017.book1.ch02.text.ex-013",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch02.text.ex-013"
    },
    {
      "from_id": "unit.r017.book1.ch02.solutions-manual.manualsolution-014",
      "id": "relation.solves.unit.r017.book1.ch02.solutions-manual.manualsolution-014.unit.r017.book1.ch02.text.ex-014",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch02.text.ex-014"
    },
    {
      "from_id": "unit.r017.book1.ch02.text.solution-011",
      "id": "relation.solves.unit.r017.book1.ch02.text.solution-011.unit.r017.book1.ch02.text.ex-005",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch02.text.ex-005"
    },
    {
      "from_id": "unit.r017.book1.ch02.text.solution-012",
      "id": "relation.solves.unit.r017.book1.ch02.text.solution-012.unit.r017.book1.ch02.text.ex-011",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch02.text.ex-011"
    },
    {
      "from_id": "unit.r017.book1.ch02.text.solution-013",
      "id": "relation.solves.unit.r017.book1.ch02.text.solution-013.unit.r017.book1.ch02.text.ex-007",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch02.text.ex-007"
    },
    {
      "from_id": "unit.r017.book1.ch02.text.solution-014",
      "id": "relation.solves.unit.r017.book1.ch02.text.solution-014.unit.r017.book1.ch02.text.ex-008",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch02.text.ex-008"
    },
    {
      "from_id": "unit.r017.book1.ch02.text.solution-015",
      "id": "relation.solves.unit.r017.book1.ch02.text.solution-015.unit.r017.book1.ch02.text.ex-003",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch02.text.ex-003"
    },
    {
      "from_id": "unit.r017.book1.ch02.text.solution-016",
      "id": "relation.solves.unit.r017.book1.ch02.text.solution-016.unit.r017.book1.ch02.text.ex-014",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch02.text.ex-014"
    },
    {
      "from_id": "unit.r017.book1.ch03.solutions-manual.manualsolution-001",
      "id": "relation.solves.unit.r017.book1.ch03.solutions-manual.manualsolution-001.unit.r017.book1.ch03.text.ex-001",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch03.text.ex-001"
    },
    {
      "from_id": "unit.r017.book1.ch03.solutions-manual.manualsolution-002",
      "id": "relation.solves.unit.r017.book1.ch03.solutions-manual.manualsolution-002.unit.r017.book1.ch03.text.ex-002",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch03.text.ex-002"
    },
    {
      "from_id": "unit.r017.book1.ch03.solutions-manual.manualsolution-003",
      "id": "relation.solves.unit.r017.book1.ch03.solutions-manual.manualsolution-003.unit.r017.book1.ch03.text.ex-003",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch03.text.ex-003"
    },
    {
      "from_id": "unit.r017.book1.ch03.solutions-manual.manualsolution-004",
      "id": "relation.solves.unit.r017.book1.ch03.solutions-manual.manualsolution-004.unit.r017.book1.ch03.text.ex-004",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch03.text.ex-004"
    },
    {
      "from_id": "unit.r017.book1.ch03.solutions-manual.manualsolution-005",
      "id": "relation.solves.unit.r017.book1.ch03.solutions-manual.manualsolution-005.unit.r017.book1.ch03.text.ex-005",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch03.text.ex-005"
    },
    {
      "from_id": "unit.r017.book1.ch03.solutions-manual.manualsolution-006",
      "id": "relation.solves.unit.r017.book1.ch03.solutions-manual.manualsolution-006.unit.r017.book1.ch03.text.ex-006",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch03.text.ex-006"
    },
    {
      "from_id": "unit.r017.book1.ch03.solutions-manual.manualsolution-007",
      "id": "relation.solves.unit.r017.book1.ch03.solutions-manual.manualsolution-007.unit.r017.book1.ch03.text.ex-007",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch03.text.ex-007"
    },
    {
      "from_id": "unit.r017.book1.ch03.solutions-manual.manualsolution-008",
      "id": "relation.solves.unit.r017.book1.ch03.solutions-manual.manualsolution-008.unit.r017.book1.ch03.text.ex-008",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch03.text.ex-008"
    },
    {
      "from_id": "unit.r017.book1.ch03.solutions-manual.manualsolution-009",
      "id": "relation.solves.unit.r017.book1.ch03.solutions-manual.manualsolution-009.unit.r017.book1.ch03.text.ex-009",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch03.text.ex-009"
    },
    {
      "from_id": "unit.r017.book1.ch03.text.solution-001",
      "id": "relation.solves.unit.r017.book1.ch03.text.solution-001.unit.r017.book1.ch03.text.ex-004",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch03.text.ex-004"
    },
    {
      "from_id": "unit.r017.book1.ch03.text.solution-002",
      "id": "relation.solves.unit.r017.book1.ch03.text.solution-002.unit.r017.book1.ch03.text.ex-005",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch03.text.ex-005"
    },
    {
      "from_id": "unit.r017.book1.ch03.text.solution-003",
      "id": "relation.solves.unit.r017.book1.ch03.text.solution-003.unit.r017.book1.ch03.text.ex-009",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch03.text.ex-009"
    },
    {
      "from_id": "unit.r017.book1.ch04.solutions-manual.manualsolution-001",
      "id": "relation.solves.unit.r017.book1.ch04.solutions-manual.manualsolution-001.unit.r017.book1.ch04.text-b.ex-001",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch04.text-b.ex-001"
    },
    {
      "from_id": "unit.r017.book1.ch04.solutions-manual.manualsolution-002",
      "id": "relation.solves.unit.r017.book1.ch04.solutions-manual.manualsolution-002.unit.r017.book1.ch04.text-b.ex-002",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch04.text-b.ex-002"
    },
    {
      "from_id": "unit.r017.book1.ch04.solutions-manual.manualsolution-003",
      "id": "relation.solves.unit.r017.book1.ch04.solutions-manual.manualsolution-003.unit.r017.book1.ch04.text-b.ex-003",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch04.text-b.ex-003"
    },
    {
      "from_id": "unit.r017.book1.ch04.solutions-manual.manualsolution-004",
      "id": "relation.solves.unit.r017.book1.ch04.solutions-manual.manualsolution-004.unit.r017.book1.ch04.text-b.ex-004",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch04.text-b.ex-004"
    },
    {
      "from_id": "unit.r017.book1.ch04.solutions-manual.manualsolution-005",
      "id": "relation.solves.unit.r017.book1.ch04.solutions-manual.manualsolution-005.unit.r017.book1.ch04.text-b.ex-005",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch04.text-b.ex-005"
    },
    {
      "from_id": "unit.r017.book1.ch04.solutions-manual.manualsolution-006",
      "id": "relation.solves.unit.r017.book1.ch04.solutions-manual.manualsolution-006.unit.r017.book1.ch04.text-b.ex-006",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch04.text-b.ex-006"
    },
    {
      "from_id": "unit.r017.book1.ch04.solutions-manual.manualsolution-007",
      "id": "relation.solves.unit.r017.book1.ch04.solutions-manual.manualsolution-007.unit.r017.book1.ch04.text-b.ex-007",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch04.text-b.ex-007"
    },
    {
      "from_id": "unit.r017.book1.ch04.solutions-manual.manualsolution-008",
      "id": "relation.solves.unit.r017.book1.ch04.solutions-manual.manualsolution-008.unit.r017.book1.ch04.text-b.ex-008",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch04.text-b.ex-008"
    },
    {
      "from_id": "unit.r017.book1.ch04.solutions-manual.manualsolution-009",
      "id": "relation.solves.unit.r017.book1.ch04.solutions-manual.manualsolution-009.unit.r017.book1.ch04.text-b.ex-009",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch04.text-b.ex-009"
    },
    {
      "from_id": "unit.r017.book1.ch04.solutions-manual.manualsolution-010",
      "id": "relation.solves.unit.r017.book1.ch04.solutions-manual.manualsolution-010.unit.r017.book1.ch04.text-b.ex-010",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch04.text-b.ex-010"
    },
    {
      "from_id": "unit.r017.book1.ch04.solutions-manual.manualsolution-011",
      "id": "relation.solves.unit.r017.book1.ch04.solutions-manual.manualsolution-011.unit.r017.book1.ch04.text-b.ex-011",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch04.text-b.ex-011"
    },
    {
      "from_id": "unit.r017.book1.ch04.solutions-manual.manualsolution-012",
      "id": "relation.solves.unit.r017.book1.ch04.solutions-manual.manualsolution-012.unit.r017.book1.ch04.text-b.ex-012",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch04.text-b.ex-012"
    },
    {
      "from_id": "unit.r017.book1.ch04.solutions-manual.manualsolution-013",
      "id": "relation.solves.unit.r017.book1.ch04.solutions-manual.manualsolution-013.unit.r017.book1.ch04.text-b.ex-013",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch04.text-b.ex-013"
    },
    {
      "from_id": "unit.r017.book1.ch04.solutions-manual.manualsolution-014",
      "id": "relation.solves.unit.r017.book1.ch04.solutions-manual.manualsolution-014.unit.r017.book1.ch04.text-b.ex-014",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch04.text-b.ex-014"
    },
    {
      "from_id": "unit.r017.book1.ch04.text-b.solution-002",
      "id": "relation.solves.unit.r017.book1.ch04.text-b.solution-002.unit.r017.book1.ch04.text-b.ex-002",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch04.text-b.ex-002"
    },
    {
      "from_id": "unit.r017.book1.ch04.text-b.solution-003",
      "id": "relation.solves.unit.r017.book1.ch04.text-b.solution-003.unit.r017.book1.ch04.text-b.ex-005",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch04.text-b.ex-005"
    },
    {
      "from_id": "unit.r017.book1.ch04.text-b.solution-004",
      "id": "relation.solves.unit.r017.book1.ch04.text-b.solution-004.unit.r017.book1.ch04.text-b.ex-006",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch04.text-b.ex-006"
    },
    {
      "from_id": "unit.r017.book1.ch04.text-b.solution-005",
      "id": "relation.solves.unit.r017.book1.ch04.text-b.solution-005.unit.r017.book1.ch04.text-b.ex-008",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch04.text-b.ex-008"
    },
    {
      "from_id": "unit.r017.book1.ch04.text-b.solution-006",
      "id": "relation.solves.unit.r017.book1.ch04.text-b.solution-006.unit.r017.book1.ch04.text-b.ex-014",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch04.text-b.ex-014"
    },
    {
      "from_id": "unit.r017.book1.ch05.solutions-manual.manualsolution-001",
      "id": "relation.solves.unit.r017.book1.ch05.solutions-manual.manualsolution-001.unit.r017.book1.ch05.text.ex-001",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-001"
    },
    {
      "from_id": "unit.r017.book1.ch05.solutions-manual.manualsolution-002",
      "id": "relation.solves.unit.r017.book1.ch05.solutions-manual.manualsolution-002.unit.r017.book1.ch05.text.ex-002",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-002"
    },
    {
      "from_id": "unit.r017.book1.ch05.solutions-manual.manualsolution-003",
      "id": "relation.solves.unit.r017.book1.ch05.solutions-manual.manualsolution-003.unit.r017.book1.ch05.text.ex-003",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-003"
    },
    {
      "from_id": "unit.r017.book1.ch05.solutions-manual.manualsolution-004",
      "id": "relation.solves.unit.r017.book1.ch05.solutions-manual.manualsolution-004.unit.r017.book1.ch05.text.ex-004",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-004"
    },
    {
      "from_id": "unit.r017.book1.ch05.solutions-manual.manualsolution-005",
      "id": "relation.solves.unit.r017.book1.ch05.solutions-manual.manualsolution-005.unit.r017.book1.ch05.text.ex-005",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-005"
    },
    {
      "from_id": "unit.r017.book1.ch05.solutions-manual.manualsolution-006",
      "id": "relation.solves.unit.r017.book1.ch05.solutions-manual.manualsolution-006.unit.r017.book1.ch05.text.ex-006",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-006"
    },
    {
      "from_id": "unit.r017.book1.ch05.solutions-manual.manualsolution-007",
      "id": "relation.solves.unit.r017.book1.ch05.solutions-manual.manualsolution-007.unit.r017.book1.ch05.text.ex-007",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-007"
    },
    {
      "from_id": "unit.r017.book1.ch05.solutions-manual.manualsolution-008",
      "id": "relation.solves.unit.r017.book1.ch05.solutions-manual.manualsolution-008.unit.r017.book1.ch05.text.ex-008",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-008"
    },
    {
      "from_id": "unit.r017.book1.ch05.solutions-manual.manualsolution-009",
      "id": "relation.solves.unit.r017.book1.ch05.solutions-manual.manualsolution-009.unit.r017.book1.ch05.text.ex-009",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-009"
    },
    {
      "from_id": "unit.r017.book1.ch05.solutions-manual.manualsolution-010",
      "id": "relation.solves.unit.r017.book1.ch05.solutions-manual.manualsolution-010.unit.r017.book1.ch05.text.ex-010",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-010"
    },
    {
      "from_id": "unit.r017.book1.ch05.solutions-manual.manualsolution-011",
      "id": "relation.solves.unit.r017.book1.ch05.solutions-manual.manualsolution-011.unit.r017.book1.ch05.text.ex-011",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-011"
    },
    {
      "from_id": "unit.r017.book1.ch05.solutions-manual.manualsolution-012",
      "id": "relation.solves.unit.r017.book1.ch05.solutions-manual.manualsolution-012.unit.r017.book1.ch05.text.ex-012",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-012"
    },
    {
      "from_id": "unit.r017.book1.ch05.solutions-manual.manualsolution-013",
      "id": "relation.solves.unit.r017.book1.ch05.solutions-manual.manualsolution-013.unit.r017.book1.ch05.text.ex-013",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-013"
    },
    {
      "from_id": "unit.r017.book1.ch05.solutions-manual.manualsolution-014",
      "id": "relation.solves.unit.r017.book1.ch05.solutions-manual.manualsolution-014.unit.r017.book1.ch05.text.ex-014",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-014"
    },
    {
      "from_id": "unit.r017.book1.ch05.solutions-manual.manualsolution-015",
      "id": "relation.solves.unit.r017.book1.ch05.solutions-manual.manualsolution-015.unit.r017.book1.ch05.text.ex-015",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-015"
    },
    {
      "from_id": "unit.r017.book1.ch05.solutions-manual.manualsolution-016",
      "id": "relation.solves.unit.r017.book1.ch05.solutions-manual.manualsolution-016.unit.r017.book1.ch05.text.ex-016",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-016"
    },
    {
      "from_id": "unit.r017.book1.ch05.solutions-manual.manualsolution-017",
      "id": "relation.solves.unit.r017.book1.ch05.solutions-manual.manualsolution-017.unit.r017.book1.ch05.text.ex-017",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-017"
    },
    {
      "from_id": "unit.r017.book1.ch05.text.solution-008",
      "id": "relation.solves.unit.r017.book1.ch05.text.solution-008.unit.r017.book1.ch05.text.ex-003",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-003"
    },
    {
      "from_id": "unit.r017.book1.ch05.text.solution-009",
      "id": "relation.solves.unit.r017.book1.ch05.text.solution-009.unit.r017.book1.ch05.text.ex-006",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-006"
    },
    {
      "from_id": "unit.r017.book1.ch05.text.solution-010",
      "id": "relation.solves.unit.r017.book1.ch05.text.solution-010.unit.r017.book1.ch05.text.ex-002",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-002"
    },
    {
      "from_id": "unit.r017.book1.ch05.text.solution-011",
      "id": "relation.solves.unit.r017.book1.ch05.text.solution-011.unit.r017.book1.ch05.text.ex-007",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-007"
    },
    {
      "from_id": "unit.r017.book1.ch05.text.solution-012",
      "id": "relation.solves.unit.r017.book1.ch05.text.solution-012.unit.r017.book1.ch05.text.ex-008",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-008"
    },
    {
      "from_id": "unit.r017.book1.ch05.text.solution-013",
      "id": "relation.solves.unit.r017.book1.ch05.text.solution-013.unit.r017.book1.ch05.text.ex-010",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch05.text.ex-010"
    },
    {
      "from_id": "unit.r017.book1.ch06.solutions-manual.manualsolution-001",
      "id": "relation.solves.unit.r017.book1.ch06.solutions-manual.manualsolution-001.unit.r017.book1.ch06.text.ex-001",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-001"
    },
    {
      "from_id": "unit.r017.book1.ch06.solutions-manual.manualsolution-002",
      "id": "relation.solves.unit.r017.book1.ch06.solutions-manual.manualsolution-002.unit.r017.book1.ch06.text.ex-002",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-002"
    },
    {
      "from_id": "unit.r017.book1.ch06.solutions-manual.manualsolution-003",
      "id": "relation.solves.unit.r017.book1.ch06.solutions-manual.manualsolution-003.unit.r017.book1.ch06.text.ex-003",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-003"
    },
    {
      "from_id": "unit.r017.book1.ch06.solutions-manual.manualsolution-004",
      "id": "relation.solves.unit.r017.book1.ch06.solutions-manual.manualsolution-004.unit.r017.book1.ch06.text.ex-004",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-004"
    },
    {
      "from_id": "unit.r017.book1.ch06.solutions-manual.manualsolution-005",
      "id": "relation.solves.unit.r017.book1.ch06.solutions-manual.manualsolution-005.unit.r017.book1.ch06.text.ex-005",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-005"
    },
    {
      "from_id": "unit.r017.book1.ch06.solutions-manual.manualsolution-006",
      "id": "relation.solves.unit.r017.book1.ch06.solutions-manual.manualsolution-006.unit.r017.book1.ch06.text.ex-006",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-006"
    },
    {
      "from_id": "unit.r017.book1.ch06.solutions-manual.manualsolution-007",
      "id": "relation.solves.unit.r017.book1.ch06.solutions-manual.manualsolution-007.unit.r017.book1.ch06.text.ex-007",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-007"
    },
    {
      "from_id": "unit.r017.book1.ch06.solutions-manual.manualsolution-008",
      "id": "relation.solves.unit.r017.book1.ch06.solutions-manual.manualsolution-008.unit.r017.book1.ch06.text.ex-008",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-008"
    },
    {
      "from_id": "unit.r017.book1.ch06.solutions-manual.manualsolution-009",
      "id": "relation.solves.unit.r017.book1.ch06.solutions-manual.manualsolution-009.unit.r017.book1.ch06.text.ex-009",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-009"
    },
    {
      "from_id": "unit.r017.book1.ch06.solutions-manual.manualsolution-010",
      "id": "relation.solves.unit.r017.book1.ch06.solutions-manual.manualsolution-010.unit.r017.book1.ch06.text.ex-010",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-010"
    },
    {
      "from_id": "unit.r017.book1.ch06.solutions-manual.manualsolution-011",
      "id": "relation.solves.unit.r017.book1.ch06.solutions-manual.manualsolution-011.unit.r017.book1.ch06.text.ex-011",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-011"
    },
    {
      "from_id": "unit.r017.book1.ch06.solutions-manual.manualsolution-012",
      "id": "relation.solves.unit.r017.book1.ch06.solutions-manual.manualsolution-012.unit.r017.book1.ch06.text.ex-012",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-012"
    },
    {
      "from_id": "unit.r017.book1.ch06.text.solution-001",
      "id": "relation.solves.unit.r017.book1.ch06.text.solution-001.unit.r017.book1.ch06.text.ex-001",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-001"
    },
    {
      "from_id": "unit.r017.book1.ch06.text.solution-002",
      "id": "relation.solves.unit.r017.book1.ch06.text.solution-002.unit.r017.book1.ch06.text.ex-006",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-006"
    },
    {
      "from_id": "unit.r017.book1.ch06.text.solution-003",
      "id": "relation.solves.unit.r017.book1.ch06.text.solution-003.unit.r017.book1.ch06.text.ex-009",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-009"
    },
    {
      "from_id": "unit.r017.book1.ch06.text.solution-004",
      "id": "relation.solves.unit.r017.book1.ch06.text.solution-004.unit.r017.book1.ch06.text.ex-010",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch06.text.ex-010"
    },
    {
      "from_id": "unit.r017.book1.ch07.solutions-manual.manualsolution-001",
      "id": "relation.solves.unit.r017.book1.ch07.solutions-manual.manualsolution-001.unit.r017.book1.ch07.text.ex-001",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-001"
    },
    {
      "from_id": "unit.r017.book1.ch07.solutions-manual.manualsolution-002",
      "id": "relation.solves.unit.r017.book1.ch07.solutions-manual.manualsolution-002.unit.r017.book1.ch07.text.ex-002",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-002"
    },
    {
      "from_id": "unit.r017.book1.ch07.solutions-manual.manualsolution-003",
      "id": "relation.solves.unit.r017.book1.ch07.solutions-manual.manualsolution-003.unit.r017.book1.ch07.text.ex-003",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-003"
    },
    {
      "from_id": "unit.r017.book1.ch07.solutions-manual.manualsolution-004",
      "id": "relation.solves.unit.r017.book1.ch07.solutions-manual.manualsolution-004.unit.r017.book1.ch07.text.ex-004",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-004"
    },
    {
      "from_id": "unit.r017.book1.ch07.solutions-manual.manualsolution-005",
      "id": "relation.solves.unit.r017.book1.ch07.solutions-manual.manualsolution-005.unit.r017.book1.ch07.text.ex-005",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-005"
    },
    {
      "from_id": "unit.r017.book1.ch07.solutions-manual.manualsolution-006",
      "id": "relation.solves.unit.r017.book1.ch07.solutions-manual.manualsolution-006.unit.r017.book1.ch07.text.ex-006",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-006"
    },
    {
      "from_id": "unit.r017.book1.ch07.solutions-manual.manualsolution-007",
      "id": "relation.solves.unit.r017.book1.ch07.solutions-manual.manualsolution-007.unit.r017.book1.ch07.text.ex-007",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-007"
    },
    {
      "from_id": "unit.r017.book1.ch07.solutions-manual.manualsolution-008",
      "id": "relation.solves.unit.r017.book1.ch07.solutions-manual.manualsolution-008.unit.r017.book1.ch07.text.ex-008",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-008"
    },
    {
      "from_id": "unit.r017.book1.ch07.solutions-manual.manualsolution-009",
      "id": "relation.solves.unit.r017.book1.ch07.solutions-manual.manualsolution-009.unit.r017.book1.ch07.text.ex-009",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-009"
    },
    {
      "from_id": "unit.r017.book1.ch07.solutions-manual.manualsolution-010",
      "id": "relation.solves.unit.r017.book1.ch07.solutions-manual.manualsolution-010.unit.r017.book1.ch07.text.ex-010",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-010"
    },
    {
      "from_id": "unit.r017.book1.ch07.solutions-manual.manualsolution-011",
      "id": "relation.solves.unit.r017.book1.ch07.solutions-manual.manualsolution-011.unit.r017.book1.ch07.text.ex-011",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-011"
    },
    {
      "from_id": "unit.r017.book1.ch07.solutions-manual.manualsolution-012",
      "id": "relation.solves.unit.r017.book1.ch07.solutions-manual.manualsolution-012.unit.r017.book1.ch07.text.ex-012",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-012"
    },
    {
      "from_id": "unit.r017.book1.ch07.solutions-manual.manualsolution-013",
      "id": "relation.solves.unit.r017.book1.ch07.solutions-manual.manualsolution-013.unit.r017.book1.ch07.text.ex-013",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-013"
    },
    {
      "from_id": "unit.r017.book1.ch07.solutions-manual.manualsolution-014",
      "id": "relation.solves.unit.r017.book1.ch07.solutions-manual.manualsolution-014.unit.r017.book1.ch07.text.ex-014",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-014"
    },
    {
      "from_id": "unit.r017.book1.ch07.solutions-manual.manualsolution-015",
      "id": "relation.solves.unit.r017.book1.ch07.solutions-manual.manualsolution-015.unit.r017.book1.ch07.text.ex-015",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-015"
    },
    {
      "from_id": "unit.r017.book1.ch07.solutions-manual.manualsolution-016",
      "id": "relation.solves.unit.r017.book1.ch07.solutions-manual.manualsolution-016.unit.r017.book1.ch07.text.ex-016",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-016"
    },
    {
      "from_id": "unit.r017.book1.ch07.solutions-manual.manualsolution-017",
      "id": "relation.solves.unit.r017.book1.ch07.solutions-manual.manualsolution-017.unit.r017.book1.ch07.text.ex-017",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-017"
    },
    {
      "from_id": "unit.r017.book1.ch07.text.solution-001",
      "id": "relation.solves.unit.r017.book1.ch07.text.solution-001.unit.r017.book1.ch07.text.ex-005",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-005"
    },
    {
      "from_id": "unit.r017.book1.ch07.text.solution-002",
      "id": "relation.solves.unit.r017.book1.ch07.text.solution-002.unit.r017.book1.ch07.text.ex-006",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-006"
    },
    {
      "from_id": "unit.r017.book1.ch07.text.solution-003",
      "id": "relation.solves.unit.r017.book1.ch07.text.solution-003.unit.r017.book1.ch07.text.ex-007",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-007"
    },
    {
      "from_id": "unit.r017.book1.ch07.text.solution-004",
      "id": "relation.solves.unit.r017.book1.ch07.text.solution-004.unit.r017.book1.ch07.text.ex-008",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-008"
    },
    {
      "from_id": "unit.r017.book1.ch07.text.solution-005",
      "id": "relation.solves.unit.r017.book1.ch07.text.solution-005.unit.r017.book1.ch07.text.ex-009",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-009"
    },
    {
      "from_id": "unit.r017.book1.ch07.text.solution-006",
      "id": "relation.solves.unit.r017.book1.ch07.text.solution-006.unit.r017.book1.ch07.text.ex-014",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-014"
    },
    {
      "from_id": "unit.r017.book1.ch07.text.solution-007",
      "id": "relation.solves.unit.r017.book1.ch07.text.solution-007.unit.r017.book1.ch07.text.ex-017",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch07.text.ex-017"
    },
    {
      "from_id": "unit.r017.book1.ch08.solutions-manual.manualsolution-001",
      "id": "relation.solves.unit.r017.book1.ch08.solutions-manual.manualsolution-001.unit.r017.book1.ch08.text.ex-001",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch08.text.ex-001"
    },
    {
      "from_id": "unit.r017.book1.ch08.solutions-manual.manualsolution-002",
      "id": "relation.solves.unit.r017.book1.ch08.solutions-manual.manualsolution-002.unit.r017.book1.ch08.text.ex-002",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch08.text.ex-002"
    },
    {
      "from_id": "unit.r017.book1.ch08.solutions-manual.manualsolution-003",
      "id": "relation.solves.unit.r017.book1.ch08.solutions-manual.manualsolution-003.unit.r017.book1.ch08.text.ex-003",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch08.text.ex-003"
    },
    {
      "from_id": "unit.r017.book1.ch08.solutions-manual.manualsolution-004",
      "id": "relation.solves.unit.r017.book1.ch08.solutions-manual.manualsolution-004.unit.r017.book1.ch08.text.ex-004",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch08.text.ex-004"
    },
    {
      "from_id": "unit.r017.book1.ch08.solutions-manual.manualsolution-005",
      "id": "relation.solves.unit.r017.book1.ch08.solutions-manual.manualsolution-005.unit.r017.book1.ch08.text.ex-005",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch08.text.ex-005"
    },
    {
      "from_id": "unit.r017.book1.ch08.solutions-manual.manualsolution-006",
      "id": "relation.solves.unit.r017.book1.ch08.solutions-manual.manualsolution-006.unit.r017.book1.ch08.text.ex-006",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch08.text.ex-006"
    },
    {
      "from_id": "unit.r017.book1.ch08.solutions-manual.manualsolution-007",
      "id": "relation.solves.unit.r017.book1.ch08.solutions-manual.manualsolution-007.unit.r017.book1.ch08.text.ex-007",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch08.text.ex-007"
    },
    {
      "from_id": "unit.r017.book1.ch08.solutions-manual.manualsolution-008",
      "id": "relation.solves.unit.r017.book1.ch08.solutions-manual.manualsolution-008.unit.r017.book1.ch08.text.ex-008",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch08.text.ex-008"
    },
    {
      "from_id": "unit.r017.book1.ch08.solutions-manual.manualsolution-009",
      "id": "relation.solves.unit.r017.book1.ch08.solutions-manual.manualsolution-009.unit.r017.book1.ch08.text.ex-009",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch08.text.ex-009"
    },
    {
      "from_id": "unit.r017.book1.ch08.text.solution-002",
      "id": "relation.solves.unit.r017.book1.ch08.text.solution-002.unit.r017.book1.ch08.text.ex-001",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch08.text.ex-001"
    },
    {
      "from_id": "unit.r017.book1.ch08.text.solution-003",
      "id": "relation.solves.unit.r017.book1.ch08.text.solution-003.unit.r017.book1.ch08.text.ex-004",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch08.text.ex-004"
    },
    {
      "from_id": "unit.r017.book1.ch08.text.solution-004",
      "id": "relation.solves.unit.r017.book1.ch08.text.solution-004.unit.r017.book1.ch08.text.ex-009",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch08.text.ex-009"
    },
    {
      "from_id": "unit.r017.book1.ch09.solutions-manual.manualsolution-001",
      "id": "relation.solves.unit.r017.book1.ch09.solutions-manual.manualsolution-001.unit.r017.book1.ch09.text.ex-001",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-001"
    },
    {
      "from_id": "unit.r017.book1.ch09.solutions-manual.manualsolution-002",
      "id": "relation.solves.unit.r017.book1.ch09.solutions-manual.manualsolution-002.unit.r017.book1.ch09.text.ex-002",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-002"
    },
    {
      "from_id": "unit.r017.book1.ch09.solutions-manual.manualsolution-003",
      "id": "relation.solves.unit.r017.book1.ch09.solutions-manual.manualsolution-003.unit.r017.book1.ch09.text.ex-003",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-003"
    },
    {
      "from_id": "unit.r017.book1.ch09.solutions-manual.manualsolution-004",
      "id": "relation.solves.unit.r017.book1.ch09.solutions-manual.manualsolution-004.unit.r017.book1.ch09.text.ex-004",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-004"
    },
    {
      "from_id": "unit.r017.book1.ch09.solutions-manual.manualsolution-005",
      "id": "relation.solves.unit.r017.book1.ch09.solutions-manual.manualsolution-005.unit.r017.book1.ch09.text.ex-005",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-005"
    },
    {
      "from_id": "unit.r017.book1.ch09.solutions-manual.manualsolution-006",
      "id": "relation.solves.unit.r017.book1.ch09.solutions-manual.manualsolution-006.unit.r017.book1.ch09.text.ex-006",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-006"
    },
    {
      "from_id": "unit.r017.book1.ch09.solutions-manual.manualsolution-007",
      "id": "relation.solves.unit.r017.book1.ch09.solutions-manual.manualsolution-007.unit.r017.book1.ch09.text.ex-007",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-007"
    },
    {
      "from_id": "unit.r017.book1.ch09.solutions-manual.manualsolution-008",
      "id": "relation.solves.unit.r017.book1.ch09.solutions-manual.manualsolution-008.unit.r017.book1.ch09.text.ex-008",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-008"
    },
    {
      "from_id": "unit.r017.book1.ch09.solutions-manual.manualsolution-009",
      "id": "relation.solves.unit.r017.book1.ch09.solutions-manual.manualsolution-009.unit.r017.book1.ch09.text.ex-009",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-009"
    },
    {
      "from_id": "unit.r017.book1.ch09.solutions-manual.manualsolution-010",
      "id": "relation.solves.unit.r017.book1.ch09.solutions-manual.manualsolution-010.unit.r017.book1.ch09.text.ex-010",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-010"
    },
    {
      "from_id": "unit.r017.book1.ch09.solutions-manual.manualsolution-011",
      "id": "relation.solves.unit.r017.book1.ch09.solutions-manual.manualsolution-011.unit.r017.book1.ch09.text.ex-011",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-011"
    },
    {
      "from_id": "unit.r017.book1.ch09.solutions-manual.manualsolution-012",
      "id": "relation.solves.unit.r017.book1.ch09.solutions-manual.manualsolution-012.unit.r017.book1.ch09.text.ex-012",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-012"
    },
    {
      "from_id": "unit.r017.book1.ch09.text.solution-001",
      "id": "relation.solves.unit.r017.book1.ch09.text.solution-001.unit.r017.book1.ch09.text.ex-002",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-002"
    },
    {
      "from_id": "unit.r017.book1.ch09.text.solution-002",
      "id": "relation.solves.unit.r017.book1.ch09.text.solution-002.unit.r017.book1.ch09.text.ex-003",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-003"
    },
    {
      "from_id": "unit.r017.book1.ch09.text.solution-003",
      "id": "relation.solves.unit.r017.book1.ch09.text.solution-003.unit.r017.book1.ch09.text.ex-005",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-005"
    },
    {
      "from_id": "unit.r017.book1.ch09.text.solution-004",
      "id": "relation.solves.unit.r017.book1.ch09.text.solution-004.unit.r017.book1.ch09.text.ex-006",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch09.text.ex-006"
    },
    {
      "from_id": "unit.r017.book1.ch10.solutions-manual.manualsolution-001",
      "id": "relation.solves.unit.r017.book1.ch10.solutions-manual.manualsolution-001.unit.r017.book1.ch10.text.ex-001",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-001"
    },
    {
      "from_id": "unit.r017.book1.ch10.solutions-manual.manualsolution-002",
      "id": "relation.solves.unit.r017.book1.ch10.solutions-manual.manualsolution-002.unit.r017.book1.ch10.text.ex-002",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-002"
    },
    {
      "from_id": "unit.r017.book1.ch10.solutions-manual.manualsolution-003",
      "id": "relation.solves.unit.r017.book1.ch10.solutions-manual.manualsolution-003.unit.r017.book1.ch10.text.ex-003",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-003"
    },
    {
      "from_id": "unit.r017.book1.ch10.solutions-manual.manualsolution-004",
      "id": "relation.solves.unit.r017.book1.ch10.solutions-manual.manualsolution-004.unit.r017.book1.ch10.text.ex-004",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-004"
    },
    {
      "from_id": "unit.r017.book1.ch10.solutions-manual.manualsolution-005",
      "id": "relation.solves.unit.r017.book1.ch10.solutions-manual.manualsolution-005.unit.r017.book1.ch10.text.ex-005",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-005"
    },
    {
      "from_id": "unit.r017.book1.ch10.solutions-manual.manualsolution-006",
      "id": "relation.solves.unit.r017.book1.ch10.solutions-manual.manualsolution-006.unit.r017.book1.ch10.text.ex-006",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-006"
    },
    {
      "from_id": "unit.r017.book1.ch10.solutions-manual.manualsolution-007",
      "id": "relation.solves.unit.r017.book1.ch10.solutions-manual.manualsolution-007.unit.r017.book1.ch10.text.ex-007",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-007"
    },
    {
      "from_id": "unit.r017.book1.ch10.solutions-manual.manualsolution-008",
      "id": "relation.solves.unit.r017.book1.ch10.solutions-manual.manualsolution-008.unit.r017.book1.ch10.text.ex-008",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-008"
    },
    {
      "from_id": "unit.r017.book1.ch10.solutions-manual.manualsolution-009",
      "id": "relation.solves.unit.r017.book1.ch10.solutions-manual.manualsolution-009.unit.r017.book1.ch10.text.ex-009",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-009"
    },
    {
      "from_id": "unit.r017.book1.ch10.solutions-manual.manualsolution-010",
      "id": "relation.solves.unit.r017.book1.ch10.solutions-manual.manualsolution-010.unit.r017.book1.ch10.text.ex-010",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-010"
    },
    {
      "from_id": "unit.r017.book1.ch10.solutions-manual.manualsolution-011",
      "id": "relation.solves.unit.r017.book1.ch10.solutions-manual.manualsolution-011.unit.r017.book1.ch10.text.ex-011",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-011"
    },
    {
      "from_id": "unit.r017.book1.ch10.solutions-manual.manualsolution-012",
      "id": "relation.solves.unit.r017.book1.ch10.solutions-manual.manualsolution-012.unit.r017.book1.ch10.text.ex-012",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-012"
    },
    {
      "from_id": "unit.r017.book1.ch10.text.solution-001",
      "id": "relation.solves.unit.r017.book1.ch10.text.solution-001.unit.r017.book1.ch10.text.ex-004",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-004"
    },
    {
      "from_id": "unit.r017.book1.ch10.text.solution-002",
      "id": "relation.solves.unit.r017.book1.ch10.text.solution-002.unit.r017.book1.ch10.text.ex-006",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-006"
    },
    {
      "from_id": "unit.r017.book1.ch10.text.solution-003",
      "id": "relation.solves.unit.r017.book1.ch10.text.solution-003.unit.r017.book1.ch10.text.ex-008",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-008"
    },
    {
      "from_id": "unit.r017.book1.ch10.text.solution-004",
      "id": "relation.solves.unit.r017.book1.ch10.text.solution-004.unit.r017.book1.ch10.text.ex-012",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch10.text.ex-012"
    },
    {
      "from_id": "unit.r017.book1.ch11.solutions-manual.manualsolution-001",
      "id": "relation.solves.unit.r017.book1.ch11.solutions-manual.manualsolution-001.unit.r017.book1.ch11.text-a.ex-001",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-a.ex-001"
    },
    {
      "from_id": "unit.r017.book1.ch11.solutions-manual.manualsolution-002",
      "id": "relation.solves.unit.r017.book1.ch11.solutions-manual.manualsolution-002.unit.r017.book1.ch11.text-a.ex-002",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-a.ex-002"
    },
    {
      "from_id": "unit.r017.book1.ch11.solutions-manual.manualsolution-003",
      "id": "relation.solves.unit.r017.book1.ch11.solutions-manual.manualsolution-003.unit.r017.book1.ch11.text-a.ex-003",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-a.ex-003"
    },
    {
      "from_id": "unit.r017.book1.ch11.solutions-manual.manualsolution-004",
      "id": "relation.solves.unit.r017.book1.ch11.solutions-manual.manualsolution-004.unit.r017.book1.ch11.text-a.ex-004",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-a.ex-004"
    },
    {
      "from_id": "unit.r017.book1.ch11.solutions-manual.manualsolution-005",
      "id": "relation.solves.unit.r017.book1.ch11.solutions-manual.manualsolution-005.unit.r017.book1.ch11.text-a.ex-005",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-a.ex-005"
    },
    {
      "from_id": "unit.r017.book1.ch11.solutions-manual.manualsolution-006",
      "id": "relation.solves.unit.r017.book1.ch11.solutions-manual.manualsolution-006.unit.r017.book1.ch11.text-a.ex-006",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-a.ex-006"
    },
    {
      "from_id": "unit.r017.book1.ch11.solutions-manual.manualsolution-007",
      "id": "relation.solves.unit.r017.book1.ch11.solutions-manual.manualsolution-007.unit.r017.book1.ch11.text-a.ex-007",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-a.ex-007"
    },
    {
      "from_id": "unit.r017.book1.ch11.solutions-manual.manualsolution-008",
      "id": "relation.solves.unit.r017.book1.ch11.solutions-manual.manualsolution-008.unit.r017.book1.ch11.text-a.ex-008",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-a.ex-008"
    },
    {
      "from_id": "unit.r017.book1.ch11.solutions-manual.manualsolution-009",
      "id": "relation.solves.unit.r017.book1.ch11.solutions-manual.manualsolution-009.unit.r017.book1.ch11.text-a.ex-009",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-a.ex-009"
    },
    {
      "from_id": "unit.r017.book1.ch11.solutions-manual.manualsolution-010",
      "id": "relation.solves.unit.r017.book1.ch11.solutions-manual.manualsolution-010.unit.r017.book1.ch11.text-b.ex-001",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-b.ex-001"
    },
    {
      "from_id": "unit.r017.book1.ch11.solutions-manual.manualsolution-011",
      "id": "relation.solves.unit.r017.book1.ch11.solutions-manual.manualsolution-011.unit.r017.book1.ch11.text-b.ex-002",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-b.ex-002"
    },
    {
      "from_id": "unit.r017.book1.ch11.solutions-manual.manualsolution-012",
      "id": "relation.solves.unit.r017.book1.ch11.solutions-manual.manualsolution-012.unit.r017.book1.ch11.text-b.ex-003",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-b.ex-003"
    },
    {
      "from_id": "unit.r017.book1.ch11.solutions-manual.manualsolution-013",
      "id": "relation.solves.unit.r017.book1.ch11.solutions-manual.manualsolution-013.unit.r017.book1.ch11.text-b.ex-004",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-b.ex-004"
    },
    {
      "from_id": "unit.r017.book1.ch11.solutions-manual.manualsolution-014",
      "id": "relation.solves.unit.r017.book1.ch11.solutions-manual.manualsolution-014.unit.r017.book1.ch11.text-b.ex-005",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-b.ex-005"
    },
    {
      "from_id": "unit.r017.book1.ch11.solutions-manual.manualsolution-015",
      "id": "relation.solves.unit.r017.book1.ch11.solutions-manual.manualsolution-015.unit.r017.book1.ch11.text-b.ex-006",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-b.ex-006"
    },
    {
      "from_id": "unit.r017.book1.ch11.solutions-manual.manualsolution-016",
      "id": "relation.solves.unit.r017.book1.ch11.solutions-manual.manualsolution-016.unit.r017.book1.ch11.text-b.ex-007",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-b.ex-007"
    },
    {
      "from_id": "unit.r017.book1.ch11.solutions-manual.manualsolution-017",
      "id": "relation.solves.unit.r017.book1.ch11.solutions-manual.manualsolution-017.unit.r017.book1.ch11.text-b.ex-008",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-b.ex-008"
    },
    {
      "from_id": "unit.r017.book1.ch11.text-a.solution-001",
      "id": "relation.solves.unit.r017.book1.ch11.text-a.solution-001.unit.r017.book1.ch11.text-a.ex-002",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-a.ex-002"
    },
    {
      "from_id": "unit.r017.book1.ch11.text-a.solution-002",
      "id": "relation.solves.unit.r017.book1.ch11.text-a.solution-002.unit.r017.book1.ch11.text-a.ex-004",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-a.ex-004"
    },
    {
      "from_id": "unit.r017.book1.ch11.text-a.solution-003",
      "id": "relation.solves.unit.r017.book1.ch11.text-a.solution-003.unit.r017.book1.ch11.text-a.ex-009",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-a.ex-009"
    },
    {
      "from_id": "unit.r017.book1.ch11.text-b.solution-001",
      "id": "relation.solves.unit.r017.book1.ch11.text-b.solution-001.unit.r017.book1.ch11.text-b.ex-002",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-b.ex-002"
    },
    {
      "from_id": "unit.r017.book1.ch11.text-b.solution-002",
      "id": "relation.solves.unit.r017.book1.ch11.text-b.solution-002.unit.r017.book1.ch11.text-b.ex-003",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-b.ex-003"
    },
    {
      "from_id": "unit.r017.book1.ch11.text-b.solution-003",
      "id": "relation.solves.unit.r017.book1.ch11.text-b.solution-003.unit.r017.book1.ch11.text-b.ex-006",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch11.text-b.ex-006"
    },
    {
      "from_id": "unit.r017.book1.ch12.solutions-manual.manualsolution-001",
      "id": "relation.solves.unit.r017.book1.ch12.solutions-manual.manualsolution-001.unit.r017.book1.ch12.text.ex-001",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch12.text.ex-001"
    },
    {
      "from_id": "unit.r017.book1.ch12.solutions-manual.manualsolution-002",
      "id": "relation.solves.unit.r017.book1.ch12.solutions-manual.manualsolution-002.unit.r017.book1.ch12.text.ex-002",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch12.text.ex-002"
    },
    {
      "from_id": "unit.r017.book1.ch12.solutions-manual.manualsolution-003",
      "id": "relation.solves.unit.r017.book1.ch12.solutions-manual.manualsolution-003.unit.r017.book1.ch12.text.ex-003",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch12.text.ex-003"
    },
    {
      "from_id": "unit.r017.book1.ch12.solutions-manual.manualsolution-004",
      "id": "relation.solves.unit.r017.book1.ch12.solutions-manual.manualsolution-004.unit.r017.book1.ch12.text.ex-004",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch12.text.ex-004"
    },
    {
      "from_id": "unit.r017.book1.ch12.solutions-manual.manualsolution-005",
      "id": "relation.solves.unit.r017.book1.ch12.solutions-manual.manualsolution-005.unit.r017.book1.ch12.text.ex-005",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch12.text.ex-005"
    },
    {
      "from_id": "unit.r017.book1.ch12.solutions-manual.manualsolution-006",
      "id": "relation.solves.unit.r017.book1.ch12.solutions-manual.manualsolution-006.unit.r017.book1.ch12.text.ex-006",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch12.text.ex-006"
    },
    {
      "from_id": "unit.r017.book1.ch12.solutions-manual.manualsolution-007",
      "id": "relation.solves.unit.r017.book1.ch12.solutions-manual.manualsolution-007.unit.r017.book1.ch12.text.ex-007",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch12.text.ex-007"
    },
    {
      "from_id": "unit.r017.book1.ch12.solutions-manual.manualsolution-008",
      "id": "relation.solves.unit.r017.book1.ch12.solutions-manual.manualsolution-008.unit.r017.book1.ch12.text.ex-008",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch12.text.ex-008"
    },
    {
      "from_id": "unit.r017.book1.ch12.solutions-manual.manualsolution-009",
      "id": "relation.solves.unit.r017.book1.ch12.solutions-manual.manualsolution-009.unit.r017.book1.ch12.text.ex-009",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch12.text.ex-009"
    },
    {
      "from_id": "unit.r017.book1.ch12.text.solution-001",
      "id": "relation.solves.unit.r017.book1.ch12.text.solution-001.unit.r017.book1.ch12.text.ex-002",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch12.text.ex-002"
    },
    {
      "from_id": "unit.r017.book1.ch12.text.solution-002",
      "id": "relation.solves.unit.r017.book1.ch12.text.solution-002.unit.r017.book1.ch12.text.ex-005",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch12.text.ex-005"
    },
    {
      "from_id": "unit.r017.book1.ch12.text.solution-003",
      "id": "relation.solves.unit.r017.book1.ch12.text.solution-003.unit.r017.book1.ch12.text.ex-009",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch12.text.ex-009"
    },
    {
      "from_id": "unit.r017.book1.ch13.solutions-manual.manualsolution-001",
      "id": "relation.solves.unit.r017.book1.ch13.solutions-manual.manualsolution-001.unit.r017.book1.ch13.text.ex-001",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13.text.ex-001"
    },
    {
      "from_id": "unit.r017.book1.ch13.solutions-manual.manualsolution-002",
      "id": "relation.solves.unit.r017.book1.ch13.solutions-manual.manualsolution-002.unit.r017.book1.ch13.text.ex-002",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13.text.ex-002"
    },
    {
      "from_id": "unit.r017.book1.ch13.solutions-manual.manualsolution-003",
      "id": "relation.solves.unit.r017.book1.ch13.solutions-manual.manualsolution-003.unit.r017.book1.ch13.text.ex-003",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13.text.ex-003"
    },
    {
      "from_id": "unit.r017.book1.ch13.solutions-manual.manualsolution-004",
      "id": "relation.solves.unit.r017.book1.ch13.solutions-manual.manualsolution-004.unit.r017.book1.ch13.text.ex-004",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13.text.ex-004"
    },
    {
      "from_id": "unit.r017.book1.ch13.solutions-manual.manualsolution-005",
      "id": "relation.solves.unit.r017.book1.ch13.solutions-manual.manualsolution-005.unit.r017.book1.ch13.text.ex-005",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13.text.ex-005"
    },
    {
      "from_id": "unit.r017.book1.ch13.solutions-manual.manualsolution-006",
      "id": "relation.solves.unit.r017.book1.ch13.solutions-manual.manualsolution-006.unit.r017.book1.ch13.text.ex-006",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13.text.ex-006"
    },
    {
      "from_id": "unit.r017.book1.ch13.solutions-manual.manualsolution-007",
      "id": "relation.solves.unit.r017.book1.ch13.solutions-manual.manualsolution-007.unit.r017.book1.ch13.text.ex-007",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13.text.ex-007"
    },
    {
      "from_id": "unit.r017.book1.ch13.solutions-manual.manualsolution-008",
      "id": "relation.solves.unit.r017.book1.ch13.solutions-manual.manualsolution-008.unit.r017.book1.ch13.text.ex-008",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13.text.ex-008"
    },
    {
      "from_id": "unit.r017.book1.ch13.solutions-manual.manualsolution-009",
      "id": "relation.solves.unit.r017.book1.ch13.solutions-manual.manualsolution-009.unit.r017.book1.ch13.text.ex-009",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13.text.ex-009"
    },
    {
      "from_id": "unit.r017.book1.ch13.solutions-manual.manualsolution-010",
      "id": "relation.solves.unit.r017.book1.ch13.solutions-manual.manualsolution-010.unit.r017.book1.ch13.text.ex-010",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13.text.ex-010"
    },
    {
      "from_id": "unit.r017.book1.ch13.text.solution-001",
      "id": "relation.solves.unit.r017.book1.ch13.text.solution-001.unit.r017.book1.ch13.text.ex-001",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13.text.ex-001"
    },
    {
      "from_id": "unit.r017.book1.ch13.text.solution-002",
      "id": "relation.solves.unit.r017.book1.ch13.text.solution-002.unit.r017.book1.ch13.text.ex-004",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13.text.ex-004"
    },
    {
      "from_id": "unit.r017.book1.ch13.text.solution-003",
      "id": "relation.solves.unit.r017.book1.ch13.text.solution-003.unit.r017.book1.ch13.text.ex-007",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13.text.ex-007"
    },
    {
      "from_id": "unit.r017.book1.ch13.text.solution-004",
      "id": "relation.solves.unit.r017.book1.ch13.text.solution-004.unit.r017.book1.ch13.text.ex-011",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch13.text.ex-011"
    },
    {
      "from_id": "unit.r017.book1.ch14.text.solution-001",
      "id": "relation.solves.unit.r017.book1.ch14.text.solution-001.unit.r017.book1.ch14.text.itemexercise-001",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch14.text.itemexercise-001"
    },
    {
      "from_id": "unit.r017.book1.ch14.text.solution-002",
      "id": "relation.solves.unit.r017.book1.ch14.text.solution-002.unit.r017.book1.ch14.text.itemexercise-002",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch14.text.itemexercise-002"
    },
    {
      "from_id": "unit.r017.book1.ch14.text.solution-003",
      "id": "relation.solves.unit.r017.book1.ch14.text.solution-003.unit.r017.book1.ch14.text.itemexercise-003",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch14.text.itemexercise-003"
    },
    {
      "from_id": "unit.r017.book1.ch14.text.solution-004",
      "id": "relation.solves.unit.r017.book1.ch14.text.solution-004.unit.r017.book1.ch14.text.itemexercise-004",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch14.text.itemexercise-004"
    },
    {
      "from_id": "unit.r017.book1.ch14.text.solution-005",
      "id": "relation.solves.unit.r017.book1.ch14.text.solution-005.unit.r017.book1.ch14.text.itemexercise-005",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch14.text.itemexercise-005"
    },
    {
      "from_id": "unit.r017.book1.ch15.solutions-manual.manualsolution-001",
      "id": "relation.solves.unit.r017.book1.ch15.solutions-manual.manualsolution-001.unit.r017.book1.ch15.text.ex-001",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-001"
    },
    {
      "from_id": "unit.r017.book1.ch15.solutions-manual.manualsolution-002",
      "id": "relation.solves.unit.r017.book1.ch15.solutions-manual.manualsolution-002.unit.r017.book1.ch15.text.ex-002",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-002"
    },
    {
      "from_id": "unit.r017.book1.ch15.solutions-manual.manualsolution-003",
      "id": "relation.solves.unit.r017.book1.ch15.solutions-manual.manualsolution-003.unit.r017.book1.ch15.text.ex-003",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-003"
    },
    {
      "from_id": "unit.r017.book1.ch15.solutions-manual.manualsolution-004",
      "id": "relation.solves.unit.r017.book1.ch15.solutions-manual.manualsolution-004.unit.r017.book1.ch15.text.ex-004",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-004"
    },
    {
      "from_id": "unit.r017.book1.ch15.solutions-manual.manualsolution-005",
      "id": "relation.solves.unit.r017.book1.ch15.solutions-manual.manualsolution-005.unit.r017.book1.ch15.text.ex-005",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-005"
    },
    {
      "from_id": "unit.r017.book1.ch15.solutions-manual.manualsolution-006",
      "id": "relation.solves.unit.r017.book1.ch15.solutions-manual.manualsolution-006.unit.r017.book1.ch15.text.ex-006",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-006"
    },
    {
      "from_id": "unit.r017.book1.ch15.solutions-manual.manualsolution-007",
      "id": "relation.solves.unit.r017.book1.ch15.solutions-manual.manualsolution-007.unit.r017.book1.ch15.text.ex-007",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-007"
    },
    {
      "from_id": "unit.r017.book1.ch15.solutions-manual.manualsolution-008",
      "id": "relation.solves.unit.r017.book1.ch15.solutions-manual.manualsolution-008.unit.r017.book1.ch15.text.ex-008",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-008"
    },
    {
      "from_id": "unit.r017.book1.ch15.solutions-manual.manualsolution-009",
      "id": "relation.solves.unit.r017.book1.ch15.solutions-manual.manualsolution-009.unit.r017.book1.ch15.text.ex-009",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-009"
    },
    {
      "from_id": "unit.r017.book1.ch15.solutions-manual.manualsolution-010",
      "id": "relation.solves.unit.r017.book1.ch15.solutions-manual.manualsolution-010.unit.r017.book1.ch15.text.ex-010",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-010"
    },
    {
      "from_id": "unit.r017.book1.ch15.solutions-manual.manualsolution-011",
      "id": "relation.solves.unit.r017.book1.ch15.solutions-manual.manualsolution-011.unit.r017.book1.ch15.text.ex-011",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-011"
    },
    {
      "from_id": "unit.r017.book1.ch15.solutions-manual.manualsolution-012",
      "id": "relation.solves.unit.r017.book1.ch15.solutions-manual.manualsolution-012.unit.r017.book1.ch15.text.ex-012",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-012"
    },
    {
      "from_id": "unit.r017.book1.ch15.solutions-manual.manualsolution-013",
      "id": "relation.solves.unit.r017.book1.ch15.solutions-manual.manualsolution-013.unit.r017.book1.ch15.text.ex-013",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-013"
    },
    {
      "from_id": "unit.r017.book1.ch15.solutions-manual.manualsolution-014",
      "id": "relation.solves.unit.r017.book1.ch15.solutions-manual.manualsolution-014.unit.r017.book1.ch15.text.ex-014",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-014"
    },
    {
      "from_id": "unit.r017.book1.ch15.solutions-manual.manualsolution-015",
      "id": "relation.solves.unit.r017.book1.ch15.solutions-manual.manualsolution-015.unit.r017.book1.ch15.text.ex-015",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-015"
    },
    {
      "from_id": "unit.r017.book1.ch15.solutions-manual.manualsolution-016",
      "id": "relation.solves.unit.r017.book1.ch15.solutions-manual.manualsolution-016.unit.r017.book1.ch15.text.ex-016",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-016"
    },
    {
      "from_id": "unit.r017.book1.ch15.text.solution-001",
      "id": "relation.solves.unit.r017.book1.ch15.text.solution-001.unit.r017.book1.ch15.text.ex-002",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-002"
    },
    {
      "from_id": "unit.r017.book1.ch15.text.solution-002",
      "id": "relation.solves.unit.r017.book1.ch15.text.solution-002.unit.r017.book1.ch15.text.ex-003",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-003"
    },
    {
      "from_id": "unit.r017.book1.ch15.text.solution-003",
      "id": "relation.solves.unit.r017.book1.ch15.text.solution-003.unit.r017.book1.ch15.text.ex-008",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-008"
    },
    {
      "from_id": "unit.r017.book1.ch15.text.solution-004",
      "id": "relation.solves.unit.r017.book1.ch15.text.solution-004.unit.r017.book1.ch15.text.ex-009",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-009"
    },
    {
      "from_id": "unit.r017.book1.ch15.text.solution-005",
      "id": "relation.solves.unit.r017.book1.ch15.text.solution-005.unit.r017.book1.ch15.text.ex-010",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-010"
    },
    {
      "from_id": "unit.r017.book1.ch15.text.solution-006",
      "id": "relation.solves.unit.r017.book1.ch15.text.solution-006.unit.r017.book1.ch15.text.ex-011",
      "recorded_at": "2026-08-23T00:00:00+02:00",
      "relation_type": "solves",
      "responsible_workflow": "codex-r017-o018-id-production",
      "schema_name": "interlanguage.relation",
      "schema_version": "0.1.0",
      "status": "active",
      "supersedes_id": null,
      "to_id": "unit.r017.book1.ch15.text.ex-011"
    }
  ],
  "questions": [
    {
      "chapter": 1,
      "id": "unit.r017.book1.ch01.text.ex-001",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch01.text.ex-001",
      "number": "1.1",
      "reader": {
        "destination": "bookex*.65",
        "heading_witness": "Latihan 1.1 (Klasifikasikan: Rencana Produksi) ⋆Sebuah perusahaan jus memutuskan berapa liter\njus apel x1 dan jus jeruk x2 yang akan diproduksi. Setiap liter jus apel menghasilkan $2 dan setiap liter jus\njeruk menghasilkan $3. Kapasitas pemerasan memberikan x1 +2x2 ≤800, kapasitas pembotolan membe-\n",
        "heading_witness_sha256": "26eadb731f213c0808289a0695a8d4894e860771ef2a401375f4dd5e496a9e4e",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "1.1",
        "page": 48
      },
      "source_span": {
        "content_bytes": 650,
        "content_sha256": "d20daf2d14b7d57b598119d01decdb84f9f5de6ecd5d0858925a6aaef4f2674e",
        "environment": "ex",
        "id": "unit.r017.book1.ch01.text.ex-001",
        "label": null,
        "line_range": [
          577,
          580
        ],
        "native_record_sha256": "07381cc81d3ff27c8388b769d4120816125755097d3021feb904079d537994b8",
        "normalized_character_range": [
          38413,
          39063
        ],
        "normalized_utf8_byte_range": [
          38413,
          39063
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
        "source_file": {
          "archive": "source",
          "bytes": 48958,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
          "sha256": "51d9570de4c13f47c4b07999f23f06c1587223867a0f5b41a39ad38b11265eea"
        },
        "type": "exercise"
      },
      "supports": [],
      "title_id": "Klasifikasikan: Rencana Produksi"
    },
    {
      "chapter": 1,
      "id": "unit.r017.book1.ch01.text.ex-002",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch01.text.ex-002",
      "number": "1.2",
      "reader": {
        "destination": "bookex*.66",
        "heading_witness": "Latihan 1.2 (Klasifikasikan: Memilih Proyek) ⋆Sebuah kota dapat mendanai sembarang subhimpun-\nan dari lima proyek taman. Proyek i berbiaya ai dolar dan memberi manfaat kepada ci warga, sedangkan\nanggarannya adalah b dolar. Tetapkan xi = 1 jika proyek i didanai dan xi = 0 jika tidak, lalu perhatikan\n",
        "heading_witness_sha256": "416fff9eae6c0ed542d49b02048aa7d6469691b7f596e1877da2d7a8149dea0c",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "1.2",
        "page": 49
      },
      "source_span": {
        "content_bytes": 703,
        "content_sha256": "8c6bed67c01ff60d629700591da633f421477638b4f52c07e99a320504742385",
        "environment": "ex",
        "id": "unit.r017.book1.ch01.text.ex-002",
        "label": "ex:classify-projects",
        "line_range": [
          582,
          590
        ],
        "native_record_sha256": "fdcef35a2027731c63f4ed1c2ae30c429382c1e8f3f4c3b10a865f4f64ff469d",
        "normalized_character_range": [
          39065,
          39768
        ],
        "normalized_utf8_byte_range": [
          39065,
          39768
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
        "source_file": {
          "archive": "source",
          "bytes": 48958,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
          "sha256": "51d9570de4c13f47c4b07999f23f06c1587223867a0f5b41a39ad38b11265eea"
        },
        "type": "exercise"
      },
      "supports": [],
      "title_id": "Klasifikasikan: Memilih Proyek"
    },
    {
      "chapter": 1,
      "id": "unit.r017.book1.ch01.text.ex-003",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch01.text.ex-003",
      "number": "1.3",
      "reader": {
        "destination": "bookex*.67",
        "heading_witness": "Latihan 1.3 (Klasifikasikan: Mencocokkan Garis) ⋆Diberikan titik-titik data (t1,y1),...,(tN,yN),\nkita memilih kemiringan m dan intersep q untuk meminimumkan\nN\n",
        "heading_witness_sha256": "e0715e27898046ab1bb324061f9201e7cd416e3ea0b992986c29f0167d7e9a73",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "1.3",
        "page": 49
      },
      "source_span": {
        "content_bytes": 504,
        "content_sha256": "9fb7a75f18cfa9de5da7a6f4e69d1730c7071261bf5eb4c32e97f67a1c991d2e",
        "environment": "ex",
        "id": "unit.r017.book1.ch01.text.ex-003",
        "label": null,
        "line_range": [
          592,
          599
        ],
        "native_record_sha256": "41f24c5facf5ae70ca9d1a33e19cf13e64ed3842d3f61748a6e603781367032c",
        "normalized_character_range": [
          39770,
          40274
        ],
        "normalized_utf8_byte_range": [
          39770,
          40274
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
        "source_file": {
          "archive": "source",
          "bytes": 48958,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
          "sha256": "51d9570de4c13f47c4b07999f23f06c1587223867a0f5b41a39ad38b11265eea"
        },
        "type": "exercise"
      },
      "supports": [],
      "title_id": "Klasifikasikan: Mencocokkan Garis"
    },
    {
      "chapter": 1,
      "id": "unit.r017.book1.ch01.text.ex-004",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch01.text.ex-004",
      "number": "1.4",
      "reader": {
        "destination": "bookex*.68",
        "heading_witness": "Latihan 1.4 (Klasifikasikan: Gudang dengan Kemacetan) ⋆Sebuah perusahaan ritel memutuskan\ngudang mana dari k calon gudang yang akan dibuka (yj ∈{0,1}) serta berapa banyak produk xj ≥0 yang\nakan dialirkan melalui setiap gudang yang dibuka. Biaya penanganan di gudang j meningkat secara kua-\n",
        "heading_witness_sha256": "f5912a3661418d94169f3acef8c1b4b6e40850c5e5d19fef9ce90a7c77738071",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "1.4",
        "page": 49
      },
      "source_span": {
        "content_bytes": 692,
        "content_sha256": "bbce4bf77a0e88afd844bbe62179c869de73fd7a13db91d8447c3a47053998ac",
        "environment": "ex",
        "id": "unit.r017.book1.ch01.text.ex-004",
        "label": null,
        "line_range": [
          601,
          604
        ],
        "native_record_sha256": "520df42a0894b067d01064f9733443d85c002b61ba85eab734c938658e172673",
        "normalized_character_range": [
          40276,
          40968
        ],
        "normalized_utf8_byte_range": [
          40276,
          40968
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
        "source_file": {
          "archive": "source",
          "bytes": 48958,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
          "sha256": "51d9570de4c13f47c4b07999f23f06c1587223867a0f5b41a39ad38b11265eea"
        },
        "type": "exercise"
      },
      "supports": [],
      "title_id": "Klasifikasikan: Gudang dengan Kemacetan"
    },
    {
      "chapter": 1,
      "id": "unit.r017.book1.ch01.text.ex-005",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch01.text.ex-005",
      "number": "1.5",
      "reader": {
        "destination": "bookex*.69",
        "heading_witness": "Latihan 1.5 (Toko Kaus: Variabel dan Satu Kendala)\n⋆⋆Kembali ke toko kaus dalam Bagian 1.1:\npermintaannya adalah 5 kaus pada hari Jumat, 10 pada hari Sabtu, dan 7 pada hari Minggu; pesanan\ntiba satu hari setelah dibuat; dan toko memulai hari Kamis tanpa persediaan kaus.\n",
        "heading_witness_sha256": "58cb294da0c33bd871371992d02505e95f266ec99ae8184efa98e4cb95e9d393",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "1.5",
        "page": 49
      },
      "source_span": {
        "content_bytes": 858,
        "content_sha256": "e0aa94e40efb9b113092265844756ccb7e635ccbc3be252734268b18113b82cb",
        "environment": "ex",
        "id": "unit.r017.book1.ch01.text.ex-005",
        "label": "ex:shirt-friday-balance",
        "line_range": [
          608,
          617
        ],
        "native_record_sha256": "7e616f71733d179d497c96710067a4ae3f93fdd84fbca290217e879179b43c1e",
        "normalized_character_range": [
          40994,
          41852
        ],
        "normalized_utf8_byte_range": [
          40994,
          41852
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
        "source_file": {
          "archive": "source",
          "bytes": 48958,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
          "sha256": "51d9570de4c13f47c4b07999f23f06c1587223867a0f5b41a39ad38b11265eea"
        },
        "type": "exercise"
      },
      "supports": [],
      "title_id": "Toko Kaus: Variabel dan Satu Kendala"
    },
    {
      "chapter": 1,
      "id": "unit.r017.book1.ch01.text.ex-006",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch01.text.ex-006",
      "number": "1.6",
      "reader": {
        "destination": "bookex*.73",
        "heading_witness": "Latihan 1.6 (Temukan Unsur-unsurnya: Truk Makanan) ⋆⋆Pemilik sebuah truk makanan harus\nmemutuskan berapa banyak taco dan burrito yang akan disiapkan esok hari. Setiap taco menggunakan 0.1\nkg daging dan setiap burrito menggunakan 0.25 kg, sedangkan daging yang tersedia hanya 30 kg. Tenaga\n",
        "heading_witness_sha256": "24a3a33f43cb0f19e49c11f089e38121c2bc2b9ee5176fc0cf5595ed11d4ede5",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "1.6",
        "page": 50
      },
      "source_span": {
        "content_bytes": 625,
        "content_sha256": "01e146db587116850236c2f966c58c5bdde76cc719c5c781341f18e9cb5c137e",
        "environment": "ex",
        "id": "unit.r017.book1.ch01.text.ex-006",
        "label": null,
        "line_range": [
          619,
          622
        ],
        "native_record_sha256": "88ff912b9466910d633e6c554dcbefd4b39ff031ab0dd45a75520aef75195e0b",
        "normalized_character_range": [
          41854,
          42479
        ],
        "normalized_utf8_byte_range": [
          41854,
          42479
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
        "source_file": {
          "archive": "source",
          "bytes": 48958,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
          "sha256": "51d9570de4c13f47c4b07999f23f06c1587223867a0f5b41a39ad38b11265eea"
        },
        "type": "exercise"
      },
      "supports": [],
      "title_id": "Temukan Unsur-unsurnya: Truk Makanan"
    },
    {
      "chapter": 1,
      "id": "unit.r017.book1.ch01.text.ex-007",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch01.text.ex-007",
      "number": "1.7",
      "reader": {
        "destination": "bookex*.74",
        "heading_witness": "Latihan 1.7 (Temukan Unsur-unsurnya: Pusat Bimbingan Belajar) ⋆⋆Sebuah pusat bimbingan\nbelajar menyusun jadwal tutor untuk pekan depan. Pusat tersebut dapat mempekerjakan masing-masing\ndari 12 tutor untuk sejumlah sesi berdurasi satu jam yang harus berupa bilangan bulat, paling banyak 8\n",
        "heading_witness_sha256": "79971fdcb7b00d4fadcc08f685dea35717950d714b60cdfda54899fd99cda346",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "1.7",
        "page": 50
      },
      "source_span": {
        "content_bytes": 845,
        "content_sha256": "bd899c8578e7bbdcaa3b83d718c0a74b40d59a99adc9c37f750e2c1c5c6a8d17",
        "environment": "ex",
        "id": "unit.r017.book1.ch01.text.ex-007",
        "label": null,
        "line_range": [
          624,
          627
        ],
        "native_record_sha256": "be1d4ab1f53a01b6e8fca628d2b3ac7476ea56430375d6087640fdc11035a886",
        "normalized_character_range": [
          42481,
          43326
        ],
        "normalized_utf8_byte_range": [
          42481,
          43326
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
        "source_file": {
          "archive": "source",
          "bytes": 48958,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
          "sha256": "51d9570de4c13f47c4b07999f23f06c1587223867a0f5b41a39ad38b11265eea"
        },
        "type": "exercise"
      },
      "supports": [],
      "title_id": "Temukan Unsur-unsurnya: Pusat Bimbingan Belajar"
    },
    {
      "chapter": 1,
      "id": "unit.r017.book1.ch01.text.ex-008",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch01.text.ex-008",
      "number": "1.8",
      "reader": {
        "destination": "bookex*.75",
        "heading_witness": "Latihan 1.8 (Setengah Bus) ⋆⋆Model sebuah distrik sekolah menyatakan bahwa armada optimal ber-\njumlah 12.5 bus. Model sebuah toko kaus menyatakan bahwa pesanan optimal berjumlah 2361.4 kaus.\n1 Dalam kasus manakah pembulatan jawaban LP ke bilangan bulat terdekat kemungkinan dapat di\n",
        "heading_witness_sha256": "f0f4fa4f67c28f3d2475bd9abb8861ee80e41a3d0467fee6905fc265ff73acfd",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "1.8",
        "page": 50
      },
      "source_span": {
        "content_bytes": 629,
        "content_sha256": "cf1670e2d55582c8e09b972c90af77b84972712a8a1288919cbe3f6b59159beb",
        "environment": "ex",
        "id": "unit.r017.book1.ch01.text.ex-008",
        "label": null,
        "line_range": [
          631,
          638
        ],
        "native_record_sha256": "45f90855dcbf056361e2f7cd28eff6c1c1871035cbf2bfbb5f146d63d7bfd94b",
        "normalized_character_range": [
          43362,
          43991
        ],
        "normalized_utf8_byte_range": [
          43362,
          43991
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
        "source_file": {
          "archive": "source",
          "bytes": 48958,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
          "sha256": "51d9570de4c13f47c4b07999f23f06c1587223867a0f5b41a39ad38b11265eea"
        },
        "type": "exercise"
      },
      "supports": [],
      "title_id": "Setengah Bus"
    },
    {
      "chapter": 1,
      "id": "unit.r017.book1.ch01.text.ex-009",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch01.text.ex-009",
      "number": "1.9",
      "reader": {
        "destination": "bookex*.78",
        "heading_witness": "Latihan 1.9 (Mengapa Disebut “Pemrograman”?)\n⋆⋆Kata “pemrograman” dalam pemrograman\nmatematis muncul sebelum perangkat lunak modern. Jelaskan dalam satu atau dua kalimat makna istilah\ntersebut dalam bidang ini, dan mengapa “pemrograman linear” bukan berarti menulis kode komputer\n",
        "heading_witness_sha256": "b319bed1e118a94b066a1f01a83a885d5beffcf0bc431763e3e73523821187e7",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "1.9",
        "page": 50
      },
      "source_span": {
        "content_bytes": 377,
        "content_sha256": "93c72c8a46adb51ddae96bf30ccc7ed209e3e6bcb9bf184250d29d20441a2a3f",
        "environment": "ex",
        "id": "unit.r017.book1.ch01.text.ex-009",
        "label": "ex:programming-term",
        "line_range": [
          640,
          644
        ],
        "native_record_sha256": "e1403ebc5b946ca69fa68cc6fa97603af7a224ebdc9b631e08f26ed62d9614d8",
        "normalized_character_range": [
          43993,
          44370
        ],
        "normalized_utf8_byte_range": [
          43993,
          44370
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
        "source_file": {
          "archive": "source",
          "bytes": 48958,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
          "sha256": "51d9570de4c13f47c4b07999f23f06c1587223867a0f5b41a39ad38b11265eea"
        },
        "type": "exercise"
      },
      "supports": [],
      "title_id": "Mengapa Disebut ``Pemrograman''?"
    },
    {
      "chapter": 1,
      "id": "unit.r017.book1.ch01.text.ex-010",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch01.text.ex-010",
      "number": "1.10",
      "reader": {
        "destination": "bookex*.79",
        "heading_witness": "Latihan 1.10 (Membaca Kisah Keberhasilan) ⋆⋆Pilih salah satu keberhasilan terdokumentasi dalam\nkotak “Seberapa besar nilai optimisasi?” di Bagian 1.2 (UPS ORION, manajemen pendapatan American\nAirlines, atau jadwal Nederlandse Spoorwegen). Untuk sistem yang Anda pilih, uraikan: (a) variabel\n",
        "heading_witness_sha256": "45eae3f104f8125b05bed38f368ebacc461985102a31b20d032f16fb31eee928",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "1.10",
        "page": 51
      },
      "source_span": {
        "content_bytes": 618,
        "content_sha256": "62a782f5469d1c056710848880348a8fcf71f1ed47777e79b7e402b263a37e53",
        "environment": "ex",
        "id": "unit.r017.book1.ch01.text.ex-010",
        "label": null,
        "line_range": [
          646,
          649
        ],
        "native_record_sha256": "b42e95e79673147e251fcd1ecda9c61da0b6f4bf6e45092c4fb7ae656962dc1b",
        "normalized_character_range": [
          44372,
          44990
        ],
        "normalized_utf8_byte_range": [
          44372,
          44990
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
        "source_file": {
          "archive": "source",
          "bytes": 48958,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
          "sha256": "51d9570de4c13f47c4b07999f23f06c1587223867a0f5b41a39ad38b11265eea"
        },
        "type": "exercise"
      },
      "supports": [],
      "title_id": "Membaca Kisah Keberhasilan"
    },
    {
      "chapter": 1,
      "id": "unit.r017.book1.ch01.text.ex-011",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch01.text.ex-011",
      "number": "1.11",
      "reader": {
        "destination": "bookex*.80",
        "heading_witness": "Latihan 1.11 (Toko Kaus: Model Lengkap)\n⋆⋆⋆Rumuskan masalah lengkap pemesanan kaus dari\nBagian 1.1 sebagai program linear. Permintaan adalah 5 kaus pada hari Jumat, 10 pada hari Sabtu, dan\n7 pada hari Minggu. Pesanan yang dibuat pada hari Kamis, Jumat, dan Sabtu tiba keesokan harinya dan\n",
        "heading_witness_sha256": "206a55158c1aa3264cee1475ed2cd5cb53586090b86e20856e89754fe89e191b",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "1.11",
        "page": 51
      },
      "source_span": {
        "content_bytes": 1242,
        "content_sha256": "a263336f9ede5d4aca2943414d78e4a5f26af5a4c577a91eebf6e0a3b4c5e273",
        "environment": "ex",
        "id": "unit.r017.book1.ch01.text.ex-011",
        "label": "ex:shirt-full-lp",
        "line_range": [
          653,
          662
        ],
        "native_record_sha256": "5ff8de49d4dab3cabd02eec3225ebca2816ee84ffd121b3cba7c1065da1f664e",
        "normalized_character_range": [
          45021,
          46263
        ],
        "normalized_utf8_byte_range": [
          45021,
          46263
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
        "source_file": {
          "archive": "source",
          "bytes": 48958,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
          "sha256": "51d9570de4c13f47c4b07999f23f06c1587223867a0f5b41a39ad38b11265eea"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.o018.lab.ch01-shirt-ordering",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-adapts-r017-ex011",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab",
            "title_target": "Model pemesanan kaus"
          }
        },
        {
          "id": "unit.o018.lab.ch01-shirt-ordering",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-solves-r017-ex011",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab",
            "title_target": "Model pemesanan kaus"
          }
        }
      ],
      "title_id": "Toko Kaus: Model Lengkap"
    },
    {
      "chapter": 2,
      "id": "unit.r017.book1.ch02.text.ex-001",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch02.text.ex-001",
      "number": "2.1",
      "reader": {
        "destination": "bookex*.201",
        "heading_witness": "Latihan 2.1 (Mengidentifikasi Fungsi Linier) ⋆Manakah yang merupakan fungsi linier?\n1. x2 + 3y+ 2z\n",
        "heading_witness_sha256": "2d77f718f03c86fb89e15e2bfaf8110436bc5ce4d2f483a290ac76aef7cf90d6",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "2.1",
        "page": 76
      },
      "source_span": {
        "content_bytes": 478,
        "content_sha256": "5022d41a98859ae6fe0b6382ccbc731d4955c487bc585eb0d2ae6c574360cfc2",
        "environment": "ex",
        "id": "unit.r017.book1.ch02.text.ex-001",
        "label": null,
        "line_range": [
          824,
          833
        ],
        "native_record_sha256": "5506f0540107d3a9831c3e67cd25bf37a2934f280cb44fe734939b3c1a94d3ea",
        "normalized_character_range": [
          49534,
          50012
        ],
        "normalized_utf8_byte_range": [
          49534,
          50012
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
        "source_file": {
          "archive": "source",
          "bytes": 67810,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
          "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch02.solutions-manual.manualsolution-001",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch02.solutions-manual.manualsolution-001.unit.r017.book1.ch02.text.ex-001",
          "page": 469,
          "relation_basis": "explicit-manual-exercise-number"
        }
      ],
      "title_id": "Mengidentifikasi Fungsi Linier"
    },
    {
      "chapter": 2,
      "id": "unit.r017.book1.ch02.text.ex-002",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch02.text.ex-002",
      "number": "2.2",
      "reader": {
        "destination": "bookex*.206",
        "heading_witness": "Latihan 2.2 (Mengidentifikasi Fungsi Linier) ⋆Manakah yang merupakan fungsi linier?\n1. 2x1 + x2x3 −7x3\n",
        "heading_witness_sha256": "816a5f37cedc3599161a58e9db50887bc6d45a17365946769a2db3d1c17d5bd2",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "2.2",
        "page": 76
      },
      "source_span": {
        "content_bytes": 292,
        "content_sha256": "2846c3c5e32d3eb4b50967fd85bcd8c9b7ee60c880ae35d21ce5a2b87587f5cf",
        "environment": "ex",
        "id": "unit.r017.book1.ch02.text.ex-002",
        "label": null,
        "line_range": [
          835,
          843
        ],
        "native_record_sha256": "f384ed9633aa2f174973992e2aef8dc09917b6298a77beba76196b5d79dad7a2",
        "normalized_character_range": [
          50014,
          50306
        ],
        "normalized_utf8_byte_range": [
          50014,
          50306
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
        "source_file": {
          "archive": "source",
          "bytes": 67810,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
          "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch02.solutions-manual.manualsolution-002",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch02.solutions-manual.manualsolution-002.unit.r017.book1.ch02.text.ex-002",
          "page": 470,
          "relation_basis": "explicit-manual-exercise-number"
        }
      ],
      "title_id": "Mengidentifikasi Fungsi Linier"
    },
    {
      "chapter": 2,
      "id": "unit.r017.book1.ch02.text.ex-003",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch02.text.ex-003",
      "number": "2.3",
      "reader": {
        "destination": "bookex*.209",
        "heading_witness": "Latihan 2.3 (Hoodie dan Poster)\n⋆Sebuah usaha percetakan memproduksi hoodie dan poster sesu-\nai pesanan. Setiap hoodie dijual seharga $30 dengan biaya bahan $18, sedangkan setiap poster dijual\n1Beberapa latihan dalam bagian ini diadaptasi dari materi karya Rupinder Sekhon dan Roberta Bloom yang dibagikan\n",
        "heading_witness_sha256": "dbd50b59c1295fa5436fa6f1cd5430b6f3a6ca7f90f5e1599ff8e91cddce644f",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "2.3",
        "page": 76
      },
      "source_span": {
        "content_bytes": 851,
        "content_sha256": "f0ce2d1652eccdb28c98f303ed819f0cf9efde3e85f6b942d918795d33a34b0e",
        "environment": "ex",
        "id": "unit.r017.book1.ch02.text.ex-003",
        "label": "ex:HoodiePosters",
        "line_range": [
          845,
          849
        ],
        "native_record_sha256": "b7ea69568a419bf0f6165db3ea5b598bad9bf83946049e9bc92ab79f2e78fe3b",
        "normalized_character_range": [
          50308,
          51159
        ],
        "normalized_utf8_byte_range": [
          50308,
          51159
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
        "source_file": {
          "archive": "source",
          "bytes": 67810,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
          "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch02.solutions-manual.manualsolution-003",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch02.solutions-manual.manualsolution-003.unit.r017.book1.ch02.text.ex-003",
          "page": 470,
          "relation_basis": "explicit-manual-exercise-number"
        }
      ],
      "title_id": "Hoodie dan Poster"
    },
    {
      "chapter": 2,
      "id": "unit.r017.book1.ch02.text.ex-004",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch02.text.ex-004",
      "number": "2.4",
      "reader": {
        "destination": "bookex*.210",
        "heading_witness": "Latihan 2.4 (Bubuk Smoothie) ⋆Sebuah gerai smoothie mencampurkan tiga bubuk suplemen ke dalam\ncampuran hariannya. Per takar, bubuk A berharga $1.20 dan menyediakan 6 g protein, 3 g serat, serta 2\nmg zat besi; bubuk B berharga $0.80 dan menyediakan 4 g protein, 2 g serat, serta 3 mg zat besi; bubuk\n",
        "heading_witness_sha256": "8ff4d97247d2d58dcfd739fe953563571237d2599a03953a64b0af02399491a6",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "2.4",
        "page": 77
      },
      "source_span": {
        "content_bytes": 830,
        "content_sha256": "e68d295c8566b8872d93000cbe2fed5f0871dcc0d9ce97f837ee54d404a7eb30",
        "environment": "ex",
        "id": "unit.r017.book1.ch02.text.ex-004",
        "label": null,
        "line_range": [
          851,
          854
        ],
        "native_record_sha256": "bb2c6d9f9b59c02393b6cf08dba5ad43c9644603265d06ed3b19a3195db8b025",
        "normalized_character_range": [
          51161,
          51991
        ],
        "normalized_utf8_byte_range": [
          51161,
          51991
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
        "source_file": {
          "archive": "source",
          "bytes": 67810,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
          "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch02.solutions-manual.manualsolution-004",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch02.solutions-manual.manualsolution-004.unit.r017.book1.ch02.text.ex-004",
          "page": 470,
          "relation_basis": "explicit-manual-exercise-number"
        }
      ],
      "title_id": "Bubuk Smoothie"
    },
    {
      "chapter": 2,
      "id": "unit.r017.book1.ch02.text.ex-005",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch02.text.ex-005",
      "number": "2.5",
      "reader": {
        "destination": "bookex*.211",
        "heading_witness": "Latihan 2.5 (Pembuatan Bahan Kimia)\n⋆⋆Sebuah pabrik pelapis khusus membuat tiga bahan adi-\ntif, yang diberi label A, B, dan C, sebagai keluaran bersama dari dua lini produksi kontinu. Setiap jam\npengoperasian Lini 1 memerlukan biaya energi dan tenaga kerja sebesar $5 serta menghasilkan 2 drum\n",
        "heading_witness_sha256": "e3fef51f93b1f48c8e35c97b8778df2462981544839aef99deed3876a1227225",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "2.5",
        "page": 77
      },
      "source_span": {
        "content_bytes": 1195,
        "content_sha256": "5163fa5eab1241c1093bdbec30b3494bda61325b6c734215679ca55771fa3976",
        "environment": "ex",
        "id": "unit.r017.book1.ch02.text.ex-005",
        "label": "ex:ChemicalPlant",
        "line_range": [
          858,
          867
        ],
        "native_record_sha256": "2f925fd04836b168be4b8e0f8f9c6b5fe0cb10186a26905df69a6a58711ac296",
        "normalized_character_range": [
          52014,
          53209
        ],
        "normalized_utf8_byte_range": [
          52014,
          53209
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
        "source_file": {
          "archive": "source",
          "bytes": 67810,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
          "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch02.solutions-manual.manualsolution-005",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch02.solutions-manual.manualsolution-005.unit.r017.book1.ch02.text.ex-005",
          "page": 471,
          "relation_basis": "explicit-manual-exercise-number"
        }
      ],
      "title_id": "Pembuatan Bahan Kimia"
    },
    {
      "chapter": 2,
      "id": "unit.r017.book1.ch02.text.ex-006",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch02.text.ex-006",
      "number": "2.6",
      "reader": {
        "destination": "bookex*.212",
        "heading_witness": "Latihan 2.6 (Ruang Pamer Sepeda Listrik) ⋆⋆Sebuah ruang pamer menjual tiga model sepeda listrik:\nkomuter, kargo, dan gunung. Setiap sepeda komuter, kargo, dan gunung yang dipajang masing-masing\nmemerlukan ruang lantai seluas 2, 4, dan 3 meter persegi; ruang pamer memiliki 60 meter persegi yang\n",
        "heading_witness_sha256": "9973846db3443943926056070786b42151633a8c34af675d47ba7457fb8963a7",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "2.6",
        "page": 77
      },
      "source_span": {
        "content_bytes": 926,
        "content_sha256": "a20d2699ca2b61b6814dc2185969ee9563af32f1ac8ef9e7bcd3293b3febbe87",
        "environment": "ex",
        "id": "unit.r017.book1.ch02.text.ex-006",
        "label": "ex:ebike-showroom",
        "line_range": [
          869,
          875
        ],
        "native_record_sha256": "5cc75f32a42d04ff6354b07e6f1400a42cd112b046f6f0c495e0646082251eec",
        "normalized_character_range": [
          53211,
          54137
        ],
        "normalized_utf8_byte_range": [
          53211,
          54137
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
        "source_file": {
          "archive": "source",
          "bytes": 67810,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
          "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch02.solutions-manual.manualsolution-006",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch02.solutions-manual.manualsolution-006.unit.r017.book1.ch02.text.ex-006",
          "page": 471,
          "relation_basis": "explicit-manual-exercise-number"
        }
      ],
      "title_id": "Ruang Pamer Sepeda Listrik"
    },
    {
      "chapter": 2,
      "id": "unit.r017.book1.ch02.text.ex-007",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch02.text.ex-007",
      "number": "2.7",
      "reader": {
        "destination": "bookex*.213",
        "heading_witness": "Latihan 2.7 (Masalah Laba Manufaktur) ⋆⋆Sebuah bengkel furnitur membuat rak buku, meja, dan\nlemari. Setiap produk melewati dua stasiun kerja: mesin router CNC dan stasiun penyelesaian akhir.\nMesin router tersedia selama 200 jam per bulan dan stasiun penyelesaian akhir selama 240 jam per bulan.\n",
        "heading_witness_sha256": "67144e3edef39bde2b2c4d573d4d378337ae16b53defa0a2aa9d2766167b8e66",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "2.7",
        "page": 78
      },
      "source_span": {
        "content_bytes": 1012,
        "content_sha256": "88bd87d52aa79be9cfb81531d9b582fe03d83143f4581294528121433f229c10",
        "environment": "ex",
        "id": "unit.r017.book1.ch02.text.ex-007",
        "label": "ex:two-machine-profit",
        "line_range": [
          877,
          899
        ],
        "native_record_sha256": "b83d5e8f2095662b53642732cd16ae0abf9f6d0e8c7bf001bcdd8d0d01f29e43",
        "normalized_character_range": [
          54139,
          55151
        ],
        "normalized_utf8_byte_range": [
          54139,
          55151
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
        "source_file": {
          "archive": "source",
          "bytes": 67810,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
          "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch02.solutions-manual.manualsolution-007",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch02.solutions-manual.manualsolution-007.unit.r017.book1.ch02.text.ex-007",
          "page": 472,
          "relation_basis": "explicit-manual-exercise-number"
        }
      ],
      "title_id": "Masalah Laba Manufaktur"
    },
    {
      "chapter": 2,
      "id": "unit.r017.book1.ch02.text.ex-008",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch02.text.ex-008",
      "number": "2.8",
      "reader": {
        "destination": "bookex*.215",
        "heading_witness": "Latihan 2.8 (Pabrik Pembotolan Jus)\n⋆⋆Sebuah perusahaan minuman membotolkan tiga jenis jus\n(apel, jeruk, dan anggur) di dua pabrik. Jumlah peti yang dibotolkan setiap pabrik per hari operasi ter-\ncantum di bawah ini:\n",
        "heading_witness_sha256": "136cdc98452f5b0618d939dfed32d5ecf6b018bc6db673fa91ce81e45879c397",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "2.8",
        "page": 78
      },
      "source_span": {
        "content_bytes": 1027,
        "content_sha256": "513beda4a8fe44c6268318c6129c0cfe47edbe3d0839764abcd7c48fcd93ded1",
        "environment": "ex",
        "id": "unit.r017.book1.ch02.text.ex-008",
        "label": "ex:factory-days",
        "line_range": [
          901,
          923
        ],
        "native_record_sha256": "5837d2a5db6edc83002bd03566bd8c9356a122591925ce46eeb30a1d0f67fe63",
        "normalized_character_range": [
          55153,
          56180
        ],
        "normalized_utf8_byte_range": [
          55153,
          56180
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
        "source_file": {
          "archive": "source",
          "bytes": 67810,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
          "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch02.solutions-manual.manualsolution-008",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch02.solutions-manual.manualsolution-008.unit.r017.book1.ch02.text.ex-008",
          "page": 472,
          "relation_basis": "explicit-manual-exercise-number"
        }
      ],
      "title_id": "Pabrik Pembotolan Jus"
    },
    {
      "chapter": 2,
      "id": "unit.r017.book1.ch02.text.ex-009",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch02.text.ex-009",
      "number": "2.9",
      "reader": {
        "destination": "bookex*.217",
        "heading_witness": "Latihan 2.9 (Meminimumkan Waktu Penilaian Kuis) ⋆⋆Profesor Wright memberikan tiga jenis kuis\n(objektif, hafalan, dan hafalan-plus) serta memutuskan untuk memberikan sekurang-kurangnya 20 kuis\npada kuartal berikutnya. Setiap jenis kuis mengharuskan mahasiswa meluangkan waktu persiapan tam-\n",
        "heading_witness_sha256": "86e256cc09a0ab5bb0db1bf7ae81ebf26de8a82627d24801df6920bd96f112c9",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "2.9",
        "page": 78
      },
      "source_span": {
        "content_bytes": 1229,
        "content_sha256": "524d5436060f01382ac30557a19d1a6f9bf8000e32199fa53c66ed93500e666d",
        "environment": "ex",
        "id": "unit.r017.book1.ch02.text.ex-009",
        "label": null,
        "line_range": [
          925,
          954
        ],
        "native_record_sha256": "4f4c0a1fcf33bb789a4bc82abacc308390f8992ae4ab3445c0bbdc904b56fac7",
        "normalized_character_range": [
          56182,
          57411
        ],
        "normalized_utf8_byte_range": [
          56182,
          57411
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
        "source_file": {
          "archive": "source",
          "bytes": 67810,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
          "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch02.solutions-manual.manualsolution-009",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch02.solutions-manual.manualsolution-009.unit.r017.book1.ch02.text.ex-009",
          "page": 473,
          "relation_basis": "explicit-manual-exercise-number"
        }
      ],
      "title_id": "Meminimumkan Waktu Penilaian Kuis"
    },
    {
      "chapter": 2,
      "id": "unit.r017.book1.ch02.text.ex-010",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch02.text.ex-010",
      "number": "2.10",
      "reader": {
        "destination": "bookex*.218",
        "heading_witness": "Latihan 2.10 (Penjadwalan Kafé Kampus)\n⋆⋆Sebuah kafé kampus buka tujuh hari dalam sepek-\nan. Setiap barista bekerja selama empat hari berturut-turut, kemudian libur selama tiga hari. Jumlah\nminimum barista yang diperlukan setiap hari adalah:\n",
        "heading_witness_sha256": "e16fc1ff32b0f2c4f14800237b7d617296c5fb49610aa0fe9758c4016bc60d09",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "2.10",
        "page": 79
      },
      "source_span": {
        "content_bytes": 1359,
        "content_sha256": "1ea6c242cb398a24ef55ec2d0de764683038b8ffe744a6a98ad8cd0fc9af449e",
        "environment": "ex",
        "id": "unit.r017.book1.ch02.text.ex-010",
        "label": "ex:cafe-scheduling",
        "line_range": [
          956,
          976
        ],
        "native_record_sha256": "5f88a0426a7e62af9b846d34b29fe0870fa8e6f6e7a5bd8debb94ccc00de0329",
        "normalized_character_range": [
          57413,
          58772
        ],
        "normalized_utf8_byte_range": [
          57413,
          58772
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
        "source_file": {
          "archive": "source",
          "bytes": 67810,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
          "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch02.solutions-manual.manualsolution-010",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch02.solutions-manual.manualsolution-010.unit.r017.book1.ch02.text.ex-010",
          "page": 473,
          "relation_basis": "explicit-manual-exercise-number"
        }
      ],
      "title_id": "Penjadwalan Kaf\\'e Kampus"
    },
    {
      "chapter": 2,
      "id": "unit.r017.book1.ch02.text.ex-011",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch02.text.ex-011",
      "number": "2.11",
      "reader": {
        "destination": "bookex*.223",
        "heading_witness": "Latihan 2.11 (Mengidentifikasi Kendala Linier) ⋆⋆Manakah yang merupakan kendala linier? Untuk\nsetiap kendala yang tidak linier sebagaimana dituliskan, tentukan apakah kendala tersebut dapat diubah\nmenjadi kendala linier.\n",
        "heading_witness_sha256": "7df06e1e662732a1c7ab27fb08b8f2d40e90ce158e604e8819177a6a909a8bbb",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "2.11",
        "page": 79
      },
      "source_span": {
        "content_bytes": 810,
        "content_sha256": "0426488746e4769823f74a5d0fa91af0dad81d5184c2658ded9c65faab8718d7",
        "environment": "ex",
        "id": "unit.r017.book1.ch02.text.ex-011",
        "label": "ex:linear-inequalities-check",
        "line_range": [
          980,
          992
        ],
        "native_record_sha256": "a658c89eef81b79a367ac50ca193b5862ed84911725107af190e18e4e08ee4ff",
        "normalized_character_range": [
          58808,
          59618
        ],
        "normalized_utf8_byte_range": [
          58808,
          59618
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
        "source_file": {
          "archive": "source",
          "bytes": 67810,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
          "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch02.solutions-manual.manualsolution-011",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch02.solutions-manual.manualsolution-011.unit.r017.book1.ch02.text.ex-011",
          "page": 474,
          "relation_basis": "explicit-manual-exercise-number"
        }
      ],
      "title_id": "Mengidentifikasi Kendala Linier"
    },
    {
      "chapter": 2,
      "id": "unit.r017.book1.ch02.text.ex-012",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch02.text.ex-012",
      "number": "2.12",
      "reader": {
        "destination": "bookex*.229",
        "heading_witness": "Latihan 2.12 (Biaya Acak dalam Fungsi Tujuan) ⋆⋆⋆Dalam setiap model sejauh ini, koefisien fungsi\ntujuan merupakan bilangan tetap. Sekarang, anggap setiap koefisien biaya ci tidak diketahui secara tepat;\nsebagai gantinya, Anda mengetahui distribusi probabilitasnya. Usulkan satu program linear deterministik\n",
        "heading_witness_sha256": "577f0013592c8da54cca93fe8526aa74ce62e700f2204ad2cd47ecb4d760f3f7",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "2.12",
        "page": 80
      },
      "source_span": {
        "content_bytes": 763,
        "content_sha256": "eddec7a12df34461fb509204d85e0f2617e1f66faa29ca924d2817536b9761b0",
        "environment": "ex",
        "id": "unit.r017.book1.ch02.text.ex-012",
        "label": null,
        "line_range": [
          994,
          999
        ],
        "native_record_sha256": "ad9850bb5baf0c73256d93e29f260f113fe2712ea3041062fbd75f38ef6f7981",
        "normalized_character_range": [
          59620,
          60383
        ],
        "normalized_utf8_byte_range": [
          59620,
          60383
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
        "source_file": {
          "archive": "source",
          "bytes": 67810,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
          "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch02.solutions-manual.manualsolution-012",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch02.solutions-manual.manualsolution-012.unit.r017.book1.ch02.text.ex-012",
          "page": 474,
          "relation_basis": "explicit-manual-exercise-number"
        }
      ],
      "title_id": "Biaya Acak dalam Fungsi Tujuan"
    },
    {
      "chapter": 2,
      "id": "unit.r017.book1.ch02.text.ex-013",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch02.text.ex-013",
      "number": "2.13",
      "reader": {
        "destination": "bookex*.230",
        "heading_witness": "Latihan 2.13 (Asumsi Mana yang Dilanggar?)\n⋆⋆Untuk setiap skenario di bawah ini, sebutkan\nasumsi pemrograman linear (proporsionalitas, aditivitas, keterbagian, atau kepastian) yang paling jelas\ndilanggar, lalu jelaskan pilihan Anda dalam satu kalimat.\n",
        "heading_witness_sha256": "d5fb0c6fa31c576aa0a2bb250f34a5be10a2ffee842b93e54e21e13a0a6fedc1",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "2.13",
        "page": 80
      },
      "source_span": {
        "content_bytes": 1164,
        "content_sha256": "8a343e9f1a1d482f1387836b96b53cdf210bc78e96424b303d3b3a3470feb898",
        "environment": "ex",
        "id": "unit.r017.book1.ch02.text.ex-013",
        "label": "ex:assumption-audit",
        "line_range": [
          1001,
          1012
        ],
        "native_record_sha256": "68fecfb63a004b64909013a8e6b6394e345bf38be68854dbf30d8c476f7946df",
        "normalized_character_range": [
          60385,
          61549
        ],
        "normalized_utf8_byte_range": [
          60385,
          61549
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
        "source_file": {
          "archive": "source",
          "bytes": 67810,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
          "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch02.solutions-manual.manualsolution-013",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch02.solutions-manual.manualsolution-013.unit.r017.book1.ch02.text.ex-013",
          "page": 475,
          "relation_basis": "explicit-manual-exercise-number"
        }
      ],
      "title_id": "Asumsi Mana yang Dilanggar?"
    },
    {
      "chapter": 2,
      "id": "unit.r017.book1.ch02.text.ex-014",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch02.text.ex-014",
      "number": "2.14",
      "reader": {
        "destination": "bookex*.235",
        "heading_witness": "Latihan 2.14 (Produksi dengan Tenaga Kerja Sewa) ⋆⋆⋆Sebuah bengkel membuat tiga produk, A,\nB, dan C, dengan laba masing-masing $30, $45, dan $24 per unit. Setiap unit A, B, dan C masing-masing\nmenggunakan 2, 4, dan 1 jam-mesin, sedangkan paling banyak 160 jam-mesin tersedia per pekan. Setiap\n",
        "heading_witness_sha256": "d4115e713663a1152c8e06af8815ac8f02c42fb2288ede0d543c3fec054259cd",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "2.14",
        "page": 80
      },
      "source_span": {
        "content_bytes": 1384,
        "content_sha256": "e16311f9ba0ef329412692b65ab53b3684c7b4a15fd3f40cd40d15275d5edc3e",
        "environment": "ex",
        "id": "unit.r017.book1.ch02.text.ex-014",
        "label": "ex:rented-labor",
        "line_range": [
          1016,
          1025
        ],
        "native_record_sha256": "f5832a8cdea95762de46e1e21981ff33037842cc4782747505d553cc086bc259",
        "normalized_character_range": [
          61577,
          62961
        ],
        "normalized_utf8_byte_range": [
          61577,
          62961
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
        "source_file": {
          "archive": "source",
          "bytes": 67810,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
          "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch02.solutions-manual.manualsolution-014",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch02.solutions-manual.manualsolution-014.unit.r017.book1.ch02.text.ex-014",
          "page": 475,
          "relation_basis": "explicit-manual-exercise-number"
        }
      ],
      "title_id": "Produksi dengan Tenaga Kerja Sewa"
    },
    {
      "chapter": 3,
      "id": "unit.r017.book1.ch03.text.ex-001",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch03.text.ex-001",
      "number": "3.1",
      "reader": {
        "destination": "bookex*.252",
        "heading_witness": "Latihan 3.1 (Menjalankan Ulang Solver: Aliran Jaringan Berbiaya Minimum) ⋆Latihan ini meng-\nulang Contoh 4.8 (Aliran Jaringan Berbiaya Minimum). Unduh buku kerja Excel yang ditautkan dalam\ncontoh tersebut dan ubah hanya data biayanya: biaya pengiriman sekarang adalah 3 per unit dari Gu-\n",
        "heading_witness_sha256": "7a5ae340ee84e03f5775268aa2101faa9b3691d8ff11cf07b444ade0400b6c1e",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "3.1",
        "page": 88
      },
      "source_span": {
        "content_bytes": 868,
        "content_sha256": "52ff3db8e0dfaa70e3332f82a300a639429767bec53cdcae8ed67781c448f6ec",
        "environment": "ex",
        "id": "unit.r017.book1.ch03.text.ex-001",
        "label": "ex:excel-network-flow-rerun",
        "line_range": [
          176,
          184
        ],
        "native_record_sha256": "b41bca275b325877451b0b9097dd40618a86406d9f51dcca41ae0f2d00182ddb",
        "normalized_character_range": [
          13729,
          14597
        ],
        "normalized_utf8_byte_range": [
          13729,
          14597
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-excel.tex",
        "source_file": {
          "archive": "source",
          "bytes": 28566,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-excel.tex",
          "sha256": "a38b55c6ffd45a60b0b225c5fd9807628c17bbc39201efac588fbe760dae5a70"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch03.solutions-manual.manualsolution-001",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch03.solutions-manual.manualsolution-001.unit.r017.book1.ch03.text.ex-001",
          "page": 476,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch03.ex01",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch03-ex01-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch03-spreadsheet-replacements",
            "title_target": "Jaringan biaya minimum"
          }
        },
        {
          "id": "unit.o018.lab.ch03.ex01",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch03-ex01-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch03-spreadsheet-replacements",
            "title_target": "Jaringan biaya minimum"
          }
        }
      ],
      "title_id": "Menjalankan Ulang Solver: Aliran Jaringan Berbiaya Minimum"
    },
    {
      "chapter": 3,
      "id": "unit.r017.book1.ch03.text.ex-002",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch03.text.ex-002",
      "number": "3.2",
      "reader": {
        "destination": "bookex*.255",
        "heading_witness": "Latihan 3.2 (Menjalankan Ulang Solver: Perencanaan Produksi Selama 10 Periode)\n⋆Latihan\nini mengulang Contoh 4.1 (Perencanaan Produksi dengan 10 Periode). Unduh buku kerja Excel yang\n",
        "heading_witness_sha256": "a18e24ebf448df1b2718eeef66ac07315e2804378e05ffe016761b3a6f0c1913",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "3.2",
        "page": 88
      },
      "source_span": {
        "content_bytes": 904,
        "content_sha256": "196057370ab333d860b59e4360fac44397a29fee68a9a9e6732b6ab56630c0fa",
        "environment": "ex",
        "id": "unit.r017.book1.ch03.text.ex-002",
        "label": "ex:excel-production-rerun",
        "line_range": [
          186,
          194
        ],
        "native_record_sha256": "b476f8593f95ab4578decf90f84a0cb060978c86b8faa01a042c79e507b603e1",
        "normalized_character_range": [
          14599,
          15503
        ],
        "normalized_utf8_byte_range": [
          14599,
          15503
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-excel.tex",
        "source_file": {
          "archive": "source",
          "bytes": 28566,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-excel.tex",
          "sha256": "a38b55c6ffd45a60b0b225c5fd9807628c17bbc39201efac588fbe760dae5a70"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch03.solutions-manual.manualsolution-002",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch03.solutions-manual.manualsolution-002.unit.r017.book1.ch03.text.ex-002",
          "page": 477,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch03.ex02",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch03-ex02-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch03-spreadsheet-replacements",
            "title_target": "Perencanaan produksi sepuluh periode"
          }
        },
        {
          "id": "unit.o018.lab.ch03.ex02",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch03-ex02-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch03-spreadsheet-replacements",
            "title_target": "Perencanaan produksi sepuluh periode"
          }
        }
      ],
      "title_id": "Menjalankan Ulang Solver: Perencanaan Produksi Selama 10 Periode"
    },
    {
      "chapter": 3,
      "id": "unit.r017.book1.ch03.text.ex-003",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch03.text.ex-003",
      "number": "3.3",
      "reader": {
        "destination": "bookex*.258",
        "heading_witness": "Latihan 3.3 (Masalah Diet di Excel)\n⋆⋆Seorang mahasiswa dengan anggaran terbatas sedang me-\nrencanakan makanan untuk satu hari dari lima bahan pangan pokok berikut. Tabel tersebut memberikan\ndata biaya dan gizi per porsi.\n",
        "heading_witness_sha256": "efc98976f6737898d133989bf225cb8e715ecdd96bb0b87c8580bbc9caadcd99",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "3.3",
        "page": 89
      },
      "source_span": {
        "content_bytes": 1625,
        "content_sha256": "b491be6419f5e920fe08c75a0013a851d33d4dc0b2a11c66b6eac3085417534c",
        "environment": "ex",
        "id": "unit.r017.book1.ch03.text.ex-003",
        "label": "ex:excel-diet",
        "line_range": [
          198,
          226
        ],
        "native_record_sha256": "78195c320c9cf194c0570a55690dce8f23614678a334def041809b8fd2d494d8",
        "normalized_character_range": [
          15529,
          17154
        ],
        "normalized_utf8_byte_range": [
          15529,
          17154
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-excel.tex",
        "source_file": {
          "archive": "source",
          "bytes": 28566,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-excel.tex",
          "sha256": "a38b55c6ffd45a60b0b225c5fd9807628c17bbc39201efac588fbe760dae5a70"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch03.solutions-manual.manualsolution-003",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch03.solutions-manual.manualsolution-003.unit.r017.book1.ch03.text.ex-003",
          "page": 477,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch03.ex03",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch03-ex03-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch03-spreadsheet-replacements",
            "title_target": "Diet kontinu"
          }
        },
        {
          "id": "unit.o018.lab.ch03.ex03",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch03-ex03-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch03-spreadsheet-replacements",
            "title_target": "Diet kontinu"
          }
        }
      ],
      "title_id": "Masalah Diet di Excel"
    },
    {
      "chapter": 3,
      "id": "unit.r017.book1.ch03.text.ex-004",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch03.text.ex-004",
      "number": "3.4",
      "reader": {
        "destination": "bookex*.260",
        "heading_witness": "Latihan 3.4 (Perencanaan Produksi di Excel)\n⋆⋆Sebuah pabrik kecil memproduksi dua produk:\nwidget dan gadget. Setiap widget menghasilkan laba $8 dan setiap gadget menghasilkan laba $6. Produksi\ndibatasi oleh dua sumber daya:\n",
        "heading_witness_sha256": "c2ff3437497749e48e8a3ffc43308af914bd78f03d74fff0a96f2b2362ed228b",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "3.4",
        "page": 89
      },
      "source_span": {
        "content_bytes": 1203,
        "content_sha256": "35d5f1035b9af231307ac6492a74a206a1ffb2d70fa733920cca6d734b70629c",
        "environment": "ex",
        "id": "unit.r017.book1.ch03.text.ex-004",
        "label": "ex:excel-production-planning",
        "line_range": [
          228,
          251
        ],
        "native_record_sha256": "a282f510d724e6c1bec5f985139efe82ab785d80763749c0f87bf7d52f818468",
        "normalized_character_range": [
          17156,
          18359
        ],
        "normalized_utf8_byte_range": [
          17156,
          18359
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-excel.tex",
        "source_file": {
          "archive": "source",
          "bytes": 28566,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-excel.tex",
          "sha256": "a38b55c6ffd45a60b0b225c5fd9807628c17bbc39201efac588fbe760dae5a70"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch03.solutions-manual.manualsolution-004",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch03.solutions-manual.manualsolution-004.unit.r017.book1.ch03.text.ex-004",
          "page": 478,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch03.ex04",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch03-ex04-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch03-spreadsheet-replacements",
            "title_target": "Produksi dua produk dan sensitivitas"
          }
        },
        {
          "id": "unit.o018.lab.ch03.ex04",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch03-ex04-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch03-spreadsheet-replacements",
            "title_target": "Produksi dua produk dan sensitivitas"
          }
        }
      ],
      "title_id": "Perencanaan Produksi di Excel"
    },
    {
      "chapter": 3,
      "id": "unit.r017.book1.ch03.text.ex-005",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch03.text.ex-005",
      "number": "3.5",
      "reader": {
        "destination": "bookex*.265",
        "heading_witness": "Latihan 3.5 (Masalah Transportasi di Excel) ⋆⋆Sebuah perusahaan memiliki dua gudang (W1 dan\nW2) yang memasok tiga toko ritel (S1, S2, S3). Biaya pengiriman per unit, pasokan di setiap gudang, dan\npermintaan di setiap toko diberikan berikut ini:\n",
        "heading_witness_sha256": "578f1e650fe8a21f81ad1a8f12d5f333d99e79587617a3db3d200f378e58d72a",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "3.5",
        "page": 90
      },
      "source_span": {
        "content_bytes": 1036,
        "content_sha256": "0d31c9ea8da4a367b32868fd3733ecc85c4b24c83b783c386844e862055dc415",
        "environment": "ex",
        "id": "unit.r017.book1.ch03.text.ex-005",
        "label": "ex:excel-transportation",
        "line_range": [
          253,
          275
        ],
        "native_record_sha256": "a299f9e2c69297c208f7b73e238f8adf29017901f3450cdd8a637eb1116d4896",
        "normalized_character_range": [
          18361,
          19397
        ],
        "normalized_utf8_byte_range": [
          18361,
          19397
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-excel.tex",
        "source_file": {
          "archive": "source",
          "bytes": 28566,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-excel.tex",
          "sha256": "a38b55c6ffd45a60b0b225c5fd9807628c17bbc39201efac588fbe760dae5a70"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch03.solutions-manual.manualsolution-005",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch03.solutions-manual.manualsolution-005.unit.r017.book1.ch03.text.ex-005",
          "page": 478,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch03.ex05",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch03-ex05-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch03-spreadsheet-replacements",
            "title_target": "Transportasi seimbang"
          }
        },
        {
          "id": "unit.o018.lab.ch03.ex05",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch03-ex05-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch03-spreadsheet-replacements",
            "title_target": "Transportasi seimbang"
          }
        }
      ],
      "title_id": "Masalah Transportasi di Excel"
    },
    {
      "chapter": 3,
      "id": "unit.r017.book1.ch03.text.ex-006",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch03.text.ex-006",
      "number": "3.6",
      "reader": {
        "destination": "bookex*.269",
        "heading_witness": "Latihan 3.6 (Bauran Produk dengan Laporan Sensitivitas) ⋆⋆Sebuah bengkel mebel membuat meja,\nkursi, dan meja kerja dengan laba masing-masing $70, $50, dan $90 per unit. Sumber daya mingguan yang\ntersedia adalah 240 jam pertukangan kayu, 100 jam penyelesaian akhir, dan 2000 kaki papan kayu:\n",
        "heading_witness_sha256": "9934a22a7d7f2c5584c309f60b6ebf2ea4e7e378313ba0c5785156dffdf72ab2",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "3.6",
        "page": 90
      },
      "source_span": {
        "content_bytes": 1597,
        "content_sha256": "d41dc2ef74ca3858fff22ff10f7f62d4d375127e433c433817f2093eed313c77",
        "environment": "ex",
        "id": "unit.r017.book1.ch03.text.ex-006",
        "label": "ex:excel-furniture-sensitivity",
        "line_range": [
          277,
          301
        ],
        "native_record_sha256": "8be2a3cfd6e2aff943f3dd296c9e3980d539f9aa295e0babada00e76d9b75875",
        "normalized_character_range": [
          19399,
          20996
        ],
        "normalized_utf8_byte_range": [
          19399,
          20996
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-excel.tex",
        "source_file": {
          "archive": "source",
          "bytes": 28566,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-excel.tex",
          "sha256": "a38b55c6ffd45a60b0b225c5fd9807628c17bbc39201efac588fbe760dae5a70"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch03.solutions-manual.manualsolution-006",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch03.solutions-manual.manualsolution-006.unit.r017.book1.ch03.text.ex-006",
          "page": 479,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch03.ex06",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch03-ex06-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch03-spreadsheet-replacements",
            "title_target": "Produksi furnitur dan sensitivitas"
          }
        },
        {
          "id": "unit.o018.lab.ch03.ex06",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch03-ex06-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch03-spreadsheet-replacements",
            "title_target": "Produksi furnitur dan sensitivitas"
          }
        }
      ],
      "title_id": "Bauran Produk dengan Laporan Sensitivitas"
    },
    {
      "chapter": 3,
      "id": "unit.r017.book1.ch03.text.ex-007",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch03.text.ex-007",
      "number": "3.7",
      "reader": {
        "destination": "bookex*.275",
        "heading_witness": "Latihan 3.7 (Transportasi Tidak Seimbang dengan Sensitivity Report (Laporan Sensitivi-\ntas))\n⋆⋆Tiga pabrik memasok tiga kota. Kapasitas pabrik masing-masing adalah 70, 50, dan 40 unit;\npermintaan kota masing-masing adalah 50, 60, dan 40 unit, sehingga total pasokan melebihi total permin-\n",
        "heading_witness_sha256": "6f1e3c3c6c75c62a5d4b3e364947e965df8f089ce1ae2b94e17d40f3c1a81ea3",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "3.7",
        "page": 91
      },
      "source_span": {
        "content_bytes": 1466,
        "content_sha256": "efc85c1e6163ba9ce8a7ea224eb7f53eb8687ba2308e2161b62b0b10760786a5",
        "environment": "ex",
        "id": "unit.r017.book1.ch03.text.ex-007",
        "label": "ex:excel-unbalanced-transportation",
        "line_range": [
          303,
          327
        ],
        "native_record_sha256": "d4a5f48e2a6b43110918f093cbc76d846e4b4e460369820602ebdf0a6167f655",
        "normalized_character_range": [
          20998,
          22464
        ],
        "normalized_utf8_byte_range": [
          20998,
          22464
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-excel.tex",
        "source_file": {
          "archive": "source",
          "bytes": 28566,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-excel.tex",
          "sha256": "a38b55c6ffd45a60b0b225c5fd9807628c17bbc39201efac588fbe760dae5a70"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch03.solutions-manual.manualsolution-007",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch03.solutions-manual.manualsolution-007.unit.r017.book1.ch03.text.ex-007",
          "page": 479,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch03.ex07",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch03-ex07-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch03-spreadsheet-replacements",
            "title_target": "Transportasi tak seimbang dan sensitivitas"
          }
        },
        {
          "id": "unit.o018.lab.ch03.ex07",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch03-ex07-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch03-spreadsheet-replacements",
            "title_target": "Transportasi tak seimbang dan sensitivitas"
          }
        }
      ],
      "title_id": "Transportasi Tidak Seimbang dengan \\texttt{Sensitivity Report} (Laporan Sensitivitas)"
    },
    {
      "chapter": 3,
      "id": "unit.r017.book1.ch03.text.ex-008",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch03.text.ex-008",
      "number": "3.8",
      "reader": {
        "destination": "bookex*.280",
        "heading_witness": "Latihan 3.8 (Simplex LP dibandingkan dengan GRG Nonlinear) ⋆⋆Kotak dialog Solver menawarkan\ntiga metode pemecahan: Simplex LP, GRG Nonlinear, dan Evolutionary.\n1 Jelaskan kelas masalah yang dirancang untuk masing masing metode Simplex LP dan GRG Nonli\n",
        "heading_witness_sha256": "3cffdfc3cf7871315a08ac1290e07e2f8ac517fc10b15ccb14d320a5f219e099",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "3.8",
        "page": 91
      },
      "source_span": {
        "content_bytes": 1023,
        "content_sha256": "7cf5fac9605d9d4671306f2bd5d03aa2ba37471cf179d1b5ce6a855709c29e35",
        "environment": "ex",
        "id": "unit.r017.book1.ch03.text.ex-008",
        "label": "ex:excel-solver-methods",
        "line_range": [
          331,
          341
        ],
        "native_record_sha256": "29036b0f3ff977dff863bc3d64e09fbf35d755aa7f27f5986d7bcc4b8ac2a498",
        "normalized_character_range": [
          22500,
          23523
        ],
        "normalized_utf8_byte_range": [
          22500,
          23523
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-excel.tex",
        "source_file": {
          "archive": "source",
          "bytes": 28566,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-excel.tex",
          "sha256": "a38b55c6ffd45a60b0b225c5fd9807628c17bbc39201efac588fbe760dae5a70"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch03.solutions-manual.manualsolution-008",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch03.solutions-manual.manualsolution-008.unit.r017.book1.ch03.text.ex-008",
          "page": 480,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch03.ex08",
          "kind": "conceptual_lab",
          "native_relation_id": "relation.o018-ch03-ex08-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch03-spreadsheet-replacements",
            "title_target": "Perbandingan metode pemecah"
          }
        },
        {
          "id": "unit.o018.lab.ch03.ex08",
          "kind": "conceptual_lab",
          "native_relation_id": "relation.o018-ch03-ex08-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch03-spreadsheet-replacements",
            "title_target": "Perbandingan metode pemecah"
          }
        }
      ],
      "title_id": "Simplex LP dibandingkan dengan GRG Nonlinear"
    },
    {
      "chapter": 3,
      "id": "unit.r017.book1.ch03.text.ex-009",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch03.text.ex-009",
      "number": "3.9",
      "reader": {
        "destination": "bookex*.285",
        "heading_witness": "Latihan 3.9 (Ketika Suatu Variabel Harus Bernilai Negatif)\n⋆⋆⋆Seorang investor memiliki $100\n(dalam ribuan dolar) untuk dibagi antara dana A, yang memberikan imbal hasil 5%, dan dana B, yang\nmemberikan imbal hasil 12%. Pialang mengizinkan short selling (jual kosong) atas dana A: investor boleh\n",
        "heading_witness_sha256": "67e2bcee50016f400da9adf59e9d2da0b4d89584175f793cb1b7cd85457af5ed",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "3.9",
        "page": 92
      },
      "source_span": {
        "content_bytes": 1358,
        "content_sha256": "fdb34309a18b6905612d6c11713fff905d115d9287fabd950326da04173a2e60",
        "environment": "ex",
        "id": "unit.r017.book1.ch03.text.ex-009",
        "label": "ex:excel-short-selling",
        "line_range": [
          345,
          359
        ],
        "native_record_sha256": "7c5bf05335f07fbf16d673ac79111009ce0bbd64c28b23e1b58c88f334742b82",
        "normalized_character_range": [
          23554,
          24912
        ],
        "normalized_utf8_byte_range": [
          23554,
          24912
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-excel.tex",
        "source_file": {
          "archive": "source",
          "bytes": 28566,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-excel.tex",
          "sha256": "a38b55c6ffd45a60b0b225c5fd9807628c17bbc39201efac588fbe760dae5a70"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch03.solutions-manual.manualsolution-009",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch03.solutions-manual.manualsolution-009.unit.r017.book1.ch03.text.ex-009",
          "page": 481,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch03.ex09",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch03-ex09-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch03-spreadsheet-replacements",
            "title_target": "Variabel bebas dan short selling"
          }
        },
        {
          "id": "unit.o018.lab.ch03.ex09",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch03-ex09-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch03-spreadsheet-replacements",
            "title_target": "Variabel bebas dan short selling"
          }
        }
      ],
      "title_id": "Ketika Suatu Variabel Harus Bernilai Negatif"
    },
    {
      "chapter": 4,
      "id": "unit.r017.book1.ch04.text-b.ex-001",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch04.text-b.ex-001",
      "number": "4.1",
      "reader": {
        "destination": "bookex*.446",
        "heading_witness": "Latihan 4.1 (Perencanaan Produksi Selama Lima Periode) ⋆Latihan ini mengikuti pola Contoh 4.1\n(Perencanaan Produksi dengan 10 Periode), tetapi menggunakan cakrawala yang lebih pendek dan data\nbaru. Sebuah pabrik harus memenuhi permintaan selama T = 5 periode. Biaya produksi pada periode 1\n",
        "heading_witness_sha256": "223f749cb239d769bf8b9ba5fc689ceac8a10596e7059572fe0d2c8d901213f0",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "4.1",
        "page": 130
      },
      "source_span": {
        "content_bytes": 1057,
        "content_sha256": "ea6b45965219abdf0b905f5c8deca37fb6a03af2ef4c05843e8ccc7cadf2958c",
        "environment": "ex",
        "id": "unit.r017.book1.ch04.text-b.ex-001",
        "label": "ex:production-5period-warmup",
        "line_range": [
          1062,
          1071
        ],
        "native_record_sha256": "91b2e1f339602a37eceec6f493124fe54c0c96dff539f70609b5b19bf227c98c",
        "normalized_character_range": [
          56934,
          57991
        ],
        "normalized_utf8_byte_range": [
          56934,
          57991
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
        "source_file": {
          "archive": "source",
          "bytes": 85343,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
          "sha256": "cb07632203302bd695426880f491a496e67cf2f9504a25231988a8ea6a767eb4"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch04.solutions-manual.manualsolution-001",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch04.solutions-manual.manualsolution-001.unit.r017.book1.ch04.text-b.ex-001",
          "page": 482,
          "relation_basis": "explicit-manual-exercise-number"
        }
      ],
      "title_id": "Perencanaan Produksi Selama Lima Periode"
    },
    {
      "chapter": 4,
      "id": "unit.r017.book1.ch04.text-b.ex-002",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch04.text-b.ex-002",
      "number": "4.2",
      "reader": {
        "destination": "bookex*.450",
        "heading_witness": "Latihan 4.2 (Penugasan Mesin dengan Biaya Baru) ⋆Latihan ini mengikuti pola Contoh 4.4 (Penu-\ngasan Mesin). Bengkel yang sama menghadapi sekumpulan baru empat pekerjaan dengan matriks biaya\n7\n3\n8\n6\n",
        "heading_witness_sha256": "5fc42a2df372555694853c8002a79229f273d50da62dde2b3f1438c81e9330a0",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "4.2",
        "page": 130
      },
      "source_span": {
        "content_bytes": 735,
        "content_sha256": "54426e458cf36c18865c907b55c0e3b11eb94e37162fed6ac4642e379be2d22a",
        "environment": "ex",
        "id": "unit.r017.book1.ch04.text-b.ex-002",
        "label": "ex:machine-assignment-warmup",
        "line_range": [
          1073,
          1081
        ],
        "native_record_sha256": "03bd58a37fccab942597c9e454d4afc901701d475e082396549cd89395be73da",
        "normalized_character_range": [
          57993,
          58728
        ],
        "normalized_utf8_byte_range": [
          57993,
          58728
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
        "source_file": {
          "archive": "source",
          "bytes": 85343,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
          "sha256": "cb07632203302bd695426880f491a496e67cf2f9504a25231988a8ea6a767eb4"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch04.solutions-manual.manualsolution-002",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch04.solutions-manual.manualsolution-002.unit.r017.book1.ch04.text-b.ex-002",
          "page": 482,
          "relation_basis": "explicit-manual-exercise-number"
        }
      ],
      "title_id": "Penugasan Mesin dengan Biaya Baru"
    },
    {
      "chapter": 4,
      "id": "unit.r017.book1.ch04.text-b.ex-003",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch04.text-b.ex-003",
      "number": "4.3",
      "reader": {
        "destination": "bookex*.451",
        "heading_witness": "Latihan 4.3 (Pengiriman Gudang dengan Data Baru) ⋆Latihan ini mengikuti pola Contoh 4.8 (Aliran\nJaringan Berbiaya Minimum). Pertahankan jaringan, pasokan (20 di Gudang 1 dan 30 di Gudang 2), serta\nkapasitas rute (15, 10, 20, 20) yang sama, tetapi ubah datanya: biaya per unit sekarang adalah 4, 6, 3, 2\n",
        "heading_witness_sha256": "6e3b3a9e69a329ecd1532204297a60fdc0563ab7900c876f98d17b9119a83fb7",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "4.3",
        "page": 130
      },
      "source_span": {
        "content_bytes": 830,
        "content_sha256": "c548e1f4000c9acf9d6afbab80d7f1fd1fa27568229878334bbe099f73fae6d8",
        "environment": "ex",
        "id": "unit.r017.book1.ch04.text-b.ex-003",
        "label": "ex:network-flow-warmup",
        "line_range": [
          1083,
          1091
        ],
        "native_record_sha256": "6504e41c70dbfa880d9ec79c0354796edc0d6ff3fe81b98f60289b0b846a661f",
        "normalized_character_range": [
          58730,
          59560
        ],
        "normalized_utf8_byte_range": [
          58730,
          59560
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
        "source_file": {
          "archive": "source",
          "bytes": 85343,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
          "sha256": "cb07632203302bd695426880f491a496e67cf2f9504a25231988a8ea6a767eb4"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch04.solutions-manual.manualsolution-003",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch04.solutions-manual.manualsolution-003.unit.r017.book1.ch04.text-b.ex-003",
          "page": 482,
          "relation_basis": "explicit-manual-exercise-number"
        }
      ],
      "title_id": "Pengiriman Gudang dengan Data Baru"
    },
    {
      "chapter": 4,
      "id": "unit.r017.book1.ch04.text-b.ex-004",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch04.text-b.ex-004",
      "number": "4.4",
      "reader": {
        "destination": "bookex*.454",
        "heading_witness": "Latihan 4.4 (Penugasan Hunian yang Adil untuk 12 Keluarga) ⋆⋆Sebuah kompleks apartemen baru\ntelah selesai dibangun, dan 12 keluarga perlu ditugaskan ke 12 apartemen yang tersedia. Setiap keluarga\ntelah memberi peringkat apartemen (1 = paling disukai, 12 = paling tidak disukai).\n",
        "heading_witness_sha256": "1be05664f2659550e6e455ddba6804b04c58321abda75aeb91c7c4dd39141861",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "4.4",
        "page": 130
      },
      "source_span": {
        "content_bytes": 875,
        "content_sha256": "efd07d4854847eb21b67544b8ba9247a7ee09037c09ed9aa0d2637e42adc8b69",
        "environment": "ex",
        "id": "unit.r017.book1.ch04.text-b.ex-004",
        "label": "ex:fair-housing-assignment",
        "line_range": [
          1095,
          1107
        ],
        "native_record_sha256": "a35580a19a6d57560bb3a6b2c1250e523dc2ab89ddf599b320c68dfe326eef2e",
        "normalized_character_range": [
          59583,
          60458
        ],
        "normalized_utf8_byte_range": [
          59583,
          60458
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
        "source_file": {
          "archive": "source",
          "bytes": 85343,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
          "sha256": "cb07632203302bd695426880f491a496e67cf2f9504a25231988a8ea6a767eb4"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch04.solutions-manual.manualsolution-004",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch04.solutions-manual.manualsolution-004.unit.r017.book1.ch04.text-b.ex-004",
          "page": 483,
          "relation_basis": "explicit-manual-exercise-number"
        }
      ],
      "title_id": "Penugasan Hunian yang Adil untuk 12 Keluarga"
    },
    {
      "chapter": 4,
      "id": "unit.r017.book1.ch04.text-b.ex-005",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch04.text-b.ex-005",
      "number": "4.5",
      "reader": {
        "destination": "bookex*.458",
        "heading_witness": "Latihan 4.5 (Aliran Jaringan Maksimum ke Satu Simpul) ⋆⋆Dalam sebuah upaya bantuan benca-\nna, pasokan harus diangkut menuju sebuah hub distribusi pusat di wilayah yang dilanda banjir. Jaringan\ntersebut terdiri atas beberapa gudang (simpul) yang saat ini memiliki tingkat persediaan pasokan darurat\n",
        "heading_witness_sha256": "3a705edc3ec628727497a08fdb7cd9a8a1f57c21ea6d0e602ca0480d27d7d65a",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "4.5",
        "page": 131
      },
      "source_span": {
        "content_bytes": 3565,
        "content_sha256": "74a2b8de04425c9b4508f4bed49d58955d4532e6bf357e1b3e50e7c7209b79c3",
        "environment": "ex",
        "id": "unit.r017.book1.ch04.text-b.ex-005",
        "label": "ex:relief-max-flow",
        "line_range": [
          1109,
          1168
        ],
        "native_record_sha256": "a4ea1d3659a286a13e768606780c983f7f3200ec538ce1a6d0343085ebfb194a",
        "normalized_character_range": [
          60460,
          64025
        ],
        "normalized_utf8_byte_range": [
          60460,
          64025
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
        "source_file": {
          "archive": "source",
          "bytes": 85343,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
          "sha256": "cb07632203302bd695426880f491a496e67cf2f9504a25231988a8ea6a767eb4"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch04.solutions-manual.manualsolution-005",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch04.solutions-manual.manualsolution-005.unit.r017.book1.ch04.text-b.ex-005",
          "page": 483,
          "relation_basis": "explicit-manual-exercise-number"
        }
      ],
      "title_id": "Aliran Jaringan Maksimum ke Satu Simpul"
    },
    {
      "chapter": 4,
      "id": "unit.r017.book1.ch04.text-b.ex-006",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch04.text-b.ex-006",
      "number": "4.6",
      "reader": {
        "destination": "bookex*.461",
        "heading_witness": "Latihan 4.6 (Aliran Maksimum)\n⋆⋆Tuliskan secara eksplisit kendala yang mendefinisikan masalah\naliran maksimum pada gambar. Selesaikan masalah ini sebagai program linear dengan menggunakan\n",
        "heading_witness_sha256": "a0e60177c6a90c90fdda17029f1731a8c81f3c60c52b78f054a5ec3ae012add4",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "4.6",
        "page": 131
      },
      "source_span": {
        "content_bytes": 2130,
        "content_sha256": "9dfa09739d5e2f897d3efd5ebf537fd8b10566f32516ade800d504276803c21d",
        "environment": "ex",
        "id": "unit.r017.book1.ch04.text-b.ex-006",
        "label": "ex:max-flow-explicit",
        "line_range": [
          1170,
          1233
        ],
        "native_record_sha256": "f78e0a2316eb391b96c9b3f6d19b0092dbb8b3580a2adcc364ce5d48411f790e",
        "normalized_character_range": [
          64027,
          66157
        ],
        "normalized_utf8_byte_range": [
          64027,
          66157
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
        "source_file": {
          "archive": "source",
          "bytes": 85343,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
          "sha256": "cb07632203302bd695426880f491a496e67cf2f9504a25231988a8ea6a767eb4"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch04.solutions-manual.manualsolution-006",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch04.solutions-manual.manualsolution-006.unit.r017.book1.ch04.text-b.ex-006",
          "page": 484,
          "relation_basis": "explicit-manual-exercise-number"
        }
      ],
      "title_id": "Aliran Maksimum"
    },
    {
      "chapter": 4,
      "id": "unit.r017.book1.ch04.text-b.ex-007",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch04.text-b.ex-007",
      "number": "4.7",
      "reader": {
        "destination": "bookex*.463",
        "heading_witness": "Latihan 4.7 (Aliran Jaringan Berbiaya Minimum) ⋆⋆Gunakan gambar di bawah untuk merumuskan\nmasalah aliran jaringan berbiaya minimum berkapasitas yang bersesuaian. Setiap busur diberi label\nkapasitasnya (hitam) dan biaya per unitnya (merah); angka biru pada setiap simpul adalah permintaan\n",
        "heading_witness_sha256": "b646884e3b17fd27b5d13af7616bdc581390d5dc4aa6d90904b19618d5ffebce",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "4.7",
        "page": 132
      },
      "source_span": {
        "content_bytes": 3434,
        "content_sha256": "9f083cf38ae0ac88d14177759ee36a7a3997acd8a227bcadac582b02b1434d8a",
        "environment": "ex",
        "id": "unit.r017.book1.ch04.text-b.ex-007",
        "label": "ex:min-cost-flow-picture",
        "line_range": [
          1235,
          1313
        ],
        "native_record_sha256": "50b6ebc6793a8b1ef4f79ed649297da5e514e9e474ea3fb35d9a3cf9096a5313",
        "normalized_character_range": [
          66159,
          69593
        ],
        "normalized_utf8_byte_range": [
          66159,
          69593
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
        "source_file": {
          "archive": "source",
          "bytes": 85343,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
          "sha256": "cb07632203302bd695426880f491a496e67cf2f9504a25231988a8ea6a767eb4"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch04.solutions-manual.manualsolution-007",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch04.solutions-manual.manualsolution-007.unit.r017.book1.ch04.text-b.ex-007",
          "page": 485,
          "relation_basis": "explicit-manual-exercise-number"
        }
      ],
      "title_id": "Aliran Jaringan Berbiaya Minimum"
    },
    {
      "chapter": 4,
      "id": "unit.r017.book1.ch04.text-b.ex-008",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch04.text-b.ex-008",
      "number": "4.8",
      "reader": {
        "destination": "bookex*.465",
        "heading_witness": "Latihan 4.8 (Transshipment melalui Hub Regional) ⋆⋆Dua pabrik mengirimkan sebuah produk ke\ntiga toko melalui dua hub regional; tidak ada rute yang menghubungkan pabrik langsung ke toko. Pabrik\nA dapat memasok paling banyak 40 unit dan pabrik B paling banyak 60 unit. Toko S1, S2, dan S3 masing-\n",
        "heading_witness_sha256": "62ed09522705784e9489bbabbee02663627782724e7f2b4f37ea089677e2c4b5",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "4.8",
        "page": 132
      },
      "source_span": {
        "content_bytes": 1256,
        "content_sha256": "7105e20933cc76123659843bc8a006e5f0c41a1650ee1b5ca3245a093eda361d",
        "environment": "ex",
        "id": "unit.r017.book1.ch04.text-b.ex-008",
        "label": "ex:transshipment-hubs",
        "line_range": [
          1315,
          1341
        ],
        "native_record_sha256": "a10fc0a9a5e01274bd4cacbd22c916eb275ebde181a2f61916ede34e89b6585e",
        "normalized_character_range": [
          69595,
          70851
        ],
        "normalized_utf8_byte_range": [
          69595,
          70851
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
        "source_file": {
          "archive": "source",
          "bytes": 85343,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
          "sha256": "cb07632203302bd695426880f491a496e67cf2f9504a25231988a8ea6a767eb4"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch04.solutions-manual.manualsolution-008",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch04.solutions-manual.manualsolution-008.unit.r017.book1.ch04.text-b.ex-008",
          "page": 486,
          "relation_basis": "explicit-manual-exercise-number"
        }
      ],
      "title_id": "Transshipment melalui Hub Regional"
    },
    {
      "chapter": 4,
      "id": "unit.r017.book1.ch04.text-b.ex-009",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch04.text-b.ex-009",
      "number": "4.9",
      "reader": {
        "destination": "bookex*.469",
        "heading_witness": "Latihan 4.9 (Penugasan dengan Pasangan Terlarang)\n⋆⋆Lima pekerja harus ditugaskan ke lima\n",
        "heading_witness_sha256": "ce1145ae181eff5bf8a21fdbb203cc9e2e1a79e1b2c9ce873e823abf844db0de",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "4.9",
        "page": 132
      },
      "source_span": {
        "content_bytes": 1201,
        "content_sha256": "e916693cb2bf15a2b4b862e644fa0f414c5cccee2e737fc8f9b0e42f37912484",
        "environment": "ex",
        "id": "unit.r017.book1.ch04.text-b.ex-009",
        "label": "ex:assignment-forbidden",
        "line_range": [
          1343,
          1362
        ],
        "native_record_sha256": "8bafe952ab599f180c543e1d7c685dd0ed406ca0cb6c91f930416f104fdd332f",
        "normalized_character_range": [
          70853,
          72054
        ],
        "normalized_utf8_byte_range": [
          70853,
          72054
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
        "source_file": {
          "archive": "source",
          "bytes": 85343,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
          "sha256": "cb07632203302bd695426880f491a496e67cf2f9504a25231988a8ea6a767eb4"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch04.solutions-manual.manualsolution-009",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch04.solutions-manual.manualsolution-009.unit.r017.book1.ch04.text-b.ex-009",
          "page": 486,
          "relation_basis": "explicit-manual-exercise-number"
        }
      ],
      "title_id": "Penugasan dengan Pasangan Terlarang"
    },
    {
      "chapter": 4,
      "id": "unit.r017.book1.ch04.text-b.ex-010",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch04.text-b.ex-010",
      "number": "4.10",
      "reader": {
        "destination": "bookex*.473",
        "heading_witness": "Latihan 4.10 (Persediaan Multiperiodik dengan Batas Produksi)\n⋆⋆\nSebuah pabrik dapat\nmemproduksi paling banyak 120 unit per periode.\nSelama enam periode, permintaannya adalah\n(80,120,60,140,90,110) unit, biaya produksinya adalah (20,20,22,25,24,23) dolar per unit, biaya pe-\n",
        "heading_witness_sha256": "7e1cdd3ffe15dcedbfdd3b85666113ee8b3429f8a649e667803784e7492f5258",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "4.10",
        "page": 133
      },
      "source_span": {
        "content_bytes": 1213,
        "content_sha256": "b15474db7ae27de6725b4d1f97560de1036c00732aa3684a8536244641b261a0",
        "environment": "ex",
        "id": "unit.r017.book1.ch04.text-b.ex-010",
        "label": "ex:capacitated-production",
        "line_range": [
          1364,
          1373
        ],
        "native_record_sha256": "48575cb61c97e7eb82ba23c19d058374e091d9250568fca807fe03438040def9",
        "normalized_character_range": [
          72056,
          73269
        ],
        "normalized_utf8_byte_range": [
          72056,
          73269
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
        "source_file": {
          "archive": "source",
          "bytes": 85343,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
          "sha256": "cb07632203302bd695426880f491a496e67cf2f9504a25231988a8ea6a767eb4"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch04.solutions-manual.manualsolution-010",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch04.solutions-manual.manualsolution-010.unit.r017.book1.ch04.text-b.ex-010",
          "page": 487,
          "relation_basis": "explicit-manual-exercise-number"
        }
      ],
      "title_id": "Persediaan Multiperiodik dengan Batas Produksi"
    },
    {
      "chapter": 4,
      "id": "unit.r017.book1.ch04.text-b.ex-011",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch04.text-b.ex-011",
      "number": "4.11",
      "reader": {
        "destination": "bookex*.477",
        "heading_witness": "Latihan 4.11 (Mengapa Setiap Unit Dikirim ke Suatu Tempat)\n⋆⋆Tinjau model aliran jaringan\nberbiaya minimum pada Bagian 4.4.3, dengan kendala keseimbangan aliran ∑j:(k, j)∈A xk j −∑i:(i,k)∈A xik =\ndk pada setiap simpul k.\n",
        "heading_witness_sha256": "8a42e77d7b419ec1cade0dd2a7dc1b0db3e7a7c63f7ffcbbadc48ab17af4878e",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "4.11",
        "page": 133
      },
      "source_span": {
        "content_bytes": 1315,
        "content_sha256": "0106716a0c75f1abf687fa80b6e0d961bb12ae76b04784484f2efb683844f6e5",
        "environment": "ex",
        "id": "unit.r017.book1.ch04.text-b.ex-011",
        "label": "ex:flow-conservation-concept",
        "line_range": [
          1377,
          1386
        ],
        "native_record_sha256": "6921cd9551f60f48727b192410b632e5b25ca28c9e52b0371a9e3c15c5afa49d",
        "normalized_character_range": [
          73305,
          74620
        ],
        "normalized_utf8_byte_range": [
          73305,
          74620
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
        "source_file": {
          "archive": "source",
          "bytes": 85343,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
          "sha256": "cb07632203302bd695426880f491a496e67cf2f9504a25231988a8ea6a767eb4"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch04.solutions-manual.manualsolution-011",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch04.solutions-manual.manualsolution-011.unit.r017.book1.ch04.text-b.ex-011",
          "page": 487,
          "relation_basis": "explicit-manual-exercise-number"
        }
      ],
      "title_id": "Mengapa Setiap Unit Dikirim ke Suatu Tempat"
    },
    {
      "chapter": 4,
      "id": "unit.r017.book1.ch04.text-b.ex-012",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch04.text-b.ex-012",
      "number": "4.12",
      "reader": {
        "destination": "bookex*.481",
        "heading_witness": "Latihan 4.12 (Jawaban Bulat Tanpa Biaya Tambahan)\n⋆⋆Masalah penugasan dinyatakan dengan\nvariabel biner, tetapi Bagian 4.2 mencatat bahwa menyelesaikan relaksasi LP-nya (mengganti xi j ∈{0,1}\ndengan xi j ≥0) tetap menghasilkan penugasan biner.\n",
        "heading_witness_sha256": "14067cae4be65ee8f966fbe086544933d7efa3f9a3e11249866dcc6b2ec3bba3",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "4.12",
        "page": 134
      },
      "source_span": {
        "content_bytes": 1278,
        "content_sha256": "2a6c6603ef143079c789d2d9c423be1fa6b96867b40a79672374fb39de34fc55",
        "environment": "ex",
        "id": "unit.r017.book1.ch04.text-b.ex-012",
        "label": "ex:assignment-integrality-concept",
        "line_range": [
          1388,
          1397
        ],
        "native_record_sha256": "11b320d8736b3f67db686511fd76a4cef25e92c5e04db6e5a03f142855d95939",
        "normalized_character_range": [
          74622,
          75900
        ],
        "normalized_utf8_byte_range": [
          74622,
          75900
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
        "source_file": {
          "archive": "source",
          "bytes": 85343,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
          "sha256": "cb07632203302bd695426880f491a496e67cf2f9504a25231988a8ea6a767eb4"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch04.solutions-manual.manualsolution-012",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch04.solutions-manual.manualsolution-012.unit.r017.book1.ch04.text-b.ex-012",
          "page": 488,
          "relation_basis": "explicit-manual-exercise-number"
        }
      ],
      "title_id": "Jawaban Bulat Tanpa Biaya Tambahan"
    },
    {
      "chapter": 4,
      "id": "unit.r017.book1.ch04.text-b.ex-013",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch04.text-b.ex-013",
      "number": "4.13",
      "reader": {
        "destination": "bookex*.485",
        "heading_witness": "Latihan 4.13 (Perutean Ulang Multikomoditas pada Kapasitas yang Lebih Ketat) ⋆⋆⋆Kembali ke\njaringan pada Contoh 4.10: simpul {1,2,3,4}, busur (1,2), (1,3), (2,4), (3,4) dengan kapasitas 20, 15,\n25, 20, komoditas 1 yang mengirimkan 10 unit dan komoditas 2 yang mengirimkan 5 unit dari simpul 1 ke\n",
        "heading_witness_sha256": "1c9a5a1255747883a799cdd0e424c22d73ee2631363ebb52d442e56ecf8b8638",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "4.13",
        "page": 134
      },
      "source_span": {
        "content_bytes": 1383,
        "content_sha256": "e128b8cc370d5baff205d73ce8b55783e67c4e877c25ef5782514c391d93010a",
        "environment": "ex",
        "id": "unit.r017.book1.ch04.text-b.ex-013",
        "label": "ex:multicommodity-rerouting",
        "line_range": [
          1401,
          1410
        ],
        "native_record_sha256": "e31d84b48d9a62ad961dd175f1c88b6ef7962cab6b6482a85ee767dbf30045da",
        "normalized_character_range": [
          75928,
          77311
        ],
        "normalized_utf8_byte_range": [
          75928,
          77311
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
        "source_file": {
          "archive": "source",
          "bytes": 85343,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
          "sha256": "cb07632203302bd695426880f491a496e67cf2f9504a25231988a8ea6a767eb4"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch04.solutions-manual.manualsolution-013",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch04.solutions-manual.manualsolution-013.unit.r017.book1.ch04.text-b.ex-013",
          "page": 488,
          "relation_basis": "explicit-manual-exercise-number"
        }
      ],
      "title_id": "Perutean Ulang Multikomoditas pada Kapasitas yang Lebih Ketat"
    },
    {
      "chapter": 4,
      "id": "unit.r017.book1.ch04.text-b.ex-014",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch04.text-b.ex-014",
      "number": "4.14",
      "reader": {
        "destination": "bookex*.489",
        "heading_witness": "Latihan 4.14 (Penugasan Proyek Adil Maks-Min)\n⋆⋆⋆Tiga tim masing-masing harus mengambil\nsatu dari tiga proyek. Tim i memberi proyek j skor kepuasan Si j (semakin tinggi semakin baik):\n8\n6\n5\n",
        "heading_witness_sha256": "1c20dbf634b9f05b2bb49564ba9732be15ca6b1f6e4e0538372d3f0b59213309",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "4.14",
        "page": 134
      },
      "source_span": {
        "content_bytes": 1287,
        "content_sha256": "e300fbe775b0aa93a03200f63f5a32eab5660d99a7c8d8e17257c38186356121",
        "environment": "ex",
        "id": "unit.r017.book1.ch04.text-b.ex-014",
        "label": "ex:maxmin-fair-assignment",
        "line_range": [
          1412,
          1425
        ],
        "native_record_sha256": "f22138134cc48cfbc2b72779857bd0ffec6a88d175aabf87d9479e6765220db6",
        "normalized_character_range": [
          77313,
          78600
        ],
        "normalized_utf8_byte_range": [
          77313,
          78600
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
        "source_file": {
          "archive": "source",
          "bytes": 85343,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
          "sha256": "cb07632203302bd695426880f491a496e67cf2f9504a25231988a8ea6a767eb4"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch04.solutions-manual.manualsolution-014",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch04.solutions-manual.manualsolution-014.unit.r017.book1.ch04.text-b.ex-014",
          "page": 489,
          "relation_basis": "explicit-manual-exercise-number"
        }
      ],
      "title_id": "Penugasan Proyek Adil Maks-Min"
    },
    {
      "chapter": 5,
      "id": "unit.r017.book1.ch05.text.ex-001",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch05.text.ex-001",
      "number": "5.1",
      "reader": {
        "destination": "bookex*.549",
        "heading_witness": "Latihan 5.1 (Analisis Daerah Layak) ⋆Perhatikan sistem kendala berikut:\nx+ y ≥5\n",
        "heading_witness_sha256": "7ae0b7d28ad1e16ffc0cca6e1ef750cbbb3730d32922d8f27dfdce4fe5e9e108",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "5.1",
        "page": 152
      },
      "source_span": {
        "content_bytes": 496,
        "content_sha256": "438ee03a973b6196ee134b8c35e8f712ba5d13ce0b4c17e557332b712b455336",
        "environment": "ex",
        "id": "unit.r017.book1.ch05.text.ex-001",
        "label": null,
        "line_range": [
          778,
          794
        ],
        "native_record_sha256": "b15d1ab37054224565415f8399cf0a3d7990651865d33a4c8add4232ab1ddb6a",
        "normalized_character_range": [
          40559,
          41055
        ],
        "normalized_utf8_byte_range": [
          40559,
          41055
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
        "source_file": {
          "archive": "source",
          "bytes": 65226,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
          "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-001",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch05.solutions-manual.manualsolution-001.unit.r017.book1.ch05.text.ex-001",
          "page": 490,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch05.ex01",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch05-ex01-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch05-graphical-lp",
            "title_target": "Analisis Daerah Layak"
          }
        },
        {
          "id": "unit.o018.lab.ch05.ex01",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch05-ex01-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch05-graphical-lp",
            "title_target": "Analisis Daerah Layak"
          }
        }
      ],
      "title_id": "Analisis Daerah Layak"
    },
    {
      "chapter": 5,
      "id": "unit.r017.book1.ch05.text.ex-002",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch05.text.ex-002",
      "number": "5.2",
      "reader": {
        "destination": "bookex*.554",
        "heading_witness": "Latihan 5.2 (Menggambar Daerah Layak) ⋆Gambarkan semua\n\u0014x\ny\n\u0015\nyang memenuhi\nx−2y ≤2\n",
        "heading_witness_sha256": "6ba2a9ab1adfbd826ced11d84871ae402dc9d100d3d52628a0183dbeedb662bf",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "5.2",
        "page": 152
      },
      "source_span": {
        "content_bytes": 233,
        "content_sha256": "00206b079975c41cfa6ed724aa330aa8e15f6ee181c6010b470830d2cbe18a2f",
        "environment": "ex",
        "id": "unit.r017.book1.ch05.text.ex-002",
        "label": "ex:feasible-region",
        "line_range": [
          796,
          803
        ],
        "native_record_sha256": "b7e2c47f47dc18ba00229181f820be42718938ff60e5b86b509bd5234c3a9d21",
        "normalized_character_range": [
          41057,
          41290
        ],
        "normalized_utf8_byte_range": [
          41057,
          41290
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
        "source_file": {
          "archive": "source",
          "bytes": 65226,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
          "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-002",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch05.solutions-manual.manualsolution-002.unit.r017.book1.ch05.text.ex-002",
          "page": 490,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch05.ex02",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch05-ex02-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch05-graphical-lp",
            "title_target": "Sketsa Daerah Layak"
          }
        },
        {
          "id": "unit.o018.lab.ch05.ex02",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch05-ex02-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch05-graphical-lp",
            "title_target": "Sketsa Daerah Layak"
          }
        }
      ],
      "title_id": "Menggambar Daerah Layak"
    },
    {
      "chapter": 5,
      "id": "unit.r017.book1.ch05.text.ex-003",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch05.text.ex-003",
      "number": "5.3",
      "reader": {
        "destination": "bookex*.555",
        "heading_witness": "Latihan 5.3 (Latihan Metode Grafis 1) ⋆Terapkan langkah-langkah pada kotak “Metode Grafis 1:\nDaerah Terbatas, Optimum Tunggal” terhadap program linier\n3\n2\n",
        "heading_witness_sha256": "c08b9b176bb32adda34ffc7155351ac80427fa6d512272068c36aed148aac1ef",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "5.3",
        "page": 152
      },
      "source_span": {
        "content_bytes": 562,
        "content_sha256": "660997781b9f98ee9660b0b907cdeb9b74dab6658b71bf0b24694d42ccaaa010",
        "environment": "ex",
        "id": "unit.r017.book1.ch05.text.ex-003",
        "label": "ex:graphical-method-one",
        "line_range": [
          805,
          815
        ],
        "native_record_sha256": "45ae6e05ffa8953cb4bda2bec0919a757fa8f73673cfeda7c5b199bd9cfe239d",
        "normalized_character_range": [
          41292,
          41854
        ],
        "normalized_utf8_byte_range": [
          41292,
          41854
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
        "source_file": {
          "archive": "source",
          "bytes": 65226,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
          "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-003",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch05.solutions-manual.manualsolution-003.unit.r017.book1.ch05.text.ex-003",
          "page": 491,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch05.ex03",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch05-ex03-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch05-graphical-lp",
            "title_target": "Latihan Metode Grafis 1"
          }
        },
        {
          "id": "unit.o018.lab.ch05.ex03",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch05-ex03-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch05-graphical-lp",
            "title_target": "Latihan Metode Grafis 1"
          }
        }
      ],
      "title_id": "Latihan Metode Grafis 1"
    },
    {
      "chapter": 5,
      "id": "unit.r017.book1.ch05.text.ex-004",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch05.text.ex-004",
      "number": "5.4",
      "reader": {
        "destination": "bookex*.556",
        "heading_witness": "Latihan 5.4 (Metode Grafis untuk Pedagang Limun) ⋆Selesaikan masalah Pedagang Limun dari\nContoh 5.2 dengan metode grafis.\n[§5.2, Contoh 5.2]\n",
        "heading_witness_sha256": "88ca95be75b18479a81f771cc1d9502e12d91e6fafcbce1579b7d214bcab9f7a",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "5.4",
        "page": 152
      },
      "source_span": {
        "content_bytes": 232,
        "content_sha256": "c185913061dc4f03b8d589d8fda72023d1b5c641a5230e987c3f2f59fda42744",
        "environment": "ex",
        "id": "unit.r017.book1.ch05.text.ex-004",
        "label": null,
        "line_range": [
          817,
          820
        ],
        "native_record_sha256": "8f73b98016f943c60d813307523668277d782ac27fd7eff8edb6493267d50811",
        "normalized_character_range": [
          41856,
          42088
        ],
        "normalized_utf8_byte_range": [
          41856,
          42088
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
        "source_file": {
          "archive": "source",
          "bytes": 65226,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
          "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-004",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch05.solutions-manual.manualsolution-004.unit.r017.book1.ch05.text.ex-004",
          "page": 491,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch05.ex04",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch05-ex04-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch05-graphical-lp",
            "title_target": "Metode Grafis untuk Penjual Limun"
          }
        },
        {
          "id": "unit.o018.lab.ch05.ex04",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch05-ex04-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch05-graphical-lp",
            "title_target": "Metode Grafis untuk Penjual Limun"
          }
        }
      ],
      "title_id": "Metode Grafis untuk Pedagang Limun"
    },
    {
      "chapter": 5,
      "id": "unit.r017.book1.ch05.text.ex-005",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch05.text.ex-005",
      "number": "5.5",
      "reader": {
        "destination": "bookex*.557",
        "heading_witness": "Latihan 5.5 (Metode Grafis) ⋆⋆Gunakan metode grafis untuk menentukan dua solusi optimal bagi\nprogram linier berikut:\n",
        "heading_witness_sha256": "8702f01c92edd857148ebf578e69bda86eb5e676e713f411032d5bead061404c",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "5.5",
        "page": 153
      },
      "source_span": {
        "content_bytes": 342,
        "content_sha256": "8d1b80242e2512a4fc8df9c79b0ae335d10ca4606728d8a5854df016be066fcc",
        "environment": "ex",
        "id": "unit.r017.book1.ch05.text.ex-005",
        "label": null,
        "line_range": [
          825,
          834
        ],
        "native_record_sha256": "b79b94e381de4253f1d8320155e701fe5e10f31bf31ad5e6fc9238c05ff27a71",
        "normalized_character_range": [
          42141,
          42483
        ],
        "normalized_utf8_byte_range": [
          42141,
          42483
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
        "source_file": {
          "archive": "source",
          "bytes": 65226,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
          "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-005",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch05.solutions-manual.manualsolution-005.unit.r017.book1.ch05.text.ex-005",
          "page": 491,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch05.ex05",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch05-ex05-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch05-graphical-lp",
            "title_target": "Metode Grafis"
          }
        },
        {
          "id": "unit.o018.lab.ch05.ex05",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch05-ex05-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch05-graphical-lp",
            "title_target": "Metode Grafis"
          }
        }
      ],
      "title_id": "Metode Grafis"
    },
    {
      "chapter": 5,
      "id": "unit.r017.book1.ch05.text.ex-006",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch05.text.ex-006",
      "number": "5.6",
      "reader": {
        "destination": "bookex*.558",
        "heading_witness": "Latihan 5.6 (Grafik Daerah Tak Layak) ⋆⋆Gambarkan daerah layak program linier berikut:\nmin\nx1 −x2\n",
        "heading_witness_sha256": "c92eba67c4a87e3527af427105f5f85965686f805ad36f5deb221c48d5aa31cc",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "5.6",
        "page": 153
      },
      "source_span": {
        "content_bytes": 437,
        "content_sha256": "c4ccbaa4760906c5cbc49e33fb5753ff7b7fc400df9254aeb5f24a96e195ddf3",
        "environment": "ex",
        "id": "unit.r017.book1.ch05.text.ex-006",
        "label": "ex:infeasible",
        "line_range": [
          836,
          847
        ],
        "native_record_sha256": "27ed508ca8be54624c54dd7a6ed97198217c24a32f8a96bddc288372952d2886",
        "normalized_character_range": [
          42485,
          42922
        ],
        "normalized_utf8_byte_range": [
          42485,
          42922
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
        "source_file": {
          "archive": "source",
          "bytes": 65226,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
          "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-006",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch05.solutions-manual.manualsolution-006.unit.r017.book1.ch05.text.ex-006",
          "page": 492,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch05.ex06",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch05-ex06-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch05-graphical-lp",
            "title_target": "Grafik Daerah Tak Layak"
          }
        },
        {
          "id": "unit.o018.lab.ch05.ex06",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch05-ex06-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch05-graphical-lp",
            "title_target": "Grafik Daerah Tak Layak"
          }
        }
      ],
      "title_id": "Grafik Daerah Tak Layak"
    },
    {
      "chapter": 5,
      "id": "unit.r017.book1.ch05.text.ex-007",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch05.text.ex-007",
      "number": "5.7",
      "reader": {
        "destination": "bookex*.559",
        "heading_witness": "Latihan 5.7 (Menentukan Nilai Optimal) ⋆⋆Tentukan nilai optimal dari\nMinimumkan\nx+ y\nD\n2\n≥4\n",
        "heading_witness_sha256": "b3df12728342d3f2f43ec10cdc20e45052f5eb4b8ff870ce5d5d78aa1afa5d08",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "5.7",
        "page": 153
      },
      "source_span": {
        "content_bytes": 274,
        "content_sha256": "6f24eccf1f221c57fbbfde58c3bd52eda366d306b104b3854b47e3ffb58a329a",
        "environment": "ex",
        "id": "unit.r017.book1.ch05.text.ex-007",
        "label": "ex:lp-optimal-value",
        "line_range": [
          849,
          859
        ],
        "native_record_sha256": "3e52d1e746a8d2bf1fed94e6c3cc14a38709a6935c3a11791607a247e6f09fea",
        "normalized_character_range": [
          42924,
          43198
        ],
        "normalized_utf8_byte_range": [
          42924,
          43198
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
        "source_file": {
          "archive": "source",
          "bytes": 65226,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
          "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-007",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch05.solutions-manual.manualsolution-007.unit.r017.book1.ch05.text.ex-007",
          "page": 492,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch05.ex07",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch05-ex07-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch05-graphical-lp",
            "title_target": "Menentukan Nilai Optimal"
          }
        },
        {
          "id": "unit.o018.lab.ch05.ex07",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch05-ex07-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch05-graphical-lp",
            "title_target": "Menentukan Nilai Optimal"
          }
        }
      ],
      "title_id": "Menentukan Nilai Optimal"
    },
    {
      "chapter": 5,
      "id": "unit.r017.book1.ch05.text.ex-008",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch05.text.ex-008",
      "number": "5.8",
      "reader": {
        "destination": "bookex*.560",
        "heading_witness": "Latihan 5.8 (Menunjukkan Masalah Tak Berbatas) ⋆⋆Tunjukkan bahwa masalah\nMinimumkan\n−x+ y\nD\n2\n≥0\n",
        "heading_witness_sha256": "ebd402b628af0d378b4ea9a01a0d07f82c3c4148fb79a3f0f1f71f36298b7b45",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "5.8",
        "page": 153
      },
      "source_span": {
        "content_bytes": 329,
        "content_sha256": "aea36425e46a6669817f38dfa20c01d9ed165a561008346c032785113bb3a254",
        "environment": "ex",
        "id": "unit.r017.book1.ch05.text.ex-008",
        "label": "ex:lp-unbounded",
        "line_range": [
          861,
          872
        ],
        "native_record_sha256": "5c74c283ef724bce51284eb210e18a786731bb4a27578dbadd6e4b40d1fe1516",
        "normalized_character_range": [
          43200,
          43529
        ],
        "normalized_utf8_byte_range": [
          43200,
          43529
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
        "source_file": {
          "archive": "source",
          "bytes": 65226,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
          "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-008",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch05.solutions-manual.manualsolution-008.unit.r017.book1.ch05.text.ex-008",
          "page": 493,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch05.ex08",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch05-ex08-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch05-graphical-lp",
            "title_target": "Menunjukkan Masalah Tak Berbatas"
          }
        },
        {
          "id": "unit.o018.lab.ch05.ex08",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch05-ex08-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch05-graphical-lp",
            "title_target": "Menunjukkan Masalah Tak Berbatas"
          }
        }
      ],
      "title_id": "Menunjukkan Masalah Tak Berbatas"
    },
    {
      "chapter": 5,
      "id": "unit.r017.book1.ch05.text.ex-009",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch05.text.ex-009",
      "number": "5.9",
      "reader": {
        "destination": "bookex*.561",
        "heading_witness": "Latihan 5.9 (Berhingga atau Tak Berbatas?)\n⋆⋆Perhatikan daerah layak dari Contoh 5.5 (dengan\nx1 −x2 ≤3 dan x1 + 2x2 ≥4). Apakah masalah max z = −2x1 + x2 dengan kendala-kendala tersebut\nmempunyai solusi hingga? Berikan alasan dengan menggunakan Metode Grafis Lengkap.\n",
        "heading_witness_sha256": "86bcb71304a27b2defd47d65c1f8fd1dd033b64294b13a90dc52bd82ab2239ec",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "5.9",
        "page": 153
      },
      "source_span": {
        "content_bytes": 444,
        "content_sha256": "977b9a0a2f48642b9daaf932d053eb8320b9104337c49a71b3e5f36611fc781e",
        "environment": "ex",
        "id": "unit.r017.book1.ch05.text.ex-009",
        "label": "exer:BoundedSolutionQuestion",
        "line_range": [
          874,
          877
        ],
        "native_record_sha256": "1a21dc16131c078c67e014d603928c5f009ed8688d019258cca73c05aecbfdbd",
        "normalized_character_range": [
          43531,
          43975
        ],
        "normalized_utf8_byte_range": [
          43531,
          43975
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
        "source_file": {
          "archive": "source",
          "bytes": 65226,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
          "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-009",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch05.solutions-manual.manualsolution-009.unit.r017.book1.ch05.text.ex-009",
          "page": 493,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch05.ex09",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch05-ex09-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch05-graphical-lp",
            "title_target": "Berhingga atau Tak Berbatas?"
          }
        },
        {
          "id": "unit.o018.lab.ch05.ex09",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch05-ex09-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch05-graphical-lp",
            "title_target": "Berhingga atau Tak Berbatas?"
          }
        }
      ],
      "title_id": "Berhingga atau Tak Berbatas?"
    },
    {
      "chapter": 5,
      "id": "unit.r017.book1.ch05.text.ex-010",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch05.text.ex-010",
      "number": "5.10",
      "reader": {
        "destination": "bookex*.562",
        "heading_witness": "Latihan 5.10 (Masalah Diet) ⋆⋆Misalkan Anda berbelanja suplemen makanan untuk memenuhi kebu-\ntuhan asupan harian 0.40 mg nutrien M dan 0.30 mg nutrien N. Ada tiga produk populer di pasaran.\nBiaya dan jumlah kedua nutrien dalam tiap produk diberikan pada tabel berikut:\n",
        "heading_witness_sha256": "b9db4bdcaba5d636cffa62977ef36fc38b80ab397e115221097369047a2b5cfb",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "5.10",
        "page": 154
      },
      "source_span": {
        "content_bytes": 1027,
        "content_sha256": "8908a506b03d64b2de1fb7ce7bf700cef4bb008cfc2f3f249afec48bb182a9a9",
        "environment": "ex",
        "id": "unit.r017.book1.ch05.text.ex-010",
        "label": "ex:lp-diet-problem",
        "line_range": [
          879,
          903
        ],
        "native_record_sha256": "5245319e3923730df2b68940ccf0c630a0132d0ffc8d554381216d1720e31f31",
        "normalized_character_range": [
          43977,
          45004
        ],
        "normalized_utf8_byte_range": [
          43977,
          45004
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
        "source_file": {
          "archive": "source",
          "bytes": 65226,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
          "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-010",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch05.solutions-manual.manualsolution-010.unit.r017.book1.ch05.text.ex-010",
          "page": 493,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch05.ex10",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch05-ex10-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch05-graphical-lp",
            "title_target": "Masalah Diet"
          }
        },
        {
          "id": "unit.o018.lab.ch05.ex10",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch05-ex10-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch05-graphical-lp",
            "title_target": "Masalah Diet"
          }
        }
      ],
      "title_id": "Masalah Diet"
    },
    {
      "chapter": 5,
      "id": "unit.r017.book1.ch05.text.ex-011",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch05.text.ex-011",
      "number": "5.11",
      "reader": {
        "destination": "bookex*.564",
        "heading_witness": "Latihan 5.11 (Mengapa Optimum Harus Berada pada Titik Ekstrem?) ⋆⋆Misalkan sebuah program\nlinier dalam dua variabel mempunyai daerah layak yang tak kosong dan terbatas.\n1. Teorema 5.1 menjamin bahwa suatu solusi optimal terjadi pada titik ekstrem. Dengan menggunakan\n",
        "heading_witness_sha256": "d4b9fdc0042fbb1e164ed6871248de8b827c465bb7f9f8e30e4c58eb55ce12ef",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "5.11",
        "page": 154
      },
      "source_span": {
        "content_bytes": 889,
        "content_sha256": "273e5cac058acb8ded4869f5633b6e1eed1ef1bcbaf7e3a5c1abe470c65c6393",
        "environment": "ex",
        "id": "unit.r017.book1.ch05.text.ex-011",
        "label": "ex:why-vertex",
        "line_range": [
          907,
          914
        ],
        "native_record_sha256": "2ce6d64e5857bd7d7f11cb8a0516c6e54183b8fcf0420ebd8cc3da5dae62918c",
        "normalized_character_range": [
          45040,
          45929
        ],
        "normalized_utf8_byte_range": [
          45040,
          45929
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
        "source_file": {
          "archive": "source",
          "bytes": 65226,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
          "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-011",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch05.solutions-manual.manualsolution-011.unit.r017.book1.ch05.text.ex-011",
          "page": 494,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch05.ex11",
          "kind": "parameter_required_lab",
          "native_relation_id": "relation.o018-ch05-ex11-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch05-graphical-lp",
            "title_target": "Mengapa Optimum Harus Berada di Titik Ekstrem?"
          }
        }
      ],
      "title_id": "Mengapa Optimum Harus Berada pada Titik Ekstrem?"
    },
    {
      "chapter": 5,
      "id": "unit.r017.book1.ch05.text.ex-012",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch05.text.ex-012",
      "number": "5.12",
      "reader": {
        "destination": "bookex*.567",
        "heading_witness": "Latihan 5.12 (Solusi Optimal Tak Terhingga Banyak) ⋆⋆Temukan fungsi objektif untuk daerah layak\ndalam Contoh 5.5 yang menghasilkan tak terhingga banyak solusi optimal. Jelaskan himpunan optimum-\nnya.\n",
        "heading_witness_sha256": "8f426da3c939af8964eaca48bccb73195a3de7ab93e47dc2a2609e27f50d7da7",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "5.12",
        "page": 154
      },
      "source_span": {
        "content_bytes": 286,
        "content_sha256": "2bbca037238a987a5133920357c96c24897f49d800fa7be64672d8d8dab6da8d",
        "environment": "ex",
        "id": "unit.r017.book1.ch05.text.ex-012",
        "label": null,
        "line_range": [
          916,
          919
        ],
        "native_record_sha256": "67e40f35edd1e85eb4e3e950ede2abfe70bb6fc567ca2021253f612476fe19cf",
        "normalized_character_range": [
          45931,
          46217
        ],
        "normalized_utf8_byte_range": [
          45931,
          46217
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
        "source_file": {
          "archive": "source",
          "bytes": 65226,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
          "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-012",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch05.solutions-manual.manualsolution-012.unit.r017.book1.ch05.text.ex-012",
          "page": 495,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch05.ex12",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch05-ex12-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch05-graphical-lp",
            "title_target": "Tak Hingga Banyak Solusi Optimal"
          }
        },
        {
          "id": "unit.o018.lab.ch05.ex12",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch05-ex12-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch05-graphical-lp",
            "title_target": "Tak Hingga Banyak Solusi Optimal"
          }
        }
      ],
      "title_id": "Solusi Optimal Tak Terhingga Banyak"
    },
    {
      "chapter": 5,
      "id": "unit.r017.book1.ch05.text.ex-013",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch05.text.ex-013",
      "number": "5.13",
      "reader": {
        "destination": "bookex*.568",
        "heading_witness": "Latihan 5.13 (Tak Terhingga Banyak Solusi Optimal) ⋆⋆Ubah fungsi objektif dalam Contoh 5.2 se-\nhingga program linier yang dihasilkan memiliki tak terhingga banyak solusi optimal. Jelaskan himpunan\nlengkap solusi optimalnya.\n",
        "heading_witness_sha256": "dde7740cc1392a0d4236d012bebfc8b3885f546b1e5ae5f025d35e2a982133bd",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "5.13",
        "page": 154
      },
      "source_span": {
        "content_bytes": 334,
        "content_sha256": "1e3d109901dfb72893fa2c77950982af2fca4fb3c44eb4b6a3e63f52cf3eced0",
        "environment": "ex",
        "id": "unit.r017.book1.ch05.text.ex-013",
        "label": null,
        "line_range": [
          921,
          924
        ],
        "native_record_sha256": "4327b6c4342cf3c08fb093e33513be0ed3d3174382010fc9f39fa8b6f436c50b",
        "normalized_character_range": [
          46219,
          46553
        ],
        "normalized_utf8_byte_range": [
          46219,
          46553
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
        "source_file": {
          "archive": "source",
          "bytes": 65226,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
          "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-013",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch05.solutions-manual.manualsolution-013.unit.r017.book1.ch05.text.ex-013",
          "page": 495,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch05.ex13",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch05-ex13-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch05-graphical-lp",
            "title_target": "Tak Hingga Banyak Solusi Optimal"
          }
        },
        {
          "id": "unit.o018.lab.ch05.ex13",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch05-ex13-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch05-graphical-lp",
            "title_target": "Tak Hingga Banyak Solusi Optimal"
          }
        }
      ],
      "title_id": "Tak Terhingga Banyak Solusi Optimal"
    },
    {
      "chapter": 5,
      "id": "unit.r017.book1.ch05.text.ex-014",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch05.text.ex-014",
      "number": "5.14",
      "reader": {
        "destination": "bookex*.569",
        "heading_witness": "Latihan 5.14 (Optimum Terbatas pada Daerah Tak Berbatas) ⋆⋆Perhatikan kendala −x1 + x2 ≤5,\nx1+x2 ≥2, x1,x2 ≥0. Bentuklah sebuah objektif maksimisasi yang mempunyai optimum hingga meskipun\ndaerah layaknya tak berbatas. Gambarkan daerah layak dan kurva aras untuk memverifikasinya.\n",
        "heading_witness_sha256": "581e0b14a5ccc76b00cef05f216a4ee7384b9c777c8689798805378bb61bc904",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "5.14",
        "page": 154
      },
      "source_span": {
        "content_bytes": 475,
        "content_sha256": "0d7e8a764006e6cfa63963df87fc750c9f9a3952e120fc09439e5d85e7e4b855",
        "environment": "ex",
        "id": "unit.r017.book1.ch05.text.ex-014",
        "label": null,
        "line_range": [
          926,
          931
        ],
        "native_record_sha256": "b647fc9213c5702e5497c581f8e88959f0ff96e7e5c77e5d98d10efb8ba3553d",
        "normalized_character_range": [
          46555,
          47030
        ],
        "normalized_utf8_byte_range": [
          46555,
          47030
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
        "source_file": {
          "archive": "source",
          "bytes": 65226,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
          "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-014",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch05.solutions-manual.manualsolution-014.unit.r017.book1.ch05.text.ex-014",
          "page": 495,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch05.ex14",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch05-ex14-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch05-graphical-lp",
            "title_target": "Optimum Berhingga pada Daerah Tak Berbatas"
          }
        },
        {
          "id": "unit.o018.lab.ch05.ex14",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch05-ex14-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch05-graphical-lp",
            "title_target": "Optimum Berhingga pada Daerah Tak Berbatas"
          }
        }
      ],
      "title_id": "Optimum Terbatas pada Daerah Tak Berbatas"
    },
    {
      "chapter": 5,
      "id": "unit.r017.book1.ch05.text.ex-015",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch05.text.ex-015",
      "number": "5.15",
      "reader": {
        "destination": "bookex*.570",
        "heading_witness": "Latihan 5.15 (Arah Objektif Tak Berbatas) ⋆⋆⋆Perhatikan masalah berikut:\nminimumkan\n−2x1\n+\nx2\ndengan syarat\nx\n+\nx\n≤\n3\n",
        "heading_witness_sha256": "503c9c93d0bc41c9fd4dbec2fc4b05b5d7e35bca11fddeb484be2664c0ea4ad0",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "5.15",
        "page": 155
      },
      "source_span": {
        "content_bytes": 937,
        "content_sha256": "8bec2d481053188089a995033219556d5677e4923d5ce6964acecabacf6a0fe0",
        "environment": "ex",
        "id": "unit.r017.book1.ch05.text.ex-015",
        "label": null,
        "line_range": [
          936,
          961
        ],
        "native_record_sha256": "167784fd720bfe57b2623dbf8a266e066518d6370eb839bbed3b282b6bec826f",
        "normalized_character_range": [
          47088,
          48025
        ],
        "normalized_utf8_byte_range": [
          47088,
          48025
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
        "source_file": {
          "archive": "source",
          "bytes": 65226,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
          "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-015",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch05.solutions-manual.manualsolution-015.unit.r017.book1.ch05.text.ex-015",
          "page": 496,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch05.ex15",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch05-ex15-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch05-graphical-lp",
            "title_target": "Arah Fungsi Tujuan Tak Berbatas"
          }
        },
        {
          "id": "unit.o018.lab.ch05.ex15",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch05-ex15-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch05-graphical-lp",
            "title_target": "Arah Fungsi Tujuan Tak Berbatas"
          }
        }
      ],
      "title_id": "Arah Objektif Tak Berbatas"
    },
    {
      "chapter": 5,
      "id": "unit.r017.book1.ch05.text.ex-016",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch05.text.ex-016",
      "number": "5.16",
      "reader": {
        "destination": "bookex*.573",
        "heading_witness": "Latihan 5.16 (Optimisasi Terbatas dan Tak Berbatas) ⋆⋆⋆Perhatikan masalah berikut:\nmaksimumkan/minimumkan\n2x\n+\n2y\nd\n+\n2\n≤\n12\n",
        "heading_witness_sha256": "98fdff7063bb42cf83d8755145fdee41e03a6346516dc5e92a64f2f41c298b7d",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "5.16",
        "page": 155
      },
      "source_span": {
        "content_bytes": 1200,
        "content_sha256": "217cdd5d8bf3eea8810f0f0627afd29f691a6b6927e1cd75bc93823a0e17b83e",
        "environment": "ex",
        "id": "unit.r017.book1.ch05.text.ex-016",
        "label": null,
        "line_range": [
          963,
          995
        ],
        "native_record_sha256": "60e03e91351c401234efb73cdb7b47f9ec2cca2ecf5fa27a4a54cbc0a0b5fc83",
        "normalized_character_range": [
          48027,
          49227
        ],
        "normalized_utf8_byte_range": [
          48027,
          49227
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
        "source_file": {
          "archive": "source",
          "bytes": 65226,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
          "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-016",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch05.solutions-manual.manualsolution-016.unit.r017.book1.ch05.text.ex-016",
          "page": 496,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch05.ex16",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch05-ex16-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch05-graphical-lp",
            "title_target": "Optimisasi Terbatas dan Tak Berbatas"
          }
        },
        {
          "id": "unit.o018.lab.ch05.ex16",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch05-ex16-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch05-graphical-lp",
            "title_target": "Optimisasi Terbatas dan Tak Berbatas"
          }
        }
      ],
      "title_id": "Optimisasi Terbatas dan Tak Berbatas"
    },
    {
      "chapter": 5,
      "id": "unit.r017.book1.ch05.text.ex-017",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch05.text.ex-017",
      "number": "5.17",
      "reader": {
        "destination": "bookex*.577",
        "heading_witness": "Latihan 5.17 (Dari Sisi Optimal ke Optimum Tunggal) ⋆⋆⋆Buatlah agar beberapa solusi optimal\nmemiliki nilai yang sama, lalu hilangkan kesamaan tersebut.\n",
        "heading_witness_sha256": "b63f06d227893ce97c26e9726a1b6a52245084cf266184783280947d79533e52",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "5.17",
        "page": 155
      },
      "source_span": {
        "content_bytes": 941,
        "content_sha256": "4bf710a166dd187a0715be49d197075c0ce3a852889648e3cca7d0879dceaaf2",
        "environment": "ex",
        "id": "unit.r017.book1.ch05.text.ex-017",
        "label": "ex:edge-of-optima",
        "line_range": [
          997,
          1004
        ],
        "native_record_sha256": "72eaeb1a33172c2b2eee6fb2195915c5121b4f9978e38f31b1b63518f529957c",
        "normalized_character_range": [
          49229,
          50170
        ],
        "normalized_utf8_byte_range": [
          49229,
          50170
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
        "source_file": {
          "archive": "source",
          "bytes": 65226,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
          "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch05.solutions-manual.manualsolution-017",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch05.solutions-manual.manualsolution-017.unit.r017.book1.ch05.text.ex-017",
          "page": 497,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch05.ex17",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch05-ex17-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch05-graphical-lp",
            "title_target": "Dari Rusuk Optimal ke Optimum Tunggal"
          }
        },
        {
          "id": "unit.o018.lab.ch05.ex17",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch05-ex17-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch05-graphical-lp",
            "title_target": "Dari Rusuk Optimal ke Optimum Tunggal"
          }
        }
      ],
      "title_id": "Dari Sisi Optimal ke Optimum Tunggal"
    },
    {
      "chapter": 6,
      "id": "unit.r017.book1.ch06.text.ex-001",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch06.text.ex-001",
      "number": "6.1",
      "reader": {
        "destination": "bookex*.621",
        "heading_witness": "Latihan 6.1 (Operasi Vektor) ⋆Misalkan v = [3,−2,4] dan u = [−1,0,2]. Hitung:\n1. v+ u\n2. 2v\n",
        "heading_witness_sha256": "04385ac8699cc508fee4b41fd8be1cd7440b8c0436fdcb66b63aa210ec656559",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "6.1",
        "page": 172
      },
      "source_span": {
        "content_bytes": 343,
        "content_sha256": "4ea08ed27f9a0c54e62125ec8d58d577c23b6302658dc5f71a67a4882befd050",
        "environment": "ex",
        "id": "unit.r017.book1.ch06.text.ex-001",
        "label": "ex:vector-operations",
        "line_range": [
          719,
          728
        ],
        "native_record_sha256": "aeb70b2b4f06e4f841e1bdb2455c8042f4ea2820073029b86e076c0dcc89966a",
        "normalized_character_range": [
          41236,
          41579
        ],
        "normalized_utf8_byte_range": [
          41236,
          41579
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
        "source_file": {
          "archive": "source",
          "bytes": 52190,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
          "sha256": "4e08b0c7d3b5e89a868800569eeb57b9128d6b1b009301ce0cd2fcae9c2e75ca"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch06.solutions-manual.manualsolution-001",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch06.solutions-manual.manualsolution-001.unit.r017.book1.ch06.text.ex-001",
          "page": 498,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch06.ex01",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch06-ex01-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch06-formal-mathematics",
            "title_target": "Operasi Vektor"
          }
        },
        {
          "id": "unit.o018.lab.ch06.ex01",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch06-ex01-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch06-formal-mathematics",
            "title_target": "Operasi Vektor"
          }
        }
      ],
      "title_id": "Operasi Vektor"
    },
    {
      "chapter": 6,
      "id": "unit.r017.book1.ch06.text.ex-002",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch06.text.ex-002",
      "number": "6.2",
      "reader": {
        "destination": "bookex*.625",
        "heading_witness": "Latihan 6.2 (Kombinasi Linier dan Konveks) ⋆Misalkan v1 = [1,0], v2 = [0,1], dan v3 = [1,1].\n1. Manakah di antara vektor berikut yang merupakan kombinasi linier dari v1 dan v2?\n(a) [2,3]\n",
        "heading_witness_sha256": "fe5f4d6e3fa992369b251d4b6c101c204c2cfe37b720c5986e11b1325f57ac65",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "6.2",
        "page": 173
      },
      "source_span": {
        "content_bytes": 621,
        "content_sha256": "e70a26450ae56c55abd70bbb2631c6c4c994b7c6d38d7549c32fb0b4308d383e",
        "environment": "ex",
        "id": "unit.r017.book1.ch06.text.ex-002",
        "label": null,
        "line_range": [
          730,
          743
        ],
        "native_record_sha256": "37ec0f2dc0f457ebfef3e9e28e672f10a52292c182fc029894ed01814a4ce0fd",
        "normalized_character_range": [
          41581,
          42202
        ],
        "normalized_utf8_byte_range": [
          41581,
          42202
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
        "source_file": {
          "archive": "source",
          "bytes": 52190,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
          "sha256": "4e08b0c7d3b5e89a868800569eeb57b9128d6b1b009301ce0cd2fcae9c2e75ca"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch06.solutions-manual.manualsolution-002",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch06.solutions-manual.manualsolution-002.unit.r017.book1.ch06.text.ex-002",
          "page": 498,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch06.ex02",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch06-ex02-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch06-formal-mathematics",
            "title_target": "Kombinasi Linier dan Konveks"
          }
        },
        {
          "id": "unit.o018.lab.ch06.ex02",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch06-ex02-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch06-formal-mathematics",
            "title_target": "Kombinasi Linier dan Konveks"
          }
        }
      ],
      "title_id": "Kombinasi Linier dan Konveks"
    },
    {
      "chapter": 6,
      "id": "unit.r017.book1.ch06.text.ex-003",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch06.text.ex-003",
      "number": "6.3",
      "reader": {
        "destination": "bookex*.628",
        "heading_witness": "Latihan 6.3 (Kebebasan Linier dan Rank Matriks) ⋆Perhatikan matriks A =\n\u00141\n2\n2\n4\n\u0015\n.\n1. Apakah baris-baris A bebas linier?\n2 Apakah kolom-kolomnya bebas linier?\n",
        "heading_witness_sha256": "fbe56b10a0b96606a6723ccbe013adbb2eea89667ffaed26f19269ec19a69e16",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "6.3",
        "page": 173
      },
      "source_span": {
        "content_bytes": 361,
        "content_sha256": "1fbdc579386b1fa5df55f52de90542f81e20135f10f9a2f0ede8486b3f8c6e92",
        "environment": "ex",
        "id": "unit.r017.book1.ch06.text.ex-003",
        "label": null,
        "line_range": [
          745,
          753
        ],
        "native_record_sha256": "1029c0c94752db3a0433ee62189d650096ce14bb1d62b9b712a684bd4b7f3360",
        "normalized_character_range": [
          42204,
          42565
        ],
        "normalized_utf8_byte_range": [
          42204,
          42565
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
        "source_file": {
          "archive": "source",
          "bytes": 52190,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
          "sha256": "4e08b0c7d3b5e89a868800569eeb57b9128d6b1b009301ce0cd2fcae9c2e75ca"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch06.solutions-manual.manualsolution-003",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch06.solutions-manual.manualsolution-003.unit.r017.book1.ch06.text.ex-003",
          "page": 499,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch06.ex03",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch06-ex03-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch06-formal-mathematics",
            "title_target": "Kebebasan Linier dan Rank Matriks"
          }
        },
        {
          "id": "unit.o018.lab.ch06.ex03",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch06-ex03-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch06-formal-mathematics",
            "title_target": "Kebebasan Linier dan Rank Matriks"
          }
        }
      ],
      "title_id": "Kebebasan Linier dan Rank Matriks"
    },
    {
      "chapter": 6,
      "id": "unit.r017.book1.ch06.text.ex-004",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch06.text.ex-004",
      "number": "6.4",
      "reader": {
        "destination": "bookex*.632",
        "heading_witness": "Latihan 6.4 (Konveks atau Tidak?)\n⋆Untuk setiap subhimpunan R2 berikut, tentukan apakah himpun-\nan tersebut konveks, seperti pada Gambar 6.2a dan 6.2b. Jika himpunan tersebut tidak konveks, berikan\ndua titik dalam himpunan yang ruas penghubungnya keluar dari himpunan.\n",
        "heading_witness_sha256": "93c659f48e8cd1953e3e162e27dfcb55773cdae626a41ec1121f052e1e700db3",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "6.4",
        "page": 173
      },
      "source_span": {
        "content_bytes": 718,
        "content_sha256": "a8f2cf2fc9c1e0369d4ca48d0da1fd47e0d0842917d46db53d8ae6f2767c4438",
        "environment": "ex",
        "id": "unit.r017.book1.ch06.text.ex-004",
        "label": "ex:convex-or-not",
        "line_range": [
          755,
          765
        ],
        "native_record_sha256": "7792fb7890f0ddbae6ea16c681940cb0710d2ae2b59495d03bcdb8ee7f7e583f",
        "normalized_character_range": [
          42567,
          43285
        ],
        "normalized_utf8_byte_range": [
          42567,
          43285
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
        "source_file": {
          "archive": "source",
          "bytes": 52190,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
          "sha256": "4e08b0c7d3b5e89a868800569eeb57b9128d6b1b009301ce0cd2fcae9c2e75ca"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch06.solutions-manual.manualsolution-004",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch06.solutions-manual.manualsolution-004.unit.r017.book1.ch06.text.ex-004",
          "page": 499,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch06.ex04",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch06-ex04-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch06-formal-mathematics",
            "title_target": "Konveks atau Tidak?"
          }
        },
        {
          "id": "unit.o018.lab.ch06.ex04",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch06-ex04-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch06-formal-mathematics",
            "title_target": "Konveks atau Tidak?"
          }
        }
      ],
      "title_id": "Konveks atau Tidak?"
    },
    {
      "chapter": 6,
      "id": "unit.r017.book1.ch06.text.ex-005",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch06.text.ex-005",
      "number": "6.5",
      "reader": {
        "destination": "bookex*.637",
        "heading_witness": "Latihan 6.5 (Menulis Program Linier dalam Notasi Matriks) ⋆Perhatikan program linier\nmax\n3x1 + 2x2\n",
        "heading_witness_sha256": "a6c332931f8aa0bc39fd33ed31c1f6a717d09b8211471f5ea69ccbaaa8322491",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "6.5",
        "page": 173
      },
      "source_span": {
        "content_bytes": 808,
        "content_sha256": "7abf500d748297cf6e20c6d5aa6d84d1263045c7f58ef1454e861e6a1c2e7aa6",
        "environment": "ex",
        "id": "unit.r017.book1.ch06.text.ex-005",
        "label": "ex:lp-matrix-notation",
        "line_range": [
          767,
          778
        ],
        "native_record_sha256": "d98ee460b6c004407b546accd258518202bf9cc4bbd5b8d875319614463c6df9",
        "normalized_character_range": [
          43287,
          44095
        ],
        "normalized_utf8_byte_range": [
          43287,
          44095
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
        "source_file": {
          "archive": "source",
          "bytes": 52190,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
          "sha256": "4e08b0c7d3b5e89a868800569eeb57b9128d6b1b009301ce0cd2fcae9c2e75ca"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch06.solutions-manual.manualsolution-005",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch06.solutions-manual.manualsolution-005.unit.r017.book1.ch06.text.ex-005",
          "page": 499,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch06.ex05",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch06-ex05-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch06-formal-mathematics",
            "title_target": "Menulis Program Linier dalam Notasi Matriks"
          }
        },
        {
          "id": "unit.o018.lab.ch06.ex05",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch06-ex05-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch06-formal-mathematics",
            "title_target": "Menulis Program Linier dalam Notasi Matriks"
          }
        }
      ],
      "title_id": "Menulis Program Linier dalam Notasi Matriks"
    },
    {
      "chapter": 6,
      "id": "unit.r017.book1.ch06.text.ex-006",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch06.text.ex-006",
      "number": "6.6",
      "reader": {
        "destination": "bookex*.638",
        "heading_witness": "Latihan 6.6 (Kombinasi Konveks dan Geometri) ⋆⋆Misalkan P adalah segitiga dengan titik-titik sudut\n(0,0), (2,0), dan (0,2).\n1. Gambarkan himpunan P.\n",
        "heading_witness_sha256": "2f221f290135961413a91e0bd14333c17892b9f3a51e4cdea52ac357d96d7a73",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "6.6",
        "page": 173
      },
      "source_span": {
        "content_bytes": 469,
        "content_sha256": "2ae59258986b9fcd9aec143fac81107fc31fb4a402eb7fcf785cd76be25b5e7e",
        "environment": "ex",
        "id": "unit.r017.book1.ch06.text.ex-006",
        "label": "ex:convex-combo-triangle",
        "line_range": [
          782,
          791
        ],
        "native_record_sha256": "1ad2aa2bb740a7b1346ac8ba1143373bfab360c0256e565dff77324f77bcef54",
        "normalized_character_range": [
          44121,
          44590
        ],
        "normalized_utf8_byte_range": [
          44121,
          44590
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
        "source_file": {
          "archive": "source",
          "bytes": 52190,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
          "sha256": "4e08b0c7d3b5e89a868800569eeb57b9128d6b1b009301ce0cd2fcae9c2e75ca"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch06.solutions-manual.manualsolution-006",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch06.solutions-manual.manualsolution-006.unit.r017.book1.ch06.text.ex-006",
          "page": 500,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch06.ex06",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch06-ex06-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch06-formal-mathematics",
            "title_target": "Kombinasi Konveks dan Geometri"
          }
        },
        {
          "id": "unit.o018.lab.ch06.ex06",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch06-ex06-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch06-formal-mathematics",
            "title_target": "Kombinasi Konveks dan Geometri"
          }
        }
      ],
      "title_id": "Kombinasi Konveks dan Geometri"
    },
    {
      "chapter": 6,
      "id": "unit.r017.book1.ch06.text.ex-007",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch06.text.ex-007",
      "number": "6.7",
      "reader": {
        "destination": "bookex*.642",
        "heading_witness": "Latihan 6.7 (Geometri dan Konveksitas Setengah Ruang) ⋆⋆Perhatikan setengah ruang H = {x ∈\nR2 : x1 + 2x2 ≤4}.\n1. Gambarkan setengah ruang dan batasnya.\n",
        "heading_witness_sha256": "2218c8a2739dba3f861c289e00c318e508a987d7368b424ce7f16adbd94d9c8b",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "6.7",
        "page": 174
      },
      "source_span": {
        "content_bytes": 546,
        "content_sha256": "43bf74d038b574f547b9b88a1556f2f33c603f881f604b72d47b0c390160e094",
        "environment": "ex",
        "id": "unit.r017.book1.ch06.text.ex-007",
        "label": null,
        "line_range": [
          793,
          801
        ],
        "native_record_sha256": "033fa394aec04b5aa62613366ff1a7217487dddb3defd02d28addf3507516073",
        "normalized_character_range": [
          44592,
          45138
        ],
        "normalized_utf8_byte_range": [
          44592,
          45138
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
        "source_file": {
          "archive": "source",
          "bytes": 52190,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
          "sha256": "4e08b0c7d3b5e89a868800569eeb57b9128d6b1b009301ce0cd2fcae9c2e75ca"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch06.solutions-manual.manualsolution-007",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch06.solutions-manual.manualsolution-007.unit.r017.book1.ch06.text.ex-007",
          "page": 500,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch06.ex07",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch06-ex07-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch06-formal-mathematics",
            "title_target": "Geometri dan Konveksitas Setengah Ruang"
          }
        },
        {
          "id": "unit.o018.lab.ch06.ex07",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch06-ex07-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch06-formal-mathematics",
            "title_target": "Geometri dan Konveksitas Setengah Ruang"
          }
        }
      ],
      "title_id": "Geometri dan Konveksitas Setengah Ruang"
    },
    {
      "chapter": 6,
      "id": "unit.r017.book1.ch06.text.ex-008",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch06.text.ex-008",
      "number": "6.8",
      "reader": {
        "destination": "bookex*.646",
        "heading_witness": "Latihan 6.8 (Memeriksa Titik Ekstrem) ⋆⋆Misalkan\nP = {x ∈R2 : x1 −4x2 ≤0, −x1 + x2 ≤1, −x1 + 2x2 ≤4, x1 ≥0, x2 ≥0}\n",
        "heading_witness_sha256": "1b7edaa34d4860672106e87a0dc21c2ec8d50e0243e315cae767222f259440e6",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "6.8",
        "page": 174
      },
      "source_span": {
        "content_bytes": 890,
        "content_sha256": "a2860849c3e6ce731c0a325d0e81decaa6b13caac4a502b94b33375b55103b74",
        "environment": "ex",
        "id": "unit.r017.book1.ch06.text.ex-008",
        "label": "ex:extreme-point-check",
        "line_range": [
          803,
          815
        ],
        "native_record_sha256": "8f008721da9d4420062e703e1cb60657d00364b6ea2188ed29393c64eaf0a2d3",
        "normalized_character_range": [
          45140,
          46030
        ],
        "normalized_utf8_byte_range": [
          45140,
          46030
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
        "source_file": {
          "archive": "source",
          "bytes": 52190,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
          "sha256": "4e08b0c7d3b5e89a868800569eeb57b9128d6b1b009301ce0cd2fcae9c2e75ca"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch06.solutions-manual.manualsolution-008",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch06.solutions-manual.manualsolution-008.unit.r017.book1.ch06.text.ex-008",
          "page": 500,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch06.ex08",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch06-ex08-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch06-formal-mathematics",
            "title_target": "Memeriksa Titik Ekstrem"
          }
        },
        {
          "id": "unit.o018.lab.ch06.ex08",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch06-ex08-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch06-formal-mathematics",
            "title_target": "Memeriksa Titik Ekstrem"
          }
        }
      ],
      "title_id": "Memeriksa Titik Ekstrem"
    },
    {
      "chapter": 6,
      "id": "unit.r017.book1.ch06.text.ex-009",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch06.text.ex-009",
      "number": "6.9",
      "reader": {
        "destination": "bookex*.649",
        "heading_witness": "Latihan 6.9 (Kombinasi Konveks Titik-Titik Ekstrem)\n⋆⋆Polihedron P dari Latihan 6.8 memiliki\ntitik-titik ekstrem (0,0), (0,1), dan (2,3). Dengan mengikuti ilustrasi Teorema Representasi, temukan\npengali λ1,λ2,λ3 ≥0 dengan λ1 + λ2 + λ3 = 1 sedemikian sehingga\n",
        "heading_witness_sha256": "5dd38e18c110dbf2c6604ad8b564049f1498f12dd3d09d3b321208956ffb9093",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "6.9",
        "page": 174
      },
      "source_span": {
        "content_bytes": 736,
        "content_sha256": "7b05f3b982e40ca174c34f17cc8600c16c9747ef535aee01a9dfd03f207cd25a",
        "environment": "ex",
        "id": "unit.r017.book1.ch06.text.ex-009",
        "label": "ex:rep-theorem-combo",
        "line_range": [
          817,
          825
        ],
        "native_record_sha256": "6d30ed7fda19b7c85b90ac9620e6ef5125834b6f0c6765015bb08301fd7ef2c1",
        "normalized_character_range": [
          46032,
          46768
        ],
        "normalized_utf8_byte_range": [
          46032,
          46768
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
        "source_file": {
          "archive": "source",
          "bytes": 52190,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
          "sha256": "4e08b0c7d3b5e89a868800569eeb57b9128d6b1b009301ce0cd2fcae9c2e75ca"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch06.solutions-manual.manualsolution-009",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch06.solutions-manual.manualsolution-009.unit.r017.book1.ch06.text.ex-009",
          "page": 501,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch06.ex09",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch06-ex09-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch06-formal-mathematics",
            "title_target": "Kombinasi Konveks Titik-Titik Ekstrem"
          }
        },
        {
          "id": "unit.o018.lab.ch06.ex09",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch06-ex09-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch06-formal-mathematics",
            "title_target": "Kombinasi Konveks Titik-Titik Ekstrem"
          }
        }
      ],
      "title_id": "Kombinasi Konveks Titik-Titik Ekstrem"
    },
    {
      "chapter": 6,
      "id": "unit.r017.book1.ch06.text.ex-010",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch06.text.ex-010",
      "number": "6.10",
      "reader": {
        "destination": "bookex*.650",
        "heading_witness": "Latihan 6.10 (Apakah Gabungan Himpunan Konveks Bersifat Konveks?)\n⋆⋆Bab ini menunjukkan\nbahwa irisan dua himpunan konveks selalu bersifat konveks.\n1. Berikan contoh dua himpunan konveks C1,C2 ⊆R2 yang gabungannya C1 ∪C2 tidak konveks, lalui\n",
        "heading_witness_sha256": "0f797b45694fc58aebc2eac2480eccb6320169705583c068a137cd1748d62873",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "6.10",
        "page": 174
      },
      "source_span": {
        "content_bytes": 628,
        "content_sha256": "2960d93e28489898e5fb567d765352cd0d4dd9993182de6bd9fc50c541c1b7c5",
        "environment": "ex",
        "id": "unit.r017.book1.ch06.text.ex-010",
        "label": "ex:union-convex",
        "line_range": [
          829,
          837
        ],
        "native_record_sha256": "c92a88e57494a4495898db755a8f285cc20aef2a8a84c18c941f5c275075db48",
        "normalized_character_range": [
          46804,
          47432
        ],
        "normalized_utf8_byte_range": [
          46804,
          47432
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
        "source_file": {
          "archive": "source",
          "bytes": 52190,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
          "sha256": "4e08b0c7d3b5e89a868800569eeb57b9128d6b1b009301ce0cd2fcae9c2e75ca"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch06.solutions-manual.manualsolution-010",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch06.solutions-manual.manualsolution-010.unit.r017.book1.ch06.text.ex-010",
          "page": 501,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch06.ex10",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch06-ex10-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch06-formal-mathematics",
            "title_target": "Apakah Gabungan Himpunan Konveks Bersifat Konveks?"
          }
        },
        {
          "id": "unit.o018.lab.ch06.ex10",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch06-ex10-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch06-formal-mathematics",
            "title_target": "Apakah Gabungan Himpunan Konveks Bersifat Konveks?"
          }
        }
      ],
      "title_id": "Apakah Gabungan Himpunan Konveks Bersifat Konveks?"
    },
    {
      "chapter": 6,
      "id": "unit.r017.book1.ch06.text.ex-011",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch06.text.ex-011",
      "number": "6.11",
      "reader": {
        "destination": "bookex*.653",
        "heading_witness": "Latihan 6.11 (Letak Penggunaan Keterbatasan dalam Teorema Titik Sudut)\n⋆⋆Bukti dalam §6.2\nbahwa suatu solusi optimal terletak pada titik sudut mengasumsikan daerah layak P terbatas.\n1. Tunjukkan langkah persis dalam bukti yang menggunakan keterbatasan dan jelaskan apa yang dapat\n",
        "heading_witness_sha256": "ae293b7db5c6165f38d9fc6bed9408742c303229ab23fd8cd6e36a6e24c574f7",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "6.11",
        "page": 174
      },
      "source_span": {
        "content_bytes": 860,
        "content_sha256": "2ea95c401f387eaa2d694494c07bac6ef2ea3c3159fa49a45e349a40abbc4ebd",
        "environment": "ex",
        "id": "unit.r017.book1.ch06.text.ex-011",
        "label": "ex:boundedness-vertex",
        "line_range": [
          839,
          847
        ],
        "native_record_sha256": "1cced41d71043b411a65655045914dfb0f5ae7a97740bbe6b85638fc2de34088",
        "normalized_character_range": [
          47434,
          48294
        ],
        "normalized_utf8_byte_range": [
          47434,
          48294
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
        "source_file": {
          "archive": "source",
          "bytes": 52190,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
          "sha256": "4e08b0c7d3b5e89a868800569eeb57b9128d6b1b009301ce0cd2fcae9c2e75ca"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch06.solutions-manual.manualsolution-011",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch06.solutions-manual.manualsolution-011.unit.r017.book1.ch06.text.ex-011",
          "page": 501,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch06.ex11",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch06-ex11-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch06-formal-mathematics",
            "title_target": "Letak Penggunaan Keterbatasan dalam Teorema Titik Sudut"
          }
        },
        {
          "id": "unit.o018.lab.ch06.ex11",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch06-ex11-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch06-formal-mathematics",
            "title_target": "Letak Penggunaan Keterbatasan dalam Teorema Titik Sudut"
          }
        }
      ],
      "title_id": "Letak Penggunaan Keterbatasan dalam Teorema Titik Sudut"
    },
    {
      "chapter": 6,
      "id": "unit.r017.book1.ch06.text.ex-012",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch06.text.ex-012",
      "number": "6.12",
      "reader": {
        "destination": "bookex*.656",
        "heading_witness": "Latihan 6.12 (Irisan Keluarga Himpunan Konveks Sembarang) ⋆⋆⋆Misalkan {Ci}i∈I adalah sem-\nbarang keluarga himpunan konveks dalam Rn, dengan himpunan indeks I yang mungkin tak berhingga.\nBuktikan bahwa irisan\n",
        "heading_witness_sha256": "42651616350f0a0cabcada1527927a69731f63450e28223706fe070b8ecfdb6f",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "6.12",
        "page": 175
      },
      "source_span": {
        "content_bytes": 627,
        "content_sha256": "abb74df0bd8c3bd74647f6645eeac60437966c4fee3c48965f1b2307a261856a",
        "environment": "ex",
        "id": "unit.r017.book1.ch06.text.ex-012",
        "label": "ex:intersection-family",
        "line_range": [
          851,
          859
        ],
        "native_record_sha256": "c7fcaab3b06820489091b8817a35bd1d15f142aa78859df6e3b6467eb2b6a53b",
        "normalized_character_range": [
          48325,
          48952
        ],
        "normalized_utf8_byte_range": [
          48325,
          48952
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
        "source_file": {
          "archive": "source",
          "bytes": 52190,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
          "sha256": "4e08b0c7d3b5e89a868800569eeb57b9128d6b1b009301ce0cd2fcae9c2e75ca"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch06.solutions-manual.manualsolution-012",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch06.solutions-manual.manualsolution-012.unit.r017.book1.ch06.text.ex-012",
          "page": 502,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch06.ex12",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch06-ex12-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch06-formal-mathematics",
            "title_target": "Irisan Keluarga Himpunan Konveks Sembarang"
          }
        },
        {
          "id": "unit.o018.lab.ch06.ex12",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-ch06-ex12-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch06-formal-mathematics",
            "title_target": "Irisan Keluarga Himpunan Konveks Sembarang"
          }
        }
      ],
      "title_id": "Irisan Keluarga Himpunan Konveks Sembarang"
    },
    {
      "chapter": 7,
      "id": "unit.r017.book1.ch07.text.ex-001",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch07.text.ex-001",
      "number": "7.1",
      "reader": {
        "destination": "bookex*.749",
        "heading_witness": "Latihan 7.1 (Bentuk standar dan kamus pertama) ⋆Perhatikan program linier\nmax\n4x+ 5y\n",
        "heading_witness_sha256": "d58e2dc387ad0a32f4d63d63ff73d4f557b1ba35d887d7c6816882ec107fa5e6",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "7.1",
        "page": 220
      },
      "source_span": {
        "content_bytes": 758,
        "content_sha256": "e9ca9d970d22b1345f689beba506f32e2851259a2b3aaeb923060caaf37596fb",
        "environment": "ex",
        "id": "unit.r017.book1.ch07.text.ex-001",
        "label": "ex:standard-form-warmup-dictionary",
        "line_range": [
          2623,
          2642
        ],
        "native_record_sha256": "f30fed53b43e2f6515c08973374cab93f8c070c7dd79cfd59e29ab2d07350837",
        "normalized_character_range": [
          115408,
          116166
        ],
        "normalized_utf8_byte_range": [
          115410,
          116168
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
        "source_file": {
          "archive": "source",
          "bytes": 136863,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
          "sha256": "42c1640cd736a36e55d812fa58c696edbaa56958b02a2cd17c2cc301d0b30179"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-001",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch07.solutions-manual.manualsolution-001.unit.r017.book1.ch07.text.ex-001",
          "page": 503,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.simplex.ex07-01",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex07-01-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Bentuk standar dan kamus pertama"
          }
        },
        {
          "id": "unit.o018.lab.simplex.ex07-01",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex07-01-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Bentuk standar dan kamus pertama"
          }
        }
      ],
      "title_id": "Bentuk standar dan kamus pertama"
    },
    {
      "chapter": 7,
      "id": "unit.r017.book1.ch07.text.ex-002",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch07.text.ex-002",
      "number": "7.2",
      "reader": {
        "destination": "bookex*.754",
        "heading_witness": "Latihan 7.2 (Mengonversi ke Bentuk Standar) ⋆Konversikan program linier berikut ke bentuk stan-\ndar:\n",
        "heading_witness_sha256": "3fe9c826fc38bdacb01515533495a27c3298cc802f8786e54ef2663a24048041",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "7.2",
        "page": 220
      },
      "source_span": {
        "content_bytes": 385,
        "content_sha256": "8c3ce36d321da5198f6a65ae5aa0f29f9506cf8a48a72927c22353d34cc569fc",
        "environment": "ex",
        "id": "unit.r017.book1.ch07.text.ex-002",
        "label": "ex:standard-form-1",
        "line_range": [
          2644,
          2658
        ],
        "native_record_sha256": "0a33f168bd4cf1804082665457916401a4cb761ad8fbc50cd08c66fbc860692e",
        "normalized_character_range": [
          116168,
          116553
        ],
        "normalized_utf8_byte_range": [
          116170,
          116555
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
        "source_file": {
          "archive": "source",
          "bytes": 136863,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
          "sha256": "42c1640cd736a36e55d812fa58c696edbaa56958b02a2cd17c2cc301d0b30179"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-002",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch07.solutions-manual.manualsolution-002.unit.r017.book1.ch07.text.ex-002",
          "page": 503,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.simplex.ex07-02",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex07-02-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Mengonversi ke bentuk standar"
          }
        },
        {
          "id": "unit.o018.lab.simplex.ex07-02",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex07-02-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Mengonversi ke bentuk standar"
          }
        }
      ],
      "title_id": "Mengonversi ke Bentuk Standar"
    },
    {
      "chapter": 7,
      "id": "unit.r017.book1.ch07.text.ex-003",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch07.text.ex-003",
      "number": "7.3",
      "reader": {
        "destination": "bookex*.755",
        "heading_witness": "Latihan 7.3 (Mengonversi ke Bentuk Standar) ⋆Konversikan program linier berikut ke bentuk stan-\ndar:\ni\n+ 2\n+\n",
        "heading_witness_sha256": "f791c5372fa959cb93aabc2dd72dc55501f053d206bfe5a268850ce08b21d02f",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "7.3",
        "page": 221
      },
      "source_span": {
        "content_bytes": 425,
        "content_sha256": "1f96b8ad6f763da9f6011e750d1539076176a73ac339525912ef7076c892f325",
        "environment": "ex",
        "id": "unit.r017.book1.ch07.text.ex-003",
        "label": "ex:standard-form-2",
        "line_range": [
          2660,
          2674
        ],
        "native_record_sha256": "3a757c86e419f96b1a5cfc620bb486ad77d01abe27dd295e30f6d8511904a377",
        "normalized_character_range": [
          116555,
          116980
        ],
        "normalized_utf8_byte_range": [
          116557,
          116982
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
        "source_file": {
          "archive": "source",
          "bytes": 136863,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
          "sha256": "42c1640cd736a36e55d812fa58c696edbaa56958b02a2cd17c2cc301d0b30179"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-003",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch07.solutions-manual.manualsolution-003.unit.r017.book1.ch07.text.ex-003",
          "page": 503,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.simplex.ex07-03",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex07-03-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Mengonversi ke bentuk standar"
          }
        },
        {
          "id": "unit.o018.lab.simplex.ex07-03",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex07-03-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Mengonversi ke bentuk standar"
          }
        }
      ],
      "title_id": "Mengonversi ke Bentuk Standar"
    },
    {
      "chapter": 7,
      "id": "unit.r017.book1.ch07.text.ex-004",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch07.text.ex-004",
      "number": "7.4",
      "reader": {
        "destination": "bookex*.756",
        "heading_witness": "Latihan 7.4 (Mengonversi ke Bentuk Standar) ⋆Konversikan program linier berikut ke bentuk stan-\ndar:\n5\n+\n3\n",
        "heading_witness_sha256": "3b9a21282010077efccc86bdca5f49d6d92a4d3843bdc05f68857bc28cd56b57",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "7.4",
        "page": 221
      },
      "source_span": {
        "content_bytes": 424,
        "content_sha256": "efff5c03fd0414151c24af306a6b41ca09c76a05ece440a6c4899c1ef57cb5e8",
        "environment": "ex",
        "id": "unit.r017.book1.ch07.text.ex-004",
        "label": "ex:standard-form-3",
        "line_range": [
          2676,
          2690
        ],
        "native_record_sha256": "73cfebcc39a825afe7588ccf785ed3692479434113773c64dafe87f45832d81f",
        "normalized_character_range": [
          116982,
          117406
        ],
        "normalized_utf8_byte_range": [
          116984,
          117408
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
        "source_file": {
          "archive": "source",
          "bytes": 136863,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
          "sha256": "42c1640cd736a36e55d812fa58c696edbaa56958b02a2cd17c2cc301d0b30179"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-004",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch07.solutions-manual.manualsolution-004.unit.r017.book1.ch07.text.ex-004",
          "page": 504,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.simplex.ex07-04",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex07-04-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Mengonversi ke bentuk standar"
          }
        },
        {
          "id": "unit.o018.lab.simplex.ex07-04",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex07-04-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Mengonversi ke bentuk standar"
          }
        }
      ],
      "title_id": "Mengonversi ke Bentuk Standar"
    },
    {
      "chapter": 7,
      "id": "unit.r017.book1.ch07.text.ex-005",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch07.text.ex-005",
      "number": "7.5",
      "reader": {
        "destination": "bookex*.757",
        "heading_witness": "Latihan 7.5 (Mengonversi ke Bentuk Standar) ⋆Konversikan program linier berikut ke bentuk stan-\ndar:\ni\n2\n+ 4\n",
        "heading_witness_sha256": "2284a3c69cf696997cf00cc53bcd1c4a030c4e065f0b593689984a500fb33d12",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "7.5",
        "page": 221
      },
      "source_span": {
        "content_bytes": 396,
        "content_sha256": "b191fb6f6f8f2472ac24032943a139734dba4543851b64235f68a5b4e6348e24",
        "environment": "ex",
        "id": "unit.r017.book1.ch07.text.ex-005",
        "label": "ex:84",
        "line_range": [
          2692,
          2706
        ],
        "native_record_sha256": "066f0f131f38646feb45e54b34b3cc7c932a817687ac2633b5d7c520b413e34b",
        "normalized_character_range": [
          117408,
          117804
        ],
        "normalized_utf8_byte_range": [
          117410,
          117806
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
        "source_file": {
          "archive": "source",
          "bytes": 136863,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
          "sha256": "42c1640cd736a36e55d812fa58c696edbaa56958b02a2cd17c2cc301d0b30179"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-005",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch07.solutions-manual.manualsolution-005.unit.r017.book1.ch07.text.ex-005",
          "page": 504,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.simplex.ex07-05",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex07-05-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Mengonversi ke bentuk standar"
          }
        },
        {
          "id": "unit.o018.lab.simplex.ex07-05",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex07-05-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Mengonversi ke bentuk standar"
          }
        }
      ],
      "title_id": "Mengonversi ke Bentuk Standar"
    },
    {
      "chapter": 7,
      "id": "unit.r017.book1.ch07.text.ex-006",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch07.text.ex-006",
      "number": "7.6",
      "reader": {
        "destination": "bookex*.758",
        "heading_witness": "Latihan 7.6 (Mengonversi ke Bentuk Standar) ⋆Konversikan program linier berikut ke bentuk stan-\ndar:\ni\n5\n3\n+\n",
        "heading_witness_sha256": "ca34f2d9300ab1ab350b08fc3b39cbbe4fd18a65ec3e3a0f4c67842456cfac8c",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "7.6",
        "page": 221
      },
      "source_span": {
        "content_bytes": 390,
        "content_sha256": "24fd35590349efc7bae6a18aab22c2f75fe2cf6dacc03e641a27907ebb8a4c0d",
        "environment": "ex",
        "id": "unit.r017.book1.ch07.text.ex-006",
        "label": "ex:85",
        "line_range": [
          2708,
          2722
        ],
        "native_record_sha256": "a05bfc65ac0460a4048846ec62bcdf9bf5e81ff85e022b1005b4a620112c5d15",
        "normalized_character_range": [
          117806,
          118196
        ],
        "normalized_utf8_byte_range": [
          117808,
          118198
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
        "source_file": {
          "archive": "source",
          "bytes": 136863,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
          "sha256": "42c1640cd736a36e55d812fa58c696edbaa56958b02a2cd17c2cc301d0b30179"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-006",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch07.solutions-manual.manualsolution-006.unit.r017.book1.ch07.text.ex-006",
          "page": 504,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.simplex.ex07-06",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex07-06-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Mengonversi ke bentuk standar"
          }
        },
        {
          "id": "unit.o018.lab.simplex.ex07-06",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex07-06-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Mengonversi ke bentuk standar"
          }
        }
      ],
      "title_id": "Mengonversi ke Bentuk Standar"
    },
    {
      "chapter": 7,
      "id": "unit.r017.book1.ch07.text.ex-007",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch07.text.ex-007",
      "number": "7.7",
      "reader": {
        "destination": "bookex*.759",
        "heading_witness": "Latihan 7.7 (Pivot ke arah yang berbeda)\n⋆⋆Kita memperhatikan contoh dari Bagian 7.3. Dalam\ncontoh tersebut, pertama-tama kita melakukan pivot pada variabel y. Pilihan pivot ini disebut aturan\npendakian tercuram karena kita memilih variabel dalam fungsi objektif dengan koefisien terbesar. Namun,i\n",
        "heading_witness_sha256": "1c4cea2aaab3c5a48a4c1255652755b16a777edffcce159ec943c3a8544be12a",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "7.7",
        "page": 222
      },
      "source_span": {
        "content_bytes": 1315,
        "content_sha256": "e25e6b058441a5c003facee2e4d23b9d70b54e46ebbe2140179d7b4fac53e3d8",
        "environment": "ex",
        "id": "unit.r017.book1.ch07.text.ex-007",
        "label": "ex:alternative-pivot",
        "line_range": [
          2726,
          2750
        ],
        "native_record_sha256": "6be8ed471183d78b5c855dda8abb9ef4b5705f0aabc2d736dbf6c1f806434a1b",
        "normalized_character_range": [
          118219,
          119534
        ],
        "normalized_utf8_byte_range": [
          118221,
          119536
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
        "source_file": {
          "archive": "source",
          "bytes": 136863,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
          "sha256": "42c1640cd736a36e55d812fa58c696edbaa56958b02a2cd17c2cc301d0b30179"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-007",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch07.solutions-manual.manualsolution-007.unit.r017.book1.ch07.text.ex-007",
          "page": 504,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.simplex.ex07-07",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex07-07-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Pivot ke arah yang berbeda"
          }
        },
        {
          "id": "unit.o018.lab.simplex.ex07-07",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex07-07-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Pivot ke arah yang berbeda"
          }
        }
      ],
      "title_id": "Pivot ke arah yang berbeda"
    },
    {
      "chapter": 7,
      "id": "unit.r017.book1.ch07.text.ex-008",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch07.text.ex-008",
      "number": "7.8",
      "reader": {
        "destination": "bookex*.765",
        "heading_witness": "Latihan 7.8 (Latihan Metode Simpleks) ⋆⋆Selesaikan masalah program linier berikut menggunakan\nmetode simpleks:\nMaksimalkan:\nz = 5x1 + 3x2\n",
        "heading_witness_sha256": "6fe6c939375c4eb64975d31651edd3728fdad0c92f3a5ccc7327dfcbb7415afb",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "7.8",
        "page": 222
      },
      "source_span": {
        "content_bytes": 409,
        "content_sha256": "4c741fce75bf7a7db627c197e6e58f27b00fbe919ea625db1c32eb56b6e30e27",
        "environment": "ex",
        "id": "unit.r017.book1.ch07.text.ex-008",
        "label": "ex:simplex-practice-5-3",
        "line_range": [
          2752,
          2764
        ],
        "native_record_sha256": "de913b53e46d4ded64ea7bc3597a41e475b84ee03dc6a8396b0b25d17de17e9b",
        "normalized_character_range": [
          119536,
          119945
        ],
        "normalized_utf8_byte_range": [
          119538,
          119947
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
        "source_file": {
          "archive": "source",
          "bytes": 136863,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
          "sha256": "42c1640cd736a36e55d812fa58c696edbaa56958b02a2cd17c2cc301d0b30179"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-008",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch07.solutions-manual.manualsolution-008.unit.r017.book1.ch07.text.ex-008",
          "page": 505,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.simplex.ex07-08",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex07-08-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Latihan metode simpleks"
          }
        },
        {
          "id": "unit.o018.lab.simplex.ex07-08",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex07-08-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Latihan metode simpleks"
          }
        }
      ],
      "title_id": "Latihan Metode Simpleks"
    },
    {
      "chapter": 7,
      "id": "unit.r017.book1.ch07.text.ex-009",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch07.text.ex-009",
      "number": "7.9",
      "reader": {
        "destination": "bookex*.766",
        "heading_witness": "Latihan 7.9 (Latihan Metode Simpleks) ⋆⋆Selesaikan masalah program linier berikut menggunakan\nmetode simpleks:\nMaksimalkan:\nz = 5x1 + 8x2\n",
        "heading_witness_sha256": "3588a79c963e3465baf5d66a44d83defa41ef6b96b3462f1129833f3592fef20",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "7.9",
        "page": 222
      },
      "source_span": {
        "content_bytes": 410,
        "content_sha256": "187f0d92c6b5139d72a454bfe2641502a248c44da98e35cfdbb089a796ab7ebf",
        "environment": "ex",
        "id": "unit.r017.book1.ch07.text.ex-009",
        "label": "ex:simplex-practice-5-8",
        "line_range": [
          2766,
          2778
        ],
        "native_record_sha256": "7ecd9a6bd6a46bf1a556f304aef66f8cb320678ddb9dc76596aabc1b85a55031",
        "normalized_character_range": [
          119947,
          120357
        ],
        "normalized_utf8_byte_range": [
          119949,
          120359
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
        "source_file": {
          "archive": "source",
          "bytes": 136863,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
          "sha256": "42c1640cd736a36e55d812fa58c696edbaa56958b02a2cd17c2cc301d0b30179"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-009",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch07.solutions-manual.manualsolution-009.unit.r017.book1.ch07.text.ex-009",
          "page": 506,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.simplex.ex07-09",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex07-09-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Latihan metode simpleks"
          }
        },
        {
          "id": "unit.o018.lab.simplex.ex07-09",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex07-09-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Latihan metode simpleks"
          }
        }
      ],
      "title_id": "Latihan Metode Simpleks"
    },
    {
      "chapter": 7,
      "id": "unit.r017.book1.ch07.text.ex-010",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch07.text.ex-010",
      "number": "7.10",
      "reader": {
        "destination": "bookex*.767",
        "heading_witness": "Latihan 7.10 (Latihan Metode Simpleks) ⋆⋆Selesaikan masalah program linier berikut menggunakan\nmetode simpleks:\nMaksimalkan:\nz = 2x1 + 3x2 + x3\n",
        "heading_witness_sha256": "511b3f37c6bd0f024edd70bcb35232ca3d0e0ab82888934954a1d363fe4b3aff",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "7.10",
        "page": 222
      },
      "source_span": {
        "content_bytes": 451,
        "content_sha256": "27884359c07ed46e10bcb7f09c7b9d2a51b74c6fbe8be41480428702032d1617",
        "environment": "ex",
        "id": "unit.r017.book1.ch07.text.ex-010",
        "label": "ex:simplex-practice-3var-1",
        "line_range": [
          2780,
          2792
        ],
        "native_record_sha256": "1247542997023d895129a101cb7741f7ff176882d0017af0247745a6a57a8525",
        "normalized_character_range": [
          120359,
          120810
        ],
        "normalized_utf8_byte_range": [
          120361,
          120812
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
        "source_file": {
          "archive": "source",
          "bytes": 136863,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
          "sha256": "42c1640cd736a36e55d812fa58c696edbaa56958b02a2cd17c2cc301d0b30179"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-010",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch07.solutions-manual.manualsolution-010.unit.r017.book1.ch07.text.ex-010",
          "page": 506,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.simplex.ex07-10",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex07-10-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Latihan metode simpleks"
          }
        },
        {
          "id": "unit.o018.lab.simplex.ex07-10",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex07-10-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Latihan metode simpleks"
          }
        }
      ],
      "title_id": "Latihan Metode Simpleks"
    },
    {
      "chapter": 7,
      "id": "unit.r017.book1.ch07.text.ex-011",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch07.text.ex-011",
      "number": "7.11",
      "reader": {
        "destination": "bookex*.768",
        "heading_witness": "Latihan 7.11 (Latihan Metode Simpleks) ⋆⋆Selesaikan masalah program linier berikut menggunakan\nmetode simpleks:\nMaksimalkan:\nz = 6x1 + 8x2 + 5x3,\n",
        "heading_witness_sha256": "25107916c7f0643c88a2d857cc57ae3189f2fb610be2ba583267ee01c3c01463",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "7.11",
        "page": 223
      },
      "source_span": {
        "content_bytes": 491,
        "content_sha256": "dcd6356a6a176837a79f142c8d179c1e5a968f6180cbbbcb4eda9011e6480cb0",
        "environment": "ex",
        "id": "unit.r017.book1.ch07.text.ex-011",
        "label": "ex:simplex-practice-3var-2",
        "line_range": [
          2794,
          2807
        ],
        "native_record_sha256": "6ed497bdd7e6b023c2ee645f34da44dc276875dec714aebd26c881e0a3a9d314",
        "normalized_character_range": [
          120812,
          121303
        ],
        "normalized_utf8_byte_range": [
          120814,
          121305
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
        "source_file": {
          "archive": "source",
          "bytes": 136863,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
          "sha256": "42c1640cd736a36e55d812fa58c696edbaa56958b02a2cd17c2cc301d0b30179"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-011",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch07.solutions-manual.manualsolution-011.unit.r017.book1.ch07.text.ex-011",
          "page": 507,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.simplex.ex07-11",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex07-11-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Latihan metode simpleks"
          }
        },
        {
          "id": "unit.o018.lab.simplex.ex07-11",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex07-11-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Latihan metode simpleks"
          }
        }
      ],
      "title_id": "Latihan Metode Simpleks"
    },
    {
      "chapter": 7,
      "id": "unit.r017.book1.ch07.text.ex-012",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch07.text.ex-012",
      "number": "7.12",
      "reader": {
        "destination": "bookex*.769",
        "heading_witness": "Latihan 7.12 (Latihan Metode Simpleks) ⋆⋆Selesaikan masalah program linier berikut menggunakan\nmetode simpleks:\nMinimalkan:\nz = 4x1 + 6x2 + 7x3,\n",
        "heading_witness_sha256": "c77dcdb96241286e5bbf408f3ae2215eabd3ea2682ed3a73c37bea400ab6bcc2",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "7.12",
        "page": 223
      },
      "source_span": {
        "content_bytes": 425,
        "content_sha256": "61785f1e94907f0a352e24530ed0f87d50787a42344e4e9c9d7e0003024330dd",
        "environment": "ex",
        "id": "unit.r017.book1.ch07.text.ex-012",
        "label": "ex:simplex-bigm-practice-1",
        "line_range": [
          2809,
          2821
        ],
        "native_record_sha256": "3b58781798cbc14f9ee8ee220f4458a3464a27d230ee5d85ae8916a54fbd5653",
        "normalized_character_range": [
          121305,
          121730
        ],
        "normalized_utf8_byte_range": [
          121307,
          121732
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
        "source_file": {
          "archive": "source",
          "bytes": 136863,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
          "sha256": "42c1640cd736a36e55d812fa58c696edbaa56958b02a2cd17c2cc301d0b30179"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-012",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch07.solutions-manual.manualsolution-012.unit.r017.book1.ch07.text.ex-012",
          "page": 507,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.simplex.ex07-12",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex07-12-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Latihan metode simpleks"
          }
        },
        {
          "id": "unit.o018.lab.simplex.ex07-12",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex07-12-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Latihan metode simpleks"
          }
        }
      ],
      "title_id": "Latihan Metode Simpleks"
    },
    {
      "chapter": 7,
      "id": "unit.r017.book1.ch07.text.ex-013",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch07.text.ex-013",
      "number": "7.13",
      "reader": {
        "destination": "bookex*.770",
        "heading_witness": "Latihan 7.13 (Latihan Metode Simpleks) ⋆⋆Selesaikan masalah program linier berikut menggunakan\nmetode simpleks:\nMinimalkan:\nz = 40x1 + 48x2 + 30x3,\n",
        "heading_witness_sha256": "b183efcb2c15258dbcc2e86dd401f11098a69dab7f5d05c3f9d3289a25d653df",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "7.13",
        "page": 223
      },
      "source_span": {
        "content_bytes": 430,
        "content_sha256": "de18baacdf8176cded718a3b48ff38947b1ed11434f6fdc71f5ae43db450ca43",
        "environment": "ex",
        "id": "unit.r017.book1.ch07.text.ex-013",
        "label": "ex:simplex-bigm-practice-2",
        "line_range": [
          2823,
          2835
        ],
        "native_record_sha256": "de714a863be7c25e8c5c8ebb9b483ba1f590d139b66e7b192ba48b43c91267d1",
        "normalized_character_range": [
          121732,
          122162
        ],
        "normalized_utf8_byte_range": [
          121734,
          122164
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
        "source_file": {
          "archive": "source",
          "bytes": 136863,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
          "sha256": "42c1640cd736a36e55d812fa58c696edbaa56958b02a2cd17c2cc301d0b30179"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-013",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch07.solutions-manual.manualsolution-013.unit.r017.book1.ch07.text.ex-013",
          "page": 508,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.simplex.ex07-13",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex07-13-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Latihan metode simpleks"
          }
        },
        {
          "id": "unit.o018.lab.simplex.ex07-13",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex07-13-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Latihan metode simpleks"
          }
        }
      ],
      "title_id": "Latihan Metode Simpleks"
    },
    {
      "chapter": 7,
      "id": "unit.r017.book1.ch07.text.ex-014",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch07.text.ex-014",
      "number": "7.14",
      "reader": {
        "destination": "bookex*.771",
        "heading_witness": "Latihan 7.14 (Optimalitas Kamus)\n⋆⋆Kondisi dalam kamus. Berikut adalah kamus suatu masalah\nmaksimisasi. Nyatakan kondisi (yaitu, rentang nilai) pada a1,a2,b,c1,c5,c6 yang diperlukan agar hal-hal\nberikut berlaku. Catatan: Ini tidak memerlukan pivot simpleks apa pun.\n",
        "heading_witness_sha256": "50a723d8e0383697a9d80f531d9db29869f09e7e99b5f3a05638f85764d9454f",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "7.14",
        "page": 223
      },
      "source_span": {
        "content_bytes": 817,
        "content_sha256": "4c88fa0084f20229f971697b7bdb45f51b90511b71f7e638c5586b14fa8bcbd9",
        "environment": "ex",
        "id": "unit.r017.book1.ch07.text.ex-014",
        "label": "ex:dictionary-optimality-conditions",
        "line_range": [
          2839,
          2858
        ],
        "native_record_sha256": "e109cbbeece980fc1c59da72fa2184faf8202ca57f6c7b6b405ffcf73ce33163",
        "normalized_character_range": [
          122198,
          123015
        ],
        "normalized_utf8_byte_range": [
          122200,
          123017
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
        "source_file": {
          "archive": "source",
          "bytes": 136863,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
          "sha256": "42c1640cd736a36e55d812fa58c696edbaa56958b02a2cd17c2cc301d0b30179"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-014",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch07.solutions-manual.manualsolution-014.unit.r017.book1.ch07.text.ex-014",
          "page": 509,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.simplex.ex07-14",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex07-14-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Optimalitas kamus"
          }
        },
        {
          "id": "unit.o018.lab.simplex.ex07-14",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex07-14-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Optimalitas kamus"
          }
        }
      ],
      "title_id": "Optimalitas Kamus"
    },
    {
      "chapter": 7,
      "id": "unit.r017.book1.ch07.text.ex-015",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch07.text.ex-015",
      "number": "7.15",
      "reader": {
        "destination": "bookex*.776",
        "heading_witness": "Latihan 7.15 (Solusi Basis Layak) ⋆⋆Perhatikan daerah layak program linier dalam 2 variabel berikut\nyang digambarkan pada plot di bawah ini.\nk i\nlk\n2\n+\n",
        "heading_witness_sha256": "647e02e84dfd94207d27d73e666ed0679587d3c59761b7b24eed791a392591fd",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "7.15",
        "page": 224
      },
      "source_span": {
        "content_bytes": 1871,
        "content_sha256": "ac55cfcc3dd48874e35874d631a0c1dd52fe3c9fec91dd47de96c31cc0f85325",
        "environment": "ex",
        "id": "unit.r017.book1.ch07.text.ex-015",
        "label": "ex:bfs-graphical-pivot",
        "line_range": [
          2860,
          2894
        ],
        "native_record_sha256": "3f3e97b189cc422a05690991baeaf2a2e13f1fe68d8ea43e4597549a7541873b",
        "normalized_character_range": [
          123017,
          124888
        ],
        "normalized_utf8_byte_range": [
          123019,
          124890
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
        "source_file": {
          "archive": "source",
          "bytes": 136863,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
          "sha256": "42c1640cd736a36e55d812fa58c696edbaa56958b02a2cd17c2cc301d0b30179"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-015",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch07.solutions-manual.manualsolution-015.unit.r017.book1.ch07.text.ex-015",
          "page": 509,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.simplex.ex07-15",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex07-15-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Solusi basis layak"
          }
        },
        {
          "id": "unit.o018.lab.simplex.ex07-15",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex07-15-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Solusi basis layak"
          }
        }
      ],
      "title_id": "Solusi Basis Layak"
    },
    {
      "chapter": 7,
      "id": "unit.r017.book1.ch07.text.ex-016",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch07.text.ex-016",
      "number": "7.16",
      "reader": {
        "destination": "bookex*.778",
        "heading_witness": "Latihan 7.16 (Apa yang dilindungi oleh uji rasio)\n⋆⋆Dalam kamus kedua pada contoh berjalan di\n",
        "heading_witness_sha256": "71f6d8a295d3f670d226a9587d4d0ad5e567e3c71bb22cbd946c80147a8b66bf",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "7.16",
        "page": 224
      },
      "source_span": {
        "content_bytes": 1076,
        "content_sha256": "b1e8b918c759c7e5917cd82c951bdb131174356dbcee2c63063fc4901dd1662e",
        "environment": "ex",
        "id": "unit.r017.book1.ch07.text.ex-016",
        "label": "ex:ratio-test-wrong-row",
        "line_range": [
          2896,
          2914
        ],
        "native_record_sha256": "53ed1a9ca4fd18376fa5942d077951629affe0fc765b4a1b3985683459504164",
        "normalized_character_range": [
          124890,
          125966
        ],
        "normalized_utf8_byte_range": [
          124892,
          125968
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
        "source_file": {
          "archive": "source",
          "bytes": 136863,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
          "sha256": "42c1640cd736a36e55d812fa58c696edbaa56958b02a2cd17c2cc301d0b30179"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-016",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch07.solutions-manual.manualsolution-016.unit.r017.book1.ch07.text.ex-016",
          "page": 510,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.simplex.ex07-16",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex07-16-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Apa yang dilindungi oleh uji rasio"
          }
        },
        {
          "id": "unit.o018.lab.simplex.ex07-16",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex07-16-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Apa yang dilindungi oleh uji rasio"
          }
        }
      ],
      "title_id": "Apa yang dilindungi oleh uji rasio"
    },
    {
      "chapter": 7,
      "id": "unit.r017.book1.ch07.text.ex-017",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch07.text.ex-017",
      "number": "7.17",
      "reader": {
        "destination": "bookex*.781",
        "heading_witness": "Latihan 7.17 (Hasil imbang dalam uji rasio memaksa degenerasi) ⋆⋆⋆Perhatikan program linier\nmax\n2x+ y\n",
        "heading_witness_sha256": "38f16d003df2fb19747ea332dd2ee38e5f3d447b712dff0fd63ab676beb7973d",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "7.17",
        "page": 225
      },
      "source_span": {
        "content_bytes": 1223,
        "content_sha256": "f9d4dd5c9007fef0004556b0e64c945d08efef56ec4acc9fb7b3d85dab74b800",
        "environment": "ex",
        "id": "unit.r017.book1.ch07.text.ex-017",
        "label": "ex:degenerate-tie",
        "line_range": [
          2918,
          2936
        ],
        "native_record_sha256": "dd9c8b761391e27376a35ff0d2011b07d44c7ec231a8d56a16596215dfe375d8",
        "normalized_character_range": [
          125994,
          127217
        ],
        "normalized_utf8_byte_range": [
          125996,
          127219
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
        "source_file": {
          "archive": "source",
          "bytes": 136863,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
          "sha256": "42c1640cd736a36e55d812fa58c696edbaa56958b02a2cd17c2cc301d0b30179"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch07.solutions-manual.manualsolution-017",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch07.solutions-manual.manualsolution-017.unit.r017.book1.ch07.text.ex-017",
          "page": 510,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.simplex.ex07-17",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex07-17-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Hasil imbang dalam uji rasio memaksa degenerasi"
          }
        },
        {
          "id": "unit.o018.lab.simplex.ex07-17",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex07-17-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Hasil imbang dalam uji rasio memaksa degenerasi"
          }
        }
      ],
      "title_id": "Hasil imbang dalam uji rasio memaksa degenerasi"
    },
    {
      "chapter": 8,
      "id": "unit.r017.book1.ch08.text.ex-001",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch08.text.ex-001",
      "number": "8.1",
      "reader": {
        "destination": "bookex*.816",
        "heading_witness": "Latihan 8.1 (Matriks basis dan solusi basis) ⋆Tinjau sistem dari Contoh 1,\nx1 + 2x2 + x3 = 4,\n",
        "heading_witness_sha256": "41d1cc1b218a6c7af588c5eb45ceb022e6c334a0a47373739f1971976a48a569",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "8.1",
        "page": 243
      },
      "source_span": {
        "content_bytes": 548,
        "content_sha256": "582e74d28de1b5e25cae430af796883cd51655198b3f4a19fe54e5439b087bca",
        "environment": "ex",
        "id": "unit.r017.book1.ch08.text.ex-001",
        "label": "ex:matrix-basis-warmup",
        "line_range": [
          1108,
          1124
        ],
        "native_record_sha256": "f67c52a5a9cfa4c82b0989ef8e8beca876e36440fc073eeb1b017a48feca9246",
        "normalized_character_range": [
          29469,
          30017
        ],
        "normalized_utf8_byte_range": [
          29469,
          30017
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-matrix-version.tex",
        "source_file": {
          "archive": "source",
          "bytes": 39468,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-matrix-version.tex",
          "sha256": "1e0ac6ecd971c245bf090c82dcc4779b06cdd9e716004632138c4094c0430bf2"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch08.solutions-manual.manualsolution-001",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch08.solutions-manual.manualsolution-001.unit.r017.book1.ch08.text.ex-001",
          "page": 511,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.simplex.ex08-01",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex08-01-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Matriks basis dan solusi basis"
          }
        },
        {
          "id": "unit.o018.lab.simplex.ex08-01",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex08-01-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Matriks basis dan solusi basis"
          }
        }
      ],
      "title_id": "Matriks basis dan solusi basis"
    },
    {
      "chapter": 8,
      "id": "unit.r017.book1.ch08.text.ex-002",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch08.text.ex-002",
      "number": "8.2",
      "reader": {
        "destination": "bookex*.820",
        "heading_witness": "Latihan 8.2 (Solusi basis yang tidak layak) ⋆Untuk sistem yang sama seperti pada Latihan 8.1, gunak-\nan basis B = {x1,x3}. Hitung AB, A−1\nB , dan solusi basisnya, lalu jelaskan mengapa basis ini memberikan\nsolusi basis yang tidak layak.\n",
        "heading_witness_sha256": "bc98b7e1937b78a26bbbbd4c8afe9876d6586c1ec5862387c343d5612458d564",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "8.2",
        "page": 243
      },
      "source_span": {
        "content_bytes": 391,
        "content_sha256": "82fe087a51f6f51c8769c835a91fd10117410e186d619ccc783fe2da569c02f7",
        "environment": "ex",
        "id": "unit.r017.book1.ch08.text.ex-002",
        "label": "ex:matrix-infeasible-basis",
        "line_range": [
          1126,
          1130
        ],
        "native_record_sha256": "3558cdb007c0706ce0972345d48fda127e4215b75e122455d8c85cb4c7192e7b",
        "normalized_character_range": [
          30019,
          30410
        ],
        "normalized_utf8_byte_range": [
          30019,
          30410
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-matrix-version.tex",
        "source_file": {
          "archive": "source",
          "bytes": 39468,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-matrix-version.tex",
          "sha256": "1e0ac6ecd971c245bf090c82dcc4779b06cdd9e716004632138c4094c0430bf2"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch08.solutions-manual.manualsolution-002",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch08.solutions-manual.manualsolution-002.unit.r017.book1.ch08.text.ex-002",
          "page": 512,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.simplex.ex08-02",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex08-02-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Solusi basis yang tidak layak"
          }
        },
        {
          "id": "unit.o018.lab.simplex.ex08-02",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex08-02-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Solusi basis yang tidak layak"
          }
        }
      ],
      "title_id": "Solusi basis yang tidak layak"
    },
    {
      "chapter": 8,
      "id": "unit.r017.book1.ch08.text.ex-003",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch08.text.ex-003",
      "number": "8.3",
      "reader": {
        "destination": "bookex*.821",
        "heading_witness": "Latihan 8.3 (Basis keempat untuk contoh tiga basis) ⋆Dalam Bagian 8.1.3, kita telah mengevaluasi\nbasis {x1,x2}, {x1,s2}, dan {s1,s2} dari sistem\n\n\n",
        "heading_witness_sha256": "cc8a4997c02870381b925a9dc60b531c56e80ff019612d5b663998d532d36309",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "8.3",
        "page": 243
      },
      "source_span": {
        "content_bytes": 666,
        "content_sha256": "98afcc2b9626fca507cb2e85407c0ca60ef6a54a5f641b450aeb136508f0632e",
        "environment": "ex",
        "id": "unit.r017.book1.ch08.text.ex-003",
        "label": "ex:matrix-fourth-basis",
        "line_range": [
          1132,
          1150
        ],
        "native_record_sha256": "21bb306f22109a6d3d4411f7ed220280f4d0a61c20440e21ef0ce6dd79d3a2fa",
        "normalized_character_range": [
          30412,
          31078
        ],
        "normalized_utf8_byte_range": [
          30412,
          31078
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-matrix-version.tex",
        "source_file": {
          "archive": "source",
          "bytes": 39468,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-matrix-version.tex",
          "sha256": "1e0ac6ecd971c245bf090c82dcc4779b06cdd9e716004632138c4094c0430bf2"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch08.solutions-manual.manualsolution-003",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch08.solutions-manual.manualsolution-003.unit.r017.book1.ch08.text.ex-003",
          "page": 512,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.simplex.ex08-03",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex08-03-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Basis keempat untuk contoh tiga basis"
          }
        },
        {
          "id": "unit.o018.lab.simplex.ex08-03",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex08-03-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Basis keempat untuk contoh tiga basis"
          }
        }
      ],
      "title_id": "Basis keempat untuk contoh tiga basis"
    },
    {
      "chapter": 8,
      "id": "unit.r017.book1.ch08.text.ex-004",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch08.text.ex-004",
      "number": "8.4",
      "reader": {
        "destination": "bookex*.822",
        "heading_witness": "Latihan 8.4 (Biaya tereduksi pada dua basis) ⋆⋆Tinjau program linear toko roti dari Bagian 8.1.0.1\ndalam bentuk standar,\n1\n1\n1\n0\n0\n9\n",
        "heading_witness_sha256": "eb929f95c790389bd2127eb587784e80f7d6e48a6ccd49c8a96f8aea5a42c614",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "8.4",
        "page": 244
      },
      "source_span": {
        "content_bytes": 880,
        "content_sha256": "86143b90399260acfd8696f5dc9f1d3ca8db269a97fa98e1db4237a31fccb92f",
        "environment": "ex",
        "id": "unit.r017.book1.ch08.text.ex-004",
        "label": "ex:matrix-reduced-costs",
        "line_range": [
          1154,
          1177
        ],
        "native_record_sha256": "a79a2cfdf86aa3ed14b38d372ad8da04f32cae2ca4585124e04a0d247bbd2be9",
        "normalized_character_range": [
          31101,
          31981
        ],
        "normalized_utf8_byte_range": [
          31101,
          31981
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-matrix-version.tex",
        "source_file": {
          "archive": "source",
          "bytes": 39468,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-matrix-version.tex",
          "sha256": "1e0ac6ecd971c245bf090c82dcc4779b06cdd9e716004632138c4094c0430bf2"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch08.solutions-manual.manualsolution-004",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch08.solutions-manual.manualsolution-004.unit.r017.book1.ch08.text.ex-004",
          "page": 512,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.simplex.ex08-04",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex08-04-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Biaya tereduksi pada dua basis"
          }
        },
        {
          "id": "unit.o018.lab.simplex.ex08-04",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex08-04-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Biaya tereduksi pada dua basis"
          }
        }
      ],
      "title_id": "Biaya tereduksi pada dua basis"
    },
    {
      "chapter": 8,
      "id": "unit.r017.book1.ch08.text.ex-005",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch08.text.ex-005",
      "number": "8.5",
      "reader": {
        "destination": "bookex*.823",
        "heading_witness": "Latihan 8.5 (Basis mana yang layak?)\n⋆⋆Untuk sistem 2×4\n\u00141\n2\n1\n0\u0015\nx1\n\n\u001416\u0015\n",
        "heading_witness_sha256": "eefe930943f7c79f63f671fb4b7a202fff6ea8e30f50d09f130669f2b7897223",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "8.5",
        "page": 244
      },
      "source_span": {
        "content_bytes": 848,
        "content_sha256": "fc515aa327884e315ab4272a9253b3d1b036608c7a7afc04802501f5b43bec6f",
        "environment": "ex",
        "id": "unit.r017.book1.ch08.text.ex-005",
        "label": "ex:matrix-feasible-bases",
        "line_range": [
          1179,
          1203
        ],
        "native_record_sha256": "105c3075e836a2a7767ff69af7d0fbbbf59fe1d80a9bd37b384e93acf0c47780",
        "normalized_character_range": [
          31983,
          32831
        ],
        "normalized_utf8_byte_range": [
          31983,
          32831
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-matrix-version.tex",
        "source_file": {
          "archive": "source",
          "bytes": 39468,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-matrix-version.tex",
          "sha256": "1e0ac6ecd971c245bf090c82dcc4779b06cdd9e716004632138c4094c0430bf2"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch08.solutions-manual.manualsolution-005",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch08.solutions-manual.manualsolution-005.unit.r017.book1.ch08.text.ex-005",
          "page": 513,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.simplex.ex08-05",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex08-05-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Basis mana yang layak?"
          }
        },
        {
          "id": "unit.o018.lab.simplex.ex08-05",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex08-05-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Basis mana yang layak?"
          }
        }
      ],
      "title_id": "Basis mana yang layak?"
    },
    {
      "chapter": 8,
      "id": "unit.r017.book1.ch08.text.ex-006",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch08.text.ex-006",
      "number": "8.6",
      "reader": {
        "destination": "bookex*.827",
        "heading_witness": "Latihan 8.6 (Membangun kembali kamus dari rumus) ⋆⋆Bagian 8.2 menampilkan program linear\nmax\n2x+ y\n",
        "heading_witness_sha256": "8877ad79bc077be936b3a8713bb768cd67ee7e1d247ded3b3eb38633c853ec17",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "8.6",
        "page": 244
      },
      "source_span": {
        "content_bytes": 783,
        "content_sha256": "5f23b3a3d3b8fa888371ef3d7785085725fea28785558a360e323906f6d2d069",
        "environment": "ex",
        "id": "unit.r017.book1.ch08.text.ex-006",
        "label": "ex:matrix-dictionary-formula",
        "line_range": [
          1205,
          1225
        ],
        "native_record_sha256": "4810453002ca17305374bc58d2e69dcd9028a99862d572a8e6d6782a0ce71133",
        "normalized_character_range": [
          32833,
          33616
        ],
        "normalized_utf8_byte_range": [
          32833,
          33616
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-matrix-version.tex",
        "source_file": {
          "archive": "source",
          "bytes": 39468,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-matrix-version.tex",
          "sha256": "1e0ac6ecd971c245bf090c82dcc4779b06cdd9e716004632138c4094c0430bf2"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch08.solutions-manual.manualsolution-006",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch08.solutions-manual.manualsolution-006.unit.r017.book1.ch08.text.ex-006",
          "page": 514,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.simplex.ex08-06",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex08-06-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Membangun kembali kamus dari rumus"
          }
        },
        {
          "id": "unit.o018.lab.simplex.ex08-06",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex08-06-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Membangun kembali kamus dari rumus"
          }
        }
      ],
      "title_id": "Membangun kembali kamus dari rumus"
    },
    {
      "chapter": 8,
      "id": "unit.r017.book1.ch08.text.ex-007",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch08.text.ex-007",
      "number": "8.7",
      "reader": {
        "destination": "bookex*.828",
        "heading_witness": "Latihan 8.7 (Biaya tereduksi variabel basis)\n⋆⋆Vektor biaya tereduksi variabel nonbasis adalah\nc⊤\nN −c⊤\nB A−1\nB AN. Terapkan rumus yang sama pada kolom basis: tunjukkan bahwa\nc⊤\nc⊤A−1A\n0⊤\n",
        "heading_witness_sha256": "6ab7b7af38c8d65c11a101f8b87928c1af862ddb9bcd61a1d4a84564a6e7bc89",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "8.7",
        "page": 245
      },
      "source_span": {
        "content_bytes": 547,
        "content_sha256": "ef8e47b7eefb22c731e89ba84da2e21b0a770d99b0795a2adeb4950e0c360ec9",
        "environment": "ex",
        "id": "unit.r017.book1.ch08.text.ex-007",
        "label": "ex:matrix-basic-reduced-zero",
        "line_range": [
          1229,
          1237
        ],
        "native_record_sha256": "cd91e526cb4db2ba617a65892c4db076c437b3e436bf01a189c3f5d1cd6c0ed6",
        "normalized_character_range": [
          33652,
          34199
        ],
        "normalized_utf8_byte_range": [
          33652,
          34199
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-matrix-version.tex",
        "source_file": {
          "archive": "source",
          "bytes": 39468,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-matrix-version.tex",
          "sha256": "1e0ac6ecd971c245bf090c82dcc4779b06cdd9e716004632138c4094c0430bf2"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch08.solutions-manual.manualsolution-007",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch08.solutions-manual.manualsolution-007.unit.r017.book1.ch08.text.ex-007",
          "page": 514,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.simplex.ex08-07",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex08-07-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Biaya tereduksi variabel basis"
          }
        },
        {
          "id": "unit.o018.lab.simplex.ex08-07",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex08-07-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Biaya tereduksi variabel basis"
          }
        }
      ],
      "title_id": "Biaya tereduksi variabel basis"
    },
    {
      "chapter": 8,
      "id": "unit.r017.book1.ch08.text.ex-008",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch08.text.ex-008",
      "number": "8.8",
      "reader": {
        "destination": "bookex*.829",
        "heading_witness": "Latihan 8.8 (Tanda biaya tereduksi dan aturan variabel masuk) ⋆⋆Dalam bentuk kamus pada Bab 7,\nvariabel masuk adalah variabel nonbasis yang memiliki koefisien positif pada baris objektif, sedangkan\nteorema optimalitas dalam bab ini berhenti ketika semua biaya tereduksi bernilai ≤0.i\n",
        "heading_witness_sha256": "8e6f200c333714e560f9d3ead0e0f9bda11659c30bc50cc744f15c1294ddff0a",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "8.8",
        "page": 245
      },
      "source_span": {
        "content_bytes": 1145,
        "content_sha256": "5ddf28d14ecb42cabb087f1df3a16a1a43f3a586ec1b5d402af40412749da862",
        "environment": "ex",
        "id": "unit.r017.book1.ch08.text.ex-008",
        "label": "ex:matrix-sign-conventions",
        "line_range": [
          1239,
          1248
        ],
        "native_record_sha256": "6048a2536874ae8625ed9df416aaa4b24eb1368df5744b0eae92290e3918f36d",
        "normalized_character_range": [
          34201,
          35346
        ],
        "normalized_utf8_byte_range": [
          34201,
          35346
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-matrix-version.tex",
        "source_file": {
          "archive": "source",
          "bytes": 39468,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-matrix-version.tex",
          "sha256": "1e0ac6ecd971c245bf090c82dcc4779b06cdd9e716004632138c4094c0430bf2"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch08.solutions-manual.manualsolution-008",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch08.solutions-manual.manualsolution-008.unit.r017.book1.ch08.text.ex-008",
          "page": 515,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.simplex.ex08-08",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex08-08-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Tanda biaya tereduksi dan aturan variabel masuk"
          }
        },
        {
          "id": "unit.o018.lab.simplex.ex08-08",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex08-08-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Tanda biaya tereduksi dan aturan variabel masuk"
          }
        }
      ],
      "title_id": "Tanda biaya tereduksi dan aturan variabel masuk"
    },
    {
      "chapter": 8,
      "id": "unit.r017.book1.ch08.text.ex-009",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch08.text.ex-009",
      "number": "8.9",
      "reader": {
        "destination": "bookex*.833",
        "heading_witness": "Latihan 8.9 (Biaya tereduksi yang negatif secara ketat menyiratkan optimum unik) ⋆⋆⋆Misalkan\nB adalah basis suatu PL dalam bentuk standar dengan solusi basis layak ¯x = (A−1\nB b,0), dan andaikan\nsetiap biaya tereduksi bernilai negatif secara ketat:\n",
        "heading_witness_sha256": "a66ecb3f5166281fe0f27771188d65dab79a6490ab2b7b155b18c44906902420",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "8.9",
        "page": 245
      },
      "source_span": {
        "content_bytes": 838,
        "content_sha256": "8f1dc1d54e29eec77479303f8f4616eae6c679f17181bb68763d4db98b5c2f0b",
        "environment": "ex",
        "id": "unit.r017.book1.ch08.text.ex-009",
        "label": "ex:matrix-unique-optimum",
        "line_range": [
          1252,
          1260
        ],
        "native_record_sha256": "2b0ac1b52541aa901b0d195e82a72f7a450f9a3b251d8ee9a2ae8b37cc8b9aba",
        "normalized_character_range": [
          35374,
          36212
        ],
        "normalized_utf8_byte_range": [
          35374,
          36212
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-matrix-version.tex",
        "source_file": {
          "archive": "source",
          "bytes": 39468,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-matrix-version.tex",
          "sha256": "1e0ac6ecd971c245bf090c82dcc4779b06cdd9e716004632138c4094c0430bf2"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch08.solutions-manual.manualsolution-009",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch08.solutions-manual.manualsolution-009.unit.r017.book1.ch08.text.ex-009",
          "page": 515,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.simplex.ex08-09",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex08-09-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Biaya tereduksi negatif secara ketat menyiratkan optimum unik"
          }
        },
        {
          "id": "unit.o018.lab.simplex.ex08-09",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex08-09-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Biaya tereduksi negatif secara ketat menyiratkan optimum unik"
          }
        }
      ],
      "title_id": "Biaya tereduksi yang negatif secara ketat menyiratkan optimum unik"
    },
    {
      "chapter": 9,
      "id": "unit.r017.book1.ch09.text.ex-001",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch09.text.ex-001",
      "number": "9.1",
      "reader": {
        "destination": "bookex*.843",
        "heading_witness": "Latihan 9.1 (Membaca tableau di tengah proses penyelesaian) ⋆Tableau di bawah ini adalah tableau\nkedua dari contoh berjalan dalam bab ini, yang diperoleh setelah satu pivot:\nBasis\nx\ny\ns1\ns2\ns3\nRHS\n",
        "heading_witness_sha256": "8bf3321dbbe83a5cc07b5a0df79b85ddb3cf7faa22363ebc9491340ea7c6f2c8",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "9.1",
        "page": 253
      },
      "source_span": {
        "content_bytes": 1009,
        "content_sha256": "139be4eff92a53f2ab9d77ac34cd202c0c5b556deac762544c9419e812b29ab9",
        "environment": "ex",
        "id": "unit.r017.book1.ch09.text.ex-001",
        "label": "ex:tableau-read-mid",
        "line_range": [
          408,
          433
        ],
        "native_record_sha256": "6860081086591b33669cd89802d9d04e76b9cc42eb872a4afa877bda3a5327b5",
        "normalized_character_range": [
          17751,
          18760
        ],
        "normalized_utf8_byte_range": [
          17751,
          18760
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
        "source_file": {
          "archive": "source",
          "bytes": 30803,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
          "sha256": "6fe55f1e5eac82caf2128f7cae220bb29ff9537802465cb9b28feb6bab1330de"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch09.solutions-manual.manualsolution-001",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch09.solutions-manual.manualsolution-001.unit.r017.book1.ch09.text.ex-001",
          "page": 516,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.simplex.ex09-01",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex09-01-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Membaca tableau di tengah proses penyelesaian"
          }
        },
        {
          "id": "unit.o018.lab.simplex.ex09-01",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex09-01-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Membaca tableau di tengah proses penyelesaian"
          }
        }
      ],
      "title_id": "Membaca tableau di tengah proses penyelesaian"
    },
    {
      "chapter": 9,
      "id": "unit.r017.book1.ch09.text.ex-002",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch09.text.ex-002",
      "number": "9.2",
      "reader": {
        "destination": "bookex*.848",
        "heading_witness": "Latihan 9.2 (Membaca tableau) ⋆Tableau berikut muncul saat menyelesaikan masalah maksimisasi,\ndengan baris objektif di bagian atas:\nBasis\nx1\nx2\ns1\ns2\nRHS\n",
        "heading_witness_sha256": "003728cbac6942b601556e9610acdb16c80818f2feff9dd086fe9d5c7958de69",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "9.2",
        "page": 253
      },
      "source_span": {
        "content_bytes": 743,
        "content_sha256": "17739d9c1ad794c10c5e15d3c61ba705fbee69351d3ffbcaaa584a6aba008f41",
        "environment": "ex",
        "id": "unit.r017.book1.ch09.text.ex-002",
        "label": "ex:tableau-reading",
        "line_range": [
          435,
          456
        ],
        "native_record_sha256": "6602b0f1c73429ce9f02d7643ae0bcc7dcda92c6dc755f85a3b895af36a89e83",
        "normalized_character_range": [
          18762,
          19505
        ],
        "normalized_utf8_byte_range": [
          18762,
          19505
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
        "source_file": {
          "archive": "source",
          "bytes": 30803,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
          "sha256": "6fe55f1e5eac82caf2128f7cae220bb29ff9537802465cb9b28feb6bab1330de"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch09.solutions-manual.manualsolution-002",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch09.solutions-manual.manualsolution-002.unit.r017.book1.ch09.text.ex-002",
          "page": 516,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.simplex.ex09-02",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex09-02-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Membaca tableau"
          }
        },
        {
          "id": "unit.o018.lab.simplex.ex09-02",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex09-02-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Membaca tableau"
          }
        }
      ],
      "title_id": "Membaca tableau"
    },
    {
      "chapter": 9,
      "id": "unit.r017.book1.ch09.text.ex-003",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch09.text.ex-003",
      "number": "9.3",
      "reader": {
        "destination": "bookex*.849",
        "heading_witness": "Latihan 9.3 (Variabel masuk, uji rasio, dan elemen pivot) ⋆Pertimbangkan tableau\n",
        "heading_witness_sha256": "82bb73ff2b345e584742d03dadb362ab95c0179fbe8a412b3210bf4d1819c536",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "9.3",
        "page": 253
      },
      "source_span": {
        "content_bytes": 667,
        "content_sha256": "510a38124a86ec6ae85055af0085228f44229e937eeb0fef1613d13b7f865b06",
        "environment": "ex",
        "id": "unit.r017.book1.ch09.text.ex-003",
        "label": "ex:tableau-ratio-test",
        "line_range": [
          458,
          478
        ],
        "native_record_sha256": "faeea916b9d6ed86bff6dee16de80f422e306c9955a90e0b46e4ee25176283d1",
        "normalized_character_range": [
          19507,
          20174
        ],
        "normalized_utf8_byte_range": [
          19507,
          20174
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
        "source_file": {
          "archive": "source",
          "bytes": 30803,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
          "sha256": "6fe55f1e5eac82caf2128f7cae220bb29ff9537802465cb9b28feb6bab1330de"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch09.solutions-manual.manualsolution-003",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch09.solutions-manual.manualsolution-003.unit.r017.book1.ch09.text.ex-003",
          "page": 517,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.simplex.ex09-03",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex09-03-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Variabel masuk, uji rasio, dan elemen pivot"
          }
        },
        {
          "id": "unit.o018.lab.simplex.ex09-03",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex09-03-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Variabel masuk, uji rasio, dan elemen pivot"
          }
        }
      ],
      "title_id": "Variabel masuk, uji rasio, dan elemen pivot"
    },
    {
      "chapter": 9,
      "id": "unit.r017.book1.ch09.text.ex-004",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch09.text.ex-004",
      "number": "9.4",
      "reader": {
        "destination": "bookex*.850",
        "heading_witness": "Latihan 9.4 (Melakukan satu pivot)\n⋆⋆Mulailah dari tableau pada Latihan 9.3, lakukan pivot yang\ntelah Anda identifikasi, lalu tuliskan tableau hasilnya. Periksa bahwa kolom masuk telah menjadi kolom\nsatuan dan nilai objektif pada baris z telah meningkat.\n",
        "heading_witness_sha256": "bd7c5d40947ed17aa964f38531c91ae437a247c1d9607d2416a770a4735b6296",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "9.4",
        "page": 254
      },
      "source_span": {
        "content_bytes": 361,
        "content_sha256": "a76e6ac47cea4dd26323d1c5c3698510d5c578d9fcb949d442e79b83c11d2544",
        "environment": "ex",
        "id": "unit.r017.book1.ch09.text.ex-004",
        "label": "ex:tableau-one-pivot",
        "line_range": [
          482,
          489
        ],
        "native_record_sha256": "076ad2cea812ed9b74b7269ee6dc02fff7ac97d18ad69caf8953076fb8cecddd",
        "normalized_character_range": [
          20197,
          20558
        ],
        "normalized_utf8_byte_range": [
          20197,
          20558
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
        "source_file": {
          "archive": "source",
          "bytes": 30803,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
          "sha256": "6fe55f1e5eac82caf2128f7cae220bb29ff9537802465cb9b28feb6bab1330de"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch09.solutions-manual.manualsolution-004",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch09.solutions-manual.manualsolution-004.unit.r017.book1.ch09.text.ex-004",
          "page": 517,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.simplex.ex09-04",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex09-04-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Melakukan satu pivot"
          }
        },
        {
          "id": "unit.o018.lab.simplex.ex09-04",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex09-04-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Melakukan satu pivot"
          }
        }
      ],
      "title_id": "Melakukan satu pivot"
    },
    {
      "chapter": 9,
      "id": "unit.r017.book1.ch09.text.ex-005",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch09.text.ex-005",
      "number": "9.5",
      "reader": {
        "destination": "bookex*.851",
        "heading_witness": "Latihan 9.5 (Menyelesaikan program linier dalam bentuk tableau)\n⋆⋆Gunakan metode simpleks\ndalam bentuk tableau untuk menyelesaikan\nmax\nz = x+2y\n",
        "heading_witness_sha256": "dd34a77e5a1d63dae50843bf701e4454e000c5b71039360d375f4d86d7b7fa0c",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "9.5",
        "page": 254
      },
      "source_span": {
        "content_bytes": 598,
        "content_sha256": "35808b0bfe1cd81c987337f086ffc5e31393661ac1aae305889fef685fff0ce4",
        "environment": "ex",
        "id": "unit.r017.book1.ch09.text.ex-005",
        "label": "ex:tableau-solve-lp",
        "line_range": [
          491,
          506
        ],
        "native_record_sha256": "27f269cae707f93f0ac2124d8bb6e9224419074bf533668d9be99045cb686441",
        "normalized_character_range": [
          20560,
          21158
        ],
        "normalized_utf8_byte_range": [
          20560,
          21158
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
        "source_file": {
          "archive": "source",
          "bytes": 30803,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
          "sha256": "6fe55f1e5eac82caf2128f7cae220bb29ff9537802465cb9b28feb6bab1330de"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch09.solutions-manual.manualsolution-005",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch09.solutions-manual.manualsolution-005.unit.r017.book1.ch09.text.ex-005",
          "page": 517,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.simplex.ex09-05",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex09-05-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Menyelesaikan program linier dalam bentuk tableau"
          }
        },
        {
          "id": "unit.o018.lab.simplex.ex09-05",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex09-05-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Menyelesaikan program linier dalam bentuk tableau"
          }
        }
      ],
      "title_id": "Menyelesaikan program linier dalam bentuk tableau"
    },
    {
      "chapter": 9,
      "id": "unit.r017.book1.ch09.text.ex-006",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch09.text.ex-006",
      "number": "9.6",
      "reader": {
        "destination": "bookex*.852",
        "heading_witness": "Latihan 9.6 (Penyelesaian lengkap dengan dua pivot)\n⋆⋆Selesaikan program linier berikut dalam\nbentuk tableau dengan menggunakan aturan entri paling negatif untuk memilih variabel masuk:\nmax\nz = 3x+ 2y\n",
        "heading_witness_sha256": "34f1c4275d68bd1db79cbaacb498367afa632e46a9d908451e7f8a4e75d5b3c9",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "9.6",
        "page": 254
      },
      "source_span": {
        "content_bytes": 601,
        "content_sha256": "ace4215fbc28f475c5bef6377a808ef31dd21c721f3c4f0caf3926e21b68af5d",
        "environment": "ex",
        "id": "unit.r017.book1.ch09.text.ex-006",
        "label": "ex:tableau-two-pivot-solve",
        "line_range": [
          508,
          523
        ],
        "native_record_sha256": "96ff920005f4abde022116fa0c7904323e277c720c15c7214ca486958d80489d",
        "normalized_character_range": [
          21160,
          21761
        ],
        "normalized_utf8_byte_range": [
          21160,
          21761
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
        "source_file": {
          "archive": "source",
          "bytes": 30803,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
          "sha256": "6fe55f1e5eac82caf2128f7cae220bb29ff9537802465cb9b28feb6bab1330de"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch09.solutions-manual.manualsolution-006",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch09.solutions-manual.manualsolution-006.unit.r017.book1.ch09.text.ex-006",
          "page": 518,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.simplex.ex09-06",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex09-06-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Penyelesaian lengkap dengan dua pivot"
          }
        },
        {
          "id": "unit.o018.lab.simplex.ex09-06",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex09-06-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Penyelesaian lengkap dengan dua pivot"
          }
        }
      ],
      "title_id": "Penyelesaian lengkap dengan dua pivot"
    },
    {
      "chapter": 9,
      "id": "unit.r017.book1.ch09.text.ex-007",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch09.text.ex-007",
      "number": "9.7",
      "reader": {
        "destination": "bookex*.853",
        "heading_witness": "Latihan 9.7 (Menyusun tableau Big-M) ⋆⋆Pertimbangkan program linier\nmax\n4x+ 3y\ndengan syarat\nx+ y ≥4\nx+ 2y ≤10\nx y ≥0\n",
        "heading_witness_sha256": "926fa13747c2d2ec066856531bc6d7a98f887aeebabb1143dc827b5f7883587d",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "9.7",
        "page": 254
      },
      "source_span": {
        "content_bytes": 715,
        "content_sha256": "53f8235bdbecb7a6f6b8fd5d0e0628fa8e77bac90b397ec6c2f62497e2480f7e",
        "environment": "ex",
        "id": "unit.r017.book1.ch09.text.ex-007",
        "label": "ex:tableau-bigm-setup",
        "line_range": [
          525,
          541
        ],
        "native_record_sha256": "28b155eb1d70d8217a23b3f7edcfc7ca1a6e406612f402542b9e82292a00329a",
        "normalized_character_range": [
          21763,
          22478
        ],
        "normalized_utf8_byte_range": [
          21763,
          22478
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
        "source_file": {
          "archive": "source",
          "bytes": 30803,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
          "sha256": "6fe55f1e5eac82caf2128f7cae220bb29ff9537802465cb9b28feb6bab1330de"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch09.solutions-manual.manualsolution-007",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch09.solutions-manual.manualsolution-007.unit.r017.book1.ch09.text.ex-007",
          "page": 518,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.simplex.ex09-07",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex09-07-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Menyusun tableau Big-M"
          }
        },
        {
          "id": "unit.o018.lab.simplex.ex09-07",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex09-07-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Menyusun tableau Big-M"
          }
        }
      ],
      "title_id": "Menyusun tableau Big-M"
    },
    {
      "chapter": 9,
      "id": "unit.r017.book1.ch09.text.ex-008",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch09.text.ex-008",
      "number": "9.8",
      "reader": {
        "destination": "bookex*.854",
        "heading_witness": "Latihan 9.8 (Konvensi tanda pada baris z)\n⋆⋆Bentuk kamus pada Bab 7 memilih variabel masuk\ndengan koefisien objektif positif, sedangkan tableau memilih variabel dengan entri baris z yang negatif.\n1. Jelaskan asal pembalikan tanda dengan menggunakan fakta bahwa tableau menyimpan objektif se-\n",
        "heading_witness_sha256": "d7169225f7e60d1d0d8fdff61d07aada5d9f159e5b47f04dd10eefbe0fea0ecb",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "9.8",
        "page": 255
      },
      "source_span": {
        "content_bytes": 774,
        "content_sha256": "435481cd4e121105a474b58c9ff87911d6495175b658e42261c708a63a6007d1",
        "environment": "ex",
        "id": "unit.r017.book1.ch09.text.ex-008",
        "label": "ex:tableau-sign-convention",
        "line_range": [
          545,
          556
        ],
        "native_record_sha256": "270ca6b0dd3d5f36fb4c8b185b5db074f3260807f787e465a5d227dbb8ba6875",
        "normalized_character_range": [
          22514,
          23288
        ],
        "normalized_utf8_byte_range": [
          22514,
          23288
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
        "source_file": {
          "archive": "source",
          "bytes": 30803,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
          "sha256": "6fe55f1e5eac82caf2128f7cae220bb29ff9537802465cb9b28feb6bab1330de"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch09.solutions-manual.manualsolution-008",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch09.solutions-manual.manualsolution-008.unit.r017.book1.ch09.text.ex-008",
          "page": 519,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.simplex.ex09-08",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex09-08-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Konvensi tanda pada baris z"
          }
        },
        {
          "id": "unit.o018.lab.simplex.ex09-08",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex09-08-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Konvensi tanda pada baris z"
          }
        }
      ],
      "title_id": "Konvensi tanda pada baris $z$"
    },
    {
      "chapter": 9,
      "id": "unit.r017.book1.ch09.text.ex-009",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch09.text.ex-009",
      "number": "9.9",
      "reader": {
        "destination": "bookex*.858",
        "heading_witness": "Latihan 9.9 (Dari tableau ke kamus) ⋆⋆Tuliskan kamus yang bersesuaian dengan tableau pada La-\ntihan 9.2, dengan menyatakan z dan setiap variabel basis dalam variabel nonbasis s1 dan s2. Pastikan\nbahwa menetapkan variabel nonbasis sama dengan nol mereproduksi solusi basis layak yang sama.\n",
        "heading_witness_sha256": "ddaf64742313a04c63ef70f0d8d6e13a20159e2e3938dc8e1ad74b165a215230",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "9.9",
        "page": 255
      },
      "source_span": {
        "content_bytes": 436,
        "content_sha256": "2c3a89c70bb729a27ddeac6ce923cf6933e13130d0881af8f02bcf7820b7c200",
        "environment": "ex",
        "id": "unit.r017.book1.ch09.text.ex-009",
        "label": "ex:tableau-to-dictionary",
        "line_range": [
          558,
          565
        ],
        "native_record_sha256": "b943399a0cf3627d87392ae44e298e57598b12fd49a77f1fef3c1f960c737e86",
        "normalized_character_range": [
          23290,
          23726
        ],
        "normalized_utf8_byte_range": [
          23290,
          23726
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
        "source_file": {
          "archive": "source",
          "bytes": 30803,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
          "sha256": "6fe55f1e5eac82caf2128f7cae220bb29ff9537802465cb9b28feb6bab1330de"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch09.solutions-manual.manualsolution-009",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch09.solutions-manual.manualsolution-009.unit.r017.book1.ch09.text.ex-009",
          "page": 520,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.simplex.ex09-09",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex09-09-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Dari tableau ke kamus"
          }
        },
        {
          "id": "unit.o018.lab.simplex.ex09-09",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex09-09-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Dari tableau ke kamus"
          }
        }
      ],
      "title_id": "Dari tableau ke kamus"
    },
    {
      "chapter": 9,
      "id": "unit.r017.book1.ch09.text.ex-010",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch09.text.ex-010",
      "number": "9.10",
      "reader": {
        "destination": "bookex*.859",
        "heading_witness": "Latihan 9.10 (Mengenali masalah tak terbatas) ⋆⋆Saat memecahkan masalah maksimasi Anda men-\ndapatkan\nBasis\nx1\nx2\ns1\ns2\nRHS\n",
        "heading_witness_sha256": "b0226d99592527b53ee1e5e8344a919db853a153a346cc1de1afdf2cfa58353e",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "9.10",
        "page": 255
      },
      "source_span": {
        "content_bytes": 682,
        "content_sha256": "ecf977669438ed9d9ade688247e1944862bc250869a16b90749728496bc2058e",
        "environment": "ex",
        "id": "unit.r017.book1.ch09.text.ex-010",
        "label": "ex:tableau-unbounded",
        "line_range": [
          567,
          586
        ],
        "native_record_sha256": "7373fcb44711f2eccf8191bc54615e6b9f5c6479c028f5d91618cc0b60f62094",
        "normalized_character_range": [
          23728,
          24410
        ],
        "normalized_utf8_byte_range": [
          23728,
          24410
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
        "source_file": {
          "archive": "source",
          "bytes": 30803,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
          "sha256": "6fe55f1e5eac82caf2128f7cae220bb29ff9537802465cb9b28feb6bab1330de"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch09.solutions-manual.manualsolution-010",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch09.solutions-manual.manualsolution-010.unit.r017.book1.ch09.text.ex-010",
          "page": 520,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.simplex.ex09-10",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex09-10-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Mengenali masalah tak terbatas"
          }
        },
        {
          "id": "unit.o018.lab.simplex.ex09-10",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex09-10-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Mengenali masalah tak terbatas"
          }
        }
      ],
      "title_id": "Mengenali masalah tak terbatas"
    },
    {
      "chapter": 9,
      "id": "unit.r017.book1.ch09.text.ex-011",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch09.text.ex-011",
      "number": "9.11",
      "reader": {
        "destination": "bookex*.860",
        "heading_witness": "Latihan 9.11 (Membaca ketaklayakan) ⋆⋆Misalkan metode Big-M yang diterapkan pada suatu ma-\nsalah maksimisasi berakhir (setiap entri baris objektif tak negatif) dengan tableau\nBasis\nx\ny\ne1\ns2\na1\nRHS\n",
        "heading_witness_sha256": "ec63e5f297054c52130771226a0368e413914179893012c46dd2bac1c5afee66",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "9.11",
        "page": 255
      },
      "source_span": {
        "content_bytes": 866,
        "content_sha256": "04e7eaae41151862d4687215f076271996ac053714554dbeb9fedd2614f12e59",
        "environment": "ex",
        "id": "unit.r017.book1.ch09.text.ex-011",
        "label": "ex:tableau-infeasible",
        "line_range": [
          588,
          610
        ],
        "native_record_sha256": "1cbecdfe76eea93a6093a71b335a26d8598709330adcf9dd81b02ac5ac4e48f3",
        "normalized_character_range": [
          24412,
          25278
        ],
        "normalized_utf8_byte_range": [
          24412,
          25278
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
        "source_file": {
          "archive": "source",
          "bytes": 30803,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
          "sha256": "6fe55f1e5eac82caf2128f7cae220bb29ff9537802465cb9b28feb6bab1330de"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch09.solutions-manual.manualsolution-011",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch09.solutions-manual.manualsolution-011.unit.r017.book1.ch09.text.ex-011",
          "page": 520,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.simplex.ex09-11",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex09-11-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Membaca ketaklayakan"
          }
        },
        {
          "id": "unit.o018.lab.simplex.ex09-11",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex09-11-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Membaca ketaklayakan"
          }
        }
      ],
      "title_id": "Membaca ketaklayakan"
    },
    {
      "chapter": 9,
      "id": "unit.r017.book1.ch09.text.ex-012",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch09.text.ex-012",
      "number": "9.12",
      "reader": {
        "destination": "bookex*.861",
        "heading_witness": "Latihan 9.12 (Menyertifikasi ketakterbatasan dari tableau)\n⋆⋆⋆Menggunakan metode simpleks\npada\nmax\nz = x1 + x2\n",
        "heading_witness_sha256": "9c6875b09b402a29442f994f5c6c23dfac5402c2c209bbc77c84fb7eee43ab97",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "9.12",
        "page": 256
      },
      "source_span": {
        "content_bytes": 1311,
        "content_sha256": "24417552ce43b5e370350e32b5c6d7b8add212a1a7ef0db5427f3c26f986bf8f",
        "environment": "ex",
        "id": "unit.r017.book1.ch09.text.ex-012",
        "label": "ex:tableau-unbounded-certificate",
        "line_range": [
          614,
          645
        ],
        "native_record_sha256": "932502a8ff495992d236f946b69de4b98b7df26d55c013ea7329d81c3335c58b",
        "normalized_character_range": [
          25306,
          26617
        ],
        "normalized_utf8_byte_range": [
          25306,
          26617
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
        "source_file": {
          "archive": "source",
          "bytes": 30803,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
          "sha256": "6fe55f1e5eac82caf2128f7cae220bb29ff9537802465cb9b28feb6bab1330de"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch09.solutions-manual.manualsolution-012",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch09.solutions-manual.manualsolution-012.unit.r017.book1.ch09.text.ex-012",
          "page": 521,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.simplex.ex09-12",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex09-12-adapts",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Menyertifikasi ketakterbatasan dari tableau"
          }
        },
        {
          "id": "unit.o018.lab.simplex.ex09-12",
          "kind": "computational_lab",
          "native_relation_id": "relation.o018-simplex-ex09-12-solves",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch07-ch09-simplex",
            "title_target": "Menyertifikasi ketakterbatasan dari tableau"
          }
        }
      ],
      "title_id": "Menyertifikasi ketakterbatasan dari tableau"
    },
    {
      "chapter": 10,
      "id": "unit.r017.book1.ch10.text.ex-001",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch10.text.ex-001",
      "number": "10.1",
      "reader": {
        "destination": "bookex*.897",
        "heading_witness": "Latihan 10.1 (Harga Bayangan dari Kamus Akhir) ⋆Ingat kembali kamus akhir contoh utama bab\nini:\nz = 23−s1 −s3\n",
        "heading_witness_sha256": "597bdcc0da35335e9d0a582da727fe8b485fa932ef1a01a07667fb89d5d20b36",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "10.1",
        "page": 275
      },
      "source_span": {
        "content_bytes": 727,
        "content_sha256": "d6d19d457b1c47e5478af30bd576c548ea01ae431bc5efad1668f3325ccd30d3",
        "environment": "ex",
        "id": "unit.r017.book1.ch10.text.ex-001",
        "label": null,
        "line_range": [
          880,
          896
        ],
        "native_record_sha256": "459cc474f8ebfea84478df6bd0dec2720af2e0151382a270f0ac2333434cfa11",
        "normalized_character_range": [
          36914,
          37641
        ],
        "normalized_utf8_byte_range": [
          36914,
          37641
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
        "source_file": {
          "archive": "source",
          "bytes": 52340,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
          "sha256": "27125508e85609361382af200e24d33d5f979cb68f78c5eee94c06acd6a9c64c"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch10.solutions-manual.manualsolution-001",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch10.solutions-manual.manualsolution-001.unit.r017.book1.ch10.text.ex-001",
          "page": 521,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch10.ex-10-1",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch10.ex-10-1.unit.r017.book1.ch10.text.ex-001",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch10",
            "title_target": "Harga Bayangan dari Kamus Akhir"
          }
        },
        {
          "id": "unit.o018.lab.ch10.ex-10-1",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch10.ex-10-1.unit.r017.book1.ch10.text.ex-001",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch10",
            "title_target": "Harga Bayangan dari Kamus Akhir"
          }
        }
      ],
      "title_id": "Harga Bayangan dari Kamus Akhir"
    },
    {
      "chapter": 10,
      "id": "unit.r017.book1.ch10.text.ex-002",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch10.text.ex-002",
      "number": "10.2",
      "reader": {
        "destination": "bookex*.901",
        "heading_witness": "Latihan 10.2 (Rentang Sensitivitas Ruas Kanan) ⋆Perhatikan program linier berikut beserta kamus\n",
        "heading_witness_sha256": "b95888cc5f6379f0cbcf414f7ee249d5ba4140e0e84117d416748677bbc30269",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "10.2",
        "page": 275
      },
      "source_span": {
        "content_bytes": 648,
        "content_sha256": "f1e2772b6d2804821aed5ef1a717e837861b0617c4456be03ade6dbca0b970c9",
        "environment": "ex",
        "id": "unit.r017.book1.ch10.text.ex-002",
        "label": "ex:sensitivity-rhs-range",
        "line_range": [
          898,
          922
        ],
        "native_record_sha256": "590d3bf7d0fab397bb9fe6022b2414c13fb8e2a4a8b4f4053cbc8a851010bd94",
        "normalized_character_range": [
          37643,
          38291
        ],
        "normalized_utf8_byte_range": [
          37643,
          38291
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
        "source_file": {
          "archive": "source",
          "bytes": 52340,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
          "sha256": "27125508e85609361382af200e24d33d5f979cb68f78c5eee94c06acd6a9c64c"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch10.solutions-manual.manualsolution-002",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch10.solutions-manual.manualsolution-002.unit.r017.book1.ch10.text.ex-002",
          "page": 522,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch10.ex-10-2",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch10.ex-10-2.unit.r017.book1.ch10.text.ex-002",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch10",
            "title_target": "Rentang Sensitivitas Ruas Kanan"
          }
        },
        {
          "id": "unit.o018.lab.ch10.ex-10-2",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch10.ex-10-2.unit.r017.book1.ch10.text.ex-002",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch10",
            "title_target": "Rentang Sensitivitas Ruas Kanan"
          }
        }
      ],
      "title_id": "Rentang Sensitivitas Ruas Kanan"
    },
    {
      "chapter": 10,
      "id": "unit.r017.book1.ch10.text.ex-003",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch10.text.ex-003",
      "number": "10.3",
      "reader": {
        "destination": "bookex*.902",
        "heading_witness": "Latihan 10.3 (Sensitivitas Koefisien Objektif) ⋆⋆Dengan menggunakan program linier dan kamus\noptimal yang sama seperti pada Latihan 10.2, tentukan rentang nilai koefisien objektif c1 (koefisien x1\ndalam fungsi objektif) yang mempertahankan keoptimalan basis saat ini. Bagaimana nilai objektif optimal\n",
        "heading_witness_sha256": "17964616195ed4752263d15cee51724594c2866356a4ac7499f8a6d95e616d37",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "10.3",
        "page": 276
      },
      "source_span": {
        "content_bytes": 440,
        "content_sha256": "8a95e635a55e6c08742cd8ec07458c0da20698834760462fabccb21900cf209d",
        "environment": "ex",
        "id": "unit.r017.book1.ch10.text.ex-003",
        "label": null,
        "line_range": [
          926,
          929
        ],
        "native_record_sha256": "af8d00a89712edfacc43a7d48d44b115b2fa1e2c2fd12ae248626c2cf01c2191",
        "normalized_character_range": [
          38314,
          38754
        ],
        "normalized_utf8_byte_range": [
          38314,
          38754
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
        "source_file": {
          "archive": "source",
          "bytes": 52340,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
          "sha256": "27125508e85609361382af200e24d33d5f979cb68f78c5eee94c06acd6a9c64c"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch10.solutions-manual.manualsolution-003",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch10.solutions-manual.manualsolution-003.unit.r017.book1.ch10.text.ex-003",
          "page": 523,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch10.ex-10-3",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch10.ex-10-3.unit.r017.book1.ch10.text.ex-003",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch10",
            "title_target": "Sensitivitas Koefisien Objektif"
          }
        },
        {
          "id": "unit.o018.lab.ch10.ex-10-3",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch10.ex-10-3.unit.r017.book1.ch10.text.ex-003",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch10",
            "title_target": "Sensitivitas Koefisien Objektif"
          }
        }
      ],
      "title_id": "Sensitivitas Koefisien Objektif"
    },
    {
      "chapter": 10,
      "id": "unit.r017.book1.ch10.text.ex-004",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch10.text.ex-004",
      "number": "10.4",
      "reader": {
        "destination": "bookex*.903",
        "heading_witness": "Latihan 10.4 (Analisis Sensitivitas Lengkap) ⋆⋆Sebuah bengkel merakit dua produk dengan laba $5\ndan $6 per unit:\nmax\n5x1 + 6x2\n",
        "heading_witness_sha256": "2e30feeeb9fe67452ce15e51a191df908474994302724b3f2ced38077e04b6f3",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "10.4",
        "page": 276
      },
      "source_span": {
        "content_bytes": 1036,
        "content_sha256": "3485247a90067ea7f6ec86c50148436209f682ef3f6f8e40532392328162799f",
        "environment": "ex",
        "id": "unit.r017.book1.ch10.text.ex-004",
        "label": "ex:sensitivity-workup-2x2",
        "line_range": [
          931,
          951
        ],
        "native_record_sha256": "bc493616517c676ca879b112cfaffb1633acff88ee89b675116f981071cc64ec",
        "normalized_character_range": [
          38756,
          39792
        ],
        "normalized_utf8_byte_range": [
          38756,
          39792
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
        "source_file": {
          "archive": "source",
          "bytes": 52340,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
          "sha256": "27125508e85609361382af200e24d33d5f979cb68f78c5eee94c06acd6a9c64c"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch10.solutions-manual.manualsolution-004",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch10.solutions-manual.manualsolution-004.unit.r017.book1.ch10.text.ex-004",
          "page": 523,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch10.ex-10-4",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch10.ex-10-4.unit.r017.book1.ch10.text.ex-004",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch10",
            "title_target": "Analisis Sensitivitas Lengkap"
          }
        },
        {
          "id": "unit.o018.lab.ch10.ex-10-4",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch10.ex-10-4.unit.r017.book1.ch10.text.ex-004",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch10",
            "title_target": "Analisis Sensitivitas Lengkap"
          }
        }
      ],
      "title_id": "Analisis Sensitivitas Lengkap"
    },
    {
      "chapter": 10,
      "id": "unit.r017.book1.ch10.text.ex-005",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch10.text.ex-005",
      "number": "10.5",
      "reader": {
        "destination": "bookex*.909",
        "heading_witness": "Latihan 10.5 (Menentukan Rentang Koefisien Basis dan Nonbasis) ⋆⋆Perhatikan PL\nmax\n5x1 + 2x2\ndengan syarat\n2x1 + x2 ≤10\n",
        "heading_witness_sha256": "d4b5676458f9f1beefda81557e3cc063b6dbf5b879899e75b862905b6eef315b",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "10.5",
        "page": 276
      },
      "source_span": {
        "content_bytes": 1156,
        "content_sha256": "c9500bd36abd693f677728c996a27b3b19a8443996123eeb73c1f4c980ccb5b4",
        "environment": "ex",
        "id": "unit.r017.book1.ch10.text.ex-005",
        "label": "ex:sensitivity-obj-nonbasic",
        "line_range": [
          953,
          973
        ],
        "native_record_sha256": "66cb010c0e3b18eac1bdda1f4bbe0f695f847e9a0c8ce18414829d7eef12e4ad",
        "normalized_character_range": [
          39794,
          40950
        ],
        "normalized_utf8_byte_range": [
          39794,
          40950
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
        "source_file": {
          "archive": "source",
          "bytes": 52340,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
          "sha256": "27125508e85609361382af200e24d33d5f979cb68f78c5eee94c06acd6a9c64c"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch10.solutions-manual.manualsolution-005",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch10.solutions-manual.manualsolution-005.unit.r017.book1.ch10.text.ex-005",
          "page": 524,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch10.ex-10-5",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch10.ex-10-5.unit.r017.book1.ch10.text.ex-005",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch10",
            "title_target": "Menentukan Rentang Koefisien Basis dan Nonbasis"
          }
        },
        {
          "id": "unit.o018.lab.ch10.ex-10-5",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch10.ex-10-5.unit.r017.book1.ch10.text.ex-005",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch10",
            "title_target": "Menentukan Rentang Koefisien Basis dan Nonbasis"
          }
        }
      ],
      "title_id": "Menentukan Rentang Koefisien Basis dan Nonbasis"
    },
    {
      "chapter": 10,
      "id": "unit.r017.book1.ch10.text.ex-006",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch10.text.ex-006",
      "number": "10.6",
      "reader": {
        "destination": "bookex*.914",
        "heading_witness": "Latihan 10.6 (Sensitivitas dari Invers Basis) ⋆⋆Perhatikan PL berikut:\nmax\n5x1 + 4x2\n",
        "heading_witness_sha256": "e7b45f192ef586845cffc8b46035d07de8ed40d101c29a75ad027f21c00bcaf2",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "10.6",
        "page": 277
      },
      "source_span": {
        "content_bytes": 917,
        "content_sha256": "2d59a18969688683e5815668b6787de645052fdc969a3eb9d506a48bb35e01d6",
        "environment": "ex",
        "id": "unit.r017.book1.ch10.text.ex-006",
        "label": "ex:sensitivity-basis-inverse",
        "line_range": [
          975,
          998
        ],
        "native_record_sha256": "b691c1e8388ecac4f6372b957284ac7a74eefcd2022edde40f655d0829d1eacb",
        "normalized_character_range": [
          40952,
          41869
        ],
        "normalized_utf8_byte_range": [
          40952,
          41869
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
        "source_file": {
          "archive": "source",
          "bytes": 52340,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
          "sha256": "27125508e85609361382af200e24d33d5f979cb68f78c5eee94c06acd6a9c64c"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch10.solutions-manual.manualsolution-006",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch10.solutions-manual.manualsolution-006.unit.r017.book1.ch10.text.ex-006",
          "page": 525,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch10.ex-10-6",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch10.ex-10-6.unit.r017.book1.ch10.text.ex-006",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch10",
            "title_target": "Sensitivitas dari Invers Basis"
          }
        },
        {
          "id": "unit.o018.lab.ch10.ex-10-6",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch10.ex-10-6.unit.r017.book1.ch10.text.ex-006",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch10",
            "title_target": "Sensitivitas dari Invers Basis"
          }
        }
      ],
      "title_id": "Sensitivitas dari Invers Basis"
    },
    {
      "chapter": 10,
      "id": "unit.r017.book1.ch10.text.ex-007",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch10.text.ex-007",
      "number": "10.7",
      "reader": {
        "destination": "bookex*.918",
        "heading_witness": "Latihan 10.7 (Membaca Laporan Sensitivitas) ⋆⋆Berikut adalah laporan sensitivitas dari Excel Solver\nuntuk PL maksimisasi dengan dua variabel keputusan x1 dan x2 serta tiga kendala:\nVariabel\nNilai\nKoef Obj\nKenaikan Diizinkan\nPenurunan Diizinkan\n",
        "heading_witness_sha256": "ebbef7331ea68dde95ab58a0f9b839e00ad3d347788daa207ce381d3e17305d6",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "10.7",
        "page": 277
      },
      "source_span": {
        "content_bytes": 1547,
        "content_sha256": "7c59d485edabc40cafd448b53f46924be1a6df4dfa0b4a2d2080307f9895d054",
        "environment": "ex",
        "id": "unit.r017.book1.ch10.text.ex-007",
        "label": "tab:sensitivity-LP-tab03",
        "line_range": [
          1000,
          1039
        ],
        "native_record_sha256": "584a95de35e90392144eb4bf9b420c165ef7031165c16cbcb8a1e6a84898ceac",
        "normalized_character_range": [
          41871,
          43418
        ],
        "normalized_utf8_byte_range": [
          41871,
          43418
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
        "source_file": {
          "archive": "source",
          "bytes": 52340,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
          "sha256": "27125508e85609361382af200e24d33d5f979cb68f78c5eee94c06acd6a9c64c"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch10.solutions-manual.manualsolution-007",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch10.solutions-manual.manualsolution-007.unit.r017.book1.ch10.text.ex-007",
          "page": 525,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch10.ex-10-7",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch10.ex-10-7.unit.r017.book1.ch10.text.ex-007",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch10",
            "title_target": "Membaca Laporan Sensitivitas"
          }
        },
        {
          "id": "unit.o018.lab.ch10.ex-10-7",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch10.ex-10-7.unit.r017.book1.ch10.text.ex-007",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch10",
            "title_target": "Membaca Laporan Sensitivitas"
          }
        }
      ],
      "title_id": "Membaca Laporan Sensitivitas"
    },
    {
      "chapter": 10,
      "id": "unit.r017.book1.ch10.text.ex-008",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch10.text.ex-008",
      "number": "10.8",
      "reader": {
        "destination": "bookex*.925",
        "heading_witness": "Latihan 10.8 (Penafsiran Harga Bayangan) ⋆⋆Sebuah bengkel mebel memproduksi meja dan kursi.\nProgram liniernya adalah:\nmax\n50x1 + 30x2\n(laba dalam dolar)\n",
        "heading_witness_sha256": "376800c6d91bc4bf8b7caf29f8ca9ea7e60f5f5b1f11026c879b3f916b84666a",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "10.8",
        "page": 278
      },
      "source_span": {
        "content_bytes": 886,
        "content_sha256": "b91555f47401b694826862eb5e02b70a01189565ad25f91ddbc081e2ebfd7af1",
        "environment": "ex",
        "id": "unit.r017.book1.ch10.text.ex-008",
        "label": "ex:shadow-price-workshop",
        "line_range": [
          1043,
          1063
        ],
        "native_record_sha256": "6fb64fd906cdf195ad8f368746c5082ea44a7c2b54b803b3a4868718f1ab5d23",
        "normalized_character_range": [
          43454,
          44340
        ],
        "normalized_utf8_byte_range": [
          43454,
          44340
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
        "source_file": {
          "archive": "source",
          "bytes": 52340,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
          "sha256": "27125508e85609361382af200e24d33d5f979cb68f78c5eee94c06acd6a9c64c"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch10.solutions-manual.manualsolution-008",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch10.solutions-manual.manualsolution-008.unit.r017.book1.ch10.text.ex-008",
          "page": 526,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch10.ex-10-8",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch10.ex-10-8.unit.r017.book1.ch10.text.ex-008",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch10",
            "title_target": "Penafsiran Harga Bayangan"
          }
        },
        {
          "id": "unit.o018.lab.ch10.ex-10-8",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch10.ex-10-8.unit.r017.book1.ch10.text.ex-008",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch10",
            "title_target": "Penafsiran Harga Bayangan"
          }
        }
      ],
      "title_id": "Penafsiran Harga Bayangan"
    },
    {
      "chapter": 10,
      "id": "unit.r017.book1.ch10.text.ex-009",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch10.text.ex-009",
      "number": "10.9",
      "reader": {
        "destination": "bookex*.929",
        "heading_witness": "Latihan 10.9 (Mengapa Kendala Berslack Berharga Nol) ⋆⋆Jelaskan dengan kata-kata Anda sendiri\nmengapa kendala yang tidak mengikat pada solusi optimal harus memiliki harga bayangan 0. Berikan dua\nargumen:\n",
        "heading_witness_sha256": "c23e6cfe283acd6874d61c1b8472ad047ae4050ba52c5dad83566b6c48ad2105",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "10.9",
        "page": 278
      },
      "source_span": {
        "content_bytes": 745,
        "content_sha256": "94c27187483f661303ac0336b7d0d9d0d630476b1f267b54194beded4c4553ab",
        "environment": "ex",
        "id": "unit.r017.book1.ch10.text.ex-009",
        "label": null,
        "line_range": [
          1065,
          1072
        ],
        "native_record_sha256": "3b883709547d3be57412686182ac3da81125a8dc45cd692869a54fcd99a69cd6",
        "normalized_character_range": [
          44342,
          45087
        ],
        "normalized_utf8_byte_range": [
          44342,
          45087
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
        "source_file": {
          "archive": "source",
          "bytes": 52340,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
          "sha256": "27125508e85609361382af200e24d33d5f979cb68f78c5eee94c06acd6a9c64c"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch10.solutions-manual.manualsolution-009",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch10.solutions-manual.manualsolution-009.unit.r017.book1.ch10.text.ex-009",
          "page": 526,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch10.ex-10-9",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch10.ex-10-9.unit.r017.book1.ch10.text.ex-009",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch10",
            "title_target": "Mengapa Kendala Berslack Berharga Nol"
          }
        },
        {
          "id": "unit.o018.lab.ch10.ex-10-9",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch10.ex-10-9.unit.r017.book1.ch10.text.ex-009",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch10",
            "title_target": "Mengapa Kendala Berslack Berharga Nol"
          }
        }
      ],
      "title_id": "Mengapa Kendala Berslack Berharga Nol"
    },
    {
      "chapter": 10,
      "id": "unit.r017.book1.ch10.text.ex-010",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch10.text.ex-010",
      "number": "10.10",
      "reader": {
        "destination": "bookex*.932",
        "heading_witness": "Latihan 10.10 (Mengapa Rentang Itu Ada) ⋆⋆Setiap besaran dalam laporan sensitivitas disertai\nrentang yang diizinkan. Jelaskan alasannya.\n1. Objek tunggal apa yang tetap selama perhitungan sensitivitas, dan dua jenis syarat apa (satu untuk\n",
        "heading_witness_sha256": "3ff7f1f0c7ded60079be351ac54fc03576d1951d4a8a9ed9b891783a8249bfa4",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "10.10",
        "page": 278
      },
      "source_span": {
        "content_bytes": 677,
        "content_sha256": "e56c47544f8cca5ae3ecfdcf00f3fda953dd6e63e28565546cec92f1f62afa39",
        "environment": "ex",
        "id": "unit.r017.book1.ch10.text.ex-010",
        "label": null,
        "line_range": [
          1074,
          1082
        ],
        "native_record_sha256": "398330b43dd4cd620d5f3f423e43f7b75751fbb226f5d88a152f387c6ef91fd0",
        "normalized_character_range": [
          45089,
          45766
        ],
        "normalized_utf8_byte_range": [
          45089,
          45766
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
        "source_file": {
          "archive": "source",
          "bytes": 52340,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
          "sha256": "27125508e85609361382af200e24d33d5f979cb68f78c5eee94c06acd6a9c64c"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch10.solutions-manual.manualsolution-010",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch10.solutions-manual.manualsolution-010.unit.r017.book1.ch10.text.ex-010",
          "page": 526,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch10.ex-10-10",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch10.ex-10-10.unit.r017.book1.ch10.text.ex-010",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch10",
            "title_target": "Mengapa Rentang Itu Ada"
          }
        },
        {
          "id": "unit.o018.lab.ch10.ex-10-10",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch10.ex-10-10.unit.r017.book1.ch10.text.ex-010",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch10",
            "title_target": "Mengapa Rentang Itu Ada"
          }
        }
      ],
      "title_id": "Mengapa Rentang Itu Ada"
    },
    {
      "chapter": 10,
      "id": "unit.r017.book1.ch10.text.ex-011",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch10.text.ex-011",
      "number": "10.11",
      "reader": {
        "destination": "bookex*.936",
        "heading_witness": "Latihan 10.11 (Ketika Prediksi Harga Bayangan Gagal) ⋆⋆Perhatikan PL\nmax x1 + x2\ndengan syarat\nx1 ≤1,\nx2 ≤1,\nx1 + x2 ≤2,\nx1,x2 ≥0,\n",
        "heading_witness_sha256": "f046cce24f530583a2bfc8e2d62e516de2ad43543d78df36a38574ac88c5a9c3",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "10.11",
        "page": 278
      },
      "source_span": {
        "content_bytes": 952,
        "content_sha256": "e893964d1bb2738aad023b22602c967cd504af614fd14ecc42381798f60a0379",
        "environment": "ex",
        "id": "unit.r017.book1.ch10.text.ex-011",
        "label": null,
        "line_range": [
          1084,
          1096
        ],
        "native_record_sha256": "6c2b0fb4316ec24f3a8ef23af36d2e611d412db2e115e9e302dc5e520bb39247",
        "normalized_character_range": [
          45768,
          46720
        ],
        "normalized_utf8_byte_range": [
          45768,
          46720
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
        "source_file": {
          "archive": "source",
          "bytes": 52340,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
          "sha256": "27125508e85609361382af200e24d33d5f979cb68f78c5eee94c06acd6a9c64c"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch10.solutions-manual.manualsolution-011",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch10.solutions-manual.manualsolution-011.unit.r017.book1.ch10.text.ex-011",
          "page": 527,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch10.ex-10-11",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch10.ex-10-11.unit.r017.book1.ch10.text.ex-011",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch10",
            "title_target": "Ketika Prediksi Harga Bayangan Gagal"
          }
        },
        {
          "id": "unit.o018.lab.ch10.ex-10-11",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch10.ex-10-11.unit.r017.book1.ch10.text.ex-011",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch10",
            "title_target": "Ketika Prediksi Harga Bayangan Gagal"
          }
        }
      ],
      "title_id": "Ketika Prediksi Harga Bayangan Gagal"
    },
    {
      "chapter": 10,
      "id": "unit.r017.book1.ch10.text.ex-012",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch10.text.ex-012",
      "number": "10.12",
      "reader": {
        "destination": "bookex*.940",
        "heading_witness": "Latihan 10.12 (Melampaui Rentang)\n⋆⋆⋆Susun sebuah program linier dengan suatu kendala yang\nharga bayangannya bernilai p > 0, sedemikian sehingga menaikkan ruas kanan kendala tersebut sebesar\n1 meningkatkan nilai optimal tepat sebesar p, tetapi menaikkannya sebesar 5 meningkatkan nilai optimal\n",
        "heading_witness_sha256": "0aa1e4b97e73e0b8b5e42b4138abb6d5441d39e7a84c79999a919e4c690b2d4a",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "10.12",
        "page": 279
      },
      "source_span": {
        "content_bytes": 704,
        "content_sha256": "2f1cd08a9301eafe47a47487d12d727d382469671108937093c6747b7308cd1b",
        "environment": "ex",
        "id": "unit.r017.book1.ch10.text.ex-012",
        "label": "ex:sensitivity-range-boundary",
        "line_range": [
          1100,
          1104
        ],
        "native_record_sha256": "430b93003165796698494a4e7e1f42e9f6bf2309f5a29ebda07b2418da3c0426",
        "normalized_character_range": [
          46748,
          47452
        ],
        "normalized_utf8_byte_range": [
          46748,
          47452
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
        "source_file": {
          "archive": "source",
          "bytes": 52340,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
          "sha256": "27125508e85609361382af200e24d33d5f979cb68f78c5eee94c06acd6a9c64c"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch10.solutions-manual.manualsolution-012",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch10.solutions-manual.manualsolution-012.unit.r017.book1.ch10.text.ex-012",
          "page": 528,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch10.ex-10-12",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch10.ex-10-12.unit.r017.book1.ch10.text.ex-012",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch10",
            "title_target": "Melampaui Rentang"
          }
        },
        {
          "id": "unit.o018.lab.ch10.ex-10-12",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch10.ex-10-12.unit.r017.book1.ch10.text.ex-012",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch10",
            "title_target": "Melampaui Rentang"
          }
        }
      ],
      "title_id": "Melampaui Rentang"
    },
    {
      "chapter": 11,
      "id": "unit.r017.book1.ch11.text-a.ex-001",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch11.text-a.ex-001",
      "number": "11.1",
      "reader": {
        "destination": "bookex*.972",
        "heading_witness": "Latihan 11.1 (Masalah Dual Toko Roti Kecil) ⋆Sebuah toko roti menjual roti tawar (x1, laba $5 per\nbuah) dan roti gulung (x2, laba $4 per buah), dengan penggunaan paling banyak 12 satuan tepung dan 5\nsatuan gula:\n",
        "heading_witness_sha256": "640e5dfaf29bc7f8d313471d259d1cdd74fc034d314b83816269e49ee87dcbad",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "11.1",
        "page": 300
      },
      "source_span": {
        "content_bytes": 914,
        "content_sha256": "7ab814cfbf47e98d1ec9f4d7d0aa0a8875d6bcf469866d1e7f80c96cc4a1ae46",
        "environment": "ex",
        "id": "unit.r017.book1.ch11.text-a.ex-001",
        "label": "ex:dual-2x2-warmup",
        "line_range": [
          1058,
          1075
        ],
        "native_record_sha256": "0394df5e2efeed37ef329272ded77ca2ba6855d2cac0c6e59f2a43b2a11e97db",
        "normalized_character_range": [
          45407,
          46321
        ],
        "normalized_utf8_byte_range": [
          45407,
          46321
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
        "source_file": {
          "archive": "source",
          "bytes": 54574,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
          "sha256": "ce71b6225b7c96fd52bb9c5df2718d6a2355a0482c4aec4350b0b1f0d5d34ec1"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-001",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch11.solutions-manual.manualsolution-001.unit.r017.book1.ch11.text-a.ex-001",
          "page": 529,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch11.ex-11-1",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch11.ex-11-1.unit.r017.book1.ch11.text-a.ex-001",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch11",
            "title_target": "Masalah Dual Toko Roti Kecil"
          }
        },
        {
          "id": "unit.o018.lab.ch11.ex-11-1",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch11.ex-11-1.unit.r017.book1.ch11.text-a.ex-001",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch11",
            "title_target": "Masalah Dual Toko Roti Kecil"
          }
        }
      ],
      "title_id": "Masalah Dual Toko Roti Kecil"
    },
    {
      "chapter": 11,
      "id": "unit.r017.book1.ch11.text-a.ex-002",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch11.text-a.ex-002",
      "number": "11.2",
      "reader": {
        "destination": "bookex*.976",
        "heading_witness": "Latihan 11.2 (Rumuskan Masalah Dual) ⋆Tuliskan masalah dual dari program linear berikut:\nMaksimumkan\n4x1 + 5x2 + 3x3\n",
        "heading_witness_sha256": "b2350db8450bccddff1c64db1a1ef7136f2bb8163b1338fa38232d61f7093a19",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "11.2",
        "page": 300
      },
      "source_span": {
        "content_bytes": 392,
        "content_sha256": "2a74ade891733e9b92e05eb06f5a0912339f4bae1d6c883a28643a0509e74e0b",
        "environment": "ex",
        "id": "unit.r017.book1.ch11.text-a.ex-002",
        "label": "ex:formulate-dual",
        "line_range": [
          1077,
          1090
        ],
        "native_record_sha256": "965889562fb730fc8f82d35be82581a1e1392483d41891991c3d3538f4250d34",
        "normalized_character_range": [
          46323,
          46715
        ],
        "normalized_utf8_byte_range": [
          46323,
          46715
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
        "source_file": {
          "archive": "source",
          "bytes": 54574,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
          "sha256": "ce71b6225b7c96fd52bb9c5df2718d6a2355a0482c4aec4350b0b1f0d5d34ec1"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-002",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch11.solutions-manual.manualsolution-002.unit.r017.book1.ch11.text-a.ex-002",
          "page": 530,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch11.ex-11-2",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch11.ex-11-2.unit.r017.book1.ch11.text-a.ex-002",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch11",
            "title_target": "Rumuskan Masalah Dual"
          }
        },
        {
          "id": "unit.o018.lab.ch11.ex-11-2",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch11.ex-11-2.unit.r017.book1.ch11.text-a.ex-002",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch11",
            "title_target": "Rumuskan Masalah Dual"
          }
        }
      ],
      "title_id": "Rumuskan Masalah Dual"
    },
    {
      "chapter": 11,
      "id": "unit.r017.book1.ch11.text-a.ex-003",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch11.text-a.ex-003",
      "number": "11.3",
      "reader": {
        "destination": "bookex*.977",
        "heading_witness": "Latihan 11.3 (Memverifikasi Dualitas Lemah) ⋆Untuk masalah toko roti pada §11.1,\nmax 3x1 + 2x2\ndengan kendala\nx1 + x2 ≤4,\n2x1 + x2 ≤5,\nx1,x2 ≥0,\n",
        "heading_witness_sha256": "63680ef6b218fa6e531fa79e0c6ef3e5336c40f06eae7557114f2d75d1137454",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "11.3",
        "page": 300
      },
      "source_span": {
        "content_bytes": 918,
        "content_sha256": "428c1602c7e26759fcabf5ba0bb26557f34f8005374e6679ad13c337869b9b20",
        "environment": "ex",
        "id": "unit.r017.book1.ch11.text-a.ex-003",
        "label": "ex:weak-duality-check",
        "line_range": [
          1092,
          1105
        ],
        "native_record_sha256": "1d445f44f07aa5447e4a03403bf3e88e7255a91b46fd5b075017e8c1642a26a6",
        "normalized_character_range": [
          46717,
          47635
        ],
        "normalized_utf8_byte_range": [
          46717,
          47635
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
        "source_file": {
          "archive": "source",
          "bytes": 54574,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
          "sha256": "ce71b6225b7c96fd52bb9c5df2718d6a2355a0482c4aec4350b0b1f0d5d34ec1"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-003",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch11.solutions-manual.manualsolution-003.unit.r017.book1.ch11.text-a.ex-003",
          "page": 530,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch11.ex-11-3",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch11.ex-11-3.unit.r017.book1.ch11.text-a.ex-003",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch11",
            "title_target": "Memverifikasi Dualitas Lemah"
          }
        },
        {
          "id": "unit.o018.lab.ch11.ex-11-3",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch11.ex-11-3.unit.r017.book1.ch11.text-a.ex-003",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch11",
            "title_target": "Memverifikasi Dualitas Lemah"
          }
        }
      ],
      "title_id": "Memverifikasi Dualitas Lemah"
    },
    {
      "chapter": 11,
      "id": "unit.r017.book1.ch11.text-a.ex-004",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch11.text-a.ex-004",
      "number": "11.4",
      "reader": {
        "destination": "bookex*.981",
        "heading_witness": "Latihan 11.4 (Batas Dualitas Lemah) ⋆⋆Perhatikan PL primal berikut:\nmax\n3x1 + 2x2\n",
        "heading_witness_sha256": "ed814802b4f01817243322f5ddc617b8a06d64221749c5a28227a08ad7f91127",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "11.4",
        "page": 301
      },
      "source_span": {
        "content_bytes": 776,
        "content_sha256": "84d28c6394fdf414191d1afc018dcd312225b750886d18958d757cd20db738f0",
        "environment": "ex",
        "id": "unit.r017.book1.ch11.text-a.ex-004",
        "label": "ex:weak-duality-bound",
        "line_range": [
          1109,
          1127
        ],
        "native_record_sha256": "19f5d8a0e1c04faa7d050bced5232941447b960d164e100e27b9face5ffc1fae",
        "normalized_character_range": [
          47661,
          48437
        ],
        "normalized_utf8_byte_range": [
          47661,
          48437
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
        "source_file": {
          "archive": "source",
          "bytes": 54574,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
          "sha256": "ce71b6225b7c96fd52bb9c5df2718d6a2355a0482c4aec4350b0b1f0d5d34ec1"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-004",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch11.solutions-manual.manualsolution-004.unit.r017.book1.ch11.text-a.ex-004",
          "page": 530,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch11.ex-11-4",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch11.ex-11-4.unit.r017.book1.ch11.text-a.ex-004",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch11",
            "title_target": "Batas Dualitas Lemah"
          }
        },
        {
          "id": "unit.o018.lab.ch11.ex-11-4",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch11.ex-11-4.unit.r017.book1.ch11.text-a.ex-004",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch11",
            "title_target": "Batas Dualitas Lemah"
          }
        }
      ],
      "title_id": "Batas Dualitas Lemah"
    },
    {
      "chapter": 11,
      "id": "unit.r017.book1.ch11.text-a.ex-005",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch11.text-a.ex-005",
      "number": "11.5",
      "reader": {
        "destination": "bookex*.986",
        "heading_witness": "Latihan 11.5 (Masalah Dual dengan Kendala Campuran) ⋆⋆Rumuskan masalah dual dari PL beri-\nkut:\nMaksimumkan\n2x1 + 3x2\n",
        "heading_witness_sha256": "7ddd0b33e795ad5733f9950eb6b2e67ecb6594a2b3db24f4f9363286f8fe782e",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "11.5",
        "page": 301
      },
      "source_span": {
        "content_bytes": 449,
        "content_sha256": "5d91ec2f0ff53383a3222f21c821524ed8c03a91d25829cad337770d06fc1c23",
        "environment": "ex",
        "id": "unit.r017.book1.ch11.text-a.ex-005",
        "label": null,
        "line_range": [
          1129,
          1142
        ],
        "native_record_sha256": "0862396c243ff3bf68ad81df9ecda349ad4626850dd7a945854c5257775d3b0b",
        "normalized_character_range": [
          48439,
          48888
        ],
        "normalized_utf8_byte_range": [
          48439,
          48888
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
        "source_file": {
          "archive": "source",
          "bytes": 54574,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
          "sha256": "ce71b6225b7c96fd52bb9c5df2718d6a2355a0482c4aec4350b0b1f0d5d34ec1"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-005",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch11.solutions-manual.manualsolution-005.unit.r017.book1.ch11.text-a.ex-005",
          "page": 531,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch11.ex-11-5",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch11.ex-11-5.unit.r017.book1.ch11.text-a.ex-005",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch11",
            "title_target": "Masalah Dual dengan Kendala Campuran"
          }
        },
        {
          "id": "unit.o018.lab.ch11.ex-11-5",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch11.ex-11-5.unit.r017.book1.ch11.text-a.ex-005",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch11",
            "title_target": "Masalah Dual dengan Kendala Campuran"
          }
        }
      ],
      "title_id": "Masalah Dual dengan Kendala Campuran"
    },
    {
      "chapter": 11,
      "id": "unit.r017.book1.ch11.text-a.ex-006",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch11.text-a.ex-006",
      "number": "11.6",
      "reader": {
        "destination": "bookex*.987",
        "heading_witness": "Latihan 11.6 (Harga Bayangan dan Variabel Dual) ⋆⋆Sebuah toko roti menyelesaikan PL berikut:\nmax\n5x1 + 4x2\n(laba dalam dolar)\n",
        "heading_witness_sha256": "772ee4870c4b3d13ce9beb50676114d9966fdd9c3b24a9fb972f80bfa226043d",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "11.6",
        "page": 301
      },
      "source_span": {
        "content_bytes": 1097,
        "content_sha256": "4accc39cd3af4c13bdcd5b361b0997ab28f688514c5f19f5b9f66097c5337227",
        "environment": "ex",
        "id": "unit.r017.book1.ch11.text-a.ex-006",
        "label": null,
        "line_range": [
          1144,
          1166
        ],
        "native_record_sha256": "68945efa6372764daeebce069e14c96103400b001d2e36c875e986072ac96752",
        "normalized_character_range": [
          48890,
          49987
        ],
        "normalized_utf8_byte_range": [
          48890,
          49987
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
        "source_file": {
          "archive": "source",
          "bytes": 54574,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
          "sha256": "ce71b6225b7c96fd52bb9c5df2718d6a2355a0482c4aec4350b0b1f0d5d34ec1"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-006",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch11.solutions-manual.manualsolution-006.unit.r017.book1.ch11.text-a.ex-006",
          "page": 531,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch11.ex-11-6",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch11.ex-11-6.unit.r017.book1.ch11.text-a.ex-006",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch11",
            "title_target": "Harga Bayangan dan Variabel Dual"
          }
        },
        {
          "id": "unit.o018.lab.ch11.ex-11-6",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch11.ex-11-6.unit.r017.book1.ch11.text-a.ex-006",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch11",
            "title_target": "Harga Bayangan dan Variabel Dual"
          }
        }
      ],
      "title_id": "Harga Bayangan dan Variabel Dual"
    },
    {
      "chapter": 11,
      "id": "unit.r017.book1.ch11.text-a.ex-007",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch11.text-a.ex-007",
      "number": "11.7",
      "reader": {
        "destination": "bookex*.992",
        "heading_witness": "Latihan 11.7 (Sertifikat dengan Kata-kata Anda Sendiri) ⋆⋆Gambar 11.1 menggambarkan setiap\nsolusi dual yang layak sebagai suatu sertifikat.\n1. Jelaskan dengan kata-kata Anda sendiri apa yang disertifikasi oleh y dual yang layak mengenai ma-\n",
        "heading_witness_sha256": "4f197f842b20c482caaf16fd7e579343c63cd9165af7709e5f10b553b0084d31",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "11.7",
        "page": 302
      },
      "source_span": {
        "content_bytes": 922,
        "content_sha256": "f010d77fdaee1c883327c018d5b8357e3465488d4c8b14111a6cf91ee4c9dcdf",
        "environment": "ex",
        "id": "unit.r017.book1.ch11.text-a.ex-007",
        "label": null,
        "line_range": [
          1170,
          1178
        ],
        "native_record_sha256": "5a05f9b5cd7ad164e94ce1134e8934dd5613338ea4a08c1a8af6a400b237bad4",
        "normalized_character_range": [
          50020,
          50942
        ],
        "normalized_utf8_byte_range": [
          50020,
          50942
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
        "source_file": {
          "archive": "source",
          "bytes": 54574,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
          "sha256": "ce71b6225b7c96fd52bb9c5df2718d6a2355a0482c4aec4350b0b1f0d5d34ec1"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-007",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch11.solutions-manual.manualsolution-007.unit.r017.book1.ch11.text-a.ex-007",
          "page": 532,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch11.ex-11-7",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch11.ex-11-7.unit.r017.book1.ch11.text-a.ex-007",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch11",
            "title_target": "Sertifikat dengan Kata-kata Anda Sendiri"
          }
        },
        {
          "id": "unit.o018.lab.ch11.ex-11-7",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch11.ex-11-7.unit.r017.book1.ch11.text-a.ex-007",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch11",
            "title_target": "Sertifikat dengan Kata-kata Anda Sendiri"
          }
        }
      ],
      "title_id": "Sertifikat dengan Kata-kata Anda Sendiri"
    },
    {
      "chapter": 11,
      "id": "unit.r017.book1.ch11.text-a.ex-008",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch11.text-a.ex-008",
      "number": "11.8",
      "reader": {
        "destination": "bookex*.996",
        "heading_witness": "Latihan 11.8 (Dualitas Kuat dan Ketaklayakan) ⋆⋆Perhatikan PL primal berikut:\nmax\nx1 + x2\n",
        "heading_witness_sha256": "8f26eebca3998b62b05414cd55b6ed32af7193ea55128d4213654a48d452097f",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "11.8",
        "page": 302
      },
      "source_span": {
        "content_bytes": 670,
        "content_sha256": "67bb5fbcc9cd8e8a7d9734e2648deca0b3a3e5eaee6615ff3b61e822a7b04de0",
        "environment": "ex",
        "id": "unit.r017.book1.ch11.text-a.ex-008",
        "label": null,
        "line_range": [
          1180,
          1196
        ],
        "native_record_sha256": "3c68a4b92a13febd09e5519f90433e0d51c790a109c7ae5cbba86259f5da43f4",
        "normalized_character_range": [
          50944,
          51614
        ],
        "normalized_utf8_byte_range": [
          50944,
          51614
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
        "source_file": {
          "archive": "source",
          "bytes": 54574,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
          "sha256": "ce71b6225b7c96fd52bb9c5df2718d6a2355a0482c4aec4350b0b1f0d5d34ec1"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-008",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch11.solutions-manual.manualsolution-008.unit.r017.book1.ch11.text-a.ex-008",
          "page": 532,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch11.ex-11-8",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch11.ex-11-8.unit.r017.book1.ch11.text-a.ex-008",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch11",
            "title_target": "Dualitas Kuat dan Ketaklayakan"
          }
        },
        {
          "id": "unit.o018.lab.ch11.ex-11-8",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch11.ex-11-8.unit.r017.book1.ch11.text-a.ex-008",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch11",
            "title_target": "Dualitas Kuat dan Ketaklayakan"
          }
        }
      ],
      "title_id": "Dualitas Kuat dan Ketaklayakan"
    },
    {
      "chapter": 11,
      "id": "unit.r017.book1.ch11.text-a.ex-009",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch11.text-a.ex-009",
      "number": "11.9",
      "reader": {
        "destination": "bookex*.1000",
        "heading_witness": "Latihan 11.9 (Dual dari Dual adalah Primal) ⋆⋆⋆Perhatikan pasangan primal–dual simetris\n(P)\nmax c⊤x dengan kendala Ax ≤b, x ≥0,\n(D)\nmin b⊤y dengan kendala A⊤y ≥c, y ≥0.\n",
        "heading_witness_sha256": "d43c9be2b76ca45e1bf74e8921cbcf433ffaa5ccd4f9e2328c2858b276fb89c9",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "11.9",
        "page": 302
      },
      "source_span": {
        "content_bytes": 668,
        "content_sha256": "7fc78e1fcc1f3cf40532b5e76d5bf2076ec333ccfd53020a499a0c060f4811c6",
        "environment": "ex",
        "id": "unit.r017.book1.ch11.text-a.ex-009",
        "label": "ex:dual-of-dual",
        "line_range": [
          1200,
          1210
        ],
        "native_record_sha256": "b6f148b6ed7d41f621bbf795ce7e214ff6f6f8c8be745bdd076d0cd56050f544",
        "normalized_character_range": [
          51645,
          52313
        ],
        "normalized_utf8_byte_range": [
          51645,
          52313
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
        "source_file": {
          "archive": "source",
          "bytes": 54574,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
          "sha256": "ce71b6225b7c96fd52bb9c5df2718d6a2355a0482c4aec4350b0b1f0d5d34ec1"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-009",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch11.solutions-manual.manualsolution-009.unit.r017.book1.ch11.text-a.ex-009",
          "page": 533,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch11.ex-11-9",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch11.ex-11-9.unit.r017.book1.ch11.text-a.ex-009",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch11",
            "title_target": "Dual dari Dual adalah Primal"
          }
        },
        {
          "id": "unit.o018.lab.ch11.ex-11-9",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch11.ex-11-9.unit.r017.book1.ch11.text-a.ex-009",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch11",
            "title_target": "Dual dari Dual adalah Primal"
          }
        }
      ],
      "title_id": "Dual dari Dual adalah Primal"
    },
    {
      "chapter": 11,
      "id": "unit.r017.book1.ch11.text-b.ex-001",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch11.text-b.ex-001",
      "number": "11.10",
      "reader": {
        "destination": "bookex*.1028",
        "heading_witness": "Latihan 11.10 (Memeriksa Syarat-syarat) ⋆Perhatikan pasangan primal–dual\nmax\n4x1 + 3x2\nmin\n6y1 + 10y2\n",
        "heading_witness_sha256": "bccef27fdf556e81345ac2dd0f070d3f268e48def29b81c08d4f93715d379549",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "11.10",
        "page": 308
      },
      "source_span": {
        "content_bytes": 905,
        "content_sha256": "20b792b9539c1505a950e4bf41acd4c22d256a8a10dc7c8c156bff161c0321b8",
        "environment": "ex",
        "id": "unit.r017.book1.ch11.text-b.ex-001",
        "label": "ex:cs-warmup-check",
        "line_range": [
          209,
          234
        ],
        "native_record_sha256": "c3c3a1e54d1a5bac5d954b3c41155b1f2af2c8223144b9023af825d58281c66b",
        "normalized_character_range": [
          8501,
          9406
        ],
        "normalized_utf8_byte_range": [
          8501,
          9406
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/complimentary-slackness.tex",
        "source_file": {
          "archive": "source",
          "bytes": 28658,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/complimentary-slackness.tex",
          "sha256": "acf99fe82812fc9ad487bdeb4d8a4e2e46918e0e40bb48edcd1a75d075ebc69a"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-010",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch11.solutions-manual.manualsolution-010.unit.r017.book1.ch11.text-b.ex-001",
          "page": 533,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch11.ex-11-10",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch11.ex-11-10.unit.r017.book1.ch11.text-b.ex-001",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch11",
            "title_target": "Memeriksa Syarat-syarat"
          }
        },
        {
          "id": "unit.o018.lab.ch11.ex-11-10",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch11.ex-11-10.unit.r017.book1.ch11.text-b.ex-001",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch11",
            "title_target": "Memeriksa Syarat-syarat"
          }
        }
      ],
      "title_id": "Memeriksa Syarat-syarat"
    },
    {
      "chapter": 11,
      "id": "unit.r017.book1.ch11.text-b.ex-002",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch11.text-b.ex-002",
      "number": "11.11",
      "reader": {
        "destination": "bookex*.1032",
        "heading_witness": "Latihan 11.11 (Produksi Toko Roti dan Interpretasi Dualitas) ⋆⋆Sebuah toko roti membuat kue (x1),\nkukis (x2), dan muffin (x3) untuk memaksimumkan laba:\n",
        "heading_witness_sha256": "d0e00470a909abbfe0c902b1e1fedf16b883a40b77dc18d9cc5cf59cccc329e0",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "11.11",
        "page": 308
      },
      "source_span": {
        "content_bytes": 2304,
        "content_sha256": "1143af6911675070a708975b6cde92bbbe9d310a24b73bbb0277b32d71e497af",
        "environment": "ex",
        "id": "unit.r017.book1.ch11.text-b.ex-002",
        "label": "ex:cs-bakery-duality",
        "line_range": [
          238,
          303
        ],
        "native_record_sha256": "77afd08d12e15392f015124a5b6ebefb2e5272d77a51e3f0ffc80e8938045874",
        "normalized_character_range": [
          9432,
          11736
        ],
        "normalized_utf8_byte_range": [
          9432,
          11736
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/complimentary-slackness.tex",
        "source_file": {
          "archive": "source",
          "bytes": 28658,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/complimentary-slackness.tex",
          "sha256": "acf99fe82812fc9ad487bdeb4d8a4e2e46918e0e40bb48edcd1a75d075ebc69a"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-011",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch11.solutions-manual.manualsolution-011.unit.r017.book1.ch11.text-b.ex-002",
          "page": 534,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch11.ex-11-11",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch11.ex-11-11.unit.r017.book1.ch11.text-b.ex-002",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch11",
            "title_target": "Produksi Toko Roti dan Interpretasi Dualitas"
          }
        },
        {
          "id": "unit.o018.lab.ch11.ex-11-11",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch11.ex-11-11.unit.r017.book1.ch11.text-b.ex-002",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch11",
            "title_target": "Produksi Toko Roti dan Interpretasi Dualitas"
          }
        }
      ],
      "title_id": "Produksi Toko Roti dan Interpretasi Dualitas"
    },
    {
      "chapter": 11,
      "id": "unit.r017.book1.ch11.text-b.ex-003",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch11.text-b.ex-003",
      "number": "11.12",
      "reader": {
        "destination": "bookex*.1041",
        "heading_witness": "Latihan 11.12 (Kendala Kotak dan Sertifikat Dual) ⋆⋆Perhatikan masalah optimisasi\nmax\nx1\n+\n4x2\n+\n9x3\n+\n16x4\n",
        "heading_witness_sha256": "72a3de49a889ab777ebba68dbbc7d8d5c2a5e38c60a5750fe3bfc63a1f490f1c",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "11.12",
        "page": 309
      },
      "source_span": {
        "content_bytes": 1143,
        "content_sha256": "e11ab5a8a2550855e128628fca01cc88d092d3a5c7c9441fe766e9b232734979",
        "environment": "ex",
        "id": "unit.r017.book1.ch11.text-b.ex-003",
        "label": "ex:cs-box-constraints",
        "line_range": [
          305,
          332
        ],
        "native_record_sha256": "b0f51f390dce425a3bce26b03847f63b5475d39a6adadbf851822a469e7f6cf3",
        "normalized_character_range": [
          11738,
          12881
        ],
        "normalized_utf8_byte_range": [
          11738,
          12881
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/complimentary-slackness.tex",
        "source_file": {
          "archive": "source",
          "bytes": 28658,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/complimentary-slackness.tex",
          "sha256": "acf99fe82812fc9ad487bdeb4d8a4e2e46918e0e40bb48edcd1a75d075ebc69a"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-012",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch11.solutions-manual.manualsolution-012.unit.r017.book1.ch11.text-b.ex-003",
          "page": 534,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch11.ex-11-12",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch11.ex-11-12.unit.r017.book1.ch11.text-b.ex-003",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch11",
            "title_target": "Kendala Kotak dan Sertifikat Dual"
          }
        },
        {
          "id": "unit.o018.lab.ch11.ex-11-12",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch11.ex-11-12.unit.r017.book1.ch11.text-b.ex-003",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch11",
            "title_target": "Kendala Kotak dan Sertifikat Dual"
          }
        }
      ],
      "title_id": "Kendala Kotak dan Sertifikat Dual"
    },
    {
      "chapter": 11,
      "id": "unit.r017.book1.ch11.text-b.ex-004",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch11.text-b.ex-004",
      "number": "11.13",
      "reader": {
        "destination": "bookex*.1042",
        "heading_witness": "Latihan 11.13 (Menurunkan Solusi Primal dari Tebakan Dual) ⋆⋆Perhatikan pasangan primal–dual\nberikut:\nMasalah Primal:\n",
        "heading_witness_sha256": "7ea67087c1e676e65588ec0366e62b04273234afbf502f2f78bff094cf69a036",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "11.13",
        "page": 309
      },
      "source_span": {
        "content_bytes": 885,
        "content_sha256": "524be29a1962aec7d9e7a8310bc1426fb12c08cc1b587fa039284ab0e4098319",
        "environment": "ex",
        "id": "unit.r017.book1.ch11.text-b.ex-004",
        "label": "ex:cs-dual-guess",
        "line_range": [
          334,
          366
        ],
        "native_record_sha256": "ffb84de66e8e43b93428676974d231ed677e7557497b9ef03f2df7c66400e9a7",
        "normalized_character_range": [
          12883,
          13768
        ],
        "normalized_utf8_byte_range": [
          12883,
          13768
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/complimentary-slackness.tex",
        "source_file": {
          "archive": "source",
          "bytes": 28658,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/complimentary-slackness.tex",
          "sha256": "acf99fe82812fc9ad487bdeb4d8a4e2e46918e0e40bb48edcd1a75d075ebc69a"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-013",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch11.solutions-manual.manualsolution-013.unit.r017.book1.ch11.text-b.ex-004",
          "page": 535,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch11.ex-11-13",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch11.ex-11-13.unit.r017.book1.ch11.text-b.ex-004",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch11",
            "title_target": "Menurunkan Solusi Primal dari Tebakan Dual"
          }
        },
        {
          "id": "unit.o018.lab.ch11.ex-11-13",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch11.ex-11-13.unit.r017.book1.ch11.text-b.ex-004",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch11",
            "title_target": "Menurunkan Solusi Primal dari Tebakan Dual"
          }
        }
      ],
      "title_id": "Menurunkan Solusi Primal dari Tebakan Dual"
    },
    {
      "chapter": 11,
      "id": "unit.r017.book1.ch11.text-b.ex-005",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch11.text-b.ex-005",
      "number": "11.14",
      "reader": {
        "destination": "bookex*.1043",
        "heading_witness": "Latihan 11.14 (Harga Positif pada Kendala yang Longgar) ⋆⋆Seorang teman sekelas menyelesaikan\npasangan primal–dual program linear dan melaporkan x∗yang layak bagi masalah primal serta y∗yang\nlayak bagi masalah dual. Dalam laporannya, kendala primal kedua memiliki kelonggaran pada x∗(ruas\n",
        "heading_witness_sha256": "230cc2ac57f22f9e817ccf2d376037b28c7f0ad3b18f6e79aa9e765ae50c4a7f",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "11.14",
        "page": 310
      },
      "source_span": {
        "content_bytes": 889,
        "content_sha256": "96b0a564cc639a8d5367203d90be65774e206b828cfa49237e8699d723d36160",
        "environment": "ex",
        "id": "unit.r017.book1.ch11.text-b.ex-005",
        "label": null,
        "line_range": [
          370,
          378
        ],
        "native_record_sha256": "f0684b93c5561ce3c5a432543e6cb5091e9bf836516364a757a5222618d7ef64",
        "normalized_character_range": [
          13801,
          14690
        ],
        "normalized_utf8_byte_range": [
          13801,
          14690
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/complimentary-slackness.tex",
        "source_file": {
          "archive": "source",
          "bytes": 28658,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/complimentary-slackness.tex",
          "sha256": "acf99fe82812fc9ad487bdeb4d8a4e2e46918e0e40bb48edcd1a75d075ebc69a"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-014",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch11.solutions-manual.manualsolution-014.unit.r017.book1.ch11.text-b.ex-005",
          "page": 535,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch11.ex-11-14",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch11.ex-11-14.unit.r017.book1.ch11.text-b.ex-005",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch11",
            "title_target": "Harga Positif pada Kendala yang Longgar"
          }
        },
        {
          "id": "unit.o018.lab.ch11.ex-11-14",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch11.ex-11-14.unit.r017.book1.ch11.text-b.ex-005",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch11",
            "title_target": "Harga Positif pada Kendala yang Longgar"
          }
        }
      ],
      "title_id": "Harga Positif pada Kendala yang Longgar"
    },
    {
      "chapter": 11,
      "id": "unit.r017.book1.ch11.text-b.ex-006",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch11.text-b.ex-006",
      "number": "11.15",
      "reader": {
        "destination": "bookex*.1047",
        "heading_witness": "Latihan 11.15 (Menyangkal Klaim Solusi Optimal) ⋆⋆Misalkan suatu program linear memiliki per-\numusan primal dan dual berikut:\nPrimal:\n",
        "heading_witness_sha256": "bfd48b84d15fe153163450381b8235949e440426c2efd896dd04087736fe7a32",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "11.15",
        "page": 310
      },
      "source_span": {
        "content_bytes": 1089,
        "content_sha256": "96265bc1b4be8d5011fe51aca2c7a0c20286d54a949254941c598f47deed0de5",
        "environment": "ex",
        "id": "unit.r017.book1.ch11.text-b.ex-006",
        "label": "ex:cs-claimed-optimal",
        "line_range": [
          380,
          414
        ],
        "native_record_sha256": "ec9450c6aab10a6b6c839e40145755913ee2e18fe8703b06f66417c290c1ab55",
        "normalized_character_range": [
          14692,
          15781
        ],
        "normalized_utf8_byte_range": [
          14692,
          15781
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/complimentary-slackness.tex",
        "source_file": {
          "archive": "source",
          "bytes": 28658,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/complimentary-slackness.tex",
          "sha256": "acf99fe82812fc9ad487bdeb4d8a4e2e46918e0e40bb48edcd1a75d075ebc69a"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-015",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch11.solutions-manual.manualsolution-015.unit.r017.book1.ch11.text-b.ex-006",
          "page": 536,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch11.ex-11-15",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch11.ex-11-15.unit.r017.book1.ch11.text-b.ex-006",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch11",
            "title_target": "Menyangkal Klaim Solusi Optimal"
          }
        },
        {
          "id": "unit.o018.lab.ch11.ex-11-15",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch11.ex-11-15.unit.r017.book1.ch11.text-b.ex-006",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch11",
            "title_target": "Menyangkal Klaim Solusi Optimal"
          }
        }
      ],
      "title_id": "Menyangkal Klaim Solusi Optimal"
    },
    {
      "chapter": 11,
      "id": "unit.r017.book1.ch11.text-b.ex-007",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch11.text-b.ex-007",
      "number": "11.16",
      "reader": {
        "destination": "bookex*.1048",
        "heading_witness": "Latihan 11.16 (Optimisasi Paket Makanan dan Dualitas) ⋆⋆⋆Anda adalah manajer operasi pada\nperusahaan rintisan yang merakit dan mengirimkan paket makanan sehat. Setiap paket memenuhi se-\nlera pelanggan yang berbeda: vegetarian, tinggi protein, cepat disiapkan, dan sebagainya. Anda ingin\n",
        "heading_witness_sha256": "19ff57d3fcfb35e137c7a0de49db331720881fb6bad4002ae372f222e0fcdbcd",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "11.16",
        "page": 311
      },
      "source_span": {
        "content_bytes": 3129,
        "content_sha256": "5aac6f51aeeb4a2dfc1b595991baeb1ceb0c7b95e718f555aa525cef542bb2be",
        "environment": "ex",
        "id": "unit.r017.book1.ch11.text-b.ex-007",
        "label": "tab:complimentary-slackness-tab01",
        "line_range": [
          418,
          495
        ],
        "native_record_sha256": "a916dcd43c4b8abc48579b96707a3b69338b62a5f26649a0eb504d7745e7ef86",
        "normalized_character_range": [
          15812,
          18941
        ],
        "normalized_utf8_byte_range": [
          15812,
          18941
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/complimentary-slackness.tex",
        "source_file": {
          "archive": "source",
          "bytes": 28658,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/complimentary-slackness.tex",
          "sha256": "acf99fe82812fc9ad487bdeb4d8a4e2e46918e0e40bb48edcd1a75d075ebc69a"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-016",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch11.solutions-manual.manualsolution-016.unit.r017.book1.ch11.text-b.ex-007",
          "page": 536,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch11.ex-11-16",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch11.ex-11-16.unit.r017.book1.ch11.text-b.ex-007",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch11",
            "title_target": "Optimisasi Paket Makanan dan Dualitas"
          }
        },
        {
          "id": "unit.o018.lab.ch11.ex-11-16",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch11.ex-11-16.unit.r017.book1.ch11.text-b.ex-007",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch11",
            "title_target": "Optimisasi Paket Makanan dan Dualitas"
          }
        }
      ],
      "title_id": "Optimisasi Paket Makanan dan Dualitas"
    },
    {
      "chapter": 11,
      "id": "unit.r017.book1.ch11.text-b.ex-008",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch11.text-b.ex-008",
      "number": "11.17",
      "reader": {
        "destination": "bookex*.1056",
        "heading_witness": "Latihan 11.17 (Dualitas dengan Jenis Kendala Campuran: Perusahaan Rintisan Kemasan Ramah\nLingkungan) ⋆⋆⋆Anda mengelola produksi pada perusahaan rintisan kemasan ramah lingkungan. Tim\nAnda membuat berbagai set wadah yang dapat terurai secara hayati untuk petani dan toko bahan makanan\n",
        "heading_witness_sha256": "f31ef736eedfcc6119bd8667b2f412434505cea3a47644dca2a242ad921e8b19",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "11.17",
        "page": 312
      },
      "source_span": {
        "content_bytes": 3371,
        "content_sha256": "60c1eae8e359b8cd8fb3b228cfd59017a077c30c069105c729645d286ab5d09c",
        "environment": "ex",
        "id": "unit.r017.book1.ch11.text-b.ex-008",
        "label": "tab:complimentary-slackness-tab03",
        "line_range": [
          497,
          589
        ],
        "native_record_sha256": "16dc5de41a515b84d4494d0d5165a603f3ae5b898ceb707643a032a0f02f6006",
        "normalized_character_range": [
          18943,
          22314
        ],
        "normalized_utf8_byte_range": [
          18943,
          22314
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/complimentary-slackness.tex",
        "source_file": {
          "archive": "source",
          "bytes": 28658,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/complimentary-slackness.tex",
          "sha256": "acf99fe82812fc9ad487bdeb4d8a4e2e46918e0e40bb48edcd1a75d075ebc69a"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch11.solutions-manual.manualsolution-017",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch11.solutions-manual.manualsolution-017.unit.r017.book1.ch11.text-b.ex-008",
          "page": 537,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch11.ex-11-17",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch11.ex-11-17.unit.r017.book1.ch11.text-b.ex-008",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch11",
            "title_target": "Dualitas dengan Jenis Kendala Campuran: Perusahaan Rintisan Kemasan Ramah Lingkungan"
          }
        },
        {
          "id": "unit.o018.lab.ch11.ex-11-17",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch11.ex-11-17.unit.r017.book1.ch11.text-b.ex-008",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch11",
            "title_target": "Dualitas dengan Jenis Kendala Campuran: Perusahaan Rintisan Kemasan Ramah Lingkungan"
          }
        }
      ],
      "title_id": "Dualitas dengan Jenis Kendala Campuran: Perusahaan Rintisan Kemasan Ramah Lingkungan"
    },
    {
      "chapter": 12,
      "id": "unit.r017.book1.ch12.text.ex-001",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch12.text.ex-001",
      "number": "12.1",
      "reader": {
        "destination": "bookex*.1874",
        "heading_witness": "Latihan 12.1 (Margin Laba Baru) ⋆Dalam contoh bauran produk, kenaikan harga meningkatkan\nlaba Produk 1 dari $3 menjadi $5 per unit; Produk 2 tetap menghasilkan $2, dan data sumber daya tidak\nberubah. Ubah kode PuLP pada contoh, selesaikan kembali, lalu laporkan rencana produksi dan laba\n",
        "heading_witness_sha256": "b5439207ec5df93568c723641f4e7238de47c958c42a0c466958149d0a1db229",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "12.1",
        "page": 358
      },
      "source_span": {
        "content_bytes": 469,
        "content_sha256": "3e7eb2a7c6feb42782118bf31ebd8361740d68d3fdc86b070d29a912b59a2b36",
        "environment": "ex",
        "id": "unit.r017.book1.ch12.text.ex-001",
        "label": "ex:pulp-new-profit",
        "line_range": [
          1366,
          1370
        ],
        "native_record_sha256": "e058b266273641b015996cc4e229414b6cb950a4c1d1beb87ccabb8fc9790439",
        "normalized_character_range": [
          48010,
          48479
        ],
        "normalized_utf8_byte_range": [
          48010,
          48479
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-python-book1.tex",
        "source_file": {
          "archive": "source",
          "bytes": 57796,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-python-book1.tex",
          "sha256": "d4e0649df95b71b4b22c49bb133fb4bd9cf8d3407a8e0d5e3fe0a665c0975261"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch12.solutions-manual.manualsolution-001",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch12.solutions-manual.manualsolution-001.unit.r017.book1.ch12.text.ex-001",
          "page": 539,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch12.ex-12-1",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch12.ex-12-1.unit.r017.book1.ch12.text.ex-001",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch12",
            "title_target": "Margin Laba Baru"
          }
        },
        {
          "id": "unit.o018.lab.ch12.ex-12-1",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch12.ex-12-1.unit.r017.book1.ch12.text.ex-001",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch12",
            "title_target": "Margin Laba Baru"
          }
        }
      ],
      "title_id": "Margin Laba Baru"
    },
    {
      "chapter": 12,
      "id": "unit.r017.book1.ch12.text.ex-002",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch12.text.ex-002",
      "number": "12.2",
      "reader": {
        "destination": "bookex*.1875",
        "heading_witness": "Latihan 12.2 (Dari Matematika ke PuLP) ⋆Terjemahkan program linear berikut menjadi kode PuLP\ndengan mengikuti pola pemodelan enam langkah, lalu selesaikan. Laporkan nilai tujuan optimal dan nilai\nketiga variabel.\n",
        "heading_witness_sha256": "106923b7b04c51ddf6ab546c44970130dbb4ec113e92bab35c5a239ca0b7958a",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "12.2",
        "page": 358
      },
      "source_span": {
        "content_bytes": 515,
        "content_sha256": "6eb404b9c844ef47807b3819ff208f93384b7337ce9dc93d4de504c16ce2bc89",
        "environment": "ex",
        "id": "unit.r017.book1.ch12.text.ex-002",
        "label": "ex:pulp-translate",
        "line_range": [
          1372,
          1383
        ],
        "native_record_sha256": "6d1123997c68386aa2bd0d05fc9186ae53c58106f9b4e3ff2f1443973674dc8c",
        "normalized_character_range": [
          48481,
          48996
        ],
        "normalized_utf8_byte_range": [
          48481,
          48996
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-python-book1.tex",
        "source_file": {
          "archive": "source",
          "bytes": 57796,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-python-book1.tex",
          "sha256": "d4e0649df95b71b4b22c49bb133fb4bd9cf8d3407a8e0d5e3fe0a665c0975261"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch12.solutions-manual.manualsolution-002",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch12.solutions-manual.manualsolution-002.unit.r017.book1.ch12.text.ex-002",
          "page": 540,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch12.ex-12-2",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch12.ex-12-2.unit.r017.book1.ch12.text.ex-002",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch12",
            "title_target": "Dari Matematika ke Python"
          }
        },
        {
          "id": "unit.o018.lab.ch12.ex-12-2",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch12.ex-12-2.unit.r017.book1.ch12.text.ex-002",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch12",
            "title_target": "Dari Matematika ke Python"
          }
        }
      ],
      "title_id": "Dari Matematika ke PuLP"
    },
    {
      "chapter": 12,
      "id": "unit.r017.book1.ch12.text.ex-003",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch12.text.ex-003",
      "number": "12.3",
      "reader": {
        "destination": "bookex*.1876",
        "heading_witness": "Latihan 12.3 (Data Permintaan Baru) ⋆Dalam contoh transportasi lengkap, permintaan pasar ber-\nubah: NYC kini memerlukan 100 unit, LA memerlukan 80 unit, dan Houston tetap memerlukan 70 unit.\nPersediaan dan biaya tidak berubah. Perbarui dictionary demand, selesaikan kembali, lalu laporkan bi-\n",
        "heading_witness_sha256": "dad6e5f38707f9697cf1d14f59213223bdd64f7298ea5439c8785d23ef60a5e9",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "12.3",
        "page": 358
      },
      "source_span": {
        "content_bytes": 539,
        "content_sha256": "e0bbdaf37c3efa83787ae3c9344565540f7ccc8f3181a4024fe25f60b27ab225",
        "environment": "ex",
        "id": "unit.r017.book1.ch12.text.ex-003",
        "label": "ex:pulp-transport-data",
        "line_range": [
          1385,
          1389
        ],
        "native_record_sha256": "e306577036cad0a1e4a0e7c263a80fb45a9e21ec52ccf1fbde187830ae887fbf",
        "normalized_character_range": [
          48998,
          49537
        ],
        "normalized_utf8_byte_range": [
          48998,
          49537
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-python-book1.tex",
        "source_file": {
          "archive": "source",
          "bytes": 57796,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-python-book1.tex",
          "sha256": "d4e0649df95b71b4b22c49bb133fb4bd9cf8d3407a8e0d5e3fe0a665c0975261"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch12.solutions-manual.manualsolution-003",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch12.solutions-manual.manualsolution-003.unit.r017.book1.ch12.text.ex-003",
          "page": 541,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch12.ex-12-3",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch12.ex-12-3.unit.r017.book1.ch12.text.ex-003",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch12",
            "title_target": "Data Permintaan Baru"
          }
        },
        {
          "id": "unit.o018.lab.ch12.ex-12-3",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch12.ex-12-3.unit.r017.book1.ch12.text.ex-003",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch12",
            "title_target": "Data Permintaan Baru"
          }
        }
      ],
      "title_id": "Data Permintaan Baru"
    },
    {
      "chapter": 12,
      "id": "unit.r017.book1.ch12.text.ex-004",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch12.text.ex-004",
      "number": "12.4",
      "reader": {
        "destination": "bookex*.1877",
        "heading_witness": "Latihan 12.4 (Model Transportasi Tiga Pabrik) ⋆⋆Bangun model PuLP dari awal untuk masalah\ntransportasi berikut. Pabrik A, B, dan C masing-masing dapat memasok 60, 70, dan 80 unit. Pasar M1,\nM2, dan M3 masing-masing memerlukan 50, 60, dan 70 unit. Biaya pengiriman per unit adalah:\n",
        "heading_witness_sha256": "be8832f3f93bfd6b3fd15f24e7928ab6500ea3f0cbb761940859fa2fb271fc9b",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "12.4",
        "page": 359
      },
      "source_span": {
        "content_bytes": 880,
        "content_sha256": "021d1a293acca45e37df2f61d3940a5b2a408b28be3296d1073735dfd472822e",
        "environment": "ex",
        "id": "unit.r017.book1.ch12.text.ex-004",
        "label": "ex:pulp-transport-model",
        "line_range": [
          1393,
          1411
        ],
        "native_record_sha256": "e2f749bd865ddcfe52274803a67202ecdd3e06946541ab5c1146228c37431830",
        "normalized_character_range": [
          49560,
          50440
        ],
        "normalized_utf8_byte_range": [
          49560,
          50440
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-python-book1.tex",
        "source_file": {
          "archive": "source",
          "bytes": 57796,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-python-book1.tex",
          "sha256": "d4e0649df95b71b4b22c49bb133fb4bd9cf8d3407a8e0d5e3fe0a665c0975261"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch12.solutions-manual.manualsolution-004",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch12.solutions-manual.manualsolution-004.unit.r017.book1.ch12.text.ex-004",
          "page": 542,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch12.ex-12-4",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch12.ex-12-4.unit.r017.book1.ch12.text.ex-004",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch12",
            "title_target": "Model Transportasi Tiga Pabrik"
          }
        },
        {
          "id": "unit.o018.lab.ch12.ex-12-4",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch12.ex-12-4.unit.r017.book1.ch12.text.ex-004",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch12",
            "title_target": "Model Transportasi Tiga Pabrik"
          }
        }
      ],
      "title_id": "Model Transportasi Tiga Pabrik"
    },
    {
      "chapter": 12,
      "id": "unit.r017.book1.ch12.text.ex-005",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch12.text.ex-005",
      "number": "12.5",
      "reader": {
        "destination": "bookex*.1879",
        "heading_witness": "Latihan 12.5 (Dual dan Slack dari Model yang Telah Diselesaikan) ⋆⋆Selesaikan contoh bauran\nproduk semula, lalu jalankan:\nfor name\nc in prob constraints items()\n",
        "heading_witness_sha256": "cf7fc6309a9bcf2db4c54fc3a8e25eae42c3d4ef364dbcf12d73578acb336b91",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "12.5",
        "page": 359
      },
      "source_span": {
        "content_bytes": 844,
        "content_sha256": "6fe0db304de22082b1df03dd688f903a73485aca5524dd11937169068549b4b9",
        "environment": "ex",
        "id": "unit.r017.book1.ch12.text.ex-005",
        "label": "ex:pulp-duals",
        "line_range": [
          1413,
          1427
        ],
        "native_record_sha256": "1fa5789ecabfba62e5d95c5dcd39e6a14160572b925d76431e156db45e5e5916",
        "normalized_character_range": [
          50442,
          51286
        ],
        "normalized_utf8_byte_range": [
          50442,
          51286
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-python-book1.tex",
        "source_file": {
          "archive": "source",
          "bytes": 57796,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-python-book1.tex",
          "sha256": "d4e0649df95b71b4b22c49bb133fb4bd9cf8d3407a8e0d5e3fe0a665c0975261"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch12.solutions-manual.manualsolution-005",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch12.solutions-manual.manualsolution-005.unit.r017.book1.ch12.text.ex-005",
          "page": 543,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch12.ex-12-5",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch12.ex-12-5.unit.r017.book1.ch12.text.ex-005",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch12",
            "title_target": "Dual dan Slack dari Model yang Telah Diselesaikan"
          }
        },
        {
          "id": "unit.o018.lab.ch12.ex-12-5",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch12.ex-12-5.unit.r017.book1.ch12.text.ex-005",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch12",
            "title_target": "Dual dan Slack dari Model yang Telah Diselesaikan"
          }
        }
      ],
      "title_id": "Dual dan Slack dari Model yang Telah Diselesaikan"
    },
    {
      "chapter": 12,
      "id": "unit.r017.book1.ch12.text.ex-006",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch12.text.ex-006",
      "number": "12.6",
      "reader": {
        "destination": "bookex*.1886",
        "heading_witness": "Latihan 12.6 (Sapuan Kendala Epsilon) ⋆⋆Bab multiobjektif (Bagian 13.3) memberikan listing PuLP\nyang menyapu batas pada tujuan sekunder untuk menelusuri garis depan Pareto. Gunakan listing terse-\nbut sebagai templat bagi contoh bauran produk: perusahaan menginginkan laba tinggi, tetapi juga ingin\n",
        "heading_witness_sha256": "d7d7e4965ae34baa519c3ce781e92ebcd545bccb6479dbc95151d3d83750b811",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "12.6",
        "page": 359
      },
      "source_span": {
        "content_bytes": 740,
        "content_sha256": "768c96826571fed07a692850518d38e857353f9357677c3bd06fecc9d658939e",
        "environment": "ex",
        "id": "unit.r017.book1.ch12.text.ex-006",
        "label": "ex:pulp-epsilon",
        "line_range": [
          1429,
          1433
        ],
        "native_record_sha256": "742471d09b800c241b871a1f5b24525bd84c87b31cab19cb2686d80af85f05d5",
        "normalized_character_range": [
          51288,
          52028
        ],
        "normalized_utf8_byte_range": [
          51288,
          52028
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-python-book1.tex",
        "source_file": {
          "archive": "source",
          "bytes": 57796,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-python-book1.tex",
          "sha256": "d4e0649df95b71b4b22c49bb133fb4bd9cf8d3407a8e0d5e3fe0a665c0975261"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch12.solutions-manual.manualsolution-006",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch12.solutions-manual.manualsolution-006.unit.r017.book1.ch12.text.ex-006",
          "page": 544,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch12.ex-12-6",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch12.ex-12-6.unit.r017.book1.ch12.text.ex-006",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch12",
            "title_target": "Sapuan Kendala Epsilon"
          }
        },
        {
          "id": "unit.o018.lab.ch12.ex-12-6",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch12.ex-12-6.unit.r017.book1.ch12.text.ex-006",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch12",
            "title_target": "Sapuan Kendala Epsilon"
          }
        }
      ],
      "title_id": "Sapuan Kendala Epsilon"
    },
    {
      "chapter": 12,
      "id": "unit.r017.book1.ch12.text.ex-007",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch12.text.ex-007",
      "number": "12.7",
      "reader": {
        "destination": "bookex*.1887",
        "heading_witness": "Latihan 12.7 (Kendala yang Tidak Ada) ⋆⋆Misalkan Anda membangun model bauran produk, tetapi\nlupa menambahkan kendala tenaga kerja (baris prob += 4*x1 + 4*x2 <= 160, \"Labor\" tidak\nada).\n",
        "heading_witness_sha256": "b3343aaa6b0edd3b21678fb40b734ee24cf90a18c524c603a4a497af50b96ff8",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "12.7",
        "page": 359
      },
      "source_span": {
        "content_bytes": 828,
        "content_sha256": "363e4dab03b7e466aff39b79b9f1adf5f9dcb11f7e1d1fb00e2a6d1963284825",
        "environment": "ex",
        "id": "unit.r017.book1.ch12.text.ex-007",
        "label": "ex:pulp-missing-constraint",
        "line_range": [
          1437,
          1446
        ],
        "native_record_sha256": "30d046307186ae7cb9b30186c009bd1aa4ef5256ae120cb83eaa512d15931734",
        "normalized_character_range": [
          52064,
          52892
        ],
        "normalized_utf8_byte_range": [
          52064,
          52892
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-python-book1.tex",
        "source_file": {
          "archive": "source",
          "bytes": 57796,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-python-book1.tex",
          "sha256": "d4e0649df95b71b4b22c49bb133fb4bd9cf8d3407a8e0d5e3fe0a665c0975261"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch12.solutions-manual.manualsolution-007",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch12.solutions-manual.manualsolution-007.unit.r017.book1.ch12.text.ex-007",
          "page": 545,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch12.ex-12-7",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch12.ex-12-7.unit.r017.book1.ch12.text.ex-007",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch12",
            "title_target": "Kendala yang Tidak Ada"
          }
        },
        {
          "id": "unit.o018.lab.ch12.ex-12-7",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch12.ex-12-7.unit.r017.book1.ch12.text.ex-007",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch12",
            "title_target": "Kendala yang Tidak Ada"
          }
        }
      ],
      "title_id": "Kendala yang Tidak Ada"
    },
    {
      "chapter": 12,
      "id": "unit.r017.book1.ch12.text.ex-008",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch12.text.ex-008",
      "number": "12.8",
      "reader": {
        "destination": "bookex*.1891",
        "heading_witness": "Latihan 12.8 (Meminimumkan atau Memaksimumkan?)\n⋆⋆Seorang mahasiswa membuat masa-\nlah bauran produk dengan LpProblem(\"Product_Mix\", LpMinimize), tetapi mempertahankan\nfungsi tujuan 3*x1 + 2*x2.\n",
        "heading_witness_sha256": "789b12bde7103cc41f46732679c621a749ba3b94218874a307645b289079175e",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "12.8",
        "page": 360
      },
      "source_span": {
        "content_bytes": 804,
        "content_sha256": "b0bd0b34e9ae59db9a7c6ec95713a95953495dea0014961d68072e403dd92cc4",
        "environment": "ex",
        "id": "unit.r017.book1.ch12.text.ex-008",
        "label": "ex:pulp-sense",
        "line_range": [
          1448,
          1457
        ],
        "native_record_sha256": "4b98e0ee37f00212b81b26b35bcb6c5933236e47f57006d5a15d415b3d3ee9b9",
        "normalized_character_range": [
          52894,
          53698
        ],
        "normalized_utf8_byte_range": [
          52894,
          53698
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-python-book1.tex",
        "source_file": {
          "archive": "source",
          "bytes": 57796,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-python-book1.tex",
          "sha256": "d4e0649df95b71b4b22c49bb133fb4bd9cf8d3407a8e0d5e3fe0a665c0975261"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch12.solutions-manual.manualsolution-008",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch12.solutions-manual.manualsolution-008.unit.r017.book1.ch12.text.ex-008",
          "page": 546,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch12.ex-12-8",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch12.ex-12-8.unit.r017.book1.ch12.text.ex-008",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch12",
            "title_target": "Meminimumkan atau Memaksimumkan?"
          }
        },
        {
          "id": "unit.o018.lab.ch12.ex-12-8",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch12.ex-12-8.unit.r017.book1.ch12.text.ex-008",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch12",
            "title_target": "Meminimumkan atau Memaksimumkan?"
          }
        }
      ],
      "title_id": "Meminimumkan atau Memaksimumkan?"
    },
    {
      "chapter": 12,
      "id": "unit.r017.book1.ch12.text.ex-009",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch12.text.ex-009",
      "number": "12.9",
      "reader": {
        "destination": "bookex*.1895",
        "heading_witness": "Latihan 12.9 (Laba sebagai Fungsi Tenaga Kerja) ⋆⋆⋆Tulis sebuah perulangan yang menyelesa-\nikan contoh bauran produk untuk ketersediaan tenaga kerja b ∈{100,110,120,...,190} (data lain tidak\nberubah), mencatat laba optimal untuk setiap b, serta membuat plot atau tabel laba terhadap b.\n",
        "heading_witness_sha256": "08c4bb3ba35e6ec1d6ba94cfa16cca45aaac647de0d80b1beb8e5a8725df1d78",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "12.9",
        "page": 360
      },
      "source_span": {
        "content_bytes": 915,
        "content_sha256": "76366b75f87c2ad326d96def356160cf1421e6dd631990bf81ca247cf0123902",
        "environment": "ex",
        "id": "unit.r017.book1.ch12.text.ex-009",
        "label": "ex:pulp-rhs-sweep",
        "line_range": [
          1461,
          1470
        ],
        "native_record_sha256": "6c1fbe12f19917cbc6ccd240f33a43730ff11c3cec8f945661348a87e1457dc7",
        "normalized_character_range": [
          53726,
          54641
        ],
        "normalized_utf8_byte_range": [
          53726,
          54641
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-python-book1.tex",
        "source_file": {
          "archive": "source",
          "bytes": 57796,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-python-book1.tex",
          "sha256": "d4e0649df95b71b4b22c49bb133fb4bd9cf8d3407a8e0d5e3fe0a665c0975261"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch12.solutions-manual.manualsolution-009",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch12.solutions-manual.manualsolution-009.unit.r017.book1.ch12.text.ex-009",
          "page": 547,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch12.ex-12-9",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch12.ex-12-9.unit.r017.book1.ch12.text.ex-009",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch12",
            "title_target": "Laba sebagai Fungsi Tenaga Kerja"
          }
        },
        {
          "id": "unit.o018.lab.ch12.ex-12-9",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch12.ex-12-9.unit.r017.book1.ch12.text.ex-009",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch12",
            "title_target": "Laba sebagai Fungsi Tenaga Kerja"
          }
        }
      ],
      "title_id": "Laba sebagai Fungsi Tenaga Kerja"
    },
    {
      "chapter": 13,
      "id": "unit.r017.book1.ch13.text.ex-001",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch13.text.ex-001",
      "number": "13.1",
      "reader": {
        "destination": "bookex*.1951",
        "heading_witness": "Latihan 13.1 (Mendefinisikan Optimalitas Pareto) ⋆Definisikan optimalitas Pareto untuk masalah\nminimisasi multiobjektif dengan dua tujuan.\n[Bagian 13.2]\n",
        "heading_witness_sha256": "671b82ed781125e35122acf9b2a83f7415a2c5723c4bb5cda4e92180ee02b288",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "13.1",
        "page": 373
      },
      "source_span": {
        "content_bytes": 225,
        "content_sha256": "4c25710a5c5236bb5fe5f0554a99c9ea9dc81e9e3b786fefa76d06fc4c2c0252",
        "environment": "ex",
        "id": "unit.r017.book1.ch13.text.ex-001",
        "label": "ex:pareto-def",
        "line_range": [
          441,
          445
        ],
        "native_record_sha256": "34f84b22128a3dc40d4b58777b58463c831ec6b9b2d6be7470b513a347a1c571",
        "normalized_character_range": [
          27729,
          27954
        ],
        "normalized_utf8_byte_range": [
          27729,
          27954
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
        "source_file": {
          "archive": "source",
          "bytes": 44623,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
          "sha256": "f03649dc7debed42b616a03bfb64d9a0cca27a00afcd3580cab57c1ba94bde23"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch13.solutions-manual.manualsolution-001",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch13.solutions-manual.manualsolution-001.unit.r017.book1.ch13.text.ex-001",
          "page": 549,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch13.ex-13-1",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch13.ex-13-1.unit.r017.book1.ch13.text.ex-001",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch13",
            "title_target": "Mendefinisikan Optimalitas Pareto"
          }
        },
        {
          "id": "unit.o018.lab.ch13.ex-13-1",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch13.ex-13-1.unit.r017.book1.ch13.text.ex-001",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch13",
            "title_target": "Mendefinisikan Optimalitas Pareto"
          }
        }
      ],
      "title_id": "Mendefinisikan Optimalitas Pareto"
    },
    {
      "chapter": 13,
      "id": "unit.r017.book1.ch13.text.ex-002",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch13.text.ex-002",
      "number": "13.2",
      "reader": {
        "destination": "bookex*.1952",
        "heading_witness": "Latihan 13.2 (Menemukan Desain Terdominasi) ⋆Lima kontrak pemasok dinilai menurut dua tujuan\nyang keduanya akan diminimumkan: f1 (biaya, dalam kelipatan $1000) dan f2 (waktu pengiriman, dalam\nhari).\n",
        "heading_witness_sha256": "05a5a614474db9d90635b3641fe3292a764c17c931e4890e0838b2c66f7d04b9",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "13.2",
        "page": 373
      },
      "source_span": {
        "content_bytes": 907,
        "content_sha256": "ce898750a5616000152be3a63d0ed8b568e5da9655224bef7ebba616f7e87b49",
        "environment": "ex",
        "id": "unit.r017.book1.ch13.text.ex-002",
        "label": "ex:moo-dominance",
        "line_range": [
          447,
          467
        ],
        "native_record_sha256": "f068b1736fa64ffe712fa52788d9849ede0f616c747c3dd50f5d6a98f2ab2219",
        "normalized_character_range": [
          27956,
          28863
        ],
        "normalized_utf8_byte_range": [
          27956,
          28863
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
        "source_file": {
          "archive": "source",
          "bytes": 44623,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
          "sha256": "f03649dc7debed42b616a03bfb64d9a0cca27a00afcd3580cab57c1ba94bde23"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch13.solutions-manual.manualsolution-002",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch13.solutions-manual.manualsolution-002.unit.r017.book1.ch13.text.ex-002",
          "page": 549,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch13.ex-13-2",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch13.ex-13-2.unit.r017.book1.ch13.text.ex-002",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch13",
            "title_target": "Menemukan Desain Terdominasi"
          }
        },
        {
          "id": "unit.o018.lab.ch13.ex-13-2",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch13.ex-13-2.unit.r017.book1.ch13.text.ex-002",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch13",
            "title_target": "Menemukan Desain Terdominasi"
          }
        }
      ],
      "title_id": "Menemukan Desain Terdominasi"
    },
    {
      "chapter": 13,
      "id": "unit.r017.book1.ch13.text.ex-003",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch13.text.ex-003",
      "number": "13.3",
      "reader": {
        "destination": "bookex*.1957",
        "heading_witness": "Latihan 13.3 (Menghitung Skor Jumlah Berbobot) ⋆Dengan menggunakan tabel kontrak dari La-\ntihan 13.2, bentuk skor berbobot S = w1 f1 + w2 f2 (kedua tujuan diminimumkan, sehingga skor terendah\nmenang).i\n",
        "heading_witness_sha256": "50609ded344ebdd5ec5ded7f1fc7549c253fc39316b6ac5154f6bc58636edc3f",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "13.3",
        "page": 373
      },
      "source_span": {
        "content_bytes": 762,
        "content_sha256": "86864b495d5d125bc1b8076db91de19d32a2dc48e26de0d5dcaafde4f8cc77a5",
        "environment": "ex",
        "id": "unit.r017.book1.ch13.text.ex-003",
        "label": "ex:moo-weighted-scores",
        "line_range": [
          469,
          478
        ],
        "native_record_sha256": "52cb90affde8785e18c9fdfbb4b4d8c860d463ec94bb47d68abd113dca1b09d9",
        "normalized_character_range": [
          28865,
          29627
        ],
        "normalized_utf8_byte_range": [
          28865,
          29627
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
        "source_file": {
          "archive": "source",
          "bytes": 44623,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
          "sha256": "f03649dc7debed42b616a03bfb64d9a0cca27a00afcd3580cab57c1ba94bde23"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch13.solutions-manual.manualsolution-003",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch13.solutions-manual.manualsolution-003.unit.r017.book1.ch13.text.ex-003",
          "page": 549,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch13.ex-13-3",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch13.ex-13-3.unit.r017.book1.ch13.text.ex-003",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch13",
            "title_target": "Menghitung Skor Jumlah Berbobot"
          }
        },
        {
          "id": "unit.o018.lab.ch13.ex-13-3",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch13.ex-13-3.unit.r017.book1.ch13.text.ex-003",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch13",
            "title_target": "Menghitung Skor Jumlah Berbobot"
          }
        }
      ],
      "title_id": "Menghitung Skor Jumlah Berbobot"
    },
    {
      "chapter": 13,
      "id": "unit.r017.book1.ch13.text.ex-004",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch13.text.ex-004",
      "number": "13.4",
      "reader": {
        "destination": "bookex*.1961",
        "heading_witness": "Latihan 13.4 (Batas Pareto, Jumlah Berbobot, dan Kendala-ε) ⋆⋆Perhatikan himpunan layak desain\nberikut dengan dua tujuan yang akan diminimumkan: f1 (biaya) dan f2 (emisi). Tabel ini mencantumkan\nenam kandidat dari suatu studi desain; sebagian mungkin terdominasi di dalam himpunan ini.\n",
        "heading_witness_sha256": "8dbf0573127c3cab464b520de958dfd10cad9ca6b852528edc3e893b2e0de906",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "13.4",
        "page": 374
      },
      "source_span": {
        "content_bytes": 1653,
        "content_sha256": "445f2bb51cc1e4eb898af8e3dba71006acc74c37069eddd193fb5c3428342196",
        "environment": "ex",
        "id": "unit.r017.book1.ch13.text.ex-004",
        "label": "ex:pareto-table",
        "line_range": [
          482,
          514
        ],
        "native_record_sha256": "c8e036061c04db7e06acd276b26d187b6b9c578d9de8b70dc13fd051d83168f2",
        "normalized_character_range": [
          29650,
          31303
        ],
        "normalized_utf8_byte_range": [
          29650,
          31303
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
        "source_file": {
          "archive": "source",
          "bytes": 44623,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
          "sha256": "f03649dc7debed42b616a03bfb64d9a0cca27a00afcd3580cab57c1ba94bde23"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch13.solutions-manual.manualsolution-004",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch13.solutions-manual.manualsolution-004.unit.r017.book1.ch13.text.ex-004",
          "page": 550,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch13.ex-13-4",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch13.ex-13-4.unit.r017.book1.ch13.text.ex-004",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch13",
            "title_target": "Batas Pareto, Jumlah Berbobot, dan Kendala-ε"
          }
        },
        {
          "id": "unit.o018.lab.ch13.ex-13-4",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch13.ex-13-4.unit.r017.book1.ch13.text.ex-004",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch13",
            "title_target": "Batas Pareto, Jumlah Berbobot, dan Kendala-ε"
          }
        }
      ],
      "title_id": "Batas Pareto, Jumlah Berbobot, dan Kendala-$\\varepsilon$"
    },
    {
      "chapter": 13,
      "id": "unit.r017.book1.ch13.text.ex-005",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch13.text.ex-005",
      "number": "13.5",
      "reader": {
        "destination": "bookex*.1967",
        "heading_witness": "Latihan 13.5 (Metode Jumlah Berbobot) ⋆⋆Seorang perencana kota sedang mengevaluasi tiga proyek\npeningkatan jalan. Setiap proyek memiliki biaya (yang akan diminimumkan) dan skor aksesibilitas (yang\nakan dimaksimumkan):\n",
        "heading_witness_sha256": "90328434cab0048766c2ead656041b940a41ff61927c436f10355d389b7288b9",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "13.5",
        "page": 375
      },
      "source_span": {
        "content_bytes": 1140,
        "content_sha256": "c0f23f2724757e101e876dfa33a53bc68f656f5a86098e4a79dcd844eaa60e42",
        "environment": "ex",
        "id": "unit.r017.book1.ch13.text.ex-005",
        "label": "ex:weighted-sum-projects",
        "line_range": [
          516,
          540
        ],
        "native_record_sha256": "f35e418f728e24bca732ab2e711d29f0a85cf74b303524d22b6d4954b2afb1fd",
        "normalized_character_range": [
          31305,
          32445
        ],
        "normalized_utf8_byte_range": [
          31305,
          32445
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
        "source_file": {
          "archive": "source",
          "bytes": 44623,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
          "sha256": "f03649dc7debed42b616a03bfb64d9a0cca27a00afcd3580cab57c1ba94bde23"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch13.solutions-manual.manualsolution-005",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch13.solutions-manual.manualsolution-005.unit.r017.book1.ch13.text.ex-005",
          "page": 550,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch13.ex-13-5",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch13.ex-13-5.unit.r017.book1.ch13.text.ex-005",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch13",
            "title_target": "Metode Jumlah Berbobot"
          }
        },
        {
          "id": "unit.o018.lab.ch13.ex-13-5",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch13.ex-13-5.unit.r017.book1.ch13.text.ex-005",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch13",
            "title_target": "Metode Jumlah Berbobot"
          }
        }
      ],
      "title_id": "Metode Jumlah Berbobot"
    },
    {
      "chapter": 13,
      "id": "unit.r017.book1.ch13.text.ex-006",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch13.text.ex-006",
      "number": "13.6",
      "reader": {
        "destination": "bookex*.1972",
        "heading_witness": "Latihan 13.6 (Metode Kendala-Epsilon) ⋆⋆Perhatikan sebuah program linear dwi-tujuan:\nmin ( f1(x), f2(x)) = (x1 + 2x2, 3x1 + x2)\n",
        "heading_witness_sha256": "38c005b75017c1747ef503474f047afc643e408d5e39eaa62b8c3dce8e87f20e",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "13.6",
        "page": 375
      },
      "source_span": {
        "content_bytes": 793,
        "content_sha256": "9be7441c72195de9d91c392c3b348a2ce3b5e767d5ee69975ee1df741429034e",
        "environment": "ex",
        "id": "unit.r017.book1.ch13.text.ex-006",
        "label": "ex:eps-constraint-lp",
        "line_range": [
          542,
          556
        ],
        "native_record_sha256": "63a9009b555cf3fec9780c096de76bb0e3f6a07f7680025cd01d8fd0d7f48c17",
        "normalized_character_range": [
          32447,
          33240
        ],
        "normalized_utf8_byte_range": [
          32447,
          33240
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
        "source_file": {
          "archive": "source",
          "bytes": 44623,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
          "sha256": "f03649dc7debed42b616a03bfb64d9a0cca27a00afcd3580cab57c1ba94bde23"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch13.solutions-manual.manualsolution-006",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch13.solutions-manual.manualsolution-006.unit.r017.book1.ch13.text.ex-006",
          "page": 551,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch13.ex-13-6",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch13.ex-13-6.unit.r017.book1.ch13.text.ex-006",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch13",
            "title_target": "Metode Kendala-Epsilon"
          }
        },
        {
          "id": "unit.o018.lab.ch13.ex-13-6",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch13.ex-13-6.unit.r017.book1.ch13.text.ex-006",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch13",
            "title_target": "Metode Kendala-Epsilon"
          }
        }
      ],
      "title_id": "Metode Kendala-Epsilon"
    },
    {
      "chapter": 13,
      "id": "unit.r017.book1.ch13.text.ex-007",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch13.text.ex-007",
      "number": "13.7",
      "reader": {
        "destination": "bookex*.1976",
        "heading_witness": "Latihan 13.7 (Kendala-Epsilon secara Manual) ⋆⋆Perhatikan dua tujuan yang akan dimaksimumkan,\nf1 = 3x1 + x2 dan f2 = x1 + 3x2, di atas segitiga\nX = {(x1 x2) ≥0 : x1 + x2 ≤6}\n",
        "heading_witness_sha256": "5587e1d71e53a4c8135aa0f553f566ad825f1e319cc813ced9c632fbdb947ab7",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "13.7",
        "page": 375
      },
      "source_span": {
        "content_bytes": 1015,
        "content_sha256": "b50d954f9fa8bab0d47cad7d3c7ea6c6d6c53cbc569424c036db20dcf32aab63",
        "environment": "ex",
        "id": "unit.r017.book1.ch13.text.ex-007",
        "label": "ex:eps-triangle",
        "line_range": [
          558,
          571
        ],
        "native_record_sha256": "2b705f8ef9f3b3380fd90982533f5cc616c6485a7a5dd4ec6bd18ee9e76bf2b6",
        "normalized_character_range": [
          33242,
          34257
        ],
        "normalized_utf8_byte_range": [
          33242,
          34257
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
        "source_file": {
          "archive": "source",
          "bytes": 44623,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
          "sha256": "f03649dc7debed42b616a03bfb64d9a0cca27a00afcd3580cab57c1ba94bde23"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch13.solutions-manual.manualsolution-007",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch13.solutions-manual.manualsolution-007.unit.r017.book1.ch13.text.ex-007",
          "page": 552,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch13.ex-13-7",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch13.ex-13-7.unit.r017.book1.ch13.text.ex-007",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch13",
            "title_target": "Kendala-Epsilon secara Manual"
          }
        },
        {
          "id": "unit.o018.lab.ch13.ex-13-7",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch13.ex-13-7.unit.r017.book1.ch13.text.ex-007",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch13",
            "title_target": "Kendala-Epsilon secara Manual"
          }
        }
      ],
      "title_id": "Kendala-Epsilon secara Manual"
    },
    {
      "chapter": 13,
      "id": "unit.r017.book1.ch13.text.ex-008",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch13.text.ex-008",
      "number": "13.8",
      "reader": {
        "destination": "bookex*.1981",
        "heading_witness": "Latihan 13.8 (Analisis Kompromi) ⋆⋆Sebuah perusahaan manufaktur menghadapi dua tujuan yang\nbertentangan: meminimumkan biaya produksi (f1) dan meminimumkan emisi lingkungan (f2). Setelah\nmenyelesaikan serangkaian masalah jumlah berbobot, ditemukan solusi-solusi optimal Pareto berikut:\n",
        "heading_witness_sha256": "057ce58aaa1877dd775621e1c23cb52551ac31325a5a800addccf7db43192e53",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "13.8",
        "page": 375
      },
      "source_span": {
        "content_bytes": 1171,
        "content_sha256": "30dca72f42632ca3fb668fd217fdfae8da41d4c0cd4f2a566ed49c8a46a337c4",
        "environment": "ex",
        "id": "unit.r017.book1.ch13.text.ex-008",
        "label": "ex:tradeoff-analysis",
        "line_range": [
          573,
          596
        ],
        "native_record_sha256": "0a92ef8864ff2e9c49424e3dad7c7fe78fa0f4bfb9978ffc7868014fdb1f2f7c",
        "normalized_character_range": [
          34259,
          35430
        ],
        "normalized_utf8_byte_range": [
          34259,
          35430
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
        "source_file": {
          "archive": "source",
          "bytes": 44623,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
          "sha256": "f03649dc7debed42b616a03bfb64d9a0cca27a00afcd3580cab57c1ba94bde23"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch13.solutions-manual.manualsolution-008",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch13.solutions-manual.manualsolution-008.unit.r017.book1.ch13.text.ex-008",
          "page": 552,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch13.ex-13-8",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch13.ex-13-8.unit.r017.book1.ch13.text.ex-008",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch13",
            "title_target": "Analisis Kompromi"
          }
        },
        {
          "id": "unit.o018.lab.ch13.ex-13-8",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch13.ex-13-8.unit.r017.book1.ch13.text.ex-008",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch13",
            "title_target": "Analisis Kompromi"
          }
        }
      ],
      "title_id": "Analisis Kompromi"
    },
    {
      "chapter": 13,
      "id": "unit.r017.book1.ch13.text.ex-009",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch13.text.ex-009",
      "number": "13.9",
      "reader": {
        "destination": "bookex*.1986",
        "heading_witness": "Latihan 13.9 (Hal yang Tidak Dapat Dilihat oleh Jumlah Berbobot) ⋆⋆Sebuah studi desain meng-\nhasilkan tepat tiga hasil optimal Pareto di ruang tujuan, dengan kedua tujuan diminimumkan:\nP = (0 4)\nQ = (3 3)\nR = (4 0)\n",
        "heading_witness_sha256": "48cb5cca74fa4e2e5b9016eeac33f0ae87f680cc2abab097b10cfca0aaee0cc7",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "13.9",
        "page": 376
      },
      "source_span": {
        "content_bytes": 1231,
        "content_sha256": "347c327f42147089bbb7532f2ee54adb6e3803fdc245643a3430f41667a80a85",
        "environment": "ex",
        "id": "unit.r017.book1.ch13.text.ex-009",
        "label": "ex:nonconvex-weights",
        "line_range": [
          600,
          613
        ],
        "native_record_sha256": "ca3b718dd6fe9f28aab2af6808321bcf0e8a887aa6bae45822381237c2d037a7",
        "normalized_character_range": [
          35461,
          36692
        ],
        "normalized_utf8_byte_range": [
          35461,
          36692
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
        "source_file": {
          "archive": "source",
          "bytes": 44623,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
          "sha256": "f03649dc7debed42b616a03bfb64d9a0cca27a00afcd3580cab57c1ba94bde23"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch13.solutions-manual.manualsolution-009",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch13.solutions-manual.manualsolution-009.unit.r017.book1.ch13.text.ex-009",
          "page": 553,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch13.ex-13-9",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch13.ex-13-9.unit.r017.book1.ch13.text.ex-009",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch13",
            "title_target": "Hal yang Tidak Dapat Dilihat oleh Jumlah Berbobot"
          }
        },
        {
          "id": "unit.o018.lab.ch13.ex-13-9",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch13.ex-13-9.unit.r017.book1.ch13.text.ex-009",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch13",
            "title_target": "Hal yang Tidak Dapat Dilihat oleh Jumlah Berbobot"
          }
        }
      ],
      "title_id": "Hal yang Tidak Dapat Dilihat oleh Jumlah Berbobot"
    },
    {
      "chapter": 13,
      "id": "unit.r017.book1.ch13.text.ex-010",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch13.text.ex-010",
      "number": "13.10",
      "reader": {
        "destination": "bookex*.1991",
        "heading_witness": "Latihan 13.10 (Leksikografis versus Jumlah Berbobot) ⋆⋆Dalam contoh furnitur di Bagian 13.2, me-\ntode leksikografis (pertama memaksimumkan pendapatan, lalu meminimumkan limbah di antara rencana\nyang optimal menurut pendapatan) memilih (10,8).\n",
        "heading_witness_sha256": "dc1afa0e2eb094f0b5804da3de4ba598534c4e83ec25e0a61eac925dd5de7e34",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "13.10",
        "page": 376
      },
      "source_span": {
        "content_bytes": 1310,
        "content_sha256": "0699774a73d6783c05eaa67b8b421166ca9aa88282336ec02b6f88e08db7bc2f",
        "environment": "ex",
        "id": "unit.r017.book1.ch13.text.ex-010",
        "label": "ex:lex-vs-weighted",
        "line_range": [
          615,
          624
        ],
        "native_record_sha256": "cffb19199dfcb5e64330189d55d274039dbf963ac12ba91a9dbbb15cbff39a65",
        "normalized_character_range": [
          36694,
          38004
        ],
        "normalized_utf8_byte_range": [
          36694,
          38004
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
        "source_file": {
          "archive": "source",
          "bytes": 44623,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
          "sha256": "f03649dc7debed42b616a03bfb64d9a0cca27a00afcd3580cab57c1ba94bde23"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch13.solutions-manual.manualsolution-010",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch13.solutions-manual.manualsolution-010.unit.r017.book1.ch13.text.ex-010",
          "page": 553,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch13.ex-13-10",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch13.ex-13-10.unit.r017.book1.ch13.text.ex-010",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch13",
            "title_target": "Leksikografis versus Jumlah Berbobot"
          }
        },
        {
          "id": "unit.o018.lab.ch13.ex-13-10",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch13.ex-13-10.unit.r017.book1.ch13.text.ex-010",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch13",
            "title_target": "Leksikografis versus Jumlah Berbobot"
          }
        }
      ],
      "title_id": "Leksikografis versus Jumlah Berbobot"
    },
    {
      "chapter": 13,
      "id": "unit.r017.book1.ch13.text.ex-011",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch13.text.ex-011",
      "number": "13.11",
      "reader": {
        "destination": "bookex*.1995",
        "heading_witness": "Latihan 13.11 (Bobot yang Memilih Setiap Titik Sudut) ⋆⋆⋆Kembali ke contoh furnitur pada Bagi-\nan 13.2. Ukur pendapatan dalam ribuan dolar, sehingga tujuannya adalah f1 = 8x+2y (dimaksimumkan)\ndan f2 = 10x+ 2y (diminimumkan, limbah dalam bdft). Metode jumlah berbobot menyelesaikan\n",
        "heading_witness_sha256": "8326465eae6e595231583adbb7c5528d42edb47a85cb852bf19ce4e4e571836e",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "13.11",
        "page": 377
      },
      "source_span": {
        "content_bytes": 1304,
        "content_sha256": "111873bc091731cd89b76e6f8cf68550c6692e3fc4d8f79b613d882aea4f3dfc",
        "environment": "ex",
        "id": "unit.r017.book1.ch13.text.ex-011",
        "label": "ex:furniture-weights",
        "line_range": [
          628,
          641
        ],
        "native_record_sha256": "e7c5950665ef9a61103567fdc5000cc5f47aab87c4e0abb55ce7c66df493802d",
        "normalized_character_range": [
          38032,
          39336
        ],
        "normalized_utf8_byte_range": [
          38032,
          39336
        ],
        "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
        "source_file": {
          "archive": "source",
          "bytes": 44623,
          "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
          "sha256": "f03649dc7debed42b616a03bfb64d9a0cca27a00afcd3580cab57c1ba94bde23"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.o018.lab.ch13.ex-13-11",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch13.ex-13-11.unit.r017.book1.ch13.text.ex-011",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch13",
            "title_target": "Bobot yang Memilih Setiap Titik Sudut"
          }
        },
        {
          "id": "unit.o018.lab.ch13.ex-13-11",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch13.ex-13-11.unit.r017.book1.ch13.text.ex-011",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch13",
            "title_target": "Bobot yang Memilih Setiap Titik Sudut"
          }
        }
      ],
      "title_id": "Bobot yang Memilih Setiap Titik Sudut"
    },
    {
      "chapter": 14,
      "id": "unit.r017.book1.ch14.text.ex-001",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch14.text.ex-001",
      "number": "14.1",
      "reader": {
        "destination": "bookex*.2108",
        "heading_witness": "Latihan 14.1 (Pohon Merentang Biaya Minimum) Temukan pohon merentang biaya minimum pada\ngraf di bawah ini dengan menggunakan algoritme Kruskal.\n",
        "heading_witness_sha256": "73300fc6ee9471d7d6db402f15b4f737104e07d961d0af55049864d029570e16",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "14.1",
        "page": 403
      },
      "source_span": {
        "content_bytes": 1535,
        "content_sha256": "fc89ae7b81b3a1199e0c674f9a1816ede02c87ac6a381d17637bd83fd235e708",
        "environment": "ex",
        "id": "unit.r017.book1.ch14.text.ex-001",
        "label": "ex:kruskal_exercise",
        "line_range": [
          1454,
          1494
        ],
        "native_record_sha256": "59ef3170a9934ede7dd8713c4b78de5ff2ae54db262cbd314202535a89455232",
        "normalized_character_range": [
          70963,
          72498
        ],
        "normalized_utf8_byte_range": [
          70971,
          72506
        ],
        "path": "Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
        "source_file": {
          "archive": "source",
          "bytes": 160339,
          "member": "source/Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
          "sha256": "bf10472a5ceb75aebe1702ecfb0e90c5d81242174858c28651196c9c169aa6bd"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch14.solutions-manual.subsection-002",
          "kind": "solution",
          "native_relation_id": null,
          "page": 555,
          "relation_basis": "explicit-manual-heading-and-distinct-numbering-family"
        },
        {
          "id": "unit.o018.lab.ch14.ex-14-1",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch14.ex-14-1.unit.r017.book1.ch14.text.ex-001",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch14",
            "title_target": "Pohon Merentang Biaya Minimum (Kruskal)"
          }
        },
        {
          "id": "unit.o018.lab.ch14.ex-14-1",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch14.ex-14-1.unit.r017.book1.ch14.text.ex-001",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch14",
            "title_target": "Pohon Merentang Biaya Minimum (Kruskal)"
          }
        }
      ],
      "title_id": "Pohon Merentang Biaya Minimum"
    },
    {
      "chapter": 14,
      "id": "unit.r017.book1.ch14.text.ex-002",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch14.text.ex-002",
      "number": "14.2",
      "reader": {
        "destination": "bookex*.2110",
        "heading_witness": "Latihan 14.2 (NetworkX) Gunakan kode di bawah ini untuk memuat graf dari latihan sebelumnya ke\ndalam Python. Kemudian selesaikan masalah ini menggunakan paket NetworkX.\nimport networkx as nx\n",
        "heading_witness_sha256": "04df31fdb6f65a8876739e44954f0a7e55f4d81ec4f2a32735947ca564449eef",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "14.2",
        "page": 404
      },
      "source_span": {
        "content_bytes": 1068,
        "content_sha256": "ee0d924f56b02ab93c69f38f9aa09f5f3783e18ee25a5e3422cf593f8a3e79bc",
        "environment": "ex",
        "id": "unit.r017.book1.ch14.text.ex-002",
        "label": null,
        "line_range": [
          1496,
          1538
        ],
        "native_record_sha256": "2734d216b3b2a9d6136f6079e961b782275ddf450e6dbd4e42e8ad88772d8084",
        "normalized_character_range": [
          72500,
          73568
        ],
        "normalized_utf8_byte_range": [
          72508,
          73576
        ],
        "path": "Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
        "source_file": {
          "archive": "source",
          "bytes": 160339,
          "member": "source/Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
          "sha256": "bf10472a5ceb75aebe1702ecfb0e90c5d81242174858c28651196c9c169aa6bd"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch14.solutions-manual.subsection-003",
          "kind": "solution",
          "native_relation_id": null,
          "page": 555,
          "relation_basis": "explicit-manual-heading-and-distinct-numbering-family"
        }
      ],
      "title_id": "NetworkX"
    },
    {
      "chapter": 14,
      "id": "unit.r017.book1.ch14.text.ex-003",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch14.text.ex-003",
      "number": "14.3",
      "reader": {
        "destination": "bookex*.2168",
        "heading_witness": "Latihan 14.3 (Algoritme Prim) Gunakan algoritme Prim untuk menemukan pohon merentang biaya\nminimum pada graf yang sama seperti dalam Latihan 14.1, dengan memulai dari simpul A. Perlihatkan\nlangkah-langkah ketika Anda menambahkan sisi dan simpul ke pohon yang sedang tumbuh.\n",
        "heading_witness_sha256": "a0b3f4e43ed643b16b9cd5adaeea753bb41f7e3624b1c8e5364c87f74a4f0489",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "14.3",
        "page": 406
      },
      "source_span": {
        "content_bytes": 326,
        "content_sha256": "a6b768f501efbb3709a6610ebfc5ea7e9eb53e782db6bbb4c89639085cff7371",
        "environment": "ex",
        "id": "unit.r017.book1.ch14.text.ex-003",
        "label": "ex:prim_exercise",
        "line_range": [
          1674,
          1676
        ],
        "native_record_sha256": "79bd6d40c9300e4c38ff22155d118dc764aab4987029a6373eb8ce7286a863bf",
        "normalized_character_range": [
          78799,
          79125
        ],
        "normalized_utf8_byte_range": [
          78807,
          79133
        ],
        "path": "Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
        "source_file": {
          "archive": "source",
          "bytes": 160339,
          "member": "source/Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
          "sha256": "bf10472a5ceb75aebe1702ecfb0e90c5d81242174858c28651196c9c169aa6bd"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch14.solutions-manual.subsection-004",
          "kind": "solution",
          "native_relation_id": null,
          "page": 555,
          "relation_basis": "explicit-manual-heading-and-distinct-numbering-family"
        },
        {
          "id": "unit.o018.lab.ch14.ex-14-3",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch14.ex-14-3.unit.r017.book1.ch14.text.ex-003",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch14",
            "title_target": "Algoritme Prim"
          }
        },
        {
          "id": "unit.o018.lab.ch14.ex-14-3",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch14.ex-14-3.unit.r017.book1.ch14.text.ex-003",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch14",
            "title_target": "Algoritme Prim"
          }
        }
      ],
      "title_id": "Algoritme Prim"
    },
    {
      "chapter": 14,
      "id": "unit.r017.book1.ch14.text.ex-004",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch14.text.ex-004",
      "number": "14.4",
      "reader": {
        "destination": "bookex*.2171",
        "heading_witness": "Latihan 14.4 (Masalah Lintasan Terpendek)\nTemukan lintasan terpendek antara simpul A dan G\npada graf di bawah ini.\n",
        "heading_witness_sha256": "e46b28f74973480bce42740fe08208d52f71a51bcdd84b644a0c0d385503e079",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "14.4",
        "page": 407
      },
      "source_span": {
        "content_bytes": 1190,
        "content_sha256": "abedec52c74be36c0ac1248c928c58c190f20ccb93871ef5fda5dd7ae0ffabce",
        "environment": "ex",
        "id": "unit.r017.book1.ch14.text.ex-004",
        "label": "ex:shortest-path",
        "line_range": [
          1742,
          1778
        ],
        "native_record_sha256": "c1339bbfbd94035aac683d8f5cc1b7c0c49c67cad7dd65df6fd80b087f7eb953",
        "normalized_character_range": [
          81477,
          82667
        ],
        "normalized_utf8_byte_range": [
          81485,
          82675
        ],
        "path": "Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
        "source_file": {
          "archive": "source",
          "bytes": 160339,
          "member": "source/Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
          "sha256": "bf10472a5ceb75aebe1702ecfb0e90c5d81242174858c28651196c9c169aa6bd"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch14.solutions-manual.subsection-005",
          "kind": "solution",
          "native_relation_id": null,
          "page": 556,
          "relation_basis": "explicit-manual-heading-and-distinct-numbering-family"
        },
        {
          "id": "unit.o018.lab.ch14.ex-14-4",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch14.ex-14-4.unit.r017.book1.ch14.text.ex-004",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch14",
            "title_target": "Masalah Lintasan Terpendek"
          }
        },
        {
          "id": "unit.o018.lab.ch14.ex-14-4",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch14.ex-14-4.unit.r017.book1.ch14.text.ex-004",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch14",
            "title_target": "Masalah Lintasan Terpendek"
          }
        }
      ],
      "title_id": "Masalah Lintasan Terpendek"
    },
    {
      "chapter": 15,
      "id": "unit.r017.book1.ch15.text.ex-001",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch15.text.ex-001",
      "number": "15.1",
      "reader": {
        "destination": "bookex*.2420",
        "heading_witness": "Latihan 15.1 (Masalah Ransel)\n⋆Seorang pendaki mengemas ransel dengan kapasitas berat 15 kg.\nBarang yang tersedia adalah:\nBarang\nBerat (kg)\nNilai\n",
        "heading_witness_sha256": "b963e25650000dd3dde386dfff5ededdd7cf8dfb209fec8fb626172f457a313e",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "15.1",
        "page": 461
      },
      "source_span": {
        "content_bytes": 958,
        "content_sha256": "545d7d96216b080d33a8453afe96f184b0aa5737b888293ed6e08583ddbf0e33",
        "environment": "ex",
        "id": "unit.r017.book1.ch15.text.ex-001",
        "label": "ex:knapsack-hiker",
        "line_range": [
          2121,
          2144
        ],
        "native_record_sha256": "29f0e12d08a7be8678643c15aa2f993cf78f8e855a7d65880b071dc7aff1c98d",
        "normalized_character_range": [
          112770,
          113728
        ],
        "normalized_utf8_byte_range": [
          112782,
          113740
        ],
        "path": "Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
        "source_file": {
          "archive": "source",
          "bytes": 136692,
          "member": "source/Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
          "sha256": "d5d12875d4841ef4ded4a4d2cf69311070cd9d59a5a1fd34c333ead8f1a26653"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-001",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch15.solutions-manual.manualsolution-001.unit.r017.book1.ch15.text.ex-001",
          "page": 562,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch15.ex-15-1",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch15.ex-15-1.unit.r017.book1.ch15.text.ex-001",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch15",
            "title_target": "Masalah Ransel"
          }
        },
        {
          "id": "unit.o018.lab.ch15.ex-15-1",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch15.ex-15-1.unit.r017.book1.ch15.text.ex-001",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch15",
            "title_target": "Masalah Ransel"
          }
        }
      ],
      "title_id": "Masalah Ransel"
    },
    {
      "chapter": 15,
      "id": "unit.r017.book1.ch15.text.ex-002",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch15.text.ex-002",
      "number": "15.2",
      "reader": {
        "destination": "bookex*.2424",
        "heading_witness": "Latihan 15.2 (Ransel Mobil Kurir)\n⋆Mobil kurir dapat membawa paling banyak 15 kg pada perja-\nlanan terakhirnya hari ini. Lima paket menunggu, dengan berat dan imbalan berikut:\nPaket\n1\n2\n3\n4\n5\n",
        "heading_witness_sha256": "8e3415f201b3ea9f23f54e486967e52387e0804e027e8419baf3c2e668bbb260",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "15.2",
        "page": 461
      },
      "source_span": {
        "content_bytes": 817,
        "content_sha256": "786eb8874d1f929a3adb18846244b290d63ba3c48a127758d446552c46ebb161",
        "environment": "ex",
        "id": "unit.r017.book1.ch15.text.ex-002",
        "label": "ex:knapsack-warmup",
        "line_range": [
          2146,
          2166
        ],
        "native_record_sha256": "91c761220a2ae32718bf48a3f15edeb18be16d73a48fcb699bcb5047865f1005",
        "normalized_character_range": [
          113730,
          114547
        ],
        "normalized_utf8_byte_range": [
          113742,
          114559
        ],
        "path": "Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
        "source_file": {
          "archive": "source",
          "bytes": 136692,
          "member": "source/Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
          "sha256": "d5d12875d4841ef4ded4a4d2cf69311070cd9d59a5a1fd34c333ead8f1a26653"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-002",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch15.solutions-manual.manualsolution-002.unit.r017.book1.ch15.text.ex-002",
          "page": 563,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch15.ex-15-2",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch15.ex-15-2.unit.r017.book1.ch15.text.ex-002",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch15",
            "title_target": "Ransel Mobil Kurir"
          }
        },
        {
          "id": "unit.o018.lab.ch15.ex-15-2",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch15.ex-15-2.unit.r017.book1.ch15.text.ex-002",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch15",
            "title_target": "Ransel Mobil Kurir"
          }
        }
      ],
      "title_id": "Ransel Mobil Kurir"
    },
    {
      "chapter": 15,
      "id": "unit.r017.book1.ch15.text.ex-003",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch15.text.ex-003",
      "number": "15.3",
      "reader": {
        "destination": "bookex*.2428",
        "heading_witness": "Latihan 15.3 (Mencakup Sebuah Kota Kecil)\n⋆Sebuah kota memiliki enam distrik yang tersusun\ndalam kisi 2×3:\n1\n2\n3\n",
        "heading_witness_sha256": "3625cf5f56aff6714829775afc2adce074316528cb109d77dc157826f40ae855",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "15.3",
        "page": 461
      },
      "source_span": {
        "content_bytes": 873,
        "content_sha256": "f15dc98e6fad01453ecd3bbe55db67c1cb96205b13b4a4288a7c60ac1a09a8e3",
        "environment": "ex",
        "id": "unit.r017.book1.ch15.text.ex-003",
        "label": "ex:fire-warmup",
        "line_range": [
          2168,
          2187
        ],
        "native_record_sha256": "41d85f3f505a3d4e08b671535855627b5a472c64247173f89943a9ecc39b943b",
        "normalized_character_range": [
          114549,
          115422
        ],
        "normalized_utf8_byte_range": [
          114561,
          115434
        ],
        "path": "Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
        "source_file": {
          "archive": "source",
          "bytes": 136692,
          "member": "source/Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
          "sha256": "d5d12875d4841ef4ded4a4d2cf69311070cd9d59a5a1fd34c333ead8f1a26653"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-003",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch15.solutions-manual.manualsolution-003.unit.r017.book1.ch15.text.ex-003",
          "page": 563,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch15.ex-15-3",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch15.ex-15-3.unit.r017.book1.ch15.text.ex-003",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch15",
            "title_target": "Mencakup Sebuah Kota Kecil"
          }
        },
        {
          "id": "unit.o018.lab.ch15.ex-15-3",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch15.ex-15-3.unit.r017.book1.ch15.text.ex-003",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch15",
            "title_target": "Mencakup Sebuah Kota Kecil"
          }
        }
      ],
      "title_id": "Mencakup Sebuah Kota Kecil"
    },
    {
      "chapter": 15,
      "id": "unit.r017.book1.ch15.text.ex-004",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch15.text.ex-004",
      "number": "15.4",
      "reader": {
        "destination": "bookex*.2432",
        "heading_witness": "Latihan 15.4 (Latihan Aktivasi Big-M) ⋆Sebuah perusahaan tur mengoperasikan tiga wisata dengan\njumlah peserta x1,x2,x3, dan setiap wisata dapat menampung paling banyak 30 wisatawan (0 ≤xi ≤30).\nMisalkan δ ∈{0,1} sama dengan 1 jika perusahaan mempekerjakan pemandu kedua. Kebijakan perusa-\n",
        "heading_witness_sha256": "6a056d5141ac1c45a65e11f5b12a59b7827ba4b1cd3dad6cb7bb03e8c1f63aa1",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "15.4",
        "page": 462
      },
      "source_span": {
        "content_bytes": 784,
        "content_sha256": "8f0ee9a92127c76117ee0e2a9e99fdacd506f6f83cb11577d4ecfd2cbb1e9e15",
        "environment": "ex",
        "id": "unit.r017.book1.ch15.text.ex-004",
        "label": "ex:bigM-drill",
        "line_range": [
          2189,
          2197
        ],
        "native_record_sha256": "d5a8deab7ac21fbed7a04ae015190d11f94d7c0ff2d089b9e34b9637ea891bda",
        "normalized_character_range": [
          115424,
          116208
        ],
        "normalized_utf8_byte_range": [
          115436,
          116220
        ],
        "path": "Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
        "source_file": {
          "archive": "source",
          "bytes": 136692,
          "member": "source/Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
          "sha256": "d5d12875d4841ef4ded4a4d2cf69311070cd9d59a5a1fd34c333ead8f1a26653"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-004",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch15.solutions-manual.manualsolution-004.unit.r017.book1.ch15.text.ex-004",
          "page": 563,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch15.ex-15-4",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch15.ex-15-4.unit.r017.book1.ch15.text.ex-004",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch15",
            "title_target": "Latihan Aktivasi Big-M"
          }
        },
        {
          "id": "unit.o018.lab.ch15.ex-15-4",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch15.ex-15-4.unit.r017.book1.ch15.text.ex-004",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch15",
            "title_target": "Latihan Aktivasi Big-M"
          }
        }
      ],
      "title_id": "Latihan Aktivasi Big-M"
    },
    {
      "chapter": 15,
      "id": "unit.r017.book1.ch15.text.ex-005",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch15.text.ex-005",
      "number": "15.5",
      "reader": {
        "destination": "bookex*.2435",
        "heading_witness": "Latihan 15.5 (Menentukan Lokasi Terminal Distribusi)\n⋆⋆\nMisalkan sebuah perusahaan yang\nberbasis di St. John’s sedang mempertimbangkan penambahan terminal distribusi di (1) Halifax, (2)\nMoncton, (3) Montréal, (4) Ottawa, dan (5) Toronto.\n",
        "heading_witness_sha256": "f010a6e6d1774b98f3efca1be1004ca3a61bfb817ed0088fd143d7fb90d189ab",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "15.5",
        "page": 462
      },
      "source_span": {
        "content_bytes": 1120,
        "content_sha256": "9d5d7935d296858ce9272c054c4e984f1aeed0c03ecbd05b16b0c34382dfb45a",
        "environment": "ex",
        "id": "unit.r017.book1.ch15.text.ex-005",
        "label": "ex:terminals",
        "line_range": [
          2201,
          2218
        ],
        "native_record_sha256": "119e96a55598e9ed8929edbf34f8b4e2c926d7748e0bd731b1515c84456994c9",
        "normalized_character_range": [
          116234,
          117352
        ],
        "normalized_utf8_byte_range": [
          116246,
          117366
        ],
        "path": "Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
        "source_file": {
          "archive": "source",
          "bytes": 136692,
          "member": "source/Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
          "sha256": "d5d12875d4841ef4ded4a4d2cf69311070cd9d59a5a1fd34c333ead8f1a26653"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-005",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch15.solutions-manual.manualsolution-005.unit.r017.book1.ch15.text.ex-005",
          "page": 564,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch15.ex-15-5",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch15.ex-15-5.unit.r017.book1.ch15.text.ex-005",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch15",
            "title_target": "Menentukan Lokasi Terminal Distribusi"
          }
        },
        {
          "id": "unit.o018.lab.ch15.ex-15-5",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch15.ex-15-5.unit.r017.book1.ch15.text.ex-005",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch15",
            "title_target": "Menentukan Lokasi Terminal Distribusi"
          }
        }
      ],
      "title_id": "Menentukan Lokasi Terminal Distribusi"
    },
    {
      "chapter": 15,
      "id": "unit.r017.book1.ch15.text.ex-006",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch15.text.ex-006",
      "number": "15.6",
      "reader": {
        "destination": "bookex*.2439",
        "heading_witness": "Latihan 15.6 (Lokasi Gudang) ⋆⋆Sebuah perusahaan ritel harus memutuskan lokasi mana dari empat\ncalon lokasi gudang yang akan dibuka. Setiap gudang memiliki biaya tetap pembukaan dan dapat melayani\nsuatu subhimpunan dari lima wilayah pelanggan. Datanya sebagai berikut:\n",
        "heading_witness_sha256": "7fa5eff2c65a86ee9789513c5d3578205768e9b421b5758f0e180c76c5ded58f",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "15.6",
        "page": 462
      },
      "source_span": {
        "content_bytes": 1128,
        "content_sha256": "e0208e4f115ad98199a6a8b4558433da2fd8a50aa5277d36657b974305a153a9",
        "environment": "ex",
        "id": "unit.r017.book1.ch15.text.ex-006",
        "label": "ex:warehouse-cover",
        "line_range": [
          2220,
          2244
        ],
        "native_record_sha256": "1f1fe70cae25e9f975de4eb7d075e1cec41cc04cb428a9046bb82a01d8f1229b",
        "normalized_character_range": [
          117354,
          118482
        ],
        "normalized_utf8_byte_range": [
          117368,
          118496
        ],
        "path": "Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
        "source_file": {
          "archive": "source",
          "bytes": 136692,
          "member": "source/Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
          "sha256": "d5d12875d4841ef4ded4a4d2cf69311070cd9d59a5a1fd34c333ead8f1a26653"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-006",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch15.solutions-manual.manualsolution-006.unit.r017.book1.ch15.text.ex-006",
          "page": 564,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch15.ex-15-6",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch15.ex-15-6.unit.r017.book1.ch15.text.ex-006",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch15",
            "title_target": "Lokasi Gudang"
          }
        },
        {
          "id": "unit.o018.lab.ch15.ex-15-6",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch15.ex-15-6.unit.r017.book1.ch15.text.ex-006",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch15",
            "title_target": "Lokasi Gudang"
          }
        }
      ],
      "title_id": "Lokasi Gudang"
    },
    {
      "chapter": 15,
      "id": "unit.r017.book1.ch15.text.ex-007",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch15.text.ex-007",
      "number": "15.7",
      "reader": {
        "destination": "bookex*.2443",
        "heading_witness": "Latihan 15.7 (Penganggaran Modal dengan Kebergantungan)\n⋆⋆Sebuah perusahaan menyeleksi\nlima proyek untuk horizon dua tahun. Nilai kini bersih dan pengeluaran kasnya (semuanya dalam $1000-\nan) adalah:\n",
        "heading_witness_sha256": "016eee7db22e67f7b1e3600c8c11309b073ea2477fc2588d38dfe6dd8f4f99b3",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "15.7",
        "page": 462
      },
      "source_span": {
        "content_bytes": 1256,
        "content_sha256": "405925c1b8a5444a3cab88de5fdea9822bef94215b8ab50c6a52cd0981c25db5",
        "environment": "ex",
        "id": "unit.r017.book1.ch15.text.ex-007",
        "label": "ex:capital-dependencies",
        "line_range": [
          2246,
          2268
        ],
        "native_record_sha256": "cd147b3ac5bc29ac5c1163ecec77fd458287b7b82f522fc1412445195a59b8df",
        "normalized_character_range": [
          118484,
          119740
        ],
        "normalized_utf8_byte_range": [
          118498,
          119754
        ],
        "path": "Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
        "source_file": {
          "archive": "source",
          "bytes": 136692,
          "member": "source/Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
          "sha256": "d5d12875d4841ef4ded4a4d2cf69311070cd9d59a5a1fd34c333ead8f1a26653"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-007",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch15.solutions-manual.manualsolution-007.unit.r017.book1.ch15.text.ex-007",
          "page": 565,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch15.ex-15-7",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch15.ex-15-7.unit.r017.book1.ch15.text.ex-007",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch15",
            "title_target": "Penganggaran Modal dengan Kebergantungan"
          }
        },
        {
          "id": "unit.o018.lab.ch15.ex-15-7",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch15.ex-15-7.unit.r017.book1.ch15.text.ex-007",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch15",
            "title_target": "Penganggaran Modal dengan Kebergantungan"
          }
        }
      ],
      "title_id": "Penganggaran Modal dengan Kebergantungan"
    },
    {
      "chapter": 15,
      "id": "unit.r017.book1.ch15.text.ex-008",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch15.text.ex-008",
      "number": "15.8",
      "reader": {
        "destination": "bookex*.2447",
        "heading_witness": "Latihan 15.8 (Lokasi Fasilitas: Dua Pusat Distribusi) ⋆⋆Sebuah perusahaan dapat membuka pusat\ndistribusi di dua lokasi untuk melayani tiga toko. Biaya pembukaan, kapasitas, biaya pelayanan per unit,\ndan permintaannya adalah:\n",
        "heading_witness_sha256": "e148a8508757d32cef18ca7bd1e5b0150529de51c4047fbff6faa27c23786465",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "15.8",
        "page": 463
      },
      "source_span": {
        "content_bytes": 1216,
        "content_sha256": "0e0a0c05dcb1ba9f2634fe3233638a75bf8f0fc97e70cb1716dbb45c1a629a24",
        "environment": "ex",
        "id": "unit.r017.book1.ch15.text.ex-008",
        "label": "ex:facility-small",
        "line_range": [
          2270,
          2295
        ],
        "native_record_sha256": "673f01d08b6ecab9fb0dccfa4a4615f5f07354cef88c52470f4be18a23d7faba",
        "normalized_character_range": [
          119742,
          120958
        ],
        "normalized_utf8_byte_range": [
          119756,
          120972
        ],
        "path": "Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
        "source_file": {
          "archive": "source",
          "bytes": 136692,
          "member": "source/Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
          "sha256": "d5d12875d4841ef4ded4a4d2cf69311070cd9d59a5a1fd34c333ead8f1a26653"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-008",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch15.solutions-manual.manualsolution-008.unit.r017.book1.ch15.text.ex-008",
          "page": 565,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch15.ex-15-8",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch15.ex-15-8.unit.r017.book1.ch15.text.ex-008",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch15",
            "title_target": "Lokasi Fasilitas: Dua Pusat Distribusi"
          }
        },
        {
          "id": "unit.o018.lab.ch15.ex-15-8",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch15.ex-15-8.unit.r017.book1.ch15.text.ex-008",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch15",
            "title_target": "Lokasi Fasilitas: Dua Pusat Distribusi"
          }
        }
      ],
      "title_id": "Lokasi Fasilitas: Dua Pusat Distribusi"
    },
    {
      "chapter": 15,
      "id": "unit.r017.book1.ch15.text.ex-009",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch15.text.ex-009",
      "number": "15.9",
      "reader": {
        "destination": "bookex*.2452",
        "heading_witness": "Latihan 15.9 (Mewarnai Graf Lima Simpul)\n⋆⋆Pertimbangkan graf dengan simpul {A,B,C,D,E}\ndan sisi\n{A,B}, {B,C}, {C,D}, {D,E}, {E,A}, {A,C},\n",
        "heading_witness_sha256": "0b9eae867a75fffeca9dd552b0b2d79153eb8e6a6737f821f1ab85bdbe0f2399",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "15.9",
        "page": 463
      },
      "source_span": {
        "content_bytes": 669,
        "content_sha256": "50b90f463d94818757677764aa5a286f622a3c0284b783fa58918d02c5818083",
        "environment": "ex",
        "id": "unit.r017.book1.ch15.text.ex-009",
        "label": "ex:graph-coloring-5",
        "line_range": [
          2297,
          2310
        ],
        "native_record_sha256": "79d79ab08ad7469649688b30abc7becbf6883b010cca1876d62d6a10a7ff389d",
        "normalized_character_range": [
          120960,
          121629
        ],
        "normalized_utf8_byte_range": [
          120974,
          121643
        ],
        "path": "Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
        "source_file": {
          "archive": "source",
          "bytes": 136692,
          "member": "source/Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
          "sha256": "d5d12875d4841ef4ded4a4d2cf69311070cd9d59a5a1fd34c333ead8f1a26653"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-009",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch15.solutions-manual.manualsolution-009.unit.r017.book1.ch15.text.ex-009",
          "page": 566,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch15.ex-15-9",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch15.ex-15-9.unit.r017.book1.ch15.text.ex-009",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch15",
            "title_target": "Mewarnai Graf Lima Simpul"
          }
        },
        {
          "id": "unit.o018.lab.ch15.ex-15-9",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch15.ex-15-9.unit.r017.book1.ch15.text.ex-009",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch15",
            "title_target": "Mewarnai Graf Lima Simpul"
          }
        }
      ],
      "title_id": "Mewarnai Graf Lima Simpul"
    },
    {
      "chapter": 15,
      "id": "unit.r017.book1.ch15.text.ex-010",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch15.text.ex-010",
      "number": "15.10",
      "reader": {
        "destination": "bookex*.2456",
        "heading_witness": "Latihan 15.10 (Kendala Salah Satu)\n⋆⋆Sebuah perusahaan memproduksi dua produk, x1 dan x2.\nProduksi produk 1 memerlukan mesin khusus yang dapat berjalan dalam modus A atau modus B, tetapi\ntidak keduanya secara bersamaan. Kendalanya adalah:\n",
        "heading_witness_sha256": "85dd6da94634b5724e23b9a7bcd49d130e299423195e649eac5ecb523da10fce",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "15.10",
        "page": 463
      },
      "source_span": {
        "content_bytes": 715,
        "content_sha256": "48101685c22b1b9571ab3f539fb4f2d3adbc8b535ff405ebe6d4c1b3a13f7770",
        "environment": "ex",
        "id": "unit.r017.book1.ch15.text.ex-010",
        "label": "ex:either-or-modes",
        "line_range": [
          2312,
          2323
        ],
        "native_record_sha256": "0ec9a4b878b69b63dbbb2265e7a94520bdfff9fe2c7ae386adef8a23907ca022",
        "normalized_character_range": [
          121631,
          122346
        ],
        "normalized_utf8_byte_range": [
          121645,
          122360
        ],
        "path": "Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
        "source_file": {
          "archive": "source",
          "bytes": 136692,
          "member": "source/Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
          "sha256": "d5d12875d4841ef4ded4a4d2cf69311070cd9d59a5a1fd34c333ead8f1a26653"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-010",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch15.solutions-manual.manualsolution-010.unit.r017.book1.ch15.text.ex-010",
          "page": 566,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch15.ex-15-10",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch15.ex-15-10.unit.r017.book1.ch15.text.ex-010",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch15",
            "title_target": "Kendala Salah Satu"
          }
        },
        {
          "id": "unit.o018.lab.ch15.ex-15-10",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch15.ex-15-10.unit.r017.book1.ch15.text.ex-010",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch15",
            "title_target": "Kendala Salah Satu"
          }
        }
      ],
      "title_id": "Kendala Salah Satu"
    },
    {
      "chapter": 15,
      "id": "unit.r017.book1.ch15.text.ex-011",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch15.text.ex-011",
      "number": "15.11",
      "reader": {
        "destination": "bookex*.2457",
        "heading_witness": "Latihan 15.11 (Produksi dengan Biaya Tetap) ⋆⋆Sebuah pabrik dapat menghasilkan produk dalam\nkuantitas berapa pun x ≥0, tetapi memulai produksi menimbulkan biaya tetap $500. Biaya produksi vari-\nabel adalah $8 per unit, dan setiap unit dijual seharga $15. Pabrik memiliki kapasitas untuk menghasilkan\n",
        "heading_witness_sha256": "083023d0c25912e03bdaad6ce1bc0d9fa0b0a97a082297c3e956918c9c80636c",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "15.11",
        "page": 464
      },
      "source_span": {
        "content_bytes": 727,
        "content_sha256": "0aa4a2f9a3543daacc9bdbfb953b3be11471c3e110562cd11c289eeccfea3220",
        "environment": "ex",
        "id": "unit.r017.book1.ch15.text.ex-011",
        "label": "ex:fixed-charge",
        "line_range": [
          2325,
          2334
        ],
        "native_record_sha256": "b2760cad5841f61825b78dfc888cd0898e6f21dfccbfa764a0f409c65dec9e17",
        "normalized_character_range": [
          122348,
          123075
        ],
        "normalized_utf8_byte_range": [
          122362,
          123089
        ],
        "path": "Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
        "source_file": {
          "archive": "source",
          "bytes": 136692,
          "member": "source/Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
          "sha256": "d5d12875d4841ef4ded4a4d2cf69311070cd9d59a5a1fd34c333ead8f1a26653"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-011",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch15.solutions-manual.manualsolution-011.unit.r017.book1.ch15.text.ex-011",
          "page": 567,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch15.ex-15-11",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch15.ex-15-11.unit.r017.book1.ch15.text.ex-011",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch15",
            "title_target": "Produksi dengan Biaya Tetap"
          }
        },
        {
          "id": "unit.o018.lab.ch15.ex-15-11",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch15.ex-15-11.unit.r017.book1.ch15.text.ex-011",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch15",
            "title_target": "Produksi dengan Biaya Tetap"
          }
        }
      ],
      "title_id": "Produksi dengan Biaya Tetap"
    },
    {
      "chapter": 15,
      "id": "unit.r017.book1.ch15.text.ex-012",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch15.text.ex-012",
      "number": "15.12",
      "reader": {
        "destination": "bookex*.2460",
        "heading_witness": "Latihan 15.12 (Mengapa Pembulatan Relaksasi Gagal) ⋆⋆Kembali ke contoh masalah ransel pada\nContoh 15.2 dan ganti xi ∈{0,1} dengan 0 ≤xi ≤1 (relaksasi LP).\n1. Selesaikan relaksasi LP. (Untuk satu kendala ransel, relaksasi dapat diselesaikan secara rakus:\n",
        "heading_witness_sha256": "7102dad9dbcea8373e773a10b81c1c79cdd30a5866019ec7c0f614c6ee520925",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "15.12",
        "page": 464
      },
      "source_span": {
        "content_bytes": 1297,
        "content_sha256": "0ac7e756c4e38cd46c2ce51914ef682fbf7960b41b4caf329031b75d707e5424",
        "environment": "ex",
        "id": "unit.r017.book1.ch15.text.ex-012",
        "label": "ex:lp-rounding",
        "line_range": [
          2338,
          2347
        ],
        "native_record_sha256": "fe617cda8342ad65e04270f3bfb8bd31ddb14f2baa1a1b96e7a8515810d18b8e",
        "normalized_character_range": [
          123111,
          124408
        ],
        "normalized_utf8_byte_range": [
          123125,
          124422
        ],
        "path": "Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
        "source_file": {
          "archive": "source",
          "bytes": 136692,
          "member": "source/Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
          "sha256": "d5d12875d4841ef4ded4a4d2cf69311070cd9d59a5a1fd34c333ead8f1a26653"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-012",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch15.solutions-manual.manualsolution-012.unit.r017.book1.ch15.text.ex-012",
          "page": 567,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch15.ex-15-12",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch15.ex-15-12.unit.r017.book1.ch15.text.ex-012",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch15",
            "title_target": "Mengapa Pembulatan Relaksasi Gagal"
          }
        },
        {
          "id": "unit.o018.lab.ch15.ex-15-12",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch15.ex-15-12.unit.r017.book1.ch15.text.ex-012",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch15",
            "title_target": "Mengapa Pembulatan Relaksasi Gagal"
          }
        }
      ],
      "title_id": "Mengapa Pembulatan Relaksasi Gagal"
    },
    {
      "chapter": 15,
      "id": "unit.r017.book1.ch15.text.ex-013",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch15.text.ex-013",
      "number": "15.13",
      "reader": {
        "destination": "bookex*.2464",
        "heading_witness": "Latihan 15.13 (Kapan Big-M Terlalu Besar?)\n⋆⋆Dalam Latihan 15.10, nilai M = 106 sepenuhnya\nsah: program bilangan bulat campuran yang dihasilkan memiliki solusi optimal sama dengan ketika M =\n20.\n",
        "heading_witness_sha256": "e73a4f9fbf032afd8cdf6bf2287096837c0af1b300e0b171d4f84f69ba6b1037",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "15.13",
        "page": 464
      },
      "source_span": {
        "content_bytes": 1027,
        "content_sha256": "ec0fd2fc011f853048e354475501abf9c407378fdab3ae09b6c77b49c0009a3e",
        "environment": "ex",
        "id": "unit.r017.book1.ch15.text.ex-013",
        "label": "ex:bigM-size",
        "line_range": [
          2349,
          2358
        ],
        "native_record_sha256": "bb024e8d8edb3b2be73883767c81ade57e6d5ed4c75a75b2570e1d58f02ea669",
        "normalized_character_range": [
          124410,
          125437
        ],
        "normalized_utf8_byte_range": [
          124424,
          125451
        ],
        "path": "Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
        "source_file": {
          "archive": "source",
          "bytes": 136692,
          "member": "source/Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
          "sha256": "d5d12875d4841ef4ded4a4d2cf69311070cd9d59a5a1fd34c333ead8f1a26653"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-013",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch15.solutions-manual.manualsolution-013.unit.r017.book1.ch15.text.ex-013",
          "page": 568,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch15.ex-15-13",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch15.ex-15-13.unit.r017.book1.ch15.text.ex-013",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch15",
            "title_target": "Kapan Big-M Terlalu Besar?"
          }
        },
        {
          "id": "unit.o018.lab.ch15.ex-15-13",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch15.ex-15-13.unit.r017.book1.ch15.text.ex-013",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch15",
            "title_target": "Kapan Big-M Terlalu Besar?"
          }
        }
      ],
      "title_id": "Kapan Big-M Terlalu Besar?"
    },
    {
      "chapter": 15,
      "id": "unit.r017.book1.ch15.text.ex-014",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch15.text.ex-014",
      "number": "15.14",
      "reader": {
        "destination": "bookex*.2468",
        "heading_witness": "Latihan 15.14 (Membaca Model Pertukaran Ginjal) ⋆⋆Pertimbangkan program bilangan bulat pe-\nmilihan siklus dalam studi kasus pertukaran ginjal.\n1. Jelaskan dengan bahasa sederhana apa yang diterapkan oleh kendala ∑c∈C:i∈c xc ≤1, dan masalah\n",
        "heading_witness_sha256": "cff2087c4df1901f59e6ae1045c3b3e0f5989022837c9cf58934f087bbc79585",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "15.14",
        "page": 465
      },
      "source_span": {
        "content_bytes": 988,
        "content_sha256": "bdc0a7e4de7f9d726d0d957957e8158108a13729445b9e06a3856d4d337a636e",
        "environment": "ex",
        "id": "unit.r017.book1.ch15.text.ex-014",
        "label": "ex:kidney-model",
        "line_range": [
          2360,
          2370
        ],
        "native_record_sha256": "df60a825c2d9054907936cbd4dbceca5c652e571b0f74d8fe84c4335782571eb",
        "normalized_character_range": [
          125439,
          126427
        ],
        "normalized_utf8_byte_range": [
          125453,
          126441
        ],
        "path": "Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
        "source_file": {
          "archive": "source",
          "bytes": 136692,
          "member": "source/Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
          "sha256": "d5d12875d4841ef4ded4a4d2cf69311070cd9d59a5a1fd34c333ead8f1a26653"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-014",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch15.solutions-manual.manualsolution-014.unit.r017.book1.ch15.text.ex-014",
          "page": 568,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch15.ex-15-14",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch15.ex-15-14.unit.r017.book1.ch15.text.ex-014",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch15",
            "title_target": "Membaca Model Pertukaran Ginjal"
          }
        },
        {
          "id": "unit.o018.lab.ch15.ex-15-14",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch15.ex-15-14.unit.r017.book1.ch15.text.ex-014",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch15",
            "title_target": "Membaca Model Pertukaran Ginjal"
          }
        }
      ],
      "title_id": "Membaca Model Pertukaran Ginjal"
    },
    {
      "chapter": 15,
      "id": "unit.r017.book1.ch15.text.ex-015",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch15.text.ex-015",
      "number": "15.15",
      "reader": {
        "destination": "bookex*.2473",
        "heading_witness": "Latihan 15.15 (Biaya Produksi Linier Sepenggal) ⋆⋆⋆Sebuah pabrik dapat menghasilkan hingga 30\nton produk yang dijual seharga $6 per ton. Biaya produksi bersifat linier sepenggal terhadap kuantitas x:\n10 ton pertama berbiaya $5 per ton, 10 ton berikutnya berbiaya $3 per ton (diskon pembelian masal untuk\n",
        "heading_witness_sha256": "5bff4b89294fcf65617bf7a8be08d04f45e181749a35116ea4d132aae253a283",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "15.15",
        "page": 465
      },
      "source_span": {
        "content_bytes": 1069,
        "content_sha256": "d5859372d9487bd9ff999ae0f1f9396965f23b4195cd65853ef89e459d23d217",
        "environment": "ex",
        "id": "unit.r017.book1.ch15.text.ex-015",
        "label": "ex:pwl-challenge",
        "line_range": [
          2374,
          2383
        ],
        "native_record_sha256": "9c007d05961dc5c46f0bad536dbe4b45de28dca637fac884f070b6dc6eb0385d",
        "normalized_character_range": [
          126458,
          127527
        ],
        "normalized_utf8_byte_range": [
          126472,
          127541
        ],
        "path": "Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
        "source_file": {
          "archive": "source",
          "bytes": 136692,
          "member": "source/Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
          "sha256": "d5d12875d4841ef4ded4a4d2cf69311070cd9d59a5a1fd34c333ead8f1a26653"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-015",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch15.solutions-manual.manualsolution-015.unit.r017.book1.ch15.text.ex-015",
          "page": 569,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch15.ex-15-15",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch15.ex-15-15.unit.r017.book1.ch15.text.ex-015",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch15",
            "title_target": "Biaya Produksi Linier Sepenggal"
          }
        },
        {
          "id": "unit.o018.lab.ch15.ex-15-15",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch15.ex-15-15.unit.r017.book1.ch15.text.ex-015",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch15",
            "title_target": "Biaya Produksi Linier Sepenggal"
          }
        }
      ],
      "title_id": "Biaya Produksi Linier Sepenggal"
    },
    {
      "chapter": 15,
      "id": "unit.r017.book1.ch15.text.ex-016",
      "kind": "numbered-exercise",
      "native_id": "unit.r017.book1.ch15.text.ex-016",
      "number": "15.16",
      "reader": {
        "destination": "bookex*.2477",
        "heading_witness": "Latihan 15.16 (Dua Pekerjaan, Tiga Mesin) ⋆⋆⋆Dua pekerjaan masing-masing harus melalui mesin\nM1 →M2 →M3 dalam urutan tersebut. Waktu pemrosesannya adalah:\nM1\nM2\nM3\n",
        "heading_witness_sha256": "0e122bb9c1fe8b8de28665aff9169eb6d0ba9504db7db2fcf095e7a204c6cf7f",
        "mapping_method": "native-topology-and-chapter-counter-plus-exact-normalized-title",
        "number": "15.16",
        "page": 465
      },
      "source_span": {
        "content_bytes": 1319,
        "content_sha256": "e1e91a87e2cc7ddbe6c8c89c58e61eeb72ff7299f3abe23bc9bac5cd4faf0de6",
        "environment": "ex",
        "id": "unit.r017.book1.ch15.text.ex-016",
        "label": "ex:flowshop",
        "line_range": [
          2385,
          2407
        ],
        "native_record_sha256": "07cd93a94276193d0fe3d4c33a8ccb79c666f66f9ab7a4329a7424e752852021",
        "normalized_character_range": [
          127529,
          128848
        ],
        "normalized_utf8_byte_range": [
          127543,
          128862
        ],
        "path": "Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
        "source_file": {
          "archive": "source",
          "bytes": 136692,
          "member": "source/Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
          "sha256": "d5d12875d4841ef4ded4a4d2cf69311070cd9d59a5a1fd34c333ead8f1a26653"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch15.solutions-manual.manualsolution-016",
          "kind": "solution",
          "native_relation_id": "relation.solves.unit.r017.book1.ch15.solutions-manual.manualsolution-016.unit.r017.book1.ch15.text.ex-016",
          "page": 569,
          "relation_basis": "explicit-manual-exercise-number"
        },
        {
          "id": "unit.o018.lab.ch15.ex-15-16",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch15.ex-15-16.unit.r017.book1.ch15.text.ex-016",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch15",
            "title_target": "Dua Pekerjaan, Tiga Mesin"
          }
        },
        {
          "id": "unit.o018.lab.ch15.ex-15-16",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch15.ex-15-16.unit.r017.book1.ch15.text.ex-016",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch15",
            "title_target": "Dua Pekerjaan, Tiga Mesin"
          }
        }
      ],
      "title_id": "Dua Pekerjaan, Tiga Mesin"
    },
    {
      "chapter": 14,
      "id": "c130:graph-practice:01",
      "kind": "graph-practice",
      "native_id": null,
      "number": "1",
      "reader": {
        "mapping_method": "top-level-enumeration-number-and-exact-normalized-opening",
        "normalized_opening": "untukmengantarkansuratdisuatulingkunganpetugasposperluberjalanmenyusur",
        "page": 407,
        "page_text_sha256": "544f7930a8da25093a72a037a8d0a4d8c1a17e521c42f5d774509b59476c1d44"
      },
      "source_span": {
        "content_sha256": "f82a46c42180cdf4e1131e61ab24bb0afcf3b3382ad1579ddd7c4d9abec86082",
        "label": null,
        "line_range": [
          1782,
          1787
        ],
        "normalized_character_range": [
          82709,
          83505
        ],
        "path": "Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
        "source_file": {
          "archive": "source",
          "bytes": 160339,
          "member": "source/Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
          "sha256": "bf10472a5ceb75aebe1702ecfb0e90c5d81242174858c28651196c9c169aa6bd"
        }
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch14.solutions-manual.subsection-006",
          "kind": "solution",
          "native_relation_id": null,
          "page": 556,
          "relation_basis": "explicit-manual-heading-and-distinct-numbering-family"
        }
      ],
      "title_id": "Latihan graf 1"
    },
    {
      "chapter": 14,
      "id": "c130:graph-practice:02",
      "kind": "graph-practice",
      "native_id": null,
      "number": "2",
      "reader": {
        "mapping_method": "top-level-enumeration-number-and-exact-normalized-opening",
        "normalized_opening": "misalkansebuahkotamemiliki7jembatansepertipadagambardibawahinibuatlahg",
        "page": 408,
        "page_text_sha256": "a32abc5eb5dc53e86dea45028d16f672124b02ae5ddafc538401b61aa59b059f"
      },
      "source_span": {
        "content_sha256": "1a59320ab67a4d0afd98e23afcbee77ffcf1b5d3588a12d89f30dbe27d16783b",
        "label": null,
        "line_range": [
          1787,
          1792
        ],
        "normalized_character_range": [
          83505,
          84209
        ],
        "path": "Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
        "source_file": {
          "archive": "source",
          "bytes": 160339,
          "member": "source/Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
          "sha256": "bf10472a5ceb75aebe1702ecfb0e90c5d81242174858c28651196c9c169aa6bd"
        }
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch14.solutions-manual.subsection-007",
          "kind": "solution",
          "native_relation_id": null,
          "page": 556,
          "relation_basis": "explicit-manual-heading-and-distinct-numbering-family"
        }
      ],
      "title_id": "Latihan graf 2"
    },
    {
      "chapter": 14,
      "id": "c130:graph-practice:03",
      "kind": "graph-practice",
      "native_id": null,
      "number": "3",
      "reader": {
        "mapping_method": "top-level-enumeration-number-and-exact-normalized-opening",
        "normalized_opening": "tabeldibawahinimemperlihatkanperkiraanwaktuberkendaradalammenittanpake",
        "page": 408,
        "page_text_sha256": "a32abc5eb5dc53e86dea45028d16f672124b02ae5ddafc538401b61aa59b059f"
      },
      "source_span": {
        "content_sha256": "dd86842af590a295dcdd59b1746960b6ee7e964181e2babf7a2d5479150cb45a",
        "label": null,
        "line_range": [
          1792,
          1811
        ],
        "normalized_character_range": [
          84209,
          84781
        ],
        "path": "Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
        "source_file": {
          "archive": "source",
          "bytes": 160339,
          "member": "source/Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
          "sha256": "bf10472a5ceb75aebe1702ecfb0e90c5d81242174858c28651196c9c169aa6bd"
        }
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch14.solutions-manual.subsection-008",
          "kind": "solution",
          "native_relation_id": null,
          "page": 557,
          "relation_basis": "explicit-manual-heading-and-distinct-numbering-family"
        }
      ],
      "title_id": "Latihan graf 3"
    },
    {
      "chapter": 14,
      "id": "c130:graph-practice:04",
      "kind": "graph-practice",
      "native_id": null,
      "number": "4",
      "reader": {
        "mapping_method": "top-level-enumeration-number-and-exact-normalized-opening",
        "normalized_opening": "tabeldibawahinimemperlihatkanhargatiketpesawatsekalijalandiantara5kota",
        "page": 408,
        "page_text_sha256": "a32abc5eb5dc53e86dea45028d16f672124b02ae5ddafc538401b61aa59b059f"
      },
      "source_span": {
        "content_sha256": "f7884acbb8805403b376194572875f9d205f9e6af7d2062890d576dde3d59254",
        "label": null,
        "line_range": [
          1811,
          1830
        ],
        "normalized_character_range": [
          84781,
          85417
        ],
        "path": "Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
        "source_file": {
          "archive": "source",
          "bytes": 160339,
          "member": "source/Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
          "sha256": "bf10472a5ceb75aebe1702ecfb0e90c5d81242174858c28651196c9c169aa6bd"
        }
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch14.solutions-manual.subsection-009",
          "kind": "solution",
          "native_relation_id": null,
          "page": 557,
          "relation_basis": "explicit-manual-heading-and-distinct-numbering-family"
        }
      ],
      "title_id": "Latihan graf 4"
    },
    {
      "chapter": 14,
      "id": "c130:graph-practice:05",
      "kind": "graph-practice",
      "native_id": null,
      "number": "5",
      "reader": {
        "mapping_method": "top-level-enumeration-number-and-exact-normalized-opening",
        "normalized_opening": "temukanderajatsetiapsimpulpadagrafdibawahini",
        "page": 408,
        "page_text_sha256": "a32abc5eb5dc53e86dea45028d16f672124b02ae5ddafc538401b61aa59b059f"
      },
      "source_span": {
        "content_sha256": "4d9f1d242d2c2f16b32491db88846b8e83a8c85d51fbf12d366ad87a56f3287a",
        "label": null,
        "line_range": [
          1830,
          1847
        ],
        "normalized_character_range": [
          85417,
          85952
        ],
        "path": "Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
        "source_file": {
          "archive": "source",
          "bytes": 160339,
          "member": "source/Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
          "sha256": "bf10472a5ceb75aebe1702ecfb0e90c5d81242174858c28651196c9c169aa6bd"
        }
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch14.solutions-manual.subsection-010",
          "kind": "solution",
          "native_relation_id": null,
          "page": 557,
          "relation_basis": "explicit-manual-heading-and-distinct-numbering-family"
        }
      ],
      "title_id": "Latihan graf 5"
    },
    {
      "chapter": 14,
      "id": "c130:graph-practice:06",
      "kind": "graph-practice",
      "native_id": null,
      "number": "6",
      "reader": {
        "mapping_method": "top-level-enumeration-number-and-exact-normalized-opening",
        "normalized_opening": "temukanderajatsetiapsimpulpadagrafdibawahini",
        "page": 408,
        "page_text_sha256": "a32abc5eb5dc53e86dea45028d16f672124b02ae5ddafc538401b61aa59b059f"
      },
      "source_span": {
        "content_sha256": "44f9eb91f955af54f8a422f846dda3e36e2bae69c96e8ad17cc907117d694763",
        "label": null,
        "line_range": [
          1847,
          1863
        ],
        "normalized_character_range": [
          85952,
          86546
        ],
        "path": "Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
        "source_file": {
          "archive": "source",
          "bytes": 160339,
          "member": "source/Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
          "sha256": "bf10472a5ceb75aebe1702ecfb0e90c5d81242174858c28651196c9c169aa6bd"
        }
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch14.solutions-manual.subsection-011",
          "kind": "solution",
          "native_relation_id": null,
          "page": 557,
          "relation_basis": "explicit-manual-heading-and-distinct-numbering-family"
        }
      ],
      "title_id": "Latihan graf 6"
    },
    {
      "chapter": 14,
      "id": "c130:graph-practice:07",
      "kind": "graph-practice",
      "native_id": null,
      "number": "7",
      "reader": {
        "mapping_method": "top-level-enumeration-number-and-exact-normalized-opening",
        "normalized_opening": "manakahdiantaragrafgrafiniyangterhubung",
        "page": 409,
        "page_text_sha256": "d62352f9d09ad9adbd354397128560ef0a6bd334c33cd9c11a4df056142ad2a7"
      },
      "source_span": {
        "content_sha256": "7a3e90e7062ed1ecfe6be07184c9c1411a6feb472fb482584361af579e2d82bf",
        "label": null,
        "line_range": [
          1863,
          1910
        ],
        "normalized_character_range": [
          86546,
          87739
        ],
        "path": "Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
        "source_file": {
          "archive": "source",
          "bytes": 160339,
          "member": "source/Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
          "sha256": "bf10472a5ceb75aebe1702ecfb0e90c5d81242174858c28651196c9c169aa6bd"
        }
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch14.solutions-manual.subsection-012",
          "kind": "solution",
          "native_relation_id": null,
          "page": 558,
          "relation_basis": "explicit-manual-heading-and-distinct-numbering-family"
        }
      ],
      "title_id": "Latihan graf 7"
    },
    {
      "chapter": 14,
      "id": "c130:graph-practice:08",
      "kind": "graph-practice",
      "native_id": null,
      "number": "8",
      "reader": {
        "mapping_method": "top-level-enumeration-number-and-exact-normalized-opening",
        "normalized_opening": "manakahdiantaragrafgrafiniyangterhubung",
        "page": 409,
        "page_text_sha256": "d62352f9d09ad9adbd354397128560ef0a6bd334c33cd9c11a4df056142ad2a7"
      },
      "source_span": {
        "content_sha256": "fdbfba4902cdedbc45a8925c394caa377e69243c9fbadc2ae1eed86fcf8f7eb3",
        "label": null,
        "line_range": [
          1910,
          1970
        ],
        "normalized_character_range": [
          87739,
          89380
        ],
        "path": "Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
        "source_file": {
          "archive": "source",
          "bytes": 160339,
          "member": "source/Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
          "sha256": "bf10472a5ceb75aebe1702ecfb0e90c5d81242174858c28651196c9c169aa6bd"
        }
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch14.solutions-manual.subsection-013",
          "kind": "solution",
          "native_relation_id": null,
          "page": 558,
          "relation_basis": "explicit-manual-heading-and-distinct-numbering-family"
        }
      ],
      "title_id": "Latihan graf 8"
    },
    {
      "chapter": 14,
      "id": "unit.r017.book1.ch14.text.itemexercise-001",
      "kind": "graph-practice",
      "native_id": "unit.r017.book1.ch14.text.itemexercise-001",
      "number": "9",
      "reader": {
        "mapping_method": "top-level-enumeration-number-and-exact-normalized-opening",
        "normalized_opening": "waktuperjalanankeretauntuksuatusegmensistemeuraildiperlihatkandibawahi",
        "page": 409,
        "page_text_sha256": "d62352f9d09ad9adbd354397128560ef0a6bd334c33cd9c11a4df056142ad2a7"
      },
      "source_span": {
        "content_bytes": 1155,
        "content_sha256": "b156419a8521711dbdd922a81dd9573f8ed756918189ed604f860f1ae177150b",
        "environment": "itemexercise",
        "id": "unit.r017.book1.ch14.text.itemexercise-001",
        "label": "ex:dijkstra-eurail",
        "line_range": [
          1970,
          1991
        ],
        "native_record_sha256": "c675ff618425a3f88b9bd2a1d8fc7a8fa72ba87f73c191ae346b7d60ab422f22",
        "normalized_character_range": [
          89380,
          90535
        ],
        "normalized_utf8_byte_range": [
          89388,
          90543
        ],
        "path": "Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
        "source_file": {
          "archive": "source",
          "bytes": 160339,
          "member": "source/Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
          "sha256": "bf10472a5ceb75aebe1702ecfb0e90c5d81242174858c28651196c9c169aa6bd"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch14.solutions-manual.subsection-014",
          "kind": "solution",
          "native_relation_id": null,
          "page": 558,
          "relation_basis": "explicit-manual-heading-and-distinct-numbering-family"
        },
        {
          "id": "unit.o018.lab.ch14.ex-14-skill-9",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch14.ex-14-skill-9.unit.r017.book1.ch14.text.itemexercise-001",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch14",
            "title_target": "Eurail: Bern ke Berlin"
          }
        },
        {
          "id": "unit.o018.lab.ch14.ex-14-skill-9",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch14.ex-14-skill-9.unit.r017.book1.ch14.text.itemexercise-001",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch14",
            "title_target": "Eurail: Bern ke Berlin"
          }
        }
      ],
      "title_id": "Latihan graf 9"
    },
    {
      "chapter": 14,
      "id": "c130:graph-practice:10",
      "kind": "graph-practice",
      "native_id": null,
      "number": "10",
      "reader": {
        "mapping_method": "top-level-enumeration-number-and-exact-normalized-opening",
        "normalized_opening": "denganmenggunakangrafdarisoalsebelumnyatemukanlintasandenganwaktutempu",
        "page": 409,
        "page_text_sha256": "d62352f9d09ad9adbd354397128560ef0a6bd334c33cd9c11a4df056142ad2a7"
      },
      "source_span": {
        "content_sha256": "9a18b475dc89fbb42f7645f27d4d76f6a4f5b432015a2a53a33d81be6442d5e3",
        "label": null,
        "line_range": [
          1991,
          1993
        ],
        "normalized_character_range": [
          90535,
          90660
        ],
        "path": "Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
        "source_file": {
          "archive": "source",
          "bytes": 160339,
          "member": "source/Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
          "sha256": "bf10472a5ceb75aebe1702ecfb0e90c5d81242174858c28651196c9c169aa6bd"
        }
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch14.solutions-manual.subsection-015",
          "kind": "solution",
          "native_relation_id": null,
          "page": 559,
          "relation_basis": "explicit-manual-heading-and-distinct-numbering-family"
        }
      ],
      "title_id": "Latihan graf 10"
    },
    {
      "chapter": 14,
      "id": "c130:graph-practice:11",
      "kind": "graph-practice",
      "native_id": null,
      "number": "11",
      "reader": {
        "mapping_method": "top-level-enumeration-number-and-exact-normalized-opening",
        "normalized_opening": "temukanpohonmerentangbiayaminimumuntukgrafyangandabuatdalamsoal3",
        "page": 409,
        "page_text_sha256": "d62352f9d09ad9adbd354397128560ef0a6bd334c33cd9c11a4df056142ad2a7"
      },
      "source_span": {
        "content_sha256": "34e6a5d3eba9fa56d322fec9217ce4d95a2fe80088423d8fac4d7c72dee2778c",
        "label": null,
        "line_range": [
          1993,
          1995
        ],
        "normalized_character_range": [
          90660,
          90749
        ],
        "path": "Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
        "source_file": {
          "archive": "source",
          "bytes": 160339,
          "member": "source/Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
          "sha256": "bf10472a5ceb75aebe1702ecfb0e90c5d81242174858c28651196c9c169aa6bd"
        }
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch14.solutions-manual.subsection-016",
          "kind": "solution",
          "native_relation_id": null,
          "page": 559,
          "relation_basis": "explicit-manual-heading-and-distinct-numbering-family"
        }
      ],
      "title_id": "Latihan graf 11"
    },
    {
      "chapter": 14,
      "id": "unit.r017.book1.ch14.text.itemexercise-002",
      "kind": "graph-practice",
      "native_id": "unit.r017.book1.ch14.text.itemexercise-002",
      "number": "12",
      "reader": {
        "mapping_method": "top-level-enumeration-number-and-exact-normalized-opening",
        "normalized_opening": "sebuahperusahaaninginmenghubungkan5bangunannyadengankabelseratoptikbia",
        "page": 409,
        "page_text_sha256": "d62352f9d09ad9adbd354397128560ef0a6bd334c33cd9c11a4df056142ad2a7"
      },
      "source_span": {
        "content_bytes": 1311,
        "content_sha256": "6725aab865746d53f10af04ee32db48840d3d667cfb1f70be226eea7df9c03ad",
        "environment": "itemexercise",
        "id": "unit.r017.book1.ch14.text.itemexercise-002",
        "label": "ex:mst-sonet-ring",
        "line_range": [
          1995,
          2016
        ],
        "native_record_sha256": "73eca51deea3d7a068e2ca649d63662668293f91d56d324b7b6c7ee6bd5ffb14",
        "normalized_character_range": [
          90749,
          92060
        ],
        "normalized_utf8_byte_range": [
          90757,
          92068
        ],
        "path": "Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
        "source_file": {
          "archive": "source",
          "bytes": 160339,
          "member": "source/Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
          "sha256": "bf10472a5ceb75aebe1702ecfb0e90c5d81242174858c28651196c9c169aa6bd"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch14.solutions-manual.subsection-017",
          "kind": "solution",
          "native_relation_id": null,
          "page": 559,
          "relation_basis": "explicit-manual-heading-and-distinct-numbering-family"
        },
        {
          "id": "unit.o018.lab.ch14.ex-14-skill-12",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch14.ex-14-skill-12.unit.r017.book1.ch14.text.itemexercise-002",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch14",
            "title_target": "MST Lima Bangunan"
          }
        },
        {
          "id": "unit.o018.lab.ch14.ex-14-skill-12",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch14.ex-14-skill-12.unit.r017.book1.ch14.text.itemexercise-002",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch14",
            "title_target": "MST Lima Bangunan"
          }
        }
      ],
      "title_id": "Latihan graf 12"
    },
    {
      "chapter": 14,
      "id": "unit.r017.book1.ch14.text.itemexercise-003",
      "kind": "graph-practice",
      "native_id": "unit.r017.book1.ch14.text.itemexercise-003",
      "number": "13",
      "reader": {
        "mapping_method": "top-level-enumeration-number-and-exact-normalized-opening",
        "normalized_opening": "waktuperjalanankeretapenumpangdalammenitdiantaralimakotadivirginiadanw",
        "page": 410,
        "page_text_sha256": "e60620f00c8a02b967d439c448404c90963bde76b3fddfbe1e071a129ae02926"
      },
      "source_span": {
        "content_bytes": 1451,
        "content_sha256": "645448b676c84e6b57dd77d5e458f96cf4b55d2b0304c161a4eccdcf45b0ca9f",
        "environment": "itemexercise",
        "id": "unit.r017.book1.ch14.text.itemexercise-003",
        "label": "ex:dijkstra-warmup-rail",
        "line_range": [
          2016,
          2036
        ],
        "native_record_sha256": "12149ba10159652ed5913e1366dcf8a97b0cb2d853829d14d851edb2a97f60a2",
        "normalized_character_range": [
          92060,
          93511
        ],
        "normalized_utf8_byte_range": [
          92068,
          93519
        ],
        "path": "Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
        "source_file": {
          "archive": "source",
          "bytes": 160339,
          "member": "source/Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
          "sha256": "bf10472a5ceb75aebe1702ecfb0e90c5d81242174858c28651196c9c169aa6bd"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch14.solutions-manual.subsection-018",
          "kind": "solution",
          "native_relation_id": null,
          "page": 559,
          "relation_basis": "explicit-manual-heading-and-distinct-numbering-family"
        },
        {
          "id": "unit.o018.lab.ch14.ex-14-skill-13",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch14.ex-14-skill-13.unit.r017.book1.ch14.text.itemexercise-003",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch14",
            "title_target": "Kereta Virginia"
          }
        },
        {
          "id": "unit.o018.lab.ch14.ex-14-skill-13",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch14.ex-14-skill-13.unit.r017.book1.ch14.text.itemexercise-003",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch14",
            "title_target": "Kereta Virginia"
          }
        }
      ],
      "title_id": "Latihan graf 13"
    },
    {
      "chapter": 14,
      "id": "unit.r017.book1.ch14.text.itemexercise-004",
      "kind": "graph-practice",
      "native_id": "unit.r017.book1.ch14.text.itemexercise-004",
      "number": "14",
      "reader": {
        "mapping_method": "top-level-enumeration-number-and-exact-normalized-opening",
        "normalized_opening": "denganmenggunakanalgoritmekruskaltemukanpohonmerentangbiayaminimumuntu",
        "page": 410,
        "page_text_sha256": "e60620f00c8a02b967d439c448404c90963bde76b3fddfbe1e071a129ae02926"
      },
      "source_span": {
        "content_bytes": 405,
        "content_sha256": "ddb60a74de1d2e1ef2cb4aab68449aaeca9c80fa09b2afdc4ca4930b7e8ab5d3",
        "environment": "itemexercise",
        "id": "unit.r017.book1.ch14.text.itemexercise-004",
        "label": "ex:kruskal-airfare",
        "line_range": [
          2036,
          2038
        ],
        "native_record_sha256": "bd21b26dcbce7ccd1eb2efd31a41ab5c5a8ee0dd41949787dee22ff01a8d44e6",
        "normalized_character_range": [
          93511,
          93916
        ],
        "normalized_utf8_byte_range": [
          93519,
          93924
        ],
        "path": "Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
        "source_file": {
          "archive": "source",
          "bytes": 160339,
          "member": "source/Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
          "sha256": "bf10472a5ceb75aebe1702ecfb0e90c5d81242174858c28651196c9c169aa6bd"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch14.solutions-manual.subsection-019",
          "kind": "solution",
          "native_relation_id": null,
          "page": 560,
          "relation_basis": "explicit-manual-heading-and-distinct-numbering-family"
        },
        {
          "id": "unit.o018.lab.ch14.ex-14-skill-14",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch14.ex-14-skill-14.unit.r017.book1.ch14.text.itemexercise-004",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch14",
            "title_target": "MST Harga Tiket Pesawat"
          }
        },
        {
          "id": "unit.o018.lab.ch14.ex-14-skill-14",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch14.ex-14-skill-14.unit.r017.book1.ch14.text.itemexercise-004",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch14",
            "title_target": "MST Harga Tiket Pesawat"
          }
        }
      ],
      "title_id": "Latihan graf 14"
    },
    {
      "chapter": 14,
      "id": "c130:graph-practice:15",
      "kind": "graph-practice",
      "native_id": null,
      "number": "15",
      "reader": {
        "mapping_method": "top-level-enumeration-number-and-exact-normalized-opening",
        "normalized_opening": "dapatkahsebuahgrafmemilikisatusimpulberderajatganjiljikatidakadakahban",
        "page": 410,
        "page_text_sha256": "e60620f00c8a02b967d439c448404c90963bde76b3fddfbe1e071a129ae02926"
      },
      "source_span": {
        "content_sha256": "99c47811fea3e372c70f5346b7b9cc759e32572e4fc31fc69653caccd6a44587",
        "label": null,
        "line_range": [
          2043,
          2045
        ],
        "normalized_character_range": [
          93988,
          94145
        ],
        "path": "Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
        "source_file": {
          "archive": "source",
          "bytes": 160339,
          "member": "source/Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
          "sha256": "bf10472a5ceb75aebe1702ecfb0e90c5d81242174858c28651196c9c169aa6bd"
        }
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch14.solutions-manual.subsection-020",
          "kind": "solution",
          "native_relation_id": null,
          "page": 560,
          "relation_basis": "explicit-manual-heading-and-distinct-numbering-family"
        }
      ],
      "title_id": "Latihan graf 15"
    },
    {
      "chapter": 14,
      "id": "unit.r017.book1.ch14.text.itemexercise-005",
      "kind": "graph-practice",
      "native_id": "unit.r017.book1.ch14.text.itemexercise-005",
      "number": "16",
      "reader": {
        "mapping_method": "top-level-enumeration-number-and-exact-normalized-opening",
        "normalized_opening": "algoritmekruskalbersifatrakuspadasetiaplangkahalgoritmemengambilsisite",
        "page": 410,
        "page_text_sha256": "e60620f00c8a02b967d439c448404c90963bde76b3fddfbe1e071a129ae02926"
      },
      "source_span": {
        "content_bytes": 776,
        "content_sha256": "636cdb7e61ff94c68d02a6de629456656cbd095feab0226c34ae9b9d2ee7c01b",
        "environment": "itemexercise",
        "id": "unit.r017.book1.ch14.text.itemexercise-005",
        "label": "ex:mst-greedy",
        "line_range": [
          2045,
          2048
        ],
        "native_record_sha256": "e76225c92795a41b0a97f6b03887a575bcb3fdd856bbe5864bb6cfe810123886",
        "normalized_character_range": [
          94145,
          94921
        ],
        "normalized_utf8_byte_range": [
          94153,
          94929
        ],
        "path": "Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
        "source_file": {
          "archive": "source",
          "bytes": 160339,
          "member": "source/Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
          "sha256": "bf10472a5ceb75aebe1702ecfb0e90c5d81242174858c28651196c9c169aa6bd"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch14.solutions-manual.subsection-021",
          "kind": "solution",
          "native_relation_id": null,
          "page": 560,
          "relation_basis": "explicit-manual-heading-and-distinct-numbering-family"
        },
        {
          "id": "unit.o018.lab.ch14.ex-14-concept-16",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch14.ex-14-concept-16.unit.r017.book1.ch14.text.itemexercise-005",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch14",
            "title_target": "Mengapa Kruskal Bersifat Optimal"
          }
        },
        {
          "id": "unit.o018.lab.ch14.ex-14-concept-16",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch14.ex-14-concept-16.unit.r017.book1.ch14.text.itemexercise-005",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch14",
            "title_target": "Mengapa Kruskal Bersifat Optimal"
          }
        }
      ],
      "title_id": "Latihan graf 16"
    },
    {
      "chapter": 14,
      "id": "unit.r017.book1.ch14.text.itemexercise-006",
      "kind": "graph-practice",
      "native_id": "unit.r017.book1.ch14.text.itemexercise-006",
      "number": "17",
      "reader": {
        "mapping_method": "top-level-enumeration-number-and-exact-normalized-opening",
        "normalized_opening": "algoritmedijkstramenandaisecarapermanensimpulbelumdikunjungidenganjara",
        "page": 411,
        "page_text_sha256": "2f98b26e35dc1d709284ce7ad962d42691e9e1a6b46ac113d0809f1478e835b6"
      },
      "source_span": {
        "content_bytes": 443,
        "content_sha256": "e57c114a9ebf6c9016358c747bc585ca023c8b0edbb4ec1af0a568b7ec816347",
        "environment": "itemexercise",
        "id": "unit.r017.book1.ch14.text.itemexercise-006",
        "label": "ex:dijkstra-nonneg",
        "line_range": [
          2048,
          2051
        ],
        "native_record_sha256": "b1d627f6807eef503294257a6abbb31cb08c99f7aec13af728664ac0f51a133c",
        "normalized_character_range": [
          94921,
          95364
        ],
        "normalized_utf8_byte_range": [
          94929,
          95372
        ],
        "path": "Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
        "source_file": {
          "archive": "source",
          "bytes": 160339,
          "member": "source/Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
          "sha256": "bf10472a5ceb75aebe1702ecfb0e90c5d81242174858c28651196c9c169aa6bd"
        },
        "type": "exercise"
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch14.solutions-manual.subsection-022",
          "kind": "solution",
          "native_relation_id": null,
          "page": 561,
          "relation_basis": "explicit-manual-heading-and-distinct-numbering-family"
        },
        {
          "id": "unit.o018.lab.ch14.ex-14-concept-17",
          "kind": "computational_lab",
          "native_relation_id": "relation.adapts.unit.o018.lab.ch14.ex-14-concept-17.unit.r017.book1.ch14.text.itemexercise-006",
          "relation_basis": "adapts",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch14",
            "title_target": "Mengapa Dijkstra Memerlukan Bobot Tak Negatif"
          }
        },
        {
          "id": "unit.o018.lab.ch14.ex-14-concept-17",
          "kind": "computational_lab",
          "native_relation_id": "relation.solves.unit.o018.lab.ch14.ex-14-concept-17.unit.r017.book1.ch14.text.itemexercise-006",
          "relation_basis": "solves",
          "source": {
            "asset_ids": null,
            "code_data_refs": null,
            "content_path": null,
            "parent_id": "unit.o018.lab.ch14",
            "title_target": "Mengapa Dijkstra Memerlukan Bobot Tak Negatif"
          }
        }
      ],
      "title_id": "Latihan graf 17"
    },
    {
      "chapter": 14,
      "id": "c130:graph-practice:18",
      "kind": "graph-practice",
      "native_id": null,
      "number": "18",
      "reader": {
        "mapping_method": "top-level-enumeration-number-and-exact-normalized-opening",
        "normalized_opening": "jejaringsosialsepertifacebookdanlinkedindapatdirepresentasikanmengguna",
        "page": 411,
        "page_text_sha256": "2f98b26e35dc1d709284ce7ad962d42691e9e1a6b46ac113d0809f1478e835b6"
      },
      "source_span": {
        "content_sha256": "f3b6edcc4bbf9e953ba60620a7651c1f52ea99ceab07e94250c9196e573158aa",
        "label": null,
        "line_range": [
          2056,
          2088
        ],
        "normalized_character_range": [
          95440,
          97539
        ],
        "path": "Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
        "source_file": {
          "archive": "source",
          "bytes": 160339,
          "member": "source/Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
          "sha256": "bf10472a5ceb75aebe1702ecfb0e90c5d81242174858c28651196c9c169aa6bd"
        }
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch14.solutions-manual.subsection-023",
          "kind": "guide-and-rubric",
          "native_relation_id": null,
          "page": 561,
          "relation_basis": "explicit-manual-heading-and-distinct-numbering-family"
        }
      ],
      "title_id": "Latihan graf 18"
    },
    {
      "chapter": 14,
      "id": "c130:graph-practice:19",
      "kind": "graph-practice",
      "native_id": null,
      "number": "19",
      "reader": {
        "mapping_method": "top-level-enumeration-number-and-exact-normalized-opening",
        "normalized_opening": "pemeriksaejaandalamprogrampengolahkatamemberikansaranketikamenemukanka",
        "page": 411,
        "page_text_sha256": "2f98b26e35dc1d709284ce7ad962d42691e9e1a6b46ac113d0809f1478e835b6"
      },
      "source_span": {
        "content_sha256": "719e462a2583ad6e490bfaee77c1ff161d9dbaa2d41958bf1dac0cfce6f47a03",
        "label": null,
        "line_range": [
          2088,
          2094
        ],
        "normalized_character_range": [
          97539,
          99082
        ],
        "path": "Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
        "source_file": {
          "archive": "source",
          "bytes": 160339,
          "member": "source/Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
          "sha256": "bf10472a5ceb75aebe1702ecfb0e90c5d81242174858c28651196c9c169aa6bd"
        }
      },
      "supports": [
        {
          "id": "unit.r017.book1.ch14.solutions-manual.subsection-024",
          "kind": "guide-and-rubric",
          "native_relation_id": null,
          "page": 561,
          "relation_basis": "explicit-manual-heading-and-distinct-numbering-family"
        }
      ],
      "title_id": "Latihan graf 19"
    }
  ],
  "reader": {
    "bytes": 26425739,
    "filename": "pemrograman-matematis-dan-riset-operasi-buku-1-id-ID.pdf",
    "locale": "id-ID",
    "pages": 666,
    "sha256": "daa9b79df3684729cc204b563669f400866d8fbd12c0977d32ff9897276a7a49",
    "url": "https://kokunoyumeto.github.io/open-optimization-or-book-id/downloads/pemrograman-matematis-dan-riset-operasi-buku-1-id-ID.pdf"
  },
  "schema": "c130-teacher-mapping/1",
  "source_commit": "a639b69cf84c4d4f60f7dcdb62dbeb5cfb153adc",
  "source_normalization": "UTF-8-sig; CRLF and CR to LF; exact half-open character ranges",
  "source_only": [
    {
      "id": "unit.r017.book1.ch14.text.ex-005",
      "reason": "legacy-conditional-not-in-pinned-reader",
      "source_span": {
        "content_bytes": 737,
        "content_sha256": "743a463e4a1aad8aa72c310f50457b74cf5c0e4ee64265be6491f4df16364d2c",
        "environment": "ex",
        "id": "unit.r017.book1.ch14.text.ex-005",
        "label": null,
        "line_range": [
          2400,
          2423
        ],
        "native_record_sha256": "7de312ccb2695c0a02c22a6f255443027b7bf8c7a368babe49a5b693d36575ba",
        "normalized_character_range": [
          114647,
          115384
        ],
        "normalized_utf8_byte_range": [
          114671,
          115408
        ],
        "path": "Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
        "source_file": {
          "archive": "source",
          "bytes": 160339,
          "member": "source/Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
          "sha256": "bf10472a5ceb75aebe1702ecfb0e90c5d81242174858c28651196c9c169aa6bd"
        },
        "type": "exercise"
      }
    },
    {
      "id": "unit.r017.book1.ch14.text.ex-006",
      "reason": "legacy-conditional-not-in-pinned-reader",
      "source_span": {
        "content_bytes": 497,
        "content_sha256": "a4b38dd074d9df6c5d84bb98c2820781326a8bac392af478d588811f2a044a94",
        "environment": "ex",
        "id": "unit.r017.book1.ch14.text.ex-006",
        "label": null,
        "line_range": [
          2589,
          2604
        ],
        "native_record_sha256": "9d7130924c321577cd2aa0539fff0f9a70970b3a0a47eb36443721451bcc8856",
        "normalized_character_range": [
          121456,
          121953
        ],
        "normalized_utf8_byte_range": [
          121480,
          121977
        ],
        "path": "Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
        "source_file": {
          "archive": "source",
          "bytes": 160339,
          "member": "source/Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
          "sha256": "bf10472a5ceb75aebe1702ecfb0e90c5d81242174858c28651196c9c169aa6bd"
        },
        "type": "exercise"
      }
    },
    {
      "id": "unit.r017.book1.ch14.text.ex-007",
      "reason": "legacy-conditional-not-in-pinned-reader",
      "source_span": {
        "content_bytes": 943,
        "content_sha256": "12f1b526b72986fb2f4c3d6aba4e26ed9bee219e3e665186ce99d9f73afb391a",
        "environment": "ex",
        "id": "unit.r017.book1.ch14.text.ex-007",
        "label": "tab:graphtheory-dor1-tab07",
        "line_range": [
          3117,
          3145
        ],
        "native_record_sha256": "2ae2a6577dcebf2dfb9d9cb92a3404229e15d278745060584f79bafdaf226d8e",
        "normalized_character_range": [
          142789,
          143732
        ],
        "normalized_utf8_byte_range": [
          142817,
          143760
        ],
        "path": "Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
        "source_file": {
          "archive": "source",
          "bytes": 160339,
          "member": "source/Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
          "sha256": "bf10472a5ceb75aebe1702ecfb0e90c5d81242174858c28651196c9c169aa6bd"
        },
        "type": "exercise"
      }
    },
    {
      "id": "unit.r017.book1.ch14.text.ex-008",
      "reason": "legacy-conditional-not-in-pinned-reader",
      "source_span": {
        "content_bytes": 1191,
        "content_sha256": "cc19f9b3a419615b4dea01d1f83eb5a0383887683cee9b6efdc76c14e008ef8a",
        "environment": "ex",
        "id": "unit.r017.book1.ch14.text.ex-008",
        "label": null,
        "line_range": [
          3512,
          3537
        ],
        "native_record_sha256": "bc8b3ec1f58444ee2d2e96e740a298e0298212b5a9e6c12188691708386b4bfc",
        "normalized_character_range": [
          157042,
          158233
        ],
        "normalized_utf8_byte_range": [
          157074,
          158265
        ],
        "path": "Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
        "source_file": {
          "archive": "source",
          "bytes": 160339,
          "member": "source/Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
          "sha256": "bf10472a5ceb75aebe1702ecfb0e90c5d81242174858c28651196c9c169aa6bd"
        },
        "type": "exercise"
      }
    }
  ],
  "state": "exact-source-and-reader-reference-mapping",
  "support_navigation": {
    "counts": {
      "adjacent_example_mappings": 2,
      "checkpoint_answers": 12,
      "checkpoints": 12,
      "explicit_solution_heading_mappings": 12,
      "ordered_composite_mappings": 14,
      "other_native_solutions": 132,
      "source_bound_without_printed_mapping": 0,
      "unique_passage_or_anchor_mappings": 168,
      "visual_activities": 12
    },
    "limits": [
      "A literal passage link locates the matched part, not necessarily the start or full extent of a solution.",
      "Explicit solution-reference links locate a unique solution heading; the body may continue on following pages.",
      "No external visualization availability, solver execution or mathematical correctness is established by these links.",
      "Unmapped solution sources are retained explicitly; absent navigation is not a claim of absent mathematical content."
    ],
    "materials": [
      {
        "id": "unit.r017.book1.appendix.linear-systems.gaussian.solution-001",
        "kind": "solution",
        "page": 597,
        "page_text_sha256": "df0c42314352519974ee4838a823e4a27303bfc5204253147db1fb27fc6471d4",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 1197,
          "content_sha256": "f02d1682565ddb5b65211af8e752555ce1b77530d4a82d584a74ed4957a13ae4",
          "environment": "solution",
          "id": "unit.r017.book1.appendix.linear-systems.gaussian.solution-001",
          "label": null,
          "line_range": [
            342,
            383
          ],
          "native_record_sha256": "95f7fcb7b3ff27b2ebe7312a5f093888e15735821e6fcd652e5e2fd199ab4f36",
          "normalized_character_range": [
            10871,
            12068
          ],
          "normalized_utf8_byte_range": [
            10871,
            12068
          ],
          "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/systemsofequationsAlgebraicProceduresGaussianElimination.tex",
          "source_file": {
            "archive": "source",
            "bytes": 32542,
            "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/systemsofequationsAlgebraicProceduresGaussianElimination.tex",
            "sha256": "ff082d784a2caddec46097f6c12814dd1fbbfd16205e3e93625fed0d345fb173"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "inilahyangkitaperlukandalamcontohinitetapiperhatikanbahwamatrikstersebuttidakberadadalam",
            "page": 597,
            "source_character_range": [
              11373,
              11477
            ],
            "source_sha256": "6e77d7dfde771baa1b5d1bc90705ff3cb49bc9a8bd2628c3143cb5da09cb0fb4",
            "source_text": "Inilah yang kita perlukan dalam contoh ini, tetapi perhatikan bahwa matriks tersebut tidak berada dalam "
          },
          {
            "normalized_witness": "untukmenentukanposisipivotdalammatrikssemulakitamencarientriutamadalam",
            "page": 597,
            "source_character_range": [
              11485,
              11568
            ],
            "source_sha256": "5ff93cd729362b0d4708e6e9fa057a6dc460c0fec2fe046e1d37bdfd8677d884",
            "source_text": "Untuk menentukan posisi pivot dalam matriks semula, kita mencari entri utama dalam "
          },
          {
            "normalized_witness": "matrikstersebutdisinientripadabarispertamadankolompertamasertaentripadabariskeduadankolomkeduamerupakanentriutamajadiletakletaktersebutmerupakanposisipivotkitamenandaiposisipivotpadamatrikssemulasebagaiberikut",
            "page": 597,
            "source_character_range": [
              11587,
              11840
            ],
            "source_sha256": "5cdc03323c79a24e8316a162711f94101e8c9230a16fc8a6d552a053acf528d8",
            "source_text": "matriks tersebut.\nDi sini, entri pada baris pertama dan kolom pertama serta entri pada baris kedua dan kolom kedua\nmerupakan entri utama. Jadi, letak-letak tersebut merupakan posisi pivot. Kita menandai posisi pivot pada matriks semula,\nsebagai berikut:"
          },
          {
            "normalized_witness": "jadikolompivotdalammatrikstersebutadalahduakolompertama",
            "page": 597,
            "source_character_range": [
              11987,
              12054
            ],
            "source_sha256": "b840a5e5dc343e0e975a9ff0b32d5dec062128e9560b89dfff18839f2b8f8aed",
            "source_text": "Jadi, kolom pivot dalam matriks tersebut adalah dua kolom pertama.\n"
          }
        ]
      },
      {
        "id": "unit.r017.book1.appendix.linear-systems.gaussian.solution-002",
        "kind": "solution",
        "page": 598,
        "page_text_sha256": "87e538a65acd40b4e610c3e359f788a7fd0184322432d770292f4daf4056ac98",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 2866,
          "content_sha256": "dd3fd098b792499b360cacd9a3dd4cb2d702617ec716d99a9a7a267e6fa6da98",
          "environment": "solution",
          "id": "unit.r017.book1.appendix.linear-systems.gaussian.solution-002",
          "label": null,
          "line_range": [
            454,
            543
          ],
          "native_record_sha256": "079126f3b73de14be69ca869c9b75fff81b3a442cd08fc3c9e01ff4e143116d4",
          "normalized_character_range": [
            14969,
            17835
          ],
          "normalized_utf8_byte_range": [
            14969,
            17835
          ],
          "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/systemsofequationsAlgebraicProceduresGaussianElimination.tex",
          "source_file": {
            "archive": "source",
            "bytes": 32542,
            "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/systemsofequationsAlgebraicProceduresGaussianElimination.tex",
            "sha256": "ff082d784a2caddec46097f6c12814dd1fbbfd16205e3e93625fed0d345fb173"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "dalammengerjakancontohinikitaakanmenggunakanlangkahlangkahyangdiuraikandalamalgoritme",
            "page": 598,
            "source_character_range": [
              14986,
              15085
            ],
            "source_sha256": "b78b3590bb0045b92ee47facdc6c749d01aaa3f8ad12356c187da8c37ce1b439",
            "source_text": "Dalam mengerjakan contoh ini, kita akan menggunakan langkah-langkah yang diuraikan dalam Algoritme "
          },
          {
            "normalized_witness": "kolompivotpertamaadalahkolompertamamatrikskarenakolominimerupakankolomtaknolpertamadarikirijadiposisipivotpertamaberadapadabarispertamadankolompertamatukarkankeduabarispertamauntukmemperolehentritaknolpadaposisipivotpertamayangditandaidengankotakdibawah",
            "page": 598,
            "source_character_range": [
              15136,
              15441
            ],
            "source_sha256": "9db622fc93a7585e326622e926535c96e92e319e3f41723a5d1b439332b2df0b",
            "source_text": "Kolom pivot pertama adalah kolom pertama matriks karena kolom ini merupakan kolom tak nol pertama dari kiri.\nJadi, posisi pivot pertama berada pada baris pertama dan kolom pertama. Tukarkan kedua baris pertama untuk\nmemperoleh entri tak nol pada posisi pivot pertama, yang ditandai dengan kotak di bawah.\n"
          },
          {
            "normalized_witness": "langkahkeduamenghasilkannolpadaentrientridibawahposisipivotpertamaentripertamapadabariskeduasudahbernilainolkitahanyaperlumengurangkan",
            "page": 598,
            "source_character_range": [
              15575,
              15735
            ],
            "source_sha256": "7346b8d8eb6eb1089ec25803c725b644ad8b9286f2fa6a2ac494d5519710a05e",
            "source_text": "Langkah kedua menghasilkan nol pada entri-entri di bawah posisi pivot pertama. Entri pertama pada baris kedua\nsudah bernilai nol. Kita hanya perlu mengurangkan "
          },
          {
            "normalized_witness": "kalibarispertamadaribarisketigamatriksyangdihasilkanadalah",
            "page": 598,
            "source_character_range": [
              15739,
              15808
            ],
            "source_sha256": "ac099b927eea40c28061d247469c27db5b0f2dc8b469e74e4d5579e3509ec678",
            "source_text": "kali baris pertama dari baris ketiga.\nMatriks yang dihasilkan adalah\n"
          },
          {
            "normalized_witness": "dalammatriksinikolompertamamerupakankolompivotdan",
            "page": 598,
            "source_character_range": [
              16168,
              16227
            ],
            "source_sha256": "559c79bb58ad6c4642a7e4527ae37a683d59e166332a4430236f70f1fb742222",
            "source_text": "Dalam matriks ini, kolom pertama merupakan kolom pivot dan "
          },
          {
            "normalized_witness": "beradapadaposisipivotpertamaolehkarenaitukitaperlumenghasilkannoldibawahnyauntukmelakukannyatambahkan",
            "page": 598,
            "source_character_range": [
              16232,
              16354
            ],
            "source_sha256": "178c163f157847430d7c06a6c299f0388a1dd1842ed2b2ae094f8a94412321f0",
            "source_text": "berada pada posisi pivot pertama. Oleh karena itu, kita perlu menghasilkan nol di bawahnya.\nUntuk melakukannya, tambahkan "
          },
          {
            "normalized_witness": "kalibarispertamadarimatriksinikebariskeduamatriksyangdihasilkanadalah",
            "page": 598,
            "source_character_range": [
              16358,
              16443
            ],
            "source_sha256": "2e4caea4e845424f7ccda1df1ce51aa788d27a65067ddbfa378f8112737cd3c7",
            "source_text": "kali baris pertama (dari matriks ini) ke baris kedua. Matriks yang dihasilkan adalah\n"
          },
          {
            "normalized_witness": "kitadapatmelihatbahwatidakadalagibarisyangperludiubah",
            "page": 599,
            "source_character_range": [
              16692,
              16758
            ],
            "source_sha256": "63e7d4afa0189cdbb4ba114230ddc4eb1eb14f3f4167add737ac7b721b793663",
            "source_text": "Kita dapat melihat bahwa tidak ada lagi baris yang perlu diubah.\n\n"
          },
          {
            "normalized_witness": "utamapadasetiapbarisbarispertamasudahmemiliki",
            "page": 599,
            "source_character_range": [
              16801,
              16855
            ],
            "source_sha256": "29e0800d4573eb17699849d1a96459417b05760d877f219cafd26891405273c7",
            "source_text": "utama pada setiap baris. Baris pertama sudah memiliki "
          },
          {
            "normalized_witness": "utamasehinggatidakdiperlukantindakandisinibagibariskeduadengan",
            "page": 599,
            "source_character_range": [
              16859,
              16934
            ],
            "source_sha256": "325c6dfdd779981a97641eaf4d2bbf6ec3921b29055e3cd8a28afc0b6117e53c",
            "source_text": "utama, sehingga tidak diperlukan tindakan di sini.\nBagi baris kedua dengan "
          },
          {
            "normalized_witness": "sekaranghasilkannolpadaentrientridiatasposisipivotdalamsetiapkolomuntukmembawamatriksinisepenuhnyake",
            "page": 599,
            "source_character_range": [
              17183,
              17302
            ],
            "source_sha256": "60a39a72b6cdd569f80857199e619b4515833bc934fd1b6be409caa6c91fb866",
            "source_text": "Sekarang hasilkan nol pada entri-entri di atas posisi pivot dalam setiap kolom untuk membawa matriks ini sepenuhnya ke "
          },
          {
            "normalized_witness": "perhatikanbahwatidakterdapatposisipivotpadakolomketigasehinggakitatidakperlumenghasilkannoldalamkolomtersebutkolomtempatkitaperlumenghasilkannoladalahkolomkeduauntukmelakukannyakurangkan",
            "page": 599,
            "source_character_range": [
              17309,
              17529
            ],
            "source_sha256": "5e0df8ddf42de7f529dcd49dc8ac711ded924f528fb25c62a19cebe6cd1a34bf",
            "source_text": "Perhatikan bahwa tidak terdapat posisi pivot pada kolom ketiga, sehingga kita tidak perlu menghasilkan nol dalam kolom tersebut. Kolom tempat kita\nperlu menghasilkan nol adalah kolom kedua. Untuk melakukannya, kurangkan "
          },
          {
            "normalized_witness": "kalibariskeduadaribarispertamamatriksyangdihasilkanadalah",
            "page": 599,
            "source_character_range": [
              17533,
              17601
            ],
            "source_sha256": "b188269d0cac270abf64e439caed72275f683a4d4bd5b91b99a02347db5e1744",
            "source_text": "kali baris kedua dari baris pertama. Matriks yang dihasilkan adalah\n"
          }
        ]
      },
      {
        "id": "unit.r017.book1.appendix.linear-systems.gaussian.solution-003",
        "kind": "solution",
        "page": 600,
        "page_text_sha256": "90356c8b2f3816ed09c1c2d0998b84bb9822777e412b57e4e587e8b797b6fae6",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 2202,
          "content_sha256": "9006609c67ed0798f7dae13713915b0656433a1c916a0890ea891d6b766c3952",
          "environment": "solution",
          "id": "unit.r017.book1.appendix.linear-systems.gaussian.solution-003",
          "label": null,
          "line_range": [
            625,
            686
          ],
          "native_record_sha256": "a75d8b18ff8b8c15e877f22531b6f20ac55496f2c1663104b2617321ff240423",
          "normalized_character_range": [
            20432,
            22634
          ],
          "normalized_utf8_byte_range": [
            20432,
            22634
          ],
          "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/systemsofequationsAlgebraicProceduresGaussianElimination.tex",
          "source_file": {
            "archive": "source",
            "bytes": 32542,
            "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/systemsofequationsAlgebraicProceduresGaussianElimination.tex",
            "sha256": "ff082d784a2caddec46097f6c12814dd1fbbfd16205e3e93625fed0d345fb173"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "untukmenemukansolusisisteminikitainginmembawamatriksdiperbesarke",
            "page": 600,
            "source_character_range": [
              20626,
              20702
            ],
            "source_sha256": "6fbed670f6245dc6a2974d5b17ff05ab6e86b47ffb68959c86ee03ec932dd060",
            "source_text": "Untuk menemukan solusi sistem ini, kita ingin membawa matriks diperbesar ke "
          },
          {
            "normalized_witness": "kitaakanmelakukannyadenganmenggunakanalgoritme",
            "page": 600,
            "source_character_range": [
              20709,
              20761
            ],
            "source_sha256": "1f9a74ec1d6b670a718158547b10d0e226d0e620988d08f54ce0925745f6826c",
            "source_text": "Kita akan melakukannya dengan menggunakan Algoritme "
          },
          {
            "normalized_witness": "perhatikanbahwakolompertamatidaknolsehinggakolominimerupakankolompivotpertamaentripertamapadabarispertamayaitu",
            "page": 600,
            "source_character_range": [
              20787,
              20919
            ],
            "source_sha256": "4e35f804a57f6278578825eafb7c33b3d7e8fe03d402561c29d5b42855cd5e93",
            "source_text": "Perhatikan bahwa\nkolom pertama tidak nol, sehingga kolom ini merupakan kolom pivot pertama. Entri pertama pada baris pertama, yaitu "
          },
          {
            "normalized_witness": "merupakanentriutamapertamadanberadapadaposisipivotpertamakitaakanmenggunakanoperasibarisuntukmenghasilkannolpadaentrientridibawah",
            "page": 600,
            "source_character_range": [
              20924,
              21077
            ],
            "source_sha256": "061ec6711d02e9941a671a6f2b9b6972c8b27e3dd942208d48f1846c69c41927",
            "source_text": "merupakan\nentri utama pertama dan berada pada posisi pivot pertama. Kita akan menggunakan operasi baris\nuntuk menghasilkan nol pada entri-entri di bawah "
          },
          {
            "normalized_witness": "sekarangentrientripadakolompertamadibawahposisipivotbernilainolselanjutnyakitamencarikolompivotkeduayangdalamhaliniadalahkolomketigadisini",
            "page": 600,
            "source_character_range": [
              21572,
              21742
            ],
            "source_sha256": "14c4c51c09d4cce8cc29c761b44a4ea4b1baa4258b4f2fc5e7dac4d4d82e64d4",
            "source_text": "Sekarang entri-entri pada kolom pertama di bawah posisi pivot bernilai nol. Selanjutnya, kita mencari kolom pivot kedua, yang dalam hal ini adalah kolom ketiga.\nDi sini, "
          },
          {
            "normalized_witness": "padabariskeduadankolomketigaberadapadaposisipivotkitahanyaperlumelakukansatuoperasibarisuntukmenghasilkannoldibawah",
            "page": 600,
            "source_character_range": [
              21746,
              21884
            ],
            "source_sha256": "806c70bed5c2fc74ce14f8046b7c390dba50e3fa0c3b6d8f4e6a6abb183f0bb7",
            "source_text": "pada baris kedua dan kolom ketiga berada pada posisi pivot.\nKita hanya perlu melakukan satu operasi baris untuk menghasilkan nol di bawah "
          },
          {
            "normalized_witness": "kalibariskeduadanmenambahkannyakebarisketigamenghasilkan",
            "page": 600,
            "source_character_range": [
              21905,
              21970
            ],
            "source_sha256": "e055ae98402981f322888e18fdfff19096fe1a3281c69faec433a37ab64407e1",
            "source_text": "kali baris kedua dan\nmenambahkannya ke baris ketiga menghasilkan\n"
          },
          {
            "normalized_witness": "kitadapatmelanjutkanalgoritmeuntukmembawamatriksinike",
            "page": 600,
            "source_character_range": [
              22107,
              22169
            ],
            "source_sha256": "3ddb67b2beae76a858cdc98cdaf04ff95190ae52f54f90e3f24d510968882ef0",
            "source_text": "Kita dapat melanjutkan algoritme untuk membawa matriks ini ke "
          },
          {
            "normalized_witness": "namuningatlahbahwakitasedangmencarisolusisistempersamaanperhatikankembalibarisketigamatrikstersebutbarisitubersesuaiandenganpersamaan",
            "page": 600,
            "source_character_range": [
              22187,
              22343
            ],
            "source_sha256": "6eea683a174380720ca59d0151c41122e7c8fefa09792e9f7815e526b7e6d71d",
            "source_text": "Namun, ingatlah bahwa\nkita sedang mencari solusi sistem persamaan. Perhatikan kembali baris ketiga matriks tersebut.\nBaris itu bersesuaian dengan\npersamaan\n"
          },
          {
            "normalized_witness": "persamaaninitidakmemilikisolusikarenauntuksemua",
            "page": 600,
            "source_character_range": [
              22389,
              22444
            ],
            "source_sha256": "f1e965ef2b33a9eab3d3af2e08f0fbe76493986c32185dd90253b28338989c71",
            "source_text": "Persamaan ini tidak memiliki solusi karena untuk semua "
          },
          {
            "normalized_witness": "halinimenunjukkanbahwasistempersamaanyangdiberikantidakmemilikisolusidengankatalainsisteminitakkonsisten",
            "page": 600,
            "source_character_range": [
              22495,
              22620
            ],
            "source_sha256": "c3b611d63031a2970975279cc25d85710fb99ad92b183d79bcda82b2f16ac9c9",
            "source_text": "Hal ini menunjukkan bahwa\nsistem persamaan yang diberikan tidak memiliki solusi. Dengan kata lain, sistem ini tak konsisten.\n"
          }
        ]
      },
      {
        "id": "unit.r017.book1.appendix.linear-systems.gaussian.solution-004",
        "kind": "solution",
        "page": 601,
        "page_text_sha256": "60cb3861056fd495f3f9da0627ad313a980dd2c143b90ae94639f89a67f184de",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 3821,
          "content_sha256": "5944c8ace58b33b520e250f912517adbdd499e0c7fcb25b2696e7480b0b596d8",
          "environment": "solution",
          "id": "unit.r017.book1.appendix.linear-systems.gaussian.solution-004",
          "label": null,
          "line_range": [
            702,
            821
          ],
          "native_record_sha256": "9e8bea52e186942455460d4dd94fd18d1ab320deb8390f225b7255302d18685a",
          "normalized_character_range": [
            23027,
            26848
          ],
          "normalized_utf8_byte_range": [
            23027,
            26848
          ],
          "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/systemsofequationsAlgebraicProceduresGaussianElimination.tex",
          "source_file": {
            "archive": "source",
            "bytes": 32542,
            "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/systemsofequationsAlgebraicProceduresGaussianElimination.tex",
            "sha256": "ff082d784a2caddec46097f6c12814dd1fbbfd16205e3e93625fed0d345fb173"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "untukmenemukansolusisisteminikitaakanmembawamatriksdiperbesarke",
            "page": 601,
            "source_character_range": [
              23224,
              23299
            ],
            "source_sha256": "4304e05aad28b0beeb693eee03b0f36c34cf0496024d3645baff74cdc6d67933",
            "source_text": "Untuk menemukan solusi sistem ini, kita akan membawa matriks diperbesar ke "
          },
          {
            "normalized_witness": "kolompertamamerupakankolompivotpertamakitainginmenggunakanoperasibarisuntukmenghasilkannoldibawahentripertamadalamkolominiyangberadapadaposisipivotpertamagantibarisketigadengan",
            "page": 601,
            "source_character_range": [
              23362,
              23572
            ],
            "source_sha256": "fb1e9f83afd4b26d062b78ee03c95f510b25be4bc5cc5a77e03207324964ffb0",
            "source_text": "Kolom pertama merupakan kolom pivot pertama. Kita ingin menggunakan operasi baris untuk menghasilkan nol di bawah entri pertama dalam kolom ini, yang berada\npada posisi pivot pertama.\nGanti baris ketiga dengan "
          },
          {
            "normalized_witness": "dalamkolompertamasehinggakitaberalihkekolompivotkeduayaitukolomkeduadanmengulangiprosedurnyaambil",
            "page": 601,
            "source_character_range": [
              23835,
              23953
            ],
            "source_sha256": "9b0b883d4ae33b349a15cd80f4470c06e3b7017d713f883912c9cd34a035401e",
            "source_text": "dalam kolom pertama, sehingga kita beralih ke kolom pivot kedua (yaitu kolom kedua) dan mengulangi prosedurnya.\nAmbil "
          },
          {
            "normalized_witness": "marikitamelanjutkanoperasibarishinggamatriksberadadalam",
            "page": 601,
            "source_character_range": [
              24699,
              24763
            ],
            "source_sha256": "75f70ac1d49470f9f7816c0bd994a4ab4a1fc5b8064e1c3de0b238d8e528eb42",
            "source_text": "Mari kita melanjutkan operasi baris hingga matriks berada dalam "
          },
          {
            "normalized_witness": "halinimelibatkanpembuatannoldiatasposisipivotpadasetiapkolompivotprosesinihanyamemerlukansatulangkahyaitumenambahkan",
            "page": 601,
            "source_character_range": [
              24770,
              24909
            ],
            "source_sha256": "a0e3b2f1560430a5966c711042fbc967b60d9980d785eff4b461a1de3f645fe6",
            "source_text": "Hal ini melibatkan pembuatan nol di atas posisi pivot pada setiap kolom pivot.\nProses ini hanya memerlukan satu langkah, yaitu menambahkan "
          },
          {
            "normalized_witness": "andasebaiknyamemverifikasinyadenganmenggunakandefinisi",
            "page": 601,
            "source_character_range": [
              25792,
              25852
            ],
            "source_sha256": "a891777e3068d0a990486e480e215b7b12662d3d9739627602633af7c53fc0f7",
            "source_text": "Anda sebaiknya memverifikasinya dengan menggunakan Definisi "
          },
          {
            "normalized_witness": "dapatsamadengansembarangbilangansebagaicontohkitadapatmenetapkan",
            "page": 602,
            "source_character_range": [
              26158,
              26234
            ],
            "source_sha256": "826a4ffae514d4fc7ff5c4482d2fdf53f9702912ca5be74037edc8050d5dab68",
            "source_text": "dapat sama dengan sembarang bilangan. Sebagai contoh, kita dapat menetapkan "
          },
          {
            "normalized_witness": "dapatdipilihsebagaisembarangbilangandalamkonteksini",
            "page": 602,
            "source_character_range": [
              26254,
              26315
            ],
            "source_sha256": "7c9482a2a6c336b037b80d36452f662ebe6bf5777395d0502bfd87ea4c84c29a",
            "source_text": "dapat dipilih sebagai sembarang bilangan.\nDalam konteks ini, "
          },
          {
            "normalized_witness": "sembarangsistemtersebutmemilikihimpunansolusitakberhinggayangdiberikanolehpersamaanpersamaaniniuntuksetiapnilai",
            "page": 602,
            "source_character_range": [
              26485,
              26615
            ],
            "source_sha256": "9e7a6f3c75edf0ed6e455371398888083a49b9654592d8a14de268559e5818f6",
            "source_text": "sembarang. Sistem tersebut memiliki himpunan solusi tak berhingga yang diberikan oleh persamaan-persamaan ini. Untuk setiap nilai "
          },
          {
            "normalized_witness": "diberikanolehpersamaandiatassebagaicontohjikakitamemilih",
            "page": 602,
            "source_character_range": [
              26652,
              26720
            ],
            "source_sha256": "2a74a17b77062780ad90e909918a41fcee13ed2df88913e75e65bf38ff368602",
            "source_text": "diberikan oleh persamaan di atas. Sebagai contoh, jika kita memilih "
          }
        ]
      },
      {
        "id": "unit.r017.book1.appendix.linear-systems.gaussian.solution-005",
        "kind": "solution",
        "page": 602,
        "page_text_sha256": "9e79b5d0790a0f7e56f8ea406420715f3eefa288454514d1a3c25fedd7295d07",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 2100,
          "content_sha256": "b96b2ef0a549809bb6a37f1be50e2fed71ddbd127c169ec274eb93153d382b06",
          "environment": "solution",
          "id": "unit.r017.book1.appendix.linear-systems.gaussian.solution-005",
          "label": "twoparameters1",
          "line_range": [
            837,
            920
          ],
          "native_record_sha256": "57b10b6fe27587fc8d71108c7dafc099eeb391268645561f94ce70d097966afc",
          "normalized_character_range": [
            27291,
            29391
          ],
          "normalized_utf8_byte_range": [
            27291,
            29391
          ],
          "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/systemsofequationsAlgebraicProceduresGaussianElimination.tex",
          "source_file": {
            "archive": "source",
            "bytes": 32542,
            "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/systemsofequationsAlgebraicProceduresGaussianElimination.tex",
            "sha256": "ff082d784a2caddec46097f6c12814dd1fbbfd16205e3e93625fed0d345fb173"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "disinikitaakanmenguraikanoperasibarisyangdigunakannamunpastikanbahwaandamemahamilangkahlangkahtersebutberdasarkanalgoritme",
            "page": 602,
            "source_character_range": [
              27523,
              27667
            ],
            "source_sha256": "f5b9a2406f2ac3c4c6b70536a34a493f82532ccf9333c0f5ad7906ac08e28a2b",
            "source_text": "Di sini, kita akan menguraikan operasi baris yang digunakan. Namun, pastikan bahwa Anda\nmemahami langkah-langkah tersebut berdasarkan Algoritme "
          },
          {
            "normalized_witness": "kalibarispertamadantambahkankebariskeduakemudianambil",
            "page": 602,
            "source_character_range": [
              27705,
              27769
            ],
            "source_sha256": "d2989fae7d0882d1489bdedf1e9e3ec0a6713f9956243e82582eaf0b7764c352",
            "source_text": "kali baris pertama dan tambahkan ke baris kedua. Kemudian ambil "
          },
          {
            "normalized_witness": "kalibarispertamadantambahkankebarisketigahalinimenghasilkan",
            "page": 602,
            "source_character_range": [
              27774,
              27845
            ],
            "source_sha256": "ceda8e163dfd88e2edd3530776a2c0d8d5d0a7b51a8ecc6f14e756410297f112",
            "source_text": "kali\nbaris pertama dan tambahkan ke baris ketiga. Hal ini menghasilkan\n"
          },
          {
            "normalized_witness": "sekarangtambahkanbariskeduakebarisketigadanbagibariskeduadengan",
            "page": 602,
            "source_character_range": [
              28048,
              28123
            ],
            "source_sha256": "d64f5a05c8708ccbb83a763041bc9032744bd99b8eb0a1587389e9b0db72130c",
            "source_text": "Sekarang tambahkan baris kedua ke baris ketiga dan bagi baris kedua dengan "
          },
          {
            "normalized_witness": "tidakolehkarenaitukitaakanmenetapkanparameterbagivariabel",
            "page": 603,
            "source_character_range": [
              28706,
              28775
            ],
            "source_sha256": "74be945afebca36cd2affa5a7a1502b18e3d440040b9c3fba4ccc20557563d2e",
            "source_text": "tidak. Oleh karena itu, kita akan menetapkan parameter bagi variabel "
          }
        ]
      },
      {
        "id": "unit.r017.book1.appendix.linear-systems.geometry.solution-001",
        "kind": "solution",
        "page": 584,
        "page_text_sha256": "2e2912ea2764fdedaa00f932514f6441d8efc7062fc97e4969b0faf702737f05",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 1685,
          "content_sha256": "9c88929760f85607b8305d4e38a7fff2801b70c8149e127b10b5845a9e00ec80",
          "environment": "solution",
          "id": "unit.r017.book1.appendix.linear-systems.geometry.solution-001",
          "label": "fig:systemsofequationsGeometry-tikz02",
          "line_range": [
            74,
            109
          ],
          "native_record_sha256": "37ee546f2abbe3c777a1bca9303524ce0b7b6aaec5e6e33b30f9b8088eaa735d",
          "normalized_character_range": [
            3617,
            5302
          ],
          "normalized_utf8_byte_range": [
            3617,
            5302
          ],
          "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/systemsofequationsGeometry.tex",
          "source_file": {
            "archive": "source",
            "bytes": 15969,
            "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/systemsofequationsGeometry.tex",
            "sha256": "51be85f32691a4bdfeee797e30cb033efc26b6acb97cfa91a21e504148460f3d"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "denganmenggambarkanpersamaanpersamaandiatasdanmenentukantitikperpotongannyakitadapatmenemukansolusinyaingatlahbahwahasilnyaharusberupasatusolusitakberhinggabanyaksolusiatausamasekalitidakadasolusigrafikberikutmemperlihatkankeduapersamaanbesertaperpotongannyaingatlahbahwatitikperpotonganmerepresentasikansolusikeduapersamaanyaitu",
            "page": 584,
            "source_character_range": [
              3634,
              4018
            ],
            "source_sha256": "bc57fb9ceff1cfd75131fa0f4b8570baec0149deb8346d18cde69b2da4b94aff",
            "source_text": "Dengan menggambarkan persamaan-persamaan di atas dan menentukan titik perpotongannya, kita dapat menemukan solusinya. Ingatlah bahwa hasilnya harus berupa satu solusi, tak berhingga banyak solusi, atau sama sekali tidak ada solusi.\n Grafik berikut memperlihatkan kedua persamaan\nbeserta perpotongannya. Ingatlah bahwa titik perpotongan merepresentasikan solusi\nkedua persamaan, yaitu "
          },
          {
            "normalized_witness": "yangmemenuhikeduanyadalamhaliniterdapatsatutitikperpotongandi",
            "page": 584,
            "source_character_range": [
              4038,
              4112
            ],
            "source_sha256": "2c15acf93baa6d73eabf9e25eb54e56530f82fef1394b580cc6863416c644a3f",
            "source_text": "yang memenuhi keduanya. Dalam hal ini,\nterdapat satu titik perpotongan di "
          },
          {
            "normalized_witness": "sebuahgarishijaudansebuahgarisbiruyangberpotongandi",
            "page": 584,
            "source_character_range": [
              5150,
              5213
            ],
            "source_sha256": "d9938dab44e3d9307e92047aefc83b71886bbf351a327e3106bdaedb9ff0d983",
            "source_text": "sebuah garis hijau dan sebuah garis biru yang berpotongan di..."
          }
        ]
      },
      {
        "id": "unit.r017.book1.appendix.linear-systems.rank.solution-001",
        "kind": "solution",
        "page": 606,
        "page_text_sha256": "80c993f64fa62beadcddf821c9e9cdbd88b8ba7206c123ab0b7a0ef6ff93a98d",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 1236,
          "content_sha256": "b48966c1332bcb0333156231168720a8e4fdfcc701d4200ba57c951d503996d3",
          "environment": "solution",
          "id": "unit.r017.book1.appendix.linear-systems.rank.solution-001",
          "label": null,
          "line_range": [
            47,
            89
          ],
          "native_record_sha256": "2f385d183f273b904144c906fbf20570e917004bc2a33a62e072d9e966237956",
          "normalized_character_range": [
            2021,
            3257
          ],
          "normalized_utf8_byte_range": [
            2021,
            3257
          ],
          "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/systemsofequationsAlgebraicProceduresRankHomogeneousSystems.tex",
          "source_file": {
            "archive": "source",
            "bytes": 12621,
            "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/systemsofequationsAlgebraicProceduresRankHomogeneousSystems.tex",
            "sha256": "31c23caadc9190532b9600dce02c5b5ea7fcedc723f535ad5819c503685398e8"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "olehkarenaituberdasarkanpembahasansebelumnyakitamemperkirakanbahwasisteminimemilikitakberhinggabanyaksolusiprosesyangkitagunakanuntukmenemukansolusisistempersamaanhomogensamadenganprosesyangdigunakanpadabagiansebelumnyapertamakitamenyusunmatriksdiperbesaryaitu",
            "page": 606,
            "source_character_range": [
              2131,
              2438
            ],
            "source_sha256": "c7f8129a70c0fda263480f747519d30627482753e8852ee8ba584b6798d2bbae",
            "source_text": "Oleh karena itu, berdasarkan pembahasan sebelumnya, kita memperkirakan bahwa sistem ini memiliki tak berhingga banyak solusi.\n\nProses yang kita gunakan untuk menemukan solusi sistem persamaan homogen\nsama dengan proses yang digunakan pada bagian sebelumnya.\nPertama, kita menyusun matriks diperbesar, yaitu\n"
          },
          {
            "normalized_witness": "tidakdibatasiolehpersamaanmanapunkitamengetahuibahwavariabeliniakanmenjadiparametermisalkan",
            "page": 607,
            "source_character_range": [
              2879,
              2987
            ],
            "source_sha256": "b515a355466cf5e3d8808adef7f6fc713d7c2e39e509b42c7d1c90d3a62ae7d4",
            "source_text": "tidak dibatasi oleh persamaan mana pun, kita mengetahui bahwa variabel ini akan menjadi parameter.\nMisalkan "
          },
          {
            "normalized_witness": "berupasembarangbilanganolehkarenaitusolusikitaberbentuk",
            "page": 607,
            "source_character_range": [
              3005,
              3071
            ],
            "source_sha256": "89263ec87dce6797d85cff6c3b3c8201e15601e683a6639743e89d2b309c760a",
            "source_text": "berupa sembarang bilangan.\nOleh karena itu, solusi kita berbentuk\n"
          },
          {
            "normalized_witness": "jadisisteminimemilikitakberhinggabanyaksolusidengansatuparameter",
            "page": 607,
            "source_character_range": [
              3162,
              3238
            ],
            "source_sha256": "6a2272cfd613e2618e949af9c5f4d7cf42dac35cd114fe758447f408942dc0fd",
            "source_text": "Jadi, sistem ini memiliki tak berhingga banyak solusi dengan satu parameter "
          }
        ]
      },
      {
        "id": "unit.r017.book1.appendix.linear-systems.rank.solution-002",
        "kind": "solution",
        "page": 608,
        "page_text_sha256": "cf3eec55ac9a9c0eaa5755e41441467ce706583d65477cfa747f73b077b4c98a",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 1416,
          "content_sha256": "9357271fd439881e9649361f4d2549490a2dc4594846f2c0c09d2d6701323666",
          "environment": "solution",
          "id": "unit.r017.book1.appendix.linear-systems.rank.solution-002",
          "label": null,
          "line_range": [
            164,
            248
          ],
          "native_record_sha256": "2cf141363fe8a99b623bf34fa5da9b1687bbfeaab438a317384cbfa9ad3f32a0",
          "normalized_character_range": [
            4859,
            6275
          ],
          "normalized_utf8_byte_range": [
            4859,
            6275
          ],
          "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/systemsofequationsAlgebraicProceduresRankHomogeneousSystems.tex",
          "source_file": {
            "archive": "source",
            "bytes": 12621,
            "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/systemsofequationsAlgebraicProceduresRankHomogeneousSystems.tex",
            "sha256": "31c23caadc9190532b9600dce02c5b5ea7fcedc723f535ad5819c503685398e8"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "jikaditulissebagaipersamaansisteminidiberikanoleh",
            "page": 608,
            "source_character_range": [
              5165,
              5223
            ],
            "source_sha256": "6a3861dcc4ac2c84dc5e7431e36fc4ad0525be7ea2086a4919cf9ec05ccb440c",
            "source_text": "Jika ditulis sebagai persamaan, sistem ini diberikan oleh\n"
          },
          {
            "normalized_witness": "yangbersesuaiandengankolompivotdalamhalinikitaakanmemilikiduaparametersatuuntuk",
            "page": 608,
            "source_character_range": [
              5297,
              5394
            ],
            "source_sha256": "f5d1675ce6ee62a48af98ec8eed83239c43241d80856d40ab5335926eccc4d40",
            "source_text": "yang bersesuaian dengan kolom pivot. Dalam hal ini, kita akan memiliki dua parameter,\nsatu untuk "
          },
          {
            "normalized_witness": "disiniandadapatmelihatbahwakitamemilikiduakolomkoefisienyangbersesuaiandenganparameteryaitusatuuntuk",
            "page": 608,
            "source_character_range": [
              5896,
              6015
            ],
            "source_sha256": "85e9d4322a4dc1074d381848f342120085424b9c2648278d775eb0c34044f0ae",
            "source_text": "Di sini Anda dapat melihat bahwa kita memiliki dua kolom koefisien yang bersesuaian dengan parameter, yaitu satu untuk "
          },
          {
            "normalized_witness": "olehkarenaitusisteminimemilikiduasolusidasaryaitu",
            "page": 608,
            "source_character_range": [
              6039,
              6100
            ],
            "source_sha256": "d71dd9feefcf3a533a4c31196953b87c1bf1acfeec905e0d36772e9701498f9b",
            "source_text": "Oleh karena itu, sistem ini memiliki dua solusi dasar, yaitu\n"
          }
        ]
      },
      {
        "id": "unit.r017.book1.appendix.linear-systems.rank.solution-003",
        "kind": "solution",
        "page": 609,
        "page_text_sha256": "46d3bbe4edc0695675b6b683dde0a1a02f7304d2f7fd6468c7b7eaf565f9ad26",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 382,
          "content_sha256": "9a50d0b046fcf55bab63edfb8413d2590f4f95d3baf4bbd8d0be2d0ff5f5b331",
          "environment": "solution",
          "id": "unit.r017.book1.appendix.linear-systems.rank.solution-003",
          "label": null,
          "line_range": [
            341,
            353
          ],
          "native_record_sha256": "8211d8c874f35ebe2a5fe54f466cd15a5f4b7f7c220e79e2c619822bb12426a9",
          "normalized_character_range": [
            8520,
            8902
          ],
          "normalized_utf8_byte_range": [
            8520,
            8902
          ],
          "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/systemsofequationsAlgebraicProceduresRankHomogeneousSystems.tex",
          "source_file": {
            "archive": "source",
            "bytes": 12621,
            "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/systemsofequationsAlgebraicProceduresRankHomogeneousSystems.tex",
            "sha256": "31c23caadc9190532b9600dce02c5b5ea7fcedc723f535ad5819c503685398e8"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "disinikitamemilikiduaentriutamaatauduaposisipivotyangdiperlihatkandalamkotakdiatasrank",
            "page": 609,
            "source_character_range": [
              8761,
              8868
            ],
            "source_sha256": "a798a198263bb5ee020c7b5baa8d60201350af588e891cddf2618fbc4f69cac8",
            "source_text": "Di sini kita memiliki dua entri utama, atau dua posisi pivot, yang diperlihatkan dalam kotak di atas. Rank "
          }
        ]
      },
      {
        "id": "unit.r017.book1.appendix.linear-systems.row-operations.solution-001",
        "kind": "solution",
        "page": 589,
        "page_text_sha256": "9c855e5d5847fd3bd8137c444075f2b4b3488e362a8a5320cd739f3b6697b795",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 902,
          "content_sha256": "f76c7460a28320d1d1000cda920d9feb048c2f6ef3cefdcd1bc8170e0659b41d",
          "environment": "solution",
          "id": "unit.r017.book1.appendix.linear-systems.row-operations.solution-001",
          "label": null,
          "line_range": [
            16,
            35
          ],
          "native_record_sha256": "0cf76135d570cadc7108cdff0a84644a3ccc41c6b1f85e4cf6a7ba061781d516",
          "normalized_character_range": [
            532,
            1434
          ],
          "normalized_utf8_byte_range": [
            532,
            1434
          ],
          "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/systemsofequationsAlgebraicProceduresElementaryOperations.tex",
          "source_file": {
            "archive": "source",
            "bytes": 13910,
            "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/systemsofequationsAlgebraicProceduresElementaryOperations.tex",
            "sha256": "b22fa26e94a4d89298e166279095d955f1aba478f3800862efa9a4127ff912cc"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "denganmenggambarkankeduapersamaaninidanmenentukantitikperpotongannyasebelumnyakitamenemukanbahwa",
            "page": 589,
            "source_character_range": [
              550,
              660
            ],
            "source_sha256": "5e42dba8264b786336e8f9152001e82bfd82d9393935d69d2b8d6841d56f7d6b",
            "source_text": "Dengan menggambarkan kedua persamaan ini dan menentukan titik\nperpotongannya, sebelumnya kita menemukan bahwa "
          },
          {
            "normalized_witness": "merupakansolusiunikkitadapatmemverifikasinyasecaraaljabardenganmenyubstitusikannilainilaiinikedalampersamaansemuladanmemastikanbahwapersamaantersebutberlakupertamakitamenyubstitusikannilainyakedalampersamaanpertamadanmemeriksabahwahasilnyasamadengan",
            "page": 589,
            "source_character_range": [
              704,
              994
            ],
            "source_sha256": "da0ac7af0c99f4ac2ad9c3f05266d432f9ee1e6c4f29d75fc0d81d31bed13f9e",
            "source_text": "merupakan solusi unik.\n\nKita dapat memverifikasinya secara aljabar dengan menyubstitusikan nilai-nilai ini\nke dalam persamaan semula dan memastikan bahwa persamaan tersebut berlaku.\nPertama, kita menyubstitusikan nilainya ke dalam persamaan pertama dan memeriksa bahwa hasilnya sama dengan "
          },
          {
            "normalized_witness": "sepertiyangdiperlukansehinggakitamelihatbahwa",
            "page": 589,
            "source_character_range": [
              1052,
              1105
            ],
            "source_sha256": "c6e2cbf4d44ad30851d286bb2be3028242fc6d75832b0d61b1ef4958553edf92",
            "source_text": "seperti yang diperlukan, sehingga kita melihat bahwa "
          },
          {
            "normalized_witness": "merupakansolusipersamaanpertamamenyubstitusikannilainilaitersebutkedalampersamaankeduamenghasilkan",
            "page": 589,
            "source_character_range": [
              1127,
              1239
            ],
            "source_sha256": "7b99bf655a38d3081e841c33601b3b664ce5361cbd70e376be3b653080f110b3",
            "source_text": "merupakan solusi persamaan pertama.\nMenyubstitusikan nilai-nilai tersebut ke dalam persamaan kedua menghasilkan\n"
          },
          {
            "normalized_witness": "setiappersamaanbenarolehkarenaitupasangantersebutmerupakansolusisistem",
            "page": 589,
            "source_character_range": [
              1336,
              1420
            ],
            "source_sha256": "936be503f2e36575593b7633859bc8bc065dd829b32f8c42e4d75b657b29cc4e",
            "source_text": "setiap persamaan benar; oleh karena itu, pasangan tersebut merupakan solusi sistem.\n"
          }
        ]
      },
      {
        "id": "unit.r017.book1.appendix.linear-systems.row-operations.solution-002",
        "kind": "solution",
        "page": 590,
        "page_text_sha256": "f73cd24638df6d6c2bac5beed054bf77bfcd5ba9719d1b89ec569bdee1859230",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 1136,
          "content_sha256": "872ee881e72e34c7a4d0aa180c324013e3bc23553a0774209723f6ee1c93ec90",
          "environment": "solution",
          "id": "unit.r017.book1.appendix.linear-systems.row-operations.solution-002",
          "label": null,
          "line_range": [
            79,
            104
          ],
          "native_record_sha256": "b63f39970fd14c7392cc74e2f419ad2c91d8c8440790ba1c99bf97730648c975",
          "normalized_character_range": [
            2851,
            3987
          ],
          "normalized_utf8_byte_range": [
            2851,
            3987
          ],
          "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/systemsofequationsAlgebraicProceduresElementaryOperations.tex",
          "source_file": {
            "archive": "source",
            "bytes": 13910,
            "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/systemsofequationsAlgebraicProceduresElementaryOperations.tex",
            "sha256": "b22fa26e94a4d89298e166279095d955f1aba478f3800862efa9a4127ff912cc"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "perhatikanbahwasistemkeduadiperolehdenganmengambilpersamaankeduadarisistempertamadanmenambahkan",
            "page": 590,
            "source_character_range": [
              2868,
              2978
            ],
            "source_sha256": "e04a1d55e05e1940d0c113fc537808fb76586137a05314b4ad8332527f2b7786",
            "source_text": "Perhatikan bahwa sistem kedua diperoleh dengan mengambil persamaan kedua dari sistem pertama\ndan menambahkan -"
          },
          {
            "normalized_witness": "yangmerupakanpersamaankeduadalamsistemkeduasekarangdarisinikitadapatmencari",
            "page": 590,
            "source_character_range": [
              3170,
              3260
            ],
            "source_sha256": "4b4dea80c01ee93d6e6b61a17b95dc51a6d84bab000004f49671a36c893dcba8",
            "source_text": "yang merupakan persamaan kedua dalam sistem kedua.\nSekarang, dari sini kita dapat mencari "
          },
          {
            "normalized_witness": "selanjutnyakitamenyubstitusikannilaiinikedalampersamaanpertamasebagaiberikut",
            "page": 590,
            "source_character_range": [
              3289,
              3377
            ],
            "source_sha256": "519d1035714b24e74dcc9a7c0438d5a977dfccccb50336dc1f41be3a42258f88",
            "source_text": "Selanjutnya, kita menyubstitusikan nilai ini ke dalam persamaan pertama sebagai berikut "
          },
          {
            "normalized_witness": "merupakansolusisistemkeduakitainginmemeriksaapakah",
            "page": 590,
            "source_character_range": [
              3485,
              3544
            ],
            "source_sha256": "55da677c68279fee81eded8f997f4254441eda4b645af92eeeed27b2f4b7e191",
            "source_text": "merupakan solusi sistem kedua.\nKita ingin memeriksa apakah "
          },
          {
            "normalized_witness": "jugamerupakansolusisistempertamakitamemeriksanyadenganmenyubstitusikan",
            "page": 590,
            "source_character_range": [
              3564,
              3644
            ],
            "source_sha256": "68dd403a393d7f0e180b60c173147d11693e3cf416a4b7069e54b6d3324aa430",
            "source_text": "juga merupakan solusi sistem pertama. Kita memeriksanya dengan menyubstitusikan "
          },
          {
            "normalized_witness": "kedalamsistemdanmemastikanbahwapersamaanpersamaannyabenar",
            "page": 590,
            "source_character_range": [
              3685,
              3752
            ],
            "source_sha256": "a840074d454a8e7882c78dcf12fc82924bcbfd1ef038848cef785aa5e45db418",
            "source_text": "ke dalam sistem dan memastikan bahwa persamaan-persamaannya benar.\n"
          }
        ]
      },
      {
        "id": "unit.r017.book1.appendix.linear-systems.row-operations.solution-003",
        "kind": "solution",
        "page": 592,
        "page_text_sha256": "383da4b741e9b14b862a15663d8c0ebcd6abd1cb6569a0c56e04284570ffbf7d",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 2865,
          "content_sha256": "cfe3bff4a8f20c474f64e75e0643ab2bb078472c33ba2267999334e303479548",
          "environment": "solution",
          "id": "unit.r017.book1.appendix.linear-systems.row-operations.solution-003",
          "label": "solvingasystem2",
          "line_range": [
            259,
            335
          ],
          "native_record_sha256": "131bf0bde397ca641047fd6e1717779135c22530ab0fa8d1b0cb8afbb22294c2",
          "normalized_character_range": [
            11044,
            13909
          ],
          "normalized_utf8_byte_range": [
            11044,
            13909
          ],
          "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/systemsofequationsAlgebraicProceduresElementaryOperations.tex",
          "source_file": {
            "archive": "source",
            "bytes": 13910,
            "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/systemsofequationsAlgebraicProceduresElementaryOperations.tex",
            "sha256": "b22fa26e94a4d89298e166279095d955f1aba478f3800862efa9a4127ff912cc"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "menyatakanbahwajikakitamelakukanoperasielementerpadasisteminikitatidakakanmengubahhimpunansolusinyaolehkarenaitukitadapatmenyelesaikansisteminimenggunakanoperasielementeryangdiberikandalamdefinisi",
            "page": 592,
            "source_character_range": [
              11401,
              11631
            ],
            "source_sha256": "449ff080a996a344131194842fc4b5fcd8dd0766247da3025572a25fe0366c19",
            "source_text": "menyatakan bahwa jika kita melakukan operasi elementer pada sistem ini,\nkita tidak akan mengubah himpunan solusinya. Oleh karena itu,\nkita dapat menyelesaikan sistem ini menggunakan operasi elementer yang diberikan dalam Definisi "
          },
          {
            "normalized_witness": "pertamagantipersamaankeduadenganhasilpenambahan",
            "page": 592,
            "source_character_range": [
              11663,
              11718
            ],
            "source_sha256": "b3f2023d6dbd3c96ef562251d2dfcbe782f33ad7526be35c74eedfa9235f4211",
            "source_text": "Pertama, ganti persamaan kedua dengan hasil penambahan "
          },
          {
            "normalized_witness": "kalipersamaanpertamakepersamaankeduahalinimenghasilkansistem",
            "page": 592,
            "source_character_range": [
              11737,
              11808
            ],
            "source_sha256": "d0f2c2d17fa13e57fc76258a5268c3fb8cfc95f56a463a26e387175b75fddf91",
            "source_text": "kali persamaan pertama ke persamaan kedua. Hal ini menghasilkan sistem\n"
          },
          {
            "normalized_witness": "sekaranggantipersamaanketigadenganhasilpenambahan",
            "page": 592,
            "source_character_range": [
              11926,
              11983
            ],
            "source_sha256": "c2f8456f531e0613296adb9cefe27b0fead9ef02bfb018880ddd863d32278838",
            "source_text": "Sekarang, ganti persamaan ketiga dengan hasil penambahan "
          },
          {
            "normalized_witness": "kalipersamaankeduakepersamaanketigahalinimenghasilkansistem",
            "page": 592,
            "source_character_range": [
              12003,
              12073
            ],
            "source_sha256": "2d3c31e49376342b3c7f2929f4c7fe2ddd572aaabdc12010ab9824facf603a5e",
            "source_text": "kali\npersamaan kedua ke persamaan ketiga. Hal ini menghasilkan sistem\n"
          },
          {
            "normalized_witness": "padatahapinikitadapatmenemukansolusinyadenganmudahambil",
            "page": 592,
            "source_character_range": [
              12186,
              12253
            ],
            "source_sha256": "03fcc1df87c753b94a4df63f3b40456e45a242222f8f84bb8aa9e4edc965b34b",
            "source_text": "Pada tahap ini, kita dapat menemukan solusinya dengan mudah. Ambil "
          },
          {
            "normalized_witness": "dansubstitusikankembalinilaiinikedalampersamaansebelumnyauntukmencari",
            "page": 592,
            "source_character_range": [
              12259,
              12340
            ],
            "source_sha256": "a33715f35b5c0aa139a7809d76789cc0689ed746d3ef37dbab925cbac5e01518",
            "source_text": "dan substitusikan kembali nilai ini ke dalam\n persamaan sebelumnya untuk mencari "
          },
          {
            "normalized_witness": "olehkarenaitukitadapatmenyubstitusikannilaitersebutkedalampersamaanpertamasebagaiberikut",
            "page": 592,
            "source_character_range": [
              12664,
              12768
            ],
            "source_sha256": "be99bd526bf9d5388897d1dec912072a3acf0b5f3b804b6b0f9f34880277ed59",
            "source_text": "Oleh karena itu, kita dapat menyubstitusikan nilai tersebut ke dalam persamaan pertama sebagai berikut:\n"
          },
          {
            "normalized_witness": "denganmenyederhanakanpersamaaninikitamenemukanbahwa",
            "page": 592,
            "source_character_range": [
              12834,
              12893
            ],
            "source_sha256": "e0dbdee264a69ced62f95073a53ca4e2fc8cfd29ad0b30adda0ca52291265478",
            "source_text": "Dengan menyederhanakan persamaan ini, kita menemukan bahwa "
          },
          {
            "normalized_witness": "kalipersamaanketigakepersamaankedualalutambahkan",
            "page": 593,
            "source_character_range": [
              13167,
              13224
            ],
            "source_sha256": "049265f16133198f7d935cd1426d47eb30cecc83c8fc5734bc4014382348296a",
            "source_text": "kali persamaan ketiga ke persamaan kedua, lalu tambahkan "
          },
          {
            "normalized_witness": "kalipersamaankeduakepersamaanpertamahalinimenghasilkan",
            "page": 593,
            "source_character_range": [
              13244,
              13308
            ],
            "source_sha256": "1d7c6c4f0d622f05181435776c644cea58d798637b01ab19fdc991ce559c084a",
            "source_text": "kali persamaan kedua ke persamaan pertama. Hal ini menghasilkan\n"
          },
          {
            "normalized_witness": "kalipersamaankeduakepersamaanpertamahalinimenghasilkan",
            "page": 593,
            "source_character_range": [
              13443,
              13507
            ],
            "source_sha256": "1d7c6c4f0d622f05181435776c644cea58d798637b01ab19fdc991ce559c084a",
            "source_text": "kali persamaan kedua ke persamaan pertama. Hal ini menghasilkan\n"
          },
          {
            "normalized_witness": "suatusistemyangmemilikihimpunansolusiyangsamadengansistemsemulacarainimenghindarisubstitusibalikdanmenghasilkanhimpunansolusiyangsamaandadapatmemilihmetodeyanglebihdisukaikarenakeduanyamenghasilkansolusiyangbenar",
            "page": 593,
            "source_character_range": [
              13600,
              13850
            ],
            "source_sha256": "ae4cab5bd5389d8f4764cf50124451c28aa8ba48ebdaf078430a198405a0a6e5",
            "source_text": "suatu sistem yang memiliki himpunan solusi yang sama dengan sistem semula. Cara ini\nmenghindari substitusi balik dan menghasilkan himpunan solusi yang sama. Anda dapat memilih metode yang lebih disukai karena keduanya menghasilkan solusi yang benar,\n"
          }
        ]
      },
      {
        "id": "unit.r017.book1.appendix.linear-systems.rref.solution-001",
        "kind": "solution",
        "page": 605,
        "page_text_sha256": "6a779664eebb4ad904a5db2476bacf39bc8de5cd5088b44a014a0713488cd91c",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 794,
          "content_sha256": "3eeccc149a83f7d7e505f70f0aa1d52d8cccb941efb089345934c0a9c04b59a5",
          "environment": "solution",
          "id": "unit.r017.book1.appendix.linear-systems.rref.solution-001",
          "label": null,
          "line_range": [
            26,
            50
          ],
          "native_record_sha256": "98b062dd9527a154c2e185c274956cf45a82d567d7e97ba9729e90598b88987f",
          "normalized_character_range": [
            1171,
            1965
          ],
          "normalized_utf8_byte_range": [
            1171,
            1965
          ],
          "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/systemsofequationsAlgebraicProceduresUniquenessRREF.tex",
          "source_file": {
            "archive": "source",
            "bytes": 7393,
            "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/systemsofequationsAlgebraicProceduresUniquenessRREF.tex",
            "sha256": "6f39e19ad21413283685c6f044c16fc22f66a3526a3a212a0d021d78660ff3eb"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "merupakankolompivotkolomkolominibersesuaiandenganvariabel",
            "page": 605,
            "source_character_range": [
              1476,
              1543
            ],
            "source_sha256": "0d0161fd630af64db3b632a5b48c39b339ba79e5a9540b482b16dde1c3afbdcd",
            "source_text": "merupakan kolom pivot. Kolom-kolom ini bersesuaian dengan variabel "
          },
          {
            "normalized_witness": "merupakanvariabelbebaskitadapatmenuliskansolusisisteminisebagai",
            "page": 605,
            "source_character_range": [
              1668,
              1743
            ],
            "source_sha256": "a61f1c40856f789a8b0fdf76ac574acc9becc19f430b690033ddd9b5db040476",
            "source_text": "merupakan variabel bebas.\n\nKita dapat menuliskan solusi sistem ini sebagai\n"
          },
          {
            "normalized_witness": "disinivariabelbebasditulissebagaiparametersedangkanvariabeldasardiberikansebagaifungsilineardariparameterparametertersebut",
            "page": 605,
            "source_character_range": [
              1809,
              1951
            ],
            "source_sha256": "5d00a0ba1a19080836ef50de9afc57bdb3a8ef510344fb59abc46b8a2f833a16",
            "source_text": "Di sini variabel bebas ditulis sebagai parameter, sedangkan variabel dasar diberikan sebagai fungsi linear dari parameter-parameter tersebut.\n"
          }
        ]
      },
      {
        "id": "unit.r017.book1.appendix.matrices.addition.solution-001",
        "kind": "solution",
        "page": 613,
        "page_text_sha256": "efef2f6c6556033721f1fc91f7b53d5de21d52c15ded414baef821b4c524565d",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 608,
          "content_sha256": "1ff38f9a1631a416da36b9b6057fbd8817691e9738edc3e0cfe498c6ec808488",
          "environment": "solution",
          "id": "unit.r017.book1.appendix.matrices.addition.solution-001",
          "label": null,
          "line_range": [
            78,
            111
          ],
          "native_record_sha256": "b2717caada407c4a808e0fa63305ab9467d53a086c28a15b1371e1f44fe13a47",
          "normalized_character_range": [
            1613,
            2221
          ],
          "normalized_utf8_byte_range": [
            1613,
            2221
          ],
          "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticAddition.tex",
          "source_file": {
            "archive": "source",
            "bytes": 4455,
            "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticAddition.tex",
            "sha256": "54bc8efdc4d09c17bee280493cfc47b7b2309b874a84e951c87e571860747e67"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "berukuransamapenjumlahandapatdilakukandenganmenggunakandefinisi",
            "page": 613,
            "source_character_range": [
              1712,
              1785
            ],
            "source_sha256": "434df714b77f60487829a627998e13433b20add926294e9099d8eb2b8540d8d9",
            "source_text": "berukuran sama, penjumlahan dapat dilakukan. Dengan menggunakan Definisi "
          }
        ]
      },
      {
        "id": "unit.r017.book1.appendix.matrices.finding-inverse.solution-001",
        "kind": "solution",
        "page": 631,
        "page_text_sha256": "68da5a8936841eec3f97ff4a1e14a58848d381749fe93855d5df233e1f388706",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 2496,
          "content_sha256": "f89ae6faeaf98818edeba568126c927073291064922107026846328f5676ec0f",
          "environment": "solution",
          "id": "unit.r017.book1.appendix.matrices.finding-inverse.solution-001",
          "label": null,
          "line_range": [
            200,
            282
          ],
          "native_record_sha256": "894b2483471c0df5b6cf2f4f6e9ad9e5cbb32f29a4aff7a34e4d2eae2612ba32",
          "normalized_character_range": [
            4483,
            6979
          ],
          "normalized_utf8_byte_range": [
            4483,
            6979
          ],
          "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticFindingInverse.tex",
          "source_file": {
            "archive": "source",
            "bytes": 13557,
            "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticFindingInverse.tex",
            "sha256": "5070c747ba6ae12fe621eb3f270943b0e3199bffd2974e31890c0f5c0284d7db"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "sekarangkitamelakukanreduksibarisdengantujuanmemperolehmatriksidentitas",
            "page": 631,
            "source_character_range": [
              4706,
              4787
            ],
            "source_sha256": "2b33c17f19e297bbda222c43e876e61d15b9f58999ff2d99ea34e35618e6f4f5",
            "source_text": "Sekarang kita melakukan reduksi baris dengan tujuan memperoleh matriks identitas "
          },
          {
            "normalized_witness": "lalutambahkanhasilnyakebariskeduasetelahitukalikanbarispertamadengan",
            "page": 631,
            "source_character_range": [
              4859,
              4941
            ],
            "source_sha256": "e86f4b703064d388d405061eb79540a1b623ce7749c041efccff846a4fd6bbcf",
            "source_text": "lalu tambahkan hasilnya ke baris kedua;\nsetelah itu, kalikan baris pertama dengan "
          },
          {
            "normalized_witness": "dantambahkanhasilnyakebarisketigaprosesinimenghasilkan",
            "page": 631,
            "source_character_range": [
              4947,
              5011
            ],
            "source_sha256": "95baa17afcb503c23f8f58bf07627b46547252bbba0e737874c144dc007845c4",
            "source_text": "dan tambahkan hasilnya ke baris ketiga. Proses ini\nmenghasilkan\n"
          },
          {
            "normalized_witness": "dantambahkanhasilnyakebarisketigayangdikalikandengan",
            "page": 631,
            "source_character_range": [
              5224,
              5286
            ],
            "source_sha256": "1a3230288e26c83760b7ab0d66f97f19dec47b1570564ff65a00f6fd117e7056",
            "source_text": "dan tambahkan hasilnya ke baris ketiga yang dikalikan dengan -"
          },
          {
            "normalized_witness": "selanjutnyatambahkanbarisketigakebarispertamayangdikalikandengan",
            "page": 631,
            "source_character_range": [
              5450,
              5525
            ],
            "source_sha256": "a1191667f1014ba2d5c913421e281f8f1144fef606dd37149900cd211bb7d09e",
            "source_text": "Selanjutnya, tambahkan baris ketiga ke baris pertama yang dikalikan dengan "
          },
          {
            "normalized_witness": "perhatikanbahwasisikirimatriksinikinimerupakanmatriksidentitas",
            "page": 631,
            "source_character_range": [
              6453,
              6525
            ],
            "source_sha256": "df2d04f6b4c10f886344e3df26a0b6e66d03992877821d6b606c682ba33d4b59",
            "source_text": "Perhatikan bahwa sisi kiri matriks ini kini merupakan matriks identitas "
          }
        ]
      },
      {
        "id": "unit.r017.book1.appendix.matrices.finding-inverse.solution-002",
        "kind": "solution",
        "page": 632,
        "page_text_sha256": "adf298c41b5560ed20624b1c06114f81e1ddac2e9802b4f24129ed4ab511abb6",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 1126,
          "content_sha256": "59de43e08040f1fca1de8c1b99185fbc128f27d279f17f3ce26a79f42cbfba46",
          "environment": "solution",
          "id": "unit.r017.book1.appendix.matrices.finding-inverse.solution-002",
          "label": null,
          "line_range": [
            297,
            334
          ],
          "native_record_sha256": "d42d23736a8bf4df4139536ef89e375b2554c3704ab1b6ffed656c180f5a9d14",
          "normalized_character_range": [
            7362,
            8488
          ],
          "normalized_utf8_byte_range": [
            7362,
            8488
          ],
          "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticFindingInverse.tex",
          "source_file": {
            "archive": "source",
            "bytes": 13557,
            "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticFindingInverse.tex",
            "sha256": "5070c747ba6ae12fe621eb3f270943b0e3199bffd2974e31890c0f5c0284d7db"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "danlanjutkandenganoperasibarisuntukmencobamemperoleh",
            "page": 632,
            "source_character_range": [
              7584,
              7644
            ],
            "source_sha256": "f6ed010b179206c374d686e1107c3397b8c97400cf29ea6009a4504ee50e25b0",
            "source_text": "dan lanjutkan dengan operasi baris untuk mencoba memperoleh "
          },
          {
            "normalized_witness": "lalutambahkanhasilnyakebariskeduakemudiankalikanbarispertamadengan",
            "page": 632,
            "source_character_range": [
              7706,
              7785
            ],
            "source_sha256": "b4e2f281b7d2f9fef9cd60e8698831b86a0f834ccc49887ca09680f3426d1abe",
            "source_text": "lalu tambahkan hasilnya ke\nbaris kedua. Kemudian, kalikan baris pertama dengan "
          },
          {
            "normalized_witness": "padatitikiniandadapatmelihatbahwatidakadacarauntukmemperoleh",
            "page": 632,
            "source_character_range": [
              8217,
              8290
            ],
            "source_sha256": "7b270690c5f1008e2fb5e5d44e6f28cbdd37bafe3954c33befd91cae277d3a7f",
            "source_text": "Pada titik ini, Anda dapat melihat bahwa tidak ada cara untuk memperoleh "
          },
          {
            "normalized_witness": "disisikirimatriksdiperbesarinijadialgoritmainitidakmungkindiselesaikansehinggainversdari",
            "page": 632,
            "source_character_range": [
              8294,
              8400
            ],
            "source_sha256": "4ec3da7512e2c439a99ec87e486b3f65cee82131fe1e93193190f3fb287e0724",
            "source_text": "di\nsisi kiri matriks diperbesar ini. Jadi, algoritma ini tidak mungkin\ndiselesaikan, sehingga invers dari "
          }
        ]
      },
      {
        "id": "unit.r017.book1.appendix.matrices.finding-inverse.solution-003",
        "kind": "solution",
        "page": 633,
        "page_text_sha256": "06757e7d1ce1440918ef2374f0f3950496fffd85267996a327dc9d67bfa53f1b",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 1327,
          "content_sha256": "3a638f4af766ba013450ecf63f12c837469d574098299a4a7521b1fc82f3df18",
          "environment": "solution",
          "id": "unit.r017.book1.appendix.matrices.finding-inverse.solution-003",
          "label": "inversesystem1",
          "line_range": [
            373,
            449
          ],
          "native_record_sha256": "f6932199672412797b02ec64e506901626785c875d4720f3547f1dbb5790a5db",
          "normalized_character_range": [
            10092,
            11419
          ],
          "normalized_utf8_byte_range": [
            10092,
            11419
          ],
          "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticFindingInverse.tex",
          "source_file": {
            "archive": "source",
            "bytes": 13557,
            "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticFindingInverse.tex",
            "sha256": "5070c747ba6ae12fe621eb3f270943b0e3199bffd2974e31890c0f5c0284d7db"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "pertamakitadapatmenuliskansistempersamaandalambentukmatriks",
            "page": 633,
            "source_character_range": [
              10109,
              10178
            ],
            "source_sha256": "be260108fb0099f4dec7ea62d14d228da61144a7fe906855079ed00c672339e5",
            "source_text": "Pertama, kita dapat menuliskan sistem persamaan dalam bentuk matriks\n"
          },
          {
            "normalized_witness": "pemeriksaaninversinidiserahkansebagailatihandarisinisolusisistem",
            "page": 633,
            "source_character_range": [
              10821,
              10898
            ],
            "source_sha256": "89a09ff5d2634ab35d5cd4fc58f06d7f44225070a652417fc3cee0f74c77619a",
            "source_text": "Pemeriksaan invers ini diserahkan sebagai latihan.\n\nDari sini, solusi sistem "
          }
        ]
      },
      {
        "id": "unit.r017.book1.appendix.matrices.identity-inverse.solution-001",
        "kind": "solution",
        "page": 628,
        "page_text_sha256": "a08381b6d2c5d37d42c2036ac04bab323d495971d7ca418b1a34c3c9be53629e",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 590,
          "content_sha256": "5ae5179762843bf4a3e6654464336c1d226b48bb46ceb65d2dabb964f102433e",
          "environment": "solution",
          "id": "unit.r017.book1.appendix.matrices.identity-inverse.solution-001",
          "label": null,
          "line_range": [
            118,
            157
          ],
          "native_record_sha256": "a0a2bdc00dcf4c2a66b121a2f8da75699eaad1219c79533fa6212d203903a8be",
          "normalized_character_range": [
            3961,
            4551
          ],
          "normalized_utf8_byte_range": [
            3961,
            4551
          ],
          "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticIdentityInverses.tex",
          "source_file": {
            "archive": "source",
            "bytes": 6058,
            "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticIdentityInverses.tex",
            "sha256": "342e006a6b1d8d6bcfe40d63ed4018bd6759bf8cc9e9a242d7a6fd5b24053f8e"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "yangmenunjukkanbahwamatriksinimemanginversdari",
            "page": 628,
            "source_character_range": [
              4478,
              4532
            ],
            "source_sha256": "a4f8ae74a3142f20dc7800983058837e334dba8ce05a163b3020bc4d7c7afac6",
            "source_text": "yang menunjukkan bahwa matriks ini memang invers dari "
          }
        ]
      },
      {
        "id": "unit.r017.book1.appendix.matrices.identity-inverse.solution-002",
        "kind": "solution",
        "page": 628,
        "page_text_sha256": "a08381b6d2c5d37d42c2036ac04bab323d495971d7ca418b1a34c3c9be53629e",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 1023,
          "content_sha256": "b57b42123fe1939ff770c56e20572adfbfdab1b7372cf78334ed44127651fd71",
          "environment": "solution",
          "id": "unit.r017.book1.appendix.matrices.identity-inverse.solution-002",
          "label": null,
          "line_range": [
            171,
            246
          ],
          "native_record_sha256": "af1700eb31cd6bf646a8890059f0492726d6c1f7736f8186aac2ff30513fd139",
          "normalized_character_range": [
            4928,
            5951
          ],
          "normalized_utf8_byte_range": [
            4928,
            5951
          ],
          "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticIdentityInverses.tex",
          "source_file": {
            "archive": "source",
            "bytes": 6058,
            "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticIdentityInverses.tex",
            "sha256": "342e006a6b1d8d6bcfe40d63ed4018bd6759bf8cc9e9a242d7a6fd5b24053f8e"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "memilikiinverskarenatidaksamadengannolnamunperhatikanbahwa",
            "page": 628,
            "source_character_range": [
              4970,
              5040
            ],
            "source_sha256": "a8611aaae3ec95496e62c630e0a0cf58d32f9dcaeceafd6523e016bb39586605",
            "source_text": "memiliki invers karena tidak sama dengan nol.\nNamun, perhatikan bahwa\n"
          }
        ]
      },
      {
        "example_reference": {
          "mapping_method": "adjacent-source-example-unique-printed-title-and-immediate-solution-opening",
          "page": 617,
          "page_text_sha256": "cc4052e4b0be2d71b0dd5a4bcfa507bdd9f04f02cac116cc7cab87e20da9ef0f",
          "printed_heading": {
            "character_range": [
              1260,
              1303
            ],
            "text": "Contoh D.4. Perkalian Matriks dengan Vektor"
          },
          "printed_number": "D.4",
          "printed_solution_start": 1393,
          "scope": "Solution start page only; the body can continue on following pages. No mathematical verification.",
          "source_example": {
            "normalized_character_range": [
              6081,
              6409
            ],
            "sha256": "77202769c682842092c7abee81ab05d5aff3937dec5fd2c1909fc020fe0abf94",
            "title": "Perkalian Matriks dengan Vektor",
            "title_character_range": [
              6097,
              6128
            ]
          },
          "source_opening": {
            "normalized_witness": "kitaakanmenggunakandefinisi",
            "source_character_range": [
              6428,
              6459
            ],
            "source_sha256": "32e7bb1d27143c57987307fd288cb70d4a69ab8e309f3c10c31ab2aecda8c649",
            "source_text": "Kita akan menggunakan Definisi "
          }
        },
        "id": "unit.r017.book1.appendix.matrices.multiplication.solution-001",
        "kind": "solution",
        "page": 617,
        "page_text_sha256": "cc4052e4b0be2d71b0dd5a4bcfa507bdd9f04f02cac116cc7cab87e20da9ef0f",
        "printed_state": "adjacent-example-and-solution-opening",
        "source_span": {
          "content_bytes": 778,
          "content_sha256": "18f6ff15085e29daa5d65349af7ecf69da82ec8773bb0023fb6814f583c8e4c7",
          "environment": "solution",
          "id": "unit.r017.book1.appendix.matrices.multiplication.solution-001",
          "label": null,
          "line_range": [
            304,
            367
          ],
          "native_record_sha256": "0fded9e7dbcf3bf62edbe2be9e4f51e4f6d0c3a96e02a04e64158bfa37bd30ab",
          "normalized_character_range": [
            6411,
            7189
          ],
          "normalized_utf8_byte_range": [
            6411,
            7189
          ],
          "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticMultiplication.tex",
          "source_file": {
            "archive": "source",
            "bytes": 17009,
            "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticMultiplication.tex",
            "sha256": "1beda3f43065b12a13b9af1c5b18573a1b359d6581a84ced989cf5c4a4bb686e"
          },
          "type": "solution"
        },
        "witnesses": []
      },
      {
        "id": "unit.r017.book1.appendix.matrices.multiplication.solution-002",
        "kind": "solution",
        "page": 619,
        "page_text_sha256": "c304741995b711a218bfd778abe200559b307bff093c4339a9e029aca2a3e6ca",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 1514,
          "content_sha256": "9d2899232808f998e3a081f11985d0ffd33a24ab270f5259750aaeb2a492ddae",
          "environment": "solution",
          "id": "unit.r017.book1.appendix.matrices.multiplication.solution-002",
          "label": null,
          "line_range": [
            499,
            564
          ],
          "native_record_sha256": "30965fce318aa1712443ee7f8b93ebf67d7d87ec43945d548f414abb837aacba",
          "normalized_character_range": [
            11464,
            12978
          ],
          "normalized_utf8_byte_range": [
            11464,
            12978
          ],
          "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticMultiplication.tex",
          "source_file": {
            "archive": "source",
            "bytes": 17009,
            "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticMultiplication.tex",
            "sha256": "1beda3f43065b12a13b9af1c5b18573a1b359d6581a84ced989cf5c4a4bb686e"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "halpertamayangperluandaperiksaketikamenghitungsuatuhasilkaliadalahapakahperkaliantersebutdapatdilakukanmatrikspertamaberukuran",
            "page": 619,
            "source_character_range": [
              11481,
              11628
            ],
            "source_sha256": "2e4811c89264f4ddbbb7ce427317237d5c072a0f3c5058ed2da8f734eee23f70",
            "source_text": "Hal pertama yang perlu Anda periksa ketika menghitung suatu\nhasil kali adalah apakah perkalian tersebut dapat dilakukan. Matriks pertama\nberukuran "
          },
          {
            "normalized_witness": "merupakanmatrikskonformabelberdasarkanpembahasandiatas",
            "page": 619,
            "source_character_range": [
              11732,
              11795
            ],
            "source_sha256": "68bbc237209795dfac54305bec3c9561ba1e710b338a02286ad92dd0a72092e0",
            "source_text": "merupakan matriks konformabel.\nBerdasarkan pembahasan di atas, "
          },
          {
            "normalized_witness": "andatelahmengetahuicaramengalikanmatriksdenganvektoryaitudenganmenggunakandefinisi",
            "page": 620,
            "source_character_range": [
              12507,
              12602
            ],
            "source_sha256": "20578d220b47399cf7e2af86bb5fb9c6b8471c4ebd36215c98fd052e5cafb6da",
            "source_text": "Anda telah mengetahui cara mengalikan matriks dengan vektor, yaitu dengan menggunakan Definisi "
          }
        ]
      },
      {
        "id": "unit.r017.book1.appendix.matrices.multiplication.solution-003",
        "kind": "solution",
        "page": 620,
        "page_text_sha256": "1135ffa102d1ce1560ac15afe1e18d5792e06485ee140de37c46528b31457149",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 1396,
          "content_sha256": "05c2e39fa883885918ddec1d648ff1792c4bc185eb8c17c68583a5f81fa300c8",
          "environment": "solution",
          "id": "unit.r017.book1.appendix.matrices.multiplication.solution-003",
          "label": null,
          "line_range": [
            583,
            653
          ],
          "native_record_sha256": "c844211f16fb449b40ba7f1298556f921b840413a3e1614940424320e54162ea",
          "normalized_character_range": [
            13351,
            14747
          ],
          "normalized_utf8_byte_range": [
            13351,
            14747
          ],
          "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticMultiplication.tex",
          "source_file": {
            "archive": "source",
            "bytes": 17009,
            "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticMultiplication.tex",
            "sha256": "1beda3f43065b12a13b9af1c5b18573a1b359d6581a84ced989cf5c4a4bb686e"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "keduabilangandidalamsamasehinggahasilkalitersebutterdefinisiperhatikanbahwahasilkalinyaberupamatriksberukuran",
            "page": 620,
            "source_character_range": [
              13469,
              13597
            ],
            "source_sha256": "1572e5040eb9ed21d314b857ad06e9540ec350251cc9e58fba02ffdc4af3d368",
            "source_text": "Kedua bilangan di dalam sama, sehingga hasil kali tersebut terdefinisi. Perhatikan bahwa hasil kalinya berupa matriks berukuran "
          },
          {
            "normalized_witness": "kitadapatmenghitunghasilkaliinisebagaiberikut",
            "page": 620,
            "source_character_range": [
              13678,
              13731
            ],
            "source_sha256": "4b17dfd3b8cb1d62113ae0ad9a585a7583606800b97436db1c38964ff0454045",
            "source_text": "kita dapat menghitung hasil kali ini sebagai berikut "
          }
        ]
      },
      {
        "id": "unit.r017.book1.appendix.matrices.multiplication.solution-004",
        "kind": "solution",
        "page": 620,
        "page_text_sha256": "1135ffa102d1ce1560ac15afe1e18d5792e06485ee140de37c46528b31457149",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 241,
          "content_sha256": "bcb30517ad06bc0b63721298667a7f70daa5289e2cf686a10fe624daa6016a85",
          "environment": "solution",
          "id": "unit.r017.book1.appendix.matrices.multiplication.solution-004",
          "label": null,
          "line_range": [
            673,
            676
          ],
          "native_record_sha256": "0a91c554ebc19c582a5256b60a0990c60a0278a732eea6fbd620c69dbd9d2da7",
          "normalized_character_range": [
            15084,
            15325
          ],
          "normalized_utf8_byte_range": [
            15084,
            15325
          ],
          "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticMultiplication.tex",
          "source_file": {
            "archive": "source",
            "bytes": 17009,
            "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticMultiplication.tex",
            "sha256": "1beda3f43065b12a13b9af1c5b18573a1b359d6581a84ced989cf5c4a4bb686e"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "pertamaperiksaapakahperkaliandapatdilakukanhasilkaliiniberbentuk",
            "page": 620,
            "source_character_range": [
              15101,
              15177
            ],
            "source_sha256": "5ef1cdf2581f94b57a7fb9de9985d729c77dd41d24e13de2fb68d3aa18b07b6a",
            "source_text": "Pertama, periksa apakah perkalian dapat dilakukan. Hasil kali ini berbentuk "
          },
          {
            "normalized_witness": "keduabilangandidalamtidaksamasehinggaperkalianinitidakdapatdilakukan",
            "page": 620,
            "source_character_range": [
              15229,
              15311
            ],
            "source_sha256": "6a1f9a45c57889f15777c12bfa30329116e0f676d6151a999f5059ca19bfa51e",
            "source_text": "Kedua bilangan di dalam tidak sama sehingga perkalian ini tidak dapat\ndilakukan. \n"
          }
        ]
      },
      {
        "example_reference": {
          "mapping_method": "adjacent-source-example-unique-printed-title-and-immediate-solution-opening",
          "page": 621,
          "page_text_sha256": "1ea750fd9592c8105937e074a11849f22bff72eb72e10695550ad9b3b49e9e5c",
          "printed_heading": {
            "character_range": [
              498,
              538
            ],
            "text": "Contoh D.8. Perkalian dengan Matriks Nol"
          },
          "printed_number": "D.8",
          "printed_solution_start": 646,
          "scope": "Solution start page only; the body can continue on following pages. No mathematical verification.",
          "source_example": {
            "normalized_character_range": [
              16045,
              16412
            ],
            "sha256": "0c013bbdee98a5bb28bb7d466de2cb29b28ee749809d170618e566bf10b377a2",
            "title": "Perkalian dengan Matriks Nol",
            "title_character_range": [
              16061,
              16089
            ]
          },
          "source_opening": {
            "normalized_witness": "dalamhasilkaliinikitamenghitung",
            "source_character_range": [
              16432,
              16470
            ],
            "source_sha256": "322b8e889ff1e5026a1c6df43d73f2478f39522a6ffe8f0694af99dba82f831c",
            "source_text": "Dalam hasil kali ini, kita menghitung\n"
          }
        },
        "id": "unit.r017.book1.appendix.matrices.multiplication.solution-005",
        "kind": "solution",
        "page": 621,
        "page_text_sha256": "1ea750fd9592c8105937e074a11849f22bff72eb72e10695550ad9b3b49e9e5c",
        "printed_state": "adjacent-example-and-solution-opening",
        "source_span": {
          "content_bytes": 302,
          "content_sha256": "b7a25314c2f63b74d7ceeafad732a0a3a16aec07f11536a3e5a2738c37ae15c2",
          "environment": "solution",
          "id": "unit.r017.book1.appendix.matrices.multiplication.solution-005",
          "label": null,
          "line_range": [
            712,
            737
          ],
          "native_record_sha256": "cb84e7a146cad3adf441d9e57426cf7cf0e76ddea8f7cee5c05d3bce3c9a53d8",
          "normalized_character_range": [
            16414,
            16716
          ],
          "normalized_utf8_byte_range": [
            16414,
            16716
          ],
          "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticMultiplication.tex",
          "source_file": {
            "archive": "source",
            "bytes": 17009,
            "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticMultiplication.tex",
            "sha256": "1beda3f43065b12a13b9af1c5b18573a1b359d6581a84ced989cf5c4a4bb686e"
          },
          "type": "solution"
        },
        "witnesses": []
      },
      {
        "id": "unit.r017.book1.appendix.matrices.product-entry.solution-001",
        "kind": "solution",
        "page": 622,
        "page_text_sha256": "e4a183429b68c884de20ef49a636a55ce31f07fbe5ace79763e9eb671e74a4a8",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 1491,
          "content_sha256": "4fec5c0e7c5f1a4788f7e240938e22325a4fb4c886ba2b5a2bd8267187efbc55",
          "environment": "solution",
          "id": "unit.r017.book1.appendix.matrices.product-entry.solution-001",
          "label": null,
          "line_range": [
            132,
            193
          ],
          "native_record_sha256": "274bb0ee4431d799ff1c5add3711fe057cce4370fe336364ca1169985d84b6f6",
          "normalized_character_range": [
            3517,
            5008
          ],
          "normalized_utf8_byte_range": [
            3517,
            5008
          ],
          "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticProductEntry.tex",
          "source_file": {
            "archive": "source",
            "bytes": 6988,
            "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticProductEntry.tex",
            "sha256": "327123b335e477ea3c70b33463a598bd1f8a1cf1872fd88d12ed6859e5d7aa36"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "pertamaperiksaapakahhasilkalidapatdilakukanbentuknyaadalah",
            "page": 622,
            "source_character_range": [
              3534,
              3603
            ],
            "source_sha256": "23096f60bedc32798a04e2538f0cdcb067c8933efa7260db15612340e6bc9872",
            "source_text": "Pertama, periksa apakah hasil kali dapat dilakukan. Bentuknya adalah "
          },
          {
            "normalized_witness": "dankarenakeduabilangandidalamsamaperkaliandapatdilakukanhasilnyaseharusnyaberupamatriks",
            "page": 622,
            "source_character_range": [
              3655,
              3758
            ],
            "source_sha256": "b4592045ec5f735084a83cefa3d39115ea9c49f93bccce100f22f6420f5e8b3e",
            "source_text": "dan karena kedua bilangan di dalam sama, perkalian dapat dilakukan. Hasilnya seharusnya berupa matriks "
          },
          {
            "normalized_witness": "dengantandakomamemisahkankolomkolompadahasilkaliyangdiperolehjadihasilkalidiatassamadengan",
            "page": 623,
            "source_character_range": [
              4226,
              4336
            ],
            "source_sha256": "2c2cb8eff0fa52789b18555b1a17e62b051cf00cd4d96d7cdb2a9c5ac5fc3817",
            "source_text": "dengan tanda koma memisahkan kolom-kolom pada hasil kali yang diperoleh. Jadi,\nhasil kali di atas sama dengan\n"
          },
          {
            "normalized_witness": "diatasnilaiinibenarandadapatmenggunakanmetodeiniuntukmemeriksabahwaentrientri",
            "page": 623,
            "source_character_range": [
              4873,
              4969
            ],
            "source_sha256": "f0cffdb74c3218243238bf964354475c41f7a3055206a17616d3b91c4afc9c9b",
            "source_text": "di atas, nilai ini benar! \n\nAnda dapat menggunakan metode ini untuk memeriksa bahwa entri-entri "
          }
        ]
      },
      {
        "id": "unit.r017.book1.appendix.matrices.product-entry.solution-002",
        "kind": "solution",
        "page": 623,
        "page_text_sha256": "2619d436bd6a42e513e1986c86edc87f889f1e950232b3b30817416af72da934",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 1541,
          "content_sha256": "2f265776af40644d2c49c8cd4e67a535fdb333dd4b2f3a27f75d0ffcfed45232",
          "environment": "solution",
          "id": "unit.r017.book1.appendix.matrices.product-entry.solution-002",
          "label": null,
          "line_range": [
            217,
            285
          ],
          "native_record_sha256": "335c5b118f5bf7b88190ee832aaf3a8e7ab5243b847856da7fbaf07cbff0b83e",
          "normalized_character_range": [
            5446,
            6987
          ],
          "normalized_utf8_byte_range": [
            5446,
            6987
          ],
          "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticProductEntry.tex",
          "source_file": {
            "archive": "source",
            "bytes": 6988,
            "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticProductEntry.tex",
            "sha256": "327123b335e477ea3c70b33463a598bd1f8a1cf1872fd88d12ed6859e5d7aa36"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "keduabilanganditengahsamasehinggamatriksmatrikstersebutkonformabeldanhasilkalinyadapatdihitungkitainginmencarientri",
            "page": 623,
            "source_character_range": [
              5540,
              5679
            ],
            "source_sha256": "d5a6aa73a5a1dd4292cfea41192762116e78f1dcfc64f3380d43cf0351359bae",
            "source_text": "Kedua bilangan di tengah sama, sehingga\nmatriks-matriks tersebut konformabel dan hasil kalinya dapat dihitung.  \n\nKita ingin mencari entri-"
          },
          {
            "normalized_witness": "yaituentripadabariskeduadankolompertamahasilkalikitaakanmenggunakandefinisi",
            "page": 623,
            "source_character_range": [
              5712,
              5802
            ],
            "source_sha256": "f4e3b40f7cc7ade92e4bc603dd8f7aa3efa99b1ea2733c35c243c961b52b5511",
            "source_text": "yaitu entri pada baris kedua dan kolom pertama hasil kali.\nKita akan menggunakan Definisi "
          },
          {
            "normalized_witness": "denganmenyubstitusikannilainilaiyangsesuaihasilkaliinimenjadi",
            "page": 623,
            "source_character_range": [
              6241,
              6313
            ],
            "source_sha256": "61bb70e41ac5f97e333d20d35ad2c51386e0cc57f4996261c3240e8057116507",
            "source_text": "Dengan menyubstitusikan nilai-nilai yang sesuai, hasil kali ini menjadi\n"
          },
          {
            "normalized_witness": "luangkanwaktusejenakuntukmencaribeberapaentri",
            "page": 624,
            "source_character_range": [
              6674,
              6726
            ],
            "source_sha256": "64a73b3106cd70f7c1bc6855fe99288f7d9ba3dfcade1b19268c6851b67b3d0b",
            "source_text": "Luangkan waktu sejenak untuk mencari beberapa entri "
          },
          {
            "normalized_witness": "lainnyaandadapatmengalikanmatriksmatrikstersebutuntukmemeriksabahwajawabanandabenarhasilkali",
            "page": 624,
            "source_character_range": [
              6731,
              6840
            ],
            "source_sha256": "f98c6798a7f10b1e0268b3beb1063b5e97b371808c907c575f1bd36f0d7b9b10",
            "source_text": "lainnya. Anda dapat mengalikan matriks-matriks tersebut untuk memeriksa bahwa jawaban Anda benar.\nHasil kali "
          }
        ]
      },
      {
        "composite_reference": {
          "mapping_method": "unique-page-with-all-short-prose-fragments-in-source-order",
          "page": 624,
          "scope": "Matched prose location only; not full solution extent or mathematical verification.",
          "witnesses": [
            {
              "normalized_page_range": [
                472,
                494
              ],
              "normalized_witness": "pertamaperhatikanbahwa",
              "page": 624,
              "source_character_range": [
                561,
                587
              ],
              "source_sha256": "d385e58220c18634ddaa1f4043e4391ddb4b2a7a3916d7e4ff92b82b63dd5f67",
              "source_text": "Pertama, perhatikan bahwa "
            },
            {
              "normalized_page_range": [
                499,
                516
              ],
              "normalized_witness": "samasamaberukuran",
              "page": 624,
              "source_character_range": [
                599,
                619
              ],
              "source_sha256": "6941da18f15b4668a7c5ed8e9b814798e33cb81516ebba84586e1bc4bc50d383",
              "source_text": "sama-sama berukuran "
            },
            {
              "normalized_page_range": [
                518,
                545
              ],
              "normalized_witness": "olehkarenaitukeduahasilkali",
              "page": 624,
              "source_character_range": [
                633,
                667
              ],
              "source_sha256": "24811da8bf1d4a6466a660541fe443fd094ae6de0b40ba0262351a618f6741a6",
              "source_text": "Oleh karena itu, kedua\nhasil kali "
            },
            {
              "normalized_page_range": [
                563,
                584
              ],
              "normalized_witness": "hasilkalipertamayaitu",
              "page": 624,
              "source_character_range": [
                694,
                720
              ],
              "source_sha256": "de976b858d18a9299548f6532a6d2b2f01e653bec99f44665097116fea1bd8f2",
              "source_text": "Hasil kali pertama, yaitu "
            },
            {
              "normalized_page_range": [
                606,
                625
              ],
              "normalized_witness": "hasilkalikeduayaitu",
              "page": 624,
              "source_character_range": [
                955,
                979
              ],
              "source_sha256": "3da422f5d25c0d14f034d8e90d0f32b3d2083be290c1341593fb087f9047eabc",
              "source_text": "Hasil kali kedua, yaitu "
            },
            {
              "normalized_page_range": [
                645,
                658
              ],
              "normalized_witness": "olehkarenaitu",
              "page": 624,
              "source_character_range": [
                1209,
                1226
              ],
              "source_sha256": "aed1553dff0223e336f2136e1e78941c2aac198740102e020c68a12e9f0029b3",
              "source_text": "Oleh karena itu, "
            }
          ]
        },
        "id": "unit.r017.book1.appendix.matrices.properties.solution-001",
        "kind": "solution",
        "page": 624,
        "page_text_sha256": "402c83f7e56ffe45f6d5a748e4a812d3964370db5a53ee7104ba9f17f519a42a",
        "printed_state": "ordered-composite-literal-passages",
        "source_span": {
          "content_bytes": 712,
          "content_sha256": "63c2f2736388bb542cd964fa40f4a6ec03df1ac088b1875412ff6f362fa6f0a5",
          "environment": "solution",
          "id": "unit.r017.book1.appendix.matrices.properties.solution-001",
          "label": null,
          "line_range": [
            22,
            64
          ],
          "native_record_sha256": "0bbcb7ec1b23cdc04c72196e7761b52c84a3e146098a8922735e414fe43d2105",
          "normalized_character_range": [
            543,
            1255
          ],
          "normalized_utf8_byte_range": [
            543,
            1255
          ],
          "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticMultiplicationProperties.tex",
          "source_file": {
            "archive": "source",
            "bytes": 3538,
            "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticMultiplicationProperties.tex",
            "sha256": "b952efaf462254e7fa458b632cf915e67361587cd5c7add984ae06bbdf1195ba"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_page_range": [
              472,
              494
            ],
            "normalized_witness": "pertamaperhatikanbahwa",
            "page": 624,
            "source_character_range": [
              561,
              587
            ],
            "source_sha256": "d385e58220c18634ddaa1f4043e4391ddb4b2a7a3916d7e4ff92b82b63dd5f67",
            "source_text": "Pertama, perhatikan bahwa "
          },
          {
            "normalized_page_range": [
              499,
              516
            ],
            "normalized_witness": "samasamaberukuran",
            "page": 624,
            "source_character_range": [
              599,
              619
            ],
            "source_sha256": "6941da18f15b4668a7c5ed8e9b814798e33cb81516ebba84586e1bc4bc50d383",
            "source_text": "sama-sama berukuran "
          },
          {
            "normalized_page_range": [
              518,
              545
            ],
            "normalized_witness": "olehkarenaitukeduahasilkali",
            "page": 624,
            "source_character_range": [
              633,
              667
            ],
            "source_sha256": "24811da8bf1d4a6466a660541fe443fd094ae6de0b40ba0262351a618f6741a6",
            "source_text": "Oleh karena itu, kedua\nhasil kali "
          },
          {
            "normalized_page_range": [
              563,
              584
            ],
            "normalized_witness": "hasilkalipertamayaitu",
            "page": 624,
            "source_character_range": [
              694,
              720
            ],
            "source_sha256": "de976b858d18a9299548f6532a6d2b2f01e653bec99f44665097116fea1bd8f2",
            "source_text": "Hasil kali pertama, yaitu "
          },
          {
            "normalized_page_range": [
              606,
              625
            ],
            "normalized_witness": "hasilkalikeduayaitu",
            "page": 624,
            "source_character_range": [
              955,
              979
            ],
            "source_sha256": "3da422f5d25c0d14f034d8e90d0f32b3d2083be290c1341593fb087f9047eabc",
            "source_text": "Hasil kali kedua, yaitu "
          },
          {
            "normalized_page_range": [
              645,
              658
            ],
            "normalized_witness": "olehkarenaitu",
            "page": 624,
            "source_character_range": [
              1209,
              1226
            ],
            "source_sha256": "aed1553dff0223e336f2136e1e78941c2aac198740102e020c68a12e9f0029b3",
            "source_text": "Oleh karena itu, "
          }
        ]
      },
      {
        "composite_reference": {
          "mapping_method": "unique-page-with-all-short-prose-fragments-in-source-order",
          "page": 615,
          "scope": "Matched prose location only; not full solution extent or mathematical verification.",
          "witnesses": [
            {
              "normalized_page_range": [
                34,
                53
              ],
              "normalized_witness": "berdasarkandefinisi",
              "page": 615,
              "source_character_range": [
                1269,
                1290
              ],
              "source_sha256": "34dca6d2f1003e735bdff24c4c48b28719f7e341500835e39f7c7f589a1c8b0e",
              "source_text": "Berdasarkan Definisi "
            },
            {
              "normalized_page_range": [
                55,
                81
              ],
              "normalized_witness": "kitamengalikansetiapelemen",
              "page": 615,
              "source_character_range": [
                1322,
                1352
              ],
              "source_sha256": "e3f83fe3e55c6b7148996f5883832730b0948f60f940955ae92b896bbcf2a6c3",
              "source_text": "kita mengalikan setiap elemen "
            },
            {
              "normalized_page_range": [
                89,
                102
              ],
              "normalized_witness": "olehkarenaitu",
              "page": 615,
              "source_character_range": [
                1368,
                1385
              ],
              "source_sha256": "de57508d2201cb805eb405856cce3df86503d367ee220292cb659adb15646e4a",
              "source_text": "Oleh karena itu,\n"
            }
          ]
        },
        "id": "unit.r017.book1.appendix.matrices.scalar.solution-001",
        "kind": "solution",
        "page": 615,
        "page_text_sha256": "eac467a0999e23d2efb222a5c34a95176a5cf51b69a1ea134f53b65e09890d61",
        "printed_state": "ordered-composite-literal-passages",
        "source_span": {
          "content_bytes": 389,
          "content_sha256": "94d9b59e4d38a508e1de908bc9f3df1fd499860bbf9a9c5c7035928cb61d842f",
          "environment": "solution",
          "id": "unit.r017.book1.appendix.matrices.scalar.solution-001",
          "label": null,
          "line_range": [
            46,
            70
          ],
          "native_record_sha256": "c1a91b02b3891d9a2256b6be20ac4ad1b04f8936e50ce00aeb7b9855e1a171b8",
          "normalized_character_range": [
            1252,
            1641
          ],
          "normalized_utf8_byte_range": [
            1252,
            1641
          ],
          "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticScalarMultiplication.tex",
          "source_file": {
            "archive": "source",
            "bytes": 2559,
            "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticScalarMultiplication.tex",
            "sha256": "063399548743d13bfc4939ca8e2e2f0615563487704ab1a285ea5654932b2d0e"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_page_range": [
              34,
              53
            ],
            "normalized_witness": "berdasarkandefinisi",
            "page": 615,
            "source_character_range": [
              1269,
              1290
            ],
            "source_sha256": "34dca6d2f1003e735bdff24c4c48b28719f7e341500835e39f7c7f589a1c8b0e",
            "source_text": "Berdasarkan Definisi "
          },
          {
            "normalized_page_range": [
              55,
              81
            ],
            "normalized_witness": "kitamengalikansetiapelemen",
            "page": 615,
            "source_character_range": [
              1322,
              1352
            ],
            "source_sha256": "e3f83fe3e55c6b7148996f5883832730b0948f60f940955ae92b896bbcf2a6c3",
            "source_text": "kita mengalikan setiap elemen "
          },
          {
            "normalized_page_range": [
              89,
              102
            ],
            "normalized_witness": "olehkarenaitu",
            "page": 615,
            "source_character_range": [
              1368,
              1385
            ],
            "source_sha256": "de57508d2201cb805eb405856cce3df86503d367ee220292cb659adb15646e4a",
            "source_text": "Oleh karena itu,\n"
          }
        ]
      },
      {
        "id": "unit.r017.book1.appendix.matrices.transpose.solution-001",
        "kind": "solution",
        "page": 625,
        "page_text_sha256": "c6921403570e88d9531d7cbb26cb56905f48b7753a69ab93651356983235a118",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 515,
          "content_sha256": "23f4a9eff65743ec323337fed9a6f0e81c1d264273946e16da18b83b4207f6d3",
          "environment": "solution",
          "id": "unit.r017.book1.appendix.matrices.transpose.solution-001",
          "label": null,
          "line_range": [
            53,
            71
          ],
          "native_record_sha256": "062103850a37e3fc8dea3ae540adc8733187280e94eae1aca3218953f2223505",
          "normalized_character_range": [
            1456,
            1971
          ],
          "normalized_utf8_byte_range": [
            1456,
            1971
          ],
          "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticTranspose.tex",
          "source_file": {
            "archive": "source",
            "bytes": 4816,
            "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticTranspose.tex",
            "sha256": "4f5eb740823ffea9cc2490ed74b6f08ac5a12acc8dff39fdd826e0ca4833d7f6"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "dengankatalainkitamenukarposisibarisdankolomsetiapentrientri",
            "page": 625,
            "source_character_range": [
              1609,
              1683
            ],
            "source_sha256": "4f08460fc70f54509065ae461786015c7cad64e474be0cb8dd774ea78d1f35e1",
            "source_text": "Dengan kata lain, kita menukar posisi baris dan kolom\nsetiap entri. Entri-"
          }
        ]
      },
      {
        "composite_reference": {
          "mapping_method": "unique-page-with-all-short-prose-fragments-in-source-order",
          "page": 626,
          "scope": "Matched prose location only; not full solution extent or mathematical verification.",
          "witnesses": [
            {
              "normalized_page_range": [
                294,
                313
              ],
              "normalized_witness": "berdasarkandefinisi",
              "page": 626,
              "source_character_range": [
                3799,
                3820
              ],
              "source_sha256": "34dca6d2f1003e735bdff24c4c48b28719f7e341500835e39f7c7f589a1c8b0e",
              "source_text": "Berdasarkan Definisi "
            },
            {
              "normalized_page_range": [
                316,
                341
              ],
              "normalized_witness": "kitaperlumenunjukkanbahwa",
              "page": 626,
              "source_character_range": [
                3857,
                3886
              ],
              "source_sha256": "5be874abb656827e5b967640e727fb10c24172db019f6ddcf494952d17712151",
              "source_text": "kita perlu menunjukkan bahwa "
            },
            {
              "normalized_page_range": [
                344,
                377
              ],
              "normalized_witness": "sekarangdenganmenggunakandefinisi",
              "page": 626,
              "source_character_range": [
                3897,
                3935
              ],
              "source_sha256": "cc904aa33af6041f8819535c45b8b07194eb1c9f521c7dceebf067ccf3ab1cf1",
              "source_text": "Sekarang, dengan menggunakan Definisi "
            }
          ]
        },
        "id": "unit.r017.book1.appendix.matrices.transpose.solution-002",
        "kind": "solution",
        "page": 626,
        "page_text_sha256": "aa885e90dbc90773c5e98ca00b5af97a4df58588b7cfad2b02fe34b54993c3d0",
        "printed_state": "ordered-composite-literal-passages",
        "source_span": {
          "content_bytes": 362,
          "content_sha256": "c17df630616f8b1adb956d344ce0f315a8739a68d5954ec0262d1fa9ef284fed",
          "environment": "solution",
          "id": "unit.r017.book1.appendix.matrices.transpose.solution-002",
          "label": null,
          "line_range": [
            124,
            137
          ],
          "native_record_sha256": "5b17a3c9f2d98c9252a26b7e4215edca299a10f3f3d71a52d9ac8fa8ccefc448",
          "normalized_character_range": [
            3782,
            4144
          ],
          "normalized_utf8_byte_range": [
            3782,
            4144
          ],
          "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticTranspose.tex",
          "source_file": {
            "archive": "source",
            "bytes": 4816,
            "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticTranspose.tex",
            "sha256": "4f5eb740823ffea9cc2490ed74b6f08ac5a12acc8dff39fdd826e0ca4833d7f6"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_page_range": [
              294,
              313
            ],
            "normalized_witness": "berdasarkandefinisi",
            "page": 626,
            "source_character_range": [
              3799,
              3820
            ],
            "source_sha256": "34dca6d2f1003e735bdff24c4c48b28719f7e341500835e39f7c7f589a1c8b0e",
            "source_text": "Berdasarkan Definisi "
          },
          {
            "normalized_page_range": [
              316,
              341
            ],
            "normalized_witness": "kitaperlumenunjukkanbahwa",
            "page": 626,
            "source_character_range": [
              3857,
              3886
            ],
            "source_sha256": "5be874abb656827e5b967640e727fb10c24172db019f6ddcf494952d17712151",
            "source_text": "kita perlu menunjukkan bahwa "
          },
          {
            "normalized_page_range": [
              344,
              377
            ],
            "normalized_witness": "sekarangdenganmenggunakandefinisi",
            "page": 626,
            "source_character_range": [
              3897,
              3935
            ],
            "source_sha256": "cc904aa33af6041f8819535c45b8b07194eb1c9f521c7dceebf067ccf3ab1cf1",
            "source_text": "Sekarang, dengan menggunakan Definisi "
          }
        ]
      },
      {
        "composite_reference": {
          "mapping_method": "unique-page-with-all-short-prose-fragments-in-source-order",
          "page": 626,
          "scope": "Matched prose location only; not full solution extent or mathematical verification.",
          "witnesses": [
            {
              "normalized_page_range": [
                294,
                313
              ],
              "normalized_witness": "berdasarkandefinisi",
              "page": 626,
              "source_character_range": [
                4418,
                4439
              ],
              "source_sha256": "34dca6d2f1003e735bdff24c4c48b28719f7e341500835e39f7c7f589a1c8b0e",
              "source_text": "Berdasarkan Definisi "
            },
            {
              "normalized_page_range": [
                537,
                569
              ],
              "normalized_witness": "andadapatmelihatbahwasetiapentri",
              "page": 626,
              "source_character_range": [
                4606,
                4644
              ],
              "source_sha256": "12c216df283ec09e189e6658eef564cc7e00fbd2766888781717bea33f4a07cc",
              "source_text": "Anda dapat melihat bahwa setiap entri "
            },
            {
              "normalized_page_range": [
                582,
                603
              ],
              "normalized_witness": "kalientriyangsamadari",
              "page": 626,
              "source_character_range": [
                4667,
                4693
              ],
              "source_sha256": "0b416650c63a6d95f49b3683d198e8ecf9aa23724ac52ccf604421efbfee383d",
              "source_text": "kali entri yang sama dari "
            },
            {
              "normalized_page_range": [
                611,
                633
              ],
              "normalized_witness": "danberdasarkandefinisi",
              "page": 626,
              "source_character_range": [
                4718,
                4743
              ],
              "source_sha256": "61f444a79ab70df924b6b13dd458ac8857841682f4a038016e4ccecbb2bd5a1b",
              "source_text": "dan berdasarkan Definisi "
            },
            {
              "normalized_page_range": [
                637,
                651
              ],
              "normalized_witness": "simetrismiring",
              "page": 626,
              "source_character_range": [
                4784,
                4799
              ],
              "source_sha256": "93bbdadd6186cfd3e2a1863be7bfade591c395495dbd260fde434fd2ef0271ff",
              "source_text": "simetris-miring"
            }
          ]
        },
        "id": "unit.r017.book1.appendix.matrices.transpose.solution-003",
        "kind": "solution",
        "page": 626,
        "page_text_sha256": "aa885e90dbc90773c5e98ca00b5af97a4df58588b7cfad2b02fe34b54993c3d0",
        "printed_state": "ordered-composite-literal-passages",
        "source_span": {
          "content_bytes": 414,
          "content_sha256": "8044008e2f9ef0ec9dfdae1330fa9bfd991a0a2a371a085f77bc739d5d4dc618",
          "environment": "solution",
          "id": "unit.r017.book1.appendix.matrices.transpose.solution-003",
          "label": null,
          "line_range": [
            153,
            166
          ],
          "native_record_sha256": "df604c3ed22c87b92a1d600f296eccd5188ec7617ddc96f138dabfadc3b18f72",
          "normalized_character_range": [
            4401,
            4815
          ],
          "normalized_utf8_byte_range": [
            4401,
            4815
          ],
          "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticTranspose.tex",
          "source_file": {
            "archive": "source",
            "bytes": 4816,
            "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/matricesMatrixArithmeticTranspose.tex",
            "sha256": "4f5eb740823ffea9cc2490ed74b6f08ac5a12acc8dff39fdd826e0ca4833d7f6"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_page_range": [
              294,
              313
            ],
            "normalized_witness": "berdasarkandefinisi",
            "page": 626,
            "source_character_range": [
              4418,
              4439
            ],
            "source_sha256": "34dca6d2f1003e735bdff24c4c48b28719f7e341500835e39f7c7f589a1c8b0e",
            "source_text": "Berdasarkan Definisi "
          },
          {
            "normalized_page_range": [
              537,
              569
            ],
            "normalized_witness": "andadapatmelihatbahwasetiapentri",
            "page": 626,
            "source_character_range": [
              4606,
              4644
            ],
            "source_sha256": "12c216df283ec09e189e6658eef564cc7e00fbd2766888781717bea33f4a07cc",
            "source_text": "Anda dapat melihat bahwa setiap entri "
          },
          {
            "normalized_page_range": [
              582,
              603
            ],
            "normalized_witness": "kalientriyangsamadari",
            "page": 626,
            "source_character_range": [
              4667,
              4693
            ],
            "source_sha256": "0b416650c63a6d95f49b3683d198e8ecf9aa23724ac52ccf604421efbfee383d",
            "source_text": "kali entri yang sama dari "
          },
          {
            "normalized_page_range": [
              611,
              633
            ],
            "normalized_witness": "danberdasarkandefinisi",
            "page": 626,
            "source_character_range": [
              4718,
              4743
            ],
            "source_sha256": "61f444a79ab70df924b6b13dd458ac8857841682f4a038016e4ccecbb2bd5a1b",
            "source_text": "dan berdasarkan Definisi "
          },
          {
            "normalized_page_range": [
              637,
              651
            ],
            "normalized_witness": "simetrismiring",
            "page": 626,
            "source_character_range": [
              4784,
              4799
            ],
            "source_sha256": "93bbdadd6186cfd3e2a1863be7bfade591c395495dbd260fde434fd2ef0271ff",
            "source_text": "simetris-miring"
          }
        ]
      },
      {
        "id": "unit.r017.book1.appendix.vectors.addition-meaning.solution-001",
        "kind": "solution",
        "page": 642,
        "page_text_sha256": "ceede35dd714b4128a04f8315d1b773ce72c228c64483bad8b1f0bb411c5f00f",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 1662,
          "content_sha256": "5e99d4b8a0f6ddbf5f9d7ef341932fc4aaf900d4ae159adfc7ac061feca883b4",
          "environment": "solution",
          "id": "unit.r017.book1.appendix.vectors.addition-meaning.solution-001",
          "label": "fig:RnVectorsAdditionMeaning-tikz03",
          "line_range": [
            109,
            143
          ],
          "native_record_sha256": "bd14b85a7b5daa06ecea654f2081d99ef91d394c072b6965c132dc3cee1cedb2",
          "normalized_character_range": [
            4713,
            6375
          ],
          "normalized_utf8_byte_range": [
            4713,
            6375
          ],
          "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/RnVectorsAdditionMeaning.tex",
          "source_file": {
            "archive": "source",
            "bytes": 6376,
            "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/RnVectorsAdditionMeaning.tex",
            "sha256": "3bc5962ddd8b72d234460599b237dfa0ed7333e6869cddba5fe8dac108b785b1"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "adalahvektoryangdiperolehdenganmenggambarsebuahvektordaripangkal",
            "page": 642,
            "source_character_range": [
              4936,
              5010
            ],
            "source_sha256": "bb555c97feaf1d46095602b239ffad9063e8e5595cf01fb2501fb3beeef53e7a",
            "source_text": "adalah vektor yang diperoleh dengan\nmenggambar sebuah vektor dari pangkal "
          },
          {
            "normalized_witness": "vyangdigambardenganaturanujungkepangkaluberwarnabirudarititikasalkekananatas",
            "page": 642,
            "source_character_range": [
              5397,
              5493
            ],
            "source_sha256": "bcae8977bb83b36e3c6f81423c2e72783b346e348aa73256e43d75d17a5f502b",
            "source_text": "v yang digambar dengan aturan ujung-ke-pangkal: u berwarna biru dari titik asal ke kanan atas..."
          },
          {
            "normalized_witness": "berdasarkanuraiangeometrispenjumlahanvektordiatas",
            "page": 642,
            "source_character_range": [
              5661,
              5718
            ],
            "source_sha256": "6a04c8183d2ea11c4af16bd146afe7caa6c4e640aafb2b301f48e875b99af68c",
            "source_text": "Berdasarkan uraian geometris penjumlahan vektor di atas, "
          },
          {
            "normalized_witness": "adalahvektoryangmemilikipanjangsamatetapimenunjukkearahyangberlawanandengan",
            "page": 642,
            "source_character_range": [
              5730,
              5818
            ],
            "source_sha256": "8003c776793028d15018c16498049a5b3f51eba92e826bd612f68a2cb8915163",
            "source_text": "adalah vektor yang memiliki panjang sama tetapi menunjuk ke arah\nyang berlawanan dengan "
          },
          {
            "normalized_witness": "diagramvektorduadimensiuvuberwarnabirudarititikasalvberwarnamerahyangberawaldiujungudan",
            "page": 643,
            "source_character_range": [
              6175,
              6288
            ],
            "source_sha256": "cf7a7cf34c12c7be78cb26e1d05a7769d736104d2d38ec437c17e70c3dcde880",
            "source_text": "Diagram vektor dua dimensi u-v: u berwarna biru dari titik asal, -v berwarna merah yang berawal di ujung u dan..."
          }
        ]
      },
      {
        "id": "unit.r017.book1.appendix.vectors.dot-significance.solution-001",
        "kind": "solution",
        "page": 653,
        "page_text_sha256": "19c31762ff4f96fa316b9f180df456b588f773262b451754a9b5ef332862376e",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 1124,
          "content_sha256": "0bd0967469883d3432b760cee5b2c7e1320e03cf88f440187f4ae7cf804ca050",
          "environment": "solution",
          "id": "unit.r017.book1.appendix.vectors.dot-significance.solution-001",
          "label": null,
          "line_range": [
            59,
            96
          ],
          "native_record_sha256": "9570aa4e442f5eaf936bc4ef7182382c7a76a881e3c1069d1609f1f3110ecb72",
          "normalized_character_range": [
            1894,
            3018
          ],
          "normalized_utf8_byte_range": [
            1894,
            3018
          ],
          "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/RnVectorsDotProductSignificance.tex",
          "source_file": {
            "archive": "source",
            "bytes": 8004,
            "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/RnVectorsDotProductSignificance.tex",
            "sha256": "d5860a69ee0e3d38a5766552857ce73a2184b1fbd1fb2b3e83c35ae063e070b8"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "olehkarenaitukosinussudutapittersebutsamadengan",
            "page": 653,
            "source_character_range": [
              2702,
              2759
            ],
            "source_sha256": "e055da8e8084640509e8e43e25c7378ded96957c06fc1f14dfd581cf10a42acf",
            "source_text": "Oleh karena itu, kosinus sudut apit tersebut sama dengan\n"
          },
          {
            "normalized_witness": "setelahkosinusdiketahuisudutdapatditentukandenganmenghitungkosinusinversdarinilaitersebutyangmemberikankirakira",
            "page": 653,
            "source_character_range": [
              2848,
              2978
            ],
            "source_sha256": "6fe875edc18fe073ca0dc6cfb7a1d526780130c97f799fdba53b7cedd05a42df",
            "source_text": "Setelah kosinus diketahui, sudut dapat ditentukan dengan menghitung\nkosinus invers dari nilai tersebut, yang memberikan kira-kira "
          }
        ]
      },
      {
        "id": "unit.r017.book1.appendix.vectors.dot-significance.solution-002",
        "kind": "solution",
        "page": 654,
        "page_text_sha256": "4c5ae28b19862c3f09086285d6043c7e3f7cb3b34f14def6ca4f706c4d417419",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 1167,
          "content_sha256": "f3cff7fa7c04fb425d787dd72f0d9ddf7ae1e0889bea5fd48b9dd9080d34dce0",
          "environment": "solution",
          "id": "unit.r017.book1.appendix.vectors.dot-significance.solution-002",
          "label": null,
          "line_range": [
            163,
            198
          ],
          "native_record_sha256": "1b7a8ef4e72273dbf7d3ab4025077c9f5196ae8f6eb3f0f1adf79ad31c2fdf66",
          "normalized_character_range": [
            4361,
            5528
          ],
          "normalized_utf8_byte_range": [
            4361,
            5528
          ],
          "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/RnVectorsDotProductSignificance.tex",
          "source_file": {
            "archive": "source",
            "bytes": 8004,
            "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/RnVectorsDotProductSignificance.tex",
            "sha256": "d5860a69ee0e3d38a5766552857ce73a2184b1fbd1fb2b3e83c35ae063e070b8"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "andadapatmemverifikasibahwagarisgarisinitidakberpotongantetapisepertidibahasdiatashalinitidakmenjadimasalahdankitacukupmencarisudutterkecilantarasebarangvektorarahkeduagaristersebutuntukmelakukannyapertamatamakitamencarisudutantaravektorvektorarahyangdiberikandiatas",
            "page": 654,
            "source_character_range": [
              4378,
              4697
            ],
            "source_sha256": "8064cab399cda4dd24f2bf3b802da4407e2c887964579ff4d1c0457dc4ebc08f",
            "source_text": "Anda dapat memverifikasi bahwa garis-garis ini tidak berpotongan, tetapi seperti dibahas\ndi atas, hal ini tidak menjadi masalah dan kita cukup mencari sudut terkecil\nantara sebarang vektor arah kedua garis tersebut.\n\nUntuk melakukannya, pertama-tama kita mencari sudut\nantara vektor-vektor arah yang diberikan di atas:\n"
          },
          {
            "normalized_witness": "untukmencarisuduttersebutkitamenyelesaikanpersamaanberikutterhadap",
            "page": 654,
            "source_character_range": [
              4867,
              4943
            ],
            "source_sha256": "471ad0daa825b7370721c8f47e1452a731851d5a34cca4e33b8983428cece152",
            "source_text": "Untuk mencari sudut tersebut, kita menyelesaikan persamaan berikut terhadap "
          },
          {
            "normalized_witness": "sekarangsudutantarasebarangduavektorarahuntukgarisgarisiniadalah",
            "page": 654,
            "source_character_range": [
              5238,
              5314
            ],
            "source_sha256": "d95396cfe73a9522f8ecdee67f2a94fa3e1057cf1e2f94a03762db0e4f0f2e4d",
            "source_text": "Sekarang sudut antara sebarang dua vektor arah untuk garis-garis ini\nadalah "
          },
          {
            "normalized_witness": "kitamemilihsudutyanglebihkecilsehinggamenyimpulkanbahwasudutantarakeduagarisadalah",
            "page": 654,
            "source_character_range": [
              5400,
              5497
            ],
            "source_sha256": "35ea01897dc45339fa60d155ae581eef815ad0f4967578af756de9258e400d2e",
            "source_text": "Kita memilih sudut yang lebih kecil, sehingga menyimpulkan bahwa sudut antara kedua garis adalah "
          }
        ]
      },
      {
        "id": "unit.r017.book1.appendix.vectors.dot-significance.solution-003",
        "kind": "solution",
        "page": 654,
        "page_text_sha256": "4c5ae28b19862c3f09086285d6043c7e3f7cb3b34f14def6ca4f706c4d417419",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 231,
          "content_sha256": "32ac7d903253b8033599f0a6e809ded2a767833e69289c177126876068a81c22",
          "environment": "solution",
          "id": "unit.r017.book1.appendix.vectors.dot-significance.solution-003",
          "label": null,
          "line_range": [
            207,
            213
          ],
          "native_record_sha256": "2934440b53d42620623666737e844a4efb702b547a184490b21657ef71a29022",
          "normalized_character_range": [
            6013,
            6244
          ],
          "normalized_utf8_byte_range": [
            6013,
            6244
          ],
          "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/RnVectorsDotProductSignificance.tex",
          "source_file": {
            "archive": "source",
            "bytes": 8004,
            "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/RnVectorsDotProductSignificance.tex",
            "sha256": "d5860a69ee0e3d38a5766552857ce73a2184b1fbd1fb2b3e83c35ae063e070b8"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "dariuraiangeometrishasilkalititikdalamproposisi",
            "page": 654,
            "source_character_range": [
              6030,
              6085
            ],
            "source_sha256": "eb9fd16a61e4ab0b566d98957b276d253cc632806628b773c23de7e47226e6ee",
            "source_text": "Dari uraian geometris hasil kali titik dalam Proposisi "
          }
        ]
      },
      {
        "id": "unit.r017.book1.appendix.vectors.dot-significance.solution-004",
        "kind": "solution",
        "page": 655,
        "page_text_sha256": "f8ecd8169aceb905b0379edbc03533b691d248c6822b6291d5bc54ac9d42f9f0",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 332,
          "content_sha256": "b7b42e0426a891568722b896d56993f3d1f8fbfa7b5dbdeea7014161a6439643",
          "environment": "solution",
          "id": "unit.r017.book1.appendix.vectors.dot-significance.solution-004",
          "label": null,
          "line_range": [
            271,
            282
          ],
          "native_record_sha256": "b016bf3e82e1cdc219020d3f16bd354267a50e0164a6551f7e7eecdff4a1f6fd",
          "normalized_character_range": [
            7671,
            8003
          ],
          "normalized_utf8_byte_range": [
            7671,
            8003
          ],
          "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/RnVectorsDotProductSignificance.tex",
          "source_file": {
            "archive": "source",
            "bytes": 8004,
            "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/RnVectorsDotProductSignificance.tex",
            "sha256": "d5860a69ee0e3d38a5766552857ce73a2184b1fbd1fb2b3e83c35ae063e070b8"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "untukmenentukanapakahkeduavektorinitegakluruskitamenghitunghasilkalititiknyahasilnyadiberikanoleh",
            "page": 655,
            "source_character_range": [
              7688,
              7803
            ],
            "source_sha256": "29434e6c38cad549bc5a7b0f69ac228d0fe5cb9460a6d2a04a525490f57e5620",
            "source_text": "Untuk menentukan apakah kedua vektor ini tegak lurus, kita menghitung hasil kali titiknya.\nHasilnya diberikan oleh\n"
          }
        ]
      },
      {
        "composite_reference": {
          "mapping_method": "unique-page-with-all-short-prose-fragments-in-source-order",
          "page": 651,
          "scope": "Matched prose location only; not full solution extent or mathematical verification.",
          "witnesses": [
            {
              "normalized_page_range": [
                31,
                50
              ],
              "normalized_witness": "berdasarkandefinisi",
              "page": 651,
              "source_character_range": [
                1469,
                1490
              ],
              "source_sha256": "34dca6d2f1003e735bdff24c4c48b28719f7e341500835e39f7c7f589a1c8b0e",
              "source_text": "Berdasarkan Definisi "
            },
            {
              "normalized_page_range": [
                53,
                72
              ],
              "normalized_witness": "kitaharusmenghitung",
              "page": 651,
              "source_character_range": [
                1516,
                1538
              ],
              "source_sha256": "daca76448b30cada95f226a89eded9b1ca1c3e6f932b60ecf75b4164c41b6e06",
              "source_text": "kita harus menghitung\n"
            },
            {
              "normalized_page_range": [
                81,
                102
              ],
              "normalized_witness": "hasilnyadiberikanoleh",
              "page": 651,
              "source_character_range": [
                1626,
                1650
              ],
              "source_sha256": "85337299e68b804eb7a1e60c390f4c2de5dff253e83d6592393dbfdf89d56647",
              "source_text": "Hasilnya diberikan oleh\n"
            }
          ]
        },
        "id": "unit.r017.book1.appendix.vectors.dot.solution-001",
        "kind": "solution",
        "page": 651,
        "page_text_sha256": "d82d555f9ebe52816335b0b1efbf101b25c39a66e97f80c648c8020bcfdc33a2",
        "printed_state": "ordered-composite-literal-passages",
        "source_span": {
          "content_bytes": 344,
          "content_sha256": "ffe36f54b0a52002e344575c87c2137ad2805eb23b517d4f3234b49ca91be1a1",
          "environment": "solution",
          "id": "unit.r017.book1.appendix.vectors.dot.solution-001",
          "label": null,
          "line_range": [
            47,
            63
          ],
          "native_record_sha256": "12f2f01d1c5ce7be1944b4b78b241d1a4d946bcbed9e17baee5c90de812e706e",
          "normalized_character_range": [
            1452,
            1796
          ],
          "normalized_utf8_byte_range": [
            1452,
            1796
          ],
          "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/RnVectorsDotProductDot.tex",
          "source_file": {
            "archive": "source",
            "bytes": 10811,
            "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/RnVectorsDotProductDot.tex",
            "sha256": "4c272fad7e55d9464986abb7aa97ecacdf1c210b67f3efd5a5a6e79d745a3ac7"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_page_range": [
              31,
              50
            ],
            "normalized_witness": "berdasarkandefinisi",
            "page": 651,
            "source_character_range": [
              1469,
              1490
            ],
            "source_sha256": "34dca6d2f1003e735bdff24c4c48b28719f7e341500835e39f7c7f589a1c8b0e",
            "source_text": "Berdasarkan Definisi "
          },
          {
            "normalized_page_range": [
              53,
              72
            ],
            "normalized_witness": "kitaharusmenghitung",
            "page": 651,
            "source_character_range": [
              1516,
              1538
            ],
            "source_sha256": "daca76448b30cada95f226a89eded9b1ca1c3e6f932b60ecf75b4164c41b6e06",
            "source_text": "kita harus menghitung\n"
          },
          {
            "normalized_page_range": [
              81,
              102
            ],
            "normalized_witness": "hasilnyadiberikanoleh",
            "page": 651,
            "source_character_range": [
              1626,
              1650
            ],
            "source_sha256": "85337299e68b804eb7a1e60c390f4c2de5dff253e83d6592393dbfdf89d56647",
            "source_text": "Hasilnya diberikan oleh\n"
          }
        ]
      },
      {
        "composite_reference": {
          "mapping_method": "unique-page-with-all-short-prose-fragments-in-source-order",
          "page": 651,
          "scope": "Matched prose location only; not full solution extent or mathematical verification.",
          "witnesses": [
            {
              "normalized_page_range": [
                605,
                625
              ],
              "normalized_witness": "berdasarkanproposisi",
              "page": 651,
              "source_character_range": [
                3202,
                3224
              ],
              "source_sha256": "9d4593ca90d2f94bb800a62c98f75f7a33a3a71d8b99c79e72aab638b5a1f6a9",
              "source_text": "Berdasarkan Proposisi "
            },
            {
              "normalized_page_range": [
                631,
                644
              ],
              "normalized_witness": "olehkarenaitu",
              "page": 651,
              "source_character_range": [
                3327,
                3344
              ],
              "source_sha256": "aed1553dff0223e336f2136e1e78941c2aac198740102e020c68a12e9f0029b3",
              "source_text": "Oleh karena itu, "
            },
            {
              "normalized_page_range": [
                647,
                660
              ],
              "normalized_witness": "pertamahitung",
              "page": 651,
              "source_character_range": [
                3417,
                3433
              ],
              "source_sha256": "42de1640b23bfc89c234a1e8f30d5bbfc3925159400ce52a5e09dd8f30d77ef6",
              "source_text": "Pertama, hitung "
            },
            {
              "normalized_page_range": [
                662,
                683
              ],
              "normalized_witness": "hasilnyadiberikanoleh",
              "page": 651,
              "source_character_range": [
                3464,
                3488
              ],
              "source_sha256": "85337299e68b804eb7a1e60c390f4c2de5dff253e83d6592393dbfdf89d56647",
              "source_text": "Hasilnya diberikan oleh\n"
            }
          ]
        },
        "id": "unit.r017.book1.appendix.vectors.dot.solution-002",
        "kind": "solution",
        "page": 651,
        "page_text_sha256": "d82d555f9ebe52816335b0b1efbf101b25c39a66e97f80c648c8020bcfdc33a2",
        "printed_state": "ordered-composite-literal-passages",
        "source_span": {
          "content_bytes": 591,
          "content_sha256": "cf43f554ffe274e592515b5a44391fbd3ef31a14fe17c18a5b9ac22fda8e3e27",
          "environment": "solution",
          "id": "unit.r017.book1.appendix.vectors.dot.solution-002",
          "label": null,
          "line_range": [
            106,
            129
          ],
          "native_record_sha256": "de6657d1542ecc9dbffb15689494a2e2b0cc1ba0191751d59e7161bfe91b4250",
          "normalized_character_range": [
            3185,
            3776
          ],
          "normalized_utf8_byte_range": [
            3185,
            3776
          ],
          "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/RnVectorsDotProductDot.tex",
          "source_file": {
            "archive": "source",
            "bytes": 10811,
            "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/RnVectorsDotProductDot.tex",
            "sha256": "4c272fad7e55d9464986abb7aa97ecacdf1c210b67f3efd5a5a6e79d745a3ac7"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_page_range": [
              605,
              625
            ],
            "normalized_witness": "berdasarkanproposisi",
            "page": 651,
            "source_character_range": [
              3202,
              3224
            ],
            "source_sha256": "9d4593ca90d2f94bb800a62c98f75f7a33a3a71d8b99c79e72aab638b5a1f6a9",
            "source_text": "Berdasarkan Proposisi "
          },
          {
            "normalized_page_range": [
              631,
              644
            ],
            "normalized_witness": "olehkarenaitu",
            "page": 651,
            "source_character_range": [
              3327,
              3344
            ],
            "source_sha256": "aed1553dff0223e336f2136e1e78941c2aac198740102e020c68a12e9f0029b3",
            "source_text": "Oleh karena itu, "
          },
          {
            "normalized_page_range": [
              647,
              660
            ],
            "normalized_witness": "pertamahitung",
            "page": 651,
            "source_character_range": [
              3417,
              3433
            ],
            "source_sha256": "42de1640b23bfc89c234a1e8f30d5bbfc3925159400ce52a5e09dd8f30d77ef6",
            "source_text": "Pertama, hitung "
          },
          {
            "normalized_page_range": [
              662,
              683
            ],
            "normalized_witness": "hasilnyadiberikanoleh",
            "page": 651,
            "source_character_range": [
              3464,
              3488
            ],
            "source_sha256": "85337299e68b804eb7a1e60c390f4c2de5dff253e83d6592393dbfdf89d56647",
            "source_text": "Hasilnya diberikan oleh\n"
          }
        ]
      },
      {
        "id": "unit.r017.book1.appendix.vectors.length.solution-001",
        "kind": "solution",
        "page": 646,
        "page_text_sha256": "917c3a02f4b6e95e76b4777a5ca24696bfaa922d3eac330d675b0fa89e2e6972",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 420,
          "content_sha256": "e79ac12fcbdd0257fd6ed7d32fcf2765428c35c5d04d2bbc38506fce7f754af5",
          "environment": "solution",
          "id": "unit.r017.book1.appendix.vectors.length.solution-001",
          "label": null,
          "line_range": [
            154,
            166
          ],
          "native_record_sha256": "92bc060cb4ff88beac497bba9cd184acfb282dc4edee8545a5b34b4f9cf2962a",
          "normalized_character_range": [
            6176,
            6596
          ],
          "normalized_utf8_byte_range": [
            6176,
            6596
          ],
          "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/RnVectorsLength.tex",
          "source_file": {
            "archive": "source",
            "bytes": 12498,
            "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/RnVectorsLength.tex",
            "sha256": "93dfab6430b43b6ff5d3290cd14fee85cbb821961a7b4c36e549df4ae3b5374b"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "kitaakanmenggunakanrumusyangdiberikandalamdefinisi",
            "page": 646,
            "source_character_range": [
              6193,
              6251
            ],
            "source_sha256": "9b1bb06b5592190b42e4630bccf9286d189673bd4b2ac25ad49d8295acb564ca",
            "source_text": "Kita akan menggunakan rumus yang diberikan dalam Definisi "
          }
        ]
      },
      {
        "id": "unit.r017.book1.appendix.vectors.length.solution-002",
        "kind": "solution",
        "page": 647,
        "page_text_sha256": "3ee0ef5a7cd7d71405654c272b8bc56b65442c985823af91494cad6449124845",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 1215,
          "content_sha256": "0cfd63cdde59c26efd944f94a8db790331c63ed7ea7613fe136d39b9e196376e",
          "environment": "solution",
          "id": "unit.r017.book1.appendix.vectors.length.solution-002",
          "label": "distanceplane",
          "line_range": [
            191,
            219
          ],
          "native_record_sha256": "cab78ac646bc9a6faf363c27dcf1f33d0af101c0a472637257c6e7d80b5321cc",
          "normalized_character_range": [
            7623,
            8838
          ],
          "normalized_utf8_byte_range": [
            7623,
            8838
          ],
          "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/RnVectorsLength.tex",
          "source_file": {
            "archive": "source",
            "bytes": 12498,
            "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/RnVectorsLength.tex",
            "sha256": "93dfab6430b43b6ff5d3290cd14fee85cbb821961a7b4c36e549df4ae3b5374b"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "yangberjaraksamadarimasingmasingtitikyangdiberikanmembentuksuatubidangyangpersamaannyadiberikanoleh",
            "page": 647,
            "source_character_range": [
              8688,
              8803
            ],
            "source_sha256": "6d9e0071f546e764959217c536a9be3ae173ffbd6de9eb8b5877a8cf4fafd2ea",
            "source_text": "yang berjarak sama\ndari masing-masing titik yang diberikan membentuk suatu bidang yang persamaannya diberikan oleh "
          }
        ]
      },
      {
        "id": "unit.r017.book1.appendix.vectors.length.solution-003",
        "kind": "solution",
        "page": 647,
        "page_text_sha256": "3ee0ef5a7cd7d71405654c272b8bc56b65442c985823af91494cad6449124845",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 1075,
          "content_sha256": "02a026bf7871a2902691196b436a87fc457ed0e7de60634da9451d647e8a52da",
          "environment": "solution",
          "id": "unit.r017.book1.appendix.vectors.length.solution-003",
          "label": null,
          "line_range": [
            286,
            328
          ],
          "native_record_sha256": "817d4b22c989960a25b65c9aa6c3b25928f499f359fce3abeea0a451de0653c3",
          "normalized_character_range": [
            11422,
            12497
          ],
          "normalized_utf8_byte_range": [
            11422,
            12497
          ],
          "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/RnVectorsLength.tex",
          "source_file": {
            "archive": "source",
            "bytes": 12498,
            "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/RnVectorsLength.tex",
            "sha256": "93dfab6430b43b6ff5d3290cd14fee85cbb821961a7b4c36e549df4ae3b5374b"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "untukmenyelesaikansoaliniolehkarenaitukitaperlumencaripanjang",
            "page": 647,
            "source_character_range": [
              11491,
              11565
            ],
            "source_sha256": "beda8cb53d67b17439d89c1a08bfb2107aa83c618af9092d29a3915b8c2e0129",
            "source_text": "untuk menyelesaikan soal ini.\nOleh karena itu, kita perlu mencari panjang "
          },
          {
            "normalized_witness": "denganmenggunakannilainilaiyangbersesuaiankitamemperoleh",
            "page": 648,
            "source_character_range": [
              11748,
              11813
            ],
            "source_sha256": "4b9f671e7625bad95bdb960bdbc2abef054be6209bde5e55288e427444be922f",
            "source_text": "Dengan menggunakan nilai-nilai yang bersesuaian, kita memperoleh\n"
          },
          {
            "normalized_witness": "andadapatmemverifikasidenganmenggunakandefinisi",
            "page": 648,
            "source_character_range": [
              12358,
              12411
            ],
            "source_sha256": "8e2cff7cab78b6563917bc44640b793c4978ed0e2fa578e83044b937703a0599",
            "source_text": "Anda dapat memverifikasi dengan menggunakan Definisi "
          }
        ]
      },
      {
        "id": "unit.r017.book1.appendix.vectors.scalar-meaning.solution-001",
        "kind": "solution",
        "page": 649,
        "page_text_sha256": "813ee6f3e22f7a546bca99e6e8ca4639be25156e5722d8a25734db5f8db1793d",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 1050,
          "content_sha256": "a2983daffca171e80a765d43ff2ed619202c6c4fb4029bf6308c523c75964a36",
          "environment": "solution",
          "id": "unit.r017.book1.appendix.vectors.scalar-meaning.solution-001",
          "label": "fig:RnVectorsScalarMultMeaning-tikz02",
          "line_range": [
            68,
            91
          ],
          "native_record_sha256": "922becba7d4063464b59d512671e328350b0ab75fb34816308412a5c841f6e4b",
          "normalized_character_range": [
            2651,
            3701
          ],
          "normalized_utf8_byte_range": [
            2651,
            3701
          ],
          "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/RnVectorsScalarMultMeaning.tex",
          "source_file": {
            "archive": "source",
            "bytes": 5954,
            "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/RnVectorsScalarMultMeaning.tex",
            "sha256": "c24633da77eaba6e6ccffb236cc844cd0afeed7e40912718b14b189df0f45e44"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "danmembalikarahnyavektorvektoriniditunjukkandalamdiagramberikut",
            "page": 649,
            "source_character_range": [
              2940,
              3016
            ],
            "source_sha256": "c18b65640bae41984195b9cb908e0e5176499d5c45e5c45bd9b0f0e084b2d69e",
            "source_text": "dan membalik arahnya.\nVektor-vektor ini ditunjukkan dalam diagram berikut.\n\n"
          },
          {
            "normalized_witness": "diagramduadimensiyangmenunjukkankelipatanskalarduavektorvektoruberwarnabirudannegatifnyau",
            "page": 649,
            "source_character_range": [
              3502,
              3611
            ],
            "source_sha256": "22c7bc7d10ae7aa544063c27df3d06d50e30798ce65a6b2b870b09ca79e6218a",
            "source_text": "Diagram dua dimensi yang menunjukkan kelipatan skalar dua vektor: vektor u berwarna biru dan negatifnya -u..."
          }
        ]
      },
      {
        "id": "unit.r017.book1.appendix.vectors.scalar-meaning.solution-002",
        "kind": "solution",
        "page": 650,
        "page_text_sha256": "8381b5057d77b4cc0601d21c306f82442664356ee30ef8abd83aed80a49735fb",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 1137,
          "content_sha256": "bb1e8946cdc38abec902bba4b2ef2ec689c79802a72e4c2406d9e16dddc6f84e",
          "environment": "solution",
          "id": "unit.r017.book1.appendix.vectors.scalar-meaning.solution-002",
          "label": "fig:RnVectorsScalarMultMeaning-tikz04",
          "line_range": [
            115,
            140
          ],
          "native_record_sha256": "20d2777bb79b29a39eb0146ea32a926e5277878e3e1a0a063ec7a422d0b5d3d9",
          "normalized_character_range": [
            4816,
            5953
          ],
          "normalized_utf8_byte_range": [
            4816,
            5953
          ],
          "path": "Intro-Math-Programming/baseText/book/appendices/linear-algebra/RnVectorsScalarMultMeaning.tex",
          "source_file": {
            "archive": "source",
            "bytes": 5954,
            "member": "source/Intro-Math-Programming/baseText/book/appendices/linear-algebra/RnVectorsScalarMultMeaning.tex",
            "sha256": "c24633da77eaba6e6ccffb236cc844cd0afeed7e40912718b14b189df0f45e44"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "vvektoruberwarnabirudarititikasalberwarnamerah",
            "page": 650,
            "source_character_range": [
              5257,
              5317
            ],
            "source_sha256": "596466eea8aef6c5274d7fc391f2d3dcfba1d00ca37384c60dbcc23f9bfeb718",
            "source_text": "v: vektor u berwarna biru dari titik asal, berwarna merah..."
          }
        ]
      },
      {
        "id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-001",
        "kind": "answer",
        "page": 659,
        "page_text_sha256": "f0bdc40170840a8944b9abf58943f5c5aa5e9a7a90e49f381c2eb39d2f79a4a7",
        "printed_number": "2.2.1",
        "printed_state": "exact-checkpoint-answer-heading-and-literal-body",
        "source_span": {
          "content_bytes": 680,
          "content_sha256": "796285c7ae7a3003b900d74206e3397b8e18f24bc60f8e63a68172a0290666d9",
          "environment": "checkpointanswer",
          "id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-001",
          "label": "lc:lp-assumptions",
          "line_range": [
            13,
            18
          ],
          "native_record_sha256": "734a46455d52fc10348607d88ff128881efb964b1a7fa91d8c6a81c0bb44a370",
          "normalized_character_range": [
            581,
            1261
          ],
          "normalized_utf8_byte_range": [
            581,
            1261
          ],
          "path": "Intro-Math-Programming/baseText/book/backmatter/checkpoint-answers.tex",
          "source_file": {
            "archive": "source",
            "bytes": 6543,
            "member": "source/Intro-Math-Programming/baseText/book/backmatter/checkpoint-answers.tex",
            "sha256": "f44ba1eb13329f1bb83be8e3c3fb555f39c244b7f9c85ca1bf3f4a1a716f93fa"
          },
          "type": "answer"
        },
        "witnesses": [
          {
            "normalized_witness": "proporsionalitasaditivitasdankepastianmerupakanasumsiyangwajardisinilabadanpenggunaansumberdayaberubahsebandingdenganproduksisedangkandatadiperlakukansebagaisesuatuyangdiketahuinamunketerbagiandilanggarandatidakdapatmencetak",
            "page": 659,
            "source_character_range": [
              663,
              927
            ],
            "source_sha256": "d17f0c36731882953e8cfb9095c4c86efd6eaf1a1b66cfe1bcfeee441f12670e",
            "source_text": "Proporsionalitas, aditivitas, dan kepastian merupakan asumsi yang wajar di sini: laba dan penggunaan sumber daya berubah sebanding dengan produksi, sedangkan data diperlakukan sebagai sesuatu yang diketahui. Namun, keterbagian dilanggar: Anda tidak dapat mencetak "
          },
          {
            "normalized_witness": "kausprogramliniertetapmerupakanmodelyangbergunaketikajumlahproduksibesarpembulatanrencanapecahanhanyamengubahhasilsedikitketikajawabanbilanganbulatbenarbenarpentingpemrogramanbilanganbulatbagian",
            "page": 659,
            "source_character_range": [
              938,
              1167
            ],
            "source_sha256": "44639ae00a5c03c122b16c81b00d228fd3fc82408ee17833abf1fc7d227d6466",
            "source_text": "kaus. Program linier tetap merupakan model yang berguna: ketika jumlah produksi besar, pembulatan rencana pecahan hanya mengubah hasil sedikit; ketika jawaban bilangan bulat benar-benar penting, pemrograman bilangan bulat (Bagian"
          }
        ]
      },
      {
        "id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-002",
        "kind": "answer",
        "page": 659,
        "page_text_sha256": "f0bdc40170840a8944b9abf58943f5c5aa5e9a7a90e49f381c2eb39d2f79a4a7",
        "printed_number": "5.3.1",
        "printed_state": "exact-checkpoint-answer-heading-and-literal-body",
        "source_span": {
          "content_bytes": 413,
          "content_sha256": "a97c172d5acfa4026f6c3e97daecacfe5b6a1221b9bfdc96ba8d25806ee6aad3",
          "environment": "checkpointanswer",
          "id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-002",
          "label": "lc:how-many-optima",
          "line_range": [
            18,
            23
          ],
          "native_record_sha256": "ed6aac05233d95942fe6b6ed0075476236aaa9b60662c11f1c73c402e2faae23",
          "normalized_character_range": [
            1261,
            1674
          ],
          "normalized_utf8_byte_range": [
            1261,
            1674
          ],
          "path": "Intro-Math-Programming/baseText/book/backmatter/checkpoint-answers.tex",
          "source_file": {
            "archive": "source",
            "bytes": 6543,
            "member": "source/Intro-Math-Programming/baseText/book/backmatter/checkpoint-answers.tex",
            "sha256": "f44ba1eb13329f1bb83be8e3c3fb555f39c244b7f9c85ca1bf3f4a1a716f93fa"
          },
          "type": "answer"
        },
        "witnesses": [
          {
            "normalized_witness": "setiaptitikpadarusuktersebutbukanhanyakeduaujungnyabersifatoptimalpeminimumantepatsatuyaitutitikasal",
            "page": 659,
            "source_character_range": [
              1519,
              1641
            ],
            "source_sha256": "6406135484772569849ac70b87ffc77301f56702ad5a4dbd98568f5247ae1852",
            "source_text": "setiap titik pada rusuk tersebut, bukan hanya kedua ujungnya, bersifat optimal. Peminimuman: tepat satu, yaitu titik asal "
          }
        ]
      },
      {
        "id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-003",
        "kind": "answer",
        "page": 659,
        "page_text_sha256": "f0bdc40170840a8944b9abf58943f5c5aa5e9a7a90e49f381c2eb39d2f79a4a7",
        "printed_number": "4.0.1",
        "printed_state": "exact-checkpoint-answer-heading-and-literal-body",
        "source_span": {
          "content_bytes": 402,
          "content_sha256": "505b993faabe9f777d29016377a6c5a9485a50b55390fdaff8673303d47eb063",
          "environment": "checkpointanswer",
          "id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-003",
          "label": "lc:missing-index",
          "line_range": [
            23,
            30
          ],
          "native_record_sha256": "5194f5608bb86f523460107e0062adb8943595fcd53fa3e2f893ae0902026635",
          "normalized_character_range": [
            1674,
            2076
          ],
          "normalized_utf8_byte_range": [
            1674,
            2076
          ],
          "path": "Intro-Math-Programming/baseText/book/backmatter/checkpoint-answers.tex",
          "source_file": {
            "archive": "source",
            "bytes": 6543,
            "member": "source/Intro-Math-Programming/baseText/book/backmatter/checkpoint-answers.tex",
            "sha256": "f44ba1eb13329f1bb83be8e3c3fb555f39c244b7f9c85ca1bf3f4a1a716f93fa"
          },
          "type": "answer"
        },
        "witnesses": [
          {
            "normalized_witness": "tetapitidakpernahdidefinisikanpenjumlahanberjalanatas",
            "page": 659,
            "source_character_range": [
              1787,
              1848
            ],
            "source_sha256": "b84e3c1aacd43cbfcd30b4d628382267869251194c4ff7e2400a3bfe893f9994",
            "source_text": "tetapi tidak pernah didefinisikan: penjumlahan berjalan atas "
          },
          {
            "normalized_witness": "tetapbebaspernyataanitumemerlukankuantormisalnya",
            "page": 659,
            "source_character_range": [
              1866,
              1923
            ],
            "source_sha256": "1507c8620e1e7e2fd0a9f3faefcd27235f6b164c6440ad49429e1d16c9566a19",
            "source_text": "tetap bebas. Pernyataan itu memerlukan kuantor, misalnya\n"
          }
        ]
      },
      {
        "id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-004",
        "kind": "answer",
        "page": 659,
        "page_text_sha256": "f0bdc40170840a8944b9abf58943f5c5aa5e9a7a90e49f381c2eb39d2f79a4a7",
        "printed_number": "7.1.1",
        "printed_state": "exact-checkpoint-answer-heading-and-literal-body",
        "source_span": {
          "content_bytes": 353,
          "content_sha256": "38ab2d05cfc86e352a5de45b992f61f8dfbcc09703e56adf73cfff7186a48dc2",
          "environment": "checkpointanswer",
          "id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-004",
          "label": "lc:bfs-nonzero",
          "line_range": [
            30,
            35
          ],
          "native_record_sha256": "533054931235440d2ecb0bd80665446e67eea3614ca185bea71dfe09507c5a3f",
          "normalized_character_range": [
            2076,
            2429
          ],
          "normalized_utf8_byte_range": [
            2076,
            2429
          ],
          "path": "Intro-Math-Programming/baseText/book/backmatter/checkpoint-answers.tex",
          "source_file": {
            "archive": "source",
            "bytes": 6543,
            "member": "source/Intro-Math-Programming/baseText/book/backmatter/checkpoint-answers.tex",
            "sha256": "f44ba1eb13329f1bb83be8e3c3fb555f39c244b7f9c85ca1bf3f4a1a716f93fa"
          },
          "type": "answer"
        },
        "witnesses": [
          {
            "normalized_witness": "yaitujumlahkendalapersamaanyangbebaslinierdalamsolusibasis",
            "page": 659,
            "source_character_range": [
              2171,
              2241
            ],
            "source_sha256": "0837092b7cdd7cda2227f561494a315dfdb173b8f22286765fc82f0f36088fac",
            "source_text": "yaitu jumlah kendala persamaan yang bebas linier. Dalam solusi basis, "
          },
          {
            "normalized_witness": "variabelnonbasisditetapkansamadengannolsehinggahanya",
            "page": 659,
            "source_character_range": [
              2247,
              2308
            ],
            "source_sha256": "e08e6362d2deadc84357d957ff2d47de6127b45ac5e7013640d870722008ce50",
            "source_text": "variabel nonbasis ditetapkan sama dengan nol, sehingga hanya "
          },
          {
            "normalized_witness": "variabelbasisyangdapattaknoldalamkeadaandegeneratbeberapavariabelbasisitupunbernilainol",
            "page": 659,
            "source_character_range": [
              2312,
              2419
            ],
            "source_sha256": "9a05c6090a92d0ab8f0764d40c024d5f739064bf87a4bd1dafe4d1da44733d26",
            "source_text": "variabel basis yang dapat tak nol; dalam keadaan degenerat, beberapa variabel basis itu pun bernilai nol.\n\n"
          }
        ]
      },
      {
        "id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-005",
        "kind": "answer",
        "page": 659,
        "page_text_sha256": "f0bdc40170840a8944b9abf58943f5c5aa5e9a7a90e49f381c2eb39d2f79a4a7",
        "printed_number": "7.4.1",
        "printed_state": "exact-checkpoint-answer-heading-and-literal-body",
        "source_span": {
          "content_bytes": 531,
          "content_sha256": "17dfc076dbb06548e15f875ca00426b4b99463810b8c49aa2b7bfe72bdd731b2",
          "environment": "checkpointanswer",
          "id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-005",
          "label": "lc:ratio-test",
          "line_range": [
            35,
            40
          ],
          "native_record_sha256": "2cf25176ac265fadd07bb8c0feeb83c55f3cca35656ac080d8915a13fdd1805f",
          "normalized_character_range": [
            2429,
            2960
          ],
          "normalized_utf8_byte_range": [
            2429,
            2960
          ],
          "path": "Intro-Math-Programming/baseText/book/backmatter/checkpoint-answers.tex",
          "source_file": {
            "archive": "source",
            "bytes": 6543,
            "member": "source/Intro-Math-Programming/baseText/book/backmatter/checkpoint-answers.tex",
            "sha256": "f44ba1eb13329f1bb83be8e3c3fb555f39c244b7f9c85ca1bf3f4a1a716f93fa"
          },
          "type": "answer"
        },
        "witnesses": [
          {
            "normalized_witness": "ujirasiomenentukanvariabelbasismanayangmencapainol",
            "page": 659,
            "source_character_range": [
              2503,
              2562
            ],
            "source_sha256": "f68e3c79404792311f8172c1f5bec9173dc96fc377fddc56964ca3bd0113e9c0",
            "source_text": "Uji rasio menentukan variabel basis mana yang mencapai nol "
          },
          {
            "normalized_witness": "ketikavariabelmasukbertambahjikaandajustrumelakukanpivotpadabarisdenganrasiolebihbesarvariabelmasukbertambahmelampauititikketikavariabelbasispadabarisyanglebihketatmencapainolsehinggavariabeltersebutmenjadinegatifaljabarnyatetapmenghasilkansolusibasistetapisolusiitumelanggarkenegatifannoldankarenanyatidaklayak",
            "page": 659,
            "source_character_range": [
              2582,
              2950
            ],
            "source_sha256": "07f8e9d60a8b3ca4151bc719880f13d7e2ffea39ea7ee9413a6f3d30f67cbf40",
            "source_text": "ketika variabel masuk bertambah. Jika Anda justru melakukan pivot pada baris dengan rasio lebih besar, variabel masuk bertambah melampaui titik ketika variabel basis pada baris yang lebih ketat mencapai nol, sehingga variabel tersebut menjadi negatif. Aljabarnya tetap menghasilkan solusi basis, tetapi solusi itu melanggar kenegatifan-nol dan karenanya tidak layak.\n\n"
          }
        ]
      },
      {
        "id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-006",
        "kind": "answer",
        "page": 659,
        "page_text_sha256": "f0bdc40170840a8944b9abf58943f5c5aa5e9a7a90e49f381c2eb39d2f79a4a7",
        "printed_number": "7.5.1",
        "printed_state": "exact-checkpoint-answer-heading-and-literal-body",
        "source_span": {
          "content_bytes": 413,
          "content_sha256": "fed50944d33f9b8ed74dff79a3b6fd9ac70f234d41b1fca2e4f8f6f7b016ba7a",
          "environment": "checkpointanswer",
          "id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-006",
          "label": "lc:artificial-removal",
          "line_range": [
            40,
            45
          ],
          "native_record_sha256": "6d20f6601c473c55c9c133ea29f28c6aa21175853ee01102ca99ca763af1443b",
          "normalized_character_range": [
            2960,
            3373
          ],
          "normalized_utf8_byte_range": [
            2960,
            3373
          ],
          "path": "Intro-Math-Programming/baseText/book/backmatter/checkpoint-answers.tex",
          "source_file": {
            "archive": "source",
            "bytes": 6543,
            "member": "source/Intro-Math-Programming/baseText/book/backmatter/checkpoint-answers.tex",
            "sha256": "f44ba1eb13329f1bb83be8e3c3fb555f39c244b7f9c85ca1bf3f4a1a716f93fa"
          },
          "type": "answer"
        },
        "witnesses": [
          {
            "normalized_witness": "karenapadatahapinivariabelartifisialbersifatnonbasisdanbernilainolkendalaaslidipenuhitanpabantuannyamenghapuskolomnyatidakmenyingkirkansolusilayakapapundarimasalahaslimempertahankannyahanyamemungkinkanvariabeltersebutmasukkembalikebasisyangbertentangandengantujuannya",
            "page": 659,
            "source_character_range": [
              3050,
              3363
            ],
            "source_sha256": "d53812db25dc3545b2abd5d68898bc4f849cf7399bc6cf6bafaed43e6583bb76",
            "source_text": "Karena pada tahap ini variabel artifisial bersifat nonbasis dan bernilai nol, kendala asli dipenuhi tanpa bantuannya. Menghapus kolomnya tidak menyingkirkan solusi layak apa pun dari masalah asli; mempertahankannya hanya memungkinkan variabel tersebut masuk kembali ke basis, yang bertentangan dengan tujuannya.\n\n"
          }
        ]
      },
      {
        "id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-007",
        "kind": "answer",
        "page": 659,
        "page_text_sha256": "f0bdc40170840a8944b9abf58943f5c5aa5e9a7a90e49f381c2eb39d2f79a4a7",
        "printed_number": "10.2.1",
        "printed_state": "exact-checkpoint-answer-heading-and-literal-body",
        "source_span": {
          "content_bytes": 467,
          "content_sha256": "57361df4f557e9638c3cbc3325143c718ba748a70c7bd1b3029135ad2e7e8e93",
          "environment": "checkpointanswer",
          "id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-007",
          "label": "lc:shadow-price-b1",
          "line_range": [
            45,
            50
          ],
          "native_record_sha256": "6f5c4d1ba395287626e9fe663a0e497ac45b5226864f08750e24fa6500b1bcca",
          "normalized_character_range": [
            3373,
            3840
          ],
          "normalized_utf8_byte_range": [
            3373,
            3840
          ],
          "path": "Intro-Math-Programming/baseText/book/backmatter/checkpoint-answers.tex",
          "source_file": {
            "archive": "source",
            "bytes": 6543,
            "member": "source/Intro-Math-Programming/baseText/book/backmatter/checkpoint-answers.tex",
            "sha256": "f44ba1eb13329f1bb83be8e3c3fb555f39c244b7f9c85ca1bf3f4a1a716f93fa"
          },
          "type": "answer"
        },
        "witnesses": [
          {
            "normalized_witness": "setiapjamtambahanmeningkatkanlabaoptimalsebesar",
            "page": 659,
            "source_character_range": [
              3487,
              3541
            ],
            "source_sha256": "49e83e185e2063a4c50c0270fed4b55c5ad1f7003c75e029db89e83ea83828f4",
            "source_text": "setiap jam tambahan meningkatkan laba optimal sebesar "
          }
        ]
      },
      {
        "id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-008",
        "kind": "answer",
        "page": 659,
        "page_text_sha256": "f0bdc40170840a8944b9abf58943f5c5aa5e9a7a90e49f381c2eb39d2f79a4a7",
        "printed_number": "10.3.1",
        "printed_state": "exact-checkpoint-answer-heading-and-literal-body",
        "source_span": {
          "content_bytes": 661,
          "content_sha256": "bfad6a4e0fe54fc61f715228b0ccd079a41e253065c040baca38c5023f3ebe73",
          "environment": "checkpointanswer",
          "id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-008",
          "label": "lc:nonbasic-cost",
          "line_range": [
            50,
            55
          ],
          "native_record_sha256": "bd57eb088483d5f2081b587c2b1cb861c2b1f23ae000b0c017675773e6c91a31",
          "normalized_character_range": [
            3840,
            4501
          ],
          "normalized_utf8_byte_range": [
            3840,
            4501
          ],
          "path": "Intro-Math-Programming/baseText/book/backmatter/checkpoint-answers.tex",
          "source_file": {
            "archive": "source",
            "bytes": 6543,
            "member": "source/Intro-Math-Programming/baseText/book/backmatter/checkpoint-answers.tex",
            "sha256": "f44ba1eb13329f1bb83be8e3c3fb555f39c244b7f9c85ca1bf3f4a1a716f93fa"
          },
          "type": "answer"
        },
        "witnesses": [
          {
            "normalized_witness": "denganvariabeltersebutpositifmengambilalihpernyataantidakpernahmengubahsolusisaatinihanyaberlakudidalamrentangperubahanbasisterjadidibatasnya",
            "page": 660,
            "source_character_range": [
              4318,
              4491
            ],
            "source_sha256": "2bd96cbfe6dc45ecc5f2c61cebb4412051f710201854e2a248be56e519bee063",
            "source_text": "dengan variabel tersebut positif) mengambil alih. Pernyataan ``tidak pernah mengubah solusi saat ini'' hanya berlaku di dalam rentang; perubahan basis terjadi di batasnya.\n\n"
          }
        ]
      },
      {
        "id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-009",
        "kind": "answer",
        "page": 660,
        "page_text_sha256": "e8f957f050c0d6c1cf21b8eff554d279c481adb8f5bbdcd9c41e436c2c6f70b2",
        "printed_number": "11.1.1",
        "printed_state": "exact-checkpoint-answer-heading-and-literal-body",
        "source_span": {
          "content_bytes": 653,
          "content_sha256": "85fdcb1f161a1431a08103228ba2ff0989dc938e6f44e9398d64bda6e29f750b",
          "environment": "checkpointanswer",
          "id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-009",
          "label": "lc:duality-certificate",
          "line_range": [
            55,
            60
          ],
          "native_record_sha256": "abd97e823a32cdac3e9d379ea2bc3ab48810274f3ecddb36b63764a020f51a7e",
          "normalized_character_range": [
            4501,
            5154
          ],
          "normalized_utf8_byte_range": [
            4501,
            5154
          ],
          "path": "Intro-Math-Programming/baseText/book/backmatter/checkpoint-answers.tex",
          "source_file": {
            "archive": "source",
            "bytes": 6543,
            "member": "source/Intro-Math-Programming/baseText/book/backmatter/checkpoint-answers.tex",
            "sha256": "f44ba1eb13329f1bb83be8e3c3fb555f39c244b7f9c85ca1bf3f4a1a716f93fa"
          },
          "type": "answer"
        },
        "witnesses": [
          {
            "normalized_witness": "sertifikatkedualebihbaiklebihkeciltidakadasertifikatyangdapatmemberihasillebihbaik",
            "page": 660,
            "source_character_range": [
              4883,
              4984
            ],
            "source_sha256": "28d0dfe0b18c2333c0bf0f16e4c6be3e285086373507becd943778872af3894f",
            "source_text": "Sertifikat kedua lebih baik (lebih kecil). Tidak ada sertifikat yang dapat memberi hasil lebih baik: "
          },
          {
            "normalized_witness": "karenaituberdasarkandualitaskuatbatastersebutketat",
            "page": 660,
            "source_character_range": [
              5082,
              5144
            ],
            "source_sha256": "eff2cb30efc31683096bc518e0f55628db87ee481124e482b5cddb418823cf76",
            "source_text": "Karena itu, berdasarkan dualitas kuat, batas tersebut ketat.\n\n"
          }
        ]
      },
      {
        "id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-010",
        "kind": "answer",
        "page": 660,
        "page_text_sha256": "e8f957f050c0d6c1cf21b8eff554d279c481adb8f5bbdcd9c41e436c2c6f70b2",
        "printed_number": "11.3.1",
        "printed_state": "exact-checkpoint-answer-heading-and-literal-body",
        "source_span": {
          "content_bytes": 522,
          "content_sha256": "0eb40d99b1b7a4484a854011bc1cf419f77ebd6924829c444636f618c9b998dc",
          "environment": "checkpointanswer",
          "id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-010",
          "label": "lc:dual-forms",
          "line_range": [
            60,
            65
          ],
          "native_record_sha256": "31278001c0ab89ed622a035562dc3983cb6751515b7308a00d24a1e7a588ea87",
          "normalized_character_range": [
            5154,
            5676
          ],
          "normalized_utf8_byte_range": [
            5154,
            5676
          ],
          "path": "Intro-Math-Programming/baseText/book/backmatter/checkpoint-answers.tex",
          "source_file": {
            "archive": "source",
            "bytes": 6543,
            "member": "source/Intro-Math-Programming/baseText/book/backmatter/checkpoint-answers.tex",
            "sha256": "f44ba1eb13329f1bb83be8e3c3fb555f39c244b7f9c85ca1bf3f4a1a716f93fa"
          },
          "type": "answer"
        },
        "witnesses": [
          {
            "normalized_witness": "karenakendalaprimalberupapertidaksamaansedangkankendaladualberupapertidaksamaan",
            "page": 660,
            "source_character_range": [
              5390,
              5481
            ],
            "source_sha256": "b117e8e8458728dcedd5d9bd7917c0b7169c1fea2bdfc147fc918894da652a59",
            "source_text": "karena kendala primal berupa pertidaksamaan, sedangkan kendala dual berupa pertidaksamaan ("
          },
          {
            "normalized_witness": "karenavariabelprimaldibatasitandanyahanyapersamaandalamprimalyangmenghasilkanvariabeldualbebasdanhanyavariabelprimalbebasyangmenghasilkanpersamaandual",
            "page": 660,
            "source_character_range": [
              5489,
              5666
            ],
            "source_sha256": "5a6a2713170b93d64dcc282b85b1540babd247bf109efa2a49f7e936bd89956f",
            "source_text": "karena variabel primal dibatasi tandanya. Hanya persamaan dalam primal yang menghasilkan variabel dual bebas, dan hanya variabel primal bebas yang menghasilkan persamaan dual.\n\n"
          }
        ]
      },
      {
        "id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-011",
        "kind": "answer",
        "page": 660,
        "page_text_sha256": "e8f957f050c0d6c1cf21b8eff554d279c481adb8f5bbdcd9c41e436c2c6f70b2",
        "printed_number": "11.5.1",
        "printed_state": "exact-checkpoint-answer-heading-and-literal-body",
        "source_span": {
          "content_bytes": 364,
          "content_sha256": "5ad517486bea90f5e4038dd4b8b8b9bda4dc158dd2cb1f514f12591bd3213105",
          "environment": "checkpointanswer",
          "id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-011",
          "label": "lc:cs-leftover",
          "line_range": [
            65,
            70
          ],
          "native_record_sha256": "0209ab622cda6a736e8cb780e6f1a43b83f30a70f4cb1c4345ce01b005b3d650",
          "normalized_character_range": [
            5676,
            6040
          ],
          "normalized_utf8_byte_range": [
            5676,
            6040
          ],
          "path": "Intro-Math-Programming/baseText/book/backmatter/checkpoint-answers.tex",
          "source_file": {
            "archive": "source",
            "bytes": 6543,
            "member": "source/Intro-Math-Programming/baseText/book/backmatter/checkpoint-answers.tex",
            "sha256": "f44ba1eb13329f1bb83be8e3c3fb555f39c244b7f9c85ca1bf3f4a1a716f93fa"
          },
          "type": "answer"
        },
        "witnesses": [
          {
            "normalized_witness": "kelonggarankomplementermemaksahargabayangantepungbernilainolsecaraekonomijikapadaoptimumtepungsudahtersisasatuunittepungtambahantidakbernilaiapaapatepungituhanyaakantetaptidakdigunakansehingganilaimarginalsumberdayatersebutadalah",
            "page": 660,
            "source_character_range": [
              5752,
              6024
            ],
            "source_sha256": "264c8262f483a149c0a8fd48d63e1d9ea65714102555d9c741cb827a981ce438",
            "source_text": "Kelonggaran komplementer memaksa harga bayangan tepung bernilai nol. Secara ekonomi: jika pada optimum tepung sudah tersisa, satu unit tepung tambahan tidak bernilai apa-apa; tepung itu hanya akan tetap tidak digunakan, sehingga nilai marginal sumber daya tersebut adalah "
          }
        ]
      },
      {
        "id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-012",
        "kind": "answer",
        "page": 660,
        "page_text_sha256": "e8f957f050c0d6c1cf21b8eff554d279c481adb8f5bbdcd9c41e436c2c6f70b2",
        "printed_number": "14.3.1",
        "printed_state": "exact-checkpoint-answer-heading-and-literal-body",
        "source_span": {
          "content_bytes": 503,
          "content_sha256": "f9a80e240e2833fb9796538ccf4f67df18e9d2c154c344234c2b060ac0d20ae0",
          "environment": "checkpointanswer",
          "id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-012",
          "label": "lc:graph-5cities",
          "line_range": [
            70,
            76
          ],
          "native_record_sha256": "b098a0737012f8a06b4262dcb8ffb9951e7506bcb3402ecdb07b29c86023989e",
          "normalized_character_range": [
            6040,
            6543
          ],
          "normalized_utf8_byte_range": [
            6040,
            6543
          ],
          "path": "Intro-Math-Programming/baseText/book/backmatter/checkpoint-answers.tex",
          "source_file": {
            "archive": "source",
            "bytes": 6543,
            "member": "source/Intro-Math-Programming/baseText/book/backmatter/checkpoint-answers.tex",
            "sha256": "f44ba1eb13329f1bb83be8e3c3fb555f39c244b7f9c85ca1bf3f4a1a716f93fa"
          },
          "type": "answer"
        },
        "witnesses": [
          {
            "normalized_witness": "sisisetiappasangankotaterhubungsehinggagrafiniadalahgraflengkap",
            "page": 660,
            "source_character_range": [
              6140,
              6216
            ],
            "source_sha256": "40170123df9c44d2940553ed9257c8b6d2e69e9a6d6142622f488259b0a57b83",
            "source_text": "sisi: setiap pasangan kota terhubung, sehingga graf ini adalah graf lengkap "
          },
          {
            "normalized_witness": "tidakadasimpulyangberulangdanlintasanitutidakkembaliketitikawalnyae",
            "page": 660,
            "source_character_range": [
              6344,
              6427
            ],
            "source_sha256": "56dd5f982021b40b37fadcd23362a213684988e4c1312fbb33800c2a28493bcc",
            "source_text": "tidak ada simpul yang berulang dan lintasan itu tidak kembali ke titik awalnya.\n(e)"
          },
          {
            "normalized_witness": "rangkaianitubermuladanberakhirpadasimpulyangsama",
            "page": 660,
            "source_character_range": [
              6485,
              6543
            ],
            "source_sha256": "922c1378ff1fe9069d76de579bf2841d5c93721557423c173d5aa7835a5607fa",
            "source_text": "rangkaian itu bermula dan berakhir pada simpul yang sama.\n"
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch01.text.solution-001",
        "kind": "solution",
        "page": 51,
        "page_text_sha256": "94de79163d56ae3b0c4d2432e438524f1cfda31908b553fc46833ecfa094c145",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 403,
          "content_sha256": "251885549a76fbf3cd8b75a68b119d1b6d0cbdd8f2714ac5a3dab601ba806847",
          "environment": "solution",
          "id": "unit.r017.book1.ch01.text.solution-001",
          "label": null,
          "line_range": [
            666,
            668
          ],
          "native_record_sha256": "85b90ef5e610874ef9833d4cdd0a9917d91767f0eb41680661b7b6114e16ae76",
          "normalized_character_range": [
            46299,
            46702
          ],
          "normalized_utf8_byte_range": [
            46299,
            46702
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
          "source_file": {
            "archive": "source",
            "bytes": 48958,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
            "sha256": "51d9570de4c13f47c4b07999f23f06c1587223867a0f5b41a39ad38b11265eea"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "modelinimerupakanprogrambilanganbulatbinerbipfungsitujuandankendalaanggarannyaliniersedangkansetiapvariabeldibatasipada",
            "page": 51,
            "source_character_range": [
              46352,
              46494
            ],
            "source_sha256": "33ba95ffe5491cda6133c5fdb28f4bf01f6952747eb53eb5b4981f2bc7920da6",
            "source_text": "Model ini merupakan program bilangan bulat biner (BIP): fungsi tujuan dan kendala anggarannya linier, sedangkan setiap variabel dibatasi pada "
          },
          {
            "normalized_witness": "semuakendalakemudianbersifatlinieratasvariabelkontinudanmodeltersebutmenjadilp",
            "page": 51,
            "source_character_range": [
              46596,
              46688
            ],
            "source_sha256": "047137ab390db9f875cb6fd7b6b3828e6a904f8f15ffdb5b014c8434c093d322",
            "source_text": "semua kendala kemudian bersifat linier atas variabel kontinu dan model tersebut menjadi LP.\n"
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch01.text.solution-002",
        "kind": "solution",
        "page": 51,
        "page_text_sha256": "94de79163d56ae3b0c4d2432e438524f1cfda31908b553fc46833ecfa094c145",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 518,
          "content_sha256": "f2b364e51a1ff16b84044a0653411287b32067b3bbcc59103ea1fa8f6bb46ac9",
          "environment": "solution",
          "id": "unit.r017.book1.ch01.text.solution-002",
          "label": null,
          "line_range": [
            670,
            676
          ],
          "native_record_sha256": "75fa560401fd937a8533368f66baf6286a3b2204ce99534bc954eb462e371799",
          "normalized_character_range": [
            46704,
            47222
          ],
          "normalized_utf8_byte_range": [
            46704,
            47222
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
          "source_file": {
            "archive": "source",
            "bytes": 48958,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
            "sha256": "51d9570de4c13f47c4b07999f23f06c1587223867a0f5b41a39ad38b11265eea"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "adalahjumlahkausyangdipesanpadaharikamisjumatdansabtusedangkan",
            "page": 51,
            "source_character_range": [
              46785,
              46862
            ],
            "source_sha256": "0f5e5cb40fe5c40adc0b69c4bd389654d5b7d3adce4ce733b3d2998a7ac4dcf3",
            "source_text": "adalah jumlah kaus yang dipesan pada hari Kamis, Jumat, dan Sabtu, sedangkan "
          },
          {
            "normalized_witness": "adalahpersediaanpadaakhirharijumatdansabtupesananharikamismerupakanseluruhpersediaanyangdimilikitokopadaharijumatsehinggakeseimbanganharijumatadalah",
            "page": 51,
            "source_character_range": [
              46873,
              47048
            ],
            "source_sha256": "b47d74f788f2adb34dd18df82fd222fdc461aeb19b2e4b89f3c33315dcaf51c0",
            "source_text": "adalah persediaan pada akhir hari Jumat dan Sabtu. Pesanan hari Kamis merupakan seluruh persediaan yang dimiliki toko pada hari Jumat, sehingga keseimbangan hari Jumat adalah\n"
          },
          {
            "normalized_witness": "bersamapersamaankeseimbanganinimencegahkehabisanstokpadaharijumatkendalatersebutmemaksa",
            "page": 51,
            "source_character_range": [
              47092,
              47194
            ],
            "source_sha256": "2babe33f02be04c91640601de563cef07b6acbfb5c64b1825573c60d5b7d950f",
            "source_text": "bersama persamaan keseimbangan ini) mencegah kehabisan stok pada hari Jumat: kendala tersebut memaksa "
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch01.text.solution-003",
        "kind": "solution",
        "page": 52,
        "page_text_sha256": "6cdc892cd1abd85d6f4da8d82ec0cf18a7fb631f44a10b4d6a33e6665aa5db63",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 422,
          "content_sha256": "680b65d0edc8f37f5366541cce1a72028f3ddda81e0c71753aca25f1568d4703",
          "environment": "solution",
          "id": "unit.r017.book1.ch01.text.solution-003",
          "label": null,
          "line_range": [
            678,
            680
          ],
          "native_record_sha256": "eb91b3656ea74676f130ab16d34f9b6e766c4f429a4477ebfec2fd77d52c69c7",
          "normalized_character_range": [
            47224,
            47646
          ],
          "normalized_utf8_byte_range": [
            47224,
            47646
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
          "source_file": {
            "archive": "source",
            "bytes": 48958,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
            "sha256": "51d9570de4c13f47c4b07999f23f06c1587223867a0f5b41a39ad38b11265eea"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "disinipemrogramanberartipenyusunanrencanaataupenjadwalansebuahprogrammerupakanrencanakegiatansepertidalamprogramlogistikmiliterataususunanacarakonserpemrogramanlinearadalahpenyusunanrencanaoptimaldenganmenggunakanhubunganlinierdanistilahtersebutdiciptakansebelumpemrogramankomputerdigunakansecaraluas",
            "page": 52,
            "source_character_range": [
              47276,
              47632
            ],
            "source_sha256": "dce8f5ccd620a47e1a1804f773fbec5bc509cc4c3165218643f9ef7f64930add",
            "source_text": "Di sini, ``pemrograman'' berarti penyusunan rencana atau penjadwalan: sebuah ``program'' merupakan rencana kegiatan, seperti dalam program logistik militer atau susunan acara konser. Pemrograman linear adalah penyusunan rencana optimal dengan menggunakan hubungan linier, dan istilah tersebut diciptakan sebelum pemrograman komputer digunakan secara luas.\n"
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch01.text.solution-004",
        "kind": "solution",
        "page": 52,
        "page_text_sha256": "6cdc892cd1abd85d6f4da8d82ec0cf18a7fb631f44a10b4d6a33e6665aa5db63",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 1288,
          "content_sha256": "53e6d54616aa8d97e2611013e2198a51dee19c4b000b4ebc02adc675e772f047",
          "environment": "solution",
          "id": "unit.r017.book1.ch01.text.solution-004",
          "label": null,
          "line_range": [
            682,
            692
          ],
          "native_record_sha256": "dbf72cb17cc7e02fbd49c8a83963841edb54660ff703c1bd9c9e6c4a65fbaf12",
          "normalized_character_range": [
            47648,
            48936
          ],
          "normalized_utf8_byte_range": [
            47648,
            48936
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
          "source_file": {
            "archive": "source",
            "bytes": 48958,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch01-introduction/mathematicalProgramming.tex",
            "sha256": "51d9570de4c13f47c4b07999f23f06c1587223867a0f5b41a39ad38b11265eea"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "adalahpesananyangdibuatpadaharikamisjumatdansabtusedangkan",
            "page": 52,
            "source_character_range": [
              47729,
              47801
            ],
            "source_sha256": "190776ee4290a050c121a9979673c52efe00ad2f11fa395ffc025f22777a875f",
            "source_text": "adalah pesanan yang dibuat pada hari Kamis, Jumat, dan Sabtu, sedangkan "
          },
          {
            "normalized_witness": "memenuhipermintaansatukauspadaharisabtudenganmemesanpadaharikamisberbiaya",
            "page": 52,
            "source_character_range": [
              48137,
              48223
            ],
            "source_sha256": "875f200148a268a64305dc61c734157cf93df6c2874ffdc4ebdabc8bac65340b",
            "source_text": "Memenuhi permintaan satu kaus pada hari Sabtu dengan memesan pada hari Kamis berbiaya "
          },
          {
            "normalized_witness": "keharusannilaibilanganbulattidakmenjadipersoalandalamkasusinipermintaannyaberupabilanganbulatdansolusilpoptimalsudahbernilaibilanganbulatsehinggamodellpdanmodelbilanganbulatmemberikanhasilyangsama",
            "page": 52,
            "source_character_range": [
              48690,
              48922
            ],
            "source_sha256": "d9511dc00c743fff9d8acbaeb9078f529a25ca931ad8fdf1ee1477521880033f",
            "source_text": "Keharusan nilai bilangan bulat tidak menjadi persoalan dalam kasus ini: permintaannya berupa bilangan bulat dan solusi LP optimal sudah bernilai bilangan bulat, sehingga model LP dan model bilangan bulat memberikan hasil yang sama.\n"
          }
        ]
      },
      {
        "answer": {
          "id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-001",
          "native_relation_id": "relation.answers.unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-001.unit.r017.book1.ch02.text.learningcheckpoint-001",
          "page": 659,
          "relation_basis": "native-answers-edge-and-exact-source-label"
        },
        "id": "unit.r017.book1.ch02.text.learningcheckpoint-001",
        "kind": "learningcheckpoint",
        "page": 60,
        "page_text_sha256": "996275b74a8b8065093f8d543958a0c1ed9d52234af966749b0bbb3a4fd85cd2",
        "printed_state": "checkpoint-anchor-and-literal-passage",
        "reader": {
          "destination": "tcb@cnt@learningcheckpoint*.104",
          "page": 60,
          "printed_number": "2.2.1"
        },
        "source_span": {
          "content_bytes": 411,
          "content_sha256": "5287f9d559ffa756e0c49d23b89567ab6e88bcdd404c81148c4c20d1dd8b9be6",
          "environment": "learningcheckpoint",
          "id": "unit.r017.book1.ch02.text.learningcheckpoint-001",
          "label": "lc:lp-assumptions",
          "line_range": [
            190,
            197
          ],
          "native_record_sha256": "b5a43e5134a0dbad73124273862bfe0aadb86a8a8399696fae00e6456af1466f",
          "normalized_character_range": [
            13916,
            14327
          ],
          "normalized_utf8_byte_range": [
            13916,
            14327
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
          "source_file": {
            "archive": "source",
            "bytes": 67810,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
            "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
          },
          "type": "learningcheckpoint"
        },
        "witnesses": [
          {
            "normalized_witness": "dalamsatuatauduakalimatsingkatbahasapakahmasalahdalamcontoh",
            "page": 60,
            "source_character_range": [
              13970,
              14040
            ],
            "source_sha256": "df70826c7dd145f4ca6425a78ad9084f470f81a78258ec54cd4e2d6643294a50",
            "source_text": "Dalam satu atau dua kalimat singkat, bahas apakah masalah dalam\nContoh"
          }
        ]
      },
      {
        "composite_reference": {
          "mapping_method": "unique-page-with-all-short-prose-fragments-in-source-order",
          "page": 61,
          "scope": "Matched prose location only; not full solution extent or mathematical verification.",
          "witnesses": [
            {
              "normalized_page_range": [
                750,
                762
              ],
              "normalized_witness": "hariproduksi",
              "page": 61,
              "source_character_range": [
                17229,
                17243
              ],
              "source_sha256": "8f9670e38025b0ef6d135346116a299b6a85e7c7eff6206217a30815ad442b6d",
              "source_text": "Hari produksi "
            },
            {
              "normalized_page_range": [
                776,
                804
              ],
              "normalized_witness": "biayaproduksiperunitpadahari",
              "page": 61,
              "source_character_range": [
                17332,
                17366
              ],
              "source_sha256": "22964f90d2fc01fa59962ccf87440c27eee19ef60769468da78e10278b4ebf05",
              "source_text": "Biaya produksi per unit pada Hari "
            },
            {
              "normalized_page_range": [
                845,
                867
              ],
              "normalized_witness": "biayapersediaanperunit",
              "page": 61,
              "source_character_range": [
                17461,
                17488
              ],
              "source_sha256": "2693f1a0aa7ad813bafeb1971b6f33e83ccbc7eb622f4f722246147da6320c7c",
              "source_text": "Biaya persediaan per unit ("
            },
            {
              "normalized_page_range": [
                1040,
                1063
              ],
              "normalized_witness": "persediaanpadaakhirhari",
              "page": 61,
              "source_character_range": [
                17902,
                17929
              ],
              "source_sha256": "38696c293c3f7d2d13bbc6e10bcdb3063526ca9b8db6daee72ab02e40200de49",
              "source_text": "Persediaan pada akhir Hari "
            }
          ]
        },
        "id": "unit.r017.book1.ch02.text.solution-001",
        "kind": "solution",
        "page": 61,
        "page_text_sha256": "e86223ae155cc332c41679c63b144064f540bf4d8ee68570f0512a736026c126",
        "printed_state": "ordered-composite-literal-passages",
        "source_span": {
          "content_bytes": 1090,
          "content_sha256": "8dbb2d1700cf25fc2d176387af5438da0f41e33bdaabfce6da9bad0c480ab946",
          "environment": "solution",
          "id": "unit.r017.book1.ch02.text.solution-001",
          "label": null,
          "line_range": [
            263,
            294
          ],
          "native_record_sha256": "b546de0db6887a126a8106ea02f760867feb3fb8cd2d2d24b17ab0b336fb4349",
          "normalized_character_range": [
            17164,
            18254
          ],
          "normalized_utf8_byte_range": [
            17164,
            18254
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
          "source_file": {
            "archive": "source",
            "bytes": 67810,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
            "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_page_range": [
              750,
              762
            ],
            "normalized_witness": "hariproduksi",
            "page": 61,
            "source_character_range": [
              17229,
              17243
            ],
            "source_sha256": "8f9670e38025b0ef6d135346116a299b6a85e7c7eff6206217a30815ad442b6d",
            "source_text": "Hari produksi "
          },
          {
            "normalized_page_range": [
              776,
              804
            ],
            "normalized_witness": "biayaproduksiperunitpadahari",
            "page": 61,
            "source_character_range": [
              17332,
              17366
            ],
            "source_sha256": "22964f90d2fc01fa59962ccf87440c27eee19ef60769468da78e10278b4ebf05",
            "source_text": "Biaya produksi per unit pada Hari "
          },
          {
            "normalized_page_range": [
              845,
              867
            ],
            "normalized_witness": "biayapersediaanperunit",
            "page": 61,
            "source_character_range": [
              17461,
              17488
            ],
            "source_sha256": "2693f1a0aa7ad813bafeb1971b6f33e83ccbc7eb622f4f722246147da6320c7c",
            "source_text": "Biaya persediaan per unit ("
          },
          {
            "normalized_page_range": [
              1040,
              1063
            ],
            "normalized_witness": "persediaanpadaakhirhari",
            "page": 61,
            "source_character_range": [
              17902,
              17929
            ],
            "source_sha256": "38696c293c3f7d2d13bbc6e10bcdb3063526ca9b8db6daee72ab02e40200de49",
            "source_text": "Persediaan pada akhir Hari "
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch02.text.solution-002",
        "kind": "solution",
        "page": 64,
        "page_text_sha256": "28bd08acb26a09ad63e9b24eecacc648bd7d7788633c235056037c7e42afb25c",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 951,
          "content_sha256": "93fb0679e3e290351412088a5a038d746a807b02cf18e585fa514e08fbf1025a",
          "environment": "solution",
          "id": "unit.r017.book1.ch02.text.solution-002",
          "label": null,
          "line_range": [
            350,
            377
          ],
          "native_record_sha256": "d3481f6ffd4a7f1306b4b8867e3fd11a175e18ecfa094530ee9377dbef72842b",
          "normalized_character_range": [
            23237,
            24188
          ],
          "normalized_utf8_byte_range": [
            23237,
            24188
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
          "source_file": {
            "archive": "source",
            "bytes": 67810,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
            "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "jampenyambunganyangdiperlukanuntuksetiapobjek",
            "page": 64,
            "source_character_range": [
              23528,
              23580
            ],
            "source_sha256": "f557ad63363bd7a4a1dfcbedceefba2092603814c6bd443225091964055331ea",
            "source_text": "Jam penyambungan yang diperlukan untuk setiap objek\n"
          },
          {
            "normalized_witness": "jumlahunittaasertajampenyambungandanpemotonganyangtersedia",
            "page": 64,
            "source_character_range": [
              23642,
              23710
            ],
            "source_sha256": "f5b6266ff22a68b8bcf04c44cecb167198d9ddc4f6e0dcc4546777d3cfdbb987",
            "source_text": "Jumlah unit TAA serta jam penyambungan dan pemotongan yang tersedia\n"
          }
        ]
      },
      {
        "composite_reference": {
          "mapping_method": "unique-page-with-all-short-prose-fragments-in-source-order",
          "page": 65,
          "scope": "Matched prose location only; not full solution extent or mathematical verification.",
          "witnesses": [
            {
              "normalized_page_range": [
                16,
                30
              ],
              "normalized_witness": "himpunantablet",
              "page": 65,
              "source_character_range": [
                25658,
                25674
              ],
              "source_sha256": "35f8d1871a7cac21b52f9ac874c761acca07aa1a0eb758bd52ef4cf9d87a9ed2",
              "source_text": "Himpunan tablet "
            },
            {
              "normalized_page_range": [
                43,
                67
              ],
              "normalized_witness": "zatbesidalamsetiaptablet",
              "page": 65,
              "source_character_range": [
                25758,
                25787
              ],
              "source_sha256": "f97abaac5a59d79207735e8370f44702fcc885e682076b077b2b1dd82074c120",
              "source_text": "Zat besi dalam setiap tablet\n"
            },
            {
              "normalized_page_range": [
                67,
                92
              ],
              "normalized_witness": "vitaminbdalamsetiaptablet",
              "page": 65,
              "source_character_range": [
                25793,
                25823
              ],
              "source_sha256": "4c468dc4c8660f45c1580886fb39bd8db3452742cf874925bb05052642dcd80c",
              "source_text": "Vitamin B dalam setiap tablet\n"
            },
            {
              "normalized_page_range": [
                92,
                117
              ],
              "normalized_witness": "vitamincdalamsetiaptablet",
              "page": 65,
              "source_character_range": [
                25829,
                25859
              ],
              "source_sha256": "dff8e42dbb8610383ec87f883317969c4130c7a7018f6151952051bd027c201b",
              "source_text": "Vitamin C dalam setiap tablet\n"
            },
            {
              "normalized_page_range": [
                117,
                142
              ],
              "normalized_witness": "vitaminddalamsetiaptablet",
              "page": 65,
              "source_character_range": [
                25865,
                25895
              ],
              "source_sha256": "d899fbb163e43c9b7f8f30e4a81da928457f4ecf0b15c8f25459953b789f2529",
              "source_text": "Vitamin D dalam setiap tablet\n"
            },
            {
              "normalized_page_range": [
                142,
                159
              ],
              "normalized_witness": "biayasetiaptablet",
              "page": 65,
              "source_character_range": [
                25901,
                25921
              ],
              "source_sha256": "2665b1905d8b3c7ef09bd46256cf2515e66e35e3651d008a0132d81c797d85a2",
              "source_text": "Biaya setiap tablet\n"
            },
            {
              "normalized_page_range": [
                169,
                186
              ],
              "normalized_witness": "jumlahtabletjenis",
              "page": 65,
              "source_character_range": [
                25980,
                26000
              ],
              "source_sha256": "02c6484622ded069c553e1d03ebc129ed64e70a38d6f42433c3590c452dfa107",
              "source_text": "jumlah tablet jenis "
            },
            {
              "normalized_page_range": [
                187,
                210
              ],
              "normalized_witness": "yangdisertakandalamdiet",
              "page": 65,
              "source_character_range": [
                26004,
                26032
              ],
              "source_sha256": "89903fcd009e23f344c7c3d1f5ebdce40fc001e2ee73de678d7838c1d5d2d7fe",
              "source_text": "yang disertakan dalam diet, "
            }
          ]
        },
        "id": "unit.r017.book1.ch02.text.solution-003",
        "kind": "solution",
        "page": 65,
        "page_text_sha256": "82a897321dd06182e688618cb8c55ad3319b9e5c55a57359b1c526801b758149",
        "printed_state": "ordered-composite-literal-passages",
        "source_span": {
          "content_bytes": 812,
          "content_sha256": "c64e6f61d0e26b6161290f844c2b6fb504a924cc09177dce293f934489db9591",
          "environment": "solution",
          "id": "unit.r017.book1.ch02.text.solution-003",
          "label": null,
          "line_range": [
            403,
            430
          ],
          "native_record_sha256": "2495c5487b682fad25a33d708f3c051458d0a83d40e59fff2647c712be468485",
          "normalized_character_range": [
            25587,
            26399
          ],
          "normalized_utf8_byte_range": [
            25587,
            26399
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
          "source_file": {
            "archive": "source",
            "bytes": 67810,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
            "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_page_range": [
              16,
              30
            ],
            "normalized_witness": "himpunantablet",
            "page": 65,
            "source_character_range": [
              25658,
              25674
            ],
            "source_sha256": "35f8d1871a7cac21b52f9ac874c761acca07aa1a0eb758bd52ef4cf9d87a9ed2",
            "source_text": "Himpunan tablet "
          },
          {
            "normalized_page_range": [
              43,
              67
            ],
            "normalized_witness": "zatbesidalamsetiaptablet",
            "page": 65,
            "source_character_range": [
              25758,
              25787
            ],
            "source_sha256": "f97abaac5a59d79207735e8370f44702fcc885e682076b077b2b1dd82074c120",
            "source_text": "Zat besi dalam setiap tablet\n"
          },
          {
            "normalized_page_range": [
              67,
              92
            ],
            "normalized_witness": "vitaminbdalamsetiaptablet",
            "page": 65,
            "source_character_range": [
              25793,
              25823
            ],
            "source_sha256": "4c468dc4c8660f45c1580886fb39bd8db3452742cf874925bb05052642dcd80c",
            "source_text": "Vitamin B dalam setiap tablet\n"
          },
          {
            "normalized_page_range": [
              92,
              117
            ],
            "normalized_witness": "vitamincdalamsetiaptablet",
            "page": 65,
            "source_character_range": [
              25829,
              25859
            ],
            "source_sha256": "dff8e42dbb8610383ec87f883317969c4130c7a7018f6151952051bd027c201b",
            "source_text": "Vitamin C dalam setiap tablet\n"
          },
          {
            "normalized_page_range": [
              117,
              142
            ],
            "normalized_witness": "vitaminddalamsetiaptablet",
            "page": 65,
            "source_character_range": [
              25865,
              25895
            ],
            "source_sha256": "d899fbb163e43c9b7f8f30e4a81da928457f4ecf0b15c8f25459953b789f2529",
            "source_text": "Vitamin D dalam setiap tablet\n"
          },
          {
            "normalized_page_range": [
              142,
              159
            ],
            "normalized_witness": "biayasetiaptablet",
            "page": 65,
            "source_character_range": [
              25901,
              25921
            ],
            "source_sha256": "2665b1905d8b3c7ef09bd46256cf2515e66e35e3651d008a0132d81c797d85a2",
            "source_text": "Biaya setiap tablet\n"
          },
          {
            "normalized_page_range": [
              169,
              186
            ],
            "normalized_witness": "jumlahtabletjenis",
            "page": 65,
            "source_character_range": [
              25980,
              26000
            ],
            "source_sha256": "02c6484622ded069c553e1d03ebc129ed64e70a38d6f42433c3590c452dfa107",
            "source_text": "jumlah tablet jenis "
          },
          {
            "normalized_page_range": [
              187,
              210
            ],
            "normalized_witness": "yangdisertakandalamdiet",
            "page": 65,
            "source_character_range": [
              26004,
              26032
            ],
            "source_sha256": "89903fcd009e23f344c7c3d1f5ebdce40fc001e2ee73de678d7838c1d5d2d7fe",
            "source_text": "yang disertakan dalam diet, "
          }
        ]
      },
      {
        "composite_reference": {
          "mapping_method": "unique-page-with-all-short-prose-fragments-in-source-order",
          "page": 66,
          "scope": "Matched prose location only; not full solution extent or mathematical verification.",
          "witnesses": [
            {
              "normalized_page_range": [
                48,
                66
              ],
              "normalized_witness": "himpunanbahankimia",
              "page": 66,
              "source_character_range": [
                28350,
                28371
              ],
              "source_sha256": "e9fcce2d2186a14ee2b0abe4d66bebc12d76d2c45f2043fc8fec0390b6afb10b",
              "source_text": "Himpunan bahan kimia "
            },
            {
              "normalized_page_range": [
                79,
                107
              ],
              "normalized_witness": "zatbesidalamsetiapbahankimia",
              "page": 66,
              "source_character_range": [
                28454,
                28488
              ],
              "source_sha256": "a35894177d48d6fba026ed7e1595e58863ad812131f79d498535f1ba841b1ff3",
              "source_text": "Zat besi dalam setiap bahan kimia\n"
            },
            {
              "normalized_page_range": [
                107,
                136
              ],
              "normalized_witness": "vitaminbdalamsetiapbahankimia",
              "page": 66,
              "source_character_range": [
                28494,
                28529
              ],
              "source_sha256": "aa057c68f23db2b31ff683450ee6edad0ed52b06448ebfbd69b65a465a82acba",
              "source_text": "Vitamin B dalam setiap bahan kimia\n"
            },
            {
              "normalized_page_range": [
                136,
                165
              ],
              "normalized_witness": "vitamincdalamsetiapbahankimia",
              "page": 66,
              "source_character_range": [
                28535,
                28570
              ],
              "source_sha256": "3ed0b2ec5a91689c057e00a62ea965419bc89da23cf26c36a5c34c220b039e49",
              "source_text": "Vitamin C dalam setiap bahan kimia\n"
            },
            {
              "normalized_page_range": [
                165,
                194
              ],
              "normalized_witness": "vitaminddalamsetiapbahankimia",
              "page": 66,
              "source_character_range": [
                28576,
                28611
              ],
              "source_sha256": "4b80489382a9aa362dca3acfc5a622bcb7d71d3fd8b5c729d366abfd2cfd65c6",
              "source_text": "Vitamin D dalam setiap bahan kimia\n"
            },
            {
              "normalized_page_range": [
                194,
                221
              ],
              "normalized_witness": "kaloridalamsetiapbahankimia",
              "page": 66,
              "source_character_range": [
                28617,
                28649
              ],
              "source_sha256": "d4da7062938faa50e7e353d55c0160073f4ac5058487346a65b1b401141c1242",
              "source_text": "Kalori dalam setiap bahan kimia\n"
            },
            {
              "normalized_page_range": [
                221,
                242
              ],
              "normalized_witness": "biayasetiapbahankimia",
              "page": 66,
              "source_character_range": [
                28655,
                28680
              ],
              "source_sha256": "cc4b99b989a624c3cdeb13a9d03b58aa22d41188be402594b58c51d794bd59bb",
              "source_text": "Biaya setiap bahan kimia\n"
            },
            {
              "normalized_page_range": [
                252,
                266
              ],
              "normalized_witness": "grambahankimia",
              "page": 66,
              "source_character_range": [
                28737,
                28754
              ],
              "source_sha256": "6167023fd974fcb05737edf56daeb7c9ad0f4c1cbe10ca72b8fdb773440dbfc1",
              "source_text": "gram bahan kimia "
            },
            {
              "normalized_page_range": [
                267,
                296
              ],
              "normalized_witness": "yangdisertakandalamtabletungu",
              "page": 66,
              "source_character_range": [
                28758,
                28793
              ],
              "source_sha256": "7d968a880e2f17a478c9a2a346f262263a0e797fbfd9abd09bb3bcb12351dafd",
              "source_text": "yang disertakan dalam tablet ungu, "
            }
          ]
        },
        "id": "unit.r017.book1.ch02.text.solution-004",
        "kind": "solution",
        "page": 66,
        "page_text_sha256": "d290e538dce65a6f33919bb72a09fc2d67b4d545a06d119cf2bdf35e9391b3e5",
        "printed_state": "ordered-composite-literal-passages",
        "source_span": {
          "content_bytes": 951,
          "content_sha256": "816d310749f14aadab9ea9f95be4e136b2c04161b9a51348177f362c4188c23b",
          "environment": "solution",
          "id": "unit.r017.book1.ch02.text.solution-004",
          "label": null,
          "line_range": [
            454,
            483
          ],
          "native_record_sha256": "3f85ea31fbfc7749d85d1f52444ec8f2323e09eb2f95668b9270dbf8451b5adf",
          "normalized_character_range": [
            28278,
            29229
          ],
          "normalized_utf8_byte_range": [
            28278,
            29229
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
          "source_file": {
            "archive": "source",
            "bytes": 67810,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
            "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_page_range": [
              48,
              66
            ],
            "normalized_witness": "himpunanbahankimia",
            "page": 66,
            "source_character_range": [
              28350,
              28371
            ],
            "source_sha256": "e9fcce2d2186a14ee2b0abe4d66bebc12d76d2c45f2043fc8fec0390b6afb10b",
            "source_text": "Himpunan bahan kimia "
          },
          {
            "normalized_page_range": [
              79,
              107
            ],
            "normalized_witness": "zatbesidalamsetiapbahankimia",
            "page": 66,
            "source_character_range": [
              28454,
              28488
            ],
            "source_sha256": "a35894177d48d6fba026ed7e1595e58863ad812131f79d498535f1ba841b1ff3",
            "source_text": "Zat besi dalam setiap bahan kimia\n"
          },
          {
            "normalized_page_range": [
              107,
              136
            ],
            "normalized_witness": "vitaminbdalamsetiapbahankimia",
            "page": 66,
            "source_character_range": [
              28494,
              28529
            ],
            "source_sha256": "aa057c68f23db2b31ff683450ee6edad0ed52b06448ebfbd69b65a465a82acba",
            "source_text": "Vitamin B dalam setiap bahan kimia\n"
          },
          {
            "normalized_page_range": [
              136,
              165
            ],
            "normalized_witness": "vitamincdalamsetiapbahankimia",
            "page": 66,
            "source_character_range": [
              28535,
              28570
            ],
            "source_sha256": "3ed0b2ec5a91689c057e00a62ea965419bc89da23cf26c36a5c34c220b039e49",
            "source_text": "Vitamin C dalam setiap bahan kimia\n"
          },
          {
            "normalized_page_range": [
              165,
              194
            ],
            "normalized_witness": "vitaminddalamsetiapbahankimia",
            "page": 66,
            "source_character_range": [
              28576,
              28611
            ],
            "source_sha256": "4b80489382a9aa362dca3acfc5a622bcb7d71d3fd8b5c729d366abfd2cfd65c6",
            "source_text": "Vitamin D dalam setiap bahan kimia\n"
          },
          {
            "normalized_page_range": [
              194,
              221
            ],
            "normalized_witness": "kaloridalamsetiapbahankimia",
            "page": 66,
            "source_character_range": [
              28617,
              28649
            ],
            "source_sha256": "d4da7062938faa50e7e353d55c0160073f4ac5058487346a65b1b401141c1242",
            "source_text": "Kalori dalam setiap bahan kimia\n"
          },
          {
            "normalized_page_range": [
              221,
              242
            ],
            "normalized_witness": "biayasetiapbahankimia",
            "page": 66,
            "source_character_range": [
              28655,
              28680
            ],
            "source_sha256": "cc4b99b989a624c3cdeb13a9d03b58aa22d41188be402594b58c51d794bd59bb",
            "source_text": "Biaya setiap bahan kimia\n"
          },
          {
            "normalized_page_range": [
              252,
              266
            ],
            "normalized_witness": "grambahankimia",
            "page": 66,
            "source_character_range": [
              28737,
              28754
            ],
            "source_sha256": "6167023fd974fcb05737edf56daeb7c9ad0f4c1cbe10ca72b8fdb773440dbfc1",
            "source_text": "gram bahan kimia "
          },
          {
            "normalized_page_range": [
              267,
              296
            ],
            "normalized_witness": "yangdisertakandalamtabletungu",
            "page": 66,
            "source_character_range": [
              28758,
              28793
            ],
            "source_sha256": "7d968a880e2f17a478c9a2a346f262263a0e797fbfd9abd09bb3bcb12351dafd",
            "source_text": "yang disertakan dalam tablet ungu, "
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch02.text.solution-005",
        "kind": "solution",
        "page": 68,
        "page_text_sha256": "6267622f69c3c39d548d934575828f01544c5829643736e1209d52428e340fac",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 1169,
          "content_sha256": "30256fb9eafcd25231833b7104ffd34496ff96f61184bce6c22801992f9f8ab0",
          "environment": "solution",
          "id": "unit.r017.book1.ch02.text.solution-005",
          "label": null,
          "line_range": [
            553,
            571
          ],
          "native_record_sha256": "de184cb9b158426fb33fb0c0ebce9e0179e94dccb67ce252722ad649945397e3",
          "normalized_character_range": [
            34748,
            35917
          ],
          "normalized_utf8_byte_range": [
            34748,
            35917
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
          "source_file": {
            "archive": "source",
            "bytes": 67810,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
            "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "masalahinimemilikibeberapasolusioptimalyangberbedadalamhalharimulaibekerjaparakaryawansemuanyamenghasilkantotal",
            "page": 68,
            "source_character_range": [
              34765,
              34895
            ],
            "source_sha256": "d160b9333fe3ba6ce535cd4cd013c63ecfd9314cf7be1587b2a50000bac69379",
            "source_text": "Masalah ini memiliki beberapa solusi optimal yang berbeda dalam hal hari mulai bekerja para karyawan; semuanya menghasilkan total "
          },
          {
            "normalized_witness": "salahsatusolusinyaadalahsebagaiberikutrelaksasipemrogramanlinearmenghasilkan",
            "page": 69,
            "source_character_range": [
              35581,
              35668
            ],
            "source_sha256": "7efaf27f03c6969effbe93fdd977cf75e33e56556b0c597103568d836d44909f",
            "source_text": "Salah satu solusinya adalah sebagai berikut. Relaksasi pemrograman linear menghasilkan "
          }
        ]
      },
      {
        "composite_reference": {
          "mapping_method": "unique-page-with-all-short-prose-fragments-in-source-order",
          "page": 70,
          "scope": "Matched prose location only; not full solution extent or mathematical verification.",
          "witnesses": [
            {
              "normalized_page_range": [
                373,
                409
              ],
              "normalized_witness": "jumlahkaryawanyangmulaibekerjaselama",
              "page": 70,
              "source_character_range": [
                36924,
                36966
              ],
              "source_sha256": "ed7cd63b4f2ff2d4d26a1db0d17823c748008b508957b9eadd06654f1a871b4f",
              "source_text": "jumlah karyawan yang mulai bekerja selama "
            },
            {
              "normalized_page_range": [
                410,
                435
              ],
              "normalized_witness": "hariberturutturutpadahari",
              "page": 70,
              "source_character_range": [
                36968,
                36998
              ],
              "source_sha256": "dbdab07eff565f385b065182083803a39871541a2833bc9346fc7128441213f0",
              "source_text": "hari berturut-turut pada hari "
            },
            {
              "normalized_page_range": [
                441,
                477
              ],
              "normalized_witness": "jumlahkaryawanyangmulaibekerjaselama",
              "page": 70,
              "source_character_range": [
                37032,
                37074
              ],
              "source_sha256": "ed7cd63b4f2ff2d4d26a1db0d17823c748008b508957b9eadd06654f1a871b4f",
              "source_text": "jumlah karyawan yang mulai bekerja selama "
            },
            {
              "normalized_page_range": [
                478,
                503
              ],
              "normalized_witness": "hariberturutturutpadahari",
              "page": 70,
              "source_character_range": [
                37076,
                37106
              ],
              "source_sha256": "dbdab07eff565f385b065182083803a39871541a2833bc9346fc7128441213f0",
              "source_text": "hari berturut-turut pada hari "
            }
          ]
        },
        "id": "unit.r017.book1.ch02.text.solution-006",
        "kind": "solution",
        "page": 70,
        "page_text_sha256": "fc28266aa4c39b2b47d251c42b609c804dfcd73651174790447cefd96669e0a6",
        "printed_state": "ordered-composite-literal-passages",
        "source_span": {
          "content_bytes": 1016,
          "content_sha256": "27e35d68ced220a6a3e555ae2cfd7436e6ac81f5c03db71325030c8885a32423",
          "environment": "solution",
          "id": "unit.r017.book1.ch02.text.solution-006",
          "label": null,
          "line_range": [
            580,
            599
          ],
          "native_record_sha256": "9bd9fef4b7874b04d09eac87fbcad5f59666916df0eae13a5f427a66e5ea08ed",
          "normalized_character_range": [
            36875,
            37891
          ],
          "normalized_utf8_byte_range": [
            36875,
            37891
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
          "source_file": {
            "archive": "source",
            "bytes": 67810,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
            "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_page_range": [
              373,
              409
            ],
            "normalized_witness": "jumlahkaryawanyangmulaibekerjaselama",
            "page": 70,
            "source_character_range": [
              36924,
              36966
            ],
            "source_sha256": "ed7cd63b4f2ff2d4d26a1db0d17823c748008b508957b9eadd06654f1a871b4f",
            "source_text": "jumlah karyawan yang mulai bekerja selama "
          },
          {
            "normalized_page_range": [
              410,
              435
            ],
            "normalized_witness": "hariberturutturutpadahari",
            "page": 70,
            "source_character_range": [
              36968,
              36998
            ],
            "source_sha256": "dbdab07eff565f385b065182083803a39871541a2833bc9346fc7128441213f0",
            "source_text": "hari berturut-turut pada hari "
          },
          {
            "normalized_page_range": [
              441,
              477
            ],
            "normalized_witness": "jumlahkaryawanyangmulaibekerjaselama",
            "page": 70,
            "source_character_range": [
              37032,
              37074
            ],
            "source_sha256": "ed7cd63b4f2ff2d4d26a1db0d17823c748008b508957b9eadd06654f1a871b4f",
            "source_text": "jumlah karyawan yang mulai bekerja selama "
          },
          {
            "normalized_page_range": [
              478,
              503
            ],
            "normalized_witness": "hariberturutturutpadahari",
            "page": 70,
            "source_character_range": [
              37076,
              37106
            ],
            "source_sha256": "dbdab07eff565f385b065182083803a39871541a2833bc9346fc7128441213f0",
            "source_text": "hari berturut-turut pada hari "
          }
        ]
      },
      {
        "composite_reference": {
          "mapping_method": "unique-page-with-all-short-prose-fragments-in-source-order",
          "page": 71,
          "scope": "Matched prose location only; not full solution extent or mathematical verification.",
          "witnesses": [
            {
              "normalized_page_range": [
                1000,
                1012
              ],
              "normalized_witness": "apakahbarang",
              "page": 71,
              "source_character_range": [
                40037,
                40051
              ],
              "source_sha256": "eb30a9eff3e7b3c406c78a521b9d89d4bd7508b9918737ed4d8b5d3f2e9ea872",
              "source_text": "apakah barang "
            },
            {
              "normalized_page_range": [
                1013,
                1042
              ],
              "normalized_witness": "dimasukkankedalamranseldengan",
              "page": 71,
              "source_character_range": [
                40055,
                40090
              ],
              "source_sha256": "02af35bdab9a02c28fe3924b42e127b8dc1ca3599d981cfead6cdfb80bd80d3e",
              "source_text": "dimasukkan ke dalam ransel, dengan "
            },
            {
              "normalized_page_range": [
                1065,
                1078
              ],
              "normalized_witness": "dimasukkandan",
              "page": 71,
              "source_character_range": [
                40152,
                40168
              ],
              "source_sha256": "4ec765098a0945d39a4919b060267e21dbb9df9d39db4b8945cdaaa74e974b58",
              "source_text": "dimasukkan, dan "
            }
          ]
        },
        "id": "unit.r017.book1.ch02.text.solution-007",
        "kind": "solution",
        "page": 71,
        "page_text_sha256": "f8505376068e17311a0567d0e1ce1d714447ffc154091385943641baa2a59598",
        "printed_state": "ordered-composite-literal-passages",
        "source_span": {
          "content_bytes": 482,
          "content_sha256": "1af3ce901fd972b70b42892c576dcf72eef60fadd994c56566ed5add772eaa7c",
          "environment": "solution",
          "id": "unit.r017.book1.ch02.text.solution-007",
          "label": null,
          "line_range": [
            627,
            637
          ],
          "native_record_sha256": "17324b8b74a35b8cee22f91759900338fdacaf1c58bfc06dfdc7100d4b742f6b",
          "normalized_character_range": [
            39988,
            40470
          ],
          "normalized_utf8_byte_range": [
            39988,
            40470
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
          "source_file": {
            "archive": "source",
            "bytes": 67810,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
            "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_page_range": [
              1000,
              1012
            ],
            "normalized_witness": "apakahbarang",
            "page": 71,
            "source_character_range": [
              40037,
              40051
            ],
            "source_sha256": "eb30a9eff3e7b3c406c78a521b9d89d4bd7508b9918737ed4d8b5d3f2e9ea872",
            "source_text": "apakah barang "
          },
          {
            "normalized_page_range": [
              1013,
              1042
            ],
            "normalized_witness": "dimasukkankedalamranseldengan",
            "page": 71,
            "source_character_range": [
              40055,
              40090
            ],
            "source_sha256": "02af35bdab9a02c28fe3924b42e127b8dc1ca3599d981cfead6cdfb80bd80d3e",
            "source_text": "dimasukkan ke dalam ransel, dengan "
          },
          {
            "normalized_page_range": [
              1065,
              1078
            ],
            "normalized_witness": "dimasukkandan",
            "page": 71,
            "source_character_range": [
              40152,
              40168
            ],
            "source_sha256": "4ec765098a0945d39a4919b060267e21dbb9df9d39db4b8945cdaaa74e974b58",
            "source_text": "dimasukkan, dan "
          }
        ]
      },
      {
        "composite_reference": {
          "mapping_method": "unique-page-with-all-short-prose-fragments-in-source-order",
          "page": 72,
          "scope": "Matched prose location only; not full solution extent or mathematical verification.",
          "witnesses": [
            {
              "normalized_page_range": [
                888,
                922
              ],
              "normalized_witness": "investasiyangdibutuhkanuntukproyek",
              "page": 72,
              "source_character_range": [
                42554,
                42593
              ],
              "source_sha256": "7956aeaa453eb529a9a2cdd6b23a84bf5e82a4731d8f0be2631e9f847071b6d5",
              "source_text": "investasi yang dibutuhkan untuk proyek "
            },
            {
              "normalized_page_range": [
                927,
                955
              ],
              "normalized_witness": "proyeksiimbalhasildariproyek",
              "page": 72,
              "source_character_range": [
                42627,
                42660
              ],
              "source_sha256": "6b6434764bbb5773ed62a807822cde24cd980dbcf53fee6719def5ea8295076c",
              "source_text": "proyeksi imbal hasil dari proyek "
            },
            {
              "normalized_page_range": [
                963,
                985
              ],
              "normalized_witness": "totalmodalyangtersedia",
              "page": 72,
              "source_character_range": [
                42695,
                42721
              ],
              "source_sha256": "f55fbca81e64c5c0e6bf6f67720802114297afbf2490b2133de4055852036330",
              "source_text": "total modal yang tersedia\n"
            }
          ]
        },
        "id": "unit.r017.book1.ch02.text.solution-008",
        "kind": "solution",
        "page": 72,
        "page_text_sha256": "6f17d87e3b93c3316e3721104e5447f507209fdce636610a294a323d329869e9",
        "printed_state": "ordered-composite-literal-passages",
        "source_span": {
          "content_bytes": 1020,
          "content_sha256": "95f50bd8d6366667a712ff084cfd0b080f3625cd6f646aaac19603aa29fda227",
          "environment": "solution",
          "id": "unit.r017.book1.ch02.text.solution-008",
          "label": null,
          "line_range": [
            662,
            695
          ],
          "native_record_sha256": "7a67b45b50fdb974b7dd6ce32f775085f4969f99a2a20d43e7f6952ba8de909c",
          "normalized_character_range": [
            42356,
            43376
          ],
          "normalized_utf8_byte_range": [
            42356,
            43376
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
          "source_file": {
            "archive": "source",
            "bytes": 67810,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
            "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_page_range": [
              888,
              922
            ],
            "normalized_witness": "investasiyangdibutuhkanuntukproyek",
            "page": 72,
            "source_character_range": [
              42554,
              42593
            ],
            "source_sha256": "7956aeaa453eb529a9a2cdd6b23a84bf5e82a4731d8f0be2631e9f847071b6d5",
            "source_text": "investasi yang dibutuhkan untuk proyek "
          },
          {
            "normalized_page_range": [
              927,
              955
            ],
            "normalized_witness": "proyeksiimbalhasildariproyek",
            "page": 72,
            "source_character_range": [
              42627,
              42660
            ],
            "source_sha256": "6b6434764bbb5773ed62a807822cde24cd980dbcf53fee6719def5ea8295076c",
            "source_text": "proyeksi imbal hasil dari proyek "
          },
          {
            "normalized_page_range": [
              963,
              985
            ],
            "normalized_witness": "totalmodalyangtersedia",
            "page": 72,
            "source_character_range": [
              42695,
              42721
            ],
            "source_sha256": "f55fbca81e64c5c0e6bf6f67720802114297afbf2490b2133de4055852036330",
            "source_text": "total modal yang tersedia\n"
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch02.text.solution-009",
        "kind": "solution",
        "page": 74,
        "page_text_sha256": "9af20b760c10e4b6865a9de6fab6bb4a768a653d173dddb1cd34cc8eb648af2c",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 1392,
          "content_sha256": "968ec314ecd63dcf599e0cf9e4aecf4cb07a189504ada8edd27779b9d00752a3",
          "environment": "solution",
          "id": "unit.r017.book1.ch02.text.solution-009",
          "label": null,
          "line_range": [
            725,
            760
          ],
          "native_record_sha256": "e93f6ef71f5326ac9c6679870501e2f37e084a1d27fb015c0648da709c210a02",
          "normalized_character_range": [
            45081,
            46473
          ],
          "normalized_utf8_byte_range": [
            45081,
            46473
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
          "source_file": {
            "archive": "source",
            "bytes": 67810,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
            "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "jumlahmaksimumpanelyangdikirimdaripabrikmanapunkegudangmanapun",
            "page": 74,
            "source_character_range": [
              45553,
              45628
            ],
            "source_sha256": "ff0208ce81d26013493a8765ed37994963582fa2c4d7d4a02840b65a97e7f6fc",
            "source_text": "jumlah maksimum panel yang dikirim dari pabrik mana pun ke gudang mana pun\n"
          }
        ]
      },
      {
        "composite_reference": {
          "mapping_method": "unique-page-with-all-short-prose-fragments-in-source-order",
          "page": 75,
          "scope": "Matched prose location only; not full solution extent or mathematical verification.",
          "witnesses": [
            {
              "normalized_page_range": [
                878,
                897
              ],
              "normalized_witness": "biayapenugasanorang",
              "page": 75,
              "source_character_range": [
                48527,
                48549
              ],
              "source_sha256": "442b09a501cc0b25fdbaed4c9d8fa94db30e6576ca68891ff68035d2f08a8c3a",
              "source_text": "biaya penugasan orang "
            },
            {
              "normalized_page_range": [
                898,
                921
              ],
              "normalized_witness": "untukmenyelesaikantugas",
              "page": 75,
              "source_character_range": [
                48553,
                48579
              ],
              "source_sha256": "b97e0283e908de692449b5c3b98f58e3f9d851d0e880a85618b56ededdc57cdd",
              "source_text": "untuk menyelesaikan tugas "
            },
            {
              "normalized_page_range": [
                944,
                961
              ],
              "normalized_witness": "ditugaskanketugas",
              "page": 75,
              "source_character_range": [
                48661,
                48681
              ],
              "source_sha256": "da7b70174432ad881a813d327179dde0a7ad2d643c78cc1fbc8cf4d2eae0cc2f",
              "source_text": "ditugaskan ke tugas "
            }
          ]
        },
        "id": "unit.r017.book1.ch02.text.solution-010",
        "kind": "solution",
        "page": 75,
        "page_text_sha256": "92ece0cd13ce7ecdc0e4f3362d619e2192c94c4c4457506de2b221d74921d49a",
        "printed_state": "ordered-composite-literal-passages",
        "source_span": {
          "content_bytes": 927,
          "content_sha256": "1f7c7a0fe933742c823e076d87d12a253ff52f6bd34aa2feb67bc2a8d0153efc",
          "environment": "solution",
          "id": "unit.r017.book1.ch02.text.solution-010",
          "label": null,
          "line_range": [
            789,
            816
          ],
          "native_record_sha256": "46869ced974581fc2ebcb8b240b99131d61c07bd877b5aab55cdd658cbe49eea",
          "normalized_character_range": [
            48327,
            49254
          ],
          "normalized_utf8_byte_range": [
            48327,
            49254
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
          "source_file": {
            "archive": "source",
            "bytes": 67810,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
            "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_page_range": [
              878,
              897
            ],
            "normalized_witness": "biayapenugasanorang",
            "page": 75,
            "source_character_range": [
              48527,
              48549
            ],
            "source_sha256": "442b09a501cc0b25fdbaed4c9d8fa94db30e6576ca68891ff68035d2f08a8c3a",
            "source_text": "biaya penugasan orang "
          },
          {
            "normalized_page_range": [
              898,
              921
            ],
            "normalized_witness": "untukmenyelesaikantugas",
            "page": 75,
            "source_character_range": [
              48553,
              48579
            ],
            "source_sha256": "b97e0283e908de692449b5c3b98f58e3f9d851d0e880a85618b56ededdc57cdd",
            "source_text": "untuk menyelesaikan tugas "
          },
          {
            "normalized_page_range": [
              944,
              961
            ],
            "normalized_witness": "ditugaskanketugas",
            "page": 75,
            "source_character_range": [
              48661,
              48681
            ],
            "source_sha256": "da7b70174432ad881a813d327179dde0a7ad2d643c78cc1fbc8cf4d2eae0cc2f",
            "source_text": "ditugaskan ke tugas "
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch02.text.solution-011",
        "kind": "solution",
        "page": 81,
        "page_text_sha256": "21ede2ab85e09f7c164e8b9acca40975f0d95f2cf61335f7a333a1e87a07e3d9",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 891,
          "content_sha256": "7ee66405fe59e82f80b82a48f8de9e5caa80a8c06ca82bdcbbd03ec2fbefbf79",
          "environment": "solution",
          "id": "unit.r017.book1.ch02.text.solution-011",
          "label": null,
          "line_range": [
            1029,
            1039
          ],
          "native_record_sha256": "2e1ce3244aeb72bf80b4a24e0b9ed5290f38fc69b65dda0d9470dc3e11b917eb",
          "normalized_character_range": [
            62997,
            63888
          ],
          "normalized_utf8_byte_range": [
            62997,
            63888
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
          "source_file": {
            "archive": "source",
            "bytes": 67810,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
            "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "sedangkansetiapkontrakmenjadikendalabatasbawahuntukkeluarantotal",
            "page": 81,
            "source_character_range": [
              63241,
              63316
            ],
            "source_sha256": "f71ab80a81944534b25af2de06b3a5c16ea6647cae3f7ee14dbb88cae7ea17ca",
            "source_text": "sedangkan setiap kontrak menjadi kendala batas bawah untuk keluaran total:\n"
          },
          {
            "normalized_witness": "penyelesaiansecaragrafisataudenganperangkatlunakmenghasilkan",
            "page": 81,
            "source_character_range": [
              63521,
              63591
            ],
            "source_sha256": "6c8434818e12daf5034986267bce8da24cc49696643cb48f05a24891a1e2919a",
            "source_text": "Penyelesaian (secara grafis atau dengan perangkat lunak) menghasilkan "
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch02.text.solution-012",
        "kind": "solution",
        "page": 81,
        "page_text_sha256": "21ede2ab85e09f7c164e8b9acca40975f0d95f2cf61335f7a333a1e87a07e3d9",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 866,
          "content_sha256": "7d175aa5ed98139f221e0ef0adcf8bc54b22e3b6372324fffc17020685d79d5a",
          "environment": "solution",
          "id": "unit.r017.book1.ch02.text.solution-012",
          "label": null,
          "line_range": [
            1041,
            1045
          ],
          "native_record_sha256": "8394a50dc85306fece869e1cbc71f7e4825e4e3ada282c3f54c7bc7f504619a1",
          "normalized_character_range": [
            63890,
            64756
          ],
          "normalized_utf8_byte_range": [
            63890,
            64756
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
          "source_file": {
            "archive": "source",
            "bytes": 67810,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
            "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "adalahpertidaksamaanlinierkeduanyadenganruaskiriberbentuk",
            "page": 81,
            "source_character_range": [
              64041,
              64107
            ],
            "source_sha256": "864c9067dfc0a6245daf60e90384757ea59b6fe82c9a1eb73bf2c1770fea4372",
            "source_text": "adalah pertidaksamaan linier, keduanya dengan ruas kiri berbentuk "
          },
          {
            "normalized_witness": "dapatdigunakandalamprogramlinearpersamaantersebutekuivalendenganpasanganpertidaksamaan",
            "page": 81,
            "source_character_range": [
              64139,
              64237
            ],
            "source_sha256": "78c5ea1ee9db236bf1728ab7a8e5da4ca16599bb05a0e1e812688fa7cd946478",
            "source_text": "dapat digunakan dalam program linear; persamaan tersebut ekuivalen dengan pasangan pertidaksamaan "
          },
          {
            "normalized_witness": "tidaklinierkarenavariabelmunculdalamsebuahrasiotetapidapatdiubahmenjadilinierjikakitamengetahui",
            "page": 81,
            "source_character_range": [
              64309,
              64422
            ],
            "source_sha256": "ab323fb8cc95f27be4a293154cc11c159d655b479a96fcb415049e9a01d46447",
            "source_text": "tidak linier karena variabel muncul dalam sebuah rasio, tetapi dapat diubah menjadi linier: jika kita mengetahui "
          },
          {
            "normalized_witness": "merupakanfungsinonlinierdarivariabeldantidakadapenataanulangaljabaryangmenghilangkannya",
            "page": 81,
            "source_character_range": [
              64640,
              64742
            ],
            "source_sha256": "129c6983f383352359ac9d5809133c0a754cdc8ee79e5c3ae421138e9782b617",
            "source_text": "merupakan fungsi nonlinier dari variabel, dan tidak ada penataan ulang aljabar yang menghilangkannya.\n"
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch02.text.solution-013",
        "kind": "solution",
        "page": 81,
        "page_text_sha256": "21ede2ab85e09f7c164e8b9acca40975f0d95f2cf61335f7a333a1e87a07e3d9",
        "printed_state": "native-reference-and-unique-solution-heading",
        "solution_reference": {
          "mapping_method": "native-solves-edge-exact-source-reference-and-unique-printed-solution-heading",
          "native_relation_id": "relation.solves.unit.r017.book1.ch02.text.solution-013.unit.r017.book1.ch02.text.ex-007",
          "page": 81,
          "printed_number": "2.7",
          "printed_witness": {
            "character_range": [
              2120,
              2147
            ],
            "page_text_sha256": "21ede2ab85e09f7c164e8b9acca40975f0d95f2cf61335f7a333a1e87a07e3d9",
            "text": "Penyelesaian. (Latihan 2.7)"
          },
          "question_id": "unit.r017.book1.ch02.text.ex-007",
          "scope": "Start page only; not full solution extent or mathematical verification.",
          "source_reference": {
            "normalized_character_range": [
              64758,
              64811
            ],
            "sha256": "e18860bee2cee939295c71b1326b9ed5142a198678826612fd179cbecd9e9526",
            "text": "\\begin{solution}(Latihan~\\ref{ex:two-machine-profit})"
          }
        },
        "source_span": {
          "content_bytes": 862,
          "content_sha256": "512e5ecc0055e687514eea4a8cd536635c0b92b5cf95029e082a435fee8b2364",
          "environment": "solution",
          "id": "unit.r017.book1.ch02.text.solution-013",
          "label": null,
          "line_range": [
            1047,
            1056
          ],
          "native_record_sha256": "06d97048bbead22e485aba6043a13cb4cce814015b87b05060e5d0b3c243decd",
          "normalized_character_range": [
            64758,
            65620
          ],
          "normalized_utf8_byte_range": [
            64758,
            65620
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
          "source_file": {
            "archive": "source",
            "bytes": 67810,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
            "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
          },
          "type": "solution"
        },
        "witnesses": []
      },
      {
        "id": "unit.r017.book1.ch02.text.solution-014",
        "kind": "solution",
        "page": 82,
        "page_text_sha256": "9468715bef6b0672c8e7383825cd495dedc3353b2323daaaf629f943cc66a487",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 667,
          "content_sha256": "124cfe585bbfc35d58f94503972e9005536241aea9aebf44b043d10e9c9b39f6",
          "environment": "solution",
          "id": "unit.r017.book1.ch02.text.solution-014",
          "label": null,
          "line_range": [
            1058,
            1068
          ],
          "native_record_sha256": "dfc61031f0ce8335645aea9a53c3621fc006503a4d9cc02bf4e7808c4e535429",
          "normalized_character_range": [
            65622,
            66289
          ],
          "normalized_utf8_byte_range": [
            65622,
            66289
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
          "source_file": {
            "archive": "source",
            "bytes": 67810,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
            "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "kitameminimumkanbiayaoperasidengankendalabahwapesananharusdipenuhi",
            "page": 82,
            "source_character_range": [
              65751,
              65828
            ],
            "source_sha256": "50c7c571413932ce2d774d70927d9ea73a884a944266eb32f3b888b9bbdd59af",
            "source_text": "Kita meminimumkan biaya operasi dengan kendala bahwa pesanan harus dipenuhi:\n"
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch02.text.solution-015",
        "kind": "solution",
        "page": 82,
        "page_text_sha256": "9468715bef6b0672c8e7383825cd495dedc3353b2323daaaf629f943cc66a487",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 861,
          "content_sha256": "923c541a85ec0a81ac8ca30dc3ce969c07db300e989d592b53a6beb2675dcb58",
          "environment": "solution",
          "id": "unit.r017.book1.ch02.text.solution-015",
          "label": null,
          "line_range": [
            1070,
            1080
          ],
          "native_record_sha256": "83b1598b1f8a661827ada81ab7e4c298842ae8829097f33a3a023d2cdbcf8994",
          "normalized_character_range": [
            66291,
            67152
          ],
          "normalized_utf8_byte_range": [
            66291,
            67152
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
          "source_file": {
            "archive": "source",
            "bytes": 67810,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
            "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "adalahjumlahposteryangdiproduksiperpekanlabaperhoodieadalah",
            "page": 82,
            "source_character_range": [
              66386,
              66457
            ],
            "source_sha256": "ff92c38c9ea454281c305e2f2c37efc17ea74099d02958506c9430ef4b127cc8",
            "source_text": "adalah jumlah poster yang diproduksi per pekan. Laba per hoodie adalah "
          },
          {
            "normalized_witness": "posteryaitupadaperpotongankendalapencetakandanpenyelesaianakhirdenganlabamingguan",
            "page": 82,
            "source_character_range": [
              66830,
              66925
            ],
            "source_sha256": "6f02296f282f8f8ce57c2e3fdf751701d7ee987514644c35e9b59c0712b3fac0",
            "source_text": "poster, yaitu pada perpotongan kendala pencetakan dan penyelesaian akhir, dengan laba mingguan "
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch02.text.solution-016",
        "kind": "solution",
        "page": 82,
        "page_text_sha256": "9468715bef6b0672c8e7383825cd495dedc3353b2323daaaf629f943cc66a487",
        "printed_state": "native-reference-and-unique-solution-heading",
        "solution_reference": {
          "mapping_method": "native-solves-edge-exact-source-reference-and-unique-printed-solution-heading",
          "native_relation_id": "relation.solves.unit.r017.book1.ch02.text.solution-016.unit.r017.book1.ch02.text.ex-014",
          "page": 82,
          "printed_number": "2.14",
          "printed_witness": {
            "character_range": [
              1840,
              1868
            ],
            "page_text_sha256": "9468715bef6b0672c8e7383825cd495dedc3353b2323daaaf629f943cc66a487",
            "text": "Penyelesaian. (Latihan 2.14)"
          },
          "question_id": "unit.r017.book1.ch02.text.ex-014",
          "scope": "Start page only; not full solution extent or mathematical verification.",
          "source_reference": {
            "normalized_character_range": [
              67187,
              67234
            ],
            "sha256": "71065e2bea94d9c75b637b5e3c6aff86490d1053745d08b908ccab470781a62d",
            "text": "\\begin{solution}(Latihan~\\ref{ex:rented-labor})"
          }
        },
        "source_span": {
          "content_bytes": 622,
          "content_sha256": "451aa6218753965f1609a5febeff7784574c87740c45bf840535c26ddf7b9371",
          "environment": "solution",
          "id": "unit.r017.book1.ch02.text.solution-016",
          "label": null,
          "line_range": [
            1083,
            1085
          ],
          "native_record_sha256": "78a3b9565bb11fdbabbcbdf18f0e2383316d1ac7f50e29d09ca59c13bc8a2864",
          "normalized_character_range": [
            67187,
            67809
          ],
          "normalized_utf8_byte_range": [
            67187,
            67809
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
          "source_file": {
            "archive": "source",
            "bytes": 67810,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
            "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
          },
          "type": "solution"
        },
        "witnesses": []
      },
      {
        "id": "unit.r017.book1.ch02.text.tryit-001",
        "kind": "tryit",
        "page": 55,
        "page_text_sha256": "c2a4a80a9baf79ef6e2ba857d3578e274cfe5425955c1f7eb13fc516ced42cac",
        "printed_state": "exact-visualization-titles",
        "source_span": {
          "content_bytes": 133,
          "content_sha256": "000548d2dbb1dfd112934a48f5e1b44d9374bd1262eb9dbd1da356d1249c5119",
          "environment": "tryit",
          "id": "unit.r017.book1.ch02.text.tryit-001",
          "label": null,
          "line_range": [
            22,
            24
          ],
          "native_record_sha256": "06d6363816d06547ee6db98d97b74c5fadf8f7db5e367daaca0af1f7258b789d",
          "normalized_character_range": [
            862,
            995
          ],
          "normalized_utf8_byte_range": [
            862,
            995
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
          "source_file": {
            "archive": "source",
            "bytes": 67810,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-linear-programming.tex",
            "sha256": "bc7374d35bf144b85f16bfdbfa5fd8574d9a5e2bc5705c61582670bc53243676"
          },
          "type": "tryit"
        },
        "visualization_titles": [
          {
            "normalized_witness": "darikatakatakematematika",
            "page": 55,
            "slug": "modeling-intro",
            "source_character_range": [
              901,
              929
            ],
            "source_sha256": "8047221fa6523286329d7dd06d522081b655ef8f47b8806b2f2a235ef7b6266d",
            "source_text": "Dari Kata-Kata ke Matematika"
          }
        ],
        "witnesses": [
          {
            "normalized_witness": "tutorialpemodelaninteraktiflangkahdemilangkah",
            "page": 55,
            "source_character_range": [
              932,
              984
            ],
            "source_sha256": "6e2cfdceaf8a2a86ae724beddb88a3925fb8f142dc484c37f615e8ee484c417e",
            "source_text": "tutorial pemodelan interaktif langkah demi langkah.\n"
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch03.text.solution-001",
        "kind": "solution",
        "page": 93,
        "page_text_sha256": "ef1b39c8e480d46a6e14e12a8dc12bfea85e2fe1bfae8743455c2b790c5aaa45",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 1238,
          "content_sha256": "453cef6dcffc02dc71bdb9e06758c81d43286d776dd54927710249f29feca698",
          "environment": "solution",
          "id": "unit.r017.book1.ch03.text.solution-001",
          "label": null,
          "line_range": [
            363,
            373
          ],
          "native_record_sha256": "653c4a6536943a600191ce95f36167062af230d9921a65b83c56d68850aed798",
          "normalized_character_range": [
            24948,
            26186
          ],
          "normalized_utf8_byte_range": [
            24948,
            26186
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-excel.tex",
          "source_file": {
            "archive": "source",
            "bytes": 28566,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-excel.tex",
            "sha256": "a38b55c6ffd45a60b0b225c5fd9807628c17bbc39201efac588fbe760dae5a70"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "masingmasingmenyatakanjumlahwidgetdangadgetyangdiproduksiprogramlinearlpyangmendasarilembarkerjatersebutadalah",
            "page": 93,
            "source_character_range": [
              25034,
              25166
            ],
            "source_sha256": "c3e01ac7694c3237422418b59656690ce20bc8cd4f691800a533e36eec551e8d",
            "source_text": "masing-masing menyatakan jumlah widget dan gadget yang diproduksi.  Program linear (LP) yang mendasari lembar kerja tersebut adalah\n"
          },
          {
            "normalized_witness": "diexceltempatkankeduavariabeldiselkuninghitungfungsitujuandanruaskirikeduakendaladengan",
            "page": 93,
            "source_character_range": [
              25341,
              25447
            ],
            "source_sha256": "c8a6046500658fc7f0f481e6df4972a95635b1fca1bfe74f54ad047b1ed66974",
            "source_text": "Di Excel, tempatkan kedua variabel di sel kuning, hitung fungsi tujuan dan ruas kiri kedua kendala dengan "
          },
          {
            "normalized_witness": "diselhijaulalutambahkankendaladalamsolverdenganmetodesimplexlpsolvermenghasilkan",
            "page": 93,
            "source_character_range": [
              25467,
              25564
            ],
            "source_sha256": "856773fc89b89de942e651b7dd115aed8630cf279d982a9c15939d3b12ecb6bc",
            "source_text": "di sel hijau, lalu tambahkan kendala dalam Solver dengan metode Simplex LP.  Solver menghasilkan "
          },
          {
            "normalized_witness": "secarageometriskemiringanfungsitujuantetapberadadiantarakemiringankeduakendalaaktifsehinggatitiksudutyangsamatetapoptimal",
            "page": 93,
            "source_character_range": [
              26027,
              26172
            ],
            "source_sha256": "c517d75bda263fcae98387c828093f6a5ccab78d8e1d62b52fc4f3b8e08ec117",
            "source_text": "Secara geometris, kemiringan fungsi tujuan tetap berada di antara kemiringan kedua kendala aktif, sehingga titik sudut yang sama tetap optimal.)\n"
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch03.text.solution-002",
        "kind": "solution",
        "page": 93,
        "page_text_sha256": "ef1b39c8e480d46a6e14e12a8dc12bfea85e2fe1bfae8743455c2b790c5aaa45",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 1167,
          "content_sha256": "c38c8527672628a1d53debca56c75ffd5768721ef11ece9744550e56fabb65ec",
          "environment": "solution",
          "id": "unit.r017.book1.ch03.text.solution-002",
          "label": null,
          "line_range": [
            375,
            385
          ],
          "native_record_sha256": "cdb18e3eefa7473af980d214ffba56f352c606876de59c8541f496801775035f",
          "normalized_character_range": [
            26188,
            27355
          ],
          "normalized_utf8_byte_range": [
            26188,
            27355
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-excel.tex",
          "source_file": {
            "archive": "source",
            "bytes": 28566,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-excel.tex",
            "sha256": "a38b55c6ffd45a60b0b225c5fd9807628c17bbc39201efac588fbe760dae5a70"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "selvariabelkuningyangmencerminkantabelbiayadenganjumlahbarisdibandingkandenganpasokandanjumlahkolomdibandingkandenganpermintaan",
            "page": 93,
            "source_character_range": [
              26385,
              26533
            ],
            "source_sha256": "78d7ef4b01dce0138a86ed552fc92d69f675d4d2acb7b8db2ed91e9fc7f1edfe",
            "source_text": "sel variabel kuning yang mencerminkan tabel biaya, dengan jumlah baris dibandingkan dengan pasokan dan jumlah kolom dibandingkan dengan permintaan:\n"
          },
          {
            "normalized_witness": "unitsehinggakeduapasokandigunakansepenuhnyasolvermenemukanrencanaoptimal",
            "page": 93,
            "source_character_range": [
              26930,
              27016
            ],
            "source_sha256": "ff56e20671bc1fc465a15146a9aca54fb25afd8cd9a03595535b97cbf5fc31e8",
            "source_text": "unit), sehingga kedua pasokan digunakan sepenuhnya.  Solver menemukan rencana optimal "
          },
          {
            "normalized_witness": "semuarutelaintidakdigunakandenganbiayaminimum",
            "page": 93,
            "source_character_range": [
              27076,
              27131
            ],
            "source_sha256": "b0f8d60ed56d54e73dca2843256566f1d0c960df4ebe8a7ff79bf3f487c026d7",
            "source_text": "semua rute lain tidak digunakan), dengan biaya minimum "
          },
          {
            "normalized_witness": "pengirimandialokasikanterlebihdahulukepasangangudangtokoberbiayarendahw",
            "page": 93,
            "source_character_range": [
              27138,
              27221
            ],
            "source_sha256": "534b530e33ff12364c74e4daeb983c6957ec173e62cf66585ddc89ec23594e61",
            "source_text": "pengiriman dialokasikan terlebih dahulu ke pasangan gudang--toko berbiaya rendah (W"
          },
          {
            "normalized_witness": "dibagidiantarakeduagudangagarseluruhpasokandanpermintaanseimbang",
            "page": 93,
            "source_character_range": [
              27265,
              27341
            ],
            "source_sha256": "be5caaefc436af5942530c442b3c3d8f05ce46aed8ee104bc0d5104d517d8377",
            "source_text": "dibagi di antara kedua gudang agar seluruh pasokan dan permintaan seimbang.\n"
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch03.text.solution-003",
        "kind": "solution",
        "page": 94,
        "page_text_sha256": "4318c50b5f193ea1f4a266c6fb12e96d40357679e7d6a4d8cab644d5fc41c102",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 1180,
          "content_sha256": "e4a809b9ab66cb63d4bc0bee7eebef8a6382870f104cf839e6ea846877a7054f",
          "environment": "solution",
          "id": "unit.r017.book1.ch03.text.solution-003",
          "label": null,
          "line_range": [
            388,
            391
          ],
          "native_record_sha256": "a36a0f450cd1dccc4655605b320344d8463ec9545aeb0185efa02509611950da",
          "normalized_character_range": [
            27385,
            28565
          ],
          "normalized_utf8_byte_range": [
            27385,
            28565
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-excel.tex",
          "source_file": {
            "archive": "source",
            "bytes": 28566,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-excel.tex",
            "sha256": "a38b55c6ffd45a60b0b225c5fd9807628c17bbc39201efac588fbe760dae5a70"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "ketikakotaktersebutdicentangsolversecaradiamdiammenambahkan",
            "page": 94,
            "source_character_range": [
              27440,
              27509
            ],
            "source_sha256": "8dc7750803fa041736a2447f53b3a13ce8bd9574e5b68aae4581e53f55998524",
            "source_text": "Ketika kotak tersebut dicentang, Solver secara diam-diam menambahkan "
          },
          {
            "normalized_witness": "padadanaaagardanabmencapaibatasmarginnyasehinggamemperoleh",
            "page": 94,
            "source_character_range": [
              27867,
              27937
            ],
            "source_sha256": "6b60f0a32f1ba739d8b820734e367a3e6de11add6232bbe40a710a2f4e89d9bd",
            "source_text": "pada dana A agar dana B mencapai batas marginnya, sehingga memperoleh "
          },
          {
            "normalized_witness": "sendiriatausolverdapatmenghasilkannilainegatifyangtidakbermaknauntukvariabeltersebut",
            "page": 94,
            "source_character_range": [
              28452,
              28551
            ],
            "source_sha256": "bc5cd0ddfe46642f8ac7f597b46def50da40318ff56ba92b10ed64c97d12d95d",
            "source_text": "sendiri, atau Solver dapat menghasilkan nilai negatif yang tidak bermakna untuk variabel tersebut.\n"
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch03.text.tryit-001",
        "kind": "tryit",
        "page": 88,
        "page_text_sha256": "b775db64ae2033be425bddb032f0bc788bcbd0bd9008a5c123ab2f26f67e28ac",
        "printed_state": "exact-visualization-titles",
        "source_span": {
          "content_bytes": 134,
          "content_sha256": "1267fefce69f5cce61169d1ed32f8993cde17519d01998c19c6338d47331b42d",
          "environment": "tryit",
          "id": "unit.r017.book1.ch03.text.tryit-001",
          "label": null,
          "line_range": [
            167,
            169
          ],
          "native_record_sha256": "715ab4b94033ee532ef66ef3c540b08ed4569c04b1ba971657316ea7e16d1c0e",
          "normalized_character_range": [
            13552,
            13686
          ],
          "normalized_utf8_byte_range": [
            13552,
            13686
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-excel.tex",
          "source_file": {
            "archive": "source",
            "bytes": 28566,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-excel.tex",
            "sha256": "a38b55c6ffd45a60b0b225c5fd9807628c17bbc39201efac588fbe760dae5a70"
          },
          "type": "tryit"
        },
        "visualization_titles": [
          {
            "normalized_witness": "panduaninteraktifexcelsolver",
            "page": 88,
            "slug": "excel-solver",
            "source_character_range": [
              13589,
              13620
            ],
            "source_sha256": "bb331fe650eec3caec79cca5641b85a82bea4ffcb66712354b228adfe920df38",
            "source_text": "Panduan Interaktif Excel Solver"
          }
        ],
        "witnesses": []
      },
      {
        "answer": {
          "id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-003",
          "native_relation_id": "relation.answers.unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-003.unit.r017.book1.ch04.text-a.learningcheckpoint-001",
          "page": 659,
          "relation_basis": "native-answers-edge-and-exact-source-label"
        },
        "id": "unit.r017.book1.ch04.text-a.learningcheckpoint-001",
        "kind": "learningcheckpoint",
        "page": 97,
        "page_text_sha256": "abac967ec7b394b069596f74aef420b14f4ce3a3129ed75a268c087a78a829a7",
        "printed_state": "checkpoint-anchor-and-literal-passage",
        "reader": {
          "destination": "tcb@cnt@learningcheckpoint*.293",
          "page": 97,
          "printed_number": "4.0.1"
        },
        "source_span": {
          "content_bytes": 316,
          "content_sha256": "ae51d8b8c35a6008c7a03ea2009908578ddcbd7c22a960e76519fbb3ba22adc8",
          "environment": "learningcheckpoint",
          "id": "unit.r017.book1.ch04.text-a.learningcheckpoint-001",
          "label": "lc:missing-index",
          "line_range": [
            96,
            102
          ],
          "native_record_sha256": "7704e0c09c10dce6ea8d29618817b7645bfe25ec6a9ffa1e59a88d6b75c79340",
          "normalized_character_range": [
            4192,
            4508
          ],
          "normalized_utf8_byte_range": [
            4196,
            4512
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums.tex",
          "source_file": {
            "archive": "source",
            "bytes": 42587,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums.tex",
            "sha256": "571e60349312e349ed7b32fe8ca8e2ae01e7ae1a18f69bc4ac28b378d5b01663"
          },
          "type": "learningcheckpoint"
        },
        "witnesses": [
          {
            "normalized_witness": "tuliskanapayangkurangagarpernyataaninilengkapsecaramatematisindeksmanayangbelumdidefinisikandanbagaimanaindekstersebutseharusnyadiperkenalkan",
            "page": 97,
            "source_character_range": [
              4319,
              4484
            ],
            "source_sha256": "2730b0ce7e83a5bcfc954175a09c41ebd9d1228490dffd392762665ff369f129",
            "source_text": "Tuliskan apa yang kurang agar pernyataan ini lengkap secara matematis. Indeks mana yang belum didefinisikan, dan bagaimana indeks tersebut seharusnya diperkenalkan?\n"
          }
        ]
      },
      {
        "composite_reference": {
          "mapping_method": "unique-page-with-all-short-prose-fragments-in-source-order",
          "page": 127,
          "scope": "Matched prose location only; not full solution extent or mathematical verification.",
          "witnesses": [
            {
              "normalized_page_range": [
                958,
                971
              ],
              "normalized_witness": "apakahpeluang",
              "page": 127,
              "source_character_range": [
                51298,
                51313
              ],
              "source_sha256": "c127d670b1d846945881944cbc24013f2e96e88caec82536b9652c4201665371",
              "source_text": "apakah peluang "
            },
            {
              "normalized_page_range": [
                972,
                1004
              ],
              "normalized_witness": "dipilihuntukinvestasipadaperiode",
              "page": 127,
              "source_character_range": [
                51317,
                51354
              ],
              "source_sha256": "ff8ae1759c5f8aafe0b028e2e7173641633bc6ce7c52f51add32c96cc4231994",
              "source_text": "dipilih untuk investasi pada periode "
            },
            {
              "normalized_page_range": [
                1015,
                1028
              ],
              "normalized_witness": "jikainvestasi",
              "page": 127,
              "source_character_range": [
                51380,
                51395
              ],
              "source_sha256": "6560de361cfa04d009d820b830f6aef2c63f354ea25caa2531e8ee9348321d26",
              "source_text": "jika investasi "
            },
            {
              "normalized_page_range": [
                1029,
                1047
              ],
              "normalized_witness": "dipilihpadaperiode",
              "page": 127,
              "source_character_range": [
                51399,
                51420
              ],
              "source_sha256": "2cae18c438b53f9eceda607c60eac20cc832d969bcab213e7bb2d38ada5149d0",
              "source_text": "dipilih pada periode "
            },
            {
              "normalized_page_range": [
                1076,
                1111
              ],
              "normalized_witness": "investasiyangdiperlukanuntukpeluang",
              "page": 127,
              "source_character_range": [
                51492,
                51532
              ],
              "source_sha256": "f73fb503d7f32ce03da2c98cbf493013cc2b65a278559071a4696c9843f5631b",
              "source_text": "investasi yang diperlukan untuk peluang "
            },
            {
              "normalized_page_range": [
                1127,
                1150
              ],
              "normalized_witness": "pembayarandariinvestasi",
              "page": 127,
              "source_character_range": [
                51568,
                51594
              ],
              "source_sha256": "aa215d7e582cba5781b71c1ec86ac81b9e550205299196214963a8625c2af1f0",
              "source_text": "pembayaran dari investasi "
            },
            {
              "normalized_page_range": [
                1151,
                1172
              ],
              "normalized_witness": "padaperiodeberikutnya",
              "page": 127,
              "source_character_range": [
                51598,
                51621
              ],
              "source_sha256": "c45e27f08ac45b4bf07ec62334ccc8a6a4829aef3369716211fb6411f3584146",
              "source_text": "pada periode berikutnya"
            },
            {
              "normalized_page_range": [
                1184,
                1215
              ],
              "normalized_witness": "kasyangtersediapadaakhirperiode",
              "page": 127,
              "source_character_range": [
                51661,
                51698
              ],
              "source_sha256": "4834101864c7fb3b0de7aa6713f3d34b0f1d9c129abe89e93c88b58fa8c4c6a4",
              "source_text": "Kas yang tersedia pada akhir periode "
            },
            {
              "normalized_page_range": [
                1216,
                1252
              ],
              "normalized_witness": "adalahpembayarandariinvestasiperiode",
              "page": 127,
              "source_character_range": [
                51700,
                51741
              ],
              "source_sha256": "d35cb98040a763581fb81af0dfe973b15aab294ffdea24282519c1d4d24b05d5",
              "source_text": "adalah pembayaran dari investasi periode "
            }
          ]
        },
        "id": "unit.r017.book1.ch04.text-b.solution-001",
        "kind": "solution",
        "page": 127,
        "page_text_sha256": "42997d45263bba9e03e7fbb62b40ffad22f03139c1cb6f4ffc9941c9574b4537",
        "printed_state": "ordered-composite-literal-passages",
        "source_span": {
          "content_bytes": 1649,
          "content_sha256": "23f4f2569a07b2865597d5fd8f86f397205689e7b9a37fa1f16249426f5627b7",
          "environment": "solution",
          "id": "unit.r017.book1.ch04.text-b.solution-001",
          "label": null,
          "line_range": [
            962,
            1005
          ],
          "native_record_sha256": "f59351cdb9edf76472a2c6dc5633eab7818cf7addc46d13f1493648731e2cd47",
          "normalized_character_range": [
            51245,
            52894
          ],
          "normalized_utf8_byte_range": [
            51245,
            52894
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
          "source_file": {
            "archive": "source",
            "bytes": 85343,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
            "sha256": "cb07632203302bd695426880f491a496e67cf2f9504a25231988a8ea6a767eb4"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_page_range": [
              958,
              971
            ],
            "normalized_witness": "apakahpeluang",
            "page": 127,
            "source_character_range": [
              51298,
              51313
            ],
            "source_sha256": "c127d670b1d846945881944cbc24013f2e96e88caec82536b9652c4201665371",
            "source_text": "apakah peluang "
          },
          {
            "normalized_page_range": [
              972,
              1004
            ],
            "normalized_witness": "dipilihuntukinvestasipadaperiode",
            "page": 127,
            "source_character_range": [
              51317,
              51354
            ],
            "source_sha256": "ff8ae1759c5f8aafe0b028e2e7173641633bc6ce7c52f51add32c96cc4231994",
            "source_text": "dipilih untuk investasi pada periode "
          },
          {
            "normalized_page_range": [
              1015,
              1028
            ],
            "normalized_witness": "jikainvestasi",
            "page": 127,
            "source_character_range": [
              51380,
              51395
            ],
            "source_sha256": "6560de361cfa04d009d820b830f6aef2c63f354ea25caa2531e8ee9348321d26",
            "source_text": "jika investasi "
          },
          {
            "normalized_page_range": [
              1029,
              1047
            ],
            "normalized_witness": "dipilihpadaperiode",
            "page": 127,
            "source_character_range": [
              51399,
              51420
            ],
            "source_sha256": "2cae18c438b53f9eceda607c60eac20cc832d969bcab213e7bb2d38ada5149d0",
            "source_text": "dipilih pada periode "
          },
          {
            "normalized_page_range": [
              1076,
              1111
            ],
            "normalized_witness": "investasiyangdiperlukanuntukpeluang",
            "page": 127,
            "source_character_range": [
              51492,
              51532
            ],
            "source_sha256": "f73fb503d7f32ce03da2c98cbf493013cc2b65a278559071a4696c9843f5631b",
            "source_text": "investasi yang diperlukan untuk peluang "
          },
          {
            "normalized_page_range": [
              1127,
              1150
            ],
            "normalized_witness": "pembayarandariinvestasi",
            "page": 127,
            "source_character_range": [
              51568,
              51594
            ],
            "source_sha256": "aa215d7e582cba5781b71c1ec86ac81b9e550205299196214963a8625c2af1f0",
            "source_text": "pembayaran dari investasi "
          },
          {
            "normalized_page_range": [
              1151,
              1172
            ],
            "normalized_witness": "padaperiodeberikutnya",
            "page": 127,
            "source_character_range": [
              51598,
              51621
            ],
            "source_sha256": "c45e27f08ac45b4bf07ec62334ccc8a6a4829aef3369716211fb6411f3584146",
            "source_text": "pada periode berikutnya"
          },
          {
            "normalized_page_range": [
              1184,
              1215
            ],
            "normalized_witness": "kasyangtersediapadaakhirperiode",
            "page": 127,
            "source_character_range": [
              51661,
              51698
            ],
            "source_sha256": "4834101864c7fb3b0de7aa6713f3d34b0f1d9c129abe89e93c88b58fa8c4c6a4",
            "source_text": "Kas yang tersedia pada akhir periode "
          },
          {
            "normalized_page_range": [
              1216,
              1252
            ],
            "normalized_witness": "adalahpembayarandariinvestasiperiode",
            "page": 127,
            "source_character_range": [
              51700,
              51741
            ],
            "source_sha256": "d35cb98040a763581fb81af0dfe973b15aab294ffdea24282519c1d4d24b05d5",
            "source_text": "adalah pembayaran dari investasi periode "
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch04.text-b.solution-002",
        "kind": "solution",
        "page": 135,
        "page_text_sha256": "58448b33caa62b270d4e66afa21280e72c786c3f51aea425b9f1042583c409f1",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 649,
          "content_sha256": "84524f6b14f979e28201f815a8dd1b18d76a50f728b49a0c72f297142f3c27c0",
          "environment": "solution",
          "id": "unit.r017.book1.ch04.text-b.solution-002",
          "label": null,
          "line_range": [
            1429,
            1431
          ],
          "native_record_sha256": "a7a655d41a5d0b48bfc5d32d660547134e1fee288fb55ecf4fcdc226523477ed",
          "normalized_character_range": [
            78636,
            79285
          ],
          "normalized_utf8_byte_range": [
            78636,
            79285
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
          "source_file": {
            "archive": "source",
            "bytes": 85343,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
            "sha256": "cb07632203302bd695426880f491a496e67cf2f9504a25231988a8ea6a767eb4"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "satukendalapenugasanpermesindansatuperpekerjaansertafungsitujuan",
            "page": 135,
            "source_character_range": [
              78811,
              78888
            ],
            "source_sha256": "7d1a508475a07c67ed8e69bba7df1da05cb0d9aa330fcbccbca45cffcdcefbe5",
            "source_text": "satu kendala penugasan per mesin dan satu per pekerjaan, serta fungsi tujuan "
          },
          {
            "normalized_witness": "penugasanmemastikanbahwasolusiinioptimalpenugasanterbaikberikutnyaberbiaya",
            "page": 135,
            "source_character_range": [
              79180,
              79265
            ],
            "source_sha256": "62059a8a8dd50d136dc59920aa5efed640960ffd0d6266405661584e1d1866b4",
            "source_text": "penugasan memastikan bahwa solusi ini optimal; penugasan terbaik berikutnya berbiaya "
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch04.text-b.solution-003",
        "kind": "solution",
        "page": 135,
        "page_text_sha256": "58448b33caa62b270d4e66afa21280e72c786c3f51aea425b9f1042583c409f1",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 1503,
          "content_sha256": "c91b3650a768298f63a9c1efcbeb078981dd1a02a4ba668bcc0865937aba765d",
          "environment": "solution",
          "id": "unit.r017.book1.ch04.text-b.solution-003",
          "label": null,
          "line_range": [
            1433,
            1444
          ],
          "native_record_sha256": "6eebd69cb4b5accea771ccd4bd092c06c8d97de29068baabae8618442056ae61",
          "normalized_character_range": [
            79287,
            80790
          ],
          "normalized_utf8_byte_range": [
            79287,
            80790
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
          "source_file": {
            "archive": "source",
            "bytes": 85343,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
            "sha256": "cb07632203302bd695426880f491a496e67cf2f9504a25231988a8ea6a767eb4"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "perkenalkansatuvariabeluntuksetiaprutetransportasimisalkan",
            "page": 135,
            "source_character_range": [
              79338,
              79405
            ],
            "source_sha256": "0b70de8a4e05b9b83d6be13449f7a679504b27b4b2ad739ae39620b0c465c442",
            "source_text": "Perkenalkan satu variabel untuk setiap rute transportasi: misalkan "
          },
          {
            "normalized_witness": "adalahjumlahunitpasokanyangdikirimkanmelaluibusurdarisimpul",
            "page": 135,
            "source_character_range": [
              79421,
              79490
            ],
            "source_sha256": "1a59416b1b4526ecda88c55a3e4731e5da7dd298cfa4fa4c91115211d967f58d",
            "source_text": "adalah jumlah unit pasokan yang dikirimkan melalui busur dari simpul "
          },
          {
            "normalized_witness": "danseterusnyafungsitujuannyaadalahmemaksimalkanjumlahtotalyangmencapaihub",
            "page": 135,
            "source_character_range": [
              79602,
              79689
            ],
            "source_sha256": "99a0f0b971e23f0ff30213d9f4ec4c1f667cf627fd9a2e3810ecf393abb452d7",
            "source_text": "dan seterusnya). Fungsi tujuannya adalah memaksimalkan jumlah total yang mencapai hub,\n"
          },
          {
            "normalized_witness": "terdapattigakelompokkendalasetiapbusurmemilikikapasitastruk",
            "page": 135,
            "source_character_range": [
              79768,
              79838
            ],
            "source_sha256": "02042576aceb7fbde883ac4891f2a0aa92c5443985787fd1a87d16d5957de89c",
            "source_text": "Terdapat tiga kelompok kendala. Setiap busur memiliki kapasitas truk, "
          },
          {
            "normalized_witness": "sebagaikapasitasyangtertulispadabusursetiapsimpuldistribusimeneruskanseluruhaliranyangditerimanyasehinggaalirandikonservasidisanamisalnyapada",
            "page": 135,
            "source_character_range": [
              79876,
              80042
            ],
            "source_sha256": "e29fd430c474063f4673115e650875b72e11ab0039c8c301f40b57f59d1f57a4",
            "source_text": "sebagai kapasitas yang tertulis pada busur. Setiap simpul distribusi meneruskan seluruh aliran yang diterimanya, sehingga aliran dikonservasi di sana; misalnya, pada "
          },
          {
            "normalized_witness": "terakhirsetiapgudangdapatmengirimkanpalingbanyaksebanyakpersediaanyangdimilikinyaalirantotalyangmeninggalkangudang",
            "page": 135,
            "source_character_range": [
              80171,
              80303
            ],
            "source_sha256": "ee8a2489aac29a00652df603a9ee0818c91b3a0d9941446739e22578ab3396ba",
            "source_text": "Terakhir, setiap gudang dapat mengirimkan paling banyak sebanyak persediaan yang dimilikinya: aliran total yang meninggalkan gudang "
          },
          {
            "normalized_witness": "tidakmelebihipersediaannyasatuhalyangperludiperhatikantentangpermintaanjangansisakanpersediaanmenuliskankendalagudangsebagaipersamaanmembuatmodeltidaklayaksebabmisalnya",
            "page": 135,
            "source_character_range": [
              80309,
              80510
            ],
            "source_sha256": "a7baa04b0b3f2e24ff95cce791e7c68c8a90b5e780186252affe4b31fb1bc25c",
            "source_text": "tidak melebihi persediaannya.\nSatu hal yang perlu diperhatikan tentang permintaan ``jangan sisakan persediaan'': menuliskan kendala gudang sebagai persamaan membuat model tidak layak, sebab, misalnya, "
          },
          {
            "normalized_witness": "unitsedangkansatusatunyarutekeluarnyahanyaberkapasitas",
            "page": 135,
            "source_character_range": [
              80530,
              80592
            ],
            "source_sha256": "096f142d4500c6f477c9cd30602abb1ba592518efc43db4a9a5d6b0dd2383362",
            "source_text": "unit sedangkan satu-satunya rute keluarnya hanya berkapasitas "
          },
          {
            "normalized_witness": "olehkarenaituperlakukanpersediaansebagaibatasatasalirankeluargudangdanbiarkanfungsitujuanmendorongaliransebesarmungkinmelaluijaringansesuaibataskapasitas",
            "page": 135,
            "source_character_range": [
              80597,
              80776
            ],
            "source_sha256": "835d7fc60627fdabe019793e184dc04f4860d544f5835222cbb1a82413ea1fe2",
            "source_text": "Oleh karena itu, perlakukan persediaan sebagai batas atas aliran keluar gudang dan biarkan fungsi tujuan mendorong aliran sebesar mungkin melalui jaringan sesuai batas kapasitas.\n"
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch04.text-b.solution-004",
        "kind": "solution",
        "page": 136,
        "page_text_sha256": "d7ec4d4a6c280b57d1ed8dd0a7727ea28491b89b734424be6771342061d3295c",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 1372,
          "content_sha256": "bb35586a3264b03ad4f6cb63329c3fc4eedd055b2b24e86a2b6930def3fb7a30",
          "environment": "solution",
          "id": "unit.r017.book1.ch04.text-b.solution-004",
          "label": null,
          "line_range": [
            1446,
            1459
          ],
          "native_record_sha256": "71c57d74c6207d1972f460be026ff184d8e134f0ed9b589393fef28aed0fbac2",
          "normalized_character_range": [
            80792,
            82164
          ],
          "normalized_utf8_byte_range": [
            80792,
            82164
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
          "source_file": {
            "archive": "source",
            "bytes": 85343,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
            "sha256": "cb07632203302bd695426880f491a496e67cf2f9504a25231988a8ea6a767eb4"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "dengantetapmemenuhikonservasialiranpadakeempatsimpulinternaldankapasitasbusur",
            "page": 136,
            "source_character_range": [
              80944,
              81034
            ],
            "source_sha256": "01af16b28dfe4dc807934dab34ff9a5fa66f899d8333674204190faf323f87d7",
            "source_text": "dengan tetap memenuhi konservasi aliran pada keempat simpul internal dan kapasitas busur:\n"
          },
          {
            "normalized_witness": "penyelesaianlpinidiexcelataudengancaralainmenghasilkanaliranmaksimum",
            "page": 136,
            "source_character_range": [
              81653,
              81735
            ],
            "source_sha256": "bf330ec86bbef9eb0e943daadfbb45b66f7b35e77a658caf21e5b9ff10924016",
            "source_text": "Penyelesaian LP ini (di Excel atau dengan cara lain) menghasilkan aliran maksimum "
          },
          {
            "normalized_witness": "andadapatmemastikanoptimalitastanpateoriapapunduabusuryangmasukke",
            "page": 136,
            "source_character_range": [
              81954,
              82033
            ],
            "source_sha256": "790ba75e0eb5c9bd58a5a539e81dd569011db428c6f13c2fffb793fdba466913",
            "source_text": "Anda dapat memastikan optimalitas tanpa teori apa pun: dua busur yang masuk ke "
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch04.text-b.solution-005",
        "kind": "solution",
        "page": 136,
        "page_text_sha256": "d7ec4d4a6c280b57d1ed8dd0a7727ea28491b89b734424be6771342061d3295c",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 1177,
          "content_sha256": "87a3fdd51d4f6549929aea47a9a113069ebd37d4184c485a045373ca586d5034",
          "environment": "solution",
          "id": "unit.r017.book1.ch04.text-b.solution-005",
          "label": null,
          "line_range": [
            1461,
            1472
          ],
          "native_record_sha256": "8533660d7362de139cade6bb9acc15521ce3f09e82be10d342501b322e628395",
          "normalized_character_range": [
            82166,
            83343
          ],
          "normalized_utf8_byte_range": [
            82166,
            83343
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
          "source_file": {
            "archive": "source",
            "bytes": 85343,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
            "sha256": "cb07632203302bd695426880f491a496e67cf2f9504a25231988a8ea6a767eb4"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "perkenalkanvariabelaliranuntukmasingmasingdarisepuluhbusur",
            "page": 136,
            "source_character_range": [
              82220,
              82288
            ],
            "source_sha256": "9d3e296ee3a530577532ad338369d7537fd9782c37a5be89937abd883b913e2a",
            "source_text": "Perkenalkan variabel aliran untuk masing-masing dari sepuluh busur: "
          },
          {
            "normalized_witness": "darisetiaphubkesetiaptokokendalapasokanmemberikan",
            "page": 136,
            "source_character_range": [
              82371,
              82430
            ],
            "source_sha256": "e052d9fed35cd19f4989a57c2efcd2e91f8faf6c69c09cfb56ca71d32d690065",
            "source_text": "dari setiap hub ke setiap toko. Kendala pasokan memberikan "
          },
          {
            "normalized_witness": "samadenganpasokantotalsehinggakeduapabrikmengirimkanseluruhproduknyarencanaoptimalmengirimkan",
            "page": 136,
            "source_character_range": [
              82775,
              82883
            ],
            "source_sha256": "35ef31d9f280cbe0b22d38f5204cfd1081a4b3af5dae3e313548905be5ebbfed",
            "source_text": "sama dengan pasokan total, sehingga kedua pabrik mengirimkan seluruh produknya. Rencana optimal mengirimkan "
          },
          {
            "normalized_witness": "strukturnyamudahdipahamipabrikbmenggunakanbusurnyayangmurahmenuju",
            "page": 136,
            "source_character_range": [
              83118,
              83194
            ],
            "source_sha256": "f287c49bd02567e8dfd048feda8adaaa71ea1a8a9bccab37c7df0fda6ab485b9",
            "source_text": "Strukturnya mudah dipahami: pabrik B menggunakan busurnya yang murah menuju "
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch04.text-b.solution-006",
        "kind": "solution",
        "page": 136,
        "page_text_sha256": "d7ec4d4a6c280b57d1ed8dd0a7727ea28491b89b734424be6771342061d3295c",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 1391,
          "content_sha256": "817270458123b994f41fd3c07b312882ce489659986bb6a3edace387ffeda823",
          "environment": "solution",
          "id": "unit.r017.book1.ch04.text-b.solution-006",
          "label": null,
          "line_range": [
            1474,
            1480
          ],
          "native_record_sha256": "3e65e1e29f941404066553f85b85ce983083ac6b9410169ffe66c9f4d5eab0d2",
          "normalized_character_range": [
            83345,
            84736
          ],
          "normalized_utf8_byte_range": [
            83345,
            84736
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
          "source_file": {
            "archive": "source",
            "bytes": 85343,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
            "sha256": "cb07632203302bd695426880f491a496e67cf2f9504a25231988a8ea6a767eb4"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "pemeriksaanterhadapkeenampenugasanmenunjukkanbahwainilahpemaksimumtunggaluntukbagian",
            "page": 136,
            "source_character_range": [
              83542,
              83638
            ],
            "source_sha256": "4f16cc2e5bd3f573fbe823c0d19eaee523476398f4a6fa0c49bbd0a7fca9c2cb",
            "source_text": "pemeriksaan terhadap keenam penugasan menunjukkan bahwa inilah pemaksimum tunggal. Untuk bagian "
          },
          {
            "normalized_witness": "penugasanyangsamamemberikankepuasanminimumtim",
            "page": 136,
            "source_character_range": [
              83641,
              83693
            ],
            "source_sha256": "638b1b63c24a73cc636e342839491b291c120e7bf0f8e60d492209c0f3f1d77d",
            "source_text": "penugasan yang sama memberikan kepuasan minimum tim "
          },
          {
            "normalized_witness": "dankeduanyatidakdapatmemperolehproyekyangsamauntukbagian",
            "page": 136,
            "source_character_range": [
              83879,
              83946
            ],
            "source_sha256": "23f7aecf70fce3cbe1a1f170aa059c504b17beacbe7ae0e5d4034e0ec9b22c6a",
            "source_text": "dan keduanya tidak dapat memperoleh proyek yang sama. Untuk bagian "
          },
          {
            "normalized_witness": "yangmerupakanmatriksstokastikgandadanmemberikansetiaptimkepuasanharapantepatsebesar",
            "page": 136,
            "source_character_range": [
              84089,
              84185
            ],
            "source_sha256": "78568992b3560733295774ce4fef9a975e84ee1f08e30d54a21bb004f7356fba",
            "source_text": "yang merupakan matriks stokastik ganda dan memberikan setiap tim kepuasan harapan tepat sebesar "
          },
          {
            "normalized_witness": "terdapatsuatutitiksudutoptimalyangintegraldanpecahantidakdapatmemperbaikinyakendalatambahan",
            "page": 137,
            "source_character_range": [
              84484,
              84590
            ],
            "source_sha256": "10c634371b881fa2d378ad12e97f2ba0f59273146c57a9ee06580632b122a95b",
            "source_text": "terdapat suatu titik sudut optimal yang integral dan pecahan tidak dapat memperbaikinya; kendala tambahan "
          },
          {
            "normalized_witness": "merusakstrukturtersebutpersissepertipadacontohduatimdibagian",
            "page": 137,
            "source_character_range": [
              84620,
              84691
            ],
            "source_sha256": "c2d6f141ddc2fc4450c01cd5a4b51f00f0c7b660619b5bcf88ccac77678cfc56",
            "source_text": "merusak struktur tersebut, persis seperti pada contoh dua tim di Bagian"
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch04.text-b.tryit-001",
        "kind": "tryit",
        "page": 126,
        "page_text_sha256": "157db6775d3297b1edeb9d91692200af24fdf3a2994fed40c46389d242e91db5",
        "printed_state": "exact-visualization-titles",
        "source_span": {
          "content_bytes": 221,
          "content_sha256": "17f035ca68630bb23ec8706600336d78dc350fc42b723bed91d91c43841cf944",
          "environment": "tryit",
          "id": "unit.r017.book1.ch04.text-b.tryit-001",
          "label": null,
          "line_range": [
            913,
            915
          ],
          "native_record_sha256": "2b465f23585d8ecae1983504c3e8fb3e4de514465921f694898472cdb6aa1d56",
          "normalized_character_range": [
            48896,
            49117
          ],
          "normalized_utf8_byte_range": [
            48896,
            49117
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
          "source_file": {
            "archive": "source",
            "bytes": 85343,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/modeling-sums-continued.tex",
            "sha256": "cb07632203302bd695426880f491a496e67cf2f9504a25231988a8ea6a767eb4"
          },
          "type": "tryit"
        },
        "visualization_titles": [
          {
            "normalized_witness": "masalahaliranjaringan",
            "page": 126,
            "slug": "network-flow",
            "source_character_range": [
              48933,
              48956
            ],
            "source_sha256": "e18eaa7d9c7879fdf6a6b696ab86f67cbc5948230e786b36a595539527e42ef6",
            "source_text": "Masalah Aliran Jaringan"
          }
        ],
        "witnesses": [
          {
            "normalized_witness": "aliranberbiayaminimumtransportasidanlintasanterpendekpadajaringaninteraktifdilengkapideskripsidanaplikasidalambahasayanglugas",
            "page": 126,
            "source_character_range": [
              48959,
              49106
            ],
            "source_sha256": "aaf66c897499714052a1886d246283544f6e4524dd5fab2cda6960843bd921f2",
            "source_text": "aliran berbiaya minimum, transportasi, dan lintasan terpendek pada jaringan interaktif, dilengkapi deskripsi dan aplikasi dalam bahasa yang lugas.\n"
          }
        ]
      },
      {
        "answer": {
          "id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-002",
          "native_relation_id": "relation.answers.unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-002.unit.r017.book1.ch05.text.learningcheckpoint-001",
          "page": 659,
          "relation_basis": "native-answers-edge-and-exact-source-label"
        },
        "id": "unit.r017.book1.ch05.text.learningcheckpoint-001",
        "kind": "learningcheckpoint",
        "page": 147,
        "page_text_sha256": "d522157fe04de7668115994038d1eb7614cd8c9ce44ef9a78265044b06f57f36",
        "printed_state": "checkpoint-anchor-and-literal-passage",
        "reader": {
          "destination": "tcb@cnt@learningcheckpoint*.527",
          "page": 147,
          "printed_number": "5.3.1"
        },
        "source_span": {
          "content_bytes": 1611,
          "content_sha256": "8607e7490498e89a68c28f475e1c466ac3d5c4959747ee55e8ef5ba762bdba88",
          "environment": "learningcheckpoint",
          "id": "unit.r017.book1.ch05.text.learningcheckpoint-001",
          "label": "lc:how-many-optima",
          "line_range": [
            451,
            485
          ],
          "native_record_sha256": "15bf373a87c3d2006d5f199c12bc7c109dd674d9421ab94a24b1adbc2a20cd66",
          "normalized_character_range": [
            25221,
            26832
          ],
          "normalized_utf8_byte_range": [
            25221,
            26832
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
          "source_file": {
            "archive": "source",
            "bytes": 65226,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
            "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
          },
          "type": "learningcheckpoint"
        },
        "witnesses": [
          {
            "normalized_witness": "perhatikanrepresentasigrafisdibawahiniberapabanyaksolusioptimalyangadajikakitamelakukanmaksimisasibagaimanajikakitamelakukanminimisasi",
            "page": 147,
            "source_character_range": [
              25276,
              25434
            ],
            "source_sha256": "d8bfdea7aa02a5b44e1079a97d0be8947433340dfd13d76d934c66378c3b7b45",
            "source_text": "Perhatikan representasi grafis di bawah ini. Berapa banyak solusi optimal yang ada jika kita melakukan maksimisasi? Bagaimana jika kita melakukan minimisasi?\n"
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch05.text.solution-001",
        "kind": "solution",
        "page": 142,
        "page_text_sha256": "a80c755652fc45615c6b93313ce54cd57e12379cfba26f27638d91dec1992a3b",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 3750,
          "content_sha256": "e322d23e29205f34d7afe9477513896f194f4fb37ec0eae692635a41a8009dd2",
          "environment": "solution",
          "id": "unit.r017.book1.ch05.text.solution-001",
          "label": "fig:FurnitureWorkshopFeasibleRegion",
          "line_range": [
            154,
            216
          ],
          "native_record_sha256": "047a15e5a7476b668125d22e1d03de99210100adb636e8c49934fa81aab347cf",
          "normalized_character_range": [
            8613,
            12363
          ],
          "normalized_utf8_byte_range": [
            8613,
            12363
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
          "source_file": {
            "archive": "source",
            "bytes": 65226,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
            "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "untukmenyelesaikannyasecaragrafismulamulakitamenggambardaerahlayakdenganmemplotgarisbatassetiapkendaladanmengarsirdaerahyangmemenuhisemuapertidaksamaansecarabersamaanhasilnyaditunjukkanpadagambar",
            "page": 142,
            "source_character_range": [
              8630,
              8855
            ],
            "source_sha256": "e4e36323b52be5d7f124124a597b1004381c41c9afeefc4b8c8e132a2a17871c",
            "source_text": "Untuk menyelesaikannya secara grafis, mula-mula kita menggambar daerah layak dengan memplot garis batas setiap kendala dan mengarsir daerah yang memenuhi semua pertidaksamaan secara bersamaan. Hasilnya ditunjukkan pada Gambar"
          },
          {
            "normalized_witness": "berikutnyakitamenumpangkankurvaarasfungsiobjektifdenganmenetapkan",
            "page": 142,
            "source_character_range": [
              11371,
              11447
            ],
            "source_sha256": "034ac7a503720d7a0193c5ed41756fb07c38512018e49a511e8824aee58c332b",
            "source_text": "Berikutnya, kita menumpangkan kurva aras fungsi objektif. Dengan menetapkan "
          },
          {
            "normalized_witness": "yangmerupakangarisgarissejajardengankemiringan",
            "page": 142,
            "source_character_range": [
              11538,
              11591
            ],
            "source_sha256": "98cb29386507c9acdfba5aa6d18b01583c67233366326089955186cf09fc4204",
            "source_text": "yang merupakan garis-garis sejajar dengan kemiringan "
          },
          {
            "normalized_witness": "denganmenyapukankurvaaraskearahinikurvaterakhiryangmenyentuhdaerahlayakmenyentuhtitikekstrem",
            "page": 142,
            "source_character_range": [
              11664,
              11773
            ],
            "source_sha256": "19ee3823ffa89ecf64429c9f4db1c1a86f7653100b9d4f366ffb4fe128593d9e",
            "source_text": "Dengan menyapukan kurva aras ke arah ini, kurva terakhir yang menyentuh daerah layak menyentuh titik ekstrem "
          },
          {
            "normalized_witness": "titikoptimaliniberadapadaperpotonganduakendala",
            "page": 142,
            "source_character_range": [
              11869,
              11923
            ],
            "source_sha256": "1d1734231f1b6eeccaeaceceb7f47b9a56ecdbbad6d23bbdbd99160a82f8fefc",
            "source_text": "Titik optimal ini berada pada perpotongan dua kendala "
          },
          {
            "normalized_witness": "keduakendaladipenuhisebagaipersamaanpadaoptimumkitamenyebutnya",
            "page": 142,
            "source_character_range": [
              11956,
              12028
            ],
            "source_sha256": "f4babeb03599eecb6b68699871e4f9c82e397f9c340fd22477ce3c32c379330c",
            "source_text": "Kedua kendala dipenuhi sebagai persamaan pada optimum; kita menyebutnya "
          },
          {
            "normalized_witness": "halinimenggambarkanprinsipumumketikasolusioptimalsuatuprogramlinieradasolusitersebutterjadipadatitikekstremdaerahlayakyakniperpotonganbeberapakendalaaktif",
            "page": 142,
            "source_character_range": [
              12166,
              12349
            ],
            "source_sha256": "040844a4add0dcb32a04e964165d6453131d2118a688e220c53149617c56283d",
            "source_text": "Hal ini menggambarkan prinsip umum: ketika solusi optimal suatu program linier ada, solusi tersebut terjadi pada titik ekstrem daerah layak, yakni perpotongan beberapa kendala aktif.\n"
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch05.text.solution-002",
        "kind": "solution",
        "page": 143,
        "page_text_sha256": "9394ec3ec8b9c132a6f3bb435b1c1b63ce39e061144b00339a7ec832c54778b8",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 5302,
          "content_sha256": "cb6e0a6eccba12c72aeb9bfcd8e7705268d4cf78fbb523da24154f2208793e19",
          "environment": "solution",
          "id": "unit.r017.book1.ch05.text.solution-002",
          "label": "fig:LemonadeVendorFeasibleRegion",
          "line_range": [
            260,
            359
          ],
          "native_record_sha256": "3044aa500b641186b544c370d33cf2120d9539931a45a40164c6aad415e45aa1",
          "normalized_character_range": [
            14649,
            19951
          ],
          "normalized_utf8_byte_range": [
            14649,
            19951
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
          "source_file": {
            "archive": "source",
            "bytes": 65226,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
            "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "kitadapatmenyelesaikanmasalahmaksimisasiinisecaragrafissebagaiberikutmulamulakitamenggambarhimpunan",
            "page": 143,
            "source_character_range": [
              14666,
              14781
            ],
            "source_sha256": "0669167bf24aeeb083611e8c5b0961527b5d10d4e70684601c260ab084c1f65c",
            "source_text": "Kita dapat menyelesaikan masalah maksimisasi ini secara grafis sebagai\nberikut. Mula-mula kita menggambar himpunan "
          },
          {
            "normalized_witness": "yangmemenuhisemuakendalayangdisebutdaerahlayakpadabidang",
            "page": 143,
            "source_character_range": [
              14789,
              14857
            ],
            "source_sha256": "f7d0d2617edd4e642b6cec284d79e18c71d041cd1c0772e8a66b1ca3f6df8253",
            "source_text": "yang memenuhi\nsemua kendala, yang disebut daerah layak, pada bidang "
          },
          {
            "normalized_witness": "arahinikitasebutarahperbaikanmenentukannilaimaksimumfungsiobjektifyangdisebutnilaioptimaldengantetapmemenuhikendalasetaradenganmencarinilaimaksimum",
            "page": 143,
            "source_character_range": [
              15110,
              15284
            ],
            "source_sha256": "79810a35d59b5d634d64624a16aa56949f6e2c0b424f5a38d99329c0a5bd9cce",
            "source_text": "Arah ini kita sebut\narah perbaikan. Menentukan nilai maksimum fungsi objektif,\nyang disebut nilai optimal, dengan tetap memenuhi kendala setara dengan\nmencari nilai maksimum "
          },
          {
            "normalized_witness": "sedemikiansehinggagarisyangdidefinisikanolehpersamaan",
            "page": 143,
            "source_character_range": [
              15290,
              15350
            ],
            "source_sha256": "0ff1bd8aa01eb53e06a8184ddcf148ffb3ce420a83ae61bc7f3be05678349288",
            "source_text": "sedemikian sehingga garis yang didefinisikan\noleh persamaan "
          },
          {
            "normalized_witness": "tidakakanberpotongandengandaerahlayakjadilabatidakdapatmelebihi",
            "page": 144,
            "source_character_range": [
              19508,
              19584
            ],
            "source_sha256": "09113be749d7aa3e7367c82fa9f1cb3e83cd63b8fdaeb09a2323e01ca90061b4",
            "source_text": "tidak akan berpotongan dengan\ndaerah layak. Jadi, laba tidak dapat melebihi "
          },
          {
            "normalized_witness": "merupakannilaimaksimumfungsiobjektifperhatikanbahwahanyaadasatutitikdidaerahlayakyangberpotongandengangaris",
            "page": 145,
            "source_character_range": [
              19666,
              19792
            ],
            "source_sha256": "533555bee9b5b8ce412ccb1afe592d4f13d9fb37fa087f2fdc3b1470e2814c84",
            "source_text": "merupakan nilai maksimum fungsi objektif. Perhatikan bahwa hanya ada satu\ntitik di daerah layak yang berpotongan dengan garis "
          },
          {
            "normalized_witness": "dengankatalainuntukmemaksimumkanlabakitaperlumembuat",
            "page": 145,
            "source_character_range": [
              19834,
              19897
            ],
            "source_sha256": "b109cb1dc0cbe5f006ed3980f9f7503463f270966a6ad8830c4173168c91bb20",
            "source_text": "Dengan kata lain, untuk memaksimumkan laba, kita perlu membuat "
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch05.text.solution-003",
        "kind": "solution",
        "page": 145,
        "page_text_sha256": "2db4589c32ecb8177d3a01cded371dd36e664b258b7bf38c8df5332e5433adcb",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 2746,
          "content_sha256": "fc1419276ed932e15e289fadb78e33c703a56e0945bebbb7d1762250d81aa010",
          "environment": "solution",
          "id": "unit.r017.book1.ch05.text.solution-003",
          "label": "fig:FurnitureWorkshopAltOptSoln",
          "line_range": [
            389,
            438
          ],
          "native_record_sha256": "985f06207ed4b18fff7822bbb9152e154fc2f8d479c02be67ac11bcba64ddb17",
          "normalized_character_range": [
            21641,
            24387
          ],
          "normalized_utf8_byte_range": [
            21641,
            24387
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
          "source_file": {
            "archive": "source",
            "bytes": 65226,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
            "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "kurvakurvaarasobjektifjustrusejajardengangariskendalatersebutketikakitamenyapukankurvaaraskearahgradienkurvaarasterakhiryangmenyentuhdaerahlayakberimpitdenganseluruhsisidari",
            "page": 145,
            "source_character_range": [
              21771,
              21976
            ],
            "source_sha256": "607ac879489b30fcf28d186ec4a02e23bd7c3dd6f86df4a925dd50fce8be2f38",
            "source_text": "kurva-kurva aras objektif justru sejajar dengan garis kendala tersebut. Ketika kita menyapukan kurva aras ke arah gradien, kurva aras terakhir yang menyentuh daerah layak berimpit dengan seluruh sisi dari "
          },
          {
            "normalized_witness": "karenaterdapattakterhinggabanyaktitiksepertiinimasalahtersebutmemilikitakterhinggabanyaksolusioptimal",
            "page": 146,
            "source_character_range": [
              24215,
              24334
            ],
            "source_sha256": "8553bce77be7c8b1503672a7cd85509827da4592fa87af592f34b4b97d9ce6ac",
            "source_text": "Karena terdapat tak terhingga banyak titik seperti ini, masalah tersebut memiliki tak terhingga banyak solusi optimal.\n"
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch05.text.solution-004",
        "kind": "solution",
        "page": 147,
        "page_text_sha256": "d522157fe04de7668115994038d1eb7614cd8c9ce44ef9a78265044b06f57f36",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 1972,
          "content_sha256": "2a36f3613d0c6e4ee17526eab692d56ced4847a382d755a5e7c33632f684ad79",
          "environment": "solution",
          "id": "unit.r017.book1.ch05.text.solution-004",
          "label": "fig:LPInfeasible",
          "line_range": [
            504,
            542
          ],
          "native_record_sha256": "65c860b1e390bf78ca8346fbe761aae3339688613236aa7c24f4dc7e3db71219",
          "normalized_character_range": [
            27403,
            29375
          ],
          "normalized_utf8_byte_range": [
            27403,
            29375
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
          "source_file": {
            "archive": "source",
            "bytes": 65226,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
            "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "syaratsyaratinibertentangansehinggatidakadatitikyangmemenuhisemuakendalasecarabersamaan",
            "page": 147,
            "source_character_range": [
              27633,
              27737
            ],
            "source_sha256": "55fae822aa453f250197a150fcb61baf32a4f42f9078777bba4ca6232c4468b7",
            "source_text": "Syarat-syarat ini bertentangan, sehingga tidak ada titik yang memenuhi semua kendala secara bersamaan.\n\n"
          },
          {
            "normalized_witness": "karenadaerahlayakkosongmasalahtersebuttidakmempunyaisolusi",
            "page": 148,
            "source_character_range": [
              29272,
              29341
            ],
            "source_sha256": "19530a065185f4554da39127cdbea13620922dd3757cbadc7e571e0f89b7484c",
            "source_text": "Karena daerah layak kosong, masalah tersebut tidak mempunyai solusi.\n"
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch05.text.solution-005",
        "kind": "solution",
        "page": 149,
        "page_text_sha256": "f86e938adc2a30b74693396dfff0afd2775129c96d56dcd2f6e7345f67455403",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 278,
          "content_sha256": "99cfda3892469cf29712f086995485507ec1e52c6404837ee5efc2e7e9944c8c",
          "environment": "solution",
          "id": "unit.r017.book1.ch05.text.solution-005",
          "label": null,
          "line_range": [
            627,
            629
          ],
          "native_record_sha256": "172e90791da9fb405f67e2024d7d863bfc33baa6c5111b615d9bbc698babfc7e",
          "normalized_character_range": [
            32358,
            32636
          ],
          "normalized_utf8_byte_range": [
            32358,
            32636
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
          "source_file": {
            "archive": "source",
            "bytes": 65226,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
            "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "masalahoptimisasiinitakberbatassebagaicontohperhatikanbahwatitik",
            "page": 149,
            "source_character_range": [
              32375,
              32451
            ],
            "source_sha256": "cc177c6116dfbfb0437ccf7c3df11d25d2aaa359fb6484bda6bb3407c4ced8f9",
            "source_text": "Masalah optimisasi ini tak berbatas! Sebagai contoh, perhatikan bahwa titik "
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch05.text.solution-006",
        "kind": "solution",
        "page": 150,
        "page_text_sha256": "28155d87bf85497a9789cbcef58e35b91f545fecb15392bc836009cb40e90ff3",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 2667,
          "content_sha256": "6a812f3eed65130f9000764fb6c09025bf5f07b5506f1e2c70999fb92a86f54f",
          "environment": "solution",
          "id": "unit.r017.book1.ch05.text.solution-006",
          "label": "fig:LPUnboundFeasibleRegion1",
          "line_range": [
            644,
            689
          ],
          "native_record_sha256": "fc267f5db6c5ae093e109dcdb78c380af4cb2edb1e194c0078ebcfaeb2ef452f",
          "normalized_character_range": [
            33194,
            35861
          ],
          "normalized_utf8_byte_range": [
            33194,
            35861
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
          "source_file": {
            "archive": "source",
            "bytes": 65226,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
            "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "daerahlayakmemanjangtakhinggakeatasdankekananuntuksetiapnilaisasaran",
            "page": 150,
            "source_character_range": [
              35443,
              35526
            ],
            "source_sha256": "7a21f91d9c55e099f68ea7b9262dc48143c205a318adefb74909dcecbccaf709",
            "source_text": "Daerah layak memanjang tak hingga ke atas dan ke kanan. Untuk setiap nilai sasaran "
          },
          {
            "normalized_witness": "yangmeningkattanpabatasjadinilaioptimalnyaadalah",
            "page": 150,
            "source_character_range": [
              35744,
              35802
            ],
            "source_sha256": "8fc21100c6d6f787e4d60bf0cb2ed0a1e8c975f526204f65fdf9753f545e5fe6",
            "source_text": "yang meningkat tanpa batas. Jadi, nilai optimalnya adalah "
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch05.text.solution-007",
        "kind": "solution",
        "page": 150,
        "page_text_sha256": "28155d87bf85497a9789cbcef58e35b91f545fecb15392bc836009cb40e90ff3",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 2588,
          "content_sha256": "ce5a7cf06dc0ebced5cfcb751fea90ee81d69e192c99eafcc25751357e362d4a",
          "environment": "solution",
          "id": "unit.r017.book1.ch05.text.solution-007",
          "label": "fig:LPUnboundFeasibleRegion2",
          "line_range": [
            705,
            749
          ],
          "native_record_sha256": "48dda9b7b7f3bcbd297f6b405eab0042415a2af514c8b42b87715d2347497e04",
          "normalized_character_range": [
            36484,
            39072
          ],
          "normalized_utf8_byte_range": [
            36484,
            39072
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
          "source_file": {
            "archive": "source",
            "bytes": 65226,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
            "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "daerahlayaknyamerupakandaerahtakberbatasyangsamasepertisebelumnyanamunsekarangkitamelakukan",
            "page": 150,
            "source_character_range": [
              36501,
              36608
            ],
            "source_sha256": "e67440e3eca9f1da5ed6ad80a6821288018b1d36216d47cc8a29f990e1c3162f",
            "source_text": "Daerah layaknya merupakan daerah tak berbatas yang sama seperti sebelumnya. Namun, sekarang kita melakukan "
          },
          {
            "normalized_witness": "menunjukkekanandansedikitkeatastepatmenujubagiandaerahlayakyangtakberbatasbergerakberlawanandengangradienmenuju",
            "page": 150,
            "source_character_range": [
              36647,
              36781
            ],
            "source_sha256": "3172fb4cdd1ead6c6639a6f1457bf75b2c975d2d5b366ffd924a86b3f35bc748",
            "source_text": "menunjuk ke kanan dan sedikit ke atas, tepat menuju bagian daerah layak yang tak berbatas. Bergerak berlawanan dengan gradien (menuju "
          },
          {
            "normalized_witness": "yanglebihkecilmembawakitakesudutkiribawahdaerahlayak",
            "page": 150,
            "source_character_range": [
              36785,
              36851
            ],
            "source_sha256": "007dd28eaf6af1eba5fd678e277d4e15c39a1e6bde85947319b1bb98a7d7cb73",
            "source_text": "yang lebih kecil) membawa kita ke sudut kiri bawah daerah layak.\n\n"
          },
          {
            "normalized_witness": "evaluasiobjektifpadatitiktitikekstremmemberikan",
            "page": 151,
            "source_character_range": [
              38662,
              38716
            ],
            "source_sha256": "830dd62e8e5ba6bc1303e9a9baf3e5d826d5ad86daec0d7f4836dc0da705a34b",
            "source_text": "Evaluasi objektif pada titik-titik ekstrem memberikan "
          },
          {
            "normalized_witness": "karenakitamelakukanminimisasioptimumnyaadalah",
            "page": 151,
            "source_character_range": [
              38815,
              38867
            ],
            "source_sha256": "66ba49c2b23323e30fcf59cb2f297fcb09be3c0f22939540700b2eb7bb672fea",
            "source_text": "Karena kita melakukan minimisasi, optimumnya adalah "
          },
          {
            "normalized_witness": "sekalilagisolusioptimalterjadipadasebuahtitikekstremdaerahlayakwalaupundaerahtersebuttakberbatas",
            "page": 151,
            "source_character_range": [
              38907,
              39022
            ],
            "source_sha256": "0276cd558c6de8444528542e254a94ed40ba1240063c05b8ab5bd50afda5780a",
            "source_text": "Sekali lagi, solusi optimal terjadi pada sebuah titik ekstrem daerah layak, walaupun daerah tersebut tak berbatas.\n"
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch05.text.solution-008",
        "kind": "solution",
        "page": 156,
        "page_text_sha256": "e7585d905f1e1a820f13e3484ef4907088d76d4243da0f8097a6b8f03599614d",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 505,
          "content_sha256": "18c8de9185ae69b1de48d7d05be890f05267e90513b84795639336912786a33d",
          "environment": "solution",
          "id": "unit.r017.book1.ch05.text.solution-008",
          "label": null,
          "line_range": [
            1069,
            1071
          ],
          "native_record_sha256": "d0251fd51f186d7bbc815120ea769ade41e5b07d2079e05b5d43f6ae667b982d",
          "normalized_character_range": [
            52793,
            53298
          ],
          "normalized_utf8_byte_range": [
            52793,
            53298
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
          "source_file": {
            "archive": "source",
            "bytes": 65226,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
            "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "kurvaarasterakhiryangmenyentuhdaerahtersebutmelewati",
            "page": 156,
            "source_character_range": [
              53079,
              53139
            ],
            "source_sha256": "79815aeb358728ed73d7760ba0c1a80b34cd80b40c23685c88d2c73cbf85083e",
            "source_text": "kurva aras terakhir yang menyentuh daerah tersebut melewati "
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch05.text.solution-009",
        "kind": "solution",
        "page": 156,
        "page_text_sha256": "e7585d905f1e1a820f13e3484ef4907088d76d4243da0f8097a6b8f03599614d",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 160,
          "content_sha256": "598ee9772cceea7a7cbaf7c562cec9c77f3ab0fbb94bb00a5df1d18498ae9ecc",
          "environment": "solution",
          "id": "unit.r017.book1.ch05.text.solution-009",
          "label": null,
          "line_range": [
            1073,
            1075
          ],
          "native_record_sha256": "259d3a52d9300d7922453076bb58db217ec41b28eb91e7ef4e77daeebac656d0",
          "normalized_character_range": [
            53300,
            53460
          ],
          "normalized_utf8_byte_range": [
            53300,
            53460
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
          "source_file": {
            "archive": "source",
            "bytes": 65226,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
            "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "menunjukkearahyangsalingmenjauhsehinggatidakadasolusilayak",
            "page": 156,
            "source_character_range": [
              53376,
              53446
            ],
            "source_sha256": "be4d2daaed046dcf35019236bca4cc17a2efed63c2c84d947eb6a3bee22eae6e",
            "source_text": "menunjuk ke arah yang saling menjauh sehingga tidak ada solusi layak.\n"
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch05.text.solution-010",
        "kind": "solution",
        "page": 156,
        "page_text_sha256": "e7585d905f1e1a820f13e3484ef4907088d76d4243da0f8097a6b8f03599614d",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 199,
          "content_sha256": "1ecdd459901f0fa79485855bd8beec40833a505416448adcdff16248a42e5a17",
          "environment": "solution",
          "id": "unit.r017.book1.ch05.text.solution-010",
          "label": null,
          "line_range": [
            1077,
            1081
          ],
          "native_record_sha256": "0bf8b5b08459ae558094a75612f5853736d75418e4142d4017b98d1b75e3e6d9",
          "normalized_character_range": [
            53462,
            53661
          ],
          "normalized_utf8_byte_range": [
            53462,
            53661
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
          "source_file": {
            "archive": "source",
            "bytes": 65226,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
            "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "tepatmerupakantitiktitikdiatasgarisyangmelalui",
            "page": 156,
            "source_character_range": [
              53566,
              53621
            ],
            "source_sha256": "f010b5a9459be7bb98d7a6126af8dc884aba0ce358d885e9999b50ccfefc8abb",
            "source_text": "tepat merupakan titik-titik\ndi atas garis yang melalui "
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch05.text.solution-011",
        "kind": "solution",
        "page": 156,
        "page_text_sha256": "e7585d905f1e1a820f13e3484ef4907088d76d4243da0f8097a6b8f03599614d",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 1790,
          "content_sha256": "0e997200fca7cce850a10dd93e163d1cfce2e80561066d57633a0028ad4de739",
          "environment": "solution",
          "id": "unit.r017.book1.ch05.text.solution-011",
          "label": null,
          "line_range": [
            1083,
            1126
          ],
          "native_record_sha256": "7a4c8048342a238bd5dad18640ac6df4774428dd58ee7f210a971a61b6751801",
          "normalized_character_range": [
            53663,
            55453
          ],
          "normalized_utf8_byte_range": [
            53663,
            55453
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
          "source_file": {
            "archive": "source",
            "bytes": 65226,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
            "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "mendefinisikangarisyangberirisantakkosongdengandaerahlayaknamunkitadapatmenghindaripenggunaangambardenganmenetapkan",
            "page": 156,
            "source_character_range": [
              53780,
              53914
            ],
            "source_sha256": "8524b145a4ab0dd341b03bb50a0707390dd4d72a0860b73c783d67874b967489",
            "source_text": "mendefinisikan garis yang beririsan tak kosong dengan daerah layak.\nNamun, kita dapat menghindari penggunaan gambar dengan menetapkan "
          },
          {
            "normalized_witness": "kitadapatmemverifikasihasilinisebagaiberikutjikaperhitungandiatasbenarsolusioptimaldiberikanoleh",
            "page": 156,
            "source_character_range": [
              54359,
              54473
            ],
            "source_sha256": "b4b939b8bcd8f3753f07dfceaa7442e3936d388821c92043c0d5f9d2c244dcf7",
            "source_text": "Kita dapat memverifikasi hasil ini sebagai berikut. Jika perhitungan\ndi atas benar, solusi optimal diberikan oleh\n"
          },
          {
            "normalized_witness": "mudahdiperiksabahwanilaiinimemenuhikeduapertidaksamaansehinggamerupakansolusilayaksekarangdenganmengambil",
            "page": 156,
            "source_character_range": [
              54539,
              54662
            ],
            "source_sha256": "be4a6fe5bde4c12d1b6938aa4c07d949cb1fc1c03f7d0a06f908cdad395a7f1f",
            "source_text": "Mudah\ndiperiksa bahwa nilai ini memenuhi kedua pertidaksamaan sehingga merupakan\nsolusi layak.\n\nSekarang, dengan mengambil "
          },
          {
            "normalized_witness": "kalipertidaksamaankeduakitadapatmenyimpulkanpertidaksamaan",
            "page": 156,
            "source_character_range": [
              54726,
              54792
            ],
            "source_sha256": "7065c1c0f80e5dc39cfbd67d710f832a135125fc020d2aa0ead8bd924f9fc468",
            "source_text": "kali pertidaksamaan kedua, kita dapat menyimpulkan\npertidaksamaan "
          },
          {
            "normalized_witness": "merupakansolusilayakdengannilaifungsiobjektifsamadengan",
            "page": 157,
            "source_character_range": [
              55034,
              55098
            ],
            "source_sha256": "512daf67834ac89237acdd329e8a0827afad9f2efc7a267cdaad83dbcbfdb976",
            "source_text": "merupakan solusi layak\ndengan nilai fungsi objektif sama dengan "
          },
          {
            "normalized_witness": "persoalaniniakandibahaskelaksementaraitupikirkancaramemperolehpengalipengalitersebutuntuklatihanini",
            "page": 157,
            "source_character_range": [
              55321,
              55439
            ],
            "source_sha256": "e89b5e8d2c8fa832609637cd6c629b61b243c0c6da303068603c5580d5bade18",
            "source_text": "Persoalan ini akan\ndibahas kelak. Sementara itu, pikirkan cara memperoleh pengali-pengali\ntersebut untuk latihan ini.\n"
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch05.text.solution-012",
        "kind": "solution",
        "page": 157,
        "page_text_sha256": "efa8769fd55b9cd444ad76b425ce039ca70130369abfb00c43aa6ad93dd001e9",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 577,
          "content_sha256": "2aa74f126dc278d9b889f1c45c318b480fc54eabf865ceda715fb7d32557a78d",
          "environment": "solution",
          "id": "unit.r017.book1.ch05.text.solution-012",
          "label": null,
          "line_range": [
            1128,
            1138
          ],
          "native_record_sha256": "9233412d2614d890f6cacb66b47b4afd5208c8cbb502815d36dfe9b8c1ecdafd",
          "normalized_character_range": [
            55455,
            56032
          ],
          "normalized_utf8_byte_range": [
            55455,
            56032
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
          "source_file": {
            "archive": "source",
            "bytes": 65226,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
            "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "kitadapatmemperolehsedikitwawasandenganlebihdahulumembuatgambarpadabidang",
            "page": 157,
            "source_character_range": [
              55503,
              55588
            ],
            "source_sha256": "14750e2ff59c39d8c71403775914a5e84fd15297fe721405ad59ba7f0cad9e05",
            "source_text": "Kita dapat memperoleh sedikit wawasan dengan lebih dahulu membuat gambar pada\nbidang "
          },
          {
            "normalized_witness": "memenuhikeduapertidaksamaandannilaifungsiobjektifpada",
            "page": 157,
            "source_character_range": [
              55810,
              55871
            ],
            "source_sha256": "ff659a301e19c53003d2aaa8a98ea49187a0d3541f2a08bb0bd0d8a5949de2aa",
            "source_text": "memenuhi kedua pertidaksamaan dan nilai fungsi objektif pada\n"
          },
          {
            "normalized_witness": "jadinilaifungsiobjektiftidakmemilikibatasbawah",
            "page": 157,
            "source_character_range": [
              55962,
              56018
            ],
            "source_sha256": "41e1fb2ce011069b0c33b91801232a5b4a4fc80160667f985a587d0a1ed5f0dd",
            "source_text": "Jadi, nilai fungsi objektif tidak memiliki batas bawah.\n"
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch05.text.solution-013",
        "kind": "solution",
        "page": 157,
        "page_text_sha256": "efa8769fd55b9cd444ad76b425ce039ca70130369abfb00c43aa6ad93dd001e9",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 916,
          "content_sha256": "b1561b3ccd7966abe160dc54f7b4ae840235649a5840452853c8dd50987e95ca",
          "environment": "solution",
          "id": "unit.r017.book1.ch05.text.solution-013",
          "label": null,
          "line_range": [
            1140,
            1165
          ],
          "native_record_sha256": "35c18c35417e82f6e70045617e5c046c2414668cfbee38b610a6ceef321806de",
          "normalized_character_range": [
            56034,
            56950
          ],
          "normalized_utf8_byte_range": [
            56034,
            56950
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
          "source_file": {
            "archive": "source",
            "bytes": 65226,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
            "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "jikaproduktidakdapatdibelidalamjumlahpecahanmasalahtersebutdapatdirumuskansebagai",
            "page": 157,
            "source_character_range": [
              56515,
              56610
            ],
            "source_sha256": "c9730cd1ca3357c2247499439cc4c7f29d31bde23fb05a24ce68bde1c71048e4",
            "source_text": "Jika produk tidak dapat dibeli dalam jumlah pecahan,\nmasalah tersebut dapat dirumuskan sebagai\n"
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch05.text.tryit-001",
        "kind": "tryit",
        "page": 139,
        "page_text_sha256": "620a6c8a45af84ae4ccdd20d11be03c8d87eadc66257ba271f27147a09248178",
        "printed_state": "exact-visualization-titles",
        "source_span": {
          "content_bytes": 157,
          "content_sha256": "c98862608d71db6c743d79f0313b54e33ea5314274750615f9e61aa98b7ceab9",
          "environment": "tryit",
          "id": "unit.r017.book1.ch05.text.tryit-001",
          "label": null,
          "line_range": [
            19,
            21
          ],
          "native_record_sha256": "1d256790c8020c6bddfeb5584e011204ee63cde7e727268f84f215be56662e54",
          "normalized_character_range": [
            1266,
            1423
          ],
          "normalized_utf8_byte_range": [
            1266,
            1423
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
          "source_file": {
            "archive": "source",
            "bytes": 65226,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch02-modeling/Section2.tex",
            "sha256": "35c058e6af26b699a1cca70906f9ac41da804940b668101613f6994b9d8b00ff"
          },
          "type": "tryit"
        },
        "visualization_titles": [
          {
            "normalized_witness": "penggeserarasobjektif",
            "page": 139,
            "slug": "objective-slider",
            "source_character_range": [
              1307,
              1330
            ],
            "source_sha256": "c270ac01d1069767231d40fabe47f2c338a10109a3e7cd6e0a87abee24f1db39",
            "source_text": "Penggeser Aras Objektif"
          }
        ],
        "witnesses": [
          {
            "normalized_witness": "gesergarisobjektifmelintasidaerahlayakdanamatitempatoptimumtercapai",
            "page": 139,
            "source_character_range": [
              1333,
              1412
            ],
            "source_sha256": "288008afd0eaa9747fac56c1916e904fd30e7dc8909188aa0ced1129021f2806",
            "source_text": "geser garis objektif melintasi daerah layak dan amati tempat optimum tercapai.\n"
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch06.text.solution-001",
        "kind": "solution",
        "page": 175,
        "page_text_sha256": "34d3ec03a8c00f9e9715f0bbec9e47a8798658ff615edc0c65e643ac4e8b9789",
        "printed_state": "native-reference-and-unique-solution-heading",
        "solution_reference": {
          "mapping_method": "native-solves-edge-exact-source-reference-and-unique-printed-solution-heading",
          "native_relation_id": "relation.solves.unit.r017.book1.ch06.text.solution-001.unit.r017.book1.ch06.text.ex-001",
          "page": 175,
          "printed_number": "6.1",
          "printed_witness": {
            "character_range": [
              842,
              869
            ],
            "page_text_sha256": "34d3ec03a8c00f9e9715f0bbec9e47a8798658ff615edc0c65e643ac4e8b9789",
            "text": "Penyelesaian. (Latihan 6.1)"
          },
          "question_id": "unit.r017.book1.ch06.text.ex-001",
          "scope": "Start page only; not full solution extent or mathematical verification.",
          "source_reference": {
            "normalized_character_range": [
              48988,
              49040
            ],
            "sha256": "21c666a8d871b25505ab119e1f59b91b5ef0153f3970474ec986c03ae5b15ee9",
            "text": "\\begin{solution}(Latihan~\\ref{ex:vector-operations})"
          }
        },
        "source_span": {
          "content_bytes": 350,
          "content_sha256": "7bf0447031db0b3962443010cb362ccddeae91e69b69ea68aa2cfb664d112e9a",
          "environment": "solution",
          "id": "unit.r017.book1.ch06.text.solution-001",
          "label": null,
          "line_range": [
            863,
            870
          ],
          "native_record_sha256": "824dc4432f3d34a70e7c3337f6a0a4f378b8310cb3e97ecd6d28a00de6a6240a",
          "normalized_character_range": [
            48988,
            49338
          ],
          "normalized_utf8_byte_range": [
            48988,
            49338
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
          "source_file": {
            "archive": "source",
            "bytes": 52190,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
            "sha256": "4e08b0c7d3b5e89a868800569eeb57b9128d6b1b009301ce0cd2fcae9c2e75ca"
          },
          "type": "solution"
        },
        "witnesses": []
      },
      {
        "id": "unit.r017.book1.ch06.text.solution-002",
        "kind": "solution",
        "page": 175,
        "page_text_sha256": "34d3ec03a8c00f9e9715f0bbec9e47a8798658ff615edc0c65e643ac4e8b9789",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 1074,
          "content_sha256": "cdbb30499a2a36cf33d83aabe71786012a772822282978c822fd0a3bfea0eb22",
          "environment": "solution",
          "id": "unit.r017.book1.ch06.text.solution-002",
          "label": null,
          "line_range": [
            873,
            885
          ],
          "native_record_sha256": "ef9655a4d677ed08d77fb9dd544bb372fb00af8f721a0d8ac0debd39832bd950",
          "normalized_character_range": [
            49341,
            50415
          ],
          "normalized_utf8_byte_range": [
            49341,
            50415
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
          "source_file": {
            "archive": "source",
            "bytes": 52190,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
            "sha256": "4e08b0c7d3b5e89a868800569eeb57b9128d6b1b009301ce0cd2fcae9c2e75ca"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "gambarnyaadalahsegitigadenganketigatitiksudutyangdiberikan",
            "page": 175,
            "source_character_range": [
              49626,
              49698
            ],
            "source_sha256": "0a41e056dec058fefba648354847b38701329dd6178751f7ec917df8e6b98b63",
            "source_text": "Gambarnya adalah segitiga dengan ketiga titik sudut yang diberikan.\n    "
          },
          {
            "normalized_witness": "tidaksetiapkombinasititiktitiksudutyangmencapai",
            "page": 175,
            "source_character_range": [
              50038,
              50094
            ],
            "source_sha256": "a49dc40118a603f4fb29bcef052cb4b024dcf4895800f2e31c51b58d0fc126ba",
            "source_text": "Tidak. Setiap kombinasi titik-titik sudut yang mencapai "
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch06.text.solution-003",
        "kind": "solution",
        "page": 176,
        "page_text_sha256": "a3ca46ebbfe8aa1e504d02d9266228c053a91ebf40d0227889f8e139a1472160",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 844,
          "content_sha256": "cd168e1374ba8126be4e3a6ea37759d55880c184dc007e35fee4a00dac95c588",
          "environment": "solution",
          "id": "unit.r017.book1.ch06.text.solution-003",
          "label": null,
          "line_range": [
            887,
            893
          ],
          "native_record_sha256": "2fee830783507b5c355dcd3fa9e0e932c2949e6bbde7bf7e3c9ae20310c2fd51",
          "normalized_character_range": [
            50417,
            51261
          ],
          "normalized_utf8_byte_range": [
            50417,
            51261
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
          "source_file": {
            "archive": "source",
            "bytes": 52190,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
            "sha256": "4e08b0c7d3b5e89a868800569eeb57b9128d6b1b009301ce0cd2fcae9c2e75ca"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "merupakankombinasikonvekstitiktitikekstremarahekstremtidakdiperlukankarena",
            "page": 176,
            "source_character_range": [
              51002,
              51088
            ],
            "source_sha256": "d749db44f8d342e9395e93712bb35738c30ea27f691abc000009037742cc9c6f",
            "source_text": "merupakan kombinasi konveks titik-titik ekstrem. Arah ekstrem tidak diperlukan karena "
          },
          {
            "normalized_witness": "sudahberadadalamselubungkonveksketigatitikekstremsemuakoefisien",
            "page": 176,
            "source_character_range": [
              51103,
              51177
            ],
            "source_sha256": "8855c0c2eb1953a953025b6461e1f74a1bdf4ef4d5faf9f2f53b368356284087",
            "source_text": "sudah berada dalam selubung konveks ketiga titik ekstrem; semua koefisien "
          },
          {
            "normalized_witness": "dalamteoremarepresentasidapatdiambilsamadengannol",
            "page": 176,
            "source_character_range": [
              51189,
              51247
            ],
            "source_sha256": "825e8a351523a206b9187e487d4dfdc687724233e4a23d7f5aff4288854911f3",
            "source_text": "dalam Teorema Representasi dapat diambil sama dengan nol.\n"
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch06.text.solution-004",
        "kind": "solution",
        "page": 176,
        "page_text_sha256": "a3ca46ebbfe8aa1e504d02d9266228c053a91ebf40d0227889f8e139a1472160",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 926,
          "content_sha256": "a632454bb8e53ba55763838741dc95a76174a4d2e86165d7b28cb530b9f02d36",
          "environment": "solution",
          "id": "unit.r017.book1.ch06.text.solution-004",
          "label": null,
          "line_range": [
            895,
            900
          ],
          "native_record_sha256": "a58e00ed4101d23619a78a80347f649edee83df86d126501d20196289f5db8c1",
          "normalized_character_range": [
            51263,
            52189
          ],
          "normalized_utf8_byte_range": [
            51263,
            52189
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
          "source_file": {
            "archive": "source",
            "bytes": 52190,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch05-lp-theory/formalize-LP.tex",
            "sha256": "4e08b0c7d3b5e89a868800569eeb57b9128d6b1b009301ce0cd2fcae9c2e75ca"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "samasamaberadadalamgabungantetapititiktengahnya",
            "page": 176,
            "source_character_range": [
              51556,
              51612
            ],
            "source_sha256": "934db92c40ef6a5e811941685b3c250804e85c0445bc4efeacfdc7e8a32d7981",
            "source_text": "sama-sama berada dalam gabungan, tetapi titik tengahnya "
          },
          {
            "normalized_witness": "darikeduapusatsehinggatidakberadadalamcakrammanapunjadi",
            "page": 176,
            "source_character_range": [
              51645,
              51714
            ],
            "source_sha256": "1070eee4f8ce20030e5b9f31612a205688a5439c9aa2053c8ec06520d8ae91dc",
            "source_text": "dari kedua pusat, sehingga tidak berada dalam cakram mana pun. Jadi, "
          },
          {
            "normalized_witness": "jikasalahsatuhimpunanmemuathimpunanlainnyamisalnya",
            "page": 176,
            "source_character_range": [
              51758,
              51817
            ],
            "source_sha256": "b373a3b7e94abc94deea2cd033d6acc7e32dfe64e748f4d330576b480d1b1648",
            "source_text": "Jika salah satu himpunan memuat himpunan lainnya, misalnya "
          },
          {
            "normalized_witness": "yangbersifatkonveksketerangkumanmerupakansyaratcukuptetapibukansyaratperludengan",
            "page": 176,
            "source_character_range": [
              51873,
              51968
            ],
            "source_sha256": "b867bebcd3b3f36f3f348e55cd72391168935596f561b8bc3ae1cb79413360c5",
            "source_text": "yang bersifat konveks. Keterangkuman merupakan syarat cukup, tetapi bukan syarat perlu: dengan "
          }
        ]
      },
      {
        "answer": {
          "id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-004",
          "native_relation_id": "relation.answers.unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-004.unit.r017.book1.ch07.text.learningcheckpoint-001",
          "page": 659,
          "relation_basis": "native-answers-edge-and-exact-source-label"
        },
        "id": "unit.r017.book1.ch07.text.learningcheckpoint-001",
        "kind": "learningcheckpoint",
        "page": 184,
        "page_text_sha256": "a5ae2d71383a577a18a8d968c902d6856c97466bb1972aac1252d6c71fb57bb3",
        "printed_state": "checkpoint-anchor-and-literal-passage",
        "reader": {
          "destination": "tcb@cnt@learningcheckpoint*.687",
          "page": 184,
          "printed_number": "7.1.1"
        },
        "source_span": {
          "content_bytes": 330,
          "content_sha256": "3192c518646cb6d37f5a6c2a9d7c704a8567eebc8d7d89d7e9933dea706ea93c",
          "environment": "learningcheckpoint",
          "id": "unit.r017.book1.ch07.text.learningcheckpoint-001",
          "label": "lc:bfs-nonzero",
          "line_range": [
            429,
            433
          ],
          "native_record_sha256": "e033da402c7396dfcd8238924a77571b1e24d878de39fb7b783859b5c05dbd49",
          "normalized_character_range": [
            17326,
            17656
          ],
          "normalized_utf8_byte_range": [
            17326,
            17656
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
          "source_file": {
            "archive": "source",
            "bytes": 136863,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
            "sha256": "42c1640cd736a36e55d812fa58c696edbaa56958b02a2cd17c2cc301d0b30179"
          },
          "type": "learningcheckpoint"
        },
        "witnesses": [
          {
            "normalized_witness": "dalamsuatusolusibasislayakbfsbagiprogramlinierberbentukstandarberapabanyakkomponenvektorkeputusan",
            "page": 184,
            "source_character_range": [
              17377,
              17493
            ],
            "source_sha256": "362b82ac7051c39889a1546e5f3678d79180a123bf0508903341c6fdfcfcb3b6",
            "source_text": "Dalam suatu solusi basis layak (BFS) bagi program linier berbentuk standar, berapa banyak komponen vektor keputusan "
          }
        ]
      },
      {
        "answer": {
          "id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-005",
          "native_relation_id": "relation.answers.unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-005.unit.r017.book1.ch07.text.learningcheckpoint-002",
          "page": 659,
          "relation_basis": "native-answers-edge-and-exact-source-label"
        },
        "id": "unit.r017.book1.ch07.text.learningcheckpoint-002",
        "kind": "learningcheckpoint",
        "page": 202,
        "page_text_sha256": "0ccd32df7baf7fc651dfa955b4de864eaa6a18f94e42f9de4fd2d731f92adaee",
        "printed_state": "checkpoint-anchor-and-literal-passage",
        "reader": {
          "destination": "tcb@cnt@learningcheckpoint*.717",
          "page": 202,
          "printed_number": "7.4.1"
        },
        "source_span": {
          "content_bytes": 338,
          "content_sha256": "9221f8f13e8e4d8dd5eb406e4456401152edbf34b9f82c2528d991974ba5f2e5",
          "environment": "learningcheckpoint",
          "id": "unit.r017.book1.ch07.text.learningcheckpoint-002",
          "label": "lc:ratio-test",
          "line_range": [
            1611,
            1615
          ],
          "native_record_sha256": "3aeb44ecb0c9ff4ded233d576445631cfee4a875e02863f8e46b5073287ceeba",
          "normalized_character_range": [
            64443,
            64781
          ],
          "normalized_utf8_byte_range": [
            64443,
            64781
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
          "source_file": {
            "archive": "source",
            "bytes": 136863,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
            "sha256": "42c1640cd736a36e55d812fa58c696edbaa56958b02a2cd17c2cc301d0b30179"
          },
          "type": "learningcheckpoint"
        },
        "witnesses": [
          {
            "normalized_witness": "ketikamenerapkanmetodesimpleksmengapapemilihanvariabelkeluaryangsalahselamaujirasiodapatmenghasilkansolusibasisyang",
            "page": 202,
            "source_character_range": [
              64493,
              64627
            ],
            "source_sha256": "f32c648d97424e9697a54da5f139dd47db9933404790d3e12613071a48d6fb59",
            "source_text": "Ketika menerapkan metode simpleks, mengapa pemilihan variabel keluar yang salah selama uji rasio dapat menghasilkan solusi basis yang "
          }
        ]
      },
      {
        "answer": {
          "id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-006",
          "native_relation_id": "relation.answers.unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-006.unit.r017.book1.ch07.text.learningcheckpoint-003",
          "page": 659,
          "relation_basis": "native-answers-edge-and-exact-source-label"
        },
        "id": "unit.r017.book1.ch07.text.learningcheckpoint-003",
        "kind": "learningcheckpoint",
        "page": 208,
        "page_text_sha256": "58a48ab39f779eccc8077b59f1f79c81e1f8179b73e80b50daef4fbf366bfc2f",
        "printed_state": "checkpoint-anchor-and-literal-passage",
        "reader": {
          "destination": "tcb@cnt@learningcheckpoint*.725",
          "page": 208,
          "printed_number": "7.5.1"
        },
        "source_span": {
          "content_bytes": 145,
          "content_sha256": "f9d8a509e2530f7342e232a9148eaa3da82678d4806ae579545c95132bbfb61b",
          "environment": "learningcheckpoint",
          "id": "unit.r017.book1.ch07.text.learningcheckpoint-003",
          "label": "lc:artificial-removal",
          "line_range": [
            2054,
            2056
          ],
          "native_record_sha256": "b38abdc86a31145c6479125f1eeae243b8ea2354c812da4467516a92780ed084",
          "normalized_character_range": [
            83824,
            83969
          ],
          "normalized_utf8_byte_range": [
            83826,
            83971
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
          "source_file": {
            "archive": "source",
            "bytes": 136863,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
            "sha256": "42c1640cd736a36e55d812fa58c696edbaa56958b02a2cd17c2cc301d0b30179"
          },
          "type": "learningcheckpoint"
        },
        "witnesses": [
          {
            "normalized_witness": "mengapavariabelartifisialdapatdihilangkandarisistemini",
            "page": 208,
            "source_character_range": [
              83882,
              83945
            ],
            "source_sha256": "6c3bbf156c0960c8d5cbb1421ec10cd678d5f779140fdc99de02479090407eb6",
            "source_text": "Mengapa variabel artifisial dapat dihilangkan dari sistem ini?\n"
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch07.text.solution-001",
        "kind": "solution",
        "page": 226,
        "page_text_sha256": "564ac1768775eb48317c0b276f37c18bb29708cb0f1a4832947f091f5c9f3570",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 835,
          "content_sha256": "4811599b2378380ebbe153acb0803415132b49de4e0326c66759e524c10d1fd7",
          "environment": "solution",
          "id": "unit.r017.book1.ch07.text.solution-001",
          "label": null,
          "line_range": [
            2940,
            2969
          ],
          "native_record_sha256": "aca023633a7aa8b652f4c3a918928b3a864f0cd938a5ef7ea5d65f019d37579e",
          "normalized_character_range": [
            127253,
            128088
          ],
          "normalized_utf8_byte_range": [
            127255,
            128090
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
          "source_file": {
            "archive": "source",
            "bytes": 136863,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
            "sha256": "42c1640cd736a36e55d812fa58c696edbaa56958b02a2cd17c2cc301d0b30179"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "konversikanmasalahminimisasimenjadimasalahmaksimisasidenganmenegasikanfungsiobjektif",
            "page": 226,
            "source_character_range": [
              127295,
              127393
            ],
            "source_sha256": "6993950a91eb506d25426ff8328ef1f3333e5af9b51f7fd99ad111ee2b74b451",
            "source_text": "Konversikan masalah minimisasi menjadi masalah maksimisasi dengan menegasikan fungsi objektif:\n   "
          },
          {
            "normalized_witness": "menjadipersamaandenganmemperkenalkanvariabelsurplus",
            "page": 226,
            "source_character_range": [
              127465,
              127522
            ],
            "source_sha256": "e316bcec2d62bc99d56f6592575e8740f3e5f7db78c78f0d03835f5b81e51a0f",
            "source_text": "menjadi persamaan dengan memperkenalkan variabel surplus "
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch07.text.solution-002",
        "kind": "solution",
        "page": 226,
        "page_text_sha256": "564ac1768775eb48317c0b276f37c18bb29708cb0f1a4832947f091f5c9f3570",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 694,
          "content_sha256": "0b2c94dfa6a4a19f5dd612ea9f768a8bd52dac4685b028c683cb9c6c9b3c7dca",
          "environment": "solution",
          "id": "unit.r017.book1.ch07.text.solution-002",
          "label": null,
          "line_range": [
            2972,
            2996
          ],
          "native_record_sha256": "7cd5478d5d07cb7c9fd21788823c908a393a3c60bbb4946fe960f5e3a2530b21",
          "normalized_character_range": [
            128103,
            128797
          ],
          "normalized_utf8_byte_range": [
            128105,
            128799
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
          "source_file": {
            "archive": "source",
            "bytes": 136863,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
            "sha256": "42c1640cd736a36e55d812fa58c696edbaa56958b02a2cd17c2cc301d0b30179"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "konversikanmasalahminimisasimenjadimasalahmaksimisasidenganmenegasikanfungsiobjektif",
            "page": 226,
            "source_character_range": [
              128145,
              128243
            ],
            "source_sha256": "6993950a91eb506d25426ff8328ef1f3333e5af9b51f7fd99ad111ee2b74b451",
            "source_text": "Konversikan masalah minimisasi menjadi masalah maksimisasi dengan menegasikan fungsi objektif:\n   "
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch07.text.solution-003",
        "kind": "solution",
        "page": 227,
        "page_text_sha256": "82c91adcb860580fac26d5312c0410333e3d98937e87c4fe5b0f0af314144832",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 2371,
          "content_sha256": "3798bf827f40aba613213e367f228294812060885480fb9676d540b28b10f9b7",
          "environment": "solution",
          "id": "unit.r017.book1.ch07.text.solution-003",
          "label": null,
          "line_range": [
            2999,
            3053
          ],
          "native_record_sha256": "2e8d5e7872467396900e38e4cab1aa6fa0503ce778324aeeb90bf99a120aeba8",
          "normalized_character_range": [
            128812,
            131183
          ],
          "normalized_utf8_byte_range": [
            128814,
            131185
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
          "source_file": {
            "archive": "source",
            "bytes": 136863,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
            "sha256": "42c1640cd736a36e55d812fa58c696edbaa56958b02a2cd17c2cc301d0b30179"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "danmenyubstitusikannyakepersamaanpersamaanlaindanfungsiobjektifkitamemperoleh",
            "page": 227,
            "source_character_range": [
              129505,
              129595
            ],
            "source_sha256": "161c5391ba7476da08e421f776a2c211834acf8bf6a8127d0ed487d09e0f6d56",
            "source_text": "dan menyubstitusikannya ke persamaan-persamaan lain dan fungsi objektif, kita memperoleh:\n"
          },
          {
            "normalized_witness": "adalahsatusatunyavariabeldengankoefisienobjektifpositifsehingga",
            "page": 227,
            "source_character_range": [
              129924,
              129997
            ],
            "source_sha256": "9668a570716e2e14aada6a7c47d553fb63855aa0522f7438d4c8cc4131de0427",
            "source_text": "adalah satu-satunya variabel dengan koefisien objektif positif, sehingga "
          },
          {
            "normalized_witness": "danmenyubstitusikannyakepersamaanpersamaanlainnyasertafungsiobjektifkamusmenjadi",
            "page": 227,
            "source_character_range": [
              130201,
              130294
            ],
            "source_sha256": "6daef4fd4991d7bf5cf5d162887fa9ecedf5e1c80fa8bb873feebbb44d719881",
            "source_text": "dan menyubstitusikannya ke persamaan-persamaan lainnya serta fungsi objektif, kamus menjadi:\n"
          },
          {
            "normalized_witness": "munculdengankoefisienpositifsehinggabaristersebuttidakmemberikanbatasujirasiomemberikan",
            "page": 227,
            "source_character_range": [
              130693,
              130795
            ],
            "source_sha256": "a4c28fb36abe219ac92940b5bf216e837d151eefe82c97abbf8eb4ff6f5c6856",
            "source_text": "muncul dengan koefisien positif, sehingga baris tersebut tidak memberikan batas; uji rasio memberikan "
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch07.text.solution-004",
        "kind": "solution",
        "page": 228,
        "page_text_sha256": "7e818eaf1a36b0f32ffa090b9c7c4c80abe6564f03382426796348e794fa81a5",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 1031,
          "content_sha256": "c86c9b08e0ede746250328dbca25e787dbcadf7116a93b667950a64bdfacba27",
          "environment": "solution",
          "id": "unit.r017.book1.ch07.text.solution-004",
          "label": null,
          "line_range": [
            3055,
            3083
          ],
          "native_record_sha256": "2541d30ea7fe38646f10be623b7b906b69bf769ed083fa30cb42a4db8fae20dc",
          "normalized_character_range": [
            131185,
            132216
          ],
          "normalized_utf8_byte_range": [
            131187,
            132218
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
          "source_file": {
            "archive": "source",
            "bytes": 136863,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
            "sha256": "42c1640cd736a36e55d812fa58c696edbaa56958b02a2cd17c2cc301d0b30179"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "keduakoefisienobjektifnegatifsehinggakamusinioptimal",
            "page": 228,
            "source_character_range": [
              132099,
              132161
            ],
            "source_sha256": "253a5979822a9ea2eaa9d2f1e9b26e15d903f8de27777aecdbf9d4c7d01a6dea",
            "source_text": "Kedua koefisien objektif negatif, sehingga kamus ini optimal: "
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch07.text.solution-005",
        "kind": "solution",
        "page": 228,
        "page_text_sha256": "7e818eaf1a36b0f32ffa090b9c7c4c80abe6564f03382426796348e794fa81a5",
        "printed_state": "native-reference-and-unique-solution-heading",
        "solution_reference": {
          "mapping_method": "native-solves-edge-exact-source-reference-and-unique-printed-solution-heading",
          "native_relation_id": "relation.solves.unit.r017.book1.ch07.text.solution-005.unit.r017.book1.ch07.text.ex-009",
          "page": 228,
          "printed_number": "7.9",
          "printed_witness": {
            "character_range": [
              686,
              713
            ],
            "page_text_sha256": "7e818eaf1a36b0f32ffa090b9c7c4c80abe6564f03382426796348e794fa81a5",
            "text": "Penyelesaian. (Latihan 7.9)"
          },
          "question_id": "unit.r017.book1.ch07.text.ex-009",
          "scope": "Start page only; not full solution extent or mathematical verification.",
          "source_reference": {
            "normalized_character_range": [
              132231,
              132286
            ],
            "sha256": "05810eb67952511ceb3b1014e743596eb32331b0860d2892c0054dede968970c",
            "text": "\\begin{solution}(Latihan~\\ref{ex:simplex-practice-5-8})"
          }
        },
        "source_span": {
          "content_bytes": 990,
          "content_sha256": "ccb5a8666d7acfe578212ba2de8c0a9a9c7c60a9902dfda4dd1d93afc30dfeb8",
          "environment": "solution",
          "id": "unit.r017.book1.ch07.text.solution-005",
          "label": null,
          "line_range": [
            3086,
            3114
          ],
          "native_record_sha256": "b8da601d79df80aeff1b3cc71800aaa08a44b05e8b49de5f4f55e4f6cd5f50b1",
          "normalized_character_range": [
            132231,
            133221
          ],
          "normalized_utf8_byte_range": [
            132233,
            133223
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
          "source_file": {
            "archive": "source",
            "bytes": 136863,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
            "sha256": "42c1640cd736a36e55d812fa58c696edbaa56958b02a2cd17c2cc301d0b30179"
          },
          "type": "solution"
        },
        "witnesses": []
      },
      {
        "id": "unit.r017.book1.ch07.text.solution-006",
        "kind": "solution",
        "page": 229,
        "page_text_sha256": "1570fe154ae28801d6694fd71622db920589b36aa701f86093f9bd6b9d607b9a",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 1195,
          "content_sha256": "97c225b5d08304ef6740eb591b312bba9d1b2b76d0bca90858c57dceff677319",
          "environment": "solution",
          "id": "unit.r017.book1.ch07.text.solution-006",
          "label": null,
          "line_range": [
            3117,
            3126
          ],
          "native_record_sha256": "5b00739d2b3e879b0ebfcb8da71ef1aa15b54c267bbb365195c01dbe3dbbb2ba",
          "normalized_character_range": [
            133236,
            134431
          ],
          "normalized_utf8_byte_range": [
            133238,
            134433
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
          "source_file": {
            "archive": "source",
            "bytes": 136863,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
            "sha256": "42c1640cd736a36e55d812fa58c696edbaa56958b02a2cd17c2cc301d0b30179"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "bersamasuatuvariabelmasukyangkoefisienobjektifnyapositifdankolomnyatidakpernahmenurunkanvariabelbasisvariabel",
            "page": 229,
            "source_character_range": [
              133942,
              134068
            ],
            "source_sha256": "032c60cb9e3a7fa40aa06880d340368501892a871b9ab5bb550ba69a2d25e741",
            "source_text": "bersama suatu variabel masuk yang koefisien objektifnya positif dan kolomnya tidak pernah menurunkan variabel basis. Variabel "
          },
          {
            "normalized_witness": "yangdapatmembuktikanketakterbatasankoefisiennyaadalah",
            "page": 229,
            "source_character_range": [
              134228,
              134288
            ],
            "source_sha256": "ed2860655a65b62662ed44a18630c0be868f6492e4a4ddff41a630ef6373cb64",
            "source_text": "yang dapat membuktikan ketakterbatasan: koefisiennya adalah "
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch07.text.solution-007",
        "kind": "solution",
        "page": 229,
        "page_text_sha256": "1570fe154ae28801d6694fd71622db920589b36aa701f86093f9bd6b9d607b9a",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 2414,
          "content_sha256": "5cffa558911ee56907a21aa1d67b848386478792174497f3403d91b67a39fcb3",
          "environment": "solution",
          "id": "unit.r017.book1.ch07.text.solution-007",
          "label": null,
          "line_range": [
            3129,
            3164
          ],
          "native_record_sha256": "6e46233b9dea945996768bf040f188a1a9a09963470b52115bdbc76f6dd630e2",
          "normalized_character_range": [
            134446,
            136860
          ],
          "normalized_utf8_byte_range": [
            134448,
            136862
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
          "source_file": {
            "archive": "source",
            "bytes": 136863,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
            "sha256": "42c1640cd736a36e55d812fa58c696edbaa56958b02a2cd17c2cc301d0b30179"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "sehinggakamustersebutdegeneratkamusinijugaoptimalkeduabiayatereduksinegatifdansolusinyaadalah",
            "page": 229,
            "source_character_range": [
              135129,
              135241
            ],
            "source_sha256": "d3c417ac6c0896f026f1fdfe923047363ec014389dbfe876b3680ddc4c5c8831",
            "source_text": "sehingga kamus tersebut degenerat. (Kamus ini juga optimal: kedua biaya tereduksi negatif, dan solusinya adalah "
          },
          {
            "normalized_witness": "samadengannolsehinggakamusinijugadegeneratbiayatereduksi",
            "page": 229,
            "source_character_range": [
              135682,
              135750
            ],
            "source_sha256": "6dd9a5259d5e72785d37874a7273168157009e16971f6b8f8f3c2dcafab93f61",
            "source_text": "sama dengan nol, sehingga kamus ini juga degenerat. Biaya tereduksi "
          },
          {
            "normalized_witness": "yangmenandakanbahwaoptimumtidakuniksepanjangarahbatastersebutsetiaptitikpadasisidari",
            "page": 229,
            "source_character_range": [
              135802,
              135902
            ],
            "source_sha256": "b1090059d8d5c1a0138ee90bfe89628516917b09863a109a20fe2b51bba3714c",
            "source_text": "yang menandakan bahwa optimum tidak unik sepanjang arah batas tersebut (setiap titik pada sisi dari "
          },
          {
            "normalized_witness": "biayatereduksinoltetapmenandaikemungkinanadanyabasisoptimalalternatif",
            "page": 229,
            "source_character_range": [
              136085,
              136167
            ],
            "source_sha256": "09c1750748b4d961d516241339518b45caadf032ebe0d8b8fc895c22cd4df820",
            "source_text": "biaya tereduksi nol tetap menandai kemungkinan adanya basis optimal alternatif).\n\n"
          },
          {
            "normalized_witness": "variabelbasisyangbersesuaianmencapainolsecarabersamaanhanyasalahsatunyayangkeluardaribasisyanglaintetapmenjadivariabelbasisdengannilainolsehinggakamusbarupastimemilikivariabelbasisyangsamadengannolyangmerupakandefinisidegenerasisembarangprogramlinierdenganduabataskendalayangmelaluititikyangsamapadasisimasukdapatdigunakansebagaikonstruksimisalnya",
            "page": 230,
            "source_character_range": [
              136284,
              136696
            ],
            "source_sha256": "9a7491052a50327094a4f58fbcaaff6f346a564dc57f2296a0c39a202e11cc9e",
            "source_text": "variabel basis yang bersesuaian mencapai nol secara bersamaan. Hanya salah satunya yang keluar dari basis; yang lain tetap menjadi variabel basis dengan nilai nol, sehingga kamus baru pasti memiliki variabel basis yang sama dengan nol, yang merupakan definisi degenerasi. Sembarang program linier dengan dua batas kendala yang melalui titik yang sama pada sisi masuk dapat digunakan sebagai konstruksi, misalnya "
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch07.text.tryit-001",
        "kind": "tryit",
        "page": 188,
        "page_text_sha256": "f096d0c35bd0532cda238b33ba74611b290fadbc860d38e03ad00d54459fd721",
        "printed_state": "exact-visualization-titles",
        "source_span": {
          "content_bytes": 260,
          "content_sha256": "788e8887b8d11139da60e11c161ec120e51ca0c1ee9a118524053bdce92b013f",
          "environment": "tryit",
          "id": "unit.r017.book1.ch07.text.tryit-001",
          "label": null,
          "line_range": [
            673,
            675
          ],
          "native_record_sha256": "25671f14ecdd3411e5d020d43122b9915d4b21d9ef254337b7d9c53f1f2195dd",
          "normalized_character_range": [
            28117,
            28377
          ],
          "normalized_utf8_byte_range": [
            28117,
            28377
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
          "source_file": {
            "archive": "source",
            "bytes": 136863,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
            "sha256": "42c1640cd736a36e55d812fa58c696edbaa56958b02a2cd17c2cc301d0b30179"
          },
          "type": "tryit"
        },
        "visualization_titles": [
          {
            "normalized_witness": "pivotsimpleksdalambentukkamus",
            "page": 188,
            "slug": "simplex-dictionary",
            "source_character_range": [
              28160,
              28193
            ],
            "source_sha256": "9e9d18db974576b2da9ffc4c205e1c06cc0189921bce68d2c88b85a2c860625b",
            "source_text": "Pivot Simpleks dalam Bentuk Kamus"
          }
        ],
        "witnesses": []
      },
      {
        "id": "unit.r017.book1.ch07.text.tryit-002",
        "kind": "tryit",
        "page": 205,
        "page_text_sha256": "ea661ce63d5ef20cdf42ea8f36de7ff4b6131ccf4385ee57eae372673b725d3a",
        "printed_state": "exact-visualization-titles",
        "source_span": {
          "content_bytes": 162,
          "content_sha256": "2e08740f42dc54d4e556145e44e8f62bc45c64feaa2b2e38ebbd2639d1407a60",
          "environment": "tryit",
          "id": "unit.r017.book1.ch07.text.tryit-002",
          "label": null,
          "line_range": [
            1846,
            1848
          ],
          "native_record_sha256": "19b105816a40814f6fcfbc6e903d65d86de412828f8308635efbb374117b1378",
          "normalized_character_range": [
            75001,
            75163
          ],
          "normalized_utf8_byte_range": [
            75003,
            75165
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
          "source_file": {
            "archive": "source",
            "bytes": 136863,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-basis-driven.tex",
            "sha256": "42c1640cd736a36e55d812fa58c696edbaa56958b02a2cd17c2cc301d0b30179"
          },
          "type": "tryit"
        },
        "visualization_titles": [
          {
            "normalized_witness": "simpleksduafase",
            "page": 205,
            "slug": "two-phase-simplex",
            "source_character_range": [
              75043,
              75060
            ],
            "source_sha256": "a31774b4857c394fcf1bfb23febd0c7b8ed016befaf9dc20dc52a6c0ec343e3b",
            "source_text": "Simpleks Dua Fase"
          }
        ],
        "witnesses": []
      },
      {
        "id": "unit.r017.book1.ch08.text.solution-001",
        "kind": "solution",
        "page": 242,
        "page_text_sha256": "2f9a371cba96f73c92e206b78e1bb92d17a9f186d2a8881801a2e0e8195c2ec2",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 4295,
          "content_sha256": "3baba7f2797c7b2deb9506d496ab975c280d4e0e505f04b8dba782e1c41ad0ca",
          "environment": "solution",
          "id": "unit.r017.book1.ch08.text.solution-001",
          "label": null,
          "line_range": [
            875,
            1094
          ],
          "native_record_sha256": "17eb1dc88888ad6c923514d93510af778b12aea2d32d90390bb2340b263e9af9",
          "normalized_character_range": [
            24385,
            28680
          ],
          "normalized_utf8_byte_range": [
            24385,
            28680
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-matrix-version.tex",
          "source_file": {
            "archive": "source",
            "bytes": 39468,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-matrix-version.tex",
            "sha256": "1e0ac6ecd971c245bf090c82dcc4779b06cdd9e716004632138c4094c0430bf2"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "karenakeduabiayatereduksibernilainegatifhalinimenegaskanbahwa",
            "page": 242,
            "source_character_range": [
              28338,
              28410
            ],
            "source_sha256": "54f46682ff7fb6c0cc4a458e46772d825221e4bca2cca79fd1ea038ea3dfcebd",
            "source_text": "Karena kedua biaya tereduksi bernilai negatif, hal ini menegaskan bahwa "
          },
          {
            "normalized_witness": "karenasemuabiayatereduksinyabernilainonpositif",
            "page": 243,
            "source_character_range": [
              28599,
              28652
            ],
            "source_sha256": "340470b3e90503a53874b93b8e341af22cf6cedf148b959898ee88dc0897e3e4",
            "source_text": "karena semua biaya tereduksinya bernilai nonpositif.\n"
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch08.text.solution-002",
        "kind": "solution",
        "page": 246,
        "page_text_sha256": "47cd261747c602bbe293caff8695a9202e3cf3b99e592df053f6977bb79d034d",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 655,
          "content_sha256": "62a9a64f5405f919dc079995dd6d01c27a9d8d0eca0450ca4f3f9e86f780b4cb",
          "environment": "solution",
          "id": "unit.r017.book1.ch08.text.solution-002",
          "label": null,
          "line_range": [
            1264,
            1299
          ],
          "native_record_sha256": "c085f906b12f2b5a6a73eca7dbdc93d17b555f17d238fe71a2b33dcdfe3bc039",
          "normalized_character_range": [
            36248,
            36903
          ],
          "normalized_utf8_byte_range": [
            36248,
            36903
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-matrix-version.tex",
          "source_file": {
            "archive": "source",
            "bytes": 39468,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-matrix-version.tex",
            "sha256": "1e0ac6ecd971c245bf090c82dcc4779b06cdd9e716004632138c4094c0430bf2"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "keduavariabelbasisbernilainonnegatifsehinggasolusiinimerupakansolusibasislayak",
            "page": 246,
            "source_character_range": [
              36797,
              36889
            ],
            "source_sha256": "0a5de8906c44c10f07e1203ca624046ddec099c4ee629a3106c6c39ea4122bb5",
            "source_text": "Kedua variabel basis bernilai nonnegatif, sehingga solusi ini merupakan solusi basis layak.\n"
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch08.text.solution-003",
        "kind": "solution",
        "page": 246,
        "page_text_sha256": "47cd261747c602bbe293caff8695a9202e3cf3b99e592df053f6977bb79d034d",
        "printed_state": "native-reference-and-unique-solution-heading",
        "solution_reference": {
          "mapping_method": "native-solves-edge-exact-source-reference-and-unique-printed-solution-heading",
          "native_relation_id": "relation.solves.unit.r017.book1.ch08.text.solution-003.unit.r017.book1.ch08.text.ex-004",
          "page": 246,
          "printed_number": "8.4",
          "printed_witness": {
            "character_range": [
              160,
              187
            ],
            "page_text_sha256": "47cd261747c602bbe293caff8695a9202e3cf3b99e592df053f6977bb79d034d",
            "text": "Penyelesaian. (Latihan 8.4)"
          },
          "question_id": "unit.r017.book1.ch08.text.ex-004",
          "scope": "Start page only; not full solution extent or mathematical verification.",
          "source_reference": {
            "normalized_character_range": [
              36905,
              36960
            ],
            "sha256": "a0610baf6f08eacf6165e8dccc791efc3023db0bb5ed5329f6a4157713c499e4",
            "text": "\\begin{solution}(Latihan~\\ref{ex:matrix-reduced-costs})"
          }
        },
        "source_span": {
          "content_bytes": 1426,
          "content_sha256": "e3ca1489d0ae24242738a9451c1acf26e5ebe2b441d4930da5df50b0b48625e5",
          "environment": "solution",
          "id": "unit.r017.book1.ch08.text.solution-003",
          "label": null,
          "line_range": [
            1301,
            1335
          ],
          "native_record_sha256": "0d560ccd49fb7995f2f8e0224ce561babf0288e4abbcd488f0e10ce336896f70",
          "normalized_character_range": [
            36905,
            38331
          ],
          "normalized_utf8_byte_range": [
            36905,
            38331
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-matrix-version.tex",
          "source_file": {
            "archive": "source",
            "bytes": 39468,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-matrix-version.tex",
            "sha256": "1e0ac6ecd971c245bf090c82dcc4779b06cdd9e716004632138c4094c0430bf2"
          },
          "type": "solution"
        },
        "witnesses": []
      },
      {
        "id": "unit.r017.book1.ch08.text.solution-004",
        "kind": "solution",
        "page": 246,
        "page_text_sha256": "47cd261747c602bbe293caff8695a9202e3cf3b99e592df053f6977bb79d034d",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 1134,
          "content_sha256": "87704a94d4652de0f48c3f6c60ef48ceab5fb1d7148b758131b3c54576c5cb4d",
          "environment": "solution",
          "id": "unit.r017.book1.ch08.text.solution-004",
          "label": null,
          "line_range": [
            1337,
            1349
          ],
          "native_record_sha256": "b66fcab3f08f61b7904658939ae7167edc8a1b04642d89f1cb675a89cf69bc7b",
          "normalized_character_range": [
            38333,
            39467
          ],
          "normalized_utf8_byte_range": [
            38333,
            39467
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-matrix-version.tex",
          "source_file": {
            "archive": "source",
            "bytes": 39468,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-matrix-version.tex",
            "sha256": "1e0ac6ecd971c245bf090c82dcc4779b06cdd9e716004632138c4094c0430bf2"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "memilikinilaiobjektifyanglebihkecilsecaraketatdaripada",
            "page": 246,
            "source_character_range": [
              39316,
              39379
            ],
            "source_sha256": "0741c7517271bc8fee5a9b3a6b2516a8eef1d33028c8f103b41c6dd546acaba3",
            "source_text": "memiliki nilai objektif yang lebih kecil secara ketat daripada "
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch09.text.solution-001",
        "kind": "solution",
        "page": 256,
        "page_text_sha256": "a557c21b4d12a9aeec8062e457b99248a04e0b3c4c63fed979a51a92a5186bcd",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 616,
          "content_sha256": "74336a77d7f887d0c0de6f7f30c401fbe6d68bfa954ef25f72864e9784e8ab4d",
          "environment": "solution",
          "id": "unit.r017.book1.ch09.text.solution-001",
          "label": null,
          "line_range": [
            649,
            660
          ],
          "native_record_sha256": "f5b5ecf5ee4467509757ad9f3ed5fdcf1abfaa8f472000b0133613a51e62b654",
          "normalized_character_range": [
            26652,
            27268
          ],
          "normalized_utf8_byte_range": [
            26652,
            27268
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
          "source_file": {
            "archive": "source",
            "bytes": 30803,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
            "sha256": "6fe55f1e5eac82caf2128f7cae220bb29ff9537802465cb9b28feb6bab1330de"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "keduanyataknegatifdalamkonvensiinientripositifberartibahwamenaikkanvariabelnonbasisyangbersesuaianakan",
            "page": 256,
            "source_character_range": [
              27024,
              27144
            ],
            "source_sha256": "15a5a2bc4ce01a307020a589ec80bef8afe918b31b42354de918b662b8e54f42",
            "source_text": "keduanya tak\nnegatif. Dalam konvensi ini, entri positif berarti bahwa menaikkan variabel\nnonbasis yang bersesuaian akan "
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch09.text.solution-002",
        "kind": "solution",
        "page": 256,
        "page_text_sha256": "a557c21b4d12a9aeec8062e457b99248a04e0b3c4c63fed979a51a92a5186bcd",
        "printed_state": "native-reference-and-unique-solution-heading",
        "solution_reference": {
          "mapping_method": "native-solves-edge-exact-source-reference-and-unique-printed-solution-heading",
          "native_relation_id": "relation.solves.unit.r017.book1.ch09.text.solution-002.unit.r017.book1.ch09.text.ex-003",
          "page": 256,
          "printed_number": "9.3",
          "printed_witness": {
            "character_range": [
              1595,
              1622
            ],
            "page_text_sha256": "a557c21b4d12a9aeec8062e457b99248a04e0b3c4c63fed979a51a92a5186bcd",
            "text": "Penyelesaian. (Latihan 9.3)"
          },
          "question_id": "unit.r017.book1.ch09.text.ex-003",
          "scope": "Start page only; not full solution extent or mathematical verification.",
          "source_reference": {
            "normalized_character_range": [
              27270,
              27323
            ],
            "sha256": "c26ec6a811b8b165cf2dec5ca11d283e4e7b74864bd956cb4a88052e60f92e1e",
            "text": "\\begin{solution}(Latihan~\\ref{ex:tableau-ratio-test})"
          }
        },
        "source_span": {
          "content_bytes": 414,
          "content_sha256": "b0fa73e89018044a25e3041a9326821126bf8ccf37750492498b2f9bb4342379",
          "environment": "solution",
          "id": "unit.r017.book1.ch09.text.solution-002",
          "label": null,
          "line_range": [
            662,
            670
          ],
          "native_record_sha256": "6108354e58ddae66771d9e5bebce28cab6b272461a52f35a119fb17dd5f2bc51",
          "normalized_character_range": [
            27270,
            27684
          ],
          "normalized_utf8_byte_range": [
            27270,
            27684
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
          "source_file": {
            "archive": "source",
            "bytes": 30803,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
            "sha256": "6fe55f1e5eac82caf2128f7cae220bb29ff9537802465cb9b28feb6bab1330de"
          },
          "type": "solution"
        },
        "witnesses": []
      },
      {
        "id": "unit.r017.book1.ch09.text.solution-003",
        "kind": "solution",
        "page": 257,
        "page_text_sha256": "930b3beba805e96cc4a56f85d004ed825e160ba85e30dc7fd26234876d81c8f1",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 1389,
          "content_sha256": "7d92411f232316e5f25a30646a145c795240652ccd895647f67504e8b39f4264",
          "environment": "solution",
          "id": "unit.r017.book1.ch09.text.solution-003",
          "label": null,
          "line_range": [
            672,
            705
          ],
          "native_record_sha256": "c97c69eaad0cc0a1bd2389970eb4b76429683fdf9ec795d34654343599d95abc",
          "normalized_character_range": [
            27686,
            29075
          ],
          "normalized_utf8_byte_range": [
            27686,
            29075
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
          "source_file": {
            "archive": "source",
            "bytes": 30803,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
            "sha256": "6fe55f1e5eac82caf2128f7cae220bb29ff9537802465cb9b28feb6bab1330de"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "setiapentribarisobjektiftaknegatifjaditableautersebutoptimal",
            "page": 257,
            "source_character_range": [
              28953,
              29025
            ],
            "source_sha256": "46910bde13ff10c1c1bfe0b85b04eef5a05c9cdd1682475e7ae25d2fe2b6b47a",
            "source_text": "Setiap entri baris objektif tak negatif, jadi tableau tersebut optimal: "
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch09.text.solution-004",
        "kind": "solution",
        "page": 257,
        "page_text_sha256": "930b3beba805e96cc4a56f85d004ed825e160ba85e30dc7fd26234876d81c8f1",
        "printed_state": "native-reference-and-unique-solution-heading",
        "solution_reference": {
          "mapping_method": "native-solves-edge-exact-source-reference-and-unique-printed-solution-heading",
          "native_relation_id": "relation.solves.unit.r017.book1.ch09.text.solution-004.unit.r017.book1.ch09.text.ex-006",
          "page": 257,
          "printed_number": "9.6",
          "printed_witness": {
            "character_range": [
              853,
              880
            ],
            "page_text_sha256": "930b3beba805e96cc4a56f85d004ed825e160ba85e30dc7fd26234876d81c8f1",
            "text": "Penyelesaian. (Latihan 9.6)"
          },
          "question_id": "unit.r017.book1.ch09.text.ex-006",
          "scope": "Start page only; not full solution extent or mathematical verification.",
          "source_reference": {
            "normalized_character_range": [
              29077,
              29135
            ],
            "sha256": "42c69318e6bc12b611e2f136b559d38760515f4881953c8470877eed39a30343",
            "text": "\\begin{solution}(Latihan~\\ref{ex:tableau-two-pivot-solve})"
          }
        },
        "source_span": {
          "content_bytes": 1725,
          "content_sha256": "d9b7667f90c0ce40ddbabebda6d5e76ac5e48a92b20dd1e5c964314c846ef64e",
          "environment": "solution",
          "id": "unit.r017.book1.ch09.text.solution-004",
          "label": null,
          "line_range": [
            707,
            753
          ],
          "native_record_sha256": "28748d38f29940643bbb2b15620fb581acd7fa9c1cacf91a3827a280f2f3d90c",
          "normalized_character_range": [
            29077,
            30802
          ],
          "normalized_utf8_byte_range": [
            29077,
            30802
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
          "source_file": {
            "archive": "source",
            "bytes": 30803,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
            "sha256": "6fe55f1e5eac82caf2128f7cae220bb29ff9537802465cb9b28feb6bab1330de"
          },
          "type": "solution"
        },
        "witnesses": []
      },
      {
        "id": "unit.r017.book1.ch09.text.tryit-001",
        "kind": "tryit",
        "page": 247,
        "page_text_sha256": "c132dd22af1a876b6d52eb9e732a15eec4f3da491c6f48776760126e9e498d44",
        "printed_state": "exact-visualization-titles",
        "source_span": {
          "content_bytes": 315,
          "content_sha256": "c597dccb6bfe963bd2bec5d663d0c1269f3277a11da0ccfce6c90a9c6665b9e3",
          "environment": "tryit",
          "id": "unit.r017.book1.ch09.text.tryit-001",
          "label": null,
          "line_range": [
            17,
            21
          ],
          "native_record_sha256": "1b12c5a68c2ec88dbd05c9df43510d0a091497d342346787b88ff51ca1360f66",
          "normalized_character_range": [
            669,
            984
          ],
          "normalized_utf8_byte_range": [
            669,
            984
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
          "source_file": {
            "archive": "source",
            "bytes": 30803,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch06-simplex/simplex-tableau.tex",
            "sha256": "6fe55f1e5eac82caf2128f7cae220bb29ff9537802465cb9b28feb6bab1330de"
          },
          "type": "tryit"
        },
        "visualization_titles": [
          {
            "normalized_witness": "pemutarsimpleksdalambentuktableau",
            "page": 247,
            "slug": "simplex-tableau",
            "source_character_range": [
              709,
              746
            ],
            "source_sha256": "265e3c93b19512db00e058e1e3c1c3fd98e0e5e24bb139665589ae13845e241f",
            "source_text": "Pemutar Simpleks dalam Bentuk Tableau"
          },
          {
            "normalized_witness": "pemutartableaubebas",
            "page": 247,
            "slug": "tableau-pivoter",
            "source_character_range": [
              866,
              887
            ],
            "source_sha256": "43b4d275f0c634a94d80b910aade52cff6fb6c5eb3154ca4e587c93068808b43",
            "source_text": "Pemutar Tableau Bebas"
          }
        ],
        "witnesses": [
          {
            "normalized_witness": "mekanismepivotyangsamasepertidalambabinidengansetiapoperasibarisditampilkan",
            "page": 247,
            "source_character_range": [
              749,
              840
            ],
            "source_sha256": "a3c7e2822c668773ba6fdea19f1ae8b9e8ef4d53351aaf48fe663395870f9bca",
            "source_text": "mekanisme pivot yang sama seperti dalam bab ini, dengan setiap operasi baris ditampilkan.\n\n"
          },
          {
            "normalized_witness": "sebuaharenagaussjordanlakukanpivotpadasembarangentridanamatihasilnya",
            "page": 247,
            "source_character_range": [
              890,
              973
            ],
            "source_sha256": "c054af7fcabaaf0a0033730c9f0c58d2402cc2fad36bd6d71ea350d85706ddd0",
            "source_text": "sebuah arena Gauss--Jordan; lakukan pivot pada sembarang entri dan amati hasilnya.\n"
          }
        ]
      },
      {
        "answer": {
          "id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-007",
          "native_relation_id": "relation.answers.unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-007.unit.r017.book1.ch10.text.learningcheckpoint-001",
          "page": 659,
          "relation_basis": "native-answers-edge-and-exact-source-label"
        },
        "id": "unit.r017.book1.ch10.text.learningcheckpoint-001",
        "kind": "learningcheckpoint",
        "page": 267,
        "page_text_sha256": "53ba9238268c9e46570f26885f886d1e156a0c46786688a110c5f55244d17ec6",
        "printed_state": "checkpoint-anchor-and-literal-passage",
        "reader": {
          "destination": "tcb@cnt@learningcheckpoint*.880",
          "page": 267,
          "printed_number": "10.2.1"
        },
        "source_span": {
          "content_bytes": 309,
          "content_sha256": "b4ceb67497e6fcda61853fcc4a75ac9621302fffff810c7acd363229d8fe09cb",
          "environment": "learningcheckpoint",
          "id": "unit.r017.book1.ch10.text.learningcheckpoint-001",
          "label": "lc:shadow-price-b1",
          "line_range": [
            338,
            340
          ],
          "native_record_sha256": "477f33806059f243b9538f5dd722c7e289ad57781f38a7b929ab9fe710f13677",
          "normalized_character_range": [
            18078,
            18387
          ],
          "normalized_utf8_byte_range": [
            18078,
            18387
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
          "source_file": {
            "archive": "source",
            "bytes": 52340,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
            "sha256": "27125508e85609361382af200e24d33d5f979cb68f78c5eee94c06acd6a9c64c"
          },
          "type": "learningcheckpoint"
        },
        "witnesses": [
          {
            "normalized_witness": "manahargatersebutberlakuapayangterjadipadahargabayanganketika",
            "page": 267,
            "source_character_range": [
              18274,
              18347
            ],
            "source_sha256": "9bbe3608183712cfbeeb9c576946f12deb8f5d57cf7bfd0888f7d3577d280d97",
            "source_text": "mana harga tersebut berlaku? Apa yang terjadi pada harga bayangan ketika "
          }
        ]
      },
      {
        "answer": {
          "id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-008",
          "native_relation_id": "relation.answers.unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-008.unit.r017.book1.ch10.text.learningcheckpoint-002",
          "page": 659,
          "relation_basis": "native-answers-edge-and-exact-source-label"
        },
        "id": "unit.r017.book1.ch10.text.learningcheckpoint-002",
        "kind": "learningcheckpoint",
        "page": 269,
        "page_text_sha256": "0aad69d7553a0cfdcce60d20647e927d1ec4cab50212284977018b272d3aa479",
        "printed_state": "checkpoint-anchor-and-literal-passage",
        "reader": {
          "destination": "tcb@cnt@learningcheckpoint*.886",
          "page": 269,
          "printed_number": "10.3.1"
        },
        "source_span": {
          "content_bytes": 293,
          "content_sha256": "8e23a20e909011fa25b464030a8d797b75be1a9f1a54ccfdb53237a14e199f57",
          "environment": "learningcheckpoint",
          "id": "unit.r017.book1.ch10.text.learningcheckpoint-002",
          "label": "lc:nonbasic-cost",
          "line_range": [
            455,
            457
          ],
          "native_record_sha256": "9aabb4572db8498fab6c8ed6b0899f2b0203c2c81444c864be97816836bb8f18",
          "normalized_character_range": [
            23105,
            23398
          ],
          "normalized_utf8_byte_range": [
            23105,
            23398
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
          "source_file": {
            "archive": "source",
            "bytes": 52340,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
            "sha256": "27125508e85609361382af200e24d33d5f979cb68f78c5eee94c06acd6a9c64c"
          },
          "type": "learningcheckpoint"
        },
        "witnesses": [
          {
            "normalized_witness": "tidakpernahmengubahsolusioptimalsaatinitetapiperubahanyangcukupbesartetapdapatmengubah",
            "page": 269,
            "source_character_range": [
              23217,
              23319
            ],
            "source_sha256": "3a01e5b982c6455fe6d4965742cccb6397f7216097df45a4af466127706fbac9",
            "source_text": "tidak pernah mengubah solusi optimal saat ini, tetapi perubahan yang cukup besar tetap dapat mengubah "
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch10.text.solution-001",
        "kind": "solution",
        "page": 279,
        "page_text_sha256": "9ea6c8d26d7ad7f7e135ce6042ea1459ec8542ab8ecfa10a26297965bc2726f7",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 1694,
          "content_sha256": "178d861bff5bdf529dee04742cb63bc1fdffa800aca48bc24e12393848e6475c",
          "environment": "solution",
          "id": "unit.r017.book1.ch10.text.solution-001",
          "label": null,
          "line_range": [
            1108,
            1121
          ],
          "native_record_sha256": "fa220739e5d21843d0035b46d18a630d3575006d582fc2c6f2447d3886fbcb79",
          "normalized_character_range": [
            47488,
            49182
          ],
          "normalized_utf8_byte_range": [
            47488,
            49182
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
          "source_file": {
            "archive": "source",
            "bytes": 52340,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
            "sha256": "27125508e85609361382af200e24d33d5f979cb68f78c5eee94c06acd6a9c64c"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "dantepatdiluarnilainilaitersebutvariabeldualberubahsehinggamenandaibasisbaru",
            "page": 279,
            "source_character_range": [
              49060,
              49152
            ],
            "source_sha256": "d2e6aee4bec5f089f15dcb604041361dc7d3f2b9371647fd8a4493e2f2954340",
            "source_text": "dan tepat di luar nilai-nilai tersebut, variabel dual berubah sehingga menandai basis baru.\n"
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch10.text.solution-002",
        "kind": "solution",
        "page": 279,
        "page_text_sha256": "9ea6c8d26d7ad7f7e135ce6042ea1459ec8542ab8ecfa10a26297965bc2726f7",
        "printed_state": "native-reference-and-unique-solution-heading",
        "solution_reference": {
          "mapping_method": "native-solves-edge-exact-source-reference-and-unique-printed-solution-heading",
          "native_relation_id": "relation.solves.unit.r017.book1.ch10.text.solution-002.unit.r017.book1.ch10.text.ex-006",
          "page": 279,
          "printed_number": "10.6",
          "printed_witness": {
            "character_range": [
              2353,
              2381
            ],
            "page_text_sha256": "9ea6c8d26d7ad7f7e135ce6042ea1459ec8542ab8ecfa10a26297965bc2726f7",
            "text": "Penyelesaian. (Latihan 10.6)"
          },
          "question_id": "unit.r017.book1.ch10.text.ex-006",
          "scope": "Start page only; not full solution extent or mathematical verification.",
          "source_reference": {
            "normalized_character_range": [
              49184,
              49244
            ],
            "sha256": "e1b13aae909b055f775bdedf4bd7c8781931a643720b4bc3c55aa9615be23af9",
            "text": "\\begin{solution}(Latihan~\\ref{ex:sensitivity-basis-inverse})"
          }
        },
        "source_span": {
          "content_bytes": 1224,
          "content_sha256": "bb4c8b0b9860cfb9e081df63f3d4cb27eba2905c87b9694492440d0065719ade",
          "environment": "solution",
          "id": "unit.r017.book1.ch10.text.solution-002",
          "label": null,
          "line_range": [
            1123,
            1141
          ],
          "native_record_sha256": "52da8cb29f2d4b11a0c1140d93fb537567a7b55e910db75068d26473801cfb06",
          "normalized_character_range": [
            49184,
            50408
          ],
          "normalized_utf8_byte_range": [
            49184,
            50408
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
          "source_file": {
            "archive": "source",
            "bytes": 52340,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
            "sha256": "27125508e85609361382af200e24d33d5f979cb68f78c5eee94c06acd6a9c64c"
          },
          "type": "solution"
        },
        "witnesses": []
      },
      {
        "id": "unit.r017.book1.ch10.text.solution-003",
        "kind": "solution",
        "page": 280,
        "page_text_sha256": "14ebbb895dbdc60bc82748f68fa9465696ff504dd289b99597d4e15938627f87",
        "printed_state": "native-reference-and-unique-solution-heading",
        "solution_reference": {
          "mapping_method": "native-solves-edge-exact-source-reference-and-unique-printed-solution-heading",
          "native_relation_id": "relation.solves.unit.r017.book1.ch10.text.solution-003.unit.r017.book1.ch10.text.ex-008",
          "page": 280,
          "printed_number": "10.8",
          "printed_witness": {
            "character_range": [
              685,
              713
            ],
            "page_text_sha256": "14ebbb895dbdc60bc82748f68fa9465696ff504dd289b99597d4e15938627f87",
            "text": "Penyelesaian. (Latihan 10.8)"
          },
          "question_id": "unit.r017.book1.ch10.text.ex-008",
          "scope": "Start page only; not full solution extent or mathematical verification.",
          "source_reference": {
            "normalized_character_range": [
              50410,
              50466
            ],
            "sha256": "e4fa487886692d648f803cb93d128533d7c7e64d01daefe9ea16959224eeba60",
            "text": "\\begin{solution}(Latihan~\\ref{ex:shadow-price-workshop})"
          }
        },
        "source_span": {
          "content_bytes": 906,
          "content_sha256": "9c8cbd3b35976bbe6079d75ecde46e016c3a668632e0b151ea1b7aa443b5e480",
          "environment": "solution",
          "id": "unit.r017.book1.ch10.text.solution-003",
          "label": null,
          "line_range": [
            1143,
            1151
          ],
          "native_record_sha256": "b736982b4e842dd8c68f7cbeca3e35e2c5c1dc778605bfe1064cb3adca6f34c7",
          "normalized_character_range": [
            50410,
            51316
          ],
          "normalized_utf8_byte_range": [
            50410,
            51316
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
          "source_file": {
            "archive": "source",
            "bytes": 52340,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
            "sha256": "27125508e85609361382af200e24d33d5f979cb68f78c5eee94c06acd6a9c64c"
          },
          "type": "solution"
        },
        "witnesses": []
      },
      {
        "id": "unit.r017.book1.ch10.text.solution-004",
        "kind": "solution",
        "page": 280,
        "page_text_sha256": "14ebbb895dbdc60bc82748f68fa9465696ff504dd289b99597d4e15938627f87",
        "printed_state": "native-reference-and-unique-solution-heading",
        "solution_reference": {
          "mapping_method": "native-solves-edge-exact-source-reference-and-unique-printed-solution-heading",
          "native_relation_id": "relation.solves.unit.r017.book1.ch10.text.solution-004.unit.r017.book1.ch10.text.ex-012",
          "page": 280,
          "printed_number": "10.12",
          "printed_witness": {
            "character_range": [
              1469,
              1498
            ],
            "page_text_sha256": "14ebbb895dbdc60bc82748f68fa9465696ff504dd289b99597d4e15938627f87",
            "text": "Penyelesaian. (Latihan 10.12)"
          },
          "question_id": "unit.r017.book1.ch10.text.ex-012",
          "scope": "Start page only; not full solution extent or mathematical verification.",
          "source_reference": {
            "normalized_character_range": [
              51318,
              51379
            ],
            "sha256": "b81da9f8ff06596c56b1f1b66bf6da3ab7c7124017e2d9b80f1525c1ba09037c",
            "text": "\\begin{solution}(Latihan~\\ref{ex:sensitivity-range-boundary})"
          }
        },
        "source_span": {
          "content_bytes": 1021,
          "content_sha256": "fceae2acd208d998b25b66e0788c9d5f4f883e4e182965d51b1fa6c47bf36172",
          "environment": "solution",
          "id": "unit.r017.book1.ch10.text.solution-004",
          "label": null,
          "line_range": [
            1153,
            1155
          ],
          "native_record_sha256": "ff509290936d16f00d4086266783d68789592d888819d8daad70091568d2ad5c",
          "normalized_character_range": [
            51318,
            52339
          ],
          "normalized_utf8_byte_range": [
            51318,
            52339
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
          "source_file": {
            "archive": "source",
            "bytes": 52340,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
            "sha256": "27125508e85609361382af200e24d33d5f979cb68f78c5eee94c06acd6a9c64c"
          },
          "type": "solution"
        },
        "witnesses": []
      },
      {
        "id": "unit.r017.book1.ch10.text.tryit-001",
        "kind": "tryit",
        "page": 259,
        "page_text_sha256": "6edc6d8e22b52afc67c70ea33bf728e67f12cc20469a1fb9b4f327ebe963cdaa",
        "printed_state": "exact-visualization-titles",
        "source_span": {
          "content_bytes": 341,
          "content_sha256": "d5d8f6f53698ef92a9a6305dd8bc46e1eb33470102e79f7f94e7432fcc1777cf",
          "environment": "tryit",
          "id": "unit.r017.book1.ch10.text.tryit-001",
          "label": null,
          "line_range": [
            16,
            20
          ],
          "native_record_sha256": "d4eee8f44bc18ea179e0ad4be7277299d45bd6f805599b8b975f890f1c4dce48",
          "normalized_character_range": [
            580,
            921
          ],
          "normalized_utf8_byte_range": [
            580,
            921
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
          "source_file": {
            "archive": "source",
            "bytes": 52340,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch07-sensitivity/sensitivity-LP.tex",
            "sha256": "27125508e85609361382af200e24d33d5f979cb68f78c5eee94c06acd6a9c64c"
          },
          "type": "tryit"
        },
        "visualization_titles": [
          {
            "normalized_witness": "panduanlangkahdemilangkahanalisissensitivitas",
            "page": 259,
            "slug": "sensitivity-walkthrough",
            "source_character_range": [
              628,
              678
            ],
            "source_sha256": "a71238008cd448ca298a0b27ed1e78819d8dfbb8ef1ba56cc11276e6753014f4",
            "source_text": "Panduan Langkah demi Langkah Analisis Sensitivitas"
          },
          {
            "normalized_witness": "eksplorasidualitasdansensitivitas",
            "page": 259,
            "slug": "duality-sensitivity",
            "source_character_range": [
              806,
              842
            ],
            "source_sha256": "6ef0ea9af7bc3b6c87a6355c40bc74de29d7f8160af343948586a00356673a90",
            "source_text": "Eksplorasi Dualitas dan Sensitivitas"
          }
        ],
        "witnesses": [
          {
            "normalized_witness": "panduanlangkahdemilangkahanalisissensitivitas",
            "page": 259,
            "source_character_range": [
              628,
              678
            ],
            "source_sha256": "a71238008cd448ca298a0b27ed1e78819d8dfbb8ef1ba56cc11276e6753014f4",
            "source_text": "Panduan Langkah demi Langkah Analisis Sensitivitas"
          },
          {
            "normalized_witness": "hargabayanganrentangyangdiizinkandanbiayatereduksiyangditurunkantahapdemitahap",
            "page": 259,
            "source_character_range": [
              681,
              776
            ],
            "source_sha256": "f7ae6d1d998f02c86f65969d9cf924d43938f841fbd515a80d03b96188b3de67",
            "source_text": "harga bayangan, rentang yang diizinkan, dan biaya tereduksi yang diturunkan tahap demi tahap.\n\n"
          },
          {
            "normalized_witness": "ubahdatadanamatiresponssolusioptimalsertahargabayangan",
            "page": 259,
            "source_character_range": [
              845,
              910
            ],
            "source_sha256": "5930bbaceb25a4e22c38893782e33a5d4f6e5f9d36b76d1f82c285ac58824ef1",
            "source_text": "ubah data dan amati respons solusi optimal serta harga bayangan.\n"
          }
        ]
      },
      {
        "answer": {
          "id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-009",
          "native_relation_id": "relation.answers.unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-009.unit.r017.book1.ch11.text-a.learningcheckpoint-001",
          "page": 660,
          "relation_basis": "native-answers-edge-and-exact-source-label"
        },
        "id": "unit.r017.book1.ch11.text-a.learningcheckpoint-001",
        "kind": "learningcheckpoint",
        "page": 283,
        "page_text_sha256": "b0886fb22a3afd5a58d2a008ec845c3bebd1f729f25df466d8dabdf10dbe50e0",
        "printed_state": "checkpoint-anchor-and-literal-passage",
        "reader": {
          "destination": "tcb@cnt@learningcheckpoint*.955",
          "page": 283,
          "printed_number": "11.1.1"
        },
        "source_span": {
          "content_bytes": 393,
          "content_sha256": "3acb81573ae5a494a7535248652af73a56d46aa62642fa7de2a3b02609ad853a",
          "environment": "learningcheckpoint",
          "id": "unit.r017.book1.ch11.text-a.learningcheckpoint-001",
          "label": "lc:duality-certificate",
          "line_range": [
            118,
            120
          ],
          "native_record_sha256": "01751289ff79c4ab6f72e4c9167ff018a5c14529d447b86918d74f698eb8c0b9",
          "normalized_character_range": [
            6911,
            7304
          ],
          "normalized_utf8_byte_range": [
            6911,
            7304
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
          "source_file": {
            "archive": "source",
            "bytes": 54574,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
            "sha256": "ce71b6225b7c96fd52bb9c5df2718d6a2355a0482c4aec4350b0b1f0d5d34ec1"
          },
          "type": "learningcheckpoint"
        },
        "witnesses": [
          {
            "normalized_witness": "periksabahwapilihaninimemenuhikeduasyaratdominasilaluhitungbatasataslabayangdihasilkansetelahitubandingkandenganbatasdari",
            "page": 283,
            "source_character_range": [
              7034,
              7179
            ],
            "source_sha256": "ca6118e752b858205a122d61b017b5e1bdacef04b800786f2391626ee0a623c4",
            "source_text": "Periksa bahwa pilihan ini memenuhi kedua syarat dominasi, lalu hitung batas atas laba yang dihasilkan. Setelah itu, bandingkan dengan batas dari "
          },
          {
            "normalized_witness": "sertifikatmanayanglebihbaikdapatkahandamenemukanyanglebihbaiklagi",
            "page": 283,
            "source_character_range": [
              7201,
              7280
            ],
            "source_sha256": "f79753e6bb9b539d068bc73736e6d0ce75c751f4dcecf2d6155b8b0b8af9b336",
            "source_text": "Sertifikat mana yang lebih baik? Dapatkah Anda menemukan yang lebih baik lagi?\n"
          }
        ]
      },
      {
        "answer": {
          "id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-010",
          "native_relation_id": "relation.answers.unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-010.unit.r017.book1.ch11.text-a.learningcheckpoint-002",
          "page": 660,
          "relation_basis": "native-answers-edge-and-exact-source-label"
        },
        "id": "unit.r017.book1.ch11.text-a.learningcheckpoint-002",
        "kind": "learningcheckpoint",
        "page": 293,
        "page_text_sha256": "bfe423b59287cf3569169d92b794d9b22ed94c0459d3a6bf05b438493a774853",
        "printed_state": "checkpoint-anchor-and-literal-passage",
        "reader": {
          "destination": "tcb@cnt@learningcheckpoint*.968",
          "page": 293,
          "printed_number": "11.3.1"
        },
        "source_span": {
          "content_bytes": 389,
          "content_sha256": "f355aeef31758c3465197b47b77e1ae8e4ed2b42e5731834b1cd06e909ddbc9f",
          "environment": "learningcheckpoint",
          "id": "unit.r017.book1.ch11.text-a.learningcheckpoint-002",
          "label": "lc:dual-forms",
          "line_range": [
            623,
            629
          ],
          "native_record_sha256": "5fdf0b91f81d639ae7b0d8432246a993c454a81f962168c3b4f46976e28eff09",
          "normalized_character_range": [
            29092,
            29481
          ],
          "normalized_utf8_byte_range": [
            29092,
            29481
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
          "source_file": {
            "archive": "source",
            "bytes": 54574,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
            "sha256": "ce71b6225b7c96fd52bb9c5df2718d6a2355a0482c4aec4350b0b1f0d5d34ec1"
          },
          "type": "learningcheckpoint"
        },
        "witnesses": [
          {
            "normalized_witness": "tanpamenuliskanpenurunanlengkapprediksikanbentukdualdari",
            "page": 293,
            "source_character_range": [
              29142,
              29207
            ],
            "source_sha256": "f5e42c9fcb9972861eb4d058053e9d5f819c337deea289042535c3944a2f8655",
            "source_text": "Tanpa menuliskan penurunan lengkap, prediksikan bentuk dual dari\n"
          },
          {
            "normalized_witness": "apakahmasalahdualmerupakanmaksimisasiatauminimisasiapakahvariabeldualdibatasitandanyaataubebasapakahkendaladualberupapertidaksamaanataupersamaan",
            "page": 293,
            "source_character_range": [
              29289,
              29457
            ],
            "source_sha256": "0f2cdd3535f6a11a6839d729c634787d1317fd6415701e17cad5058120ab3b4e",
            "source_text": "Apakah masalah dual merupakan maksimisasi atau minimisasi? Apakah variabel dual dibatasi tandanya atau bebas? Apakah kendala dual berupa pertidaksamaan atau persamaan?\n"
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch11.text-a.solution-001",
        "kind": "solution",
        "page": 303,
        "page_text_sha256": "59170d66efe5cde61aa5b0d3a22e9238cff616d7fe16dd364817d375b3ce84f0",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 506,
          "content_sha256": "d6ff173055c17a76e649c666b2edb8a052871d91da9c6606081788262e4a3a71",
          "environment": "solution",
          "id": "unit.r017.book1.ch11.text-a.solution-001",
          "label": null,
          "line_range": [
            1214,
            1226
          ],
          "native_record_sha256": "405bd20f884c4d53e41987e2743d920fbf3960bef6a71bdf68df79cc95878ce2",
          "normalized_character_range": [
            52348,
            52854
          ],
          "normalized_utf8_byte_range": [
            52348,
            52854
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
          "source_file": {
            "archive": "source",
            "bytes": 54574,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
            "sha256": "ce71b6225b7c96fd52bb9c5df2718d6a2355a0482c4aec4350b0b1f0d5d34ec1"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "terdapatduakendalasehinggamasalahdualmemilikiduavariabel",
            "page": 303,
            "source_character_range": [
              52398,
              52464
            ],
            "source_sha256": "c2e119d07851a77338e4f7c26699bd9973d3e2cf8f5ecf50d9226613637d3c89",
            "source_text": "Terdapat dua kendala, sehingga masalah dual memiliki dua variabel "
          },
          {
            "normalized_witness": "masingmasingsatubagisetiapkendalasetiapdariketigavariabelprimalmenghasilkankendaladualdenganruaskananberupakoefisientujuanvariabeltersebut",
            "page": 303,
            "source_character_range": [
              52483,
              52645
            ],
            "source_sha256": "0af9581ff16c289627a66810d25a0c8cdd18a59195cbbd0c851d7b02c10b4e9d",
            "source_text": "masing-masing satu bagi setiap kendala. Setiap dari ketiga variabel primal menghasilkan kendala dual dengan ruas kanan berupa koefisien tujuan variabel tersebut:\n"
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch11.text-a.solution-002",
        "kind": "solution",
        "page": 303,
        "page_text_sha256": "59170d66efe5cde61aa5b0d3a22e9238cff616d7fe16dd364817d375b3ce84f0",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 709,
          "content_sha256": "9772533590a4c1367ec34166f7f403d3853f652dc747c3316a85f5b03a766555",
          "environment": "solution",
          "id": "unit.r017.book1.ch11.text-a.solution-002",
          "label": null,
          "line_range": [
            1228,
            1233
          ],
          "native_record_sha256": "8a5ae522cf4f500bd035713758d5af28dcd3409113c1e75fbab0ca4957b0503b",
          "normalized_character_range": [
            52856,
            53565
          ],
          "normalized_utf8_byte_range": [
            52856,
            53565
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
          "source_file": {
            "archive": "source",
            "bytes": 54574,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
            "sha256": "ce71b6225b7c96fd52bb9c5df2718d6a2355a0482c4aec4350b0b1f0d5d34ec1"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "menurutdualitaslemahsetiapnilaiprimalpalingbesarsamadengansetiapnilaidualsehingganilaioptimal",
            "page": 303,
            "source_character_range": [
              53314,
              53425
            ],
            "source_sha256": "1bbf027a814194f1faf9df3eb291e87664c87d257966eb0c1866b8fb54bdde35",
            "source_text": "Menurut dualitas lemah, setiap nilai primal paling besar sama dengan setiap nilai dual, sehingga nilai optimal "
          },
          {
            "normalized_witness": "karenakeduabatasberimpitkeduasolusitersebutsesungguhnyaoptimaldan",
            "page": 303,
            "source_character_range": [
              53463,
              53539
            ],
            "source_sha256": "0560162bcb4913e9f8c1518b965b14eee400375a9bc16d86b995f92ebbf1c5ee",
            "source_text": "Karena kedua batas berimpit, kedua solusi tersebut sesungguhnya optimal dan "
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch11.text-a.solution-003",
        "kind": "solution",
        "page": 303,
        "page_text_sha256": "59170d66efe5cde61aa5b0d3a22e9238cff616d7fe16dd364817d375b3ce84f0",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 1006,
          "content_sha256": "ad09a5411f2e79d2299927296a765e5753179ba8efd24ee32f0820ec907ff304",
          "environment": "solution",
          "id": "unit.r017.book1.ch11.text-a.solution-003",
          "label": null,
          "line_range": [
            1235,
            1249
          ],
          "native_record_sha256": "4ad21de2f9b518c954ae4221ad3ef4b757848ae39545aa9f5f3cb03cd5d1a2f2",
          "normalized_character_range": [
            53567,
            54573
          ],
          "normalized_utf8_byte_range": [
            53567,
            54573
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
          "source_file": {
            "archive": "source",
            "bytes": 54574,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
            "sha256": "ce71b6225b7c96fd52bb9c5df2718d6a2355a0482c4aec4350b0b1f0d5d34ec1"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "tulisulangddalambentukmaksimisasisimetrismeminimumkan",
            "page": 303,
            "source_character_range": [
              53615,
              53679
            ],
            "source_sha256": "b779dfabc58e8a2b6360863ffeba92cb1b393d62095bf7f509e852eb001ee031",
            "source_text": "Tulis ulang (D) dalam bentuk maksimisasi simetris. Meminimumkan "
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch11.text-a.tryit-001",
        "kind": "tryit",
        "page": 281,
        "page_text_sha256": "8b1ba8198736f7501310bbc957e05a710f08c44a9726d437f4b8515bf4d2a6ea",
        "printed_state": "exact-visualization-titles",
        "source_span": {
          "content_bytes": 422,
          "content_sha256": "7f7ff718e4902079c004f67395cf9cb41ec60f0db032e493b139e36f23e7c71b",
          "environment": "tryit",
          "id": "unit.r017.book1.ch11.text-a.tryit-001",
          "label": null,
          "line_range": [
            19,
            25
          ],
          "native_record_sha256": "994016bfc4d5ae182798fad06992d96c27fadf504bd8c80289c5b7698b7d8ede",
          "normalized_character_range": [
            548,
            970
          ],
          "normalized_utf8_byte_range": [
            548,
            970
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
          "source_file": {
            "archive": "source",
            "bytes": 54574,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/duality.tex",
            "sha256": "ce71b6225b7c96fd52bb9c5df2718d6a2355a0482c4aec4350b0b1f0d5d34ec1"
          },
          "type": "tryit"
        },
        "visualization_titles": [
          {
            "normalized_witness": "penyusunanprimalkedual",
            "page": 281,
            "slug": "dual-construction",
            "source_character_range": [
              590,
              615
            ],
            "source_sha256": "05716b63e1cf35eed6762026ba7a82a62820bfc827598c07793d6bb96c028937",
            "source_text": "Penyusunan Primal-ke-Dual"
          },
          {
            "normalized_witness": "penjelajahdualitasdansensitivitas",
            "page": 281,
            "slug": "duality-sensitivity",
            "source_character_range": [
              747,
              783
            ],
            "source_sha256": "4556abd1cc7b22736296927e07f2fe2e4281868bfab2d42854d845336a42a13b",
            "source_text": "Penjelajah Dualitas dan Sensitivitas"
          },
          {
            "normalized_witness": "metodesimpleksdual",
            "page": 281,
            "slug": "dual-simplex",
            "source_character_range": [
              882,
              902
            ],
            "source_sha256": "2768e90ce030096dd5f89ec29864a8d80741cd931d7c0a54d5f1e47ebda236f4",
            "source_text": "Metode Simpleks Dual"
          }
        ],
        "witnesses": [
          {
            "normalized_witness": "susunmasalahdualdenganmenambahkansatupengalipadasatuwaktupersissepertidalambabini",
            "page": 281,
            "source_character_range": [
              618,
              717
            ],
            "source_sha256": "110355f598e1d239282f36145c9d118755d9a963bd847f37c06b4c0804b8a2e2",
            "source_text": "susun masalah dual dengan menambahkan satu pengali pada satu waktu, persis seperti dalam bab ini.\n\n"
          },
          {
            "normalized_witness": "amatisecaralangsungmasalahprimalmasalahdualdanhargabayangan",
            "page": 281,
            "source_character_range": [
              786,
              859
            ],
            "source_sha256": "539dbb880ba28189d7fa90f77280cee4fe2a18940920a6003027b181872c3a60",
            "source_text": "amati secara langsung masalah primal, masalah dual, dan harga bayangan.\n\n"
          },
          {
            "normalized_witness": "topiklanjutanyangdapatdijelajahisetelahbabini",
            "page": 281,
            "source_character_range": [
              905,
              959
            ],
            "source_sha256": "64f77cfb3b52d5a3a8755003b934b41631cdd5d18503e7c54f5102d805901057",
            "source_text": "topik lanjutan yang dapat dijelajahi setelah bab ini.\n"
          }
        ]
      },
      {
        "answer": {
          "id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-011",
          "native_relation_id": "relation.answers.unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-011.unit.r017.book1.ch11.text-b.learningcheckpoint-001",
          "page": 660,
          "relation_basis": "native-answers-edge-and-exact-source-label"
        },
        "id": "unit.r017.book1.ch11.text-b.learningcheckpoint-001",
        "kind": "learningcheckpoint",
        "page": 306,
        "page_text_sha256": "19057ac7c1947033568676b680dd0046de7118b0f29e792331de13562acd53eb",
        "printed_state": "checkpoint-anchor-and-literal-passage",
        "reader": {
          "destination": "tcb@cnt@learningcheckpoint*.1018",
          "page": 306,
          "printed_number": "11.5.1"
        },
        "source_span": {
          "content_bytes": 332,
          "content_sha256": "f8cb2e2c85a86d21d222f6c5c57f21ecc5adf26a8d835ffb825670cbed6c0df9",
          "environment": "learningcheckpoint",
          "id": "unit.r017.book1.ch11.text-b.learningcheckpoint-001",
          "label": "lc:cs-leftover",
          "line_range": [
            116,
            118
          ],
          "native_record_sha256": "a2a0837c1289cdc2ea088eeb344c340008b71b11245f3b806b38e63e5205e26a",
          "normalized_character_range": [
            5399,
            5731
          ],
          "normalized_utf8_byte_range": [
            5399,
            5731
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/complimentary-slackness.tex",
          "source_file": {
            "archive": "source",
            "bytes": 28658,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/complimentary-slackness.tex",
            "sha256": "acf99fe82812fc9ad487bdeb4d8a4e2e46918e0e40bb48edcd1a75d075ebc69a"
          },
          "type": "learningcheckpoint"
        },
        "witnesses": [
          {
            "normalized_witness": "padasuatusolusioptimalmasalahtokorotimisalkantersisaduasatuantepungkendalatepungtidakketatapayangdikatakankelonggarankomplementermengenaihargabayangantepungjelaskandalamsatukalimatmengapahalinimasukakalsecaraekonomi",
            "page": 306,
            "source_character_range": [
              5450,
              5707
            ],
            "source_sha256": "5225b181b191afe83eb51af113d14e0addd718f1c9d4c738911e40bbc0ecc194",
            "source_text": "Pada suatu solusi optimal masalah toko roti, misalkan tersisa dua satuan tepung (kendala tepung tidak ketat). Apa yang dikatakan kelonggaran komplementer mengenai harga bayangan tepung? Jelaskan dalam satu kalimat mengapa hal ini masuk akal secara ekonomi.\n"
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch11.text-b.solution-001",
        "kind": "solution",
        "page": 313,
        "page_text_sha256": "4327882457deadf95a77bd33ee1de3f013ab18057959cbae4edd553ca0132d65",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 1748,
          "content_sha256": "67b13afc1491d0b12df98ce9b5c5b0308a2c3618c51587b292d1e1960fe1c747",
          "environment": "solution",
          "id": "unit.r017.book1.ch11.text-b.solution-001",
          "label": null,
          "line_range": [
            593,
            605
          ],
          "native_record_sha256": "4169ba800d53508e91261e9d3004894d566fe36739a4181b83ba815a368e9ff4",
          "normalized_character_range": [
            22349,
            24097
          ],
          "normalized_utf8_byte_range": [
            22349,
            24097
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/complimentary-slackness.tex",
          "source_file": {
            "archive": "source",
            "bytes": 28658,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/complimentary-slackness.tex",
            "sha256": "acf99fe82812fc9ad487bdeb4d8a4e2e46918e0e40bb48edcd1a75d075ebc69a"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "dalammasalahprimalkendalaguladanwaktupemangganganketatsedangkankendalatepungmemilikikelonggaran",
            "page": 313,
            "source_character_range": [
              22858,
              22970
            ],
            "source_sha256": "600b360d7239cc599be5127ca50dc98aa1e7247140077dfb735a054ded8ed4c6",
            "source_text": "Dalam masalah primal, kendala gula dan waktu pemanggangan ketat, sedangkan kendala tepung memiliki kelonggaran ("
          },
          {
            "normalized_witness": "nilainyasamasehinggakeoptimalanterkonfirmasiolehdualitaskuat",
            "page": 313,
            "source_character_range": [
              23387,
              23458
            ],
            "source_sha256": "c9d8ed4d881aea4fd19b25bde9618d97f3b39aa7833d321c97183421513d6c64",
            "source_text": "Nilainya sama, sehingga keoptimalan terkonfirmasi oleh dualitas kuat.\n\n"
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch11.text-b.solution-002",
        "kind": "solution",
        "page": 314,
        "page_text_sha256": "7d66f690e7051d2a8f43ac11c6ff6cf2e5b9e7ee475cee73fc6cae61712b79be",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 1205,
          "content_sha256": "c656769c2691fbacd800f8cdce0d75bf2a7d4e2d4fce71a5fa8f14f839f59355",
          "environment": "solution",
          "id": "unit.r017.book1.ch11.text-b.solution-002",
          "label": null,
          "line_range": [
            607,
            620
          ],
          "native_record_sha256": "ca5f77a290c3125cdf078e44f2d5ac63b4fbd258bea80480aed6ee818bcb3320",
          "normalized_character_range": [
            24099,
            25304
          ],
          "normalized_utf8_byte_range": [
            24099,
            25304
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/complimentary-slackness.tex",
          "source_file": {
            "archive": "source",
            "bytes": 28658,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/complimentary-slackness.tex",
            "sha256": "acf99fe82812fc9ad487bdeb4d8a4e2e46918e0e40bb48edcd1a75d075ebc69a"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "yanglayakbagimasalahdualdengannilaitujuanyangsamakeduanyapastioptimalcpada",
            "page": 314,
            "source_character_range": [
              24614,
              24708
            ],
            "source_sha256": "d8a1f67082c2acd88e64aea1dfab86c7519992f6e2f532cdea4d612fbbb904f5",
            "source_text": "yang layak bagi masalah dual dengan nilai tujuan yang sama, keduanya pasti optimal.\n\n(c) Pada "
          },
          {
            "normalized_witness": "kendaladualyangtersisaberlakudengankelonggaran",
            "page": 314,
            "source_character_range": [
              24988,
              25042
            ],
            "source_sha256": "c33cceb478e7b9d1c5eb7e387fe15ba7ca351f645d51ccdba37cfa87de2f8c3d",
            "source_text": "Kendala dual yang tersisa berlaku dengan kelonggaran: "
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch11.text-b.solution-003",
        "kind": "solution",
        "page": 314,
        "page_text_sha256": "7d66f690e7051d2a8f43ac11c6ff6cf2e5b9e7ee475cee73fc6cae61712b79be",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 969,
          "content_sha256": "fcbc6bd2ac2619efab71c4331c01d4ebd265d31fd102a57237d26176d1bd5638",
          "environment": "solution",
          "id": "unit.r017.book1.ch11.text-b.solution-003",
          "label": null,
          "line_range": [
            622,
            628
          ],
          "native_record_sha256": "da7c2d34a8b283700933dc24568835fc7e0e5d9fc51f449457f77ffdb9ce19c0",
          "normalized_character_range": [
            25306,
            26275
          ],
          "normalized_utf8_byte_range": [
            25306,
            26275
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/complimentary-slackness.tex",
          "source_file": {
            "archive": "source",
            "bytes": 28658,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch08-duality/complimentary-slackness.tex",
            "sha256": "acf99fe82812fc9ad487bdeb4d8a4e2e46918e0e40bb48edcd1a75d075ebc69a"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "tidakoptimaltitikitulayaktetapikeduakendalamemilikikelonggaransehinggakitadapatmemperolehhasilyanglebihbaiksolusioptimalsebenarnyaadalah",
            "page": 314,
            "source_character_range": [
              25887,
              26050
            ],
            "source_sha256": "1f61354cea159e0a5eda3122698eda717e05c679667f737dd598df3e1d1f24c5",
            "source_text": "tidak optimal. (Titik itu layak, tetapi kedua kendala memiliki kelonggaran sehingga kita dapat memperoleh hasil yang lebih baik.) Solusi optimal sebenarnya adalah "
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch12.text.solution-001",
        "kind": "solution",
        "page": 361,
        "page_text_sha256": "56e56265cb9796dac8adf57c1fc1d24390905536fd04d77003a3e26bd19d4a05",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 762,
          "content_sha256": "31ae28f32a0f82d63527e04861ca172ead0e7573068899072d35e7b75ce4bcff",
          "environment": "solution",
          "id": "unit.r017.book1.ch12.text.solution-001",
          "label": null,
          "line_range": [
            1474,
            1495
          ],
          "native_record_sha256": "e24a1291def0d4ffb15aec48350c86598575f141c8a457e5e5b3d1fe57d726ec",
          "normalized_character_range": [
            54677,
            55439
          ],
          "normalized_utf8_byte_range": [
            54677,
            55439
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-python-book1.tex",
          "source_file": {
            "archive": "source",
            "bytes": 57796,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-python-book1.tex",
            "sha256": "d4e0649df95b71b4b22c49bb133fb4bd9cf8d3407a8e0d5e3fe0a665c0975261"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "valueprobobjectiveforvinprobvariablesprintvname",
            "page": 361,
            "source_character_range": [
              55150,
              55218
            ],
            "source_sha256": "b1a045cf15c35b14d9a9479182e3bcb91c19dd05790c783e89e625073cfafd8e",
            "source_text": "value(prob.objective))\nfor v in prob.variables():\n    print(v.name, "
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch12.text.solution-002",
        "kind": "solution",
        "page": 361,
        "page_text_sha256": "56e56265cb9796dac8adf57c1fc1d24390905536fd04d77003a3e26bd19d4a05",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 809,
          "content_sha256": "20d5f112c556765f6374ff28318bcee813b0e1ffd8ee203d15f6b920b2efc37a",
          "environment": "solution",
          "id": "unit.r017.book1.ch12.text.solution-002",
          "label": null,
          "line_range": [
            1497,
            1506
          ],
          "native_record_sha256": "0a714ddd7ae92041169a9c9b3b2b09a77fa3283fdcf52689b118b54193182e69",
          "normalized_character_range": [
            55441,
            56250
          ],
          "normalized_utf8_byte_range": [
            55441,
            56250
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-python-book1.tex",
          "source_file": {
            "archive": "source",
            "bytes": 57796,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-python-book1.tex",
            "sha256": "d4e0649df95b71b4b22c49bb133fb4bd9cf8d3407a8e0d5e3fe0a665c0975261"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "menjalankanperulanganpadamodelyangtelahdiselesaikanmenghasilkan",
            "page": 361,
            "source_character_range": [
              55491,
              55562
            ],
            "source_sha256": "8044bca8e14003c6d5be5216d9c507b5eaae1f448da54ac5ac68db6f90cd4b27",
            "source_text": "Menjalankan perulangan pada model yang telah diselesaikan menghasilkan\n"
          },
          {
            "normalized_witness": "kendaladengansisakapasitastidakbernilaipadamarginsehinggahargabayangannyanolinilahkondisikelonggarankomplementeruntuksetiapkendalanilaidualatauslackataukeduanyaharusnol",
            "page": 361,
            "source_character_range": [
              55834,
              56037
            ],
            "source_sha256": "5b1d0236cd7950b4a95c8fd94ee23b66204d70f8ed35179a4fc350a757acac91",
            "source_text": "Kendala dengan sisa kapasitas tidak bernilai pada margin, sehingga harga bayangannya nol. Inilah kondisi kelonggaran komplementer: untuk setiap kendala, nilai dual atau slack (atau keduanya) harus nol.\n("
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch12.text.solution-003",
        "kind": "solution",
        "page": 361,
        "page_text_sha256": "56e56265cb9796dac8adf57c1fc1d24390905536fd04d77003a3e26bd19d4a05",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 1543,
          "content_sha256": "ed10fc1f2deffe5616343d572c2f50794f1de796c2e34f3cc3293fa661ae1fc8",
          "environment": "solution",
          "id": "unit.r017.book1.ch12.text.solution-003",
          "label": null,
          "line_range": [
            1508,
            1525
          ],
          "native_record_sha256": "4dadbdb020fe597eb5fde290276c79ab7048880f5bc0a4560d0968f99bba8f24",
          "normalized_character_range": [
            56252,
            57795
          ],
          "normalized_utf8_byte_range": [
            56252,
            57795
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-python-book1.tex",
          "source_file": {
            "archive": "source",
            "bytes": 57796,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-python-book1.tex",
            "sha256": "d4e0649df95b71b4b22c49bb133fb4bd9cf8d3407a8e0d5e3fe0a665c0975261"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "samadenganhargabayangankendalatenagakerjauntuk",
            "page": 361,
            "source_character_range": [
              57025,
              57080
            ],
            "source_sha256": "8c023c53a5a1c266b6988fd26f48d3a363cc17586ec473bcbcecc1a93bc7f933",
            "source_text": "sama dengan harga bayangan kendala tenaga kerja. Untuk "
          },
          {
            "normalized_witness": "bahandantenagakerjasamasamamengikatdansatujamtambahanhanyabernilai",
            "page": 361,
            "source_character_range": [
              57235,
              57314
            ],
            "source_sha256": "122c7b4f36f022ca99c85acb66d9b751b4a38405a29f54abacdb9cae288192c2",
            "source_text": "bahan dan tenaga kerja sama-sama mengikat dan satu jam tambahan hanya bernilai "
          },
          {
            "normalized_witness": "kemiringanyangmenuruninilahyangmembuatkurvacekung",
            "page": 361,
            "source_character_range": [
              57322,
              57381
            ],
            "source_sha256": "0897d1529f66a5c6e3dc07702c28c466de6fa72d3ac639b46b3599b4deb0cdb8",
            "source_text": "kemiringan yang menurun inilah yang membuat kurva cekung.\n("
          },
          {
            "normalized_witness": "tempatkendalabahandanmesinmengikatsementaratenagakerjatidaklagilangkasetelahitutenagakerjatambahanmemilikihargabayangan",
            "page": 361,
            "source_character_range": [
              57429,
              57570
            ],
            "source_sha256": "ab8699cafa57217f51d12b1d295c33ac90abaabc39065fdb8151a41532acc148",
            "source_text": "tempat kendala bahan dan mesin mengikat sementara tenaga kerja tidak lagi langka. Setelah itu, tenaga kerja tambahan memiliki harga bayangan "
          },
          {
            "normalized_witness": "membelilebihbanyaksumberdayayangtidakmengikattidaklahbernilaiinilahperilakusensitivitasruaskanandaribab",
            "page": 361,
            "source_character_range": [
              57596,
              57716
            ],
            "source_sha256": "a4e73f9a09f9b5fbf2a2eeda1f98ff9c9e357c72162c64721cfbb553b9697f98",
            "source_text": "membeli lebih banyak sumber daya yang tidak mengikat tidaklah bernilai. Inilah perilaku sensitivitas ruas kanan dari Bab"
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch12.text.tryit-001",
        "kind": "tryit",
        "page": 320,
        "page_text_sha256": "681941b3dca30bc40d00b0fe396a24256f40f71b61ddf374cd5fc96ac9a88278",
        "printed_state": "exact-visualization-titles",
        "source_span": {
          "content_bytes": 167,
          "content_sha256": "5e7e75fa0173a2639d576a5cb8f1ca4b75be7eac94d2c35fa7d4f549b928e9d9",
          "environment": "tryit",
          "id": "unit.r017.book1.ch12.text.tryit-001",
          "label": null,
          "line_range": [
            161,
            163
          ],
          "native_record_sha256": "31dc60815c05c4d83203d13dcc7d88ab3dca94da598123fc53f482dd45cb90f8",
          "normalized_character_range": [
            8002,
            8169
          ],
          "normalized_utf8_byte_range": [
            8002,
            8169
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-python-book1.tex",
          "source_file": {
            "archive": "source",
            "bytes": 57796,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch03-software/software-python-book1.tex",
            "sha256": "d4e0649df95b71b4b22c49bb133fb4bd9cf8d3407a8e0d5e3fe0a665c0975261"
          },
          "type": "tryit"
        },
        "visualization_titles": [
          {
            "normalized_witness": "satulpempatbahasapemodelan",
            "page": 320,
            "slug": "lp-solvers",
            "source_character_range": [
              8037,
              8068
            ],
            "source_sha256": "8c37f39666a05173c297839419479a2375bb1d79ec5f4eb046cf0c10bf3a6b11",
            "source_text": "Satu LP, Empat Bahasa Pemodelan"
          }
        ],
        "witnesses": [
          {
            "normalized_witness": "masalahyangsamadalampulppyomogurobipydanampldenganpenelusurlangkahkode",
            "page": 320,
            "source_character_range": [
              8071,
              8158
            ],
            "source_sha256": "90b4b7c7856fb9293980cb27a433e93485355e7851d59bd34ecbda41614cd9c4",
            "source_text": "masalah yang sama dalam PuLP, Pyomo, gurobipy, dan AMPL dengan penelusur langkah kode.\n"
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch13.text.solution-001",
        "kind": "solution",
        "page": 377,
        "page_text_sha256": "cb745296813bc57a85ff85a9e0a9e237b74f10914451070981e99b2c391f9e37",
        "printed_state": "native-reference-and-unique-solution-heading",
        "solution_reference": {
          "mapping_method": "native-solves-edge-exact-source-reference-and-unique-printed-solution-heading",
          "native_relation_id": "relation.solves.unit.r017.book1.ch13.text.solution-001.unit.r017.book1.ch13.text.ex-001",
          "page": 377,
          "printed_number": "13.1",
          "printed_witness": {
            "character_range": [
              1124,
              1152
            ],
            "page_text_sha256": "cb745296813bc57a85ff85a9e0a9e237b74f10914451070981e99b2c391f9e37",
            "text": "Penyelesaian. (Latihan 13.1)"
          },
          "question_id": "unit.r017.book1.ch13.text.ex-001",
          "scope": "Start page only; not full solution extent or mathematical verification.",
          "source_reference": {
            "normalized_character_range": [
              39372,
              39417
            ],
            "sha256": "ccb75599b8fc84f5feee35f9b78d5d2b9c0f669cbb3e281a31c94cde23259ec4",
            "text": "\\begin{solution}(Latihan~\\ref{ex:pareto-def})"
          }
        },
        "source_span": {
          "content_bytes": 538,
          "content_sha256": "d294996e282976441285c5ea587776ec2a4b015d2b523b18e0c941febfb8ac52",
          "environment": "solution",
          "id": "unit.r017.book1.ch13.text.solution-001",
          "label": null,
          "line_range": [
            645,
            647
          ],
          "native_record_sha256": "94f7d9d0de4e78c4447bf94739e1f550cca2bde3421812e9efc7a70aac31efc6",
          "normalized_character_range": [
            39372,
            39910
          ],
          "normalized_utf8_byte_range": [
            39372,
            39910
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
          "source_file": {
            "archive": "source",
            "bytes": 44623,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
            "sha256": "f03649dc7debed42b616a03bfb64d9a0cca27a00afcd3580cab57c1ba94bde23"
          },
          "type": "solution"
        },
        "witnesses": []
      },
      {
        "id": "unit.r017.book1.ch13.text.solution-002",
        "kind": "solution",
        "page": 377,
        "page_text_sha256": "cb745296813bc57a85ff85a9e0a9e237b74f10914451070981e99b2c391f9e37",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 1282,
          "content_sha256": "5bb58177a1e7442a91dfa4c4b3b919008a325ed9c0cee6ce2e05f6f7ae56d9b7",
          "environment": "solution",
          "id": "unit.r017.book1.ch13.text.solution-002",
          "label": null,
          "line_range": [
            649,
            655
          ],
          "native_record_sha256": "e648e8c2ff9cb63e526c0185447dee2ed7b85df32ebf2ef1ef86699c19a77b62",
          "normalized_character_range": [
            39912,
            41194
          ],
          "normalized_utf8_byte_range": [
            39912,
            41194
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
          "source_file": {
            "archive": "source",
            "bytes": 44623,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
            "sha256": "f03649dc7debed42b616a03bfb64d9a0cca27a00afcd3580cab57c1ba94bde23"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "bandingkanpasanganpasanganuntukmenentukandominasikeduatujuandiminimumkan",
            "page": 377,
            "source_character_range": [
              39964,
              40048
            ],
            "source_sha256": "96106fcf7e2d0796812ad56fb9c14feada63df46ae1a3a4ee32dd7c91d7dff21",
            "source_text": "Bandingkan pasangan-pasangan untuk menentukan dominasi (kedua tujuan diminimumkan). "
          },
          {
            "normalized_witness": "tidakdapatdiperolehdenganjumlahberbobotapapun",
            "page": 377,
            "source_character_range": [
              40957,
              41013
            ],
            "source_sha256": "32e6c3a4e9ec7784348aa18ffffcd4178fef1fe4943f5c80a6227d18ef0fafe4",
            "source_text": "tidak dapat diperoleh dengan jumlah berbobot apa pun.\n\n("
          },
          {
            "normalized_witness": "yaitutitikbatasyangtidakdapatdicapaidenganjumlahberbobot",
            "page": 377,
            "source_character_range": [
              41113,
              41180
            ],
            "source_sha256": "d61360dff8f0d35841125b292cffcfb878bd17ed08032dc81d47e90070156240",
            "source_text": "yaitu titik batas yang tidak dapat dicapai dengan jumlah berbobot.\n"
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch13.text.solution-003",
        "kind": "solution",
        "page": 377,
        "page_text_sha256": "cb745296813bc57a85ff85a9e0a9e237b74f10914451070981e99b2c391f9e37",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 1385,
          "content_sha256": "83ad0a8b4e1a3698481ebe6adac6dce1c68c0539040a0431d6048adccc2b1b88",
          "environment": "solution",
          "id": "unit.r017.book1.ch13.text.solution-003",
          "label": "tab:multi-objective-optimization_updated-tab05",
          "line_range": [
            657,
            676
          ],
          "native_record_sha256": "78beb9ab212ce749a3d52266686e37dc7fb1764f1fd2d7e7a62c85274063c6de",
          "normalized_character_range": [
            41196,
            42581
          ],
          "normalized_utf8_byte_range": [
            41196,
            42581
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
          "source_file": {
            "archive": "source",
            "bytes": 44623,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
            "sha256": "f03649dc7debed42b616a03bfb64d9a0cca27a00afcd3580cab57c1ba94bde23"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "aktifpadaoptimumdansolusinyaberadadiperpotongankendalatersebutdengansisi",
            "page": 377,
            "source_character_range": [
              41479,
              41564
            ],
            "source_sha256": "e65380aac84b73fbaa7f094e5cfcd5798c14702adbc16c75324ca2a152683487",
            "source_text": "aktif pada optimum, dan solusinya berada di perpotongan kendala tersebut dengan sisi "
          },
          {
            "normalized_witness": "terbesaryangdimungkinkandenganbatasitusehinggasetiapsolusioptimalparetobatasnyaadalahsisi",
            "page": 378,
            "source_character_range": [
              42124,
              42229
            ],
            "source_sha256": "d067c6244dfaad4df1f75f33f76c21c5e4149a5695ed99cf799cbcdd3a6071bf",
            "source_text": "terbesar yang dimungkinkan dengan batas itu, sehingga setiap solusi optimal Pareto. Batasnya adalah sisi "
          },
          {
            "normalized_witness": "yaitukompromisatubandingsatudiantarakeduatujuan",
            "page": 378,
            "source_character_range": [
              42355,
              42414
            ],
            "source_sha256": "9788a4c567775a2f0cd26dab2a1aca3ecbb872be3bdce00b85e60d535ed1e756",
            "source_text": "yaitu kompromi satu banding satu di antara kedua tujuan.\n\n("
          },
          {
            "normalized_witness": "lpberkendalatersebuttidaklayakpenyapuanharusberhentidisana",
            "page": 378,
            "source_character_range": [
              42497,
              42567
            ],
            "source_sha256": "aadc57cbdc6a7f0820d7a2f3e328e9bc8c6e51125ff6805d775a81070da47ebd",
            "source_text": "LP berkendala tersebut tidak layak; penyapuan harus berhenti di sana.\n"
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch13.text.solution-004",
        "kind": "solution",
        "page": 378,
        "page_text_sha256": "a22477f2c055628a1a9ab7f0ed95240fc2e8eacd6ed385243c2fc7cab69ee6e5",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 2039,
          "content_sha256": "9c20434b8116b0a9b261311ff282f8cffa28436116aa46a5f37cba8cf1e55e0d",
          "environment": "solution",
          "id": "unit.r017.book1.ch13.text.solution-004",
          "label": null,
          "line_range": [
            678,
            698
          ],
          "native_record_sha256": "bcf1ce1247f61d413a9da7a261fa2127450e018eeb04c8bab85cd335dcd39055",
          "normalized_character_range": [
            42583,
            44622
          ],
          "normalized_utf8_byte_range": [
            42583,
            44622
          ],
          "path": "Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
          "source_file": {
            "archive": "source",
            "bytes": 44623,
            "member": "source/Intro-Math-Programming/baseText/book/part1-linear-programming/ch09-multi-objective/multi-objective-optimization_updated.tex",
            "sha256": "f03649dc7debed42b616a03bfb64d9a0cca27a00afcd3580cab57c1ba94bde23"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "limbahdiabaikansehinggasemuarencanayangoptimalmenurutpendapatanyaitusisidari",
            "page": 378,
            "source_character_range": [
              43876,
              43966
            ],
            "source_sha256": "745adb7c5d41da33ff48314041c9cdf24325a1a1e7e8a09223e74ce252891207",
            "source_text": "limbah diabaikan, sehingga semua rencana yang optimal menurut pendapatan, yaitu sisi dari "
          },
          {
            "normalized_witness": "jumlahberbobotdenganbobotnoldapatmenghasilkantitikyangtidakoptimalparetosembarangbobotpositifpadalimbahmemutusseriuntukmemenangkan",
            "page": 378,
            "source_character_range": [
              44049,
              44201
            ],
            "source_sha256": "cb15f5237cb0d5ae7ca277e9bf6b99b7944733c9f0125feab49404cb8a18b751",
            "source_text": "Jumlah berbobot dengan bobot nol dapat menghasilkan titik yang tidak optimal Pareto; sembarang bobot positif pada limbah memutus seri untuk memenangkan "
          },
          {
            "normalized_witness": "ketikatujuanberadapadaskalayangsangatberbedabobotkehilanganmaknayangdimaksudkansehinggatujuanharusdinormalisasisebelumdibobotkanbagian",
            "page": 378,
            "source_character_range": [
              44423,
              44579
            ],
            "source_sha256": "580e99f6a6b87613884d4013e17f3d4d75679476bf0bea25a91299ba96dee9c4",
            "source_text": "Ketika tujuan berada pada skala yang sangat berbeda, bobot kehilangan makna yang dimaksudkan, sehingga tujuan harus dinormalisasi sebelum dibobotkan (Bagian"
          }
        ]
      },
      {
        "answer": {
          "id": "unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-012",
          "native_relation_id": "relation.answers.unit.r017.book1.backmatter.checkpoint-answers.checkpointanswer-012.unit.r017.book1.ch14.text.learningcheckpoint-001",
          "page": 660,
          "relation_basis": "native-answers-edge-and-exact-source-label"
        },
        "id": "unit.r017.book1.ch14.text.learningcheckpoint-001",
        "kind": "learningcheckpoint",
        "page": 387,
        "page_text_sha256": "c827f4c57c2b0cdd11c158bd9f8d2d3a1fba80d37f5f3ce540a365bce070d3b8",
        "printed_state": "checkpoint-anchor-and-literal-passage",
        "reader": {
          "destination": "tcb@cnt@learningcheckpoint*.2032",
          "page": 387,
          "printed_number": "14.3.1"
        },
        "source_span": {
          "content_bytes": 1654,
          "content_sha256": "cbc2cf959ed1a22738dc365d585e77a0360c4ffe9210ceb8cade093d572a2760",
          "environment": "learningcheckpoint",
          "id": "unit.r017.book1.ch14.text.learningcheckpoint-001",
          "label": "lc:graph-5cities",
          "line_range": [
            331,
            372
          ],
          "native_record_sha256": "e41dc6843e144ada32d9e3adf8e084e1f8b926879a6945ecfd599172138267ed",
          "normalized_character_range": [
            17645,
            19299
          ],
          "normalized_utf8_byte_range": [
            17653,
            19307
          ],
          "path": "Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
          "source_file": {
            "archive": "source",
            "bytes": 160339,
            "member": "source/Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
            "sha256": "bf10472a5ceb75aebe1702ecfb0e90c5d81242174858c28651196c9c169aa6bd"
          },
          "type": "learningcheckpoint"
        },
        "witnesses": [
          {
            "normalized_witness": "kotabobotpadasisimerepresentasikanhargatiketpenerbangansekalijalanantarkota",
            "page": 387,
            "source_character_range": [
              17752,
              17842
            ],
            "source_sha256": "d8db1540444a669242c424d7eb76f9611bb692f5a38ae91d3d0822b178139361",
            "source_text": "kota.  Bobot pada sisi merepresentasikan harga tiket penerbangan sekali jalan antarkota.\n "
          },
          {
            "normalized_witness": "berapabanyaksimpuldansisiyangdimilikigraftersebut",
            "page": 387,
            "source_character_range": [
              17882,
              17942
            ],
            "source_sha256": "ffbb60aeb36b81129cc4aa4e30717b20a1ca6e53d2f00a3c098510ab5073935c",
            "source_text": "Berapa banyak simpul dan sisi yang dimiliki graf tersebut?\n "
          },
          {
            "normalized_witness": "berapakahderajatsimpulyangmerepresentasikanla",
            "page": 387,
            "source_character_range": [
              17987,
              18040
            ],
            "source_sha256": "ec0b360db1d6b9b58bd33122cff477724d3bcf17a3cdbae8d5bf6b9f87de3c5a",
            "source_text": "Berapakah derajat simpul yang merepresentasikan LA?\n "
          },
          {
            "normalized_witness": "jikaandaterbangdariseattlekedallaslalukeatlantaapakahitulintasanatausirkuit",
            "page": 387,
            "source_character_range": [
              18046,
              18139
            ],
            "source_sha256": "f9f3d869d6bc17825fbfeac235fadd72724fa5b1e5cb65aafa1b9ee69e3df16c",
            "source_text": "Jika Anda terbang dari Seattle ke Dallas lalu ke Atlanta, apakah itu lintasan atau sirkuit?\n "
          },
          {
            "normalized_witness": "jikaandaterbangdarilakechicagolalukedallasdankembalikelaapakahitulintasanatausirkuit",
            "page": 387,
            "source_character_range": [
              18145,
              18251
            ],
            "source_sha256": "8cf4e73e7dfec3da0f3228ce809639061b9d08b2773b454a94f3f793de27eed7",
            "source_text": "Jika Anda terbang dari LA ke Chicago lalu ke Dallas dan kembali ke LA, apakah itu lintasan atau sirkuit?\n "
          },
          {
            "normalized_witness": "grafberbobotlimakotadiaslaseattlechicagoatlantadallasyangdiperlihatkansebagaititiktitikpenuh",
            "page": 387,
            "source_character_range": [
              19089,
              19208
            ],
            "source_sha256": "48864fa7f2c591e1daf5e48b6b7860ef8ece3ffb0fe52fee7feccfb658ef753d",
            "source_text": "Graf berbobot lima kota di A.S. (LA, Seattle, Chicago, Atlanta, Dallas) yang diperlihatkan sebagai titik-titik penuh..."
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch14.text.solution-001",
        "kind": "solution",
        "page": 412,
        "page_text_sha256": "e1d25d236a6a754f093b521ac511f655e7a0725c9212380a659cddbc3e0eefc6",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 630,
          "content_sha256": "e01a5e6edecd30ca6deb5c553aa903bd61c2104e443ebc5df4e4f1b1b5ce0b07",
          "environment": "solution",
          "id": "unit.r017.book1.ch14.text.solution-001",
          "label": null,
          "line_range": [
            2098,
            2105
          ],
          "native_record_sha256": "556aca5629aa46bf4d3a1472a2a7bd9350e96afc8ba734dedef14492d769c6c4",
          "normalized_character_range": [
            99133,
            99763
          ],
          "normalized_utf8_byte_range": [
            99157,
            99787
          ],
          "path": "Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
          "source_file": {
            "archive": "source",
            "bytes": 160339,
            "member": "source/Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
            "sha256": "bf10472a5ceb75aebe1702ecfb0e90c5d81242174858c28651196c9c169aa6bd"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "jalankanalgoritmedijkstradaribernsimpulsimpulmemperolehlabelpermanendenganurutanbern",
            "page": 412,
            "source_character_range": [
              99184,
              99285
            ],
            "source_sha256": "4bd468431031a5b9a30f38b9d53c8c8e5d1c78907747bb1cbccd2109b6a5abde",
            "source_text": "Jalankan algoritme Dijkstra dari Bern.  Simpul-simpul memperoleh label permanen dengan urutan: Bern ("
          },
          {
            "normalized_witness": "sebagaiperbandinganbernfrankfurtamsterdamberlinmemerlukanwaktu",
            "page": 412,
            "source_character_range": [
              99604,
              99678
            ],
            "source_sha256": "7627af62ef6c4dbf167c38bf3e12e3f3f652ac3b34e4c53f9e23abe743da5da1",
            "source_text": "Sebagai perbandingan, Bern--Frankfurt--Amsterdam--Berlin memerlukan waktu "
          },
          {
            "normalized_witness": "danbernlyonparisamsterdamberlinmemerlukanwaktu",
            "page": 412,
            "source_character_range": [
              99684,
              99742
            ],
            "source_sha256": "3adb947935953f17cdbd7370534133cb50b7822912c5b37948d7ffd21dce32e6",
            "source_text": "dan Bern--Lyon--Paris--Amsterdam--Berlin memerlukan waktu "
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch14.text.solution-002",
        "kind": "solution",
        "page": 412,
        "page_text_sha256": "e1d25d236a6a754f093b521ac511f655e7a0725c9212380a659cddbc3e0eefc6",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 562,
          "content_sha256": "76930302d185124bf5bb592c8a48d12434f4afc0538e3c755b97c3758dfef9de",
          "environment": "solution",
          "id": "unit.r017.book1.ch14.text.solution-002",
          "label": null,
          "line_range": [
            2107,
            2109
          ],
          "native_record_sha256": "cbc655efd2d8ab4cee14abbbbcf66e402cf768fc7b40d51302b15bd2284d38ba",
          "normalized_character_range": [
            99765,
            100327
          ],
          "normalized_utf8_byte_range": [
            99789,
            100351
          ],
          "path": "Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
          "source_file": {
            "archive": "source",
            "bytes": 160339,
            "member": "source/Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
            "sha256": "bf10472a5ceb75aebe1702ecfb0e90c5d81242174858c28651196c9c169aa6bd"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "denganalgoritmekruskalempatsisitermurahditerimasatudemisatutanpapenolakance",
            "page": 412,
            "source_character_range": [
              99815,
              99906
            ],
            "source_sha256": "c0a295448943a5ac8545d7bf1ded50d956c8b6ec12ca11d836c899956aaeeb27",
            "source_text": "Dengan algoritme Kruskal, empat sisi termurah diterima satu demi satu tanpa penolakan: CE ("
          },
          {
            "normalized_witness": "keempatsisiinimenghubungkankelimabangunansehinggaalgoritmeberhentipohonmerentangbiayaminimumnyaadalah",
            "page": 412,
            "source_character_range": [
              99943,
              100061
            ],
            "source_sha256": "2c5008177f463bb59715acb35f24d52b7e5021630f36b937cc1a99e080a847f9",
            "source_text": "Keempat sisi ini menghubungkan kelima bangunan, sehingga algoritme berhenti.  Pohon merentang biaya minimumnya adalah "
          },
          {
            "normalized_witness": "pohonmerentangmerupakancaratermurahuntukmenghubungkanbangunanbangunantersebuttetapitidakmenyediakanlintasancadanganjikasebuahkabelterputus",
            "page": 412,
            "source_character_range": [
              100153,
              100313
            ],
            "source_sha256": "d2f82b1a2828e44bfb5099db895cf3029a726d92a7f70981471d30127c618b9e",
            "source_text": "Pohon merentang merupakan cara termurah untuk menghubungkan bangunan-bangunan tersebut, tetapi tidak menyediakan lintasan cadangan jika sebuah kabel terputus.)\n"
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch14.text.solution-003",
        "kind": "solution",
        "page": 412,
        "page_text_sha256": "e1d25d236a6a754f093b521ac511f655e7a0725c9212380a659cddbc3e0eefc6",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 662,
          "content_sha256": "86ef61bb476c55862786c31e52f0b4ebd4607006b00c51613d6be046ae626e02",
          "environment": "solution",
          "id": "unit.r017.book1.ch14.text.solution-003",
          "label": null,
          "line_range": [
            2111,
            2118
          ],
          "native_record_sha256": "ebb420abcafbc35facb9acade2f8df3bf622bed84778acf4e46b2c5c5a2969af",
          "normalized_character_range": [
            100329,
            100991
          ],
          "normalized_utf8_byte_range": [
            100353,
            101015
          ],
          "path": "Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
          "source_file": {
            "archive": "source",
            "bytes": 160339,
            "member": "source/Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
            "sha256": "bf10472a5ceb75aebe1702ecfb0e90c5d81242174858c28651196c9c169aa6bd"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "ketikaalgoritmedijkstradijalankandariwashingtonlabelmenjadipermanendenganurutanwashington",
            "page": 412,
            "source_character_range": [
              100385,
              100489
            ],
            "source_sha256": "ced26814607c27e23b1b457294fb830212e40737f2a52d0de3b2c56973f9ec10",
            "source_text": "Ketika algoritme Dijkstra dijalankan dari Washington, label menjadi permanen dengan urutan: Washington ("
          },
          {
            "normalized_witness": "menitsebagaiperbandinganrutemelaluilynchburgmemerlukan",
            "page": 412,
            "source_character_range": [
              100806,
              100870
            ],
            "source_sha256": "4cabb845d7eba3bdaf1754d77bbc67c2ec67633ed0240a8aadbdc7088935e392",
            "source_text": "menit.  Sebagai perbandingan, rute melalui Lynchburg memerlukan "
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch14.text.solution-004",
        "kind": "solution",
        "page": 412,
        "page_text_sha256": "e1d25d236a6a754f093b521ac511f655e7a0725c9212380a659cddbc3e0eefc6",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 731,
          "content_sha256": "6af9437acebaa0b5874b3969c10c5bc6b82ac3e39d558b6b0432d9f78d47c70c",
          "environment": "solution",
          "id": "unit.r017.book1.ch14.text.solution-004",
          "label": null,
          "line_range": [
            2120,
            2122
          ],
          "native_record_sha256": "bc5531d0278c7eee0927062a1de5f39ee1997c9168d30958b4a674fb68ff738f",
          "normalized_character_range": [
            100993,
            101724
          ],
          "normalized_utf8_byte_range": [
            101017,
            101748
          ],
          "path": "Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
          "source_file": {
            "archive": "source",
            "bytes": 160339,
            "member": "source/Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
            "sha256": "bf10472a5ceb75aebe1702ecfb0e90c5d81242174858c28651196c9c169aa6bd"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "setelahhargatiketdiurutkandariyangtermurahsampaiyangtermahalalgoritmekruskalmenerimaseattlehonolulu",
            "page": 412,
            "source_character_range": [
              101044,
              101161
            ],
            "source_sha256": "f37c3b7da70f829f62afca78eb23de1f908f604143173d259ec9f34e2eafee78",
            "source_text": "Setelah harga tiket diurutkan dari yang termurah sampai yang termahal, algoritme Kruskal menerima Seattle--Honolulu ("
          },
          {
            "normalized_witness": "karenasisitersebutakanmenutupsirkuitlondonmoskwakairodanterakhirmenerimaseattlelondon",
            "page": 412,
            "source_character_range": [
              101269,
              101373
            ],
            "source_sha256": "021e86e379282f236f86df42241085b8ffabfdc7abacc9465ace22cf5404242e",
            "source_text": "karena sisi tersebut akan menutup sirkuit London--Moskwa--Kairo, dan terakhir menerima Seattle--London ("
          },
          {
            "normalized_witness": "pohonsemacamitumemberikanhimpunanrutetermurahyangtetapmenghubungkansetiapkotawalaupunsetiapperjalanandiantarakotakotapadacabangyangberbedaharusterhubungmelaluipersinggahanperantara",
            "page": 412,
            "source_character_range": [
              101500,
              101710
            ],
            "source_sha256": "31b3c72b2a1003129bc427f541fe8fe40b9952acd225ab1b96cd57cede8dc538",
            "source_text": "Pohon semacam itu memberikan himpunan rute termurah yang tetap menghubungkan setiap kota, walaupun setiap perjalanan di antara kota-kota pada cabang yang berbeda harus terhubung melalui persinggahan perantara.\n"
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch14.text.solution-005",
        "kind": "solution",
        "page": 412,
        "page_text_sha256": "e1d25d236a6a754f093b521ac511f655e7a0725c9212380a659cddbc3e0eefc6",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 1076,
          "content_sha256": "6c8b823709ef0fb55c6820cfa561c256669873649a3d53ada637115b277d59fa",
          "environment": "solution",
          "id": "unit.r017.book1.ch14.text.solution-005",
          "label": null,
          "line_range": [
            2124,
            2126
          ],
          "native_record_sha256": "93580f3d2a9d9a0b8e3cfe31d50187c29d2200c41ee952d8024412f0bda4d7a0",
          "normalized_character_range": [
            101726,
            102802
          ],
          "normalized_utf8_byte_range": [
            101750,
            102826
          ],
          "path": "Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
          "source_file": {
            "archive": "source",
            "bytes": 160339,
            "member": "source/Intro-Math-Programming/baseText/book/part2-discrete-algorithms/ch10-graph-theory/graphtheory-dor1.tex",
            "sha256": "bf10472a5ceb75aebe1702ecfb0e90c5d81242174858c28651196c9c169aa6bd"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "menutupsirkuitbersamasisisisiyangtelahditerimakarenasisidiperiksadariyangtermurahsampaiyangtermahalbiayasetiapsisipadasirkuititutidaklebihbesardaripada",
            "page": 412,
            "source_character_range": [
              101939,
              102119
            ],
            "source_sha256": "b046d5991fc7940a8da4d7e33c3cceab18bfffb2e3d700cbdbe56e8571417bd4",
            "source_text": "menutup sirkuit bersama sisi-sisi yang telah diterima; karena sisi diperiksa dari yang termurah sampai yang termahal, biaya setiap sisi pada sirkuit itu tidak lebih besar daripada "
          },
          {
            "normalized_witness": "sebuahpohontidakdapatmemuatseluruhsirkuitmengganti",
            "page": 412,
            "source_character_range": [
              102182,
              102243
            ],
            "source_sha256": "10cc3ff33138cabaf0e609d0e8803a190a2b729fbf0ed9194dc1adcf2b1de557",
            "source_text": "sebuah pohon tidak dapat memuat seluruh sirkuit).  Mengganti "
          },
          {
            "normalized_witness": "menghasilkanpohonmerentanglainyangtidaklebihmahaldanbersepakatdengan",
            "page": 412,
            "source_character_range": [
              102270,
              102349
            ],
            "source_sha256": "51af21e3a127d3504d939c86639ffae417db3c6b08af7420815e6ac6506250eb",
            "source_text": "menghasilkan pohon merentang lain yang tidak lebih mahal dan bersepakat dengan "
          },
          {
            "normalized_witness": "setidaknyasemurahsetiappohonmerentanglainargumentersebuttidakpernahmenggunakantandabiayahanyaurutannyasehinggatetapberlakuuntukbiayasisinegatifperhatikanperbedaannyadenganalgoritmedijkstrayangmemangbergantungpadabobottaknegatiflatihan",
            "page": 413,
            "source_character_range": [
              102485,
              102760
            ],
            "source_sha256": "6e966ea698f99d26fff021513f1ea0d6835ed4ec7c29eefc53ce3c1383efee14",
            "source_text": "setidaknya semurah setiap pohon merentang lain.  Argumen tersebut tidak pernah menggunakan tanda biaya, hanya urutannya, sehingga tetap berlaku untuk biaya sisi negatif; perhatikan perbedaannya dengan algoritme Dijkstra, yang memang bergantung pada bobot tak negatif (Latihan"
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch15.text.solution-001",
        "kind": "solution",
        "page": 466,
        "page_text_sha256": "ad75bd2e58e5d161aefa3d48fbabdd27eebe665031ae5cac0680645e29c7c958",
        "printed_state": "native-reference-and-unique-solution-heading",
        "solution_reference": {
          "mapping_method": "native-solves-edge-exact-source-reference-and-unique-printed-solution-heading",
          "native_relation_id": "relation.solves.unit.r017.book1.ch15.text.solution-001.unit.r017.book1.ch15.text.ex-002",
          "page": 466,
          "printed_number": "15.2",
          "printed_witness": {
            "character_range": [
              67,
              95
            ],
            "page_text_sha256": "ad75bd2e58e5d161aefa3d48fbabdd27eebe665031ae5cac0680645e29c7c958",
            "text": "Penyelesaian. (Latihan 15.2)"
          },
          "question_id": "unit.r017.book1.ch15.text.ex-002",
          "scope": "Start page only; not full solution extent or mathematical verification.",
          "source_reference": {
            "normalized_character_range": [
              128884,
              128934
            ],
            "sha256": "010ce26f7d8779330a3a69e00a693756fec83a2f57b5c8c20e4cfbe0bc2cb642",
            "text": "\\begin{solution}(Latihan~\\ref{ex:knapsack-warmup})"
          }
        },
        "source_span": {
          "content_bytes": 526,
          "content_sha256": "aee7769679a93ab6573c810d197b429769b1b8bee0ef557f3ced2e5e94f2a675",
          "environment": "solution",
          "id": "unit.r017.book1.ch15.text.solution-001",
          "label": null,
          "line_range": [
            2411,
            2419
          ],
          "native_record_sha256": "3bb00281a1a0b6f7d3ae3a8682ace588e741cbdc9abbddbea471f36247b54bb0",
          "normalized_character_range": [
            128884,
            129410
          ],
          "normalized_utf8_byte_range": [
            128898,
            129424
          ],
          "path": "Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
          "source_file": {
            "archive": "source",
            "bytes": 136692,
            "member": "source/Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
            "sha256": "d5d12875d4841ef4ded4a4d2cf69311070cd9d59a5a1fd34c333ead8f1a26653"
          },
          "type": "solution"
        },
        "witnesses": []
      },
      {
        "id": "unit.r017.book1.ch15.text.solution-002",
        "kind": "solution",
        "page": 466,
        "page_text_sha256": "ad75bd2e58e5d161aefa3d48fbabdd27eebe665031ae5cac0680645e29c7c958",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 646,
          "content_sha256": "ff6bbce7f47823c5e49df139a0d70937bbe6a7599568f4afd60ddfe0aaa37618",
          "environment": "solution",
          "id": "unit.r017.book1.ch15.text.solution-002",
          "label": null,
          "line_range": [
            2421,
            2423
          ],
          "native_record_sha256": "c6c2cffa85d44db915bcd87eb33933496ebbeae2d0b4151b81a72ed8f579af93",
          "normalized_character_range": [
            129412,
            130058
          ],
          "normalized_utf8_byte_range": [
            129426,
            130072
          ],
          "path": "Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
          "source_file": {
            "archive": "source",
            "bytes": 136692,
            "member": "source/Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
            "sha256": "d5d12875d4841ef4ded4a4d2cf69311070cd9d59a5a1fd34c333ead8f1a26653"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "himpunantetanggatermasukdistrikitusendirisepertidalamcontohstasiunpemadamkebakaranadalah",
            "page": 466,
            "source_character_range": [
              129459,
              129563
            ],
            "source_sha256": "e3ee1ee8e753002aa554473da32faee5b87f157f7da9094763b130657e71be2c",
            "source_text": "Himpunan tetangga (termasuk distrik itu sendiri, seperti dalam contoh stasiun pemadam kebakaran) adalah "
          },
          {
            "normalized_witness": "satustasiuntidakdapatmencakupkeenamdistrikkarenatidakadahimpunan",
            "page": 466,
            "source_character_range": [
              129681,
              129756
            ],
            "source_sha256": "a6038aa12bda43bdcfc14580de91ce20b699fb8bba344d27c32513cb0a089d65",
            "source_text": "Satu stasiun tidak dapat mencakup keenam distrik karena tidak ada himpunan "
          },
          {
            "normalized_witness": "yangmemilikilebihdariempatunsurduastasiunsudahcukupdistrik",
            "page": 466,
            "source_character_range": [
              129762,
              129833
            ],
            "source_sha256": "b2d3399da9f6e3b1479a3e27cad93a09c32e3cde8981094f33db60b510336683",
            "source_text": "yang memiliki lebih dari empat unsur. Dua stasiun sudah cukup: distrik "
          },
          {
            "normalized_witness": "danketigapenempataninimerupakansatusatunyapenempatanoptimal",
            "page": 466,
            "source_character_range": [
              129975,
              130044
            ],
            "source_sha256": "4f427110fc78a8d689f92cf16a0b89a1871dba22b6649ae1661431305ebc965c",
            "source_text": "dan ketiga penempatan ini merupakan satu-satunya penempatan optimal.\n"
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch15.text.solution-003",
        "kind": "solution",
        "page": 466,
        "page_text_sha256": "ad75bd2e58e5d161aefa3d48fbabdd27eebe665031ae5cac0680645e29c7c958",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 594,
          "content_sha256": "c8fcb6d98552868ac73b87aa3d96e4598cd53832cd145396fa6dfd5bcd791980",
          "environment": "solution",
          "id": "unit.r017.book1.ch15.text.solution-003",
          "label": null,
          "line_range": [
            2425,
            2427
          ],
          "native_record_sha256": "0e3de25aebf04d708adbf8663e8e9b1306bb351a4903d67ba823b6dce6b4172a",
          "normalized_character_range": [
            130060,
            130654
          ],
          "normalized_utf8_byte_range": [
            130074,
            130668
          ],
          "path": "Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
          "source_file": {
            "archive": "source",
            "bytes": 136692,
            "member": "source/Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
            "sha256": "d5d12875d4841ef4ded4a4d2cf69311070cd9d59a5a1fd34c333ead8f1a26653"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "tidakcukupdenganmenyelesaikanmodeloptimummembukapusat",
            "page": 466,
            "source_character_range": [
              130292,
              130355
            ],
            "source_sha256": "7e5324024b2321c1ef90d06141ffd993574aaa1385505cb89c251efab633aa97",
            "source_text": "tidak cukup. Dengan menyelesaikan model, optimum membuka pusat "
          },
          {
            "normalized_witness": "sehinggapusatyanglebihmurahtidaklayakdibukadenganbiayapembukaan",
            "page": 466,
            "source_character_range": [
              130560,
              130634
            ],
            "source_sha256": "0071c7577b7ce55a6d20b5a5c1a89a62c11e4e0f5b72be5e7c6f65cda4b3c65e",
            "source_text": "sehingga pusat yang lebih murah tidak layak dibuka dengan biaya pembukaan "
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch15.text.solution-004",
        "kind": "solution",
        "page": 466,
        "page_text_sha256": "ad75bd2e58e5d161aefa3d48fbabdd27eebe665031ae5cac0680645e29c7c958",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 426,
          "content_sha256": "3de4600ab5e22067912d3a8a034f82944d4ed86b9968845309e602a63b6a20e4",
          "environment": "solution",
          "id": "unit.r017.book1.ch15.text.solution-004",
          "label": null,
          "line_range": [
            2429,
            2431
          ],
          "native_record_sha256": "475042900d30adab204d0c6d9f19fcf25dfb79c34b0f5e133cb1d92fb7f4ee7c",
          "normalized_character_range": [
            130656,
            131082
          ],
          "normalized_utf8_byte_range": [
            130670,
            131096
          ],
          "path": "Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
          "source_file": {
            "archive": "source",
            "bytes": 136692,
            "member": "source/Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
            "sha256": "d5d12875d4841ef4ded4a4d2cf69311070cd9d59a5a1fd34c333ead8f1a26653"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "salingbertetanggaberpasanganmembentuksegitigasehinggamemerlukantigawarnaberbedabatasataspewarnaan",
            "page": 466,
            "source_character_range": [
              130775,
              130890
            ],
            "source_sha256": "d6a4677504eb3840feaae35465d85cb0bdab28b74da181c9f6e5d0d90c9c4fde",
            "source_text": "saling bertetangga berpasangan (membentuk segitiga), sehingga memerlukan tiga warna berbeda. Batas atas: pewarnaan "
          },
          {
            "normalized_witness": "adalahsahsebagaimanadapatdiperiksasisidemisisipenyelesaianprogrambilanganbulatmengonfirmasi",
            "page": 466,
            "source_character_range": [
              130944,
              131050
            ],
            "source_sha256": "e632ef940dfff9be3003be69a8d39d646d308be4719bdb44d5d009faf4df2bfb",
            "source_text": "adalah sah, sebagaimana dapat diperiksa sisi demi sisi. Penyelesaian program bilangan bulat mengonfirmasi "
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch15.text.solution-005",
        "kind": "solution",
        "page": 466,
        "page_text_sha256": "ad75bd2e58e5d161aefa3d48fbabdd27eebe665031ae5cac0680645e29c7c958",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 687,
          "content_sha256": "819f97aaae6b0ac08d33a23785817b65da634023f27ebac68edfbe5b6292dfdd",
          "environment": "solution",
          "id": "unit.r017.book1.ch15.text.solution-005",
          "label": null,
          "line_range": [
            2433,
            2444
          ],
          "native_record_sha256": "c45bd66fff54df680d6f601dde31a91cdbd48f8e2317f43c4585686b21a75ff2",
          "normalized_character_range": [
            131084,
            131771
          ],
          "normalized_utf8_byte_range": [
            131098,
            131785
          ],
          "path": "Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
          "source_file": {
            "archive": "source",
            "bytes": 136692,
            "member": "source/Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
            "sha256": "d5d12875d4841ef4ded4a4d2cf69311070cd9d59a5a1fd34c333ead8f1a26653"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "yangsahdapatdibacadarimasalahrelaksasikansetiapkendaladengan",
            "page": 466,
            "source_character_range": [
              131253,
              131324
            ],
            "source_sha256": "a6c65d0e3f7f2aa109c3af92f877e0b48c0687ba98067ad7c6d4216d4b4ea93e",
            "source_text": "yang sah dapat dibaca dari masalah: relaksasikan setiap kendala dengan "
          },
          {
            "normalized_witness": "sembarangbatasatasruaskiripadatingkatproduksiyangwajardapatdigunakanformulasinyaadalah",
            "page": 466,
            "source_character_range": [
              131334,
              131436
            ],
            "source_sha256": "3596e67f9fb4466e3b8414a3d0fb451af69b86643751cffc2c348f33ba1d2761",
            "source_text": "sembarang batas atas ruas kiri pada tingkat produksi yang wajar dapat digunakan). Formulasinya adalah\n"
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch15.text.solution-006",
        "kind": "solution",
        "page": 466,
        "page_text_sha256": "ad75bd2e58e5d161aefa3d48fbabdd27eebe665031ae5cac0680645e29c7c958",
        "printed_state": "unique-literal-passage",
        "source_span": {
          "content_bytes": 655,
          "content_sha256": "c67fe1359d745ccc92d8ff55c6838713eff1f637a403a45769c90dafdeffab25",
          "environment": "solution",
          "id": "unit.r017.book1.ch15.text.solution-006",
          "label": null,
          "line_range": [
            2446,
            2456
          ],
          "native_record_sha256": "ca8c402842f3bbef78d5812ea42f77fda225836e886b6fb55ee734e3ec421292",
          "normalized_character_range": [
            131773,
            132428
          ],
          "normalized_utf8_byte_range": [
            131787,
            132442
          ],
          "path": "Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
          "source_file": {
            "archive": "source",
            "bytes": 136692,
            "member": "source/Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
            "sha256": "d5d12875d4841ef4ded4a4d2cf69311070cd9d59a5a1fd34c333ead8f1a26653"
          },
          "type": "solution"
        },
        "witnesses": [
          {
            "normalized_witness": "tidakadaproduksitanpamembayarbiayaawaldanjika",
            "page": 466,
            "source_character_range": [
              132178,
              132234
            ],
            "source_sha256": "b199c5dcea269827c76bc1a2886f55910f0655e3bbf5646099bdde55f7fda033",
            "source_text": "tidak ada produksi tanpa membayar biaya awal), dan jika "
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch15.text.tryit-001",
        "kind": "tryit",
        "page": 456,
        "page_text_sha256": "acf5a08289e6a08ea8e8872d4c1cd59b0c8977d4b8810f796d41a7e2d2e084ff",
        "printed_state": "exact-visualization-titles",
        "source_span": {
          "content_bytes": 146,
          "content_sha256": "719ca8d9851621f8c391d0d8c36ee19aca2af94f65901bda1b83253cfc41be2f",
          "environment": "tryit",
          "id": "unit.r017.book1.ch15.text.tryit-001",
          "label": null,
          "line_range": [
            1497,
            1499
          ],
          "native_record_sha256": "7064bed1986bf4c65243516a351cdbc58263f288032b1c8892c1fd72def38116",
          "normalized_character_range": [
            83442,
            83588
          ],
          "normalized_utf8_byte_range": [
            83454,
            83600
          ],
          "path": "Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
          "source_file": {
            "archive": "source",
            "bytes": 136692,
            "member": "source/Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
            "sha256": "d5d12875d4841ef4ded4a4d2cf69311070cd9d59a5a1fd34c333ead8f1a26653"
          },
          "type": "tryit"
        },
        "visualization_titles": [
          {
            "normalized_witness": "jadwaljobshopgantt",
            "page": 456,
            "slug": "gantt-jobshop",
            "source_character_range": [
              83480,
              83503
            ],
            "source_sha256": "ea84d7e3afcb685c3d9b3867034aedc2afe13825dceb43a88eba1c36385ce72d",
            "source_text": "Jadwal Job Shop (Gantt)"
          }
        ],
        "witnesses": [
          {
            "normalized_witness": "masalahpenjadwalandalambabiniyangdiselesaikandandianimasikan",
            "page": 456,
            "source_character_range": [
              83506,
              83577
            ],
            "source_sha256": "998d2670b352870c6352d99385f39e36593ef3b7f33efc68a137ed65c7f90ae5",
            "source_text": "masalah penjadwalan dalam bab ini, yang diselesaikan dan dianimasikan.\n"
          }
        ]
      },
      {
        "id": "unit.r017.book1.ch15.text.tryit-002",
        "kind": "tryit",
        "page": 467,
        "page_text_sha256": "2071e18e1b003978ea74b8ff8a318b83d89876c40e8ea121af506e344193a63d",
        "printed_state": "exact-visualization-titles",
        "source_span": {
          "content_bytes": 342,
          "content_sha256": "f8e5c192a9598014cc39316f62c7b7df517a639d750f548898fbf2ee62423cda",
          "environment": "tryit",
          "id": "unit.r017.book1.ch15.text.tryit-002",
          "label": null,
          "line_range": [
            2458,
            2462
          ],
          "native_record_sha256": "f7388b6a60ca0f5df16d4cc2fa57b8b040cef7a72bf7d8ea8ad7493caad75281",
          "normalized_character_range": [
            132430,
            132772
          ],
          "normalized_utf8_byte_range": [
            132444,
            132786
          ],
          "path": "Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
          "source_file": {
            "archive": "source",
            "bytes": 136692,
            "member": "source/Intro-Math-Programming/baseText/book/part3-integer-programming/ch11-ip-formulations/integerProgrammingFormulations-book1.tex",
            "sha256": "d5d12875d4841ef4ded4a4d2cf69311070cd9d59a5a1fd34c333ead8f1a26653"
          },
          "type": "tryit"
        },
        "visualization_titles": [
          {
            "normalized_witness": "penjelajahpohonbranchandbound",
            "page": 467,
            "slug": "branch-bound",
            "source_character_range": [
              132467,
              132500
            ],
            "source_sha256": "c3c2ba1f45754b5d59a8c20254c2e789b7c63e673ce14cb7ab5eb6ccfd89755b",
            "source_text": "Penjelajah Pohon Branch-and-Bound"
          },
          {
            "normalized_witness": "kuiskonsep",
            "page": 467,
            "slug": "concept-quiz",
            "source_character_range": [
              132670,
              132681
            ],
            "source_sha256": "b54f1f7fa4a731fdc0364c18c9dd2a3d60655291cd51c409c4dab7b07231047e",
            "source_text": "Kuis Konsep"
          }
        ],
        "witnesses": [
          {
            "normalized_witness": "carapemecahbenarbenarmenyelesaikanprogrambilanganbulatdalambabiniamatipercabanganpembatasandanpemangkasanpadacontohkecil",
            "page": 467,
            "source_character_range": [
              132503,
              132647
            ],
            "source_sha256": "23191bc23bfebc2c819a59ec45109f4206f399789ead0d7f2d21af0756481db0",
            "source_text": "cara pemecah benar-benar menyelesaikan program bilangan bulat dalam bab ini; amati percabangan, pembatasan, dan pemangkasan pada contoh kecil.\n\n"
          },
          {
            "normalized_witness": "duapuluhpertanyaanpemeriksaanmandirisingkatyangmencakupseluruhbuku",
            "page": 467,
            "source_character_range": [
              132684,
              132761
            ],
            "source_sha256": "aa9ee6db9fb824ef53e9bb0944d7dbe3e2780699db2a3e6e46bd857a4cf0f3e4",
            "source_text": "dua puluh pertanyaan pemeriksaan mandiri singkat yang mencakup seluruh buku.\n"
          }
        ]
      }
    ],
    "schema": "c130-support-navigation/1"
  },
  "title_comparison": "NFKD; omit TeX control words, punctuation, whitespace and combining marks; lowercase alphanumerics; exact containment, no fuzzy scoring"
}
