a petri net based algorithm for the resource

0 downloads 0 Views 316KB Size Report
Abstract. This paper presents a real life Petri Net-based prototype for project management in the Animation and. Videogame (A&V) industry in Colombia. Such a ...
A PETRI NET BASED ALGORITHM FOR THE RESOURCE CONSTRAINED PROJECT SCHEDULING PROBLEM (RCPSP): A REAL LIFE APPLICATION IN THE ANIMATION AND VIDEOGAME INDUSTRY

G. Mejía, M. Sánchez, K. Niño, P. Figueroa (Gonzalo Mejía, María Angélica Sánchez, Karen Niño, Pablo Figueroa) Department of Industrial Engineering, Universidad de los Andes, Carrera 1 N° 18A 10, Bogotá D.C, Bogotá D.C, Colombia

Abstract This paper presents a real life Petri Net-based prototype for project management in the Animation and Videogame (A&V) industry in Colombia. Such a Petri Net prototype is a module embedded in a larger computer application aimed for integrated and collaborative management of A&V projects. This project management application also includes modules for modeling, resource planning, scheduling and execution. The modeling of the project activities is accomplished via extensions of Timed Petri Nets. The resource planning and scheduling module uses a new algorithm adapted from previous work. In order to test the validity of both the modeling and scheduling methodologies, examples of real projects were taken and validated with the managers of several companies. The performance of the algorithm was tested with instances from the literature. The results show the validity of the Petri Net modeling and optimization approach. Keywords: Project Scheduling, Petri Nets, Beam Search, Animation and Videogames.

1. INTRODUCTION This research presents a real life Petri Net-based prototype for project management in the Animation and Videogame (A&V) industry in Colombia. Such a Petri Net prototype is a module embedded in a larger computer application aimed for integrated and collaborative management of A&V projects. This project management application also includes modules for modeling, resource planning, scheduling and execution. This project management application is, in turn, part of a larger project called DAVID (Development of Animation and VIDeogames). DAVID aims to help Colombian companies that develop digital contents capable to compete with both quality and responsiveness to the ever increasing pressures of global markets. The project also has an important industry component. Thus far, three companies are part of the DAVID project and about two more are expected to join. As such the DAVID project has taken into consideration the needs of such companies, and it has taken their requirements as examples of what the companies in this industry may need. Likewise, the software prototypes are being created in close collaboration among industry and academia. The literature has determined and demonstrated great difficulty in the solution of project scheduling problems, even more if these problems belong to real industry. That complexity requires developing better solution methods in terms of quality and computational times. In this way, several authors had focused their research on project scheduling problems with different types of resources such as: renewable, non-renewable and double constrained resources with theoretical and real applications; Further these authors have considered different types of optimization objectives as minimization of makespan, maximization of the net present value, the maximization of the project quality, among others [1][2]. This paper focuses on the application of Petri Nets for modeling and scheduling projects of digital content using the BASPS algorithm as optimization method. The main reasons for using Petri Nets in this work are the following:



Petri Nets provide a powerful and yet easy-tounderstand modeling formalism: This fact was very useful when the proposed models were verified with the managers of A&V companies. Despite the fact that such managers did not have engineering or computer science backgrounds, the verification sessions needed only brief explanations of the Petri Net models to such managers. ● Petri Nets provide an all-in-one modeling, scheduling and execution tool. Besides the Petri Net modeling power, the scheduling part can be carried out with formal optimization techniques which search the Petri Net state space. Furthermore, the tracking of the execution of digital content projects will run under a Petri Net-based platform in which the user will visualize the planning and current status of the project. This model also provides performance indicators to assess the progress of the activities. ● Petri nets are also capable of scheduling regeneration in the event of breakdowns due to external disruptions. ● Petri Nets exchange languages (i.e. Petri Net Modeling Language *.pnml) are compatible with other languages such as xml. In particular, the main contributions of this work in terms of research are: ● An all-in-one modeling, scheduling and execution tool for planning and control of projects of digital content suitable for real-life applications. ● A new Petri Net based algorithm specific for project scheduling based on algorithms presented in previous work. The performance of the algorithm was tested with both real instances brought from the companies involved in this project and from test instances from the literature. In sum, this paper studies the resource constrained project scheduling problem (RCPSP) with renewable and nonrenewable resources separately with makespan as optimization criterion. Moreover, the authors worked on the project management in Animation and Videogames

