# Multiproject Resources Allocation Model under Fuzzy Random Environment and Its Application to Industrial Equipment Installation Engineering

Authors: Jun Gang; Jiuping Xu; Yinfeng Xu
Journal: Journal of Applied Mathematics
 (2013)

---

## Abstract

This paper focuses on a multiproject resource allocation problem in
a bilevel organization. To solve this problem, a bilevel multiproject resource allocation model under a fuzzy random
environment is proposed. Two levels of decision makers are
considered in the model. On the upper level, the company manager
aims to allocate the company's resources to multiple projects to
achieve the lowest cost, which include resource costs and a
tardiness penalty. On the lower level, each project manager attempts
to schedule their resource-constrained project, with minimization of
project duration as the main objective. In contrast to prior
studies, uncertainty in resource allocation has been explicitly
considered. Specifically, our research uses fuzzy random variables
to model uncertain activity durations and resource costs. To search
for the optimal solution of the bilevel model, a hybrid algorithm
made up of an adaptive particle swarm optimization, an adaptive
hybrid genetic algorithm, and a fuzzy random simulation algorithm is
also proposed. Finally, the efficiency of the proposed model and
algorithm is evaluated through a practical case from an industrial
equipment installation company. The results show that the proposed
model is efficient in dealing with practical resource allocation problems in a bilevel organization.


---

## Body

## 1. Introduction

Because more and more construction companies must deal with multiple projects at the same time, both the theory and practice of multiproject resource allocation problems (MPRAP) are being paid increasing attention in the construction industry. In existing researches, resource allocation has often been considered only a constraint in multiple project scheduling problems and thus MPRAP has often been called a resource-constrained multiple project scheduling problem [1]. The importance and the wide-ranging applicability of multiproject resource allocation methods have been more widely accepted in recent years [2–6]. Fricke and Shenhar [2] investigated the differences associated with the resource allocation between multiproject management and single project management. Ben-Zvi and Lechler [5] tested several multiproject resource allocation strategies in realistic environments using a heuristic simulation tool. Xu and Zhang [6] proposed a resource-constrained scheduling model with multiple projects and applied it to a large-scale water conservancy and hydropower construction project.All this research has assisted in the improvement of multiple project resource allocation. However, it is still commonly assumed that a single manager oversees all projects. In today’s industrial climate, managers face an increasingly complicated decision environment. As a result, a single manager has difficulties in dealing with across project resource allocation in addition to resource management within projects. In this case, a bilevel organizational structure is frequently used for project management [7]. This type of organization structure has largely been used in the construction industry and the software industry. In this bilevel organization, a central authority (company manager) determines the allocation across several projects. Once resources have been assigned to a project, a project manager then schedules the activities within a single project using the assigned resources. Thus, the project resource allocation in a bilevel organization is a bilevel decision-making problem. Jennergren and Müller [8] originally proposed a bilevel resource allocation problem, in which they discussed a simple case made up of a headquarter and two divisions. Yang and Sum [9] discussed a bilevel resource allocation problem using a systematic analysis, in which they defined the resource allocation and project scheduling rules, the performances of which were then evaluated through experimentation. Yang and Sum [7] further extended this research as they examined the performance of due date, resource allocation, project release, and activity scheduling rules at the same time. This research had a positive impact on multiproject resource allocation as several resource allocation methods were compared. However, litter research has focused on an optimization decision-making problem. As a result, some managers are still confused about planning for optimal resource allocation in a bilevel and multiproject environment. Therefore, in this paper we will discuss a multiproject resource allocation problem using a bilevel optimization programming model.In addition to the complexities of the bilevel structure, uncertainty is also frequently considered in resource allocation problems. Methods for dealing with uncertainty in decision-making mainly include random, fuzzy, and interval mathematical programming [10]. In resource allocation, the uncertainty traditionally has been assumed to be random. Golenko-Ginzburg and Gonik [11, 12] considered a resource-constrained network project scheduling problem with a random activity duration dependent on the resource amounts assigned to that activity. Cohen et al. [13] addressed a resource allocation problem in stochastic, finite-capacity, multiproject systems using a cross entropy methodology. Bidot et al. [14] summarized these stochastic methods for dealing with uncertainty in practical project management. Though probability theory has been successfully applied to resource allocation problems, sometimes some uncertain parameters cannot be modeled using random theory because of several factors such as the lack of statistical data. In this case, probability theory can be replaced by fuzzy set theory as introduced by Zadeh [15]. Mjelde [16] first applied fuzzy set theory to a resource allocation problem. Following this research, many papers focus on resource allocation problems under a fuzzy environment [17–19] where the duration was often modelled as a fuzzy variable. In the research mentioned above, fuzziness and randomness were often considered separate aspects. But in reality, we may face a hybrid uncertain environment where fuzziness and randomness coexist in a decision-making process. In a project, some activities may be rarely performed for which the duration times can be described by fuzzy variables, while some other activities may have been processed many times before so duration times can be summarized using random variables. In this case, the fuzzy random variable, which was first proposed by Kwakernaak [20], can be a useful tool for the optimization of a resource assignment with mixed fuzziness and randomness uncertainty, because it is able to deal with the two types of uncertainty simultaneously.Hence, this paper focuses on this type of bilevel multiproject resource allocation problem (BLMPRAP) under a fuzzy random environment, in which we attempt to find an optimal allocation scheme using a bilevel programming model. In this model, the decision maker on the upper level is the company manager whose aim is to determine an optimal scheme for the allocation of company resource among multiple projects. The objective of the company manager is to minimize total cost which consists of resource cost and a tardiness penalty, while at the same time considering the lower-level decision-making. On the lower level, each project manager attempts to schedule their project in the most efficient way using the assigned resources. Contrary to the company manager, the project manager’s objectives are focused on the project duration and finishing time of the project, rather than the cost. Therefore, the minimization of project duration is considered the objective on the lower level. In addition, the uncertainty associated with activity duration and resource costs is also explicitly considered in the model. Specifically, our research uses fuzzy random variables to model the activity duration and resource costs. Moreover, we also focus on a solution method for the proposed bilevel resource allocation model and two main heuristic methods are discussed in the algorithm section, and a solution method which integrates these two algorithms is proposed. Finally, a representative case is used to test the model and algorithm.The remainder of this paper is organized as follows. In Section2, two key problems are discussed: why the bilevel model is used for this problem and how to model the uncertain resource allocation environment using fuzzy random variables. Based on this analysis, the bilevel model for the considered multiproject resource allocation problem with fuzzy random variables in a hierarchical organization is detailed in Section 3. To solve the proposed model in Section 3, a solution algorithm based on the PSO and GA is introduced in Section 4. Then in Section 5, this proposed model and algorithm are applied to a practical case, which reflects the effectiveness of the proposed methodology in dealing with practical problems. Finally, concluding remarks and future research directions are outlined in Section 6.


## 2. Key Problem Statement

The problem considered in this paper is a bilevel resource allocation problem with multiple projects under a fuzzy random environment. In this section we explain why this problem should be solved using a bilevel programming model and outline the procedure for modeling uncertain activity duration and resource cost using fuzzy random variables.


### 2.1. Bilevel Resource Management Framework

In practice, more and more companies are concurrently managing multiple projects with limited resources. In order to service each project better, a hierarchical (bilevel) organizational structure which consists of a company level and a project level is being used by many companies such as construction companies, software companies, and some production companies. In these cases, the company managers need to deal with hierarchical decision-making.To handle these decentralized optimal planning problems in a hierarchical (or multiple-level) organization which has more than one decision maker, multilevel mathematical programming has been proposed [21]. Bilevel programming indicates that the hierarchical organization is composed of only two levels and is a sequence of two optimization problems in which the constraints region of one is determined by the solution of the second [22]. There are some common features in bilevel programming [23–25]. (1) There are interactive decision-making units within a hierarchical or bilevel structure in the organization. (2) The lower-level executes its decisions after, and in consideration of, the decisions of the upper level or leader. (3) Both the leader and the follower independently seek to maximize or minimize their own objectives, and often these objectives are in conflict. (4) The mutual influence between the leader and follower when making a decision is reflected in both the objective function and the constraints. Therefore, to assist in resolving the conflict between the two levels, bilevel programming is an appropriate method for dealing with the decision-making in a bilevel organization.In this paper, resource allocation is considered across multiple projects in a bilevel organization which includes two levels of managers (i.e., company managers and project managers). On the upper level, the company managers are generally responsible for corporate planning and coordination between the multiple project groups with the aim of maximizing the company’s income. In the construction industry, they generally control and manage key company resources, such as large-scale equipment and senior engineering staff. However, resources are generally limited and some are also very expensive. To save costs, company managers have to make detailed resource assignment plans over multiple projects. Cost is dependent on the practical project schedule as a tardiness penalty occurs if the project duration exceeds its contracted finishing time, so company managers must also consider the project managers’ decisions when planning their resource allocation over multiple projects. On the lower level, project managers also maintain a reasonable level of resources called the “project resource.” The manager of each project is responsible for resource allocation (including project resources and assigned company resources) over multiple project activities to ensure that the project is completed on time, so they also have to develop a resource-constrained project schedule after the company resources assignment plan has been completed.Usually, there are different objectives between the company’s projects and the project managers. The company managers desire a resources assignment plan that achieves a lower cost and a shorter duration. However, at the same time, the achievement of these objectives is dependent on not only the upper-level decision-making, but also the actions of the project managers. The project managers pay more attention to the finishing time or the cost of a single project, which may be in contradiction to the company’s benefit. Company managers know that the project managers make decisions based on the assigned company resources, so to some degree they have some influence on the project managers’ decisions through the different resource allocation schemes. Therefore, the considered multiproject resource allocation is a decision-making problem in a bilevel organization with a degree of conflict in terms of benefits. It is appropriate to solve this problem using bilevel programming. In bilevel programming, the decision maker on the upper level is the company manager who seeks to allocate company resources to multiple projects at the lowest cost. On the lower level, each project manager attempts to schedule their project with the objective of project duration minimization under resource constraints. The bilevel resource assignment problem is illustrated in Figure1.Figure 1
Flow chart for the considered bilevel resource assignment problem.


### 2.2. Uncertain Activity Duration and Resource Cost

The fuzzy random environment has been studied and applied to many areas such as inventory problem [26], vehicle routing [27], logistics network design [28], and water resources allocation [29]. These studies show the necessity of considering fuzzy random environment in practical problems. With this background and evidence, there is a strong motivation for considering a fuzzy random environment for the BLMPRAP.In real conditions, uncertainty analysis is always an important consideration for managers in many areas of operations, such as the uncertainty that exists in activity durations, resource requirements, and operating costs. In this paper, our main consideration is project activity duration and unit resource cost uncertainty.Activity durations are always uncertain because of a lack of knowledge and in previous studies they have often modeled these uncertainties as random or fuzzy variables. However, there are often circumstances where both fuzzy and random factors exist in a complex uncertain environment. For example, a company plans to install a boiler in a power plant construction project in October, but they do not have enough experience or historical data on this type of project. In this case, fuzzy variables are used to model the activity durations. At the same time, some known information associated with the activity duration, such as the effects of the weather, can be modeled as a random variable. For example, a shower may slow down the transportation speed of some necessary equipment or extreme temperatures may lead to lower work efficiency. From the local statistical information, in October, it is predicted with a probability of 0.6 to rain, with a probability of 0.3 to be fine, and a probability of 0.1 to be cloudy. Therefore, the weather can be modelled as a discrete random variable. In this situation, activity durations considering both fuzzy factors and random factors can be modelled as fuzzy random variables as shown in Figure2. This means that more information is modelled into the variable, so more precise data can be obtained for solving practical problems through the use of fuzzy random variables rather than fuzzy variables or random variables, which results in a more precise solution to the model.Figure 2
Employing fuzzy random variables to model activity durations.The situation is similar for resource costs. For example, as the gasoline price and the crane operators’ wages are expected to rise, the cost of crane operations will also go up. However, it is very difficult to obtain a precise value because of the many uncertainties. In this case, an interval[a,b] is used to model the changing cost. Further, based on the analysis of historical data, the cost is most possibly at around ρ, which is an expected value of a random variable which follows a normal distribution N(μ,σ). Then, the cost of the crane operations can be described as a fuzzy random variable c¯~=(a,ρ,b) with ρ~N(μ,σ) as Figure 3.Figure 3
Employing a fuzzy random variable to express the unit cost for company resources.Considering the bilevel structure and uncertain environment simultaneously, the BLMPRAP under a fuzzy random environment can be stated as follows. A company has contracted n projects at the same time, though the company managers are unable to fully manage these projects, so for effective management they take charge of only some key resources and establish project groups to manage the projects. The problem the company managers face is how to assign the company resources to each project group, while the project manager has to schedule their project with some resource constraints. To deal with this uncertainty, the activity durations and resource costs are modeled as fuzzy random variables. The decision-making framework for the proposed bilevel multiproject resource assignment problem is illustrated in Figure4.Figure 4
Decision-making framework for the considered BLMPRAP.


## 2.1. Bilevel Resource Management Framework

