Cooperative coevolution with an improved resource allocation for large-scale multi-objective software project scheduling

Cooperative coevolution with an improved resource allocation for large-scale multi-objective software project scheduling

Journal Pre-proof Cooperative coevolution with an improved resource allocation for large-scale multi-objective software project scheduling Xiaoning Sh...

1MB Sizes 0 Downloads 44 Views

Journal Pre-proof Cooperative coevolution with an improved resource allocation for large-scale multi-objective software project scheduling Xiaoning Shen, Yinan Guo, Aimin Li

PII: DOI: Reference:

S1568-4946(19)30841-5 https://doi.org/10.1016/j.asoc.2019.106059 ASOC 106059

To appear in:

Applied Soft Computing Journal

Received date : 1 August 2019 Revised date : 9 December 2019 Accepted date : 27 December 2019 Please cite this article as: X. Shen, Y. Guo and A. Li, Cooperative coevolution with an improved resource allocation for large-scale multi-objective software project scheduling, Applied Soft Computing Journal (2019), doi: https://doi.org/10.1016/j.asoc.2019.106059. This is a PDF file of an article that has undergone enhancements after acceptance, such as the addition of a cover page and metadata, and formatting for readability, but it is not yet the definitive version of record. This version will undergo additional copyediting, typesetting and review before it is published in its final form, but we are providing this version to give early visibility of the article. Please note that, during the production process, errors may be discovered which could affect the content, and all legal disclaimers that apply to the journal pertain.

© 2019 Published by Elsevier B.V.

*Declaration of Interest Statement

Journal Pre-proof

Declaration of Interest Statement The authors declared that they have no conflicts of interest to this work. We declare that we do not have any commercial or associative interest that represents a

pro of

conflict of interest in connection with the work submitted.

Sincerely yours,

Jo

urn a

lP

re-

Xiaoning Shen, Yinan Guo, Aimin Li

*Highlights (for review)

Journal Pre-proof

Highlights 

A new mathematical model for large-scale multi-objective software project scheduling is constructed.



A novel cooperative coevolutionary multi-objective genetic algorithm is proposed.



Three strategies including the problem feature-based variable decomposition method, the improved computational resource allocation mechanism and the GA-based problem-specific

pro of

subcomponent optimizer are elaborately designed.

The proposed algorithm has been shown to outperform existing approaches.



Advantages of our three strategies are validated.



Compromises among the four objectives are analysed.

Jo

urn a

lP

re-



*Author Contributions Section

Journal Pre-proof

Author Contributions Section Xiaoning Shen and Aimin Li constructed the mathematical model for the large-scale multi-objective software project scheduling problem. Xiaoning Shen and Yinan Guo designed the three novel strategies incorporated in the proposed algorithm, performed the experiments and analysed the experimental results. Xiaoning Shen wrote the manuscript. Xiaoning Shen, Yinan Guo and Aimin Li

Jo

urn a

lP

re-

pro of

reviewed and edited the manuscript. All authors read and approved the manuscript.

*Manuscript Click here to view linked References

Journal Pre-proof

Cooperative coevolution with an improved resource allocation for large-scale multi-objective software project scheduling Xiaoning Shena,*, Yinan Guob, Aimin Lic a

B-DAT, CICAEET, School of Automation, Nanjing University of Information Science and Technology, Nanjing

b

pro of

210044, China School of information and control engineering, China university of Mining and Technology, Xuzhou 221116,

China c

Calix Network Technology Development (Nanjing) Co., Ltd., Nanjing 210012, China

Abstract The existing literature of search-based software project scheduling merely studied to schedule a small to medium-scale project in static scenarios, while little work has considered to schedule a large-scale software project with uncertainties. However, many real-world software projects involve a large number of tasks and employees. Meanwhile, they are confronted with uncertain environments. To

re-

tackle such problems, this paper constructs a mathematical model for the large-scale multi-objective software project scheduling problem, and proposes a cooperative coevolutionary multi-objective genetic algorithm to solve the established model. In our model, more practical features of human resources and tasks are captured in the context of large-scale projects than the previous studies. Two efficiency related objectives of duration and cost are considered together with robustness to uncertainties

lP

and employees’ satisfaction to allocations subject to various realistic constraints. Three novel strategies are incorporated in the proposed algorithm, which include the problem feature-based variable decomposition method, the improved computational resource allocation mechanism and the problem-specific subcomponent optimizer. To evaluate the performance of the proposed algorithm, empirical experiments have been performed on 15 randomly generated large-scale software project scheduling in-

urn a

stances with up to 2048 decision variables, and three instances derived from real-world software projects. Experimental results indicate that on most of the 15 random instances and three real-world instances, the proposed algorithm achieves significantly better convergence performance than several state-of-the-art evolutionary algorithms, while maintaining a set of well-distributed solutions. Thus, it can be concluded that the proposed algorithm has a promising scalability to decision variables on software project scheduling problems. We also demonstrate how different compromises among the four objectives can offer software managers a deeper insight into various trade-offs among many objectives,

Jo

and enabling them to make an informed decision. Keywords Cooperative Coevolution; Software project scheduling; Large-scale; Multi-objective optimization; Mathematical modeling

1 Introduction

With the rapid development of software industry, the market gets fiercely competitive. In order to reduce costs and meet deadline, how to make a good schedule becomes very important for the success of a software project [1]. Software project scheduling problem (SPSP)1 deals with the 1

All the abbreviations appearing in the manuscript are listed and described in Table B.1 of Appendix B.

Journal Pre-proof allocations of human resources to tasks so that the required goals can be achieved under a variety of constraints. Here, tasks means anything involved during the software development [2], such as programming, maintaining documents, software testing, etc. Human resources are employees who master certain skills, and each of them can participate in several tasks on a working day [3]. Due to the computational complexity of SPSP, in most recent studies [3-10], it has been formulated as a search-based optimization problem, and solved by evolutionary algorithms (EAs) [11] to explore the decision space. In this way, near-optimal schedules are automatically generated, which can

pro of

assist the software manager to determine the final allocations.

Nowadays, engineering software in emerging paradigms (e.g. the cloud, mobility, communications, software systems of large online shopping sites) urges the need for new SPS methods that explicitly cater for the huge size of actual projects. In such projects, dozens or even hundreds of software engineers work together to accomplish a huge number of tasks. Given nEmployee employees and nTask tasks, with the growth of nEmployee and nTask, the number of decision variables (nEmployee×nTask) becomes greater, and the size of the search space increases exponentially (size of the search space is k nEmployeenTask , where k denotes the number of possible dedication val-

re-

ues of an employee to a task). It is extremely hard for an algorithm to find promising regions in such a huge search space, which makes the large-scale SPSP become much more complex and difficult than the ones with a small or medium size [12]. Here, the problem with more than 100 decision variables is regarded as a large-scale SPSP. Most existing studies treated all the decision

lP

variables as a whole to optimize based on EAs [3, 6-10]. However, they might suffer a severe searching performance deterioration when facing a large-scale SPSP. Despite that solving the large-scale SPSP is of practical significance, little research work has been done except [2], where the scalability of eight multi-objective optimization evolutionary algorithms (MOEAs) for solving

urn a

the SPSP with increasing size is analyzed.

Due to the huge size of the search space, it is interesting to study the ways to simplify a large-scale SPSP and employ a divide-and-conquer strategy. Cooperative Coevolution (CC) [13] provides such a proper framework. Inspired by the process of interaction, adaptation and coevolution among different biological populations in nature, CC decomposes a complex problem into several subcomponents (subsets of variables), each of which is allocated to a subpopulation to undergo evolution independently. Subpopulations exchange information periodically, and solve

Jo

the original complex problem cooperatively. In this manner, size of the search space can be reduced, and the evolutionary search can concentrate on the region corresponding to each subcomponent [14]. CC has been successfully applied to large-scale function optimization problems [15-21], and several large-scale practical problems [14, 22]. In CC, four main issues need to be carefully designed: problem decomposition, the manner of collaborations among different subcomponents, computational resource allocations among subcomponents and the subcomponent optimizer. The first issue of problem decomposition has an important influence on the performance of CC. A good decomposition means maximizing the interactions of variables in the same subcomponent, while minimizing the interdependencies among

Journal Pre-proof different subcomponents. It can lead to a promising overall solution of the original problem by combining the solutions to each subcomponent together. However, for the large-scale SPSP, it is very hard to determine an ideal decomposition as there is not enough prior knowledge about structure of the large search space and the linkages among variables. Therefore, how to make an appropriate decomposition remains a knotty problem. The second issue relates to the ways of information exchanging, and the third issue deals with the effective use of the computational resources so that promising regions can be focused on by more searches. For the fourth issue, if an

pro of

effective optimizer is adopted, the region defined by the subcomponent can be thoroughly explored, and the elitist individuals can be well exploited.

SPSP is a multi-objective optimization problem (MOP) in nature. Minimizing the project duration and reducing the cost have a direct influence on the project efficiency and thus affect the successful operation of a company. Furthermore, real-world software projects are often subject to uncertainties. For instance, the task efforts may have been overestimated or underestimated, or the efforts required for finishing a task may vary due to changes of the project requirement [23]. Performance of duration and cost may deteriorate when facing uncertainties. Therefore, robustness of

re-

a schedule to the uncertainties is another optimization objective which should be considered. Besides, to emphasize the fact that a software manager often values employees’ self-motivation, employees’ satisfaction to the allocation is also regarded as an optimization objective. The project duration, cost, robustness, and employees’ satisfaction are usually conflicting with each other. It is

lP

useful to handle multiple objectives using a true multi-objective approach, e.g., a MOEA [24]. The various trade-offs among different objectives produced by the MOEA is very helpful in making an informed decision. So far, MOEAs have been successfully applied to different fields, such as the economic emission dispatch problem [25], the capacitated vehicle routing problem [26], and the

urn a

flexible job-shop scheduling problem [27], etc. In the field of decision science, some literature has established a multi-criteria decision support system by MOEAs [28]. Kim et al. [29] used genetic algorithm (GA) as a decision making tool for the fast and precise selection of the optimal photovoltaic systems. Then Microsoft-Excel-based VBA (Visual Basic for Applications) was employed to develop the multi-criteria decision support system for the user-friendly model. Ferrández et al. [30] developed a decision support method based on a preference-based EA to design the high-pressure thermal process for food treatment. Then a decision strategy which chose the point

Jo

in the generated solution set was applied. A non-dominated sorting differential evolution algorithm was adopted to plan the building retrofit in [31], and the generated Pareto fronts were treated in a layered way using the agglomerative hierarchical clustering technique to be better displayed to the decision maker.

In order to solve the large-scale multi-objective software project scheduling problem (LSMOSPSP) effectively, first, we construct a mathematical model of LSMOSPSP, where two efficiency related objectives of duration and cost are optimized together with robustness and employees’ satisfaction, and three practical constraints are taken into account. Second, a cooperative coevolutionary multi-objective genetic algorithm with an improved computational resource allo-

Journal Pre-proof cation called CCMOGA-ICRA is proposed for solving the formulated LSMOSPSP model in a proactive way. With the aim of validating the effectiveness of our algorithm, four groups of comparisons on 15 randomly generated LSMOSPSP instances and three instances derived from real-world software projects are performed in the experimental studies. Results suggest the promising scalability of our CCMOGA-ICRA. The remainder of this paper is organized as follows. Section 2 introduces some related work. Section 3 gives the mathematical modelling of LSMOSPSP. Section 4 describes the details of our

pro of

CCMOGA-ICRA-based scheduling approach for solving LSMOSPSP. In Section 5, experimental studies are carried out. Section 6 draws the conclusions.

2 Related work

In SPSP, there are a group of employees and a set of tasks. SPSP allocates employees to tasks and determines the starting time of each task, with the objective to minimize the project cost, duration, and so on, satisfying the constraints of no overwork, task skills, etc [3]. This section gives a brief review on the related work about the commonly used task-based models of SPSP, MOEAs large-scale SPSP.

2.1 Task-based models of SPSP

re-

that have been applied to the large-scale MOP, and the existing scheduling techniques for the

In the field of search-based software engineering, task-based models are commonly used to

lP

formulate SPSP. In the task-based model, a project is formed by a set of tasks, which are completed by a group of employees together. Tasks should be executed in order of the priority defined by a task precedence graph (TPG). Some attributes such as the effort and a set of required skills, are attached to each task. Each employee masters certain skills and needs to be paid for their work. His/her dedication to the project is limited by a maximum value. As employees are the main reware projects.

urn a

sources of SPSP, good dedication allocations of employees to tasks are very important for softIn recent years, some existing work has solved SPSP by EAs based on the task-based model. The early work was from [32] and [33], which built a task-based model and systematically investigated the influence of the problem parameters on the performance of GAs, respectively. To make the task-based model more flexible, Chang et al. [34] constructed a time-line model which split the task duration into several time spans, and Chen and Zhang [6] gave an event-driven task-based

Jo

model which revised the schedule at events. A construction graph was created and a max–min ant system was applied to SPSP in [35]. A hyper-heuristic adaptively selecting the variation operators during the process of evolution is designed to solve SPSP in [3]. All the above studies just considered one objective such as cost, or aggregated duration and cost into one objective by the weighted sum method. Considering the multi-objective nature of SPSP, some literature has formulated it as an MOP. Chicano et al. [36] adopted several MOEAs to address SPSP and compared them in a set of test instances. Luna et al. [2] applied eight MOEAs to SPSP and investigated their scalabilities to the instances with increasing size. In our previous work in [37], a dynamic version of the

Journal Pre-proof task-based model was first constructed, where three kinds of dynamic events and one type of uncertainty were considered. Then based on the model of [37], a more practical model highlighting the effect of employees’ subjective characteristics on project success was built in [6]. The right global and local search operators were adaptively learned by Q-learning according to the changing project environments. In this paper, to address the large-scale SPSP with multiple objectives, we establish the task-based mathematical model of LSMOSPSP. Although the large-scale SPSP is also taken into

pro of

account in [2], our model differs from it in that: (1) we consider some realistic properties of tasks and employees, such as the estimated task effort which includes uncertainty, and the willing degree of each employee to handle each skill. Nevertheless, only some basic factors of tasks and employees were taken into account in [2]; (2) in addition to the two efficiency related objectives of duration and cost considered in [2], robustness to uncertainties and employees’ satisfaction to the schedule are also optimized in our model; and (3) besides the constraints of no overwork and task skills in [2], the maximum headcount of each team is set as an extra constraint in this work to avoid communication overhead. Moreover, all the eight MOEAs tested in [2] treated all the deci-

re-

sion variables as a whole to optimize. In contrast, with the aim of solving LSMOSPSP more effectively, we propose a novel algorithm CCMOGA-ICRA based on the CC framework to explore the large and complex search space through capturing the characteristics of LSMOSPSP.