industry in Colombia as part of real application of theoretical RCPSP proposes in this research. The remainder of the document is as follows: Section 2 describes the literature review; Section 3 reviews modeling Petri Nets and explains the Beam Search methodology proposed in Project Scheduling; Section 4 reports the application to the Animation and Videogames industry; Section 5 shows the results about both set of benchmark problems from the literature and from real instance example. Finally, Section 6 provides conclusions and future work. 2. BACKGROUND The Resource Constrained Project Scheduling (RCPSP) problem has been widely studied. Many applications in diverse industrial sectors could be found in literature research [1][2]. The RCPSP consists in a set of activities to be scheduled subject to precedence and resource constraints with different functions to be optimized on a time horizon [2]. The resource constrained can have 3 types of resources: renewable, non-renewable and double constrained. Renewable resources are available during all time in the project and they can be used indefinitely. Nonrenewable resource means that a limited number is available for the entire planning horizon of the project. Finally, a double constrained resource has fixed amount of units to each period of time; once these are finished in one period, the resource is renewed for the next period. Regarding to the objective function, the minimization of makespan is the most studied objective in academic research. Also, another objectives have been studied such as the maximization of the net present value, the maximization of the project quality, among others [2][3][4][5]. The RCPSP has been considered as a NPHard problem with both renewable, and non-renewable resources [2][6][7][8] due to their complexity. Many research works have used exact algorithms or heuristics to solve and modeling several variants of the RCPSP in benchmarks and real instances of both small and large size [9][10] [11][12]. In recent years, Petri Nets have been considered as an appropriate modeling technique to characterize project scheduling problems. However, few approaches that use the Petri Net structures have been used for optimization. The major drawbacks related to the Petri Nets optimization are both their state explosion and the NP-hard nature of many combinatorial problems [13]. In this way, the most common approach has been the use of Graph Search algorithms [14]. Such algorithms begin the search with an initial state which can be expanded into one or more nodes. This expansion is executed until a final predetermined state is found or until no more nodes can be expanded. In the literature, many researchers have proposed algorithms based on Graph Search to solve small and large size instances such as Beam Search [15][16][17], Best First and A* Search [13][18][19]. In terms of Project Scheduling Problem, there are few works in the literature that use Petri Nets for both modeling and optimization. For example, Zafra-Cabeza et. al. [20] used Petri Nets to model instances of projects involving risks, time and cost and they used Mixed Integer Programming to solve such problems. Kao et al [21], presented a Petri Net model, a module to resolve conflicts and a deadlock detection algorithm to create and check the feasibility of the schedules. In addition, Čapek et al [6] proposed a Petri Net modeling framework for projects with alternative process plans and a heuristic method to find near-optimal schedules; Sawhney et.al [22] presented a Generalized Stochastic Petri Net model to generate

construction project schedules under uncertainty; and Prahsnat Reddy [23] introduced a Petri Net model and a Genetic Algorithm for the Multimode Project Scheduling Problem. It is noteworthy that few of these works use the Petri Net structures for optimization; the comparison of such algorithms has not been tested on classical test instances so to provide a true indicator of their performance. In this paper the research is focused on minimize makespan in RCPSP with renewable and non-renewable resources, which is the most common criterion used in the Animation and Videogames industry, for real A&V instances. The research presents a modified version of the Beam A* Search Algorithm [16][17] adapted for Project Scheduling. The algorithm called BASPS is described in section 3.3, and the section 5 shows the algorithm performance on benchmark instances. 3. PROJECT SCHEDULING WITH PETRI NETS AND BEAM SEARCH 3.1. Petri Nets A Petri Net is a directed, weighted, bipartite graph consisting of two kinds of nodes, called places and transitions and arcs are directed either from a place to a transition or from a transition to a place. A Timed Place Petri Net (TPPN) considers time associated with places. In TPPNs, in addition to the token rule for transition enabling (i.e. the number of tokens at each of the input places must be greater or equal than the corresponding weight of the arc); a transition is enabled when the times associated with the tokens at each of its input places have been exhausted. With the addition of time, the state of the net is now defined not only in terms of the tokens at each place of the net (i.e. the marking array), but also by the remaining time to exhaust each place’s time [15] . The state of a TPPN is defined by the Marking array and the Remaining Time array. The latter array contains at each of its positions the time left for each token to exhaust the time of the corresponding place. Definition. Timed Place Petri Net (TPPN): A TPPN is a 8tuple (P, T, P  T, T  P, M0, Mr0, , W) where P= set of places, T = set of transitions, P  T = {}, P  T = set of input arcs, T  P = a set of output arcs, M0, = initial marking, Mr0 = the initial remaining time array,  = set of time delays associated with places and W is the set of weights for each arc. 4 In this paper we followed the methodology concept of S R nets (Series of Sequential Systems with Shared Resources) [24] for modeling manufacturing systems. In 4 S R nets, the process routing of a project is modeled as a subnet. Places belonging to the process routing are denoted as “Operational Places”. Such subnets are linked via “Resource Places” which represent resource capacity constraints. The initial marking represents a state in which the project is ready to start and all resources are available. 3.2. Project Scheduling Modeling with Petri Nets The following example illustrates the construction of a Petri Net model from a RCPSP instance having 4 activities: Activity A precedes (must finish before) both B and C and both B and C precede D. The successors of each activity, the duration of each activity and the number of units required of each type of resource for each activity are shown in Table 1. Activities B and C can be executed in two different modes with different resource requirements. For example if B is executed in mode 1, one (1) unit of