In practice, more and more companies are concurrently managing multiple projects with limited resources. In order to service each project better, a hierarchical (bilevel) organizational structure which consists of a company level and a project level is being used by many companies such as construction companies, software companies, and some production companies. In these cases, the company managers need to deal with hierarchical decision-making.To handle these decentralized optimal planning problems in a hierarchical (or multiple-level) organization which has more than one decision maker, multilevel mathematical programming has been proposed [21]. Bilevel programming indicates that the hierarchical organization is composed of only two levels and is a sequence of two optimization problems in which the constraints region of one is determined by the solution of the second [22]. There are some common features in bilevel programming [23–25]. (1) There are interactive decision-making units within a hierarchical or bilevel structure in the organization. (2) The lower-level executes its decisions after, and in consideration of, the decisions of the upper level or leader. (3) Both the leader and the follower independently seek to maximize or minimize their own objectives, and often these objectives are in conflict. (4) The mutual influence between the leader and follower when making a decision is reflected in both the objective function and the constraints. Therefore, to assist in resolving the conflict between the two levels, bilevel programming is an appropriate method for dealing with the decision-making in a bilevel organization.In this paper, resource allocation is considered across multiple projects in a bilevel organization which includes two levels of managers (i.e., company managers and project managers). On the upper level, the company managers are generally responsible for corporate planning and coordination between the multiple project groups with the aim of maximizing the company’s income. In the construction industry, they generally control and manage key company resources, such as large-scale equipment and senior engineering staff. However, resources are generally limited and some are also very expensive. To save costs, company managers have to make detailed resource assignment plans over multiple projects. Cost is dependent on the practical project schedule as a tardiness penalty occurs if the project duration exceeds its contracted finishing time, so company managers must also consider the project managers’ decisions when planning their resource allocation over multiple projects. On the lower level, project managers also maintain a reasonable level of resources called the “project resource.” The manager of each project is responsible for resource allocation (including project resources and assigned company resources) over multiple project activities to ensure that the project is completed on time, so they also have to develop a resource-constrained project schedule after the company resources assignment plan has been completed.Usually, there are different objectives between the company’s projects and the project managers. The company managers desire a resources assignment plan that achieves a lower cost and a shorter duration. However, at the same time, the achievement of these objectives is dependent on not only the upper-level decision-making, but also the actions of the project managers. The project managers pay more attention to the finishing time or the cost of a single project, which may be in contradiction to the company’s benefit. Company managers know that the project managers make decisions based on the assigned company resources, so to some degree they have some influence on the project managers’ decisions through the different resource allocation schemes. Therefore, the considered multiproject resource allocation is a decision-making problem in a bilevel organization with a degree of conflict in terms of benefits. It is appropriate to solve this problem using bilevel programming. In bilevel programming, the decision maker on the upper level is the company manager who seeks to allocate company resources to multiple projects at the lowest cost. On the lower level, each project manager attempts to schedule their project with the objective of project duration minimization under resource constraints. The bilevel resource assignment problem is illustrated in Figure1.Figure 1
Flow chart for the considered bilevel resource assignment problem.


## 2.2. Uncertain Activity Duration and Resource Cost

The fuzzy random environment has been studied and applied to many areas such as inventory problem [26], vehicle routing [27], logistics network design [28], and water resources allocation [29]. These studies show the necessity of considering fuzzy random environment in practical problems. With this background and evidence, there is a strong motivation for considering a fuzzy random environment for the BLMPRAP.In real conditions, uncertainty analysis is always an important consideration for managers in many areas of operations, such as the uncertainty that exists in activity durations, resource requirements, and operating costs. In this paper, our main consideration is project activity duration and unit resource cost uncertainty.Activity durations are always uncertain because of a lack of knowledge and in previous studies they have often modeled these uncertainties as random or fuzzy variables. However, there are often circumstances where both fuzzy and random factors exist in a complex uncertain environment. For example, a company plans to install a boiler in a power plant construction project in October, but they do not have enough experience or historical data on this type of project. In this case, fuzzy variables are used to model the activity durations. At the same time, some known information associated with the activity duration, such as the effects of the weather, can be modeled as a random variable. For example, a shower may slow down the transportation speed of some necessary equipment or extreme temperatures may lead to lower work efficiency. From the local statistical information, in October, it is predicted with a probability of 0.6 to rain, with a probability of 0.3 to be fine, and a probability of 0.1 to be cloudy. Therefore, the weather can be modelled as a discrete random variable. In this situation, activity durations considering both fuzzy factors and random factors can be modelled as fuzzy random variables as shown in Figure2. This means that more information is modelled into the variable, so more precise data can be obtained for solving practical problems through the use of fuzzy random variables rather than fuzzy variables or random variables, which results in a more precise solution to the model.Figure 2
Employing fuzzy random variables to model activity durations.The situation is similar for resource costs. For example, as the gasoline price and the crane operators’ wages are expected to rise, the cost of crane operations will also go up. However, it is very difficult to obtain a precise value because of the many uncertainties. In this case, an interval[a,b] is used to model the changing cost. Further, based on the analysis of historical data, the cost is most possibly at around ρ, which is an expected value of a random variable which follows a normal distribution N(μ,σ). Then, the cost of the crane operations can be described as a fuzzy random variable c¯~=(a,ρ,b) with ρ~N(μ,σ) as Figure 3.Figure 3
Employing a fuzzy random variable to express the unit cost for company resources.Considering the bilevel structure and uncertain environment simultaneously, the BLMPRAP under a fuzzy random environment can be stated as follows. A company has contracted n projects at the same time, though the company managers are unable to fully manage these projects, so for effective management they take charge of only some key resources and establish project groups to manage the projects. The problem the company managers face is how to assign the company resources to each project group, while the project manager has to schedule their project with some resource constraints. To deal with this uncertainty, the activity durations and resource costs are modeled as fuzzy random variables. The decision-making framework for the proposed bilevel multiproject resource assignment problem is illustrated in Figure4.Figure 4
Decision-making framework for the considered BLMPRAP.


## 3.   Modelling

To solve the multiproject resource allocation problem in a bilevel organization, a bilevel programming model under a fuzzy random environment is constructed. The mathematical description for this problem is given as follows.


### 3.1. Assumptions

To model the problem more efficiently, the following assumptions are adopted.(1)
The bilevel resource assignment problem consists of multiple resources and multiple projects. There are no new projects during the scheduled resource allocation periods.(2)
The problem has two levels of decision makers, that is, company managers on the upper level and project managers on the lower level. The managerial objective on the upper level is to minimize the total cost for all projects, and the objective on the lower level is to minimize the project duration.(3)
A single project consists of a number of activities each with several optional execution modes. Each mode is a combination of duration and resource requirements [30]. Activities cannot be interrupted, and every activity must be performed in only one mode.(4)
Each activity needs multiple types of resources. The unit cost for each company resource and the duration for each activity are modelled as fuzzy random variables.(5)
The company manager is responsible for resource allocation during multiple projects. Resources assigned to all projects do not exceed the limited quantities in any time period.


### 3.2.  Notations

