CS410/510SS Project
Resource Constrained Project Scheduling
In this project, you will construct a schedule for a
medium-sized realistic manufacturing assembly problem.
The data for this problem is contained in several files:
- tasks.txt
-
Contains duration and
resource use data for all tasks. The
first line of the file is the number of tasks.
Each of the remaining lines is formatted as follows:
task number | task duration (mins) | resource 1
usage | resource 2 usage | ... | resource 17 usage |
Resources 14..17 are labor resources (but see below).
- precs.txt
-
Contains task precedence data. The first line of
the file is the number of precedences. The
remaining lines are of the form
preceding task number | succeeding task number |
- res.txt
-
Contains resource profile data. The first line of
the file is the number of resources. The
remaining lines are of the form
resource number | number of intervals | interval 1
duration (min) | interval 1 capacity | interval 2
duration (min) | interval 2 capacity | ... |
In practice, the first 13 (``zone'') resources have 1 interval,
and the last 4 (``labor'') resources have 2 intervals. The
idea is that the intervals represent ``shifts'', all of
which start at time 0 and are repeated throughout the
schedule. Thus, the zone resources are constant throughout
the problem, and the labor resources alternate between day
and night shifts (of 450 minutes each).
There are two variants of this problem: one slightly
easier one and one harder one.
- MD2
- Ignoring the labor resources,
find a good schedule which honors the zone resource
constraints and precedence constraints.
- MD4
- Find a good schedule which honors
all resource constraints.
Note that in both MD2 and MD4, tasks may be executed
across shift boundaries, but cannot be broken up
(``preempted'').
If you prefer, you can get the description from the original benchmark
site, or my slightly cleaned up version of the original
data file. Note that these versions
differ from the above description in an important way:
the labor resources in these old versions are first
(unlike in tasks.txt
and res.txt above)!
Watch out for this
difference if you take this approach.
Author: Bart Massey
<bart@cs.pdx.edu>
Last Updated: 2000/3/4