University of Calgary
Rob Kremer
Search Samples:
Saw Mill


CPSC 433: Artificial Intelligence

Department of Computer Science
Computer
Science

Problem Description:

The 2x4 section of a saw mill must produce 2x4s in 8’, 10’, 12’, and 14’ lengths, all of which have a different market price, market demand (=target inventory), and inventory-in-stock.  Raw 2x4 sections come from another part of mill in batches containing various arbitrary lengths, which you will know before the batch arrives.  Your problem is to decide how to cut each piece in the batch to maximize value and maintain and appropriate target inventory. A realistic example situation is:
        rawMaterial = {20 ⇒ 30’, 16 ⇒ 29’, 12 ⇒ 29’, 10 ⇒ 27’, 50 ⇒ 22’, 60 ⇒ 20’, 72 ⇒ 18’, 41 ⇒ 16’, 97 ⇒  12’}
        marketPrice = {8’ ⇒ $4.00, 10’ ⇒ $6.50, 12’ ⇒ $10.25, 14’ ⇒ $16.75}
        targetInventory = {8‘ ⇒ 5000, 10‘ ⇒ 1000, 12‘ ⇒ 400, 14‘ ⇒ 200}
        inventoryInStock = {8‘ ⇒ 3042, 10‘ ⇒ 500, 12‘ ⇒ 956, 14‘ ⇒ 0}

The solution should specify how to chop each of the raw material 2x4s.  It should be represented as a bag containing pairs of lengths  (one for each of the raw material lengths) crossed with a bag of lengths that represent the sections to be cut to finished material (8’, 10’, 12’, or 14’), where the sum of the sections must be less than or equal to the corresponding raw material length.  Thus, a partial solution to the above problem might be:

    [ 30’ ⇒ [14’,8’,8’], 30’ ⇒ [14’,14’], 30’ ⇒ [10’,10’,10’] ]

The solutions type is:

    bag (length ↔ bag {8’,10’,12’,14’})

Give a fully-specified formal model and process for to solve the cutting problem for an arbitrary arbitrary batch of 2x4 lumber.

Also give a fully-specified formal search instance for the problem:

rawMaterial = {1x30’, 1x20’}


8' 10' 12' 14'
marketPrice $1 $2 $3 $4
targetInventory 1000 700 500 200
inventoryInStock 1500 700 100 100


UofC
CPSC 433: Artificial Intelligence
Department of Computer Science

Last updated 2013-08-31 00:00
Rob Kremer