# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# NOTE:
# Diese Datei enthält Angaben für konkrete Fälle
# für die zu demonstrierenden Algorithmen.
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Beispiele für Seminarwoche 2 (Blatt 1)
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

- name: TARJAN
  nodes: [a,b,c]
  edges: [[a, c], [c, a], [b, c]]
- name: TARJAN
  nodes: [1, 2, 3, 4, 5, 6, 7, 8]
  edges: [
    [1, 2],
    [1, 3],
    [2, 4],
    [2, 5],
    [3, 5],
    [3, 6],
    [3, 8],
    [4, 5],
    [4, 7],
    [5, 1],
    [5, 8],
    [6, 8],
    [7, 8],
    [8, 6],
  ]

# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Beispiele für Seminarwoche 9 (Blatt 8)
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

- name: TSP
  dist: &ref_dist [
    [0, 7, 4, 3],
    [7, 0, 5, 6],
    [2, 5, 0, 5],
    [2, 7, 4, 0],
  ]
  optimise: MIN
- name: TSP
  dist: *ref_dist
  optimise: MAX

# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Beispiele für Seminarwoche 10 (Blatt 9)
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

- name: HIRSCHBERG
  word1: 'happily ever after'
  word2: 'apples'
  once: false
- name: HIRSCHBERG
  word1: 'happily'
  word2: 'applses'
  once: false
- name: HIRSCHBERG
  word1: 'happily ever, lol'
  word2: 'apple'
  once: false
- name: HIRSCHBERG
  word1: 'ACGAAG'
  word2: 'AGAT'
  once: false
- name: HIRSCHBERG
  word1: 'ANSTRENGEN'
  word2: 'ANSPANNEN'
  once: false

# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Beispiele für Seminarwoche 11 (Blatt 10)
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

- &rucksack_1
  name: RUCKSACK
  algorithm: GREEDY
  allow-fractional: true
  capacity: 10
  weights:
    [3, 4, 5, 2, 1]
  values:
    [8, 7, 8, 3, 2]
- <<: *rucksack_1
  algorithm: BRANCH-AND-BOUND
- name: RUCKSACK
  algorithm: BRANCH-AND-BOUND
  allow-fractional: true
  capacity: 90
  items: [
    'Sonnenblumenkerne',
    'Buchweizen',
    'Rote Beete',
    'Hirse',
    'Sellerie',
  ]
  weights:
    [30, 10, 50, 10, 80]
  values:
    [17, 14, 17,  5, 25]