2.2 MOEAs for the large-scale MOP

lP

There are mainly three kinds of research directions when applying MOEAs to the large-scale continuous MOP. The first uses the framework of CC and designs various decomposition approaches. Ma et al. [20] gave an MOEA based on decision variable analyses to decompose the large-scale MOP into several simpler sub-MOPs with low-dimensional subcomponents. Then

urn a

subcomponents were optimized independently by each sub-MOP one by one. Decision variable analyses included the control property analysis which classified the variables into position variables, mixed variables and distance variables, and the interdependence variable analysis which grouped distance variables into several low-dimensional subcomponents by detecting the variable linkages. Zhang et al. [21] classified variables into diversity-related and convergence-related by a decision variable clustering method, which were then evolved by a diversity optimization procedure and a convergence optimization procedure, respectively. Cao et al. [38] divided the variables

Jo

into a set of groups according to a modified decision variable analysis method, and a cooperative coevolutionary algorithm was implemented in a distributed platform with a message passing interface. Song et al. [39] suggested a random-based dynamic grouping strategy, where the group size was dynamically chosen with the probability determined by the historical performance, and then the variables were decomposed into groups based on the random grouping. Antonio and Coello [40] combined MOEA/D [41] with the CC framework, and developed a novel MOEA called MOEA/D2, which decomposed the MOP in both the decision and the objective space. Antonio and Coello [42] embedded GDE3 [43] in the CC framework, giving rise to the algorithm CCGDE3.

Journal Pre-proof Zille et al. [44-46] developed a Weighted Optimization Framework which divided variables into some groups and optimized weight variables for each group. In this way, the original large-scale MOP was transformed. The second research direction investigates the dimensionality reduction technique. Qian and Yu [47] developed an algorithm ReMO by reducing the high-dimensional search space into low effective dimensions according to random embedding [48]. The third direction studies the enhanced diversification or convergence strategies to improve the performance of existing MOEAs for solving the large-scale MOP. Hong et al. [49] investigated the specific chal-

pro of

lenges that might stem from the large-scale MOP, and proposed an indicator-based EA incorporating a dual local search strategy, which highlighted the balance between convergence and diversification.

For the multi-objective discrete optimization problems, Djaafar et al. [50] designed a novel cooperative swarm intelligence algorithm which combined a firefly algorithm and a particle swarm optimization to solve the 0-1 multi-objective knapsack problem with increasing item size and objective number. Shang et al. [51] developed an improved cooperative coevolutionary algorithm based on route distance grouping to solve the large-scale capacitated arc routing problem

re-

with multiple objectives.

In this paper, we solve LSMOSPSP based on CC. However, our CC-based MOEA is different from the above existing work in that: (1) a novel decision variable decomposition method is designed, which exploits the characteristics of the problem, and uses a mixture of monotonicity

lP

checking and dynamically random grouping; (2) the computational resources are dynamically allocated among different subcomponents according to their contributions to the convergence in the context of multi-objective optimization. Nevertheless, in the existing MOEAs for the large-scale MOP, each subcomponent shared the equal computational resources and no allocation strategy was

urn a

incorporated; and (3) the problem-specific subcomponent optimizer is adopted.

2.3 Scheduling techniques for the large-scale SPSP Large-scale software project scheduling has been scarcely investigated in the literature. In [2], preliminary studies of the scalability of eight existing MOEAs to the increasing SPSP size were performed. Yet no strategies were specially designed for the difficulties arising from the large and complex decision space of LSMOSPSP. Ren et al. [52] first applied CC to the search-based software engineering. The project plan was divided into two subproblems of work package scheduling and

Jo

developers’ team staffing. Then they were formulated as two populations in a cooperative coevolutionary algorithm to obtain a short duration. Šmite et al. [53] studied the role of social capital, knowledge networks and networking behavior in large-scale software projects. To make up the lack of studies on large-scale software project scheduling, we construct a mathematical model for LSMOSPSP, and develop a cooperative coevolutionary multi-objective genetic algorithm to solve the model, which captures the characteristics of LSMOSPSP, and incorporates problem-specific strategies to enhance its searching performance in the large search space.

Journal Pre-proof 3 Mathematical modelling of LSMOSPSP The characteristic of LSMOSPSP is that either the employee number or the task number, or both of them are large, leading to a huge increase in the number of decision variables and a high-dimensional decision space, which poses a great challenge for the searching algorithm. This section gives the mathematical modeling of LSMOSPSP. The properties of employees and tasks are introduced first. Then the decision variables, optimization objectives and constraints of the

pro of

formulated problem are described, respectively.

3.1 Employees’ properties

Employees’ properties are described in Table 1. Assume that there are nEmployee employees and nTask tasks in a project, and the project requires a total of S skills. Table 1 Properties of each employee. name

description

e _ set

The set of employees involved in the project. e _ set ={ei |i  1,2, , nEmployee} .

re-

eiED  EDi1 , EDi2 , , EDiS  , where EDik [0,1] ( k  1,2, , S ) is a fractional score that measures the willing degree of ei for the kth skill. A larger EDik value indicates a stronger willingness. EDik  0 means that ei hopes not to

eiED

engage with the kth skill at all, and EDik  1 means that ei is willing to engage with the kth skill fully. can dedicate to the project. eimaxded  1 indicates ei can dedicate all

The maximum percentage of a full-time job ei e

einorm _ salary

eiover _ salary

the normal working hours of a month to the project. Overtime working or part-time jobs are allowed by setting eimaxded to a value greater or smaller than 1. The monthly salary of ei for his/her normal working time.

lP

maxded i

The monthly salary of ei for his/her overtime working time. The skill indicator set of ei , eiskills ={proi1,proi2 , , proiS } . proik [0,C] ( k  1,2, , S ) is a proficiency score that

eiskills

indicates the proficiency of ei

for the kth skill. If proik  0 , then ei

does not possess the kth skill, and if

The

urn a

proik  C , then ei totally masters the kth skill. As in our previous work [6], C is set to be 100 here. set

of

specific

skills

mastered

by

skilli

skilli  {k | pro  0, k  1,2,

eijProficiency

The proficiency of ei for task Tj . eijProficiency 

k i

ei

.

It

can

be

transformed

from

eiskills

,

where

, S} .



kreq j  skilli

proik C

( req j is the set of specific skills required by task Tj

), and eijProficiency [0, 1] .

3.2 Tasks’ properties

Jo

Properties of each task T j ( j  1,2,

, nTask ) are listed in Table 2. The estimated effort

T jest _ tot _ eff required to complete task T j may include uncertainty. For instance, the effort may be

inaccurately estimated. Tasks should be executed following a TPG, which gives information about the tasks needing to be completed before starting new ones. Fig. 1 shows an example of the TPG, where the task T6 cannot commence processing until T1 , T2 , T3 , T4 and T5 have finished.

Journal Pre-proof

Table 2 Properties of each task. name

description

T _ set

The set of tasks to be scheduled in the project. T _ set ={Tj |j  1,2, , nTask} .



quired by



skills 1 2 S . T j  sk j , sk j , , sk j , where sk kj  1 ( k  1,2, , S ) means the kth skill is re-

The skill indicator set of task

T jskills

, and sk kj  0 indicates not.

. It can be transformed from Tjskills , where req j  {k | sk kj  1, k  1,2, , S} . The estimated effort required to complete task in person-months. The task effort uncertainty of is assumed to follow a normal distribution N (  j , j ) , where  j and  j are the mean and standard deviation, respectively.

Tjest _ tot _ eff

Here, we set  j  Tjest _ tot _ eff .

7 2 1

3

11 6

13

5

4

8 10

14

15

re-

9

pro of

The set of specific skills required by

req j

12

Fig. 1. An example of the TPG.

lP

3.3 Decision variables

The solution of LSMOSPSP is a schedule which determines the dedication matrix

X   xij nEmployeenTask , where the element xij is the decision variable, and the total number of deci-

urn a

sion variables is nEmployee×nTask. xij represents the dedication of employee ei to task T j .

xij [0, eimaxded ] , and it measures the percentage of a full-time job that ei spends on T j . One employee can deal with several tasks simultaneously. xij  0 means ei is not assigned to T j , and

xij  eimaxded means ei dedicates his/her maximum dedication to T j . In LSMOSPSP, either the employee number or the task number, or both of them are great.

Jo

Therefore, the dimension of the dedication matrix X becomes large, and the decision space increases hugely.

3.4 Optimization objectives Considering all the information collected from the software project, which includes attributes of a set of employees e _ set , a set of tasks T _ set with their estimated task efforts, and the

 

TPG G(V , A) , LSMOSPSP produces a schedule X  xij

nEmployeenTask

denoting the dedication

matrix of each employee to each task by optimizing the following objectives:

Journal Pre-proof min F=[f1 , f 2 , f 3 , f 4 ]

(1)

The objectives f1 , f 2 , f 3 , and f 4 are related to the project duration, project cost, schedule robustness, and employees’ satisfaction, respectively. The formulae of each objective are given below.

f1  durationI  max

{ j |T j T _ set }

T   end j

min

{ j |T j T _ set }

T  start j

(2)

pro of

The duration objective f1 in (2) measures the maximum elapsed time required for completing the efforts of all the tasks. The subscript I of durationI denotes the initial scenario assuming no task effort uncertainty. T jstart represents the time when the effort of T j starts proend cessing according to the schedule, and T j is the completing time of T j .

f 2  costI  



e _ costit'

(3)

t'  t0 ei e _ set

The cost objective f 2 in (3) represents the initial cost, which calculates the total salaries paid to the employees for their work on the tasks, assuming no task effort variances. t ' denotes any

re-

t' month during which the project is being carried out after the initial time t0 , and e _ costi repre-

sents the salaries of employee ei at the moment of time t ' . Let T _ active _ set (t' ) represent



If

xij  1 , then

jT _ active _ set ( t' )

lP

the set of tasks which are being processed at t ' . e _ costit' is evaluated as follows:

e _ costit'  einorm _ salary  t ' 

1<



(4)

xij

xij  eimaxded , then

urn a

else if



jT _ active _ set ( t ' )

jT _ active _ set ( t' )

  e _ costit'  einorm _ salary  t'  1  eiover _ salary  t'   xij  1   jT _ active _ set ( t' ) 

(5)

If the total dedications of ei to all the tasks being processed at t ' are larger than 1, then over _ salary the overtime salary ei should be paid for his/her overtime working.

Jo

The objectives f1 and f 2 are related to the project efficiency.

1 f 3  robustness  N

  durationq  durationI  max  0,  durationI q 1   N

2

 1    N 

  costq  cost I  max  0,  cost I q 1   N

2

   (6) 

The robustness measure f 3 in (6) is defined as the sensitivity of a schedule’s duration and cost to task effort uncertainties by a scenario-based method. Here, durationI and costI are the initial duration and cost evaluated from (2) and (3), durationq and costq are obtained under the

Journal Pre-proof qth sampled task effort scenarios. In this paper, the sample size N is set as 30, and the weight parameter  takes the value of 1. Consideration of the robustness objective f 3 allows the generation of a predictive schedule which can reduce the deterioration of efficiency performance when facing uncertainties. k i

 

xij 

req j

ei e _ set T j T _ set

skilli

(7)

e _ set

pro of

f 4  satisfaction 

 1  ED 

k req j skilli

The satisfaction objective f 4 in (7) is calculated as the average value of unwillingness of the employees to deal with the allocated tasks multiplied by employees’ dedications to tasks. A smaller value of f 4 indicates a higher employees’ satisfaction degree to the obtained schedule. The objective f 4 highlights employees’ satisfaction to the allocation that a software manager often pays much attention to when scheduling.

3.5 Constraints

In LSMODSPSP, the decision space constraints are described as follows:

re-

1) No overwork constraints

At time t ' after t0 , the total dedication of an employee to all the tasks that are being processed should not exceed the maximum dedication to the project, i.e.,

 ei  e _ set , t'  t0 ,



e _ workit' 

t' maxded s.t. e _ worki  ei

xij ,

(8)

2) Task skill constraints

lP

jT _ active _ set ( t' )

Any skill required by one task should be grasped by at least one employee working for that task.

urn a

 T j  T _ set , s.t. req j 

ei e _ set

skill

i

| xij  0

(9)

3) Maximum headcount constraints



 T j  T _ set , s.t. Tjteamsize  max Tjmaxhead , Tj

min_ numemp



(10)

min_ numemp where T jteamsize is the team size for completing task T j , T j is the minimum number of

Jo

employees who should join T j to satisfy the task skill constraint, and Tjmaxhead is the desired upper bound for T jteamsize , considering communication overhead. Here, Tjmaxhead is estimated by the





approach of [34]: Tjmaxhead  max 1, round 2 3 Tjest _ tot _ eff  min_ numemp

straints require for a greater value of T j min_ numemp

Tj

.

0.672

 . In (10), if the task skill con-

maxhead teamsize than Tj , then T j can be relaxed up to

Journal Pre-proof 4 CCMOGA-ICRA-based scheduling approach for LSMOSPSP This section gives a detailed description of the proposed algorithm CCMOGA-ICRA for solving the mathematical model of LSMOSPSP formulated in Section 3. 4.1 The framework of CCMOGA-ICRA-based scheduling approach The flowchart of CCMOGA-ICRA-based scheduling approach for solving LSMOSPSP is shown in Fig. 2. The main framework of CCMOGA-ICRA is given in Algorithm 1. It can be

pro of

found that CCMOGA-ICRA consists of six components: 1) initialization; 2) decision variable grouping based on interaction analysis; 3) computational resource allocation; 4) GA-based subcomponent optimizer; 5) update of the archive; and 6) update of the subcomponent contribution. At the beginning of the software project, a CCMOGA-ICRA-based scheduling approach is trigged to obtain a schedule. First, a parent population P of nPop individuals are initialized uniformly at random, where the individual representation is shown in Section 4.2. The non-dominated sorting procedure is performed on the parent population, and the vector Front is obtained, which represents the non-dominated front each solution of P belongs to. Second, a partial of decision

re-

variables are grouped into E1 subcomponents based on the interaction relationship among them, the procedure of which is presented in Algorithm 2 and Algorithm 3, and the details can be found in Section 4.3. Third, the coevolutionary process of different subcomponents starts. The coevolution is divided into two cases based on our improved computational resource allocation (ICRA)

lP

strategy: each of the E1 subcomponents is evolved by the GA-based subcomponent optimizer one by one in the case that the ICRA criterion is not satisfied. While in the other case, only one subcomponent is selected to undergo evolution according to its contribution to the convergence improvement of the Pareto non-dominated set. The above two cases run alternately until the total objective evaluation number reaches the predefined maximum value. Here, the ICRA criterion

urn a

