170 likes | 203 Views
Generating RCPSP instances with Known Optimal Solutions. José Coelho jcoelho@univ-ab.pt Generator and generated instances in: http://jcoelho.m6.net/edicao3.asp?pa=3569. Index. Introduction Generation Method Tests Conclusions. Introduction.
E N D
Generating RCPSP instances with Known Optimal Solutions José Coelho jcoelho@univ-ab.pt Generator and generated instances in: http://jcoelho.m6.net/edicao3.asp?pa=3569
Index • Introduction • Generation Method • Tests • Conclusions
Introduction • 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
Introduction • 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
2. Generation Method • Generation arguments • A Network • K extra precedence relations • SR 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
2. 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
2. 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
2. 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
3. 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
3. 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
3. 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
3. 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
3. 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 K=1 F G
3. 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 R=2 vs R=4 and R=8 vs R=16 • 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 R=8 is hard with R=16 I
4. 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
4. 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)
Generating RCPSP instances with Known Optimal Solutions José Coelho jcoelho@univ-ab.pt Generator and generated instances in: http://jcoelho.m6.net/edicao3.asp?pa=3569