Indices
n: the project index, n=1,2,…,N;
i: the activity index, i=1,2,…,In;
j: the mode index, j=1,2,…,Ji;
k: the resource index, k=1,2,…,K;
t: the project time period index, t=1,2,…,T;
p: the resource assignment time period index, p=1,2,…,P.Parameters
R
k
p: the total quantity of resource k in time period p;
d
¯
~
n
i
j: duration of activity i executed in mode j in project n;
P
r
n
(
i
): set of immediate predecessors of activity i in project n;
r
n
i
j
k: amount of resource k required to execute activity i in mode j in project n;
T
n: the scheduled finishing time of project n;
T
n
*: the predetermined finishing time of project n;
t
n
i
EF: the early finishing time of activity i in project n;
t
n
i
LF: the late finishing time of activity i in project n;
D
T
n: the overdue time of project n;
t
n
i
j: the processing finishing time of activity i in mode j in project n;
c
-
~
k
p: the unit cost of resource k in period p;
c
p
n: the unit overdue penalty cost of project n.Decision Variables
R
n
k
p: the quantity of resource k assigned to project n in time period p;
(1)xnijt={1,ifactivityiisexecutedinmodejandisscheduledtobefinishedintimet0,otherwise.


### 3.3.  Multiproject Resource Allocation

The problem the company manager on the upper level faces is how to allocate the limited company resources over several projects in each period (generally the period is one week); in other words, they need to decide the quantity to be allocated to each project in each period for each type of resource. With this in mind, the decision variables for the upper level areRnkp.For resource allocation problems, minimization of the total cost or maximization of the total profit is often considered as the decision objective [5]. The cost is made up of the resource costs and the total tardiness penalty for the multiple projects. Resource costs occur when resources are allocated to a project group, so the resource cost can be stated as ∑n=1Nc-~kRnkp for each type of resource in every period. The project tardiness penalty occurs when a project finishing time exceeds its predetermined finishing time. DTn represents the overdue time of project n. It is a function on the finish time as in
(2)DTn={Tn-Tn*,ifTn≥Tn*0,otherwise.Therefore, the total tardiness penalty can be stated as∑n=1NcpnDTn, and the total cost can be described as
(3)∑n=1N‍cpnDTn+∑p=1P‍∑k=1K‍∑n=1N‍c-~kpRnkp.In this equation, the unit resource costc-~kp is uncertain because of the many changing influences such as gasoline prices and wages. In this paper, we consider a hybrid uncertain environment involving both fuzziness and randomness. To deal with this uncertainty, c-~kp is modelled as a fuzzy random variable which means that the total cost is also a fuzzy random variable. Technically, it is not possible to derive a precise minimum total cost and an optimal solution. In a practical decision-making process, the decision makers usually choose a satisfactory solution with a certain deviation rather than an optimal solution. In these cases, chance-constrained programming, which was first introduced by Charnes and Cooper [31], is often used. It is assumed that the goal of decision makers is to minimize the objective value on the condition of chance level α, where α is the predetermined confidence level which is provided as an appropriate safety margin by the decision maker. Generally, the value of α is bigger than 0.5 [32].In order to introduce the chance-constrained programming, the concept of a chance measure for the fuzzy random variables is first explained. Letξ be a fuzzy random variable defined on (Ω,𝒜,Pr), and f:R→R is a real-valued continuous function. Then a primitive chance of a fuzzy random event characterized by f(ξ)≤0 is a function from (0,1] to [0,1], defined as in the following [33] equation:
(4)Ch{f(ξ)≤0}(β)=supβ∈[0,1]{ω∣Pr{ω∈Ω∣Pos{f(ξ)≤0}≥α}≥β},
where Pos{·} is the possibility of the fuzzy event and Pr{·} is the probability of the random event. β is referred to as the predetermined confidence levels associated with the probability measure of the random event Pos{f(ξ)≤0}≥α. Generally, decision makers tend to take the same confidence levels between the parameters α and β.From the definition of the chance measure, we can derive the following equation:(5)Ch{f(ξ)≤0}(β)≥α⟺Pr{ω∈Ω∣Pos{f(ξ)≤0}≥α}≥β.Since it is not possible to derive a precise minimum objective, the decision makers descend to seek a minimum objective valueF1 on the condition of possibility level α at probability level β. Then, the fuzzy random objective can be transformed into the chance constraint Ch{∑n=1NcpnDTn+∑p=1P∑k=1K∑n=1Nc-~kpRnkp≤F1}(β)≥α. That is, Pr{ω∣Pos{∑n=1NcpnDTn+∑p=1P∑k=1K∑n=1Nc-~kpRnkp≤F1}≥α}≥β. Finally, the uncertain model is transformed to a chance-constrained model, and the following objective function and constraint are obtained:
(6)minF1
subject to (s.t.)
(7)Pr{∑n=1N‍cpnDTn+∑p=1P‍∑k=1K‍∑n=1N‍c-~kpRnkp≤F1ω∣Pos{∑n=1N‍cpnDTn+∑p=1P‍∑k=1K‍∑n=1N‍c-~kpRnkp≤F1}≥α∑n=1N‍cpnDTn+∑p=1P‍∑k=1K‍∑n=1N‍c-~kpRnkp≤F1}≥β.Resource constraints must be met for all types of resource allocation problems. That is, for each type of resource, the total quantity allocated to every project cannot exceed the ownership quantity of the company in each period. This constraint is described as(8)∑n=1N‍Rnkp≤Rkp,∀k=1,…,K;p=1,…,P.Equations ((4)–(6)) make up the resource allocation model as in (9). In this model, the project finishing time is determined by solving the lower-level model. It can also be seen that the decisions on the lower level have an effect on the resource allocation on the upper level as follows:
(9)minF1s.t.Pr{ω∣Pos{∑n=1N‍cpnDTn+∑p=1P‍∑k=1K‍∑n=1N‍c-~kpRnkp≤F1}≥α{∑n=1N‍cpnDTn+∑p=1P‍∑k=1K‍∑n=1N‍c-~kpRnkp≤F1}}≥β∑n=1N‍Rnkp≤Rkp,∀k=1,…,K;p=1,…,PDTn={Tn-Tn*,ifTn≥Tn*0,otherwise,whereTnissolvedinthelower-levelmodel.


### 3.4. Resource-Constrained Project Scheduling

When the resources are allocated to each project, the project manager has to consider how to make use of these resources to finish the project more quickly. Therefore, each project manager is faced with a resource-constrained project scheduling problem. Usually, the resources consist of company resources and project resources. In this paper, we only consider the company resources when scheduling the project.For project scheduling, the minimization of project duration is often considered as the decision objective [1]. In this paper, the finishing time of the last activity is used to describe the project duration. This finishing time must be located in the range between the early finishing time and the late finishing time of the project after consideration of the entire range of possible execution modes. This can be stated as ∑j=ImI∑t=tnIEFtnILFtxnIjt. Here, tnIEF and tnILF are the early finishing time and the late finishing time of activity I in project n, respectively. Therefore, the objective function can be described as follows:
(10)Tn=∑j=ImnI‍∑t=tnIEFtnILF‍txnIjt.In addition, some constraints must be met. First, each activity must be scheduled and its finish time must be in the range of its earliest finishing time and its latest possible finishing while ensuring that all activities are adequately arranged and there is only one execution mode for each activity. So we can get the following constraint:(11)∑j=1mni‍∑t=tniEFtniLF‍xnijt=1,i=1,2,…,I.In the scheduling problem, precedence is the basic term which ensures the rationality of the arrangement.∑j=1mnl∑t=tnlEFtnlLFtxnljt is denoted as the actual finishing time of activity l in project n. This must be between the earliest finishing time and the latest finishing time when the activity is scheduled in a certain executed mode. ∑j=1mni‍∑t=tniEFtniLF(t-d~ij)xijt is the starting time of the immediately following activity i in project n. Generally, the beginning time of each activity must be posterior to the finishing time of its immediate predecessors. However, under a fuzzy random environment, the duration of activity i is a fuzzy random variable. In this case, it is difficult to meet this constraint strictly. Decision makers always hope to meet the constraint using an expected value for the fuzzy random variable. From the definition of Puri and Ralescu [34], the expected value E(ξ) of a fuzzy random variable ξ can be calculated using the following equation:
(12)(E(ξ))α=∫Ω‍ξαdP={∫Ω‍f(ω)dP(ω):f∈L1P,f(ω)a.s.[P]},
where ∫Ω‍ξαdP is the Aumann integral of ξα about P and L1P denote all of the integrable function f:Ω→R about the probability measure P.The fuzzy expected value reflects the center value that the fuzzy random variable tends towards and describes the fuzzy random variable statistical properties. After going through the fuzzy expected operation above, all fuzzy random durations are transformed into fuzzy durations. Then the expected value operator of the fuzzy variables based on a fuzzy measure [33] can be used to transform the fuzzy duration into a crisp duration. This can be calculated using
(13)EMe(E(d¯~))=∫0+∞Me{E(d¯~)≥r}dr-∫0+∞Me{E(d¯~)≤r}dr,
where Me is a type of fuzzy measure. Let A be a fuzzy event; then Me{A}=λPos{A}+(1-λ)Nec{A}. λ are the optimistic and pessimistic indices, respectively, to determine the combined attitude of the decision maker.From the fuzzy random expected value operator and the fuzzy expected value operator, the expected precedence constraints can be obtained as(14)∑j=1mnl‍∑t=tnlEFtnlLF‍txnljt≤∑j=1mni‍∑t=tniEFtniLF‍(t-Me{E(d¯~nij)})xnijt,l∈P(i),i=1,2,…,In.In addition to the precedence constraints, resource constraints must be considered as well in this problem. In each period, the available resource quantity isRnkp which is allocated as part of the upper-level decisions. The resource constraint is described in (15). It ensures that the amount of resources k used by all activities does not exceed its limited quantity Rnkp in any period as follows:
(15)∑i=1In‍∑j=1mni‍rnijk∑s=tt+Me{E(d¯~ij)}-1xijs≤Rnkp,k∈K,t=1,2,…,T.The objective function and the constraints form the resource-constrained project scheduling model as in(16)minTn=∑j=ImnI‍∑t=tnIEFtnILF‍txnIjts.t.∑j=1mni‍∑t=tniEFtniLF‍xnijt=1,i=1,2,…,I∑j=1mnl‍∑t=tnlEFtnlLF‍txnljt≤∑j=1mni‍∑t=tniEFtniLF‍(t-Me{E(d¯~nij)})xnijt,l∈P(i),i=1,2,…,In∑i=1In‍∑j=1mni‍rnijk∑s=tt+Me{E(d¯~ij)}-1‍xijs≤Rnkp,k∈K,t=1,2,…,Txnijt∈{0,1},∀n,i,j,t.


### 3.5. The Completed Bilevel Model

There are two levels of decision makers in the considered BLMPRAP. The decision maker on the upper level, the company manager, hopes to allocate the company resources to multiple projects at the lowest cost. The cost consists of resource costs and the tardiness penalty, so the upper-level decision maker is able to control the resource cost through appropriate allocation. The tardiness penalty is dependent on the finishing time of all projects, which in turn is determined by the specific project managers through their project schedule. In this situation, the company manager must consider the decision of the project managers. The company manager does know that the project managers must schedule their projects under the resource constraints. Therefore, the company manager can influence the decision-making of project managers on the lower-level model using different resource allocation schemes.On the lower level, each project manager attempts to make a more efficient schedule under the resource constraints. The objective is often to minimize the finishing time of the project, although this may conflict with the company’s objective. This is another reason why such a problem needs to be modeled as a bilevel programming model. In addition, uncertainty also impacts the decision. In this paper, the uncertain resource cost and activity duration are described using fuzzy random variables. On the upper level, possibility theory is used to deal with the uncertain resource cost. On the lower level, an expected value operation is used to cope with the uncertain activity duration. In sum, the complete bilevel programming model can be established based on the above discussion as in (17). In the model, the chance constrains are nonlinear when being transformed to crisp equations. As a result, the proposed model is a nonlinear bilevel optimization model under a fuzzy random environment as follows:
(17)minRnkpF1s.t.Pr{∑p=1P‍∑k=1K‍∑n=1N‍c¯~kpRnkpω∣Pos{∑p=1P‍∑k=1K‍∑n=1N‍c¯~kpRnkp∑n=1N‍cpnDTn+∑p=1P‍∑k=1K‍∑n=1N‍c¯~kpRnkp≤F1}≥α}≥β∑n=1N‍Rnkp≤Rkp,∀k=1,…,K;p=1,…,PDTn={Tn-Tn*,ifTn≥Tn*0,otherwise,whereTnissolvedinthefollowingmodel:minxnijtTn=∑j=ImnI‍∑t=tnIEFtnILF‍txnIjt,n=1,…,Ns.t.∑j=1mni‍∑t=tniEFtniLF‍xnijt=1,i=1,2,…,I∑j=1mnl‍∑t=tnlEFtnlLF‍txnljt≤∑j=1mni‍∑t=tniEFtniLF‍(t-Me{E(d¯~nij)})xnijt,l∈P(i),i=1,2,…,In∑i=1In‍∑j=1mni‍rnijk∑s=tt+Me{E(d¯~ij)}-1‍xijs≤Rnkp,k∈K,t=1,2,…,Txnijt∈{0,1},∀n,i,j,t.


## 3.1. Assumptions

To model the problem more efficiently, the following assumptions are adopted.(1)
The bilevel resource assignment problem consists of multiple resources and multiple projects. There are no new projects during the scheduled resource allocation periods.(2)
The problem has two levels of decision makers, that is, company managers on the upper level and project managers on the lower level. The managerial objective on the upper level is to minimize the total cost for all projects, and the objective on the lower level is to minimize the project duration.(3)
A single project consists of a number of activities each with several optional execution modes. Each mode is a combination of duration and resource requirements [30]. Activities cannot be interrupted, and every activity must be performed in only one mode.(4)
Each activity needs multiple types of resources. The unit cost for each company resource and the duration for each activity are modelled as fuzzy random variables.(5)
The company manager is responsible for resource allocation during multiple projects. Resources assigned to all projects do not exceed the limited quantities in any time period.


## 3.2.  Notations

Indices
n: the project index, n=1,2,…,N;
i: the activity index, i=1,2,…,In;
j: the mode index, j=1,2,…,Ji;
k: the resource index, k=1,2,…,K;
t: the project time period index, t=1,2,…,T;
p: the resource assignment time period index, p=1,2,…,P.Parameters
R
k
p: the total quantity of resource k in time period p;
d
¯
~
n
i
j: duration of activity i executed in mode j in project n;
P
r
n
(
i
): set of immediate predecessors of activity i in project n;
r
n
i
j
k: amount of resource k required to execute activity i in mode j in project n;
T
n: the scheduled finishing time of project n;
T
n
*: the predetermined finishing time of project n;
t
n
i
EF: the early finishing time of activity i in project n;
t
n
i
LF: the late finishing time of activity i in project n;
D
T
n: the overdue time of project n;
t
n
i
j: the processing finishing time of activity i in mode j in project n;
c
-
~
k
p: the unit cost of resource k in period p;
c
p
n: the unit overdue penalty cost of project n.Decision Variables
R
n
k
p: the quantity of resource k assigned to project n in time period p;
(1)xnijt={1,ifactivityiisexecutedinmodejandisscheduledtobefinishedintimet0,otherwise.


## 3.3.  Multiproject Resource Allocation

The problem the company manager on the upper level faces is how to allocate the limited company resources over several projects in each period (generally the period is one week); in other words, they need to decide the quantity to be allocated to each project in each period for each type of resource. With this in mind, the decision variables for the upper level areRnkp.For resource allocation problems, minimization of the total cost or maximization of the total profit is often considered as the decision objective [5]. The cost is made up of the resource costs and the total tardiness penalty for the multiple projects. Resource costs occur when resources are allocated to a project group, so the resource cost can be stated as ∑n=1Nc-~kRnkp for each type of resource in every period. The project tardiness penalty occurs when a project finishing time exceeds its predetermined finishing time. DTn represents the overdue time of project n. It is a function on the finish time as in
(2)DTn={Tn-Tn*,ifTn≥Tn*0,otherwise.Therefore, the total tardiness penalty can be stated as∑n=1NcpnDTn, and the total cost can be described as
(3)∑n=1N‍cpnDTn+∑p=1P‍∑k=1K‍∑n=1N‍c-~kpRnkp.In this equation, the unit resource costc-~kp is uncertain because of the many changing influences such as gasoline prices and wages. In this paper, we consider a hybrid uncertain environment involving both fuzziness and randomness. To deal with this uncertainty, c-~kp is modelled as a fuzzy random variable which means that the total cost is also a fuzzy random variable. Technically, it is not possible to derive a precise minimum total cost and an optimal solution. In a practical decision-making process, the decision makers usually choose a satisfactory solution with a certain deviation rather than an optimal solution. In these cases, chance-constrained programming, which was first introduced by Charnes and Cooper [31], is often used. It is assumed that the goal of decision makers is to minimize the objective value on the condition of chance level α, where α is the predetermined confidence level which is provided as an appropriate safety margin by the decision maker. Generally, the value of α is bigger than 0.5 [32].In order to introduce the chance-constrained programming, the concept of a chance measure for the fuzzy random variables is first explained. Letξ be a fuzzy random variable defined on (Ω,𝒜,Pr), and f:R→R is a real-valued continuous function. Then a primitive chance of a fuzzy random event characterized by f(ξ)≤0 is a function from (0,1] to [0,1], defined as in the following [33] equation:
(4)Ch{f(ξ)≤0}(β)=supβ∈[0,1]{ω∣Pr{ω∈Ω∣Pos{f(ξ)≤0}≥α}≥β},
where Pos{·} is the possibility of the fuzzy event and Pr{·} is the probability of the random event. β is referred to as the predetermined confidence levels associated with the probability measure of the random event Pos{f(ξ)≤0}≥α. Generally, decision makers tend to take the same confidence levels between the parameters α and β.From the definition of the chance measure, we can derive the following equation:(5)Ch{f(ξ)≤0}(β)≥α⟺Pr{ω∈Ω∣Pos{f(ξ)≤0}≥α}≥β.Since it is not possible to derive a precise minimum objective, the decision makers descend to seek a minimum objective valueF1 on the condition of possibility level α at probability level β. Then, the fuzzy random objective can be transformed into the chance constraint Ch{∑n=1NcpnDTn+∑p=1P∑k=1K∑n=1Nc-~kpRnkp≤F1}(β)≥α. That is, Pr{ω∣Pos{∑n=1NcpnDTn+∑p=1P∑k=1K∑n=1Nc-~kpRnkp≤F1}≥α}≥β. Finally, the uncertain model is transformed to a chance-constrained model, and the following objective function and constraint are obtained:
(6)minF1
subject to (s.t.)
(7)Pr{∑n=1N‍cpnDTn+∑p=1P‍∑k=1K‍∑n=1N‍c-~kpRnkp≤F1ω∣Pos{∑n=1N‍cpnDTn+∑p=1P‍∑k=1K‍∑n=1N‍c-~kpRnkp≤F1}≥α∑n=1N‍cpnDTn+∑p=1P‍∑k=1K‍∑n=1N‍c-~kpRnkp≤F1}≥β.Resource constraints must be met for all types of resource allocation problems. That is, for each type of resource, the total quantity allocated to every project cannot exceed the ownership quantity of the company in each period. This constraint is described as(8)∑n=1N‍Rnkp≤Rkp,∀k=1,…,K;p=1,…,P.Equations ((4)–(6)) make up the resource allocation model as in (9). In this model, the project finishing time is determined by solving the lower-level model. It can also be seen that the decisions on the lower level have an effect on the resource allocation on the upper level as follows:
(9)minF1s.t.Pr{ω∣Pos{∑n=1N‍cpnDTn+∑p=1P‍∑k=1K‍∑n=1N‍c-~kpRnkp≤F1}≥α{∑n=1N‍cpnDTn+∑p=1P‍∑k=1K‍∑n=1N‍c-~kpRnkp≤F1}}≥β∑n=1N‍Rnkp≤Rkp,∀k=1,…,K;p=1,…,PDTn={Tn-Tn*,ifTn≥Tn*0,otherwise,whereTnissolvedinthelower-levelmodel.


## 3.4. Resource-Constrained Project Scheduling

When the resources are allocated to each project, the project manager has to consider how to make use of these resources to finish the project more quickly. Therefore, each project manager is faced with a resource-constrained project scheduling problem. Usually, the resources consist of company resources and project resources. In this paper, we only consider the company resources when scheduling the project.For project scheduling, the minimization of project duration is often considered as the decision objective [1]. In this paper, the finishing time of the last activity is used to describe the project duration. This finishing time must be located in the range between the early finishing time and the late finishing time of the project after consideration of the entire range of possible execution modes. This can be stated as ∑j=ImI∑t=tnIEFtnILFtxnIjt. Here, tnIEF and tnILF are the early finishing time and the late finishing time of activity I in project n, respectively. Therefore, the objective function can be described as follows:
(10)Tn=∑j=ImnI‍∑t=tnIEFtnILF‍txnIjt.In addition, some constraints must be met. First, each activity must be scheduled and its finish time must be in the range of its earliest finishing time and its latest possible finishing while ensuring that all activities are adequately arranged and there is only one execution mode for each activity. So we can get the following constraint:(11)∑j=1mni‍∑t=tniEFtniLF‍xnijt=1,i=1,2,…,I.In the scheduling problem, precedence is the basic term which ensures the rationality of the arrangement.∑j=1mnl∑t=tnlEFtnlLFtxnljt is denoted as the actual finishing time of activity l in project n. This must be between the earliest finishing time and the latest finishing time when the activity is scheduled in a certain executed mode. ∑j=1mni‍∑t=tniEFtniLF(t-d~ij)xijt is the starting time of the immediately following activity i in project n. Generally, the beginning time of each activity must be posterior to the finishing time of its immediate predecessors. However, under a fuzzy random environment, the duration of activity i is a fuzzy random variable. In this case, it is difficult to meet this constraint strictly. Decision makers always hope to meet the constraint using an expected value for the fuzzy random variable. From the definition of Puri and Ralescu [34], the expected value E(ξ) of a fuzzy random variable ξ can be calculated using the following equation:
(12)(E(ξ))α=∫Ω‍ξαdP={∫Ω‍f(ω)dP(ω):f∈L1P,f(ω)a.s.[P]},
where ∫Ω‍ξαdP is the Aumann integral of ξα about P and L1P denote all of the integrable function f:Ω→R about the probability measure P.The fuzzy expected value reflects the center value that the fuzzy random variable tends towards and describes the fuzzy random variable statistical properties. After going through the fuzzy expected operation above, all fuzzy random durations are transformed into fuzzy durations. Then the expected value operator of the fuzzy variables based on a fuzzy measure [33] can be used to transform the fuzzy duration into a crisp duration. This can be calculated using
(13)EMe(E(d¯~))=∫0+∞Me{E(d¯~)≥r}dr-∫0+∞Me{E(d¯~)≤r}dr,
where Me is a type of fuzzy measure. Let A be a fuzzy event; then Me{A}=λPos{A}+(1-λ)Nec{A}. λ are the optimistic and pessimistic indices, respectively, to determine the combined attitude of the decision maker.From the fuzzy random expected value operator and the fuzzy expected value operator, the expected precedence constraints can be obtained as(14)∑j=1mnl‍∑t=tnlEFtnlLF‍txnljt≤∑j=1mni‍∑t=tniEFtniLF‍(t-Me{E(d¯~nij)})xnijt,l∈P(i),i=1,2,…,In.In addition to the precedence constraints, resource constraints must be considered as well in this problem. In each period, the available resource quantity isRnkp which is allocated as part of the upper-level decisions. The resource constraint is described in (15). It ensures that the amount of resources k used by all activities does not exceed its limited quantity Rnkp in any period as follows:
(15)∑i=1In‍∑j=1mni‍rnijk∑s=tt+Me{E(d¯~ij)}-1xijs≤Rnkp,k∈K,t=1,2,…,T.The objective function and the constraints form the resource-constrained project scheduling model as in(16)minTn=∑j=ImnI‍∑t=tnIEFtnILF‍txnIjts.t.∑j=1mni‍∑t=tniEFtniLF‍xnijt=1,i=1,2,…,I∑j=1mnl‍∑t=tnlEFtnlLF‍txnljt≤∑j=1mni‍∑t=tniEFtniLF‍(t-Me{E(d¯~nij)})xnijt,l∈P(i),i=1,2,…,In∑i=1In‍∑j=1mni‍rnijk∑s=tt+Me{E(d¯~ij)}-1‍xijs≤Rnkp,k∈K,t=1,2,…,Txnijt∈{0,1},∀n,i,j,t.


## 3.5. The Completed Bilevel Model

There are two levels of decision makers in the considered BLMPRAP. The decision maker on the upper level, the company manager, hopes to allocate the company resources to multiple projects at the lowest cost. The cost consists of resource costs and the tardiness penalty, so the upper-level decision maker is able to control the resource cost through appropriate allocation. The tardiness penalty is dependent on the finishing time of all projects, which in turn is determined by the specific project managers through their project schedule. In this situation, the company manager must consider the decision of the project managers. The company manager does know that the project managers must schedule their projects under the resource constraints. Therefore, the company manager can influence the decision-making of project managers on the lower-level model using different resource allocation schemes.On the lower level, each project manager attempts to make a more efficient schedule under the resource constraints. The objective is often to minimize the finishing time of the project, although this may conflict with the company’s objective. This is another reason why such a problem needs to be modeled as a bilevel programming model. In addition, uncertainty also impacts the decision. In this paper, the uncertain resource cost and activity duration are described using fuzzy random variables. On the upper level, possibility theory is used to deal with the uncertain resource cost. On the lower level, an expected value operation is used to cope with the uncertain activity duration. In sum, the complete bilevel programming model can be established based on the above discussion as in (17). In the model, the chance constrains are nonlinear when being transformed to crisp equations. As a result, the proposed model is a nonlinear bilevel optimization model under a fuzzy random environment as follows:
(17)minRnkpF1s.t.Pr{∑p=1P‍∑k=1K‍∑n=1N‍c¯~kpRnkpω∣Pos{∑p=1P‍∑k=1K‍∑n=1N‍c¯~kpRnkp∑n=1N‍cpnDTn+∑p=1P‍∑k=1K‍∑n=1N‍c¯~kpRnkp≤F1}≥α}≥β∑n=1N‍Rnkp≤Rkp,∀k=1,…,K;p=1,…,PDTn={Tn-Tn*,ifTn≥Tn*0,otherwise,whereTnissolvedinthefollowingmodel:minxnijtTn=∑j=ImnI‍∑t=tnIEFtnILF‍txnIjt,n=1,…,Ns.t.∑j=1mni‍∑t=tniEFtniLF‍xnijt=1,i=1,2,…,I∑j=1mnl‍∑t=tnlEFtnlLF‍txnljt≤∑j=1mni‍∑t=tniEFtniLF‍(t-Me{E(d¯~nij)})xnijt,l∈P(i),i=1,2,…,In∑i=1In‍∑j=1mni‍rnijk∑s=tt+Me{E(d¯~ij)}-1‍xijs≤Rnkp,k∈K,t=1,2,…,Txnijt∈{0,1},∀n,i,j,t.


## 4. Fuzzy Random Simulation-Based aPSO-hGA

The proposed model is a bilevel programming model, which is considered as a strong NP-hard problem [35, 36]. It is often difficult to obtain an analytical optimal solution for such problems, and the most commonly used methods are to obtain a numerically optimal solution or a numerically efficient solution using an approximation or heuristic algorithm. For bilevel programming model, the particle swarm optimization algorithm (PSO) has been proposed in some research and has had good results [37, 38]. An important motivation for using PSO to solve bilevel programming is that PSO is usually quicker than other algorithms, since it often takes much more time to solve a bilevel model than a single level one. In our model, not only the bilevel structure of the model but also the considered multimode resource-constrained project scheduling problems greatly increase the computing complexity and solution speed. In the bilevel model, the lower-level models are the constraints of the upper-level model. If the found solution is not optimal, then the final solution may not be feasible. This leads to a bilevel model which cannot be solved. Therefore, unlike the upper-level model, an algorithm with higher accuracy and stability needs to be chosen. In this paper, the multimode resource-constrained project scheduling on the lower level is solved using a genetic algorithm (GA). In addition, to deal with the fuzzy random chance constraints, a fuzzy random simulation procedure is proposed. In this case, a hybrid algorithm of an adaptive PSO and a GA based on fuzzy random simulation (fuzzy random simulation-based aPSO-hGA) is proposed to solve the proposed nonlinear bilevel optimization model under a fuzzy random environment.


### 4.1. Framework for the Proposed Solution Algorithm

To solve the bilevel model, a particle swarm optimization is proposed to search for the solution to the upper level. At the beginning of the algorithm, some feasible solutions (particles:Rnkp) for the upper level decision variables which meet the constraints of upper level model are generated. Then the solutions are set into the lower-level model. A genetic algorithm is used to find the optimal solution (xnijt) to the lower-level model. Both the solutions to the upper level and the lower level consist of the final feasible solutions ({Rnkp,xnijt}) of the model, and they are evaluated and the correlative fitness values are calculated using a fuzzy random simulation procedure. Then the pbest, gbest, and lbest are recorded, and new solutions are generated through an update of the particles. This program goes on until the stop condition is met. In addition, in order to improve convergence speed and search efficiency, a float coding method and a parameter adaptation method are proposed for the PSO algorithm, respectively. The proposed solution approach is then a hybrid of the PSO and GA, and its overall procedure can be seen in Figure 5.Figure 5
The overall procedure of the proposed solution algorithm.


### 4.2. Solving the Resource Allocation Using an Improved aPSO

To solve the bilevel model, an improved adaptive PSO is introduced to cope with the upper-level programming. In contrast to classical PSO, to improve the convergence speed, a float coding method, which is capable of incorporating various constraints in its implementation [39] and has been used in PSO for solving bilevel programming problem [37], is proposed to generate the initial particles for the upper-level variables. At the same time, a parameter adaptation regulation is applied to improve the search efficiency of the PSO. In addition, to deal with the uncertainty on the upper level, a fuzzy random simulation procedure is proposed to calculate the fitness value of each particle. The procedure for the improved adaptive PSO is as follows.Step 1.
Set the parameters for the adaptive PSO: swarm_size, iteration_max,cp, cg, cl, inertia weight_max, and inertia weight_min.Step 2.
Initialize the velocity and the position of the upper-level model. Each particle is represented asθ={R111,R112,…,R11P,R121,R122,…,R1KP,…,RNKP}. In order to generate the random particle positions for the upper-level variables, float coding method is adopted. Thus, every particle represents a real dimensional position. At the same time, the constraints ∑n=1NRnkp≤Rkp, for all k=1,…,K, p=1,…,P, are also incorporated into the coding to ensure that the generated particles meet the constraints on the upper level. That is, for any given k and p, R1kp is generated randomly within the range [0,Rkp] while Rnkp is generated within the range [0,Rkp-∑i=1n-1Rikp].Step 3.
Solve the lower-level programming with the initialization result of the upper-level variables using the proposed adaptive hybrid genetic algorithm for the multimode resource-constrained project scheduling problem.Step 4.
Calculate each fitness value using a fuzzy random simulation procedure using the calculated results of the lower level:xnijt and Tn. Here, the objective value of the upper-level model is considered the fitness value which is estimated using Procedure 1.Procedure 1:Calculate fitness value using fuzzy random simulation.
Step 1: Letn=1, Fn=-∞, f(c-~kp)=∑n=1NcpnDTn+∑p=1P∑k=1K∑n=1Nc-~kpRnkp.
Step 2: Generateω from Ω according to the probability measure Pr of the fuzzy random variables c-~kp.
Step 3: Generate a determined vectorf(c-~kp(ω)) uniformly from the α-cut of fuzzy vector f(c-~kp(ω)).
Step 4: Iff(c-~kp(ω))≤Fn, then let Fn=f(c-~kp(ω)). Return to step 3, and repeat M times.
Step 5: Ifn=N, set N′=βN and return the N′th least element in {F1, F2,…, FN} as the fitness value; else go to step 2, and n=n+1.Step 5.
Update thepbest, gbest, and lbest.Step  5.1. Update pbest: for s=1⋯S, if Fitness(θs)<Fitness(pbest), pbest=θs.Step  5.2. Update gbest: for s=1⋯S, if Fitness(θs)<Fitness(gbest), gbest=θs.Step  5.3. Update pbest: for s=1⋯S, among all pbest from K neighbors of the sth particle, set the personal best which obtains the least fitness value to be lbest.Step 6.
Update the inertia weight for iterationτ using the following equations:
(18)ω¯=∑s=1S∑h=1H|ωsh|S·H,ω*={(1-1.8τT)ωmax,0≤τ≤T2,(0.2-0.2τT)ωmax,T2≤τ≤T,Δw=(ω*-ω¯)ωmax(wmax-wmin),w=w+Δw,w=wmaxifw>wmax,w=wminifw>wmin.Step 7.
Update the velocity and the position of each particle using the following equations:(19)ωnkp(τ+1)=w(τ)ωnkp(τ)+cpur(ψnkp-θnkp(τ))+cgur(ψgh-θnkp(τ))+clur(ψnkpL-θnkp(τ)),θnkp(τ+1)=θnkp(τ)+ωnkp(τ+1)ForanygivenkandpIfθnkp(τ+1)>Rkp-∑i=1n-1‍Rikp,thensetθnkp(τ+1)=Rkp-∑i=1n-1‍Rikpandωnkp(τ+1)=0Ifθnkp(τ+1)<0,thensetθnkp(τ+1)=0andωnkp(τ+1)=0.Step 8.
If the stopping criterion is met, that is,τ=T, stop. Otherwise, τ=τ+1 and go to Step 2.


### 4.3. Solving the Project Scheduling Using a-hGA

In the considered problem, the multimode resource-constrained project scheduling problem (MRCPSP) is discussed on the lower level. For the MRCPSP, many types of heuristic algorithms such as simulated annealing [40], PSO [41], and genetic algorithm [42] have been applied in previous research. Zhang et al. [41] compared the performance of the several types of algorithms. The results show that the genetic algorithm has a higher percentage in finding the optimal schedule. Hence, the adaptive hybrid genetic algorithm which is proposed by Kim et al. [42] is introduced to solve the lower-level problem. Let P(t) and C(t) be the parents and offspring in the current generation t. The detailed procedure of the proposed genetic algorithm is as follows.Step 1.
Set the initial value and parameters for the genetic algorithm: population size, crossover ratepc, mutation rate pm, and maximum generation gmax.Step 2.
Generate the initial populationp(0) using an activity priority and multistage-based encoding routine. The individual solution is composed of two chromosomes where the first shows the feasible activity finish sequence and the second consists of activity mode assignments [42]. An example with 16 activities is illustrated in Figure 6.Figure 6
An individual solution composed of priority-based and multistage-based chromosomes.Step 3.
Evaluatep(t) using the priority-based decoding routine. The objective function is used as the fitness function.Step 4.
CreateC(t) from P(t) by order-based crossover operator for activity finish priority. The procedure is explained bellow and an example is illustrated in Figure 7.
Step  4.1. Select a set of positions from one parent in activity priority at random.Figure 7
Order-based crossover for activity priority.Step  4.2. Produce a child by copying the cites in these positions into the corresponding positions.Step  4.3. Delete the cites which are already selected form the second parent. The resulting sequence of sites contains the sites the child needs.Step  4.4. Place the cites into the unfixed positions of the child from left to right according to the order of the sequence to produce one offspring.Step 5.
CreateC(t) from P(t) using the neighborhood search mutation routine for activity mode.Step  5.1. Select a set of pivot genes randomly from the current chromosome.Step  5.2. Pick up the genes, and search for the neighbors until the bound of the activity mode.Step  5.3. Evaluate the neighbors; choose the best neighbor.Step  5.4. If the best neighbor is better than the current, replace the current with the neighbor.Step 6.
ClimbC(t) using the iterative hill climbing routine method.Step  6.1. Select the optimum chromosome in the current generation.Step  6.2. Randomly generate as many new chromosomes as the population size in the neighborhood of the optimal one.Step  6.3. Select a chromosome with the optimal value of fitness among the set of the neighborhood.Step  6.4. Compare with the optimal one in the current generation and the optimal one in the neighborhood; choose the better and put it into the current generation to be the optimum chromosome instead of the original one.Step 7.
Apply the heuristic for adaptively regulating GA parameters. SelectP(t+1) from P(t) and C(t) using elitist selection routine. The regulation is as follows:
(20)p′(t)={p(t)+α,fparsize(t)¯fparsize(t)¯≥1.1p(t)-α,fparsize(t)¯foffsize(t)¯≤0.9p(t),0.9≤fparsize(t)¯foffsize(t)¯≤1.1.Here, thep(t) can be pc(t) or pM(t). p′(t) are the new parameters amended. And when it is pc(t), α=0.05; when it is pM(t), α=0.015. fparsize(t)¯ and foffsize(t)¯ are the average fitness values of parents and offspring in the current generation t. parsize and offsize are the parent size and offspring size satisfying constraints.Step 8.
Repeat the above stages 3 to 7 aftert+1→t until the stop condition is met, that is, t≥gmax.


## 4.1. Framework for the Proposed Solution Algorithm

To solve the bilevel model, a particle swarm optimization is proposed to search for the solution to the upper level. At the beginning of the algorithm, some feasible solutions (particles:Rnkp) for the upper level decision variables which meet the constraints of upper level model are generated. Then the solutions are set into the lower-level model. A genetic algorithm is used to find the optimal solution (xnijt) to the lower-level model. Both the solutions to the upper level and the lower level consist of the final feasible solutions ({Rnkp,xnijt}) of the model, and they are evaluated and the correlative fitness values are calculated using a fuzzy random simulation procedure. Then the pbest, gbest, and lbest are recorded, and new solutions are generated through an update of the particles. This program goes on until the stop condition is met. In addition, in order to improve convergence speed and search efficiency, a float coding method and a parameter adaptation method are proposed for the PSO algorithm, respectively. The proposed solution approach is then a hybrid of the PSO and GA, and its overall procedure can be seen in Figure 5.Figure 5
The overall procedure of the proposed solution algorithm.


## 4.2. Solving the Resource Allocation Using an Improved aPSO

To solve the bilevel model, an improved adaptive PSO is introduced to cope with the upper-level programming. In contrast to classical PSO, to improve the convergence speed, a float coding method, which is capable of incorporating various constraints in its implementation [39] and has been used in PSO for solving bilevel programming problem [37], is proposed to generate the initial particles for the upper-level variables. At the same time, a parameter adaptation regulation is applied to improve the search efficiency of the PSO. In addition, to deal with the uncertainty on the upper level, a fuzzy random simulation procedure is proposed to calculate the fitness value of each particle. The procedure for the improved adaptive PSO is as follows.Step 1.
Set the parameters for the adaptive PSO: swarm_size, iteration_max,cp, cg, cl, inertia weight_max, and inertia weight_min.Step 2.
Initialize the velocity and the position of the upper-level model. Each particle is represented asθ={R111,R112,…,R11P,R121,R122,…,R1KP,…,RNKP}. In order to generate the random particle positions for the upper-level variables, float coding method is adopted. Thus, every particle represents a real dimensional position. At the same time, the constraints ∑n=1NRnkp≤Rkp, for all k=1,…,K, p=1,…,P, are also incorporated into the coding to ensure that the generated particles meet the constraints on the upper level. That is, for any given k and p, R1kp is generated randomly within the range [0,Rkp] while Rnkp is generated within the range [0,Rkp-∑i=1n-1Rikp].Step 3.
Solve the lower-level programming with the initialization result of the upper-level variables using the proposed adaptive hybrid genetic algorithm for the multimode resource-constrained project scheduling problem.Step 4.
Calculate each fitness value using a fuzzy random simulation procedure using the calculated results of the lower level:xnijt and Tn. Here, the objective value of the upper-level model is considered the fitness value which is estimated using Procedure 1.Procedure 1:Calculate fitness value using fuzzy random simulation.
Step 1: Letn=1, Fn=-∞, f(c-~kp)=∑n=1NcpnDTn+∑p=1P∑k=1K∑n=1Nc-~kpRnkp.
Step 2: Generateω from Ω according to the probability measure Pr of the fuzzy random variables c-~kp.
Step 3: Generate a determined vectorf(c-~kp(ω)) uniformly from the α-cut of fuzzy vector f(c-~kp(ω)).
Step 4: Iff(c-~kp(ω))≤Fn, then let Fn=f(c-~kp(ω)). Return to step 3, and repeat M times.
Step 5: Ifn=N, set N′=βN and return the N′th least element in {F1, F2,…, FN} as the fitness value; else go to step 2, and n=n+1.Step 5.
Update thepbest, gbest, and lbest.Step  5.1. Update pbest: for s=1⋯S, if Fitness(θs)<Fitness(pbest), pbest=θs.Step  5.2. Update gbest: for s=1⋯S, if Fitness(θs)<Fitness(gbest), gbest=θs.Step  5.3. Update pbest: for s=1⋯S, among all pbest from K neighbors of the sth particle, set the personal best which obtains the least fitness value to be lbest.Step 6.
Update the inertia weight for iterationτ using the following equations:
(18)ω¯=∑s=1S∑h=1H|ωsh|S·H,ω*={(1-1.8τT)ωmax,0≤τ≤T2,(0.2-0.2τT)ωmax,T2≤τ≤T,Δw=(ω*-ω¯)ωmax(wmax-wmin),w=w+Δw,w=wmaxifw>wmax,w=wminifw>wmin.Step 7.
Update the velocity and the position of each particle using the following equations:(19)ωnkp(τ+1)=w(τ)ωnkp(τ)+cpur(ψnkp-θnkp(τ))+cgur(ψgh-θnkp(τ))+clur(ψnkpL-θnkp(τ)),θnkp(τ+1)=θnkp(τ)+ωnkp(τ+1)ForanygivenkandpIfθnkp(τ+1)>Rkp-∑i=1n-1‍Rikp,thensetθnkp(τ+1)=Rkp-∑i=1n-1‍Rikpandωnkp(τ+1)=0Ifθnkp(τ+1)<0,thensetθnkp(τ+1)=0andωnkp(τ+1)=0.Step 8.
If the stopping criterion is met, that is,τ=T, stop. Otherwise, τ=τ+1 and go to Step 2.


## 4.3. Solving the Project Scheduling Using a-hGA

In the considered problem, the multimode resource-constrained project scheduling problem (MRCPSP) is discussed on the lower level. For the MRCPSP, many types of heuristic algorithms such as simulated annealing [40], PSO [41], and genetic algorithm [42] have been applied in previous research. Zhang et al. [41] compared the performance of the several types of algorithms. The results show that the genetic algorithm has a higher percentage in finding the optimal schedule. Hence, the adaptive hybrid genetic algorithm which is proposed by Kim et al. [42] is introduced to solve the lower-level problem. Let P(t) and C(t) be the parents and offspring in the current generation t. The detailed procedure of the proposed genetic algorithm is as follows.Step 1.
Set the initial value and parameters for the genetic algorithm: population size, crossover ratepc, mutation rate pm, and maximum generation gmax.Step 2.
Generate the initial populationp(0) using an activity priority and multistage-based encoding routine. The individual solution is composed of two chromosomes where the first shows the feasible activity finish sequence and the second consists of activity mode assignments [42]. An example with 16 activities is illustrated in Figure 6.Figure 6
An individual solution composed of priority-based and multistage-based chromosomes.Step 3.
Evaluatep(t) using the priority-based decoding routine. The objective function is used as the fitness function.Step 4.
CreateC(t) from P(t) by order-based crossover operator for activity finish priority. The procedure is explained bellow and an example is illustrated in Figure 7.
Step  4.1. Select a set of positions from one parent in activity priority at random.Figure 7
Order-based crossover for activity priority.Step  4.2. Produce a child by copying the cites in these positions into the corresponding positions.Step  4.3. Delete the cites which are already selected form the second parent. The resulting sequence of sites contains the sites the child needs.Step  4.4. Place the cites into the unfixed positions of the child from left to right according to the order of the sequence to produce one offspring.Step 5.
CreateC(t) from P(t) using the neighborhood search mutation routine for activity mode.Step  5.1. Select a set of pivot genes randomly from the current chromosome.Step  5.2. Pick up the genes, and search for the neighbors until the bound of the activity mode.Step  5.3. Evaluate the neighbors; choose the best neighbor.Step  5.4. If the best neighbor is better than the current, replace the current with the neighbor.Step 6.
ClimbC(t) using the iterative hill climbing routine method.Step  6.1. Select the optimum chromosome in the current generation.Step  6.2. Randomly generate as many new chromosomes as the population size in the neighborhood of the optimal one.Step  6.3. Select a chromosome with the optimal value of fitness among the set of the neighborhood.Step  6.4. Compare with the optimal one in the current generation and the optimal one in the neighborhood; choose the better and put it into the current generation to be the optimum chromosome instead of the original one.Step 7.
Apply the heuristic for adaptively regulating GA parameters. SelectP(t+1) from P(t) and C(t) using elitist selection routine. The regulation is as follows:
(20)p′(t)={p(t)+α,fparsize(t)¯fparsize(t)¯≥1.1p(t)-α,fparsize(t)¯foffsize(t)¯≤0.9p(t),0.9≤fparsize(t)¯foffsize(t)¯≤1.1.Here, thep(t) can be pc(t) or pM(t). p′(t) are the new parameters amended. And when it is pc(t), α=0.05; when it is pM(t), α=0.015. fparsize(t)¯ and foffsize(t)¯ are the average fitness values of parents and offspring in the current generation t. parsize and offsize are the parent size and offspring size satisfying constraints.Step 8.
Repeat the above stages 3 to 7 aftert+1→t until the stop condition is met, that is, t≥gmax.


## 5. Case Study

In this section, computational experiments that were carried out on a real application are presented. Through an illustrative example on the data set adopted from a case study, the proposed method is validated and the efficiency of the algorithm is tested. The data for resource allocation, project scheduling, and others involved in the case are from an industrial equipment installation company (company X) and an electric power design institute in Sichuan province, China. The case is introduced to demonstrate the potential real world applications of the proposed methods.


### 5.1. Presentation of Case Problem

Company X is a state-owned large-scale comprehensive installation and construction company with total assets of 460 million RMB and more than 3000 workers, which always contracts for multiple projects at the same time. To manage these projects, many project groups are found. These project groups can purchase some materials and equipment by themselves. However, some other resources must be allocated from the company such as large-scale equipment and professional staff.The company has contracted for an installation engineering project at the HP power plant construction project in Luzhou. This is made up of two projects: the installation projects of 1 and 2 power units. At the same time, the company has also contracted for another installation project: an equipment installation project for a sewage treatment construction engineering project in Luzhou. Hence, the company is managing three projects at the same time. For management convenience, each project is managed by a project group who takes charge of the project scheduling and resource allocation within their project. However, some important resources such as large-scale installation equipment are still controlled by the company manager. The problem the company manager faces is how to allocate these resources over the three projects so as to gain maximal company income. This is a good example of the proposed bilevel resource allocation problem.In this case, each power plant construction engineering installation project consists of 12 activities, while the sewage treatment construction engineering equipment installation project has 11 activities. The flow charts are illustrated in Figures8 and 9. Every activity has several optional modes, and every activity in a certain mode has a certain duration and some resource requirements. Each activity duration is modelled as a discrete triangular fuzzy random variable. The project managers traditionally use days as time units. The corresponding data is as follows in Table 1. However, each project has resource limitations including manpower, materials, and equipments, with some key resources being managed by company managers. In this paper, we consider four resources, including cranes (CR), concreting machinery (CM), welding outfits (WO), and electrical equipment (EE). The total quantities and unit costs for these equipments are shown in Table 2. In this case, all the resources are assigned to projects at the beginning of each week. Hence, we use weeks as the unit time for resource allocation. It is assumed that the other resources are sufficient for all three projects.Table 1
The activity duration and resource consumption for the installation projects.
No.
Mode
Duration
Resource requirement
CR
CM
WO
EE
16
10
30
6
A
1
{
(
32,34,36
)
,
0.5
;
(
35,38,41
)
,
0.3
;
(
42,48,54
)
,
0.2
}
6
4
8
2
2
{
(
28,30,32
)
,
0.5
;
(
30,33,35
)
,
0.3
;
(
35,40,45
)
,
0.2
}
8
5
12
2
B
1
{
(
20,23,26
)
,
0.4
;
(
22,25,28
)
,
0.3
;
(
25,30,35
)
,
0.3
}
3
2
4
2
2
{
(
15,18,21
)
,
0.4
;
(
18,21,24
)
,
0.3
;
(
20,23,26
)
,
0.3
}
4
2
6
2
3
{
(
12,15,18
)
,
0.4
;
(
15,18,21
)
,
0.3
;
(
20,24,28
)
,
0.3
}
5
4
8
2
C
1
{
(
20,23,26
)
,
0.3
;
(
22,25,28
)
,
0.3
;
(
25,30,35
)
,
0.4
}
2
3
0
0
2
{
(
15,18,21
)
,
0.3
;
(
18,21,24
)
,
0.3
;
(
20,23,26
)
,
0.4
}
3
3
0
0
D
1
{
(
24,26,28
)
,
0.3
;
(
26,28,30
)
,
0.3
;
(
30,32,34
)
,
0.4
}
2
0
4
0
2
{
(
20,23,26
)
,
0.3
;
(
22,25,28
)
,
0.3
;
(
25,30,35
)
,
0.4
}
2
0
6
0
3
{
(
18,20,22
)
,
0.3
;
(
20,22,24
)
,
0.3
;
(
22,24,26
)
,
0.4
}
3
0
8
0
E
1
{
(
28,30,32
)
,
0.3
;
(
30,33,35
)
,
0.3
;
(
35,40,45
)
,
0.4
}
2
0
3
0
2
{
(
24,26,28
)
,
0.3
;
(
28,31,34
)
,
0.3
;
(
30,34,38
)
,
0.4
}
3
0
4
0
3
{
(
20,23,26
)
,
0.3
;
(
22,25,28
)
,
0.3
;
(
25,28,31
)
,
0.4
}
4
0
5
0
F
1
{
(
15,17,19
)
,
0.4
;
(
17,19,21
)
,
0.3
;
(
20,22,24
)
,
0.3
}
2
4
0
0
2
{
(
10,12,14
)
,
0.4
;
(
12,15,18
)
,
0.3
;
(
15,18,21
)
,
0.3
}
3
6
0
0
G
1
{
(
15,17,19
)
,
0.4
;
(
17,19,21
)
,
0.3
;
(
20,22,24
)
,
0.3
}
2
0
8
1
2
{
(
10,12,14
)
,
0.4
;
(
12,15,18
)
,
0.4
;
(
15,18,21
)
,
0.2
}
3
0
10
2
H
1
{
(
3,5
,
7
)
,
1.0
}
0
0
0
4
2
{
(
5,7
,
9
)
,
1.0
}
0
0
0
6
I
1
{
(
32,34,36
)
,
0.3
;
(
35,38,41
)
,
0.3
;
(
42,48,54
)
,
0.4
}
2
2
4
0
2
{
(
28,30,32
)
,
0.3
;
(
30,33,35
)
,
0.3
;
(
35,40,45
)
,
0.4
}
4
3
6
0
J
1
{
(
20,23,26
)
,
0.5
;
(
22,25,28
)
,
0.4
;
(
25,30,35
)
,
0.1
}
2
0
0
2
2
{
(
15,18,21
)
,
0.5
;
(
18,21,24
)
,
0.4
;
(
20,23,26
)
,
0.1
}
2
0
0
2
3
{
(
12,15,18
)
,
0.5
;
(
15,18,21
)
,
0.4
;
(
20,24,28
)
,
0.1
}
3
0
0
3
K
1
{
(
28,30,32
)
,
0.3
;
(
30,33,35
)
,
0.3
;
(
35,40,45
)
,
0.4
}
1
0
3
1
2
{
(
22,25,27
)
,
0.3
;
(
25,28,31
)
,
0.3
;
(
30,33,36
)
,
0.4
}
2
0
5
2
L
1
{
(
15,17,19
)
,
0.5
;
(
17,19,21
)
,
0.4
;
(
20,22,24
)
,
0.1
}
0
0
4
2
2
{
(
13,15,17
)
,
0.5
;
(
15,17,19
)
,
0.4
;
(
17,20,23
)
,
0.1
}
0
0
6
3
3
{
(
12,14,16
)
,
0.5
;
(
14,15,16
)
,
0.4
;
(
16,17,18
)
,
0.1
}
0
0
8
4Table 2
The total quantity and unit cost of the company resources.
Resource
CR
CM
WO
EE
Total quantity
16
10
30
6
Cost(unit: CN/day)
(
780
,
ρ
,
960
),  ρ~N(850,50)
(
1020
,
ρ
,
1300
),  ρ~N(1160,80)
(
500
,
ρ
,
700
),  ρ~N(600,60)
(
920
,
ρ
,
1240
),  ρ~N(1100,75)Figure 8
The activity precedence of installation project for thermal power plant construction engineering.Figure 9
The activity precedence of installation project for sewage treatment construction engineering.


### 5.2. Computing Results

In order to run the program for the proposed PSO-GA algorithm, the parameters for the PSO algorithm were set as follows: swarm_size=40, iteration_max=200, inertia weight_max=1, weight_min=0, position acceleration constantcp=0.3, cg=0.3, and cl=0.1. For the GA, an order-based crossover is used as the crossover operator at a rate of 0.4. A neighborhood search mutation with a rate of 0.05 was used. The population size was set as 40 and the maximum cycle number was equal to 400. In this case, the predetermined finishing times for the three projects were September 15, October 31, and September 20, respectively. The unit overdue penalty costs are 50,000 RMB/day, 30,000 RMB/day, and 40,000 RMB/day, respectively.The computer running environment was an intercore 2 Duo 2.26 GHz clock pulse with 2048 MB memory. The program was written using MATLAB 2007. After 3.12 minutes on average, the optimal solutions for the bilevel programming were determined.The partial assignment scheme for these resources is shown in Table3 and Figure 10. The integrated project schedules are illustrated in Figure 12. From Table 3 and Figure 10, the following can be seen. (1) The resource should be assigned to projects dynamically since the demanded quantity changes over time. (2) It is not necessary to allocate resources during the projects for each period because the assigned quantity is the same in some continuous periods. (3) This also reflects that the allocation period length has an effect on the allocation results. From Figure 10, we can see the following. (1) The finishing time and chosen modes for project 1 and project 2 are different although they have same resources requirements. (2) Activities which need the same resources have been staggered because the total resource quantity is insufficient to implement these activities at the same time. This indicates that the scheduling is impacted by the resource allocation over the three projects although the company manager does not control the project scheduling directly. Hence, the resource allocation on the upper level can impact the decision on the lower level. Moreover, the results show that existing company resources cannot ensure that all three projects can finish on time. In this case, the company managers have to allocate more resources to the first project, which has a higher tardiness penalty. These detailed results can assist the decision makers on both the upper and lower levels to make the appropriate resources allocation plans.Table 3
An optimal resource assignment scheme after 20 experiments.
Time
CR
CM
WO
EE
P
1
P
2
P
3
P
1
P
2
P
3
P
1
P
2
P
3
P
1
P
2
P
3
1–8
8
8
0
5
5
0
12
12
0
2
2
0
9–12
4
4
8
2
2
4
6
6
10
2
2
2
13–16
6
6
4
5
5
0
8
8
12
0
0
2
17–20
7
4
4
4
4
2
19
11
0
2
2
0
21
5
4
4
0
0
4
12
8
8
0
2
2
22
4
4
4
0
0
6
9
13
6
2
2
0
23-24
5
4
4
0
0
4
10
12
8
4
2
0
25-26
5
4
6
4
4
2
4
8
8
4
0
2Figure 10
The allocation plan for Resource CR during 38 weeks.


### 5.3. Model Analysis

In this section, the proposed model is analyzed through a comparison with other resource allocation methods and an analysis is given for three uncertain models.


#### 5.3.1. Assignment Method Comparison

Traditionally, resource allocation planning over multiple projects is executed using a resource-constrained multiple project scheduling model (RCMPS). This model is dependent on an assumption that a single manager oversees all projects. That is, there is only one level manager who is responsible for the overall project resource allocation and for the resource allocation in each specific project. However, a bilevel organization structure is frequently used to manage projects which have two levels of managers. In this case, a bilevel optimization assignment model (BLOAM) is proposed to allocate the company resources over multiple projects. In this model, the company managers are responsible for the multiproject resources allocation in each period, while the project managers are responsible for the resource allocation for each specific project. In practice, other several assignment methods can also be used in the bilevel multiproject environment. One of these is called the Simple Weight Allocation Method (SWAM). The SWAM gives a weigh to each project and then assigns resources to the projects according to the weight at the beginning of each resource period. Another method is the First In System First Served (FISFS) method which gives priority to the project that has been waiting the longest when resource conflicts occur. In addition, the MINPDD method gives priority to the project that has the earliest project due date and the MINPSLK method gives priority to the project that has the smallest project slack. There is a common characteristic in these four methods, as all of them only set the allocation regulation before the project implementation rather than making a detailed allocation plan for each time period.To test these methods above, four performance measures were used: total cost, project finishing time, actual usage, and total resource transfers. Actual usage refers to the proportion of the used resources compared to the total assigned resources. In practice, in order to improve resource usage, the assigned resource is transferred to each project at the beginning of each time period. At the end, idle resources should be released back into company’s resource pool if they are not required for a project in the next time period. This resource transfer is used to record the transferred resource quantity between the company resource pool and the projects.The computation results from the five methods are shown in Table4. It is seen that, in comparison with other allocation methods, the proposed bilevel optimization allocation method can save cost more than 11.45% (600,000 RMB). The finishing time is also acceptable since it is shorter than the other three methods. Moreover, it also has the best resource usage of the five methods while the resource transfer is at an intermediate level. On the contrary, the SWAM can be seen to be unacceptable because of the high cost and the low resource usage. The other three methods have comparable performances with each other. However, all of these methods show a higher cost and lower resource usage than the proposed bilevel optimization method. Hence, the proposed bilevel optimization allocation method is efficient in reducing costs, shortening project duration, and improving resource usage. It also shows that it is necessary to decide on a resource allocation plan using the bilevel optimization method rather than only making allocation regulation before project implementation.Table 4
An optimal resource assignment scheme after 20 experiments.
Assign methods
Total cost (unit: T RMB)
Finishing time
Actual usage
Total resourcetransfers
Project 1
Project 2
Project 3
BLOAM
5242
September 6
November 16
September 25
96.42%
224
SWAM
6381
September 6
November 16
September 25
78.38%
136
FISFS
5768
September 6
November 24
October 15
92.13%
248
MINPDD
5966
September 6
November 24
October 15
94.35%
236
MINPSLK
5842
September 26
November 24
September 28
89.72%
198


#### 5.3.2. Uncertainty Analysis

Uncertainty is an important consideration in this study. In particular, fuzzy random variables which integrate fuzzy factor and random factor are used to model the uncertain activity durations and resource costs because of the lack of precise data. Besides the fuzzy random variables, we can also use fuzzy variable or random variables to deal with the uncertainty. If only fuzzy factors are considered, then some important random information such as the weather has to be ignored. The situation is similar when only considering the random factors. Taking the duration of activityA as an example, because of the lack of precise data, some experts are invited to estimate the duration. From the experts, the activity duration will be in the interval [32,54] with a most possible value of 40. Then the duration can be modelled as fuzzy number (32,40,54). This is the situation without considering random factors. In addition, the activity is estimated to be implemented in October. According to the weather data, the probability of sunshine, cloud, and rain are 0.5, 0.3, and 0.2, respectively. In this case, a new estimated value for each type of weather can be obtained. Similar to the previous estimation, these values are also fuzzy numbers. Hence, the estimated duration which considers the weather can be obtained as follows:
(21)d¯~A={(32,34,36),0.5(35,38,41),0.3(42,48,54),0.2.Compared with only fuzzy factors, the fuzzy random duration has more information which can lead to a more precise calculation. If we only consider the random factors, then the fuzzy number in the fuzzy random number has to be replaced using a crisp number. The crisp number is chosen in its interval randomly. This could lead to unstable, even false computation results.A test was also made by solving the proposed bilevel optimization model using the three types of uncertain data. In the comparison, the fuzzy random model and fuzzy random found different solutions by adjusting the optimistic and pessimistic indexλ, while the random model found different solutions by choosing different crisp numbers randomly. Table 5 shows the comparison of the three model types based on the upper level model objective. It can be seen that the proposed model with fuzzy random variables has a much better performance than the others, not only in the average value of the results, but also in the stability.Table 5
Comparisons among the three types of uncertainty.
Type of uncertain
Best result
Worst result
Average result
Fuzzy random
5240
5386
5292
Fuzzy
5259
5421
5306
Random
5204
5506
5318


### 5.4. Algorithm Evaluation

In this paper, a hybrid algorithm made up of an adaptive PSO, a GA, and a fuzzy random simulation was proposed to solve a bilevel resource allocation problem. In order to test the efficiency of the algorithm, a comparison with other solution methods was conducted.The most common solution strategy for bilevel model is to transform it into a single level using the Karush-Kuhn-Tucker (KKT) conditions. However, this is difficult when variables only take integer values in the inner models. This also means that it can not be solved using common commercial solvers. Hence, it is more appropriate to solve the problem using a heuristic algorithm. In this paper, an improved adaptive PSO was proposed to deal with the upper level model. First, a comparison of the improved aPSO and original PSO was carried out. The average convergence curves are shown in Figure11. It is shown that the proposed improved aPSO is faster and has an improved solution accuracy compared to the original PSO.Figure 11
The schedules of three projects on the lower level.Figure 12
The convergence curves of the three PSO algorithms.In addition, in our problem, the lower-level model is also better to be solved using a heuristic algorithm. Traditionally, researchers have tended to use the same algorithm to solve both the upper level and lower level. However, for a multimode resource-constrained project scheduling problem, the genetic algorithm shows a significantly higher percentage of success in finding the optimal solution although it may be slower. If the optimal solution to the lower-level model cannot be found, then the final solution may not be feasible. Hence, an adaptive genetic algorithm was proposed to deal with the lower-level model in this paper. In order to test the efficiency of the proposed hybrid algorithm, other bilevel algorithms such as PSO-PSO, GA-GA, and GA-PSO were also tested over 50 experiments. In the experiments, the PSO [41] and the GA [42] were used to solve the lower-level model. The proposed improved aPSO and the GA [43] were used to search for the solution to the upper-level model. The performance of these algorithms is shown in Table 6. The results indicate that the proposed bilevel hybrid algorithm based PSO for the upper level and GA for the lower level is able to find better solutions than either the PSO-PSO or GA-PSO, and it has a faster computation speed than that of the GA-GA. Hence, the proposed algorithm is shown to be efficient for solving the proposed bilevel multiple project resource allocation problem.Table 6
Performance of the proposed algorithms based on 50 experiments.
Performance
PSO-GA
PSO-PSO
GA-PSO
GA-GA
Best result
5,234,486
5,382,321
5,323,732
5,224,494
Average result
5,318,216
5,547,291
5,388,462
5,267,782
Computing time
3.23
2.15
5.29
14.84


## 5.1. Presentation of Case Problem

Company X is a state-owned large-scale comprehensive installation and construction company with total assets of 460 million RMB and more than 3000 workers, which always contracts for multiple projects at the same time. To manage these projects, many project groups are found. These project groups can purchase some materials and equipment by themselves. However, some other resources must be allocated from the company such as large-scale equipment and professional staff.The company has contracted for an installation engineering project at the HP power plant construction project in Luzhou. This is made up of two projects: the installation projects of 1 and 2 power units. At the same time, the company has also contracted for another installation project: an equipment installation project for a sewage treatment construction engineering project in Luzhou. Hence, the company is managing three projects at the same time. For management convenience, each project is managed by a project group who takes charge of the project scheduling and resource allocation within their project. However, some important resources such as large-scale installation equipment are still controlled by the company manager. The problem the company manager faces is how to allocate these resources over the three projects so as to gain maximal company income. This is a good example of the proposed bilevel resource allocation problem.In this case, each power plant construction engineering installation project consists of 12 activities, while the sewage treatment construction engineering equipment installation project has 11 activities. The flow charts are illustrated in Figures8 and 9. Every activity has several optional modes, and every activity in a certain mode has a certain duration and some resource requirements. Each activity duration is modelled as a discrete triangular fuzzy random variable. The project managers traditionally use days as time units. The corresponding data is as follows in Table 1. However, each project has resource limitations including manpower, materials, and equipments, with some key resources being managed by company managers. In this paper, we consider four resources, including cranes (CR), concreting machinery (CM), welding outfits (WO), and electrical equipment (EE). The total quantities and unit costs for these equipments are shown in Table 2. In this case, all the resources are assigned to projects at the beginning of each week. Hence, we use weeks as the unit time for resource allocation. It is assumed that the other resources are sufficient for all three projects.Table 1
The activity duration and resource consumption for the installation projects.
No.
Mode
Duration
Resource requirement
CR
CM
WO
EE
16
10
30
6
A
1
{
(
32,34,36
)
,
0.5
;
(
35,38,41
)
,
0.3
;
(
42,48,54
)
,
0.2
}
6
4
8
2
2
{
(
28,30,32
)
,
0.5
;
(
30,33,35
)
,
0.3
;
(
35,40,45
)
,
0.2
}
8
5
12
2
B
1
{
(
20,23,26
)
,
0.4
;
(
22,25,28
)
,
0.3
;
(
25,30,35
)
,
0.3
}
3
2
4
2
2
{
(
15,18,21
)
,
0.4
;
(
18,21,24
)
,
0.3
;
(
20,23,26
)
,
0.3
}
4
2
6
2
3
{
(
12,15,18
)
,
0.4
;
(
15,18,21
)
,
0.3
;
(
20,24,28
)
,
0.3
}
5
4
8
2
C
1
{
(
20,23,26
)
,
0.3
;
(
22,25,28
)
,
0.3
;
(
25,30,35
)
,
0.4
}
2
3
0
0
2
{
(
15,18,21
)
,
0.3
;
(
18,21,24
)
,
0.3
;
(
20,23,26
)
,
0.4
}
3
3
0
0
D
1
{
(
24,26,28
)
,
0.3
;
(
26,28,30
)
,
0.3
;
(
30,32,34
)
,
0.4
}
2
0
4
0
2
{
(
20,23,26
)
,
0.3
;
(
22,25,28
)
,
0.3
;
(
25,30,35
)
,
0.4
}
2
0
6
0
3
{
(
18,20,22
)
,
0.3
;
(
20,22,24
)
,
0.3
;
(
22,24,26
)
,
0.4
}
3
0
8
0
E
1
{
(
28,30,32
)
,
0.3
;
(
30,33,35
)
,
0.3
;
(
35,40,45
)
,
0.4
}
2
0
3
0
2
{
(
24,26,28
)
,
0.3
;
(
28,31,34
)
,
0.3
;
(
30,34,38
)
,
0.4
}
3
0
4
0
3
{
(
20,23,26
)
,
0.3
;
(
22,25,28
)
,
0.3
;
(
25,28,31
)
,
0.4
}
4
0
5
0
F
1
{
(
15,17,19
)
,
0.4
;
(
17,19,21
)
,
0.3
;
(
20,22,24
)
,
0.3
}
2
4
0
0
2
{
(
10,12,14
)
,
0.4
;
(
12,15,18
)
,
0.3
;
(
15,18,21
)
,
0.3
}
3
6
0
0
G
1
{
(
15,17,19
)
,
0.4
;
(
17,19,21
)
,
0.3
;
(
20,22,24
)
,
0.3
}
2
0
8
1
2
{
(
10,12,14
)
,
0.4
;
(
12,15,18
)
,
0.4
;
(
15,18,21
)
,
0.2
}
3
0
10
2
H
1
{
(
3,5
,
7
)
,
1.0
}
0
0
0
4
2
{
(
5,7
,
9
)
,
1.0
}
0
0
0
6
I
1
{
(
32,34,36
)
,
0.3
;
(
35,38,41
)
,
0.3
;
(
42,48,54
)
,
0.4
}
2
2
4
0
2
{
(
28,30,32
)
,
0.3
;
(
30,33,35
)
,
0.3
;
(
35,40,45
)
,
0.4
}
4
3
6
0
J
1
{
(
20,23,26
)
,
0.5
;
(
22,25,28
)
,
0.4
;
(
25,30,35
)
,
0.1
}
2
0
0
2
2
{
(
15,18,21
)
,
0.5
;
(
18,21,24
)
,
0.4
;
(
20,23,26
)
,
0.1
}
2
0
0
2
3
{
(
12,15,18
)
,
0.5
;
(
15,18,21
)
,
0.4
;
(
20,24,28
)
,
0.1
}
3
0
0
3
K
1
{
(
28,30,32
)
,
0.3
;
(
30,33,35
)
,
0.3
;
(
35,40,45
)
,
0.4
}
1
0
3
1
2
{
(
22,25,27
)
,
0.3
;
(
25,28,31
)
,
0.3
;
(
30,33,36
)
,
0.4
}
2
0
5
2
L
1
{
(
15,17,19
)
,
0.5
;
(
17,19,21
)
,
0.4
;
(
20,22,24
)
,
0.1
}
0
0
4
2
2
{
(
13,15,17
)
,
0.5
;
(
15,17,19
)
,
0.4
;
(
17,20,23
)
,
0.1
}
0
0
6
3
3
{
(
12,14,16
)
,
0.5
;
(
14,15,16
)
,
0.4
;
(
16,17,18
)
,
0.1
}
0
0
8
4Table 2
The total quantity and unit cost of the company resources.
Resource
CR
CM
WO
EE
Total quantity
16
10
30
6
Cost(unit: CN/day)
(
780
,
ρ
,
960
),  ρ~N(850,50)
(
1020
,
ρ
,
1300
),  ρ~N(1160,80)
(
500
,
ρ
,
700
),  ρ~N(600,60)
(
920
,
ρ
,
1240
),  ρ~N(1100,75)Figure 8
The activity precedence of installation project for thermal power plant construction engineering.Figure 9
The activity precedence of installation project for sewage treatment construction engineering.


## 5.2. Computing Results

In order to run the program for the proposed PSO-GA algorithm, the parameters for the PSO algorithm were set as follows: swarm_size=40, iteration_max=200, inertia weight_max=1, weight_min=0, position acceleration constantcp=0.3, cg=0.3, and cl=0.1. For the GA, an order-based crossover is used as the crossover operator at a rate of 0.4. A neighborhood search mutation with a rate of 0.05 was used. The population size was set as 40 and the maximum cycle number was equal to 400. In this case, the predetermined finishing times for the three projects were September 15, October 31, and September 20, respectively. The unit overdue penalty costs are 50,000 RMB/day, 30,000 RMB/day, and 40,000 RMB/day, respectively.The computer running environment was an intercore 2 Duo 2.26 GHz clock pulse with 2048 MB memory. The program was written using MATLAB 2007. After 3.12 minutes on average, the optimal solutions for the bilevel programming were determined.The partial assignment scheme for these resources is shown in Table3 and Figure 10. The integrated project schedules are illustrated in Figure 12. From Table 3 and Figure 10, the following can be seen. (1) The resource should be assigned to projects dynamically since the demanded quantity changes over time. (2) It is not necessary to allocate resources during the projects for each period because the assigned quantity is the same in some continuous periods. (3) This also reflects that the allocation period length has an effect on the allocation results. From Figure 10, we can see the following. (1) The finishing time and chosen modes for project 1 and project 2 are different although they have same resources requirements. (2) Activities which need the same resources have been staggered because the total resource quantity is insufficient to implement these activities at the same time. This indicates that the scheduling is impacted by the resource allocation over the three projects although the company manager does not control the project scheduling directly. Hence, the resource allocation on the upper level can impact the decision on the lower level. Moreover, the results show that existing company resources cannot ensure that all three projects can finish on time. In this case, the company managers have to allocate more resources to the first project, which has a higher tardiness penalty. These detailed results can assist the decision makers on both the upper and lower levels to make the appropriate resources allocation plans.Table 3
An optimal resource assignment scheme after 20 experiments.
Time
CR
CM
WO
EE
P
1
P
2
P
3
P
1
P
2
P
3
P
1
P
2
P
3
P
1
P
2
P
3
1–8
8
8
0
5
5
0
12
12
0
2
2
0
9–12
4
4
8
2
2
4
6
6
10
2
2
2
13–16
6
6
4
5
5
0
8
8
12
0
0
2
17–20
7
4
4
4
4
2
19
11
0
2
2
0
21
5
4
4
0
0
4
12
8
8
0
2
2
22
4
4
4
0
0
6
9
13
6
2
2
0
23-24
5
4
4
0
0
4
10
12
8
4
2
0
25-26
5
4
6
4
4
2
4
8
8
4
0
2Figure 10
The allocation plan for Resource CR during 38 weeks.


## 5.3. Model Analysis

In this section, the proposed model is analyzed through a comparison with other resource allocation methods and an analysis is given for three uncertain models.


### 5.3.1. Assignment Method Comparison

Traditionally, resource allocation planning over multiple projects is executed using a resource-constrained multiple project scheduling model (RCMPS). This model is dependent on an assumption that a single manager oversees all projects. That is, there is only one level manager who is responsible for the overall project resource allocation and for the resource allocation in each specific project. However, a bilevel organization structure is frequently used to manage projects which have two levels of managers. In this case, a bilevel optimization assignment model (BLOAM) is proposed to allocate the company resources over multiple projects. In this model, the company managers are responsible for the multiproject resources allocation in each period, while the project managers are responsible for the resource allocation for each specific project. In practice, other several assignment methods can also be used in the bilevel multiproject environment. One of these is called the Simple Weight Allocation Method (SWAM). The SWAM gives a weigh to each project and then assigns resources to the projects according to the weight at the beginning of each resource period. Another method is the First In System First Served (FISFS) method which gives priority to the project that has been waiting the longest when resource conflicts occur. In addition, the MINPDD method gives priority to the project that has the earliest project due date and the MINPSLK method gives priority to the project that has the smallest project slack. There is a common characteristic in these four methods, as all of them only set the allocation regulation before the project implementation rather than making a detailed allocation plan for each time period.To test these methods above, four performance measures were used: total cost, project finishing time, actual usage, and total resource transfers. Actual usage refers to the proportion of the used resources compared to the total assigned resources. In practice, in order to improve resource usage, the assigned resource is transferred to each project at the beginning of each time period. At the end, idle resources should be released back into company’s resource pool if they are not required for a project in the next time period. This resource transfer is used to record the transferred resource quantity between the company resource pool and the projects.The computation results from the five methods are shown in Table4. It is seen that, in comparison with other allocation methods, the proposed bilevel optimization allocation method can save cost more than 11.45% (600,000 RMB). The finishing time is also acceptable since it is shorter than the other three methods. Moreover, it also has the best resource usage of the five methods while the resource transfer is at an intermediate level. On the contrary, the SWAM can be seen to be unacceptable because of the high cost and the low resource usage. The other three methods have comparable performances with each other. However, all of these methods show a higher cost and lower resource usage than the proposed bilevel optimization method. Hence, the proposed bilevel optimization allocation method is efficient in reducing costs, shortening project duration, and improving resource usage. It also shows that it is necessary to decide on a resource allocation plan using the bilevel optimization method rather than only making allocation regulation before project implementation.Table 4
An optimal resource assignment scheme after 20 experiments.
Assign methods
Total cost (unit: T RMB)
Finishing time
Actual usage
Total resourcetransfers
Project 1
Project 2
Project 3
BLOAM
5242
September 6
November 16
September 25
96.42%
224
SWAM
6381
September 6
November 16
September 25
78.38%
136
FISFS
5768
September 6
November 24
October 15
92.13%
248
MINPDD
5966
September 6
November 24
October 15
94.35%
236
MINPSLK
5842
September 26
November 24
September 28
89.72%
198


### 5.3.2. Uncertainty Analysis

Uncertainty is an important consideration in this study. In particular, fuzzy random variables which integrate fuzzy factor and random factor are used to model the uncertain activity durations and resource costs because of the lack of precise data. Besides the fuzzy random variables, we can also use fuzzy variable or random variables to deal with the uncertainty. If only fuzzy factors are considered, then some important random information such as the weather has to be ignored. The situation is similar when only considering the random factors. Taking the duration of activityA as an example, because of the lack of precise data, some experts are invited to estimate the duration. From the experts, the activity duration will be in the interval [32,54] with a most possible value of 40. Then the duration can be modelled as fuzzy number (32,40,54). This is the situation without considering random factors. In addition, the activity is estimated to be implemented in October. According to the weather data, the probability of sunshine, cloud, and rain are 0.5, 0.3, and 0.2, respectively. In this case, a new estimated value for each type of weather can be obtained. Similar to the previous estimation, these values are also fuzzy numbers. Hence, the estimated duration which considers the weather can be obtained as follows:
(21)d¯~A={(32,34,36),0.5(35,38,41),0.3(42,48,54),0.2.Compared with only fuzzy factors, the fuzzy random duration has more information which can lead to a more precise calculation. If we only consider the random factors, then the fuzzy number in the fuzzy random number has to be replaced using a crisp number. The crisp number is chosen in its interval randomly. This could lead to unstable, even false computation results.A test was also made by solving the proposed bilevel optimization model using the three types of uncertain data. In the comparison, the fuzzy random model and fuzzy random found different solutions by adjusting the optimistic and pessimistic indexλ, while the random model found different solutions by choosing different crisp numbers randomly. Table 5 shows the comparison of the three model types based on the upper level model objective. It can be seen that the proposed model with fuzzy random variables has a much better performance than the others, not only in the average value of the results, but also in the stability.Table 5
Comparisons among the three types of uncertainty.
Type of uncertain
Best result
Worst result
Average result
Fuzzy random
5240
5386
5292
Fuzzy
5259
5421
5306
Random
5204
5506
5318


## 5.3.1. Assignment Method Comparison

Traditionally, resource allocation planning over multiple projects is executed using a resource-constrained multiple project scheduling model (RCMPS). This model is dependent on an assumption that a single manager oversees all projects. That is, there is only one level manager who is responsible for the overall project resource allocation and for the resource allocation in each specific project. However, a bilevel organization structure is frequently used to manage projects which have two levels of managers. In this case, a bilevel optimization assignment model (BLOAM) is proposed to allocate the company resources over multiple projects. In this model, the company managers are responsible for the multiproject resources allocation in each period, while the project managers are responsible for the resource allocation for each specific project. In practice, other several assignment methods can also be used in the bilevel multiproject environment. One of these is called the Simple Weight Allocation Method (SWAM). The SWAM gives a weigh to each project and then assigns resources to the projects according to the weight at the beginning of each resource period. Another method is the First In System First Served (FISFS) method which gives priority to the project that has been waiting the longest when resource conflicts occur. In addition, the MINPDD method gives priority to the project that has the earliest project due date and the MINPSLK method gives priority to the project that has the smallest project slack. There is a common characteristic in these four methods, as all of them only set the allocation regulation before the project implementation rather than making a detailed allocation plan for each time period.To test these methods above, four performance measures were used: total cost, project finishing time, actual usage, and total resource transfers. Actual usage refers to the proportion of the used resources compared to the total assigned resources. In practice, in order to improve resource usage, the assigned resource is transferred to each project at the beginning of each time period. At the end, idle resources should be released back into company’s resource pool if they are not required for a project in the next time period. This resource transfer is used to record the transferred resource quantity between the company resource pool and the projects.The computation results from the five methods are shown in Table4. It is seen that, in comparison with other allocation methods, the proposed bilevel optimization allocation method can save cost more than 11.45% (600,000 RMB). The finishing time is also acceptable since it is shorter than the other three methods. Moreover, it also has the best resource usage of the five methods while the resource transfer is at an intermediate level. On the contrary, the SWAM can be seen to be unacceptable because of the high cost and the low resource usage. The other three methods have comparable performances with each other. However, all of these methods show a higher cost and lower resource usage than the proposed bilevel optimization method. Hence, the proposed bilevel optimization allocation method is efficient in reducing costs, shortening project duration, and improving resource usage. It also shows that it is necessary to decide on a resource allocation plan using the bilevel optimization method rather than only making allocation regulation before project implementation.Table 4
An optimal resource assignment scheme after 20 experiments.
Assign methods
Total cost (unit: T RMB)
Finishing time
Actual usage
Total resourcetransfers
Project 1
Project 2
Project 3
BLOAM
5242
September 6
November 16
September 25
96.42%
224
SWAM
6381
September 6
November 16
September 25
78.38%
136
FISFS
5768
September 6
November 24
October 15
92.13%
248
MINPDD
5966
September 6
November 24
October 15
94.35%
236
MINPSLK
5842
September 26
November 24
September 28
89.72%
198


## 5.3.2. Uncertainty Analysis

Uncertainty is an important consideration in this study. In particular, fuzzy random variables which integrate fuzzy factor and random factor are used to model the uncertain activity durations and resource costs because of the lack of precise data. Besides the fuzzy random variables, we can also use fuzzy variable or random variables to deal with the uncertainty. If only fuzzy factors are considered, then some important random information such as the weather has to be ignored. The situation is similar when only considering the random factors. Taking the duration of activityA as an example, because of the lack of precise data, some experts are invited to estimate the duration. From the experts, the activity duration will be in the interval [32,54] with a most possible value of 40. Then the duration can be modelled as fuzzy number (32,40,54). This is the situation without considering random factors. In addition, the activity is estimated to be implemented in October. According to the weather data, the probability of sunshine, cloud, and rain are 0.5, 0.3, and 0.2, respectively. In this case, a new estimated value for each type of weather can be obtained. Similar to the previous estimation, these values are also fuzzy numbers. Hence, the estimated duration which considers the weather can be obtained as follows:
(21)d¯~A={(32,34,36),0.5(35,38,41),0.3(42,48,54),0.2.Compared with only fuzzy factors, the fuzzy random duration has more information which can lead to a more precise calculation. If we only consider the random factors, then the fuzzy number in the fuzzy random number has to be replaced using a crisp number. The crisp number is chosen in its interval randomly. This could lead to unstable, even false computation results.A test was also made by solving the proposed bilevel optimization model using the three types of uncertain data. In the comparison, the fuzzy random model and fuzzy random found different solutions by adjusting the optimistic and pessimistic indexλ, while the random model found different solutions by choosing different crisp numbers randomly. Table 5 shows the comparison of the three model types based on the upper level model objective. It can be seen that the proposed model with fuzzy random variables has a much better performance than the others, not only in the average value of the results, but also in the stability.Table 5
Comparisons among the three types of uncertainty.
Type of uncertain
Best result
Worst result
Average result
Fuzzy random
5240
5386
5292
Fuzzy
5259
5421
5306
Random
5204
5506
5318


## 5.4. Algorithm Evaluation

In this paper, a hybrid algorithm made up of an adaptive PSO, a GA, and a fuzzy random simulation was proposed to solve a bilevel resource allocation problem. In order to test the efficiency of the algorithm, a comparison with other solution methods was conducted.The most common solution strategy for bilevel model is to transform it into a single level using the Karush-Kuhn-Tucker (KKT) conditions. However, this is difficult when variables only take integer values in the inner models. This also means that it can not be solved using common commercial solvers. Hence, it is more appropriate to solve the problem using a heuristic algorithm. In this paper, an improved adaptive PSO was proposed to deal with the upper level model. First, a comparison of the improved aPSO and original PSO was carried out. The average convergence curves are shown in Figure11. It is shown that the proposed improved aPSO is faster and has an improved solution accuracy compared to the original PSO.Figure 11
The schedules of three projects on the lower level.Figure 12
The convergence curves of the three PSO algorithms.In addition, in our problem, the lower-level model is also better to be solved using a heuristic algorithm. Traditionally, researchers have tended to use the same algorithm to solve both the upper level and lower level. However, for a multimode resource-constrained project scheduling problem, the genetic algorithm shows a significantly higher percentage of success in finding the optimal solution although it may be slower. If the optimal solution to the lower-level model cannot be found, then the final solution may not be feasible. Hence, an adaptive genetic algorithm was proposed to deal with the lower-level model in this paper. In order to test the efficiency of the proposed hybrid algorithm, other bilevel algorithms such as PSO-PSO, GA-GA, and GA-PSO were also tested over 50 experiments. In the experiments, the PSO [41] and the GA [42] were used to solve the lower-level model. The proposed improved aPSO and the GA [43] were used to search for the solution to the upper-level model. The performance of these algorithms is shown in Table 6. The results indicate that the proposed bilevel hybrid algorithm based PSO for the upper level and GA for the lower level is able to find better solutions than either the PSO-PSO or GA-PSO, and it has a faster computation speed than that of the GA-GA. Hence, the proposed algorithm is shown to be efficient for solving the proposed bilevel multiple project resource allocation problem.Table 6
Performance of the proposed algorithms based on 50 experiments.
Performance
PSO-GA
PSO-PSO
GA-PSO
GA-GA
Best result
5,234,486
5,382,321
5,323,732
5,224,494
Average result
5,318,216
5,547,291
5,388,462
5,267,782
Computing time
3.23
2.15
5.29
14.84


## 6. Conclusion

This paper presented a bilevel optimization model for company resource allocation among multiple projects in a hierarchical organization. There are two levels of decision makers in the model. The decision maker on the upper level is the company manager who hopes to allocate company resource to multiple projects at a lower cost. This cost consists of the resource costs and the tardiness penalty. On the lower level, each project manager attempts to schedule their project with the objective of minimization of project duration under resource constraints and multiple modes. In addition, the uncertainty associated with activity duration and resource cost has been explicitly considered in the model. Specifically, our research used fuzzy random variables to model the activity duration and resource costs. Then a hybrid algorithm made up of an adaptive PSO and a GA based on fuzzy random simulation was also applied to search for the optimal solution to the bilevel model. In the algorithm, an adaptive PSO was introduced to cope with the upper level programming, while an adaptive hybrid genetic algorithm was embedded into the PSO to solve the lower-level model. Finally, the efficiency of the proposed model and algorithm was evaluated using a practical case and various computing attributes. In contrast to prior studies, the proposed model shows that it was able to deal with a multiproject resource allocation in a bilevel optimization such as in most of construction companies, software companies, and some production companies. The limitation of the proposed model is that it does not allow for new projects to be added during the scheduled resource allocation periods. This is an interest area for our future research. In addition, in future research we also expect to investigate additional methods for dealing with the uncertainty in resource management such as using interval mathematical programming, which has been successfully applied to environmental management [10, 44].



---

*Source: 818731-2013-12-10.xml*