means the current coevolutionary cycle number is not a multiple of E1. The procedure of GA-based subcomponent optimizer is shown in Algorithm 4, and explained in Section 4.4. Our ICRA strategy is given in Section 4.5, Update of the subcomponent contribution is detailed in Algorithm 5. U p d a t e o f the i t h subcomponent contribution, i=i+1

Select one solution S from archive by a decision making method. End. Update of the archive

Y

Decision variables grouping

Stopping criterion?

Jo

Initialization

N

ICRA criterion?

N

All the N subcomponents have been evolved?

Y select one subcomponent according to contribution to be evolved by GA

Y

Update of the archive

Update of the subcomponent contribution

Fig. 2. Flow chart of CCMOGA-ICRA-based scheduling approach

ith subcomponent is evolved by GA

Journal Pre-proof

Algorithm 1: The main framework of CCMOGA-ICRA-based scheduling approach

pro of

Input: nPop - population size, nInta – the number of selected solutions for variable interaction, NubEvl - the maximum number of objective evaluations, nEmployee - employee number, nTask - task number, Pc - crossover rate, Pm - mutation rate, G the total generation number of GA. Output: archive- the external set which stores the non-dominated solutions found by CCMOGA-ICRA. 1: P ← Initialize (nPop); archive ← ; 2: Front ← NondominatedSort (P); // Front: the non-dominated front to which each solution of P belongs 2: [Subgroups, E1, V2] ← Interaction_Analysis (P, nInta, nEmployee, nTask); // Subgroups: the grouping results for parts of the variables, E1: the number of subcomponents in Subgroups, V2: the remaining variables not grouped 3: while the number of objective evaluations not achieve the maximum value NubEvl do //the coevolutionary process 4: if the ICRA criterion not satisfied then 5: Allocate each variable in V2 to one of the E1 subcomponents at random; 6: for i = 1 to E1 do 7: Fi ← 0; // Fi denotes the contribution degree of the ith subcomponent 8: oldP ← P; 9: [P, Front, Smark] ← GA_Optimizer (P, Front, Subgroups{i}, Pc, Pm, G); // Smark=1: subcomponent is stagnant 10: Update archive by P; 11: [Fi] ← Update_Contribution (oldP, P, Smark, Fi); 12: else 13: Select the kth subcomponent to be evolved based on contribution degree Fi (i = 1, …, E1) by routtle wheel selection; 14: oldP ← P; 15: [P, Front, Smark] ← GA_Optimizer (P, Front, Subgroups{k}, Pc, Pm, G); 16: Update archive by P; 17: [Fk] ← Update_Contribution (oldP, P, Smark, Fk);

re-

18: Select one solution S from archive as the schedule to be implemented based on a decision making approach; 19: Output archive and S.

Once a subcomponent has been evolved by GA, each non-dominated solution in the generated population P is used to update the external set archive based on Pareto dominance one by one. In solution

with

the

lP

the case that the archive size exceeds its predefined value, archive is truncated by removing the minimum

Lp-norm-based

neighbor

distance.

Given

two

vectors

a  a1 , a2 , , an  and b  b1 , b2 , , bn  , Lp-norm-based distance DLp is defined as follows: 1

DLP    i 1 (ai  bi ) p  P  

urn a

n

(11)

Here, p is set to be the reciprocal of the objective number in LSMOSPSP, i.e. 1/4. Choosing such a p value is inspired by the idea of [54], where it was validated that Lp-norm-based distance (p < 1) is good at maintaining diversity in many-objective (4 or more objectives) optimization. In line 18 of Algorithm 1, the same decision making approach is used as that in our previous work [37]. 4.2 Individual Representation

In our CCMOGA-ICRA for LSMOSPSP, each individual in the population represents a sched-

 

Jo

ule which determines the dedication matrix X  xij

nEmployeenTask

. There are a total of

nEmployee nTask elements xij in X. To improve accuracy, real encoding is employed for each

xij

in

this

paper.

Thus

the

chromosome

of

each

individual

has

a

length

of

nEmployee nTask genes. The chromosome should be decoded into a dedication matrix before objective evaluation. An example of the representation of a real-coded chromosome and its decoded dedication matrix are demonstrated in Fig. 3, where nEmployee  3 , nTask  3 ,

Journal Pre-proof e1maxded  0.8 , e2maxded  1 , and e3maxded  1.2 . chromosome

dedication matrix T1 T2 T3 e1  0.25 0.62 0  e2 0.17 0.95 0.33   e3 0.80 1.12 0.16 

x11 x12 x13 x21 x22 x23 x31 x32 x33 0.25 0.62 0 0.17 0.95 0.33 0.80 1.12 0.16

pro of

Fig. 3. A demonstration of the representation of a real-coded chromosome and its decoded dedication matrix.

4.3 Interaction analysis for LSMOSPSP

Interaction analysis detects interactions between each pair of variables. The variables which are interacted with each other are grouped in the same subcomponent, while the variables collected in different subcomponents have few relationships. The variables inside one subcomponent are optimized together, and each subcomponent is evolved separately.

re-

4.3.1 Procedure of interaction analysis for LSMOSPSP

Algorithm 2 presents the procedure of our interaction analysis for LSMOSPSP. Note that in LSMOSPSP, the number of decision variables (nEmployee nTask) is so large that it will cost a large number of objective evaluations for analyzing the interactions among variables. Corre-

lP

spondingly, the number of objective evaluations used for coevolution is reduced, which is unbeneficial to the searching of promising solutions. In order to decrease the number of decision variables for checking the interaction, first, the decision variables are divided into two parts according to the feature of LSMOSPSP (line 1 of Algorithm 2). In LSMOSPSP, values of some elements in the dedication matrix should be zero, e.g. if the employee ei does not have any skill required by

urn a

the task Tj, then xij is equal to zero. Considering this point, we find out the variables that have values equal to 0 in all the individuals of the current population, and denote the set of them as V2. Interaction analysis is implemented only on the remaining variables which form the set of V1 (line 2 of Algorithm 2). Algorithm 3 gives the details of grouping variables in V1 into E1 subcomponents by analyzing the interaction between each pair of variables. Inspired by monotonicity checking [55], the definition of interaction between two decision variables in the context of multi-objective optimization is defined as follows [20, 21]:

Jo

Definition 1: Without loss of generality, assume a multi-objective minimization problem

min F=[f1 , f 2 ,

, fm ]

(12)

where F  R m is the objective vector. There is an interaction between two decision variables xk n and xl , if  a decision vector x   x1 , x2 , , xn   R , a1 , a2 , b1 , b2  R , and j 1,2, , m , s.t.

f j  x  |xk a2 , xl b1  f j  x  |xk a1 , xl b1



f j  x  |xk a2 , xl b2  f j  x  |xk a1 , xl b2

(13)

Journal Pre-proof where f j (x ) |x

k  a2 , xl  b1

f j ( x1 ,   , xk 1 , a2 , xk 1 ,   , xl 1 , b1 , xl 1 ,   , xn ) .

In Algorithm 3, Sub_groups is denoted as a set of interacted variable subcomponents. For each variable vi in V1, if vi is detected to be interacted with any variable of the existing subcomponent groupk in Sub_groups, then groupk is recorded in selSet. After all the existing subcomponents in Sub_groups are checked, all the variables in the subcomponents recorded in selSet are combined with vi to form a new subcomponent sgroup. Then all the subcomponents recorded in selSet are until all the variables in V1 have been checked.

Algorithm 2: Interaction_Analysis (P, nInta, nEmployee, nTask)

pro of

removed from Sub_groups, and sgroup is added into Sub_groups. The above process continues

lP

re-

Input: P - current population, nInta - the number of selected solutions for decision variable interaction, nEmployee - employee number, nTask - task number. Output: Subgroups - grouping results for parts of the variables, E1 - the number of subcomponents in Subgroups, V2 - the remaining variables that are not grouped yet. 1: Divide the decision variable set into two sets V1 and V2 according to the feature of SPSP: find out the variables which have values equal to 0 in all the individuals of P, and set the union of them as V2. The remaining variables form the set V1; 2: [Subgroups, E1] ← Interaction_Grouping (P, V1, nInta); //Group variables in V1 into E1 subcomponents based on interaction. 3: if E1 > min{nEmployee, nTask} then // restrict E1 to satisfy that E1 <= min(nemployee, ntask) 4: record1 ← the union of the subcomponents with more than one variable; ns1 ← the number of subcomponents in record1; 5: record2 ← the union of the subcomponents with just one variable; ns2 ← the number of subcomponents in record2; 6: if ns1 > min{nEmployee, nTask} then 7: Select [ns1 - min{nEmployee, nTask}] subcomponents uniformly at random from record1, and remove them from record1. For each of them, combine it with a randomly selected remaining subcomponent in record1 one by one; 8: elseif ns1 < min{nEmployee, nTask} then 9: Select min{nEmployee, nTask} - ns1] subcomponents uniformly at random from record2, and remove them from record2. record1 ← the union of record1 and the selected subcomponents; 10: Subgroups ← record1; 11: E1 ← the number of subcomponents in Subgroups; 12: Add all the variables in the subcomponents of record2 into V2; 13: Output Subgroups, E1 and V2.

urn a

Algorithm 3: Interaction_Grouping (P, V1, nInta)

13: 14: 15: 16: 17: 18: 19: 20:

Jo

Input: P - current population, V1 - a set of variables, nInta - the number of selected solutions for decision variable interaction. Output: Subgroups - grouping results for V1, E1 - the number of subcomponents in Subgroups. 1: Sub_groups ← ; 2: for each variable vi in V1 do //check the relation of the variable vi with the existing subcomponents 3: selSet ← ; 4: for each subcomponent groupk in Sub_groups do 5: for each variable uj in groupk do 6: mark ← 0; 7: for l = 1 to nInta do 8: Randomly select a solution p from P; 9: if vi is interacted with uj in p then 10: mark ← 1; 11: Add groupk into selSet; 12: break; if mark == 1 then break;

if selSet == then //combine vi with its interacting variables to form a new subcomponent Add {vi} into Subgroups; else sgroup ← the union of vi and all the variables in selSet; Remove selSet from Subgroups; Add sgroup into Subgroups;

21: E1 ← the number of subcomponents in Subgroups;; 22: Output Subgroups and E1.

Journal Pre-proof After the grouping based on interaction analysis is done in Algorithm 3, the variables in V1 are assigned to E1 different subcomponents. However, the number of subcomponents E1 may be so large (there are at most E1  V1 groups if the variables in V1 are fully separable, |  | means cardinality of a set) that computational cost of the cooperative coevolutionary algorithm increases dramatically. Thus, our CCMOGA-ICRA restricts the subcomponent number E1 to be no more than a certain constant, as detailed in lines 3-12 of Algorithm 2. Considering the feature of

pro of

LSMOSPSP, the value of the constant is selected to be min{nEmployee, nTask}. If E1 is larger than min{nEmployee, nTask }, then the subcomponents are divided into two parts record1 and record2 based on the number of variables contained in each of them (lines 4-5 of Algorithm 2). If the number of subcomponents in record1 is still larger than min{nEmployee, nTask}, then some of such subcomponents are combined (lines 6-7 of Algorithm 2). Otherwise, several subcomponents are selected randomly from record2 and added into record1 (lines 8-9 of Algorithm 2). Set record1 to be the final grouping result Subgroups, and all the variables in the subcomponents of record2 are added into the set V2 (lines 10-12 of Algorithm 2). E1 is set as the number of subcomponents in the

re-

current Subgroups.

4.3.2 Mixed use of monotonicity checking and dynamically random grouping In the Algorithm 2 of Interaction_Analysis, only a partial of variables of LSMOSPSP are grouped into E1 different subcomponents by the monotonicity checking of interaction defined in

lP

Definition 1. The remaining ungrouped variables are recorded in the set V2. For such variables, random grouping [39] is used to allocate each of them to one of the E1 subcomponents at random whenever the ICRA criterion is not satisfied, i.e. the cycle number of CCMOGA-ICRA reaches a multiple of E1 (lines 4-5 of Algorithm 1). Grouping of the variables in V2 changes dynamically in

urn a

every E1 generations, which increases the possibility of obtaining better solutions by evolving a variety of subcomponent combinations. Mixed use of monotonicity checking and dynamically random grouping decreases the number of objective evaluations for interaction analysis in LSMOSPSP, while maintaining the grouping accuracy to an extent. 4.4 GA-based subcomponent optimizer

In this section, the evolutionary process of the GA-based subcomponent optimizer is introduced, and then a new strategy for determining the stagnant subcomponent in multi-objective op-

Jo

timization is described.

4.4.1 Procedure of the GA-based subcomponent optimizer Our GA-based subcomponent optimizer is shown in Algorithm 4. It consists of two parts: one is to optimize each subcomponent based on the mating selection, variation, and the environmental selection (lines 3-11), the other is to check whether the current subcomponent is stagnant or not (lines 12-19). In each iteration of GA, the L1-norm-based distance between each solution of the current population P and the origin in the normalized objective space is calculated first. Then binary tournament selection is utilized as the mating selection operator, where the non-dominated

Journal Pre-proof front number Front is used as the first selection criterion when comparing two solutions, and if the two solutions have the same front number, then the one with a smaller distance to the origin is chosen to promote convergence. In line 6, the crossover operator designed for matrices [8] is adopted. It decodes the two parent chromosomes into dedication matrices. Then either rows or columns in the two parent matrices are swapped with an equal probability of 0.5. After that, the matrices are once again converted to real-coded chromosomes. For the mutation operator, if an

pro of

element xij needs to be mutated according to the mutation rate Pm, then a value is generated from 0, eimaxded  uniformly at random to replace the original xij . In lines 8-9, each offspring individu-

al is produced by replacing the variable values in the same subcomponent with those in the individual of the generated population new_P, while keeping the remaining variables unchanged. In lines 10-11, the environmental selection which employs the elitism mechanism is performed. It selects the best half solutions from the combined parent and offspring population based on the non-dominated front number and the angle-based diversity metric. In detail, the solutions with

re-

smaller front numbers are preferred at first. Afterwards, for those solutions with the same front numbers, priority is given to the one with a larger smallest angle to the solutions that have been selected as the new parent population. As indicated in [21, 56], angle is more effective than Eu-

lP

clidean distance when measuring diversity in many-objective optimization.

Algorithm 4: GA_Optimizer (P, Front, Group, Pc, Pm, G)

7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:

the distance to the origin are used as the first and the second selection criterion, respectively; // mating selection Perform the crossover operator designed for matrices according to Pc and the mutation operator according to Pm on each pair of the parent solutions. The generated population is denoted as new_P; Offspring ← P; for i = 1 to P do Offspringi (Group) = new_Pi (Group);