22

nd

International Conference on Production Research

Resource 1 is needed and the duration of the activity will be 6 time units; if B is executed in mode 2, two (2) units of Resource 1 are required and the corresponding duration will be 4 time units. Resource 1 is renewable (i.e. it can be used indefinitely) whereas Resource 2 is non-renewable (i.e. there are fixed quantities of resource available and if the project execution runs out of such resources, it may reach an undesirable deadlock situation). The initial available quantities of resources are 2 units of Resource 1 and 3 units of Resource 2. Figure 1 and

Table 2 describe the Petri Net model of the RCPSP example. The initial place (P1) corresponds to the start of the project. Operation places (P2 to P8) either represent the execution of the activities (shaded places) or the “finished” or “ready” conditions for each activity. Resource places (P13 and P14) represent the availability of resources and the final place (P9) indicates the completion of the project. In the figure place 13 is duplicated for the sake of clarity.

Table 1. RCPSP Example

A B

Successor Activities B,C D

C

D

D

Resources: Type Available Units

Activity

Mode 1 1 2 1 2 1

Duration

8 6 4 6 3 8 Resource 1 Renewable 2

Resource 1

Resource 2

2 1 2 0 0 0

0 0 0 3 2 0

Resource 2 Non-renewable 3

Table 2. Places description of the Petri Net Place

Description

Place

Description

P1 P2 P3 P4 P5 P6 P7

Project ready to start Activity A in execution C ready to start B ready to start Activity C mode 1 C ready Activity C mode 2

P8 P9 P10 P11 P12 P13 P14

Activity D in execution Project Finished Activity B mode 1 B ready Activity B mode 2 Resource 1 (R1) available Resource 2 (R2) available

Figure 1. Petri Net model

