A resource investment problem based on project splitting with time windows for aircraft moving assembly line

A resource investment problem based on project splitting with time windows for aircraft moving assembly line

Computers & Industrial Engineering 135 (2019) 568–581 Contents lists available at ScienceDirect Computers & Industrial Engineering journal homepage:...

2MB Sizes 0 Downloads 59 Views

Computers & Industrial Engineering 135 (2019) 568–581

Contents lists available at ScienceDirect

Computers & Industrial Engineering journal homepage: www.elsevier.com/locate/caie

A resource investment problem based on project splitting with time windows for aircraft moving assembly line

T

Zhiqiang Lu , Yifei Ren, Lin Wang, Hongwei Zhu ⁎

School of Mechanical Engineering, Tongji University, Shanghai, China

ARTICLE INFO

ABSTRACT

Keywords: Aircraft moving assembly line Resource investment problem Time windows Project splitting Improved genetic algorithm Branch-and-bound

The aircraft moving assembly line is considered to be a large complex project consisting of some sub-projects with corresponding jobs and each sub-project corresponds to each workstations of the assembly line. This paper presents a new extension of the project scheduling problem, Resource Investment Problem based on Project Splitting with Time Windows (RIPPS_TW), in view of the characteristics of simultaneous execution of multiple workstations based on line-side shared resources and the situation of unavailable resource periods known in advance. A new concept named project splitting is proposed to divide a project into multiple sub-projects by changing the precedence constraints of jobs during scheduling, which is beneficial for improving the scheduling efficiency of the problem. To solve RIPPS_TW, we design a new mathematical optimization model and a twostage iterative loop algorithm in this paper. In the first stage, a heuristic algorithm is applied to get the project splitting plan, then in the second stage an improved genetic algorithm combined with branch-and-bound is used to schedule jobs affected by resource time windows. In addition, a series of computational experiments are carried out, and the effectiveness of the algorithm is verified by comparison with other literature algorithm.

1. Introduction Aircraft moving assembly line has been adopted by aviation companies in aircraft assembly for its high efficiency, flexible production and high stability. A simplified example of an aircraft moving assembly line that includes four assembly stations is shown in Fig. 1, LS is the safety distance between two aircrafts and the speed of the assembly line is v . Each assembly station contains many parts of the aircraft assembly operations. During each takt time, the aircraft at the current station completes the corresponding jobs and then enters the next one while the following aircraft comes in (Qin, Wang, Chan, Chung, & Qu, 2019; Xin, Li, Yu, & Zhang, 2015). For example, as shown in Fig. 1, in the interval of the third takt time, aircraft A is at the station 3 and aircraft B is at the station 2, after finishing corresponding jobs respectively, aircraft A will enter the station 4 and aircraft B will enter the station 3. Furthermore, when the aircraft passed the whole stations of the assembly line, all the assembly jobs should have been completed. In order to model the scheduling of aircraft assembly jobs on the moving assembly line, we assume that the project of aircraft moving assembly line is a project network with precedence constraints, duration constraints and resource requirements. The assembly stations are treated as “virtual stations” of the network graph, and these virtual stations are sub-projects of the whole project with the corresponding jobs. As the design of ⁎

the aircraft assembly station is determined by the takt time and needs to satisfy the precedence constraints and other associated constraints, so the assembly jobs are required to be assigned to the virtual stations according to some specified rules when designing the aircraft assembly line. All aircraft assembly jobs are divided into different virtual stations in advance according to the rules and we prefer to use a general concept, namely, project splitting, to define this process. Based on the above assumption, the network graph of a single aircraft assembly can be divided into several serial sub-networks, each sub-network corresponds to a sub-project, and also corresponds to an assembly station of the assembly line. What’s more, each subproject consists of a series of corresponding assembly jobs. The partitioning process of the sub-network is a project splitting process. According to the sub-network partition, if we can get an optimal project splitting scheme and the corresponding scheduling scheme for each sub-project, then the assembly jobs of the whole assembly line can be completed. In the actual aircraft assembly line, resources are not available at all times, such as workers may be unavailable due to public holidays, training days or labor leave and machines may be unusable because of scheduled maintenance or regular overhauls. In these cases, the periods of resource availability and unavailability are typically known in advance and referred to as time windows (Nguyen, Yalaoui, Amodeo, Chehade, & Toggenburger, 2018). To distinguish them, the available

Corresponding author. E-mail addresses: [email protected] (Z. Lu), [email protected] (Y. Ren).

https://doi.org/10.1016/j.cie.2019.06.044 Received 12 December 2018; Received in revised form 11 June 2019; Accepted 18 June 2019 Available online 19 June 2019 0360-8352/ © 2019 Elsevier Ltd. All rights reserved.

Computers & Industrial Engineering 135 (2019) 568–581

Z. Lu, et al.

0 1 1 Takt 1

2

1

1

2

1

3

2

1

1

2

1

3

2

1

4

3

2

1

1

2

1

3

2

1

4

3

2

1

2 Takt

3 Takt

4 Takt

5 Takt Space Time

Station 1

Station 3

Station 2

Station 4

v LS Aircraft D Resource

Aircraft C

Resource

Resource

Resource

Aircraft B Resource

Resource

Aircraft A Resource

Resource

Fig. 1. A simplified map of the aircraft assembly line.

R

... 0

lwm

lwm 1

swm 1

wm

( wm 1 , wm )

f wm 1

lwm 1 ( wm , wm 1 )

wm

1

swm

solve RIPPS_TW in this paper. The remainder of the paper is structured as follows. Section 2 provides a literature review briefly; in Section 3, a model of RIPPS_TW is proposed; Section 4 presents an improved genetic algorithm combined with branch-and-bound to solve this problem; Section 5 reports the analysis of computational results; Finally, in Section 6, the summary of this paper is given.

f wm

wm

swm 1

1

... f wm 1

d

2. Literature review

Fig. 2. Time windows of resource.

Motivated by the aircraft moving assembly line scheduling problem, this research proposes a new extended problem of RIP which is a variant of RCPSP, so the existing algorithms of RCPSP, RIP and other extension problem of RCPSP provide certain reference for solving RIPPS_TW. Herroelen, De Reyck, and Demeulemeester (1998) as well as Brucker, Drexl, Möhring, Neumann, and Pesch (1999) defined the RCPSP as a NP-hard problem. Afterwards, some researchers have extended the problem to the Resource Constrained Multi-Project Scheduling Problem (RCMPSP). Browning and Yassine (2010) studied twenty priority rules with different parameters to generate multi-project scheduling plan and compared the results of the indicators for the overall project evaluation. Krüger and Scholl (2009) proposed a multiproject scheduling model with resource transfer time and use an improved serial scheduling and parallel scheduling algorithm to solve it. A heuristic algorithm with four priority rules constructed by analytic hierarchy process was designed by Singh (2014) to determine the scheduling plan and resources allocation. Many intelligent algorithms were proposed to resolve the large-scale problems, Majazi Dalfard and Ranjbar (2012) presented a hybrid algorithm combined of heuristic algorithm with different priority rules and simulated annealing algorithm. Kim, Yun, Yoon, Gen, and Yamazaki (2005), Gonçalves, Mendes, and Resende (2008) also improved the genetic algorithm to solve the multi-project problem effectively. Some extensions of the problem are sprung up, such as multi-mode studied by Asta, Karapetyan, Kheiri, Özcan, and Parkes (2016), Tao and Dong (2018), multi-objective presented by Majazi Dalfard and Ranjbar (2012), and so on. All of these studies generally assume that the multi projects are known in advance

periods of resources are named as work windows, while the other are named as rest windows. Fig. 2 shows the time windows of resource, wm is the mth work window, (wm, wm +1) is the rest window between wm and wm + 1. swm and fwm are the start time and the finish time of wm , respectively. l wm is the length of wm and l wm = fwm s wm . In this paper, to specify the unique case that jobs are not allowed to be interrupted once started, the assumption is suggested that each job can be scheduled only when the required resources are available for the whole duration of the job and all the other constraints are satisfied. Within this context, the basic scheduling problem of aircraft moving assembly line is modeled as resource constrained project scheduling problem (RCPSP) which aims to minimize the makespan of the project by scheduling jobs under the presence of precedence and other constraints (Ren & Lu, 2017; Shan et al., 2017). Combining the project splitting and the time windows of resources, a new variant of RIP is proposed in this paper, Resource Investment Problem based on Project Splitting with Time Windows (RIPPS_TW). The characteristic that resource availability varies over time adds complexity to the research, and meanwhile the project splitting decision will further increase the difficulty of resource allocation and job scheduling. The main thrust of RIPPS_TW is to allocate resources and schedule jobs simultaneously according to the time windows of resources, precedence constraints and other various constraints which interact with each other to achieve the goal of cost minimization. The contribution of this paper is to present the basic theory of RIPPS_TW and to construct the mathematical model of this problem. Additionally, an effective algorithm is also created to 569

Computers & Industrial Engineering 135 (2019) 568–581

Z. Lu, et al.