// Offspringi (Group): a vector which consists of values of the ith solution of Offspring on decision variables in Group Front_comp ← NondominatedSort (P∪Offspring); Select the best half solutions from P∪Offspring to update P based on Front_comp and the angle based diversity metric; Update Front; //environmental selection [c_P_Par] ← C (P, Par_P); [c_Par_P] ← C (Par_P, P); if c_P_Par < c_Par_P then record ← record + 1; else record ← 0; if record > length (Group) then //check stagnation of the population Smark ← 1; break;

Jo

6:

urn a

Input: P - current population, Front - the non-dominated front to which each solution of P belongs,. Group - the index set of variables grouped in the same subcomponent, Pc - crossover rate, Pm - mutation rate, G - the total generation number of GA. Output: P - the optimized population, Front - the non-dominated front to which each solution of the optimized population P belongs, Smark - the mark indicating the stagnation state of the considered subcomponent. 1: Smark ← 0; record ← 0; 2: for t = 1 to G do 3: Par_P ← P; 4: Normalize the objective vector of each solution in P, and calculate the L1-norm-based distance between each solution of P and the origin in the normalized objective space. 5: Select P 2 pairs of parent solutions from P by the binary tournament selection, where the front number Front and

20: Output P, Front, and Smark.

|  | means cardinality of a set

Journal Pre-proof 4.4.2 A strategy for detecting the subcomponent stagnation in multi-objective optimization In lines 12-19 of Algorithm 4, evolutionary state of the subcomponent is monitored, and a new strategy for determining the stagnant subcomponent in multi-objective optimization is designed. The set cover metric C [57] is employed here to compare the current population with the parent one. Given two solution sets X 1 and X 2 , the metric C maps the ordered pair ( X 1 , X 2 ) into a

0,1 : C( X1, X 2 ) 

where x1

| x 2  X 2 ; x1  X 1 : x1 x 2 or F(x1 )  F(x 2 ) | | X2 |

pro of

value in

(14)

x 2 represents solution x1 Pareto dominates x 2 . The metric C compares two sets

according to their domination or equality to each other in the objective space.

C ( X 1 , X 2 )  C ( X 2 , X 1 ) means X1 is better than X 2 in terms of the metric C.

Suppose Par_P and P are the population before and after one generation of GA, respectively.

re-

If C(P, Par_P) is smaller than C(Par_P, P) for gk consecutive generations, where gk is set as the number of variables in the current evolving subcomponent groupk, then the evolution of groupk is regarded to be stagnant, and the GA-based subcomponent optimizer is forced to terminate even if its total generation number is not reached. Meanwhile, the stagnant mark Smark is set to be 1.

lP

When a subcomponent has finished the GA-based evolution but the stagnation condition has not been met, it is called an active subcomponent.

4.5 The improved computational resource allocation In the traditional CC framework, subcomponents are evolved one by one in a round-robin way, and equal computational resources are allocated to each of them. However, different subcompo-

urn a

nents may have distinct contributions to the convergence improvement of the Pareto non-dominated set at a certain stage of the coevolution, and the performance of a cooperative coevolutionary algorithm is influenced by the way the computational resources are allocated among subcomponents [58]. In addition, contribution of a subcomponent varies dynamically as the coevolution progresses. For instance, one subcomponent is stagnant in a certain cycle and is not able to promote convergence. Evolution of such a subcomponent in the subsequent cycles is a waste of computational resource without doubt. Another example is that one subcomponent con-

Jo

tributes little in the early cycles, while it may provide more contributions with the coevolution going. Therefore, from the view of a better use of the computational resources, it is reasonable to allocate more resources to the subcomponents with greater contributions so as to explore potentially good solutions, and vice versa. Furthermore, the allocation should be adjusted adaptively in every cycle according to the updated contribution of each subcomponent. In this section, definition and update of the contribution degree of a subcomponent in the context of multi-objective optimization are given first. Then how a subcomponent is selected to undergo evolution based on the contribution degree is presented.

Journal Pre-proof 4.5.1 Contribution degree of a subcomponent Contribution degree measures the improvement of a subcomponent on promoting convergence. Once a subcomponent finishes the GA-based evolution in a coevolutionary cycle, its contribution degree is updated (lines 11 and 17 in Algorithm 1). Suppose oldPi and Pi are the population before and after the GA-based evolution of the ith subcomponent, respectively. The contribution degree Fi of the ith subcomponent is defined based on the set cover metric C as follows: Fi  iC 2

pro of

Fi 

C ( Pi , oldPi )  C (oldPi , Pi ), if C ( Pi , oldPi )  C (oldPi , Pi )    2 else  nPop *100 ,  C i

(15)

(16)

where Fi  is the last contribution degree of the ith subcomponent, and nPop is the population size.

re-

In (15), Fi is smoothly updated by averaging the last contribution degree Fi  and the improvement of the C metric value (  i ) during the current subcomponent evolution. The idea is C

inspired by [59], where a subpopulation contribution in single-objective optimization (SOP) is

lP

calculated. It gives more emphases to the effect of recent improvement, and thus more computational resources can be allocated to a greater recent contribution. It can be seen from (15) that the C C larger the current contribution  i is, the greater the effect of  i on the result of Fi is. The

influence of the early contributions on Fi decreases as coevolution continues.

urn a

In [59], the resource allocation strategy is designed for SOP, and the current contribution is calculated as the absolute value of the change of the best overall objective value. However, there is a problem with this method. If the best overall objective value produced after the current evolution is worse than that before, it is still considered that an improvement is obtained, and the subpopulation contribution increases, which would cause an incorrect assessment of the subpopulation and thus an inappropriate resource allocation. The LSMOSPSP considered in this paper is a multi-objective optimization problem. We use improvement of the metric C to measure the current contribution (  i ) made by the subcomponent evolution. To solve the problem with [59] men-

Jo

C

tioned above, we divide the calculation of

 Ci

into two cases as in (16). If

C C ( Pi , oldPi )  C (oldPi , Pi ) , i.e., Pi is better than oldPi in terms of the metric C, then  i is

evaluated as the difference between C ( Pi , oldPi ) and C (oldPi , Pi ) . Otherwise, there is no improvement through the current evolution, and a very small positive value

2 is assigned nPop *100

Journal Pre-proof C to  i , which always keeps Fi greater than 0 for an active subcomponent.

Algorithm 5 gives the procedure of updating the contribution degree after evolving a subcomponent. For an active subcomponent (Smark is equal to 0), its contribution degree is updated based on (15) and (16), as seen in lines 1-7. If a subcomponent is detected to be stagnant (Smark is equal to 1) in the GA-based subcomponent optimizer, then its contribution degree is considered to be 0 (line 9), and it is not allowed to undergo evolution in the next few coevolutionary cycles. In this

pro of

manner, the computational resource can be allocated to more potential subcomponents, which avoids the waste and improves the searching efficiency. However, the stagnant subcomponent still has an opportunity to revive, since once the cycle number of CCMOGA-ICRA reaches a multiple of E1, the contribution degrees of all the subcomponent are set to be 0 again, and each of them is evolved one by one to reevaluate its contribution (lines 4-11 of Algorithm 1). Algorithm 5: Update_Contribution (oldP, P, nPop, Smark, F)

lP

re-

Input: oldP - original population before evolution, P - current population after evolution, nPop - population size, Smark value of 1 indicates the subcomponent is stagnant, and 0 indicates not, F - original contribution degree of the subcomponent. Output: F - the updated contribution degree of the subcomponent. 1: if Smark == 0 then 2: [c_new_old] ← C (P, oldP); [c_old_new] ← C (oldP, P); //C: the cmetric value 3: if c_new_old > c_old_new then 4: delta ← c_new_old - c_old_new; 5: else 6: delta ← 2/(nPop*100); 7: F ← ( F + delta)/2; 8: else 9: F ← 0;

4.5.2 Computational resource allocation based on the contribution degree In [59], the subpopulation with the greatest contribution is chosen deterministically to undergo

urn a

evolution in the next coevolutionary cycle. However, if the early contribution of one subpopulation is much larger than the others, then its contribution will remain ahead for subsequent cycles, although it may have few recent contributions. In such a case, this subpopulation will be always selected, and the others does not have any chance to undergo evolution until a number of cycles has passed, which might reduce the searching efficiency. In this paper, one subcomponent is selected to be evolved by the roulette wheel selection, where the selection probability is determined by the contribution degree defined in (15). The larger the value of contribution degree is, the

Jo

greater possibility the corresponding subcomponent has to undergo evolution in the next coevolutionary cycle. In this way, randomness is introduced to a certain extent so that each active subcomponent has an opportunity to be evolved. 5 Experimental studies

Considering the uncertain and complex environments of software projects, experiments are carried out in order to provide software managers with a deep insight into choosing an appropriate scheduling method applied to LSMOSPSP. This insight should be validated by experimental results indicating which scheduling method may behave better on the basis of the criteria that can

Journal Pre-proof influence the software manager’s decision. Therefore, in this section, the proposed CCMOGA-ICRA-based scheduling approach is compared with seven other MOEA-based scheduling methods for solving LSMOSPSP with regard to convergence, spread, and distribution performance indexes that are commonly used to evaluate MOEAs. Furthermore, different compromises among the four objectives are analyzed by displaying the Pareto fronts produced by CCMOGA-ICRA.

pro of

5.1 Experimental methods 5.1.1 LSMOSPSP instances

With the aim of validating the effectiveness of our proposed approach, 15 randomly generated LSMOSPSP instances derived from [2] are employed in this paper. The 15 random LSMOSPSP instances include different software projects. The number of employees ranges from 8 to 128, and the number of tasks varies from 16 to 256. The number of decision variables scales up from 128 to 2048. The total number of different skills required by the project is 10 in each instance, and each task requires 6 or 7 skills randomly chosen from them. The number of skills possessed by each

re-

employee ranges from 6 to 7 [2]. To capture more characteristics of the real-world SPSP, the differences between the LSMOSPSP instances generated here and those of [2] are listed as follows: (1) the task effort uncertainties are incorporated, which are assumed to follow a normal distribution, as done in [32]. To infuse more reality, the mean and the standard deviation are assigned dif-

lP

ferent values for each task effort, which change uniformly in the intervals of [8, 12] and [4, 6] (unit: person-month), respectively. These values are selected to ensure that on average, the mean and the standard deviation of a task effort are 10 and 5, respectively [32]. Note that the normal distribution used here can be replaced by any other appropriate probability distribution provided by the user or observed from the historical software project data; (2) the maximum headcount of

urn a

each task, the willing degree of each employee for each skill, part-time jobs and overtime working are all considered; (3) four objectives of duration, cost, robustness and satisfaction are considered simultaneously in this work, while only duration and cost are optimized in [2]; and (4) in addition to the no overwork and task skill constraints in [2], the maximum headcount constraints should also be satisfied.

If an employee masters one skill, the proficiency score is generated uniformly from the range of (0, C] at random, otherwise its value is set to be 0. In order to make the score more consistent

Jo

with human thinking habits and more intuitive, we describe the proficiency score in a more detailed way and set the value of C to be 100, as done in our previous work [6]. Considering that different employees have distinct expectations to engage with each skill according to their proficiencies, experiences, preferences, or other internal or external factors, the value of the willing ED degree ei is sampled uniformly from the range of [0, 1] at random [6]. It is assumed that 20%

of the employees can work overtime, whose maximum dedications are generated uniformly from the range of (1, 1.5] at random; another 20% do part-time jobs, whose maximum dedications are

Journal Pre-proof uniformly sampled from [0.5, 1) at random; and the maximum dedication of each remaining employee takes the value of 1.0 (full time) [37]. Based on [32], the normal monthly pay of each employee is sampled from a normal distribution with the mean of 10,000 and standard deviation of 1,000. The overtime pay takes the value of the normal monthly pay multiplied by three. The 15 LSMOSPSP instances are denoted as inTask_nEmployee, as represented in [2]. For instance, there are 32 tasks and 16 employees involved in the instance i32_16. Additionally, three real-world instances (named Real_1, Real_2 and Real_3) derived from

pro of

business software construction projects for a departmental store [9] are also adopted in our experiments. There are 15 tasks and 10 employees in Real_1 and Real_2, respectively. 12 tasks and 10 employees exist in Real_3. Since these real instances are originally static and deterministic, uncertainties are introduced to transfer them into our LSMOSPSP instances. For task effort uncertainties, the original task effort in the static real instances is regarded as the initially estimated effort. It is set as the mean value of the normal distribution which each task effort follows, and the standard deviation is assumed to be 10% of the mean value. In addition, the maximum dedication eimaxded in our model is calculated from the real instances as follows:

maximum possible working hours per month . legal normal working hours per month

re-

eimaxded 

When evaluating the objective of cost, the basic salary is incorporated as in [9]. Besides, the willing degree and the proficiency of an employee for the given skill are also introduced into the three

lP

real-world instances, following the same way as indicated in generating the random instances. All the above 18 instances are performed in MATLAB running on a computer with Intel Core i5- 5200U, 2.2 GHz CPU and 4 GB RAM.

At present, we do not get access to the real-world large-scale software project data including information about uncertainties and certain properties of employees and tasks. Thus, based on the

urn a

instances in [2] and following the approach in [32], 15 random problem instances are created by an instance generator in our experiments, where some property values are generated following a certain probability distribution. The simulation nature and the lack of empirical validation in industrial contexts is a threat to validity of this study. In order to mitigate this threat, we use 15 simulated software projects including different numbers of employees, tasks, skills, and uncertainties. Additionally, three real-world instances in [9] are employed by introducing task effort uncertainties following the normal distribution. As soon as real-world data with known uncertainties be-

Jo

comes available for an empirical investigation, further discussions should be carried out. 5.1.2 Parameter settings Parameter settings of our approach CCMOGA-ICRA are given in Table 3. For each independent run, the algorithm iterates until 100000 objective evaluations are carried out. With the aim to decide which solution in the obtained non-dominated set to employ, the decision-making method in [37] is used, and the pairwise comparison matrix for the four objectives is given as follows:

Journal Pre-proof 1 1 1 1 C1   cij 44 =  1 2 1 2  1 2 1 2

2 2 1 1

2 2 . 1  1

Therefore, the corresponding weight vector for the four objectives is:

Table 3 Parameter settings of CCMOGA-ICRA. nPop - population size

pro of

w   wi 4  1  [0.3333 0.3333 0.1667 0.1667]T .

50

Q - the number of uncertainty scenarios sampled

30

nInta - the number of selected solutions for decision variable interaction NmbEvl - the maximum number of objective evaluations p - the parameter in the Lp-norm-based distance

6

100000 1/4

nArchive - the fixed size of the external set archive

100

Pc - the crossover rate

0.9

re-

Pm - the mutation rate

G - the total generation number of the subcomponent optimizer GA

1/(nEmployee×nTask) 25

5.1.3 Introduction to the compared approaches

With the aim to give a comprehensive experimental study of the proposed algorithm

lP