3.3. Proposed Method The proposed BASPS algorithm is adapted from the classical A* and Beam algorithms [13][15]. The A* Search algorithm expands the nodes of the reachability graph (graph of the state space of a Petri Net) according to a criterion established with the heuristic function f(M) = g(M) + h(M) where g(M) is the actual cost from the initial marking M0 to the marking M and h(M) is an estimate of the cost from the marking M to the desired final marking Mf. In order to guarantee that the A* Search finds an optimal solution, h(M) must be greater than 0 and equal or less than the actual value h*(M) for all markings. As such, the value of f(M) = g(M) + h(M) must also underestimate the true value of f*(M) and therefore it must be a lower bound for all markings M. Despite the fact that A* Search guarantees optimality, it also presents several drawbacks: ● The complexity of the algorithm is exponential in both time and memory requirements. ● The potential generation of a large number of markings. ● The difficulties in the calculation of the heuristic function h(M). For the above reasons, it is mandatory to devise a strategy to trim the search tree with the consequent expense of optimality. This is the idea of the Beam Search algorithm that only expands a predefined number of nodes at each level of the search tree. The level of a marking at the search tree corresponds to the number of transition firings from the initial marking to such a marking. Lower and Upper bounds The BASPS algorithm incorporates lower and upper bounds in each node in order to better direct the search. Since makespan is the optimization criterion, the heuristic function h(M) must be an estimate of the remaining time to finish the project. The value of h(M) is calculated here as the length of the remaining critical path which is the optimal solution of the unconstrained project scheduling problem and therefore is a lower bound for the RCPSP. In other words, the lower bound f(M) is calculated by relaxing the resource availability constraints. The upper bound is also calculated for each marking. This will be used in the case of ties (i.e. when several markings have the same value of f(M)). Such an upper bound is calculated by firing the transitions starting from the marking M until reaching the final marking. Conflicts are resolved with priority rules: We tested the (1) Shortest Process Time (SPT), (2) Longest Process Time (LPT) and the (3) Critical Path (CP) rules. The SPT rule gives priority to the activities with shorter times; the LPT rule to the activities with longer times and the CP to those activities on the critical path of the unconstrained problem. Generally the SPT and CP rules provided best results (in 92% of the tested instances either or both reached the best solution). BASPS uses a list called OPEN where the generated but not yet expanded nodes are stored. The OPEN list is sorted in ascending order of lower bounds and ties are broken with upper bounds). BASPS does not use the CLOSE list of expanded nodes as in [13][14] and only keeps track of the last expanded node. The pseudo code of the BASPS algorithm is shown below: Inputs: a Timed SR4 Net with the process routing and the resource constraints, a final marking, an expansion rule for upper bounds, a calculation function for the lower bounds and the beam width.

1. 2. 3.

4. 5.

6. 7.

8.

Set the initial marking M0 as the current marking. Calculate the set of enabled transitions for the current marking. Generate the set of children markings of the current marking M by firing each of the enabled transitions. Calculate the lower and upper bounds for each children marking. This step is the expansion step. Insert the children markings of M on OPEN in the right position according to their lower and upper bounds. If OPEN is empty terminate with failure; Else. Select the first marking of OPEN suitable for expansion. A marking is suitable for expansion if the number of expanded markings at its level has not exceeded the beam width. Set the selected marking of OPEN as the current marking. Delete those markings on OPEN that are not suitable for expansion. If the current marking is equal to the final marking then construct the path backwards from such a marking to the initial marking and terminate. Return the value of the true cost f(M) of the final marking. Else: Go to step 2

4. PETRI NET MODELING OF A PROJECT OF DIGITAL CONTENTS In this research, the project scheduling problem is modeled with Petri Nets and it is solved with BASPS as it was explained above. In addition, these methodologies are applied in animation and videogames industry taking account projects from three companies specialized on different digital content products as follows: ● Company A: animations in 3D, with VFX techniques. ● Company B: videogames in 2D, for mobile devices. ● Company C: music and sound effects for games and movies. The names of the companies have been omitted due to confidentiality agreements. As a result of the construction of maps process to all activities, several instances were created and they were analyzed. The following example shows how the construction of the instance from the information given by companies is. The relevant information about this example is described in Table 3 and Table 4. Table 3. Number of available resources Resource Producer Artist Programmer Game Designer

Available Quantity 1 1 1 1

This instance is created automatically with templates that are developed to facilitate the information management. At the time of writing, a prototype of this platform is under development and a few tests have been carried out. Moreover, once the instance is modeled can identify that in the stage of preproduction, activities “Startup” and “Conduct Research” can be carried out in parallel. When these two activities are completed, the “Make planning” activity can start. Next the activities “Evaluate prototypes” and Design multimedia” can be executed in parallel. When these two activities are finished, the production stage can start, and so forth. After that, the BPMN model is translated to a TPPN using the methodologies presented by [24]. The

22

nd

International Conference on Production Research

Petri Net model is described in Figure 2. Because of space limitation only the preproduction stage of the model is shows. Table 4. Project Information No

Activity

Time (hours)

1

Startup

1

Producer Game Designer

40

Producer Artist

-

4

Producer

1,2

40

Programmer

3

40

Artist

3

24

Game Designer

4,5

8

Producer

6

2 3 4 5 6 7

8

9 10 11 12

13 14 15

Conduct game research Elaborate planning Create prototypes Design multimedia Do script

Resources

Predecessor -

Table 5. Set of instances with renewable resources

