; woodworking 'sawing' task with 12 parts
; Machines:
;   1 highspeed-saw
;   1 saw
; random seed: 96842

(define (problem wood-prob)
  (:domain woodworking)
  (:objects
    highspeed-saw0 - highspeed-saw
    saw0 - saw
    black red blue mauve green white - acolour
    cherry beech walnut - awood
    p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 - part
    b0 b1 b2 b3 - board
  )
  (:init
    (= (total-cost) 0)
    (empty highspeed-saw0)
    (unused p0)
    (= (goal-size p0) 13)
    (= (glaze-cost p0) 18)
    (= (grind-cost p0) 39)
    (= (plane-cost p0) 26)
    (unused p1)
    (= (goal-size p1) 15)
    (= (glaze-cost p1) 20)
    (= (grind-cost p1) 45)
    (= (plane-cost p1) 30)
    (unused p2)
    (= (goal-size p2) 13)
    (= (glaze-cost p2) 18)
    (= (grind-cost p2) 39)
    (= (plane-cost p2) 26)
    (unused p3)
    (= (goal-size p3) 9)
    (= (glaze-cost p3) 14)
    (= (grind-cost p3) 27)
    (= (plane-cost p3) 18)
    (unused p4)
    (= (goal-size p4) 7)
    (= (glaze-cost p4) 12)
    (= (grind-cost p4) 21)
    (= (plane-cost p4) 14)
    (unused p5)
    (= (goal-size p5) 8)
    (= (glaze-cost p5) 13)
    (= (grind-cost p5) 24)
    (= (plane-cost p5) 16)
    (unused p6)
    (= (goal-size p6) 13)
    (= (glaze-cost p6) 18)
    (= (grind-cost p6) 39)
    (= (plane-cost p6) 26)
    (unused p7)
    (= (goal-size p7) 11)
    (= (glaze-cost p7) 16)
    (= (grind-cost p7) 33)
    (= (plane-cost p7) 22)
    (unused p8)
    (= (goal-size p8) 14)
    (= (glaze-cost p8) 19)
    (= (grind-cost p8) 42)
    (= (plane-cost p8) 28)
    (unused p9)
    (= (goal-size p9) 6)
    (= (glaze-cost p9) 11)
    (= (grind-cost p9) 18)
    (= (plane-cost p9) 12)
    (unused p10)
    (= (goal-size p10) 15)
    (= (glaze-cost p10) 20)
    (= (grind-cost p10) 45)
    (= (plane-cost p10) 30)
    (unused p11)
    (= (goal-size p11) 14)
    (= (glaze-cost p11) 19)
    (= (grind-cost p11) 42)
    (= (plane-cost p11) 28)
    (= (board-size b0) 37)
    (wood b0 beech)
    (surface-condition b0 rough)
    (available b0)
    (= (board-size b1) 20)
    (wood b1 cherry)
    (surface-condition b1 smooth)
    (available b1)
    (= (board-size b2) 42)
    (wood b2 walnut)
    (surface-condition b2 rough)
    (available b2)
    (= (board-size b3) 27)
    (wood b3 walnut)
    (surface-condition b3 rough)
    (available b3)
  )
  (:goal
    (and
      (preference g_p0_0 (and
          (wood p0 walnut)
          (available p0)
      ))
      (preference g_p1_0 (available p1))
      (preference g_p2_0 (available p2))
      (preference g_p3_0 (available p3))
      (preference g_p4_0 (available p4))
      (preference g_p5_0 (available p5))
      (preference g_p6_0 (available p6))
      (preference g_p7_0 (and
          (wood p7 walnut)
          (available p7)
      ))
      (preference g_p8_0 (available p8))
      (preference g_p9_0 (and
          (wood p9 beech)
          (available p9)
      ))
      (preference g_p10_0 (available p10))
      (preference g_p11_0 (available p11))
    )
  )
  (:metric maximize
    (- 450
      (+ (total-cost)
         (* (is-violated g_p0_0) 46)
         (* (is-violated g_p1_0) 40)
         (* (is-violated g_p2_0) 40)
         (* (is-violated g_p3_0) 30)
         (* (is-violated g_p4_0) 35)
         (* (is-violated g_p5_0) 27)
         (* (is-violated g_p6_0) 35)
         (* (is-violated g_p7_0) 47)
         (* (is-violated g_p8_0) 39)
         (* (is-violated g_p9_0) 44)
         (* (is-violated g_p10_0) 29)
         (* (is-violated g_p11_0) 38)
  )))
)