and independent of each other or have no temporal constraints. Resource Investment Problem (RIP) is another variant of RCPSP, which known as the problem with the objective to minimize the resources cost subject to a given project deadline. The scheduling strategy of RIP is to determine the start time of each job and the amount of each resource used with the condition of satisfying the precedence constraints, due date of the project and other constraints. Möhring (1984) first introduced the RIP and proves that it is also a NP-hard problem. The existing algorithms for RIP can be classified into three categories: exact algorithm, heuristic algorithm and meta-heuristic algorithm. Drexl and Kimms (2001) applied the Lagrange relaxation and column generation method to obtain new lower bounds and Rodrigues and Yamashita (2010) improved the efficiency of the branching scheme by constructing an improved exact algorithm to reduce the solution space. In the aspects of heuristic algorithms and meta-heuristic algorithms, Yamashita, Armentano, and Laguna (2006) proposed a combination method based on path relinking and scatter search to solve RIP. A new model for RIP with tardiness permit was presented by Shadrokh and Kianfar (2007), and a double list genetic algorithm was introduced in detail to solve the model effectively. Afshar-Nadjafi (2014) considered the recruitment and release dates for resources and the jobs interrelated by finish-start precedence relations with zero time lags, and presented a simulated annealing algorithm for the multi-mode RIP to obtain satisfying solutions. The traditional RCPSP or RIP generally takes into account that all the resources are available during the project planning horizon. However, in actual production, resources are not always available throughout the project, and the cycle of resource unavailability is known in advance. The project scheduling problem which subjects to time windows is seldom considered in the literature. Time windows of resources generally cause resource capacity to change over time as defined in Hartmann (1999). Franck, Neumann, and Schwindt (2001) proposed multiple calendars and considered the minimum and maximum time lags between jobs depend on calendars. Hung, Bao, and Cheng (2017) considered that each job includes a time window delimited by its ready and due dates which is motivated by the practical scheduling problem of facilities in an interrelated supply chain network. A multi-mode resource constrained project scheduling problem (MRCPSP) where jobs can be split due to time windows when resources are not available during scheduling presented by Buddhakulsomsiri and Kim (2006). What’s more, Buddhakulsomsiri and Kim (2007) designed a priority rule-based heuristic combined with a new concept named moving resource strength to control jobs splitting under situation where resources are unavailable to solve the MRCPSP effectively. Lu and Lam (2008) studied the impact of the resource calendars on the critical path method scheduling and the effects of multiple resource calendars on the total float determination. Kreter, Rieck, and Zimmermann (2016) extended the RCPSP with general temporal constraints and precedence constraints with the break calendars and time legs between jobs and use a heuristic algorithm combined with three different versions of a scatter search procedure to solve the problem effectively. Afshar-Nadjafi (2014) applied a simulated annealing algorithm to solve the multimode resource investment problem with recruitment and release dates for resources. Cheng, Fowler, Kempf, and Mason (2015) identified a new set of RCPSP with only non-preemptive job splitting due to timevarying resources constraints and resource time windows, and proposed a priority rule-based simple heuristic to tighten the bounding rules of a precedence-tree-based branch-and-bound algorithm. The detailed classification of the references according to the characteristics of the scheduling problems are presented in Table 1. Forasmuch as the above reviews, the focus and contribution of this paper is to put forward a new concept, project splitting, and to present a new variant of the RIP problem. Project splitting divides a large project into some small projects, and the scheduling problem of these small projects can be considered as a new multi-project scheduling problem. However, it is different from the traditional multi-project scheduling

problem, project splitting is a decision variable in this paper, that’s means that the situation of multi projects are not known in advance before project splitting and determined by the decision variable. Different project splitting schemes will result in different jobs being divided into different projects, thus affecting the final job scheduling. In summary, the previous literatures and researches did not take into account the direction of project splitting, and the integration of resource time windows, project splitting with resource investment problem. We define this new variant of the RIP problem as RIPPS_TW. The resource time windows not only affect project splitting criteria but also increase the difficulty of project scheduling, and meanwhile the project splitting scheme will further increase the difficulty of resource allocation and job scheduling, hence, the interaction of these factors increases the complexity of RIPPS_TW solving. As mentioned above, we present a mathematical programming model for RIPPS_TW and design a cyclic iterative algorithm to solve it. In the first phase of the algorithm, a priority rule-based heuristic algorithm is designed to allocate jobs for project splitting, and in the second phase, an improved genetic algorithm with a local search based on branch-and-bound algorithm is constructed to analyze the influence of the resource time windows on job scheduling. Finally, the experimental data reveal that the branchand-bound algorithm can get the exact solution of the small scale problems and the cyclic iterative algorithm can solve the large scale problems more effectively. 3. Proposed mathematical model The project of aircraft moving assembly line can be treated as a project network G = (V , E ) , where V = {0, 1, , j, J , J + 1} presents the set of jobs and E denotes the precedence relations between jobs. Job 0 and job J + 1 are initial and terminal job respectively, are dummy jobs. Pj is the immediate predecessor set of job j , Sj is the immediate successor set of job j . The standard processing duration of each job is t j , T is the given deadline of the project. d T = {1, , d , , T } is the discretization time and T is the actual finish time of the project. The set of N = {1, , n, , N } represents the subprojects of the whole project, K = {1, , k, , K } is the set of renewable resources needed by the jobs. We denote by Job-Resource matrix MJR = [rjk ]|J | K the quantity of resource k needed by job j , and define Jk as the set of resources required by job j . ck is the unit cost of the k th type resource. Furthermore, Wk is the time windows of resource k duration the project, wkm is the mth work windows of resource k , and (wkm, wk (m + 1) ) is the rest window between wkm and wk (m + 1) . t ESTj EST,j t EFTj EFTj, t LSTj, t LFTj are the earliest start time, earliest finish time, latest start time, latest finish time of job j through the critical path method (CPM). t ASTj and t AFTj are the start time and the finish time of job j when it is scheduling, then t STj and t FTj are the final scheduled start time and finish time of job j . The following general assumptions are considered in this paper: the dummy jobs have no standard processing duration and resources requirements; each resource can contribute with only one job at a time; the assigned resources to each job with unchanged during the job duration; job and resource preemption is unpermitted during the whole project. The auxiliary variables and decision variables are as follows in Table 2. Since the precedence constraints of jobs restrict the scheduling sequence, the following constraint (1) also must be met when project splitting, M is a large number, that is all the predecessors of any job can’t be assigned to the successive subprojects of this job. N p=n+1

Yph

M (1

Ynj ),

n

N,

j

V,

h

Pj

(1)

Fig. 3 shows two ways to split the project, method A is a wrong way, because jobs 1, 2, 3 and 4 are all the predecessor jobs of job 6, and job 6 can’t be started until its predecessors are finished. So jobs 1, 2, 3 and 4 must be in the same subproject with job 6 or in the previous subprojects of the subproject where job 6 is located. Method B is one of the correct 570

Computers & Industrial Engineering 135 (2019) 568–581

Z. Lu, et al.

Table 1 Classification of the references according to the characteristics of the scheduling problems. References

Constraints and assumptions Multi-project

Shan et al. (2017) Ren and Lu (2017) Browning and Yassine (2010) Krüger and Scholl (2009) Singh (2014) Majazi Dalfard and Ranjbar (2012) Kim et al. (2005) Gonçalves et al. (2008) Asta et al. (2016) Tao and Dong (2018) Liu, Xiang, Zhang, Wang, and Zheng (2018) Drexl and Kimms (2001) Rodrigues and Yamashita (2010) Yamashita et al. (2006) Shadrokh and Kianfar (2007) Afshar-Nadjafi (2014) Franck et al. (2001) Hung et al. (2017) Buddhakulsomsiri and Kim (2006) Buddhakulsomsiri and Kim (2007) Lu and Lam (2008) Kreter et al. (2016) Cheng et al. (2015)

√ √ √ √ √ √ √

Multi-mode

Objectives Time window

√ √ √

Ynj

Akd

Space constraint Multi-skill resource





√ √ √ √ √ √ √

√ √ √

Min Cost

2

Ynj

Ynh

M (1

√ √ √





√ √

√ √ √ √ √ √

n

N,

j

√ √ √

√ √ √ √ √



nhj ),







V,



h

d 1

th·x jd

u=1

xhu

M (2 = 2,

Ynj

Ynh ),

n

N,

j

V,

minI =

k K

ck max

j V

d [1, T ]

Rkd

(4)

s.t. (1)–(3) J

Rkd =

j=1

d T

d· xjd N n= 1 K k=1

r jk· xjd ,

xjd = t j, T,

d

Ynj = 1,

d

Wk ,

j

V

T,

j

j

r jk ·xjd ·Akd =

k

K

(5) (6) (7)

V

(8)

V K k=1

r jk ,

j

V,

d

(9)

T

3 6

6 4

8

1

Pj , d (3)

,T

2

0

h

In summary, the mode of the RIPPS_TW can be formulated as follows:

3

4

(2)

Pj

In this paper, after project splitting, any job can’t start until all the predecessors are finished, and the sequence of the execution of the job can be expressed as:

ways for project splitting. In addition, if two jobs with precedence constraints are assigned to the different subprojects when project splitting, the precedence constraints are invalid. For example, in Fig. 4, a project is split into two subprojects, the precedence constrains between 3 and 6, 4 and 7, 1 and 5 are invalid. A new definition named effective precedence constraint is used to describe precedence constraints between jobs after project splitting. Effective precedence constraint: If two jobs with precedence constraints are assigned to the same subproject after project splitting, that is, this precedence constraint is still valid and then we cognizance there is an effective precedence constraint between these two jobs. We propose a binary variable nhj to be the effective precedence constraint, nhj = 1 means job h is an immediate predecessor of job j in the initial AON network and they are assigned to the same sub-project after project splitting, otherwise nhj = 0, and the above relationship can be expressed as:

2

Meta-heuristic √ √



√ √ √ √ √

Activity splitting

Heuristic

√ √ √



√ Activity splitting Activity splitting

Exact



√ √ √ √ √ √ √ √ √

Basic Basic Basic Tardiness with penalty

if job j is processed in timed otherwise if job j belongs to subprojectn otherwise if resource k is available in timed if resource k is unavailable in timed

{10 {10 {10

Min Time

Transfer times

Table 2 Summary of decision variables. xjd

Others

Solution approaches

8

0 1

7

7 5

5

Method B

Method A Fig. 3. Two kinds of project splitting. 571

Computers & Industrial Engineering 135 (2019) 568–581

Z. Lu, et al.

3

2

subproject 1

3 6

2

1

4 8 1

0

8

7

6

5 5

7

subproject 2

0

4

Fig. 4. Project network map before and after the project splitting.

t j· xjd x jd ,

t j·x j (d + 1) + ij ,

Ynj, Akd

T v=d +2

{0, 1},

xjv

i, j

t j,

V, i

j

V, j,

k

d

K,

4.1.1. Initial project splitting scheme This phase is initiated to get an initial project scheduling plan by the MIN EFT (Minimum Earliest Finish Time) priority rule under the serial schedule generation scheme. Then the following definition is used to assist in the project splitting.

(10)

T d

T,

n

N (11)

The meanings of various formulas of the model are as follows: the objective function in Eq. (4) is formulated to define minimizing the total availability cost of all the flexible resources during the given project’s horizon. Eq. (5) preserves that the amount of each resource used in the time windows. Eq. (6) preserves that each job must be executed during the standard duration. Constraint (7) forces that every job must be done in the given takt time. Eq. (8) assures that any job can only be assigned into a station. Eq. (9) ensures that the job can be scheduled only if all required resources are available. Constraint (10) ensures that the job cannot be interrupted once it starts. Eq. (11) reveals that x jd , Ynj , Akd and ij are binary variables.

Definition 1.. The time truncation length, LT , a standard reference used to split the job into different sub-projects.

LT =

t EFTJ + 1

(17)

N

N is the number of sub-projects known in advance, and each job is assigned into the sub-project according to the following steps. Step 1: if (n 1) LT t ESTj nLT and (n 1) LT t EFTj nLT , then Ynj = 1, job j belongs to the sub-project n . Step 2: if (n 1) LT t ESTj nLT and nLT < t EFTj (n + 1) LT , then Y(n + 1) j = 1, job j belongs to the sub-project n + 1, and update t ESTj = (n + 1) LT , t EFTj = t ESTj + t j , what’s more, also update t ESTi and t EFTi of the successor jobs of job j . Step 3: Repeat step 1 and 2 until all assignments are completed.

4. Solution approaches RIPPS_TW is an extension of RIP, as mentioned in the previous section, which not only need to implement the method of project splitting, but also need to make a multi-project scheduling plan to minimize resource investment. Therefore, a two-stage iterative loop algorithm is proposed in this paper to solve RIPPS_TW. In the first stage of the algorithm, we design a heuristic algorithm to get the project splitting plan preliminarily, and further get a better resolution result by job shift adjustment strategy. In the second stage of the algorithm, an improved genetic algorithm is presented to schedule jobs to get the minimum value of resource investment. When solving RIP in most literature, the job list and the resource capacity list are usually coded by the meta-heuristic algorithm, Shadrokh and Kianfar (2007), Van Peteghem and Vanhoucke (2013), and then schedule generation scheme with some priority rules is used as the decoding method. However, the result of the schedule generation scheme is poor, which leads to inaccurate combination of resource capacity and is not conducive to a better solution. In this section, we encode the job location directly and apply the branch-and-bound algorithm to local optimization of the results of genetic algorithm to further optimize the scheduling results on the basis of considering the impact of resource time windows.

4.1.2. The job shift adjustment algorithm As discussed in Section 4.1, the result of project splitting scheme will impact the job scheduling scheme, therefore, by adjusting the subordinate relationship between jobs and sub-projects, the job scheduling scheme can be affected. Moreover, the results of job scheduling can be feedback to guide the adjustment of project splitting. A job shift adjustment algorithm is proposed to guide the job adjustment and the core is to select the shift job according to the priority rule and to determine the adjustment subprojects. The priority rule is that the number of jobs in sub-project is more, the priority of this sub-project is higher. The priority value of the subproject is shown as (18).

mn =

Ynj

k K

r jk t j

(18)

The probability of taking sub-project n as the starting sub-project is: n

= n

is:

4.1. Approach of project splitting

n

In this section, two priority rule-based heuristic algorithms are proposed to get the initial project splitting scheme and job shift adjustment scheme. Initial project splitting scheme is to split a preliminary scheduling plan obtained by the serial scheduling generation scheme and get a preliminary split result. Job shift adjustment scheme determines the shift job and gets a new splitting result by continuously adjusting the shift job among the sub-projects, and further improves the scheduling of jobs.

mn minn N {mn} + (mn minn N {mn} + ) N

(19)

The probability of taking sub-project n as the terminal sub-project

=

maxn N {mn} mn + (maxn N {mn} mn + )

n N

(20)

is a parameter and > 0 , which is guaranteed the sub-project n has a certain probability to be selected when mn = minn N {mn} or mn = maxn N {mn} . Before each shift, we select the starting and the terminal point by roulette according to the probability, and the shift job is selected by several certain conditions from the starting sub-project. In this paper, we use effective precedence constraints instead of the precedence 572

Computers & Industrial Engineering 135 (2019) 568–581

Z. Lu, et al.

constraints to describe the pre and post relationship of job execution and define Pj is the set of effective immediate predecessors of job j , Sj is the set of effective immediate successors of job j .

Fn = {j Pj =

(21)

Within this property, we can summarize this type of shift jobs:

j

(22)

J &Ynj = 1}

Property 3:. If Pj = and Sj = but also shift backward.

, the shift job j can not only shift forward

Proof.. According to property 1 and 2, job j has no precedence constraints of effective immediate successors and effective immediate predecessors when Pj = and Sj = , so job j can shift forward or backward. If job j shift forward, Sj = and Pj = or Pj after shifting, if job j shift backward, Pj = and Sj = or Sj after shifting.

t ESTj=max {t 0j, max (t STi + tij )

3

t LSTj=min {T t j, n + 1, min (t STi i Pj

3

6

10

11

0

9 2 6

Fig. 5. Job j shifts forward. 573

10

subproject n

9

8

4 5

subproject n

5 2

7

1

11

0

(25)

subproject n-1

subproject n-1

8

t ji)

Case 1.. If swm t ESTj < fwm and t LSTj > fwm , that’s means the resources are unavailable within the [t ESTj, fwm ], so t ESTj = fwm , t LSTj = t LSTj .

7

4

(24)

i Pj

Within property 3, we can summarize this type of shift jobs:

1

, the job j can’t shift forward and shift

4.2.1. Chromosome structure There are two kinds of encoding methods of GA, namely binary mode and real mode. In previous studies, Shadrokh and Kianfar (2007), each individual of chromosome is constructed from two lists of resource investment problem, one is activity list and other is resource capacity list. Nevertheless, as the inaccurate combination of resource capacities, this encoding mode will lead to inaccuracy of the final solutions. In this research, based on the position of the jobs the real mode is selected to encode. In this regard, each individual, I = (S0, S1, , ST ) , which is a vector consisting T + 1 genes where T denotes the given deadline of the project. The position of each gene i = 0, 1, , T in one individual states the discrete time and the value of gene i denotes the set of scheduling jobs at time d at the precedence feasible schedule. Meanwhile, the interval of the job scheduling will be further reduced when there are time-windows of the needed resources, which reduces the flexibility of job scheduling and affects the results. The impact of resource timewindows on job scheduling is as follows cases. According to the CPM, the t ESTj and t LSTj can be obtained by (24) and (25), tij is the longest path of the two jobs.

Proof.. Job j has no effective immediate successors but has effective immediate predecessors in the current sub-project when Sj = and Pj , so job j must shift backward from sub-project n to sub-project n + 1 (Fig. 6), otherwise, it will violate the constraint (1). After shifting, Pj = , otherwise, that means there are already effective immediate predecessors in the successor sub-project, which also violate the constraint (1).

,

, Sj

In this paper, genetic algorithm based on the biological evolution idea for solving complex optimization problems. The genetic algorithm can not only expand the search space of the solution through the iteration mechanism, but also effectively control the computing time through the convergence mechanism (Shahsavar, Niaki, & Najafi, 2010). In this section, the chromosome structure, crossover, mutation, local search of the improved GA in this paper are shown as follows.

and Sj = , the shift job j can only shift backward Property 2:. If Pj from sub-project n to sub-project n + 1, and Pj = after shifting.

, Bn = {j Sj =

J &Ynj = 1}

4.2. The improved genetic algorithm

Within this property, we can summarize this type of shift jobs:

Fn =

j

In this section, after selecting the initial and terminal sub-project based on the job shift adjustment algorithm, this algorithm adjusts one shift job from the initial sub-project to the adjacent sub-project according the four properties, and then adjusts one shift job of the current sub-project to the adjacent sub-project until the terminal sub-project.

Proof.. When Pj = and Sj , job j has no effective immediate predecessors but has effective immediate successors in the current subproject n , so if job j shift backward to sub-project n + 1, the Sj will be executed ahead of time and this case is illogical and violating the constraint (1). After shifting, if Sj , that means there are already effective immediate successors in the previous sub-project, which also violate the constraint (1). So job j can only shift forward (Fig. 5).

J &Ynj = 1}, Bn =

,

Proof.. In this case, job j has effective immediate predecessors and effective immediate successors, so no matter this job shifts forward or backward, it will both violate the constraint (1). Within this context, we need not shift any job.

Property 1:. If Pj = and Sj , the shift job j can only shift forward from sub-project n to sub-project n 1, and Sj = after shifting.

j

J &Ynj = 1}, Bn = {j Sj =

Property 4:. If Pj backward.

According to the situation of Pj and Sj of the shift job, we can draw the following properties about the nature of shifting. Fn is the set of jobs which can be shifted forward to sub-project n 1 in sub-project n . Bn is the set of jobs which can be shifted back to sub-project n + 1 in subproject n .

,

j

(23)

Definition 2:. For any job j , if shift it from sub-project n to sub-project n + 1, called shift backward, else, shift it from sub-project n to subproject n 1, called shift forward, and the job j called shift job.

Fn = {j Pj =

,

Computers & Industrial Engineering 135 (2019) 568–581

Z. Lu, et al.

5

4

6

2

4

9 12

10

subproject n+1

11

8

13

0

subproject n+1

7

5

2

13

0

3

1

subproject n

3

subproject n

1

6 7

11 9

8

12

10

Fig. 6. Job j shifts backward.

R

R

tj

tj

tj

tj

tj

wm 0 t EST

wm

s wm

j

tj

f wm

t LST j

0 t EST

d

s wm

j

f wm

A

t LST j

d

B Fig. 7. Case 3 example.

Case 2.. If t ESTj < swm and swm t LSTj < fwm , in this condition, the resources are not available in the [s wm, t LSTj] and lead to the t LSTj to swm t j . Then t ESTj = t ESTj , t LSTj = s wm t j . Case 3.. If t ESTj < swm and t LSTj > fwm , the scheduling interval of job j is splitting into two parts due to the resources are unavailable in [s wm, fwm ]. So if t ESTj + t j s wm , then t ESTj = t ESTj , t LSTj = s wm t j or t ESTj = fwm , t LSTj = t LSTj (Fig 7A). If t ESTj + t j > s wm , then t ESTj = fwm , t LSTj = t LSTj (Fig 7B). Therefore, the encoding strategy is determined based on the above three cases and the effective precedence constraints. There is an example for encoding as shown in Fig. 8.

1

2

3

Encoding

1

2

3/4

5

4

5 6

6

P2

4

2 3

3/4

6 2

2

5

7

6

5

7

6

5

7

Fig. 9. Crossover operation.

significant resource usage, and find a better scheduling scheme by adjusting the value probability of each job starting time in the solution space in the iteration process. Psj is the probability that sj , sj [t ESTj, t LSTj] is chosen for the job j starting time (Eq. (27)). R sj is the amount of resources that need to be increased with this starting time. The initial value of Psj is obtained after the initial population generation and set to 1. RI is the resource usage of an individual I and Rm is the current minimum resource usage. Then the value of R sj is updated every time according to the contemporary completion information in each generation population (Eq. (26)).

R sj = R sj + max (0, RI

4.2.3. Mutation In mutation operation strategy, the starting time of jobs are mutated by a number generated randomly from the interval [t ESTj, t LSTj], and the corresponding position of the selected job in the chromosome also changes. For each change, the starting time of the successors updated by (24), (25) and three cases of 4.2.1. In this paper, we further reduce the search space, eliminate the job starting time values that generate

0

3/4

Children 1

4.2.2. Crossover In this section, one-point crossover operator is selected to create a child, in order to ensure the feasibility of coding after crossover operation, the process of crossover is designed as follows. Two parents P1 and P2 are divided into two sections after their r th gene drawn on the interval [0, T ] randomly. One section of P1 is directly copied to the child’s chromosome and another section is filled with the scheduling properties of P2 . Meanwhile, t ESTj and t LSTj of the unfilled up genes are updated subject to the selected section of P1 and the effective precedence constraints. In other words, if t ASTP2 < t ESTj , then t ASTi of gene i is equal to t ESTj ; if t ESTj < t ASTP2 < t LSTj , then t ASTi = t ASTP 2 ; and if t ASTP2 > t LSTj , t ASTi = t LSTj . Fig. 9 illustrates the crossover operation.

t

P1

Psj =

1 R sj

t LSTj t ESTj

1 R sj

Rm)

(26) (27)

This means the value of R sj will only increase when creating an infeasible schedule, and Psj will decrease. In using this formula, the decision-making interval of job start time can be reduced continuously. 4.2.4. Local search based on branch-and-bound On the basis of the job scheduling scheme obtained by genetic algorithm, this paper proposes a local optimization operation based on branch-and-bound algorithm to further optimize the scheduling results. The job combinations and scheduling schemes with a lower resource level is obtained through a local search at the maximum resource usage

7 7

Fig. 8. Example of encoding. 574

Computers & Industrial Engineering 135 (2019) 568–581

Z. Lu, et al.

points of the scheduling results to further reduce resource investment. In this section, we present the branching scheme and the pruning rules of the branch-and-bound procedure. A. Branching scheme We describe the state of node g through Cg , Eg and Rg . Cg means the set of job combinations that can be performed at node g , Eg is a subset selected randomly from set Cg , and Rg is the current resource usage. The steps to create new nodes of the enumeration tree and select nodes for further branching are shown below. Step 1. Update g = 1, Rg and Cg . Step 2. Select Eg from Cg randomly and update Cg = Cg Eg . Step 3. If the jobs of set Eg are all scheduled and the resource usage Rg < Rg , update this scheduling scheme and Rg = Rg , backtracking the enumeration tree and select the node x that meets Cx in the upper layer to start the branching, else, update g = g + 1 and continue to branch this node g . Step 4. If all nodes satisfy Cg = , the search ends and update the scheduling scheme and the resource usage. B. Pruning rules In this subsection, we propose three rules for pruning the redundant or infeasible branches to improves the search significantly and they will be shown as follows. The auxiliary definition: the current scheduling time and the node is d and g , Dg is the set of jobs that must be scheduled at node g as t LSTj = d , j Dg , and the usage of j Dg in time d to resource k is R Ekg . Sg is the set of scheduled jobs and t FTj > d , j Sg , and R Skg is the amount of resource k . Ig is the current global objective function value. Pruning Rule 1. If there is a decision Eg Cg and Eg Dg Dg , the current enumeration node of Eg is no longer branched.

Table 3 The levels of the input variables. Parameters

Population size (A) Crossover probability (B) Mutation probability (C) Iteration (D)

c R Ekg k K k

+

RSkg

Low

Middle

High

30 0.7 0.1 100

60 0.8 0.2 150

90 0.9 0.3 200

5.1. Parameters tuning The proper calibration of parameters in the improved genetic algorithm proposed in this paper has a significant effect on the algorithm performance. A suitable selection of the parameters of the improved genetic algorithm can accelerate the convergence of the algorithm and the quality of the solution. In this section, response surface methodology (RSM) via Expert Design 10 is applied to tune the improved GA parameters. As indicated previously, population size (A), crossover probability (B), mutation probability (C) and iteration (D) are considered as input variables (Javanmard, Afshar-Nadjafi, & Niaki, 2017). Table 3 presents the levels of the input variables of the RSM. In order to generalize the statistical results, 10 instances are randomly selected in each scale of cases as the test examples, so the RSM is tested using 10 × 6 = 60 instances. In the RSM application, the value of the values of the input variables are coded as “−1 ”, “0”, and “1” for their low, medium and high levels, respectively. To remove the influences resulting from the differences between the test problems, average of the relative deviation percentages (RDP) from the best solution obtained by CPLEX, AIS and the improved GA as the response (Y), and the lower the value of Y, the better the performance of the improved GA is. RDP is obtained by Eq. (28), where I is the objective function value obtained from the improved GA for each instance and I is the best objective function value of the three algorithms.

Proof.. If Eg Dg Dg , the t LSTj of some jobs j Eg are larger than the d , which presents these jobs will be postponed during scheduling, therefore, a feasible solution can’t be obtained at the given time limit, then there is no need to branch these nodes. Pruning Rule 2. If a decision Eg

Level

Cg and the resource investment

Ig , the enumeration node of Eg is excluded from

RDP = 100 ×

further branch.

I

I I

(28)

A central composite face-centered design (CCF) with sixteen factorial points, four center points (0, 0, 0, 0), and eight axial points (± 1, 0, 0, 0), (0, ± 1, 0, 0), (0, 0, ± 1, 0), (0, 0, 0, ± 1) is chosen for the experiment, and Table 4 presents the input variable levels and their corresponding responses. According to these experiments, the optimal levels of population size, crossover probability, mutation probability and iteration are 90, 0.7, 0.3 and100, respectively.

Proof.. The objective function of this model is getting the minimum resource investment and the current objective is Ig , if the resource investment is larger than Ig , then these nodes do not need to continue enumerating. Pruning Rule 3. If there are any two subsets Eg1 Cg , Eg 2 Cg , and c Rk Ig , then ignore the node of Eg1 Eg1 Eg 2 , k K ck R Ekg2 k K k Eg1 and do not branch.

5.2. Comparative results and analysis

Proof.. As Eg1 Eg 2 Cg , and the objective of Eg2 with more jobs is better than Eg1 with less jobs, so Eg2 can save more resources and time to reduce local objective function by prospective comparison.

In order to further verify the effectiveness of this algorithm (HGA) in this paper, we carry out the PSPLIB instances with small-scale J = 10, 14, 18 and large-scale J = 30, 60, 90 jobs and the network complexity NC = 1.5, 1.8, 2.1 to compare with the CPLEX. What’s more, we reform the instance: K = 4 , N = 2 for small-scale, N = 3, 4, 5 for large-scale and the resource time-window period is randomly generated during the duration of the project, the deadline is defined as T = 1.2 Tcpm N , and the number of iterations is 500 times. The algorithm is tested using 3 × 10 × 10 + 3 × 3 × 10 × 10 = 1200 instances. The results for small scale instances with 10, 14, 18 jobs are given in Table 5. Column “CPLEX” and “HGA” shows the average optimal solution of CPLEX and the algorithm of this paper, column “tC ” and “tH ” describe the average CPU time (s) of the corresponding algorithm. Also note that when the optimal solution of an instance is not obtained by CPLEX in 7200s, lower bound is chose as the result with marking ‘*’ and

5. Experimental studies In this section, we calibrate the parameters of the algorithm and evaluate the performance of the proposed algorithm in solving RIPPS_TW and the corresponding RIP by the well-known PSPLIB dataset in most of the current works (Ranjbar, Kianfar, & Shadrokh, 2008; Ranjbar & Kianfar, 2010; Van Peteghem & Vanhoucke, 2013; Vanhoucke & Coelho, 2018; Zamani, 2019). All the algorithms are coded in C# (Visual Studio 2013) and all computational experiments are performed on a computer with Intel Core i5 7th CPU, 2.40 GHz, 4GRAM, and the exact results provided by the ILOG CPLEX 12.5.

575

Computers & Industrial Engineering 135 (2019) 568–581

Z. Lu, et al.

bounds and only contrast the solution of HGA and the optimal solution of CPLEX, we can calculate the new gaps percentage 2.7 + 3.1 + 2.7 + 3.0 × 100% = 2.9%, areGAP'N = 3 = 4

Table 4 The results of the CCF design. Runs

Input variables

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28

Response

A

B

C

D

Y

1 1 0 −1 0 1 0 0 1 −1 1 −1 −1 1 −1 0 1 −1 −1 0 −1 1 0 1 0 0 −1 0

−1 −1 0 −1 0 1 0 1 1 −1 1 −1 0 0 1 0 −1 1 1 0 1 1 −1 −1 0 0 −1 0

−1 1 0 1 0 1 0 0 −1 −1 −1 1 0 0 1 −1 −1 −1 −1 0 1 1 0 1 0 1 −1 0

−1 −1 1 1 −1 1 0 0 1 1 −1 −1 0 0 1 0 1 1 −1 0 −1 −1 0 1 0 0 −1 0

3.02 2.94 3.24 3.03 3.02 2.58 3.15 3.22 2.99 4.04 3.09 2.94 4.26 2.88 3.37 3.21 3.02 3.57 3.77 2.97 3.93 2.64 3.09 2.93 3.00 2.77 3.29 2.98

GAP'N = 4 =

3.3 + 3.0 + 2.6 + 3.2 4

× 100% = 3.0% and GAP'N = 5 =

2.2 + 3.2 + 2.9 + 3.5 4

× 100% =

3.0% , the gaps achieved by HGA are roughly only 3.0% larger than CPLEX. What’s more, the CPU time of HGA is 1/10 to 1/6 of the CPU time of CPLEX in these instances. Tables 7 and 8 reveal that the results and the CPU time of the 60 jobs and 90 jobs where both algorithms find the optimum or lower bounds before the given time. For 60 jobs, HGA can get the results on average about 270 s, which is much faster than CPLEX. Although the results of HGA are about 13.0% lower than the lower bound, it is better than the feasible solution of CPLEX. In Table 8, the CPU time of HGA to get the solutions is roughly 530 s, also faster than CPLEX. The gap between the results of these two algorithms is about 12.7%. From the N = 3 column of Tables 6–8, we can get a conclusion that the algorithm still can get a good solution with the scale of the instance changes. The statistical computation results and computation time for CPLEX and HGA as shown in Tables 9 and 10. NU means the number of instances; Avg. I represents the mean solutions of the NU instances solved by algorithm “*”, Avg. t represents the average CPU time of the NU instances solved by algorithm “*”; Stdev. * is the standard deviation of “*”; NAC indicates the number of instances in which CPLEX is able to find a solution in 7200 s, and NAH is the number of instances in which the HGA finds a solution. For the small-scale problems, the CPLEX can solve almost all the instances and the Avg. GAP is almost zero, so there is no significant difference between the mean solutions of these two methods. However, the CPU time of CPLEX increases rapidly with the increase of the scale of instances, and the amount of CPU time for CPLEX is more than of these obtained by HGA. In addition, for the instances with medium-scale and large-scale jobs, while CPLEX is almost unable to find a solution in 7200 s, HGA can find a solution in short amount of CPU time. However, for some instances in which CPLEX can find a solution (the instances of NO. 1–4 in Table 6), the results show that there is no significant difference between the solutions obtained by CPLEX and HGA. Moreover, the CPU time for HGA is much less than those obtained by CPLEX. In order to make it more convenient to observe and summarize the results, we show all the CPU time of experiments in the form of Fig. 10. A logarithmic scale is used in the vertical axis to expression time as the CPU time vary from 0.1 s to 7200 s. For these 1200 instances, HGA can get the optimal solutions of all instances, but CPLEX can only get the optimal solutions of 420 instances in the maximum time limit of 7200 s. In small-scale experiments, the CPU time of HGA is in a stable state, while the CPU time of CPLEX varies greatly with the complexity and scale of the problem changing. In the 18 jobs instances, the solution time of CPLEX for most instances is larger than that of HGA. In largescale cases, the time of the HGA algorithm is steadily increasing, and the fluctuation is not large. The solution time of CPLEX is much larger

tC is set to “—”. GAP means the relative percentage deviation between the average target function value of these two algorithm, HGA CPLEX GAP = × 100%. Moreover, AVG represents the average of HGA each column. Regarding the results of J = 10, 14 given in Table 5, the algorithm proposed in this paper can get the optimal solution basically and the gap is only 0.1. Though the average CPU time of HGA is larger than CPLEX of J = 10 , it is kept in a stable range. The columns of J = 14 show that the average CPU time of CPLEX is longer than HGA’s and the CPU time fluctuates greatly with the change of NC . On the contrary, the CPU time of HGA is relatively stable, fluctuating up and down in 25 s. J = 18 of Table 5 depicts that the CPLEX cannot get the optimal results for some instances, if we remove the results of the lower bounds and only contrast the others, so the new average gap percentage is 0.7 + 0.0 + 0.5 + 0.0 + 0.0 + 1.0 + 0.0 × 100% = 0.3%, meanwhile, the CPU time of 7 CPLEX are all almost longer than that of HGA. Table 6 indicates the results of 30 jobs, the optimal solution of some instances cannot be solved by CPLEX in the limited CPU time which is 7200 s with the NC changing. After we remove the results of the lower Table 5 Results of small-scale instances with N = 2 . NO

J = 10

J = 14

J = 18

CPLEX

tC

HGA

tH

GAP

CPLEX

tC

HGA

tH

GAP

CPLEX

tC

HGA

tH

GAP

1 2 3 4 5 6 7 8 9 10

37.5 37.3 35.7 53.2 57.7 57.7 53.5 37.6 38.6 41.8

0.3 0.5 1.1 0.9 2.8 1.1 1.5 0.2 0.3 0.3

37.5 37.3 35.7 53.4 57.7 57.8 53.7 37.6 38.6 41.8

16.2 17.1 18.6 17.0 18.1 17.3 19.2 14.9 14.6 13.9

0.0 0.0 0.0 0.4 0.0 0.0 0.4 0.0 0.0 0.0

40.4 40.0 39.1 50.9 47.9 53.4 53.1 39.4 40.4 39.1

5.7 3.5 4.2 91.1 40.9 115.0 53.3 5.7 3.0 2.8

40.5 40.0 39.1 50.9 48.1 53.4 53.1 39.6 40.4 39.1

25.3 24.9 22.6 24.7 21.7 21.6 23.6 21.3 23.9 21.6

0.2 0.0 0.0 0.0 0.4 0.0 0.0 0.5 0.0 0.0

40.8 41.0 41.5 40.9 53.7 39.6 41.1 53.0* 47.2* 48.6*

50.5 25.1 54.9 68.7 948.4 229.3 92.3 — — —

41.1 41.0 41.7 40.9 53.7 40.0 41.1 56.5 53.6 50.6

26.3 31.9 26.4 27.9 31.0 27.6 27.3 30.0 29.2 28.3

0.7 0.0 0.5 0.0 0.0 1.0 0.0 6.2* 11.9* 4.0*

AVG.

45.1

0.9

45.1

16.7

0.1

44.4

32.5

44.4

23.1

0.1

\

\

46.0

28.6

\

576

Computers & Industrial Engineering 135 (2019) 568–581

Z. Lu, et al.

Table 6 Results of 30 Jobs. NO

N=4

N=3

N=5

CPLEX

tC

HGA

tH

GAP

CPLEX

tC

HGA

tH

GAP

CPLEX

tC

HGA

tH

GAP

1 2 3 4 5 6 7 8 9 10

35.7 34.9 36.3 35.4 50.6* 57.1* 49.1* 61.9* 69.3* 36.7*

605.7 657.9 706.5 787.2 — — — — — —

36.7 36.0 37.3 36.5 58.2 63.1 57.9 69.5 78.7 41.7

72.6 74.4 71.3 77.7 76.2 78.2 89.5 80.1 80.0 89.7

2.7 3.1 2.7 3.0 \ \ \ \ \ \

35.7 35.5 36.8 35.9 48.9* 54.1* 46.9* 59.7* 65.1* 34.9*

312.6 770.8 665.3 598.3 — — — — — —

36.9 36.6 37.8 37.1 58.1 59.5 53.9 68.6 75.4 40.9

52.9 52.0 58.6 53.7 53.7 53.9 58.1 56.5 57.8 60.3

3.3 3.0 2.6 3.2 \ \ \ \ \ \

35.9 35.9 36.4 36.2 52.9* 58.6* 46.1* 60.1* 63.8* 37.5*

228.5 236.6 345.2 396.3 — — — — — —

36.7 37.1 37.5 37.5 59.0 63.2 53.9 68.7 74.4 41.9

47.6 49.8 56.8 53.2 53.6 53.9 56.9 56.5 56.8 61.2

2.2 3.2 2.9 3.5 \ \ \ \ \ \

AVG.

\

\

51.6

79.0

\

\

\

50.5

55.8

\

\

\

51.0

54.6

\

Table 7 Results of 60 Jobs. NO

N=4

N=3

N=5

CPLEX

tC

HGA

tH

GAP

CPLEX

tC

HGA

tH

GAP

CPLEX

tC

HGA

tH

GAP

1 2 3 4 5 6 7 8 9 10

36.5* 34.0* 69.4* 70.9* 73.3* 29.1* 35.7* 89.4* 89.1* 50.1*

— — — — — — — — — —

39.0 39.7 82.0 83.9 87.3 38.5 40.4 96.9 102.1 58.3

261.3 247.5 260.1 285.3 260.9 278.7 283.6 297.8 293.4 319.4

\ \ \ \ \ \ \ \ \ \

35.1* 32.5* 73.8* 72.6* 72.8* 30.9* 36.4* 92.1* 90.6* 51.3*

— — — — — — — — — —

38.9 39.5 84.3 84.8 87.1 38.7 40.5 98.1 102.6 58.6

261.1 247.2 258.8 286.2 272.6 278.1 273.1 297.1 293.9 318.7

\ \ \ \ \ \ \ \ \ \

35.6* 33.1* 70.2* 71.9* 69.8* 29.6* 34.9* 91.3* 88.7* 48.9*

— — — — — — — — — —

38.9 39.5 82.5 84.3 85.7 38.5 39.3 97.1 101.1 57.8

264.6 250.0 265.3 283.1 263.3 281.6 269.7 288.7 285.1 319.8

\ \ \ \ \ \ \ \ \ \

AVG.

\

\

66.8

278.8

\

\

\

67.3

278.7

\

\

\

66.5

277.1

\

Table 8 Results of 90 Jobs. NO

N=4

N=3

N=5

CPLEX

tC

HGA

tH

GAP

CPLEX

tC

HGA

tH

GAP

CPLEX

tC

HGA

tH

GAP

1 2 3 4 5 6 7 8 9 10

40.3* 39.9* 100.4* 86.7* 102.2* 30.9* 33.2* 118.3* 120.4* 64.2*

— — — — — — — — — —

48.3 48.4 112 101.7 111.2 45.1 47.4 125.1 125.2 78.2

463.8 481.6 516.2 520.5 524.4 551.2 492.6 500.4 589 608.7

\ \ \ \ \ \ \

— — — — — — — — — —

48.1 48.4 112.2 101.4 112.2 45.7 47.3 123.9 126.2 77.7

471.2 494.7 542.2 539.7 514 530.7 519.8 571.2 602.6 591.1

\ \ \ \ \ \ \ \ \ \

40.8* 38.7* 100.5* 87.7* 102.8* 31.0* 33.2* 115.7* 121.3* 63.7*

— — — — — — — — — —

48.3 47.8 112.2 102.3 111.9 45.2 47.4 122.4 126.1 77.6

458.2 571 494.5 586.9 522.5 496 453.8 543.4 559.4 609.6

\ \

\ \

40.1* 40.1* 101.5* 85.5* 103.1* 31.3* 32.4* 116.2* 121.4* 63.8*

\ \ \ \ \ \ \

AVG.

\

\

84.3

524.8

\

\

\

84.3

537.7

\

\

\

84.1

529.5

\

Table 9 The statistical computation results for CPLEX and HGA. Size

NU

Avg.IC

Avg.IH

Avg.

10 14 18 30 60 90

100 100 100 100 100 100

45.1 44.4 — — — —

45.1 44.4 46.0 51.6 66.8 84.3

0.1% 0.1% — — — —

Max

GAP

GAP

4.0% 5.0% — — — —

than that of HGA algorithm. In summary, the algorithm is effective in solving the problem of this paper not only under the scale of instance changes with an invariable N but also with the scale is constant in a changed N .

Min

GAP

0.0% 0.0% 0.0% 0.0% — —

Stdev. GAP

NAC

NAH

0.52 0.62 1.02 — — —

100 100 91 41 0 0

100 100 100 100 100 100

Through the recent references, there are no relevant literatures on project splitting at present. Therefore, in order to further verify the effectiveness of the improved GA (Section 4.2) and the local search based on branch-and-bound method in scheduling jobs, the algorithms 577

Computers & Industrial Engineering 135 (2019) 568–581

Z. Lu, et al.

Table 10 The statistical computation time for CPLEX and HGA. Size

NU

Avg.tC

Avg.tH

MaxtC

MintC

MaxtH

MintH

Stdev.tC

Stdev.tH

10 14 18 30 60 90

100 100 100 100 100 100

0.9 32.5 1078.5 3879.4 7200 7200

16.7 23.1 28.6 79.0 278.8 524.8

19.0 559.8 7200 7200 7200 7200

0.1 0.1 2.1 33.0 7200 7200

29.7 39.5 60.3 125.9 394.6 786.3

9.5 11.8 15.0 58.4 183.8 417.4

2.2 75.3 2157.7 3418.1 0 0

4.4 5.6 7.2 12.2 36.3 73.8

5.0

14 Jobs

10 Jobs

4.0

18 Jobs

30 Jobs

60 Jobs

90 Jobs

3.0 2.0 1.0 0.0 -1.0 -2.0

CPLEX

HGA

Fig. 10. Logarithmic scale of the CPU time of 10, 14, 18, 30, 60, 90 jobs. Table 11 Results of 10 Jobs. NO

Table 13 Results of 18 Jobs.

CPLEX

BB

GAP1

Value

tC

Value

tB

1 2 3 4 5 6 7 8 9 10

42.7 46.5 40.7 60.8 69.1 67.5 60.8 44.0 45.2 48.4

0.10 0.12 0.17 0.08 0.10 0.10 0.12 0.13 0.08 0.12

42.7 46.5 40.7 60.8 69.1 67.5 60.8 44.0 45.2 48.4

0.07 0.18 0.40 0.09 0.07 0.05 0.18 0.07 0.17 0.17

AVG

52.6

0.11

52.6

0.14

GA

NO

GAP2

Value

tG

0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

42.9 46.9 41.6 60.8 69.2 67.5 60.8 44.1 45.3 48.5

0.60 0.53 0.61 0.53 0.50 0.55 0.55 0.51 0.49 0.51

0.5 0.9 2.2 0.0 0.1 0.0 0.0 0.2 0.2 0.2

0.0

52.8

0.54

0.4

CPLEX

BB

GAP1

Value

tC

Value

tB

1 2 3 4 5 6 7 8 9 10

47.5 48.8 44.4 56.2 55.2 61.6 62.0 48.1 50.0 47.3

0.88 0.30 0.47 0.56 0.36 0.52 0.37 0.45 0.19 0.26

47.5 48.8 44.6 56.2 55.3 61.6 62.0 48.1 50.0 47.3

74.82 5.65 37.32 7.44 5.52 22.72 1.67 14.59 2.20 1.79

AVG

52.1

0.43

52.1

17.37

GA

GAP2

Value

tG

0.0 0.0 0.4 0.0 0.2 0.0 0.0 0.0 0.0 0.0

48.5 49.3 45.0 57.1 56.0 62.2 62.6 48.9 50.7 47.8

0.73 0.66 0.73 0.67 0.71 0.65 0.62 0.60 0.70 0.58

2.1 1.0 1.3 1.6 1.4 1.0 1.0 1.6 1.4 1.0

0.1

52.8

0.67

1.3

BB

GAP1

Value

tC

Value

tB

1 2 3 4 5 6 7 8 9 10

51.0 51.0 61.2 65.8 60.9 57.3 50.8 46.4 47.7 49.2

1.10 1.23 1.34 1.76 8.62 1.92 0.54 2.13 1.45 1.23

51.0 51.0 61.2 65.8 60.9 57.3 50.8 46.4 47.7 49.3

105.41 749.93 514.76 91.51 652.48 261.44 201.16 1367.36 2011.38 320.86

AVG

54.1

2.13

54.1

627.63

GA

GAP2

Value

tG

0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.2

52.7 52.1 63.0 67.4 61.7 59.0 51.7 47.9 49.1 50.4

0.73 0.82 0.77 0.68 0.85 0.94 0.77 0.78 0.68 0.85

3.2 2.1 2.9 2.4 1.3 2.9 1.7 3.1 2.9 2.4

0.0

55.5

0.79

2.5

during the duration of the project. For small-scale examples, the improved GA (GA) and the branch-and-bound method (BB) proposed in this paper verify the effectiveness of the algorithm and pruning rules by comparing the CPLEX, there are ten sets of cases in each scale experiment, and each case is calculated by the average of ten instances. So 2 × 3 × 10 × 10 = 600 experiments are carried out in small-scale part. For the large-scale instances, the CPLEX can’t solve exact solutions and we apply the artificial immune system algorithm proposed by Van Peteghem and Vanhoucke (2013) (AIS) as the contrast algorithm. In this part, there are 2 × 3 × 10 × 10 = 600 experiments to verify the effective of the improved GA in this paper. The corresponding experiments results are presented and discussed as follows. With regard to Tables 11–13, it can be seen that the average BB CPLEX GAP1 = × 100% are 0.0%, 0.1%, 0.0% for instances with 10, BB 14 and 18 jobs, respectively. The BB algorithm can almost get the opGA CPLEX × 100% are timal objective functions. The average GAP2 = GA 0.4%, 1.3%, 2.5%, respectively. This shows that the GA can get good objective functions for small-scale instances. Fig. 11 summarizes all the objective functions of instances solved by these three algorithm. The diagonal dotted line represents equal results for both algorithms, points above the diagonal dotted line indicates the objective functions of GA are poorer than CPLEX in the left figure. The results of 256 instances are equivalent for GA and CPLEX. In the right figure of Fig. 11, the diagonal

Table 12 Results of 14 Jobs. NO

CPLEX

are compared by solving various scale examples. We select instances of the PSPLIB with 10, 14, 18 jobs in small-scale examples and 30, 60, 90 jobs in large-scale examples and reform them according to the way proposed by Buddhakulsomsiri and Kim (2007). The network complexity NC = 1.5, 1.8, 2.1 and deadline factor of project is T = 1.2 Tcpm , the resource time-window period is randomly generated 578

Computers & Industrial Engineering 135 (2019) 568–581

Z. Lu, et al.

100

100

90

90

80

80

BB

110

GA

110

70

70

60

60

50

50

40

40

30

30

50

70

90

30

110

CPLEX

30

50

70

CPLEX

90

110

Fig. 11. Comparison of all the objective functions of different algorithms.

5.0

10 Jobs

4.0

14 Jobs

18 Jobs

3.0 2.0 1.0 0.0 -1.0 -2.0

-3.0

CPLEX

GA

BB

Fig. 12. Logarithmic scale of the CPU time of 10, 14, 18 jobs.

Table 14 Results of 30 & 60 & 90 Jobs. NO

J = 30

J = 60

J = 90

GA

tGA

AIS

tAIS

GAP

GA

tGA

AIS

tAIS

GAP

GA

tGA

AIS

tAIS

GAP

1 2 3 4 5 6 7 8 9 10

41.1 40.5 81.6 90.5 79.0 40.7 39.8 99.4 100.0 54.1

2.95 17.71 1.65 1.58 7.43 2.80 2.67 1.72 1.68 2.23

41.1 40.6 82.3 90.7 81.6 41.2 41 101.4 101.4 55.4

4.76 4.95 5.17 5.20 5.26 4.90 4.94 5.21 5.15 5.10

0.0 0.2 0.9 0.2 3.2 1.2 2.9 2.0 1.4 2.3

46.0 48.2 106.9 108.1 114.4 44.7 45.8 130.0 129.0 74.3

6.40 5.54 5.57 5.89 6.03 16.02 15.73 5.94 6.42 4.75

48.7 51.1 112.6 108.9 117.7 44.9 46.9 131.3 130 77.2

10.08 10.19 10.60 10.78 10.78 10.21 10.08 10.61 10.75 10.48

5.5 5.7 5.1 0.7 2.8 0.4 2.3 1.0 0.8 3.8

59.6 57.6 134.5 127.6 129.6 55.8 54.4 148.3 144.8 100.1

7.56 9.88 9.71 10.71 10.40 11.40 10.93 10.97 11.41 11.26

61.5 59.7 141.9 133.6 137.1 58.9 57.7 151.8 150.7 104.5

18.09 18.91 18.77 19.96 19.05 18.80 18.51 19.46 19.49 19.93

3.1 3.5 5.2 4.5 5.5 5.3 5.7 2.3 3.9 4.2

AVG

66.7

4.24

67.7

5.06

1.4

84.7

7.83

86.9

10.46

2.8

101.2

10.42

105.7

19.10

4.3

Table 15 The statistical computation results for BB and GA. Size

NU

MaxGB

MinGB

Avg.GB

MaxGG

MinGG

Avg.GB

Stdev.GB

Stdev.GG

NAB

NAG

10 14 18

100 100 100

0% 4.3% 2.2%

0% 0% 0%

0.0% 0.1% 0.0%

10.0% 8.7% 17.2%

0% 0% 0%

0.4% 1.3% 2.5%

0.0 0.5 0.2

1.7 2.0 3.4

100 100 100

100 100 100

579

Computers & Industrial Engineering 135 (2019) 568–581

Z. Lu, et al.

Table 16 The statistical computation time for BB and GA. Size

NU

Avg.tB

Avg.tG

MaxtB

MintB

MaxtG

MintG

Stdev.tB

Stdev.tG

10 14 18

100 100 100

0.1 17.4 627.6

0.5 0.7 0.8

2.3 682.4 10655.1

0.1 0.1 0.2

0.9 1.2 1.4

0.3 0.4 0.4

0.3 73.8 1647.6

0.1 0.1 0.2

represents the relative-deviation-percentages for BB and CPLEX, GG represents the relative-deviation-percentages for GA and CPLEX; NAB indicates the number of instances in which BB is able to find a solution, and NAG is the number of instances in which the HGA finds a solution. The results of Tables 15 and 16 show that for small-scale instances, while BB and GA can find the solutions of all the instances, the solutions obtained by BB is better than those of GA. However, the amount of CPU time for the GA is less than of those obtained by BB. In the final, the BB technique are proposed to enhance the GA’s exploitation performance and there is no significant statistical difference between the mean solutions obtained by CPLEX and the one obtained by GA. Table 14 shows the results of medium-scale and large-scale with 30, 60 and 90 jobs. The results of GA is better than the results of HGA, and AIS GA the percentage relative deviation, GAP = GA × 100% are 1.4%, 2.8%, 4.3%, respectively. This shows that the GA is better than HGA in solving quality. The visual summary of Figs. 13 and 14 shows the comparison of experimental results of two algorithms and the CPU time of solving. The diagonal dotted line in Fig. 13 indicates equal objective functions for these two algorithm. There are 246 points below the diagonal dotted line which represent the GA is better than AIS and the other 54 points above the diagonal dotted line which represent AIS is better than GA. Fig. 14 depicts that the logarithmic scale of the CPU time of the two algorithms. The AIS is faster than GA in few instances while GA is faster than AIS in most instances. The total CPU time if these 300 instances is 3461.6 s for AIS and 2249.0 s for GA, which is improved of 35.0%. In summary, this shows that the proposed rules can effectively improve the efficiency of the algorithm and this algorithm has advantages in resource saving and CPU time. For the medium-scale and large-scale problems, one-way ANOVA tests at an overall 95% confidence level are conducted for the results, sum of squares and mean of squares are utilized to depict the influence from the controllable factor (the algorithm section). The statistical results of the relative-deviation-percentages with optimal solution are presented in Table 17. The means of the objective value obtained by these two algorithm when they solve instances are not equal and GA performs better than AIS according to Table 14. In addition, the p value (2.7×10−3, 5.9×10−6, 2.8×10−10) is pretty close to zero, which could be concluded that the difference in relative-deviation-percentages of these two algorithms is statistically significant, indicating the superiority of the proposed algorithm.

180 160

GA

140 120 100 80 60 40 20

20

40

60

80

100

120

AIS

140

160

180

Fig. 13. Comparison of experimental results of AIS and GA. 2.5

30 Jobs

60 Jobs

90 Jobs

2.0 1.5 1.0

0.5 0.0 -0.5 AIS

GA

Fig. 14. Logarithmic scale of the CPU time of 30, 60, 90 jobs. Table 17 One-way ANOVA for different scale of jobs. Size

Source

Degree of freedom

Sum of squares

Mean of squares

F distribution

p value

30

Algorithm Error Total

1 198 199

131.7 2813.9 2945.6

131.65 14.21

9.26

2.7× 10−3

60

Algorithm Error Total

1 198 199

436.5 3984.4 4420.8

436.45 20.12

21.69

5.9× 10−6

90

Algorithm Error Total

1 198 199

1198 5367 6565

1197.89 27.11

44.19

2.8× 10−10

6. Conclusions In this paper, we study a practically problem based on aircraft assembly line, RIPPS_TW, an integrate complex resource investment problem with the time window of resources. Moreover, we also propose a new concept named project splitting to study the division of job stations in the assembly line. After describing the problem in detail, we present a mathematical model formally and a two-stage iterative loop algorithm. Our algorithm shows that a priority rule-based heuristic algorithm used to get the project splitting plan in the first stage and an improved genetic algorithm with local optimization based on branchand-bound applied to schedule jobs with resource time window. Finally, in the results of computational experiment and statistical results we showed that the algorithm can get high quality solutions with an acceptable computational time when compared to other algorithms. The new problem proposed in this paper has been scarcely treated in

dotted line also means equal results for BB and CPLEX, and only 6 instances have poorer objective functions for BB. In Fig. 12 the solution time of three different algorithms for small-scale instances are shown, and as the CPU time scale can vary from 0.02 s to 10655 s, a logarithmic scale is used in the vertical axis. The GA is faster than CPLEX in some instances in 14 and 18 jobs. The total CPU time of these 300 small-scale instances is 267.9 s for CPLEX and 199.3 s for GA, an overall improvement of 25.6%. The statistical computation results and computation time for the small-scale problems of BB and GA as shown in Tables 15 and 16. GB 580

Computers & Industrial Engineering 135 (2019) 568–581

Z. Lu, et al.

the literature, therefore, this paper represent a new research direction of project splitting. As future research, it is worth considering the uncertainty of the problem which is affecting the project splitting greatly.

constrained (multi-) project scheduling problem with sequence-dependent transfer times. European Journal of Operational Research, 197(2), 492–508. Liu, C. C., Xiang, X., Zhang, C. R., Wang, Q., & Zheng, L. (2018). A column generation based distributed scheduling algorithm for multi-mode resource constrained project scheduling problem. Computers & Industrial Engineering, 125, 258–278. Lu, M., & Lam, H. C. (2008). Critical path scheduling under resource calendar constraints. Journal of Construction Engineering and Management, 134(1), 25–31. Majazi Dalfard, V., & Ranjbar, V. (2012). Multi-projects scheduling with resource constraints & Priority rules by the use of Simulated Annealing Algorithm. Tehnički vjesnik, 19(3), 493–499. Möhring, R. H. (1984). Minimizing costs of resource requirements in project networks subject to a fixed completion time. Operations Research, 32(1), 89–120. Nguyen, N. Q., Yalaoui, F., Amodeo, L., Chehade, H., & Toggenburger, P. (2018). Total completion time minimization for machine scheduling problem under time windows constraints with jobs’ linear processing rate function. Computers & Operations Research, 90, 110–124. Qin, Y., Wang, Z. X., Chan, F. T. S., Chung, S. H., & Qu, T. (2019). A mathematical model and algorithms for the aircraft hangar maintenance scheduling problem. Applied Mathematical Modelling, 67, 491–509. Ranjbar, M., & Kianfar, F. (2010). Resource-constrained project scheduling problem with flexible work profiles: A genetic algorithm approach. Scientia Iranica. Transaction E. Industrial Engineering, 17(1), 25. Ranjbar, M., Kianfar, F., & Shadrokh, S. (2008). Solving the resource availability cost problem in project scheduling by path relinking and genetic algorithm. Applied Mathematics and Computation, 196(2), 879–888. Ren, Y. F., & Lu, Z. Q. (2017). Modeling and optimization of multi-skill resource investment problem considering workload balancing of resources (pp. 699–704). IEEE. Rodrigues, S. B., & Yamashita, D. S. (2010). An exact algorithm for minimizing resource availability costs in project scheduling. European Journal of Operational Research, 206(3), 562–568. Shadrokh, S., & Kianfar, F. (2007). A genetic algorithm for resource investment project scheduling problem, tardiness permitted with penalty. European Journal of Operational Research, 181(1), 86–101. Shahsavar, M., Niaki, S. T. A., & Najafi, A. A. (2010). An efficient genetic algorithm to maximize net present value of project payments under inflation and bonus–penalty policy in resource investment problem. Advances in Engineering Software, 41(7–8), 1023–1030. Shan, S., Hu, Z., Liu, Z., Shi, J., Wang, L., & Bi, Z. (2017). An adaptive genetic algorithm for demand-driven and resource-constrained project scheduling in aircraft assembly. Information Technology and Management, 18(1), 41–53. Singh, A. (2014). Resource constrained multi-project scheduling with priority rules & analytic hierarchy process. Procedia Engineering, 69, 725–734. Tao, S., & Dong, Z. S. (2018). Multi-mode resource-constrained project scheduling problem with alternative project structures. Computers & Industrial Engineering, 125, 333–347. Van Peteghem, V., & Vanhoucke, M. (2013). An artificial immune system algorithm for the resource availability cost problem. Flexible Services and Manufacturing Journal, 25(1–2), 122–144. Vanhoucke, M., & Coelho, J. (2018). A tool to test and validate algorithms for the resource-constrained project scheduling problem. Computers & Industrial Engineering, 118, 251–265. Xin, B., Li, Y., Yu, J., & Zhang, J. (2015). An adaptive BPSO algorithm for multi-skilled workers assignment problem in aircraft assembly lines. Assembly Automation, 35(4), 317–328. Yamashita, D. S., Armentano, V. A., & Laguna, M. (2006). Scatter search for project scheduling with resource availability cost. European Journal of Operational Research, 169(2), 623–637. Zamani, R. (2019). An effective mirror-based genetic algorithm for scheduling multimode resource constrained projects. Computers & Industrial Engineering, 127, 914–924.

Acknowledgements This work was supported by National Natural Science Foundation of China (No. 61473211, 71171130). References Afshar-Nadjafi, B. (2014). Multi-mode resource availability cost problem with recruitment and release dates for resources. Applied Mathematical Modelling, 38(21–22), 5347–5355. Asta, S., Karapetyan, D., Kheiri, A., Özcan, E., & Parkes, A. J. (2016). Combining montecarlo and hyper-heuristic methods for the multi-mode resource-constrained multiproject scheduling problem. Information Sciences, 373, 476–498. Browning, T. R., & Yassine, A. A. (2010). Resource-constrained multi-project scheduling: Priority rule performance revisited. International Journal of Production Economics, 126(2), 212–228. 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(1), 3–41. Buddhakulsomsiri, J., & Kim, D. S. (2006). Properties of multi-mode resource-constrained project scheduling problems with resource vacations and activity splitting. European Journal of Operational Research, 175(1), 279–295. Buddhakulsomsiri, J., & Kim, D. S. (2007). Priority rule-based heuristic for multi-mode resource-constrained project scheduling problems with resource vacations and activity splitting. European Journal of Operational Research, 178(2), 374–390. Cheng, J., Fowler, J., Kempf, K., & Mason, S. (2015). Multi-mode resource-constrained project scheduling problems with non-preemptive activity splitting. Computers & Operations Research, 53, 275–287. Drexl, A., & Kimms, A. (2001). Optimization guided lower and upper bounds for the resource investment problem. Journal of the Operational Research Society, 52(3), 340–351. Franck, B., Neumann, K., & Schwindt, C. (2001). Project scheduling with calendars. ORSpektrum, 23(3), 325–334. Gonçalves, J. F., Mendes, J. J., & Resende, M. G. (2008). A genetic algorithm for the resource constrained multi-project scheduling problem. European Journal of Operational Research, 189(3), 1171–1190. Hartmann, S. (1999). Project scheduling under limited resources: Models, methods, and applications. Berlin: Springer. Herroelen, W., De Reyck, B., & Demeulemeester, E. (1998). Resource-constrained project scheduling: A survey of recent developments. Computers & Operations Research, 25(4), 279–302. Hung, Y. F., Bao, J. S., & Cheng, Y. E. (2017). Minimizing earliness and tardiness costs in scheduling jobs with time windows. Computers & Industrial Engineering, 113, 871–890. Javanmard, S., Afshar-Nadjafi, B., & Niaki, S. T. A. (2017). Preemptive multi-skilled resource investment project scheduling problem: Mathematical modelling and solution approaches. Computers & Chemical Engineering, 96, 55–68. Kim, K., Yun, Y., Yoon, J., Gen, M., & Yamazaki, G. (2005). Hybrid genetic algorithm with adaptive abilities for resource-constrained multiple project scheduling. Computers in Industry, 56(2), 143–160. Kreter, S., Rieck, J., & Zimmermann, J. (2016). Models and solution procedures for the resource-constrained project scheduling problem with general temporal constraints and calendars. European Journal of Operational Research, 251(2), 387–403. Krüger, D., & Scholl, A. (2009). A heuristic solution framework for the resource

581