Review preview 1 Design interface and other media Program interaction

32

Artist

7

24

Programmer

7

Integrate all media

2

Artist Programmer

8,9

8

Producer

10

Review preview 2 Create alpha prototype Create beta prototype Review preview 3 Create gamma prototype

renewable resources were tested. These instances were handled by groups in the same way as with renewable resources. Additionally, the results of the real project example were analyzed. All instances were written in Java language under Eclipse Platform and the experiments were run on a PC computer with a 3.45 GHz Intel Core processor and 4,0 GB RAM memory. The Java language was used as programming language in all animation and videogames projects. Respects to the BASPS, the values of the beam width used in the computational experiments were 1, 5, 10, 15, 20, 60, 50, and 100. The best solution of BASPS with the lowest beam is reported in section 5.1 and section 5.2.

Number of activities j30

j60

j90

j120 24

Programmer

11

24

Programmer

12

8

Producer

13

24

Programmer

14

Parameter

Number of instances /parameter

Total of instances

1- 10 11- 20 21-30 31-40 41-48 1- 10 11- 20 21-30 31-40 41-48 1- 10 11- 20 21-30 31-40 41-48 1- 10 11- 20 21-30 31-40 41-48

10 10 10 10 8 10 10 10 10 8 10 10 10 10 8 10 10 10 10 8

100 100 100 100 80 100 100 100 100 80 100 100 100 100 80 100 100 100 100 80

5.1. Project Scheduling with Renewable Resources The results are compared against the Best Known Solutions (BKS) which are either the optimal solutions or the best upper bounds reported in the literature [25][26]. The results show the GAP between the BKSs and the BASPS solutions. The GAP is calculated as follows:

5. COMPUTER RESULTS The tests were performed on a set of classical instances available from the widely known library PSLIB (http://www.pslib.com). On the one hand, a total of 1920 problems with renewable resources were tested. These problems are separated into 4 groups according to the number of activities considered. In other words, groups were taken as 30, 60, 90 and 120 activities. Similarly, each of these last set of problems were grouped into 5 groups as follows: The first group contains a total of 100 instances corresponding to the first 10 parameters of problems; the second group contains 100 issues parameters 10 to 20, and so on. The Table 5 exposes all instances tested. On the other hand, a total of 640 instances with non-

GAP 

Makespan( BASPS )  Makespan( BKS ) 100% Makespan( BKS )

The Table 6 shows the results to set of instances which have a size equal to 30 activities. The label j30_X-j30_XX in the first column denotes problems that are within the parameters of X to XX according with PSLIB classification. The other columns show the GAP average values and the number of instances which found the optimal values; all of this for each set of problems. Likewise, the Table 7, 8 and 9 present the results to 60, 90 and 120 set of instances, respectively.

Figure 2. Petri Net Model to the real instance of project example

The algorithm found the optimal solution in all j30 problems with an average computational time of 0,22 seconds. On the other hand, in the j60 problems the proposed method found 70% of optimal solutions; however, general results about these set of instances showing a good performance given that the average GAP is less than 5% with an average computational time of 1,87 seconds. In the same way, for the j90 and j120 set of instances the algorithm reached the BKS in 61% and 10% of the problems, respectively. The last percentage indicates that in j120 problems the complexity is increased with respect to the problems that have fewer activities. In this set, the total average GAP was 10,25% with 6,4 seconds as average computational times. Table 6. GAP measure for the J30 instances

Table 8. GAP measure for the J90 instances Problems

GAP average

Number of optimal solutions found

j90_1-j90_10

2,50%

64

j90_11-j90_20

1,31%

78

j90_21-j90_30

1,64%

70

j90_31-j90_40

1,62%

67

j90_41-j90_48

2,78%

45

Table 9. GAP measure for the J120 instances Problems

GAP average

Number of optimal solutions found

9,13%

13

GAP average

Number of optimal solutions found

j120_1-j120_10

Problems

j120_11-j120_20

10,71%

4

j30_1-j30_10

0,00%

100

j120_21-j120_30

9,13%

10

j30_11-j30_20

0,00%

100

j120_31-j120_40

12,51%

3

j30_21-j30_30

0,00%

100

j120_41-j120_60

9,77%

10

j30_31-j30_40

0,00%

100

j30_41-j30_48

0,00%

100

Table 7. GAP measure for the J60 instances Problems

GAP average

Number of optimal solutions found

j60_1-j60_10

2,90%

60

j60_11-j60_20

1,93%

73

j60_21-j60_30

4,51%

50

j60_31-j60_40

1,20%

70

j60_41-j60_48

4,46%

40

5.2. Project Scheduling Resources

with

Non-Renewable

As mentioned above, the project scheduling problem with non-renewable resources were tested with 640 instances which were divided in 5 set of 100 instances and one set of 140 instances. All instances have 18 activities with a different complexity level. In the same way with renewable resources explained in section 5.1, the results in this section are compared with the BKS according to GAP formulation described above. The Table 10 shows the results to all set of instances tested. The label m1_X-m1_XX in the first column denotes problems that are within the parameters of X to XX according with PSLIB classification to this kind of problem. The other columns indicate the GAP performance in terms of average, maximum and minimum value, respectively.

22

nd

International Conference on Production Research Table 10. GAP measure for the RCPSP with Nonrenewable resources Problems

GAP Average Maximum

Minimum

m11-m110

0,04%

2,27%

0,00%

m111-m120

0,00%

0,00%

0,00%

m121-m160

0,00%

0,07%

0,00%

m131-m140

0,00%

0,00%

0,00%

m141-m150

0,00%

0,02%

0,00%

m151-m164

0,00%

0,04%

0,00%

In this case, the algorithm found optimal values for the majority of instances, about 97% of instances in total. In particular, the average GAP for all instances is 0,00% between makespan (BASPS) and makespan (BKS). There is an exception with the first set of instances which has an average GAP of 0.04% and an average computational times of 0,10 seconds. Likewise, the maximum GAP value in all sets is 0.07%, and the minimum GAP value is 0.00%. 5.3. Real Instance with the proposed algorithm The project instance of section 4 was run with the BASPS algorithm and in less than 1 second a sequence of activities and the performance indicators were generated. Obviously this is a very simple instance and no conclusions about the performance of the algorithm can be inferred. However, the results were hailed as a very close approximation by the manager of animation company (Company A). The performance indicators of the project are shown in Table 11 and the Gantt chart is shown in Figure 3.

6. CONCLUSIONS This work has presented a Petri Net-based prototype for a computer application aimed for project management in the resource constrained project scheduling problem and the Animation and Videogame industry. The development of the application included modeling and optimization parts that uses the Petri Net formalism for such purposes. The modeling part uses well-known approaches based on Timed Place Petri Nets. Besides, the optimization module presents an extension of an algorithm described in previous work. As a result, the experiments with the algorithm focused on set of instances reported in the literature with renewable and no renewable resources, respectively. Moreover, the experiments included a real application of an animation project instances. In this analysis, the resulting model and the schedule were validated with the work team of the company to check the closeness to the real world. On the other hand, the algorithm showed optimal and very close results with respect to BKS reported in the literature; all this for the benchmark problems considered. In addition, this work has a research contribution because there is an all-in-one modeling and scheduling tool to resolve different set of benchmark instances, and real project instances. Future work will be focused on several fronts: In terms of modeling, efforts will be dedicated to the refinement of the Petri Net model, the algorithm efficiency, and considering multi-mode instances. 7. ACKNOWLEDGMENTS The DAVID project (code 120450227616) has been funded primarily by the Departamento Administrativo de Ciencia, Tecnología y Educación (Colciencias) of Colombia.

8. REFERENCES Table 11. Results of the model Indicator Makespan Downtimes Producer utilization Artist utilization Programmer utilization Game designer utilization

Result 291 hours 0 hours 22,33% 39,51% 61,51% 22,33%

Figure 3. Gantt chart of the real instance

[1] Brucker P., Drexl A., Möhring R., Neumann K., Pesch E., 1999, Resource-constrained project scheduling: Notation, classification, models and methods, European Journal of Operational Research, 112, 3-41. [2] Kolisch R., Padman R., 2001, An integrated survey of deterministic project scheduling, Omega, 29, 249-272. [3] Kolisch R., Drexl A., 1997, Local search for nonpreemptive multi-mode resource constrained project scheduling, IIE Transactions, 29, 987-999. [4] Abbasi B., Shadrokh S., Arkat J., 2006, Bi-objective resource-constrained project scheduling with robustness and makespan criteria, Applied Mathematics and Computation, 180, 146-152. [5] Mika M., Waligora G., Weglarz J., 2005, Simulated annealing and tabu search for multi-mode resourceconstrained project scheduling with positive discounted cash flows and different payment models, European Journal of Operational Research, 164, 639668. [6] Capek R., Sucha P., Hanzalek Z., 2012, Production scheduling with alternative process plans, European Journal of Operational Research, 217, 600-311. [7] Kolisch R., Hartmann S., 2006, Experimental investigation of heuristics for resource-constrained project scheduling: An update, European journal of Operational Research, 174, 23-37. [8] Blazewics J., Ecker K., Pesch E., Schmidt G., Weglarz J., 2007, Handbook on Scheduling, Springer, Berlín, Germany.

[9] Heilmann R., 2003, A branch-and-bound procedure for the multi-mode resource-constrained project scheduling problem with minimum and maximum time lags, European Journal of Operational Research, 144, 348-365. [10] Sprechcer A., Kolisch R., Drexl A., 1995, Semi-active, and non-delay schedules for the resource-constrained project scheduling problem, European Journal of Operational Research, 80, 94-102. [11] Demeulemeester E.L., Reyck B., Herroelen W.S., 2000,The discrete time/resource trade-off problem in project networks – A branch-and-bound approach, IIE Transactions, 32, 1059–1069. [12] Vonder S.V., Demeulemeester E., Herroelen W., 2007, A classification of predictive-reactive project scheduling procedures, Springer, 10, 195-207. [13] Lee D.Y., DiCesare F., 1994, Scheduling Flexible Manufacturing Systems using Petri Nets and Heuristic Search, IEEE Transactions on Robotics and Automation, 10, 123-131. [14] Mejia G., Montoya C., 2009, Scheduling manufacturing systems with blocking: a Petri net approach, International Journal of Production Research, 47, 6261-6277. [15] Mejía G., Odrey N., 2005, An approach using Petri Nets and Improved Heuristic Search for Manufacturing Systems Scheduling, Journal of Manufacturing Systems, 24, 79-92. [16] Mejia G., Montoya C., 2008, A Petri Net based algorithm for minimizing total tardiness in flexible manufacturing systems, Annals of Operations Research, 164, 63-78. [17] Mejia G., Montoya C., 2010, Applications of resource assignment and scheduling with Petri Nets and heuristic search, Annals of Operations Research, 181, 795-812. [18] Zhou M., DiCesare F., 1993, Petri Net Synthesis for Discrete Event Control of Manufacturing Systems, Kluver, Boston, MA. [19] Reyes-Moro Yu, Kelleher G., Lloyd S., 2002, Integrating Petri Nets and Hybrid Heuristic Search for the Scheduling of FMS, Computers in Industry, 47, 123-138. [20] Zafra-Cabeza A., Ridao M.A., Camacho E.F., 2004, An algorithm for optimal scheduling and risk assessment of projects, Control Engineering Practice, 12, 1329-1338. [21] Kao H.-P., Wang B., Dong J., Ku K.-C., 2006, An event-driven approach with makespan/cost tradeoff analysis for project portfolio scheduling, Computers in Industry, 57, 379-397. [22] Sawhney A., Mund A., Chaitavatputtiporn T., 2003, Petri net-based scheduling of construction projects, Civil Engineering and Environmental Systems, 20, 255-271. [23] Prashant Reddy J., Kumanan S., Krishnaiah Chetty O.V., 2001, Application of Petri Nets and a Genetic Algorithm to Multi-Mode Multi-Resource Constrained Project Scheduling, The International Journal of Advanced Manufacturing Technology, 17, 605-314. [24] Abdallah J.B., ElMaraghy H.A., ElMekkawy T.Y., 2002, Deadlock-free Scheduling in Flexible Manufacturing Systems using Petri-Nets, International Journal of Production Research, 40, 2733-2756.

[25] Brucker P., Knust S., 2001, Resource-constrained project scheduling and timetabling, Practice and Theory of Automated Timetabling Iii, 2079, 277-293. [26] Klein R., Scholl A., 2000, Optimally solving the generalized resource-constrained project scheduling problem, Mathematical Methods of Operational Research, 52, 467-488.

Suggest Documents