CCMOGA-ICRA, it is compared with seven other MOEA-based scheduling methods for solving LSMOSPSP. The comparisons are divided into four groups according to their different experimental purposes.

The first group aims to validate the effectiveness of the improved computational resource al-

urn a

location strategy. The two algorithms to be compared are introduced as follows: i) CCMOGA-noCRA. To demonstrate the superiority of our ICRA strategy over the traditional round-robin

way,

the

CCMOGA-ICRA-based

scheduling

approach

is

compared

to

CCMOGA-noCRA, in which the ICRA is removed from CCMOGA-ICRA, and subcomponents of variables are evolved one by one, i.e. computational resources are assigned to each subcomponent equally. This experiment can provide a software manager with a better understanding of whether it would be helpful to allocate the computational resource dynamically among subcomponents with

Jo

different contributions.

ii) CCMOGA-CRA-Y. To show the advantage of our ICRA strategy over the existing one, the CCMOGA-ICRA-based scheduling approach is compared to CCMOGA-CRA-Y, which replaces the ICRA in CCMOGA-ICRA with the CRA method suggested by Yang [59], while other parts are kept unchanged. The CRA method in [59] is different from our ICRA in how to detect the subcomponent stagnation, how to calculate the subcomponent contribution, and how to select a subcomponent to undergo evolution. In addition, our work studies the MOP, while the CRA in [59] is designed for SOP. Thus, the CRA in [59] is modified slightly here: when evaluating the contribution of a subpopulation, the absolute value of the change of the set cover metric C is employed

Journal Pre-proof instead of the best overall objective value. From this experiment, a software manager can get insight into how the performance of a cooperative coevolutionary algorithm is affected by the way the computational resources are allocated among subcomponents. The same parameter settings of CCMOGA-ICRA shown in Table 3 are adopted with CCMOGA-noCRA and CCMOGA-CRA-Y. The second group aims to validate the effectiveness of our GA-based subcomponent optimizer. The algorithm to be compared is described as follows:

pro of

iii) CCMODE-ICRA. CCMODE-ICRA replaces the GA-based subcomponent optimizer of CCMOGA-ICRA with differential evolution (DE) [60], while other parts are kept unchanged. DE/current to best/1 mutation, crossover and polynomial mutation [61] are employed as the variation operators to generate offspring individuals. In DE/current to best/1 mutation at each generation, the best individual is chosen from the non-dominated solutions of the current population at random. The parameters of F1, F2 and CR in DE mutation and crossover take the values of 0.5, 0.5 and 1, respectively, as recommended in [62]. The distribution index of polynomial mutation is set to be 20. Other parameter settings are the same as those of CCMOGA-ICRA shown in Table 3.

re-

In the third group, to validate the effectiveness of the combinational use of the variable decomposition strategy, the GA-based subcomponent optimizer, and the ICRA method employed in CCMOGA-ICRA for solving LSMOSPSP, the proposed approach is compared with two state-of-the-art cooperative coevolutionary algorithms specially designed for solving MOPs with

lP

large scale variables, which are introduced as follows:

iv) MOEA/DVA [20]. MOEA/DVA is different from our CCMOGA-ICRA in that they have distinct variable decomposition approaches, and there is no resource allocation among subcomponents in MOEA/DVA. In addition, MOEA/DVA has two stages of subcomponent optimization

urn a

and uniformity optimization. MOEA/D [32] is adopted to perform the uniformity optimization, as introduced in [20]. The number of sampling solutions in control variable analysis is set to be NCA=20, and the maximum number of tries required to judge the variable interaction is set to be NIA=6 [20].

v) LMEA [21]. LMEA is different from our CCMOGA-ICRA in that they have distinct variable decomposition approaches, and there is no resource allocation among subcomponents in LMEA. There are two optimization stages in LMEA: convergence optimization and diversity op-

Jo

timization that are employed to optimize the convergence-related and the diversity-related variables, respectively. The number of selected solutions and the number of perturbations on each selected solution for decision variable clustering are set to be nSel = 2 and nPer = 4, and the number of selected solutions in variable interaction analysis is set to be nCor = 6, as recommended in [21]. To give a fair comparison, reproduction operators in MOEA/DVA and LMEA are the same as those (the crossover designed for matrices and the bit by bit mutation) in CCMOGA-ICRA. The same parameter settings of CCMOGA-ICRA shown in Table 3 are used with MOEA/DVA and LMEA. In the fourth group, to demonstrate the advantage of the CC framework incorporated in our

Journal Pre-proof CCMOGA-ICRA over the MOEAs that treat all the decision variables as a whole to optimize, it is compared to two MOEAs, which have been used for solving multi-objective software project scheduling in the existing literature. The two MOEAs are described as follows: vi) ε-MOEA [37]. ε-MOEA is proposed as a software project scheduling method in our previous work [37]. It employs the ε-domination relation [63] and uses efficient archive and parent update mechanisms. It adopts the same reproduction operators and parameter settings as those in our CCMOGA-ICRA.

pro of

vii) PAES [2]. PAES is first proposed by Knowles and Corne [64]. It employs a simple (1+1) evolution mechanism. An archive is kept to preserve nondominated solutions, from which the new candidate solutions are decided. An adaptive grid is employed to maintain diversity in the archive. The polynomial mutation operator is adopted to generate a new individual [2]. In [2], it has been validated that PAES performs the best among the eight compared MOEAs with respect to scalability and quality of the solutions. The distribution index of polynomial mutation is set to be 20, and the mutation probability is set to be 1 (nEmployee  nTask ) [2].

re-

It should be noted that the real encoding, objective evaluation and constraint handling methods in the above seven MOEAs for solving LSMOSPSP are the same as those used in our CCMOGA-ICRA. 5.1.4 Performance measures

lP

In LSMOSPSP, a Pareto front with good convergence and diversity is expected to be produced so that the software manager can obtain a full knowledge of different trade-offs among project cost, duration, robustness and satisfaction. In this way, he/she can understand more about the project and make an informed decision on the final schedule based on the project requirements.

urn a

As in our previous work [6, 37], two metrics of hypervolume ratio (HVR) [65] and inverted generational distance (IGD) [62] are adopted to measure the convergence performance, and another two metrics of Spacing [66] and Spread [37] are employed to evaluate the distribution and spread of the generated Pareto front, respectively. HVR computes the ratio of the size of the objective space dominated by the produced Pareto front PFknown to that dominated by the reference Pareto front PFref. A larger HVR value shows a better convergence and a wider spread of the obtained Pareto front. IGD calculates how far PFref is from PFknown. A smaller IGD value indicates the gen-

Jo

erated solutions are closer to PFref and cover various parts of the whole PFref. Spacing computes the distance variance of adjacent solutions in PFknown. A smaller Spacing means a more uniform distribution of obtained solutions. Spread measures the extent and uniformity PFknown distributes in problems with more than two objectives. A smaller Spread means a wider and more uniform spread of solutions in PFknown. In LSMOSPSP, the true Pareto front is unknown. Here, when calculating HVR and IGD, PFref is obtained by merging all the solutions generated in each independent run of the eight compared algorithms, and then by selecting the non-dominated solutions from them. The worst value on each objective produced during all the optimization runs forms the reference point required in

Journal Pre-proof HVR. When comparing different algorithms and deciding which one to choose, the convergence measure (HVR and IGD) of an algorithm should be taken into account first by the software manager, since obtaining better objective values are more important. In the case that two algorithms have comparable convergence, the one with a better spread (Spread) and distribution (Spacing) should be preferred. 5.1.5 Procedure of validating the effectiveness of the strategies designed in CCMOGA-ICRA CCMOGA-ICRA is compared with seven other MOEA-based scheduling methods for solving

pro of

LSMOSPSP on the performance measures of convergence and diversity. The comparison procedure is introduced as follows:

Step 1: 20 independent runs of each method are replicated. The objective value of “robustness” is reevaluated for each solution produced by the eight methods with the same 100 randomly sampled task efforts. In this way, eight updated non-dominated sets are generated for each run. Step 2: All the updated non-dominated solutions obtained by the eight methods in 20 runs are combined. Then a set of new non-dominated solutions are determined from them to compose the reference Pareto front.

re-

Step 3: For each method in each of the 20 runs, the performance values (HVR, IGD, Spacing, Spread) are calculated by its updated non-dominated set. Thus 20 values of each metric are obtained for each method. Assume the 20 values are metric kj ,i , j=1,2,…,20, where metric kj ,i denotes

lP

the ith performance metric value of the kth method in the jth run, k=1,2,…,8, i=1,2,3,4, HVR, IGD, Spacing and Spread are regarded as the 1st to the 4th metric, and CCMOGA-ICRA, CCMOGA-noCRA, CCMOGA-CRA-Y, CCMODE-ICRA, MOEA/DVA, LMEA, ε-MOEA, PAES are regarded as the 1st to the 8th method, respectively. Step 4: With the aim of comparing the significance of differences on the performances of the

urn a

eight methods across different runs, Wilcoxon rank-sum tests with significance level of 0.05 are k ,i

adopted. The 20 values metric kj ,i (j=1,2,…,20) constitute the vector Vec . The mean values of metric kj ,i ( j=1,2,…,20) over the 20 runs are calculated first. Then, for the ith metric, the pairwise 1,i

comparisons between the vector Vec

k ,i

of our method and that of the other method ( Vec ,

Jo

k=2,…,8) are performed by Wilcoxon rank-sum tests. 5.2 Results and discussions The mean values of each performance measure over the 20 runs calculated in Step 4 of Section 5.1.5 are shown in Table 4. Meanwhile, the sign of the statistical test results of eight methods across different runs on the 15 random instances and three real-world instances are also given in Table 4. Due to the space limitation, the p-value of the statistical test results on each instance are shown in Table A.1 in Appendix A, available in the supplemental material. Comparison results of the statistical tests are summarized over the random and real-world instances, respectively, which

Journal Pre-proof are listed in Table 5. Table 4 Average performance values and the sign of statistical test results of eight methods across different runs on the 15 random instances and three real-world instances (The best value is in bold. The sign of ‘+/−/=’ in the compared algorithm B indicates that according to the metric considered, the proposed algorithm CCMOGA-ICRA is significantly better than B, significantly worse than B, or there is no significant difference between CCMOGA-ICRA and B.) Metrics

HVR

Instance

IGD

Spacing

Spread

HVR

i16_8

IGD

Spacing

Spread

i16_16

0.8260 0.7044+ 0.7646= 0.3726+

0.0906 0.1505+ 0.1302= 0.2937+

0.0197 0.0300+ 0.0274+ 0.0357+

0.5435 0.6896+ 0.7006+ 0.8934+

0.8678 0.6678+ 0.7210+ 0.4987+

0.1064 0.2052+ 0.1710+ 0.3725+

0.0125 0.0144= 0.0174+ 0.0302+

0.5987 0.7632+ 0.6353= 0.9266+

MOEA/DVA

0.7702=

0.1150=

0.0284+

0.7450+

0.7968=

0.1267=

0.0157=

0.6301=

LMEA

0.7013+

0.1679=

0.0257+

0.7193+

0.7480+

0.1401+

0.0141=

0.7033+

ε-MOEA

0.8142=

0.0880=

0.0160−

0.5826=

0.7043+

0.1888+

0.0104=

0.5816=

PAES

0.3919+

0.2819+

0.0653+

0.6002=

0.3621+

0.3928+

0.0224+

0.7290+

Instance

pro of

CCMOGA-ICRA CCMOGA-noCRA CCMOGA-CRA-Y CCMODE-ICRA

i32_8

i16_32

0.7758 0.6085+

0.1491 0.2055+

0.0159 0.0172=

0.6644 0.6255=

0.8108 0.5697+

0.1505 0.2404+

0.0268 0.0268=

0.6746 0.6426=

CCMOGA-CRA-Y

0.7371=

0.1714=

0.0201+

0.6714=

0.7017+

0.2234+

0.0241+

0.6900=

CCMODE-ICRA

0.2718+

0.4731+

0.0361+

0.9548+

0.2535+

0.3944+

0.0261=

0.9287+

MOEA/DVA

0.7919=

0.1281=

0.0165=

0.6168−

0.7783=

0.1849=

0.0217−

0.7050=

LMEA

0.7313=

0.1705=

0.0213+

0.7004=

0.7612=

0.1815=

0.0278=

0.6264−

ε-MOEA

0.8714−

0.1052−

0.0181=

0.6375=

0.7180+

0.2516+

0.0206−

0.5087−

PAES

0.2907+

0.4464+

0.3294+

0.0656+

0.5660−

lP

Instance

re-

CCMOGA-ICRA CCMOGA-noCRA

0.4618+

0.0240+

0.6327=

i32_16

i64_8

0.8509

0.1497

0.0145

0.6981

0.6388

0.1819

0.0166

0.7255

0.6451+

0.2886+

0.0159=

0.7079=

0.5446=

0.2072=

0.0182=

0.6805−

CCMOGA-CRA-Y

0.6231+

0.3076+

0.0211=

0.7140=

0.6494=

0.1511−

0.0202=

0.6797−

CCMODE-ICRA

0.2753+

0.5405+

0.0338+

1.0013+

0.2114+

0.4825+

0.0260+

0.9029+

urn a

CCMOGA-ICRA CCMOGA-noCRA

0.7715+

0.2089+

0.0160=

0.7062=

0.5661+

0.1949=

0.0207=

0.9867=

0.8090=

0.1904+

0.0192=

0.6895=

0.5391+

0.2018+

0.0235+

0.7982+

0.7963+

0.1822=

0.0159=

0.5725−

0.6641=

0.1623=

0.0189=

0.6857=

0.4377+

0.4607+

0.0327+

0.6308+

0.1814+

0.5006+

0.0347+

0.6405−

0.8230

0.0716

0.0194

0.7024

0.8087

0.0919

0.0299

0.7221

CCMOGA-noCRA

0.7198+

0.1002=

0.0263+

0.7384=

0.7340=

0.1165=

0.0324=

0.7553=

CCMOGA-CRA-Y

0.7536=

0.1047=

0.0179=

0.7293=

0.6820+

0.1437+

0.0376=

0.7914=

CCMODE-ICRA

0.5767+

0.1575+

0.0658+

0.9806+

0.4668+

0.2333+

0.0322=

0.9605+

MOEA/DVA LMEA ε-MOEA PAES Instance

i16_64

Jo

CCMOGA-ICRA

i32_32

MOEA/DVA

0.7651=

0.1118+

0.0159−

0.7264=

0.7379=

0.1072=

0.0361=

0.8384+

LMEA

0.6741+

0.1313+

0.0217=

0.7811+

0.7054+

0.1308+

0.0339=

0.7293=

ε-MOEA

0.7074+

0.1015=

0.0111−

0.6540=

0.6833+

0.2580+

0.0398+

