Title: Generating RCPSP instances with Known Optimal Solutions
1Generating RCPSP instances with Known Optimal
Solutions
- José Coelho
- jcoelho_at_univ-ab.pt
- Generator and generated instances in
- http//jcoelho.m6.net/edicao3.asp?pa3569
2Index
- Introduction
- Generation Method
- Tests
- Conclusions
3Introduction
- There are several algorithms for solving the
RCPSP - The comparison of algorithms requires an instance
set - The average performance is extrapolated to all
RCPSP instances - A diversified instance set minimizes
extrapolation errors - To generate a diversified instance set, one needs
to - Identify the relevant indicators
- However these indicators are not consensual
- There are several generators, with different
kinds of arguments - The resources are generated randomly, in such a
way that resource indicators are verified, but
not getting the optimal solution - The most widely used instance set is PSPLIB
4Introduction
- Available generators do not give any optimal
solution - RCPSP belongs to NP-hard
- It is impossible to calculate an optimal solution
for hard instances - For PSPLIB, only the J30 subset has optimal
solutions for all instances - Without optimal solutions
- The comparisons need to be relative to the best
lower or upper bound - Or relative to a predefined lower bound
(CPM-value) - With optimal solutions
- The calculation of the exact performance of
algorithms is possible - The study of instance's complexity will have a
more solid base - The proposed generator GenRes
- Uses a network and desired resource indicators
RF/RC - Generates resource information
- Returns a RCPSP instance with an optimal solution
52. Generation Method
- Generation arguments
- A Network
- K of extra precedence relations
- SR of saturated resources
- Optional (default value is read from input
instance) - Number R of resources
- Desired resource indicators RF/RC
- Desired sum of all processing times
- Phases
- 1. Extra precedence relations
- 2. Resource usage
- 3. Processing times
62. Generation MethodPhase 1. Extra precedence
relations
- Set processing times to 1
- Calculate the earliest start schedule (ESS)
- Add K extra precedence relations
- Select at random two activities A, B, to add a
precedence relation - Accept precedence relation from A to B if
- Adding the precedence relation change the ESS
- Total processing time does not exceed L
- If precedence relation is accepted, update the
ESS, otherwise try another two activities
72. Generation MethodPhase 2. Resource Usage
- For the first SR saturated resources
- Arrange activities in random order
- Set unary use of resource for the first
activities with different start instants - Set unary use of resource for the first
activities that does not use the resource, until
RF is attained - For other non saturated resources
- Arrange activities in random order
- Set unary use of resource for the first
activities, until RF is attained - Until the resource is saturated, or RC is
archived - Select at random an activity with a resource
usage - Increase resource usage of activity if resource
usage in activity start instant is less than
resource capacity
82. Generation MethodPhase 3. Processing Times
- Repeat until the sum of all processing times is
attained - Select a start instance at random
- Increase processing times of activities that
start at that instant - Calculate the ESS and save it as an optimal
schedule - Discard the extra precedence relations and return
the original network with generated resources
93. Tests
- Questions
- Is GenRes capable of generating instances of all
types? - Does the complexity of generated instances go
from easy to hard? - What is the influence of generator arguments, SR,
K and R, on the results? - The GenRes was tested using PSPLIB instances as
argument - The K used is 100, and SR is set to 1
- Optional arguments R/RF/RC are not set, the
generator will try to match instance values
103. TestsI. Is GenRes capable of generating
instances of all types?
A
- Figures
- A - RF (blue) and RC (green) original values of
PSPLIB, versus values of generated instances - B - RF versus RC of original (blue) and generated
(green) - Comments
- For all instances, original RF and RC values are
accomplished - The answer is yes, if RF and RC cover all types
of resource instances
B
113. TestsII. Does the complexity of generated
instances go from easy to hard?
- Figures
- C - parallel versus serial scheduling of LST in
PSPLIB - D - serial LST rule value, relative to the best
upper bound (blue), best lower bound (green), and
to the optimal solution (red) for generated
instances - Comments
- Using lower or upper bound may lead to very
different conclusions - About half of PSPLIB instances are easy
- Generated instances are more equally distributed
from easy to hard
C
D
123. TestsIII. What is the influence of generator
argument SR on the results? (1/3)
- Figure
- E - performance of serial LST rule for the
generated resources with SR equal to 1 (blue), 2
(green) and 3 (red) - Comments
- The average complexity of instances increase when
SR increase - There are always some easy instances
E
133. TestsIII. What is the influence of generator
argument K on the results? (2/3)
- Figures
- F - LST rule for K from 100 to 4
- G - LST rule for K equal to 100, 2 and 1
- Comments
- High value for K does not make much difference
- Value 1 or 2 for K increase the number of easy
instances - The number of hard instances does not decrease
very much even with K1
F
G
143. TestsIII. What is the influence of generator
argument R on the results? (3/3)
H
- Figures
- H - LST rule for R from 2 to 16
- I - scatter plot of R2 vs R4 and R8 vs R16
- Comments
- Increasing R makes the number of instances of
average difficulty decrease and the number of
hard instances increase - An instance that is hard with R8 is hard with
R16
I
154. Conclusions
- The GenRes generator that returns an optimal
solution was presented - Lower and upper bounds can be very different in
hard instances - The generator can produce instances diverse in
RF/RC - The distribution of instance complexity is well
distributed - Increasing SR and R increases the instance
hardness/difficulty - K appears to have no effect on the complexity,
except for very low values
164. Future Work
- Research on instance complexity
- What makes an instance hard?
- Is it possible to explain the instance hardness
with a set of indicators? - Has morphology something to do with it?
- Generation of an instance set
- Diverse not only in RF/RC but also in R and SR
- Diverse in all indicators related with complexity
- Comparing algorithms
- Average performance of an algorithm
- Average performance of worst 5 instances of an
algorithm (some type of worst case analysis)
17Generating RCPSP instances with Known Optimal
Solutions
- José Coelho
- jcoelho_at_univ-ab.pt
- Generator and generated instances in
- http//jcoelho.m6.net/edicao3.asp?pa3569