0.9284+

PAES

0.5281+

0.1844+

0.0756+

0.6988=

0.5282+

0.1997+

0.0583+

0.5889−

CCMOGA-ICRA

0.6895

0.1836

0.0203

0.6755

0.7697

0.1583

0.0266

0.6364

CCMOGA-noCRA

0.5859+

0.2652+

0.0220=

0.6940=

0.6084+

0.1953+

0.0389+

0.6464=

CCMOGA-CRA-Y CCMODE-ICRA

0.6144+ 0.2160+

0.2347= 0.5261+

0.0276+ 0.0466+

0.7133= 1.0125+

0.6101 + 0.2637 +

0.1904 + 0.5070 +

0.0331+ 0.0496+

0.6717= 1.0441 +

Instance

i64_16

i128_8

Journal Pre-proof MOEA/DVA

0.7200 =

0.1713 =

0.0212 =

0.6786 =

0.7069+

0.1822+

0.0298=

0.6598=

LMEA

0.7326 −

0.1517 −

0.0214 −

0.6234=

0.7464=

0.1600=

0.0273=

0.6406=

ε-MOEA

0.7633 −

0.1062 −

0.0203=

0.6611=

0.6362+

0.2043+

0.0284=

0.8783+

PAES

0.3392+

0.3924+

0.0583+

0.6008 −

0.2324+

0.6393+

0.0609+

0.6136=

Instance

i16_128

i32_64

0.8536

0.0747

0.0122

0.6278

0.8035

0.1666

0.0142

0.5913

0.6185+ 0.6314+

0.1912+ 0.1736+

0.0190= 0.0237+

0.6315= 0.6771=

0.5604+ 0.6113+

0.2771+ 0.2577+

0.0212= 0.0264=

0.6884+ 0.7120+

CCMODE-ICRA

0.6708+

0.1765+

0.0378+

0.8536+

0.3450+

0.3856+

0.0337+

1.0275+

MOEA/DVA

0.7139+

0.1608+

0.0202+

0.6983+

0.6976+

0.2101+

0.0236=

0.7334+

LMEA

0.8737=

0.0733=

0.0134=

0.6407=

0.8196=

0.1740=

0.0210=

0.6762+

ε-MOEA

0.6255+

0.1882+

0.0213+

0.6873=

0.5888+

0.2569+

0.0274=

0.6955+

PAES

0.4065+

0.3410+

0.0414+

0.5993=

0.3770+

0.3747+

0.0477+

0.5597=

CCMOGA-ICRA

0.7795

0.1037

0.0288

0.5685

0.5829

0.2174

0.0198

0.7382

CCMOGA-noCRA CCMOGA-CRA-Y

0.7028= 0.6273+

0.1390= 0.1661+

0.0350= 0.0306=

0.6706+ 0.6132=

0.5156+ 0.5741=

0.2669+ 0.2304=

0.0250= 0.0210=

0.7060= 0.6774−

CCMODE-ICRA

0.4972+

0.2358+

0.0312=

1.0217+

0.2109+

0.4691+

0.0252=

1.0577+

MOEA/DVA

0.6791+

0.1435+

0.0270=

0.5513=

0.5236+

0.2713+

0.0212=

0.7858+

LMEA

0.6682+

0.1472+

0.0237=

0.6031=

0.6070=

0.2271=

0.0209=

0.6761−

ε-MOEA

0.6529+

0.1528+

0.0234=

0.5269−

0.6929−

0.1908=

0.0198=

0.8903+

PAES

0.5509+

0.2041+

0.1781+

0.6087=

0.3418+

0.4615+

0.0350+

0.6108−

i64_32

Instance

i128_16

re-

Instance

pro of

CCMOGA-ICRA CCMOGA-noCRA CCMOGA-CRA-Y

i256_8 0.5974

0.2360

0.8833

0.8136

0.0838

0.0180

0.5019

0.7008−

0.1958=

0.0272=

0.8594=

0.7146+

0.1622+

0.0292+

0.6323+

CCMOGA-CRA-Y CCMODE-ICRA

0.5107+ 0.6109=

0.2867+ 0.2366=

0.0306= 0.0388+

0.8713= 0.8590=

0.7598+ 0.4174+

0.1396+ 0.3014+

0.0301+ 0.0203=

0.6517+ 0.6207+

MOEA/DVA

0.5001+

0.2623=

0.0407+

0.9600+

0.7892=

0.1098=

0.0256+

0.6902+

LMEA

0.5136+

0.2741+

0.0293=

0.8762=

0.7443+

0.1474+

0.0218=

0.6556+

ε-MOEA

0.1500+

0.6437+

0.0505+

0.9741=

0.8060=

0.0810=

0.0172=

0.5379=

0.5086−

0.4130+

0.2693+

0.0509+

0.5598=

urn a 0.4392+

Instance

lP

CCMOGA-ICRA CCMOGA-noCRA

PAES

0.0276

Real_1

0.3450+

0.0750+

Real_2

CCMOGA-ICRA

Real_3

0.8493

0.1056

0.0153

0.5316

0.8763

0.1697

0.0203

0.6385

CCMOGA-noCRA

0.6310+

0.1937+

0.0174=

0.7282+

0.6928+

0.1830=

0.0186=

0.6555=

CCMOGA-CRA-Y CCMODE-ICRA

0.7074+ 0.5413+

0.1783+ 0.3386+

0.0190= 0.0222+

0.5669= 0.6344+

0.7604+ 0.5912+

0.1714= 0.2783+

0.0227= 0.0315+

0.6414= 0.7308+

MOEA/DVA

0.7472+

0.1512+

0.0187=

0.5631=

0.8433=

0.0915−

0.0174=

0.6017=

0.7639+

0.1474+

0.0169=

0.6790+

0.7061+

0.2170=

0.0273+

0.7143+

0.7215+

0.1909+

0.0112−

0.6093+

0.8126=

0.1653=

0.0195=

0.6169=

0.4337+

0.3380+

0.0286+

0.5208=

0.3790+

0.4316+

0.0282+

0.5747−

LMEA

Jo

ε-MOEA PAES

Table 5

Summarized comparison results (the percentage of the 15 random instances and three real-world instances for which the statistical tests indicate CCMOGA-ICRA to be better, similar or worse than each of the seven other methods)

CCMOGA-ICRA vs. CCMOGA-noCRA CCMOGA-ICRA vs.

+ 73.3% +

HVR = 20% =

− 6.7% −

Random Instances IGD + = − 66.7% 33.3% 0 + = −

+ 20% +

Spacing = 80% =

− 0 −

+ 26.6% +

Spread = 66.7% =

− 6.7% −

Journal Pre-proof 33.3% = 6.7% = 46.7% = 46.7% = 13.3% = 0

0 − 0 − 0 − 6.6% − 20% − 0

CCMOGA-ICRA vs. CCMOGA-noCRA CCMOGA-ICRA vs. CCMOGA-CRA-Y CCMOGA-ICRA vs. CCMODE-ICRA CCMOGA-ICRA vs. MOEA/DVA CCMOGA-ICRA vs. LMEA CCMOGA-ICRA vs. ε-MOEA CCMOGA-ICRA vs. PAES

+ 100% + 100% + 100% + 33.3% + 100% + 33.3% + 100%

HVR = 0% = 0% = 0% = 66.7% = 0% = 66.7% = 0

− 0% − 0 − 0 − 0 − 0 − 0 − 0

60% 33.3% 6.7% + = − 93.3% 6.7% 0 + = − 46.7% 53.3% 0 + = − 46.7% 46.7% 6.6% + = − 53.3% 33.3% 13.4% + = − 100% 0 0 Real-world Instances IGD + = − 66.7% 33.3% 0 + = − 66.7% 33.3% 0 + = − 100% 0% 0 + = − 33.3% 33.3% 33.3% + = − 66.7% 33.3% 0 + = − 33.3% 66.7% 0 + = − 100% 0 0

46.7% + 66.7% + 20% + 20% + 20% + 100%

53.3% = 33.3% = 66.7% = 73.3% = 60% = 0

0 − 0 − 13.3% − 6.7% − 20% − 0

Spacing = 66.7% = 66.7% = 33.3% = 66.7% = 66.7% = 66.7% = 0

− 0 − 0 − 0 − 0 − 0 − 33.3% − 0

13.3% + 93.3% + 40% + 33.3% + 26.7% + 13.3%

pro of

66.7% + 93.3% + 53.3% + 46.7% + 66.7% + 100%

+ 33.3% + 33.3% + 66.7% + 33.3% + 33.3% + 0 + 100%

re-

CCMOGA-CRA-Y CCMOGA-ICRA vs. CCMODE-ICRA CCMOGA-ICRA vs. MOEA/DVA CCMOGA-ICRA vs. LMEA CCMOGA-ICRA vs. ε-MOEA CCMOGA-ICRA vs. PAES

+ 66.7% + 33.3% + 100% + 33.3% + 100% + 33.3% + 0

73.4% = 6.7% = 53.3% = 53.3% = 53.3% = 46.7%

13.3% − 0 − 6.7% − 13.4% − 20% − 40%

Spread = 33.3% = 66.7% = 0% = 66.7% = 0% = 66.7% = 66.7%

− 0 − 0 − 0 − 0 − 0 − 0 − 33.3%

5.2.1 Comparisons on the computational resource allocation strategy As introduced in Section 5.1.3, we have compared CCMOGA-ICRA, CCMOGA-noCRA, and

lP

CCMOGA-CRA-Y to study the influence of different computational resource allocation strategies on the performance of a cooperative coevolutionary algorithm for solving LSMOSPSP. First, the convergence performance metrics HVR and IGD are taken into account. In terms of both the metrics, the proposed method CCMOGA-ICRA exhibits distinct advantages since its

urn a

performance is better than or comparable to CCMOGA-noCRA and CCMOGA-CRA-Y for most instances. Table 4 indicates that CCMOGA-ICRA produces the best average value of HVR and IGD for eight and eight out of the 15 random LSMOSPSP instances, and for three and two out of the three real-world instances, respectively. From Table 5, it can be found that CCMOGA-ICRA is significantly better than CCMOGA-noCRA and CCMOGA-CRA-Y for 73.3% and 66.7% of the 15 random instances with respect to the HVR performance, and for 66.7% and 60% of the 15 random instances considering IGD, respectively. In addition, CCMOGA-ICRA is significantly worse

Jo

than CCMOGA-noCRA for one random instance on HVR, and significantly worse than CCMOGA-CRA-Y for one random instance on IGD. As for the real-world instances, CCMOGA-ICRA is significantly better than CCMOGA-noCRA and CCMOGA-CRA-Y for all the three real-world instances considering HVR, and for 66.7% and 66.7% of the real-world instances on IGD, respectively. There is no significant difference between each pair of them for the remaining random or real-world cases. The above results clearly indicate that the proposed approach is more likely to provide software managers with a set of non-dominated solutions that are closer to the reference Pareto front. As for the distribution performance Spacing, the proposed approach CCMOGA-ICRA is

Journal Pre-proof comparable to CCMOGA-noCRA, since there is no significant difference between them for 80% of the 15 random instances, and for 66.7% of the three real-world instances. CCMOGA-ICRA is better than CCMOGA-CRA-Y as a whole, since CCMOGA-ICRA is significantly better than CCMOGA-CRA-Y for 53.3% of the 15 random instances and for 33.3% of the real-world instances, and there is no significant difference between them for the remaining and real-world instances. Considering Spread, the performance of CCMOGA-ICRA is comparable to CCMOGA-noCRA and CCMOGA-CRA-Y for the random instances, since there is no significant real-world instances,

pro of

difference between them for 66.7% and 73.3% of the 15 random instances, respectively. As for the CCMOGA-ICRA is a bit better than CCMOGA-noCRA and

CCMOGA-CRA-Y as a whole with Spread, since it is significantly better than the other two algorithms for 66.7% and 33.3% of the real-world instances, respectively, and there is no significant difference between each pair of them for the remaining real-world cases.

From the above results, it can be concluded that the ICRA strategy incorporated in the proposed CCMOGA-ICRA can improve the convergence performance effectively for solving LSMOSPSP. Meanwhile, it can help the algorithm maintain a comparable distribution perfor-

re-

mance. The ICRA strategy includes the way to detect and deal with the stagnant subcomponent, the approach to update the subcomponent contribution in the context of multi-objective optimization, and the method to select a subcomponent to undergo evolution. Thus, ICRA can allocate the computational resources among different subcomponents adaptively.

lP

5.2.2 Comparisons on the subcomponent optimizer

With the aim of evaluating the impact of the subcomponent optimizer on the searching ability of the algorithm for solving LSMOSPSP, the proposed approach CCMOGA-ICRA has been compared to CCMODE-ICRA.

urn a

Table 5 shows that with HVR, IGD, Spacing and Spread, CCMOGA-ICRA is significantly better than CCMODE-ICRA for 93.3%, 93.3%, 66.7% and 93.3% of the 15 random instances, and for 100%, 100%, 66.7% and 100% of the three real-world instances, respectively. No significant difference has been found for the remaining test instances. These results clearly show that our GA-based subcomponent optimizer is very effective in improving both the convergence and the distribution performance of the scheduling algorithm when solving LSMOSPSP. This can be attributed to the combined use of the tournament selection based on front and distance to the origin

Jo

(to promote convergence), variation operators including the crossover operator specially designed for matrices and the bit by bit mutation, and the elitism-based environmental selection according to front and the angle-based diversity measure (to deal with diversity). All of them help enhance the searching ability of the subcomponent under evolution and increase diversity of the population.

5.2.3 Comparisons with the state-of-the-art coevolutionary MOEAs

Journal Pre-proof To understand the impact of different multi-objective cooperative coevolutionary algorithms on the performance of LSMOSPSP, we have also applied two state-of-the-art cooperative coevolutionary algorithms (MOEA/DVA and LMEA) to find the Pareto front. It can be found from Table 5 that in terms of the convergence performance HVR and IGD, the proposed approach CCMOGA-ICRA has better performance as a whole. With HVR, it is significantly better than MOEA/DVA and LMEA for 53.3% and 46.7% of the 15 random instances, and for 33.3% and 100% of the three real-world instances, respectively, while LMEA outperforms

pro of

CCMOGA-ICRA for just one of the 15 random instances. No significant difference has been found for the remaining test instances. As for IGD, CCMOGA-ICRA is significantly better than MOEA/DVA and LMEA for 46.7% and 46.7% of the 15 random instances, and for 33.3% and 66.7% of the three real-world instances, respectively, while LMEA also outperforms CCMOGA-ICRA on only one of the 15 random instances, and MOEA/DVA outperforms CCMOGA-ICRA on one of the three real-world instances. It should be mentioned that for the nine random instances (i16_64 to i256_8) where the number of decision variables are larger than 1000, CCMOGA-ICRA behaves very well. It beats (significantly better than) MOEA/DVA and LMEA

re-

on six and four out of the nine instances, respectively, and it is lost (significantly worse than LMEA) on only one instance (i64_16), which shows that compared to MOEA/DVA and LMEA, CCMOGA-ICRA improves the convergence performance of LSMOSPSP, especially on those with very large number of decision variables. One possible reason is that the characteristic of

lP

LSMOSPSP is introduced into the decision variable decomposition strategy of our CCMOGA-ICRA. First, only a partial of decision variables are selected for monotonicity checking and the remaining ones are randomly grouped at intervals. Thus a number of objective evaluations can be saved for coevolution and searching for promising solutions. Furthermore, the computa-

urn a

tional cost of interaction analysis is also reduced. Second, the number of subcomponents is restricted according to the feature of LSMOSPSP. Therefore, each subcomponent can undergo more evolutionary iterations given a fixed total number of objective evaluations and a fixed subcomponent size. Another reason may be that our ICRA method can focus more computational resources on the subcomponents with greater contributions adaptively, and thus the searching efficiency is improved compared to MOEA/DVA and LMEA, in which each subcomponent is evolved one by one in a round-robin way.

Jo

Considering the distribution performance Spacing, CCMOGA-ICRA performs a bit better than MOEA/DVA and LMEA as a whole, since for the instances where there is a significant difference, CCMOGA-ICRA is significantly better than each of them for 20% and 20% of the 15 random instances, and for 33.3% and 33.3% of the three real-world instances, respectively. Additionally, CCMOGA-ICRA is significantly worse than each of them for 13.3% and 6.7% of the 15 random instances, respectively. There is no significant difference between each pair of them for the remaining test instances. Similar results can also be found from Table 5 in terms of the Spread performance. The above results indicate that the strategies designed in CCMOGA-ICRA are very effective,

Journal Pre-proof which include the decision variable decomposition strategy, the ICRA method and the GA-based subcomponent

optimizer.

These

strategies

combined

improve

the

convergence

of

CCMOGA-ICRA for most of the instances with the size varying from 120 (Real_3) to 2048, while maintaining comparable distribution and spread performance. Thus, CCMOGA-ICRA has a good scalability and it is very suitable for solving LSMOSPSP. 5.2.4 Comparisons with the MOEAs without coevolution

pro of

In order to exhibit the superiority of the CC mechanism in our CCMOGA-ICRA on the performance of LSMOSPSP, we have compared CCMOGA-ICRA with ε-MOEA and PAES. From Table 5, it can be seen that with HVR and IGD, CCMOGA-ICRA is significantly better than ε-MOEA for 66.7% and 53.3% of the 15 random instances, significantly worse than ε-MOEA for 20% and 13.4% of the 15 random instances, and there is no significant difference between them for the remaining 13.3% and 33.3% of the random instances, respectively. As for the real-world instances, CCMOGA-ICRA significantly outperforms ε-MOEA for 33.3% and 33.3% of the three real-world instances with regard to HVR and IGD, respectively, and no significant dif-

re-

ference can be found for the remaining instances. Besides, CCMOGA-ICRA is significantly better than PAES for all the random and real-world instances in terms of HVR and IGD. These results clearly indicate that when solving LSMOSPSP which has large scale decision variables, our coevolutionary mechanism and resource allocation strategy acutely improves the convergence performance of the MOEA-based scheduling approach (especially for HVR). Thus, when schedul-

lP

ing a large-scale project, it is helpful for a software manager to introduce the idea of “divide and conquer”, which divides the large and complex problem into a few small sub-problems that are solved separately.

In terms of the metrics of Spacing and Spread, CCMOGA-ICRA is comparable to ε-MOEA for

urn a

the random instances, since there is no significant difference between them for 60% and 53.3% of the random cases, respectively. For the random instances where there is a significant difference, CCMOGA-ICRA is better than ε-MOEA for around half and worse for around the other half of them. Considering Spacing for the real-world instances, CCMOGA-ICRA is significantly worse than ε-MOEA for one of the three instances, and there is no significant difference between them for the remaining two instances. As for Spread, CCMOGA-ICRA outperforms ε-MOEA for one instance, and no significant difference can be found for the other two instances. Besides,

Jo

CCMOGA-ICRA is significantly better than PAES for all the random and real-world instances considering Spacing. However, PAES behaves better as a whole in terms of Spread since it gets the overall best average value for eight out of the 15 random instances (see Table 4), and it performs significantly better than CCMOGA-ICRA for 40% of the random instances and 33.3% of the real-world instances. No significant difference can be found for 46.7% of the random instances and 66.7% of the real-world instances (see Tables 4 and 5). The better Spread performance of PAES indicates that it is good at finding extreme solutions, and thus maintaining a wider spread of solutions.

Journal Pre-proof 5.2.5 Pareto fronts In order to show the trade-offs among the non-dominated solutions found by CCMOGA-ICRA, which a software manager could refer to when making a decision on the final schedule, we have used the parallel coordinate plot to show a four-objective Pareto non-dominated front. Due to the space limitation, the test instance i32_64 with the medium value of HVR produced by CCMOGA-ICRA for the random instances has been selected, and the non-dominated front ob-

pro of

tained by CCMOGA-ICRA in one run is presented in Fig. 4. Since the four objectives in LSMOSPSP have different scales, the objective values of the non-dominated front are normalized first by the worst and the best objective values found during all the runs of the compared eight algorithms. It can be observed from Fig. 4 that the non-dominated solutions produced by CCMOGA-ICRA are well-distributed in the objective space, and the non-dominated front spreads over a large area instead of crowding in a limited range, especially on the objectives f1 and f3 This result shows that CCMOGA-ICRA is able to maintain diversity and keep a wide spread in the obtained non-dominated front.

re-

To visually study different compromises among the four objectives generated by CCMOGA-ICRA, the diagonal plot [67] is presented in Fig. 5. The plot gives pairwise relationships among the four dimensions along the non-dominated front, in which the axes of any plot can be obtained by finding the corresponding diagonal boxes and their ranges. For instance, the plot given at the first row second column has its horizontal axis as robustness and vertical axis as du-

lP

ration. First, the plots of duration vs. cost and duration vs. robustness show that the cost or robustness measure is conflicting with duration. When finding a solution with a smaller cost or robustness, duration normally becomes worse. Second, it can be found from the figure cost vs. satisfaction that the two objectives are also conflicting with each other, since a higher cost results in a

urn a

better degree of satisfaction. Third, it is difficult to find the relationships from the remaining plots. For example, a high cost corresponds to either a small or a great value of robustness. The possible reason may be that a total of four objectives are considered together in LSMOSPSP, so the pairwise relationships among the objectives become complicated. Since conflicts exist between some pairs of the objectives, there is no solution that can optimize all the four objectives simultaneously. Some examples of the objective vectors are selected from the Pareto front shown in Fig. 4, and they are presented in Table 6. A solution may have the best performance on one objective, but be-

Jo

have poorly on one or several of the others, such as Solution1 – Solution4. Some solutions may have a good compromise among different objectives, since they get promising (but not very good) values on a majority of the objectives, such as Solution5 – Solution7. The Pareto front obtained by CCMOGA-ICRA can help a software manager investigate various trade-off relationships among objectives. Therefore, he/she is able to make an informed decision about the best trade-off based on his/her own preference.

Journal Pre-proof

1

Objective Value

0.8 0.6 0.4 0.2 0

1

2

3

4

pro of

Objective No.

Fig. 4. Parallel coordinate plot of the Pareto front generated by CCMOGA-ICRA on the instance i32_64.

re-

duration 40-120

urn a

lP

cost 5.4×106-6.0×106

robustness 0.3-0.7 satisfaction 0.45-0.65

Fig. 5. Diagonal plot of the Pareto front generated by CCMOGA-ICRA on the instance i32_64. Table 6

Examples of objective vectors selected from the Pareto front generated by CCMOGA-ICRA on the instance i32_64.

Jo

[duration, cost, robustness, satisfaction]

S

Solution1

[42.3724, 5917903, 0.5752, 0.5040]

Solution2

[84.0287, 5465358, 0.3539, 0.5542]

Solution3

[116.2965, 5617605, 0.3325, 0.5916]

Solution4

[48.1256, 5868498, 0.4287, 0.4534]

Solution5

[47.4397, 5728102, 0.4492, 0.4675]

Solution6

[48.5642, 5680113, 0.4422, 0.4698]

Solution7

[50.2254, 5569240, 0.4523, 0.4951]

Journal Pre-proof

6 Conclusions and future work A cooperative coevolutionary algorithm with an improved computational resource allocation, termed CCMOGA-ICRA, is proposed for solving LSMOSPSP with uncertainties. Our first contribution is the mathematical modelling of LSMOSPSP. In the model, some realistic properties of tasks and employees are incorporated, and two efficiency objectives of duration and cost are con-

pro of

sidered together with robustness to uncertainties and satisfaction degrees of employees. Furthermore, three practical constraints of no overwork, task skill and maximum headcount are taken into account.

Our second contribution is to propose a novel algorithm CCMOGA-ICRA for solving the formulated LSMOSPSP in a proactive way, which can generate a robust schedule predictively considering the project uncertainties. A total of three new strategies are incorporated. The first one is a decision variable decomposition strategy based on the feature of LSMOSPSP. It divides the decision variables into two parts. Both the monotonicity checking and the dynamically random

re-

grouping are adopted so that a number of objective evaluations can be saved for coevolution and searching for promising solutions. Moreover, the number of subcomponents is restricted to be no more than a problem-specific constant to avoid an unlimited increase. The second one is an improved computational resource allocation strategy. We give the new way to detect the stagnant subcomponent and update the subcomponent contribution in the context of multi-objective opti-

lP

mization. Furthermore, the selection probability of a subcomponent to undergo evolution is determined by the contribution degree. The third one is our GA-based subcomponent optimizer. It employs the tournament selection based on front and distance to the origin to promote convergence. Problem-specific variation operators are adopted, and the elitism-based environmental selection is

urn a

performed according to front and the angle-based diversity measure to deal with diversity. Our third contribution is to give a comprehensive experimental study of the proposed algorithm CCMOGA-ICRA. Four groups of experiments on 15 random LSMOSPSP instances with up to 2048 decision variables and three instances derived from real-world software projects are conducted. The first group compares the impact of different computational resource allocation strategies on the performance of a cooperative coevolutionary algorithm for solving LSMOSPSP. Experimental results show that with respect to the HVR performance, our CCMOGA-ICRA is signif-

Jo

icantly better than CCMOGA-noCRA and CCMOGA-CRA-Y for 73.3% and 66.7% of the 15 random instances, and for all the three real-world instances. Considering IGD, our CCMOGA-ICRA is significantly better than CCMOGA-noCRA and CCMOGA-CRA-Y for 66.7% and 60% of the 15 random instances, and for 66.7% and 66.7% of the three real-world instances, respectively. The above results validate the effectiveness of the ICRA strategy in improving the convergence performance for solving LSMOSPSP. The second group compares the influence of different subcomponent optimizers. Experimental results demonstrate that with HVR and IGD, CCMOGA-ICRA is significantly better than CCMODE-ICRA for 93.3% and 93.3% of the 15

Journal Pre-proof random instances, and for 100% and 100% of the three real-world instances, respectively. These results clearly indicate that our GA-based subcomponent optimizer is very effective in improving convergence of the scheduling algorithm. The third group studies the impact of different multi-objective cooperative coevolutionary algorithms on the performance of LSMOSPSP. It is obtained that with HVR, CCMOGA-ICRA is significantly better than the two state-of-the-art algorithms (MOEA/DVA and LMEA) for 53.3% and 46.7% of the 15 random instances, and for 33.3% and 100% of the three real-world instances, respectively. As for IGD, CCMOGA-ICRA is signifi-

pro of

cantly better than MOEA/DVA and LMEA for 46.7% and 46.7% of the 15 random instances, and for 33.3% and 66.7% of the three real-world instances, respectively. No significant difference has been found for most of the remaining test instances. Our analyses confirm that CCMOGA-ICRA improves the convergence performance of LSMOSPSP, especially on those with very large number of decision variables. The fourth group compares CCMOGA-ICRA with ε-MOEA and PAES, which have no coevolutionary mechanism and have been applied to software project scheduling in the existing literature. It is shown that with HVR and IGD, CCMOGA-ICRA is significantly better than ε-MOEA for 66.7% and 53.3% of the 15 random instances, and there is no significant differ-

re-

ence between them for 13.3% and 33.3% of the random instances, respectively. As for the real-world instances, CCMOGA-ICRA significantly outperforms ε-MOEA for 33.3% and 33.3% of the three real-world instances with regard to HVR and IGD, respectively, and no significant difference can be found for the remaining cases. Besides, CCMOGA-ICRA is significantly better

lP

than PAES for all the random and real-world instances in terms of HVR and IGD. These results indicate that our coevolutionary mechanism acutely improves the convergence performance of the MOEA-based scheduling approach for LSMOSPSP. In addition, experimental results also show that our algorithm can maintain a comparable distribution and spread performance. All the above

urn a

results suggest the promising scalability of CCMOGA-ICRA to decision variables on LSMOSPSP. Furthermore, various compromises among the four objectives are analyzed by the parallel coordinate plot and the diagonal plot, which assist the software manager to make an informed decision. Although the project scale, environment uncertainties and employees’ subjective properties are considered in our LSMOSPSP model, it still has a distance from capturing all the factors which may have an influence on the real project scheduling. Our current work assumes that some property values are generated following a certain probability distribution. For example, the task effort

Jo

uncertainties are assumed to follow a normal distribution. An empirical verification should be carried out to reveal how suitable the normal distribution is to model deviations, and how to best describe such deviations. This can be a challenging investigation that would require data acquisition of variations in effort estimations generated during a period of time. Then our method could be easily adapted to employ different distributions. In addition, only task effort uncertainties are considered in our experiments. In the future, more types of uncertainties which may occur during the project execution, such as changes in the task precedence and addition of new employees to the project should be taken into account. Furthermore, parameter values of the proposed algorithm CCMOGA-ICRA are manually set and have the same values for all the test instances. However, it

Journal Pre-proof cannot be guaranteed that the current parameter settings are the most appropriate ones for different instances. How to adapt the parameters to various software project scenarios is another research direction in the future work.

Acknowledgement This work is supported by the National Natural Science Foundation of China (NSFC) under Grant

pro of

No. 61502239, No. 61573361, and No. 61503191, Natural Science Foundation of Jiangsu Province of China under Grant No. BK20150924 and No. BK20150933, and Qing Lan Project of Jiangsu Province of China.

References

[1] I. Sommerville, Software Engineering, ninth ed., Addison-Wesley, Essex, 2011.

[2] F. Luna, González-álvarez, L. David, F. Chicano, Vega-Rodríguez, and A. Miguel, The software project scheduling problem: a scalability analysis of multi-objective metaheuristics, Applied Soft Computing, 15 (2014) 136-148.

re-

[3] X. Wu, P. Consoli, L.L. Minku, G. Ochoa, and X. Yao. An evolutionary hyper-heuristic for the software project scheduling problem, in: Proceedings of the Fourteenth International Conference on Parallel Problem Solving from Nature (PPSN'16), (2016) 37-47.

[4] A.V. Rezende, L.S. André Britto, and R. Amaral, Software project scheduling problem in the context of search-based software engineering: A systematic review, The Journal of Systems and Software, 155 (2019)

lP

43–56.

[5] M.Á. Vega-Velázquez, A.G. Nájera, and H. Cervantes, A survey on the Software Project Scheduling Problem, International Journal of Production Economics, 202 (2018) 145–161. [6] X. Shen, L.L. Minku, N. Marturi, Y. Guo, and Y. Han, A Q-learning-based memetic algorithm for multi-objective dynamic software project scheduling, Information Sciences, 428 (2018) 1-29.

urn a

[7] B. Crawford, R. Soto, G. Astorga, and J. Lemus, A. Salas-Fernández, Self-configuring intelligent water drops algorithm for software project scheduling problem, in: Proceedings of the International Conference on Information Technology & Systems, (2019) 274-283. [8] L. Minku, D. Sudholt, and X. Yao, Improved evolutionary algorithm design for the project scheduling problem based on runtime analysis, IEEE Transactions on Software Engineering, 40 (1) (2014) 83-102. [9] W. Chen and J. Zhang, Ant colony optimization for software project scheduling and staffing with an event-based scheduler, IEEE Transactions on Software Engineering, 39 (1) (2013) 1-17. [10] Y. Guo, J. Ji, J. Ji, D. Gong, J. Cheng, and X Shen, Firework-based software project scheduling method con-

Jo

sidering the learning and forgetting effect, Soft Computing, 23 (13) (2019) 5019–5034. [11] T. Dokeroglua, E. Sevinc, T. Kucukyilmaz, and A. Cosar, A survey on new generation metaheuristic algorithms, Computers & Industrial Engineering, 137 (2019) 1-29. [12] T. Weise, R. Chiong, and K. Tang, Evolutionary optimization: Pitfalls and booby traps, Journal of Computer Science Technolgy, 27 (5) (2012) 907-936. [13] Y. Wang, H. Liu, F. Wei, T. Zong, X. Li, Cooperative coevolution with formula-based variable grouping for large-scale global optimization. Evolutionary Computation, 26 (4) (2018) 569-596. [14] Y. Mei, X. Li, and X. Yao, Cooperative coevolution with route distance grouping for large-scale capacitated arc routing problems, IEEE Transactions on Evolutionary Computation, 18 (3) (2014) 435-449.

Journal Pre-proof [15] B. Kazimipour, M.N. Omidvar, A.K. Qin, X.D. Li, X. Yao, Bandit-based cooperative coevolution for tackling contribution imbalance in large-scale optimization problems, Applied Soft Computing, 76 (2019) 265-281. [16] Q. Yang, W. Chen, J. Zhang, Evolution consistency based decomposition for cooperative coevolution, IEEE Access, 6 (2018) 51084-51097. [17] Y. Mei, M.N. Omidvar, X. Li, and X. Yao, A competitive divide-and-conquer algorithm for unconstrained large-scale black-box optimization, ACM Transactions on Mathematical Software, 42 (2) (2016) 1-24. [18] M.N. Omidvar, X. Li, Y. Mei, and X. Yao, Cooperative coevolution with differential grouping for large scale optimization, IEEE Transactions on Evolutionary Computation, 18 (3) (2014) 378-393.

pro of

[19] M.N. Omidvar, M. Yang, Y. Mei, X. Li, and X. Yao., DG2: A Faster and More Accurate Differential Grouping for Large-Scale Black-Box Optimization[J]. IEEE Transactions on Evolutionary Computation, 21 (6) (2017) 929-942.

[20] X. Ma, F. Liu, Y. Qi, X. Wang, L. Li, L. Jiao, M. Yin, and M. Gong, A multiobjective evolutionary algorithm based on decision variable analyses for multi-objective optimization problems with large scale variables, IEEE Transactions on Evolutionary Computation, 20 (2) (2016) 275-298.

[21] X. Zhang, Y. Tian, R. Cheng, and Y. Jin, A decision variable clustering based evolutionary algorithm for large-scale many-objective optimization, IEEE Transactions on Evolutionary Computation, 22 (1) (2018) 97-112.

re-

[22] R. Shang, K. Dai, L.C. Jiao, and R. Stolkin. Improved Memetic Algorithm Based on Route Distance Grouping for Multiobjective Large Scale Capacitated Arc Routing Problems, IEEE Transactions on cybernetics, 46 (4) (2016) 1000-1013.

[23] R.S. Pressman, software engineering: a practitioner's approach, sixth ed., McGraw-Hill Science, 2005.

Springer-Verlag, Berlin, 2017.

lP

[24] B. Slim, D. Rituparna, and G. Abhishek. Recent Advances in Evolutionary Multi-objective Optimization,

[25] N. Hossein and A. Hamdi, Solving the multi-objective economic emission dispatch problems using Fast Non-Dominated Sorting TVAC-PSO combined with EMA, Applied Soft Computing, 85 (2019) 1-20. [26] A.M. Altabeeb and A.M. Mohsen, A. Ghallab. An improved hybrid firefly algorithm for capacitated vehicle routing problem. Applied Soft Computing, 84 (2019) 1-9.

urn a

[27] X. Wu, X. Shen, C. Li. The flexible job-shop scheduling problem considering deterioration effect and energy consumption simultaneously. Computers & Industrial Engineering, 135(2019) 1004-1024. [28] J. Branke, MCDA and multiobjective evolutionary algorithms, in: Multiple Criteria Decision Analysis, Springer, 2016, 977–1008.

[29] J. Kim, T. Hong, J. Jeong, C. Koo, K. Jeong, M. Lee, Multi-criteria decision support system of the photovoltaic and solar thermal energy systems using the multi-objective optimization algorithm, Science of the Total Environment, 659 (2019) 1100–1114.

[30] M.R. Ferrández, J.L. Redondo, B. Ivorra, Á.M. Ramos, P.M. Ortigosa, Preference-based multi-objectivization

Jo

applied to decision support for High-Pressure Thermal processes in food treatment, Applied Soft Computing, 79 (2019) 326–340.

[31] P. Shen, W. Braham, Y. Yi, E. Eaton, Rapid multi-objective optimization with multi-year future weather condition and decision-making support for building retrofit, Energy, 172 (2019) 892-912. [32] E. Alba and J.F. Chicano, Software Project Management with GAs, Information Sciences, 177 (11) (2007) 2380-2401. [33] C.K. Chang, M.J. Christensen, and T. Zhang, Genetic algorithms for project management, Annals of Software Engineering, 11 (2001) 107-139. [34] C.K. Chang, H. Jiang, Y. Di, D. Zhu, and Y. Ge, Time-line based model for software project scheduling with

Journal Pre-proof genetic algorithms, Information and Software Technology, 50 (2008) 1142-1154. [35] B. Crawford, R. Soto, F. Johnson, E. Monfroy, and F. Paredes, A max–min ant system algorithm to solve the software project scheduling problem, Expert Systems with Applications, 41 (15) (2014) 6634-6645. [36] F. Chicano, F. Luna, A.J. Nebro, and E. Alba, Using multiobjective metaheuristics to solve the software project scheduling problem, in: Proceedings of the Thirteenth Annual Genetic and Evolutionary Computation Conference, (2011) 1915-1922. [37] X. Shen, L.L. Minku, R. Bahsoon, and X. Yao, Dynamic software project scheduling through a proactive-rescheduling method, IEEE Transactions on Software Engineering, 42 (7) (2016) 658-686.

pro of

[38] B. Cao, J.W. Zhao, Z. Lv, and X. Liu, A distributed parallel cooperative coevolutionary multi-objective evolutionary algorithm for large-scale optimization, IEEE Transactions on industrial informatics, 13 (4) (2017) 2030-2037.

[39] A. Song, Q. Yang, W. Chen, and J. Zhang. A random-based dynamic grouping strategy for large scale multi-objective optimization, 2016 IEEE Congress on Evolutionary Computation (CEC), IEEE, 2016. [40] L.M. Antonio and C.A.C. Coello, Decomposition-based approach for solving large scale multi-objective problems, in: Proceedings of the fourteenth International Conference on Parallel Problem Solving from Nature- PPSN XIV, Edinburgh, U.K., (2016) 525-534.

[41] Q. Zhang and H. Li, MOEA/D: A multi-objective evolutionary algorithm based on decomposition, IEEE

re-

Transactions on Evolutionary Computation, 11 (6) (2007) 712-731.

[42] L. Antonio and C.A.C. Coello, Use of cooperative coevolution for solving large scale multiobjective optimization problems, in Proceedings of IEEE Congress on Evolutionary Computation, (2013) 2758–2765. [43] S. Kukkonen and J. Lampinen, GDE3: The third evolution step of generalized differential evolution, in: Proceedings of IEEE Congress on Evolutionary Computation, Edinburgh, UK, (2005) 443-450.

lP

[44] H. Zille, H. Ishibuchi, S. Mostaghim, and Y. Nojima, Weighted optimization framework for large-scale multi-objective optimization, in: Proceedings of the Genetic and Evolutionary Computation Conference, (2016) 83-84.

[45] H. Zille, H. Ishibuchi, S. Mostaghim, and Y. Nojima, A framework for large-scale multiobjective optimization based on problem transformation, IEEE Transactions on Evolutionary Computation, 22 (2) (2018) 260-275.

urn a

[46] H. Zille and S. Mostaghim, Comparison study of large-scale optimization techniques on the LSMOP benchmark functions, in: Proceedings of IEEE Symposium Series on Computational Intelligence (SSCI), (2017) 1-8.

[47] H. Qian and Y. Yu, Solving high-dimensional multi-objective optimization problems with low effective dimensions, in Proceedings of the thirty-first AAAI Conference on Artificial Intelligence (AAAI), San Francisco, CA, USA, (2017) 875-881.

[48] Z. Wang, F. Hutter, M. Zoghi, D. Matheson, and N.D. Feitas, Bayesian optimization in a billion dimensions via random embeddings, Journal of Artificial Intelligence Research, 55 (1) (2016) 361-387.

Jo

[49] W. Hong, K. Tang, A. Zhou, H. Ishibuchi, and X. Yao. A scalable indicator-based evolutionary algorithm for large-scale multi-objective optimization, IEEE Transactions on Evolutionary Computation, 23 (3) (2019) 525-537.

[50] Z. Djaafar, M. Abdelouahab, and B. Fouad. A cooperative swarm intelligence algorithm for multi-objective discrete optimization with application to the knapsack problem, European Journal of Operational Research, 264 (2018) 74-88. [51] R. Shang, K. Dai, L. Jiao, and R. Stolkin, Improved memetic algorithm based on route distance grouping for multi-objective large scale capacitated arc routing problems, IEEE Transactions on Cybernetics, 6 (4) (2016) 1000-1013.

Journal Pre-proof [52] J. Ren, M. Harman, and M.D. Penta, Cooperative Coevolutionary Optimization of Software Project Staff Assignments and Job Scheduling, In: Search Based Software Engineering, SSBSE 2011, Lecture Notes in Computer Science, Springer, Berlin, Heidelberg, 6956 (2011). _

[53] D. Šmite, N.B. Moe, A. Šablis, and C. Wohlin, Software teams and their knowledge networks in large-scale software development, Information and Software Technology, 86 (2017) 71-86. [54] H. Wang, L. Jiao, and X. Yao, Two_Arch2: an improved two-archive algorithm for many-objective optimization, IEEE Transactions on Evolutionary Computation, 19 (4) (2015) 524-541. [55] W. Chen, T. Weise, Z. Yang, and K. Tang, Large-scale global optimization using cooperative coevolution with

Nature-PPSN XI, Kraków, Poland, (2010) 300-309.

pro of

variable interaction learning, in: Proceedings of international Conference on Parallel Problem Solving from

[56] R. Cheng, Y. Jin, M. Olhofer, and B. Sendhoff, A reference vector guided evolutionary algorithm for many-objective optimization, IEEE Transactions on Evolutionary Computation, 20 (5) (2016) 773-791. [57] K. Deb, Multi-objective optimization using evolutionary algorithms, New York: John Wiley & Sons, 2001. [58] M.N. Omidvar, X. Li, and X. Yao, Smart use of computational resources based on contribution for cooperative coevolutionary algorithms, in: Proceedings of Genetic and Evolutionary Computation Conference, Dublin, Ireland, (2011) 1115-1122.

[59] M. Yang, M.N. Omidvar, C. Li, X. Li, Z. Cai, B. Kazimipour, and X. Yao, Efficient resource allocation in

re-

cooperative coevolution for large-scale global optimization, IEEE Transactions on Evolutionary Computation, 21 (4) (2017) 493-505.

[60] R.D. Al-Dabbagha, F. Neri, N. Idris, M.S. Baba, Algorithmic design issues in adaptive differential evolution schemes: Review and taxonomy, Swarm and Evolutionary Computation, 43 (2018) 284-311.

(1995) 115-148.

lP

[61] K. Deb and R.B. Agrawal, Simulated binary crossover for continuous search space, Complex Systems, 9 (2)

[62] H. Li and Q. Zhang, Multiobjective optimization problems with complicated Pareto sets, MOEA/D and NSGA-II, IEEE Transactions on Evolutionary Computation, 13 (2) (2009) 284-302. [63] K. Deb, M. Mohan, and S. Mishra, Evaluating the ε-domination based multi-objective evolutionary algorithm for a quick computation of Pareto-optimal, Evolutionary Computation, 13 (4) (2005) 501-525.

urn a

[64] J. Knowles and D. Corne, Approximating the nondominated front using the pareto archived evolution strategy, Evolutionary Computation, 8 (2) (2000) 149-172. [65] D.A.V. Veldhuizen and G.B. Lamont, Multiobjective evolutionary algorithm test suites, in: Proceedings of 1999 ACM Symposium on Applied Computing, (1999) 351-357. [66] J.R. Schott, Fault tolerant design using single and multicriteria genetic algorithm optimization, Master’s thesis, Department of Aeronautics and Astronautics, Massachusetts Institute of Technology, Cambridge, Massachusetts, 1995.

[67] R. Shang, L. Jiao, F. Liu, and W. Ma, A novel immune clonal algorithm for MO problems. IEEE Transaction

Jo

on Evolutionary Computation, 16 (1) (2012) 35-50.