Resilient Edge Service Placement and Workload Allocation under Uncertainty

07/10/2021
by   Jiaming Cheng, et al.
Arizona State University
0

In this paper, we study an optimal service placement and workload allocation problem for a service provider (SP), who can procure resources from numerous edge nodes to serve its users.The SP aims to improve the user experience while minimizing its cost, considering various system uncertainties. To tackle this challenging problem, we propose a novel resilience-aware edge service placement and workload allocation model that jointly captures the uncertainties of resource demand and node failures. The first-stage decisions include the optimal service placement and resource procurement, while the optimal workload reallocation is determined in the second stage after the uncertainties are disclosed. The salient feature of the proposed model is that it produces a placement and procurement solution that is robust against any possible realization of the uncertainties. By leveraging the column-and-constraint generation method, we introduce two iterative algorithms that can converge to an exact optimal solution within a finite number of iterations. We further suggest an affine decision rule approximation approach for solving large-scale problem instances in a reasonable time. Extensive numerical results are shown to demonstrate the advantages of the proposed model and solutions.

READ FULL TEXT VIEW PDF
POST COMMENT

Comments

There are no comments yet.

Authors

page 1

page 2

page 3

page 4

04/28/2020

Two-Stage Robust Edge Service Placement and Sizing under Demand Uncertainty

Edge computing has emerged as a key technology to reduce network traffic...
07/18/2021

A Bilevel Programming Framework for Joint Edge Resource Management and Pricing

The emerging edge computing paradigm promises to provide low latency and...
01/12/2018

EdgeChain: Blockchain-based Multi-vendor Mobile Edge Application Placement

The state-of-the-art mobile edge applications are generating intense tra...
10/25/2021

A Cost-Effective Workload Allocation Strategy for Cloud-Native Edge Services

Nowadays IoT applications consist of a collection of loosely coupled mod...
11/11/2020

Optimizing AI Service Placement and Resource Allocation in Mobile Edge Intelligence Systems

Leveraging recent advances on mobile edge computing (MEC), edge intellig...
11/15/2021

Near Optimal VNF Placement in Edge-Enabled 6G Networks

Softwarization and virtualization are key concepts for emerging industri...
05/28/2021

Optimal Model Placement and Online Model Splitting for Device-Edge Co-Inference

Device-edge co-inference opens up new possibilities for resource-constra...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

1 Introduction

Cloud computing has played an essential role in dealing with the ever-growing data traffic over the past decade. However, along with the proliferation of mobile devices and services, new applications such as augmented/virtual reality (AR/VR), autonomous driving, manufacturing automation, real-time analytics, and tactile Internet have imposed more stringent requirements on the communication network. Since cloud data centers (DC) are often located far away from end-users and data sources, it requires a wholesale rethinking of the network architecture to economically meet these requirements. To this end, edge computing (EC) has emerged as a vital technology that augments the cloud to mitigate network traffic, improve user experience, and enable novel Internet of Things (IoT) applications.

Fig. 1 illustrates the new network architecture where an EC layer lies between the cloud and the end-devices. Indeed, edge nodes (ENs) can reside anywhere along the edge-to-cloud continuum [1]. An EN may consist of one or multiple edge servers. Also, an EN can be co-located with a point of aggregation (POA). The user requests and sensor data are typically aggregated at POAs (e.g., switches/routers, base stations) before being transmitted to ENs or the cloud for further processing, analysis, and storage. By distributing cloud resources closer to the users, things, and sensors, EC offers significant advantages and capabilities, such as local data processing and analytics, distributed caching, and enhanced security. Also, EC enables the implementation of various low-latency and high-reliability applications.

Fig. 1: Edge network architecture

Despite tremendous potential, EC is still in its early days and many open problems remained to be addressed. In this work, we focus on the optimal service placement and workload allocation problem for a delay-sensitive service (e.g., AR/VR, real-time translation, remote robotics, cloud gaming). To enhance the user experience, the service provider (SP) can provision the service onto different distributed ENs to reduce the delay between the users and computing nodes. The SP serves a large number of users located in different areas. The main objective of the SP is to maximize the service quality while minimizing the total operating cost.

Due to the heterogeneity of the ENs, it is challenging to select suitable nodes for service placement. Specifically, while placing the service on more ENs can lower the overall delay, it also increases the SP’s cost. Furthermore, unlike the traditional cloud with a limited number of large cloud DCs, there are numerous geographically distributed heterogeneous ENs with different sizes and configurations. In addition, resource prices at different ENs can vary significantly. Therefore, some ENs closer to the users may not be selected due to their higher prices [2]. Besides service placement, the SP also has to determine the amount of resource to purchase from each selected EN. The service placement and resource procurement decisions are often referred to as service provisioning, which is constrained by the operating budget of the SP.

Given the provisioning decisions, the SP will optimally allocate the workloads from different areas to the ENs, which have installed the service, to minimize the overall network delay. If all system parameters are known exactly, the joint service placement and workload allocation problem can be formulated as a deterministic mixed-integer linear program (MILP), which can be solved efficiently using off-the-shelf MILP solvers. In practice, many system parameters are uncertain. Thus, the SP normally uses the forecast values of these parameters as input to the MILP. However, this deterministic approach can be inefficient if the actual values significantly different from the forecast values. For instance, if the actual demand is noticeably higher than the forecast demand, under-provisioning may occurs frequently, which results in dropping requests and increasing unmet demand. On the other hand, if the actual demand is lower than the forecast demand, over-provisioning happens, which unnecessarily increases the operating cost of the SP.

In addition to demand uncertainty, the unpredictability of EN failures can notoriously affect the system performance. An EN can fully or partially fails due to various reasons (e.g., extreme weather events, natural disasters, malware, cyber-attacks, software malfunctions, power outage, links/routers/switches/servers at the EN fail). If the provisioning solution of the SP contains an EN that fails during the operation period, the demand initially assigned to that EN has to be reallocated to the other selected ENs. Thus, EN failures can deteriorate the user experience since user requests may be reassigned to ENs that are distant from them. Furthermore, if the procured resources at the other ENs are insufficient to meet the reallocated demand, a portion of the workload will be dropped, which is undesirable.

How to ensure an edge system works properly and automatically adapts and optimizes its operation during extreme events is an important and challenging question. Addressing this question can help build up a resilient EC system. In this work, we propose a novel resilience-aware two-stage robust model for an SP, who provides a delay-sensitive service. The proposed model can assist the SP to compute an optimal resource provisioning solution that can hedge against the uncertainties of edge resource demand and EN failures.

While stochastic optimization (SO) is a popular tool for decision-making under uncertainty, it usually requires to know the probability distribution of uncertain data, which is hard to obtain. Moreover, the uncertainty realization during the operation period may not follow the historical pattern

[2]. Additionally, in SO, it is difficult to properly model discrete uncertainties such as EN failure events. Thus, we advocate robust optimization (RO) [3]

to tackle the joint service placement and workload allocation problem. In RO, the uncertainties are captured by parametric sets, known as uncertainty sets, which are much easier to derive than exact probability distributions. Also, the EN failures can be modeled intuitively using cardinality constrained sets

[9].

In our studied problem, the resource provisioning decision needs to be made before the actual workload allocation. Thus, instead of using the traditional static RO approach that makes all decisions at the same time and can be quite conservative, we employ the two-stage adaptive robust optimization (ARO) approach [4, 5, 2] to address the problem. To the best of our knowledge, this is the first two-stage robust model for the resilient edge service placement and workload allocation problem. This work is significantly different from our previous work [2] in several aspects. First, [2] considers only demand uncertainty while this work jointly considers the uncertainties of both demand and node failures. Second, a weighting factor is introduced to express the attitude of the SP towards the risk of uncertainties. Third, we do not consider the cloud option in this work since the service is delay-sensitive. Finally, we propose two new efficient solutions for solving the formulated problem. Our main contributions are summarized as follows:

  • Modeling: We propose a novel resilience-aware two-stage robust model for joint optimization of edge service placement, resource procurement, and workload allocation. The uncertainties of demand and EN failures are explicitly integrated into the proposed model which consists of the service placement and resource procurement in the first stage as well as the workload allocation decision in the second stage.

  • Solution Approaches: First, based on the column and constraint generation (CCG) method [4], we develop an iterative algorithm to solve the problem in a master-subproblem framework. Second, unlike [4] that uses the Karush–Kuhn–Tucker (KKT) conditions to solve the subproblem, we propose to solve the subproblem using linear programming (LP) duality when the demand uncertainty budget is integer. Third, since the running-time of CCG-based algorithms is sensitive to the uncertainty sets, we introduce an affine decision rule approximation approach, which is independent of the set sizes, to solve large-scale problem instances. Our proposed solutions are novel in the context of cloud and edge computing.

  • Simulation: Extensive numerical results are shown to demonstrate the superior performance of the proposed ARO model compared to benchmark models. We also illustrate the benefits of considering both the demand and failure uncertainties. Finally, sensitivity analyses are conducted to examine the impacts of important system parameters on the optimal solution.

The rest of the paper is organized as follows. In Section 2, we present the system model and problem formulation. The solution approaches are introduced in Section 3, followed by the numerical results in Section 4. Section 5 discuss related work. Finally, the conclusions are given in Section 6.

2 System Model and Problem Formulation

2.1 System Model

In this paper, we examine the edge resource procurement and management for an SP, who provides a delay-sensitive service (e.g., AR/VR, cloud gaming). While the SP does not own any EN, it can buy edge resources from an EC market, which consists of numerous geographically distributed heterogeneous ENs. The SP has subscribers located in different areas, where user requests in each area are aggregated at an AP. To reduce the network delay and enhance the user experience, the SP can place the service onto the ENs to serve its users directly at the edge. Hence, two major concerns for the SP are where to install its service and how much computing resource to buy from each EN. Given the procured edge resources, the SP will decide how to optimally assign workloads from different APs to the ENs. Fig. 2 depicts the system model with five areas and four ENs. The service is installed on EN1, EN2, and EN4. When there is no failures, user requests in area 4 and area 5 can be served by EN4 (i.e., their closest EN). However, when EN4 fails, the workload from these areas can be reassigned to another EN (e.g., EN2) that has installed the service.

Fig. 2: System model

The SP is assumed to be a price-taker and has a budget B for purchasing edge resources for usage during the scheduling period (e.g., an hour, a day). Let be the area index and be the set of areas, each of which is represented by an AP. The resource demand in area is . Define and as the EN index and the set of ENs, respectively. The resource capacity of EN is . Also, is the price of one unit of computing resource at EN . The delay between AP and EN is

. In practice, an EN may need to satisfy certain hardware and software requirements to operate the service. For instance, the service can be only deployed on ENs that support Pytorch and Ubuntu. Additionally, for a delay-sensitive service, the requests in an area should be served by ENs that are not too far from that area (e.g., the network delay should not exceed a certain delay threshold). Hence, we use a binary indicator

to indicate whether EN can serve demand from area or not. Specifically, if the demand from area can be handled by EN .

In the first stage, the SP optimizes the service placement and resource procurement decisions. The placement decision at EN

is represented by a binary variable

which equals to 1 if the service is installed at the EN. The amount of resource purchased from EN is denoted by . Define and . In the first stage, the SP also optimizes the workload allocation decision based on the forecast demand . Given the first-stage decisions and , in the second stage, the SP optimally reallocates the actual demand to different ENs, which have installed the service in the first stage, under the worst-case uncertainty realization. Since the exact demand and EN failures are not known to the SP in the first stage, the procured resources may not be sufficient to serve the actual demand. Hence, a portion of the user requests may be dropped. Denote by and the amount of unmet demand and the penalty for each unit of unmet demand in area , respectively. Also, let be the workload allocated from area to EN in the second stage. We often refer to and as the recourse actions.

Depending on specific market settings, the SP may or may not be allowed to adjust the amount of purchased resource during the actual operation period. In our model, we do not allow the SP to adjust in the second stage, which follows the current practice where cloud providers often require the buyers to purchase resources for usage for a minimum amount of time (e.g., one hour, one day) [2, 30]. Also, during the operation period, the demand can fluctuate significantly. Thus, the EN owners may not want the SP to frequently adjust for short intervals because the economic benefit is small while the management cost increases. Our model can be easily extended to allow the SP to readjust the amount of resource in the second stage.

Notation Meaning
EN, AP Edge Node, Access Point
, I Set and number of areas (APs)
, J Set and number of ENs
, Area (AP) index and EN index
Resource capacity of EN
Unit price of computing resource at EN
Service placement cost at EN
, “1” if EN can serve demand from area
Delay between AP and EN
B Budget of the SP
Delay penalty parameter
Penalty parameter for unmet demand in area
Weighting factor between costs in two stages
Forecast demand in area
Storage cost at EN
Resource demand from area served by EN
Workload from area to EN in the second stage
Amount of resource procurement at EN
Amount of unmet demand in area
, “1” if the service is installed at EN
, “1” if the service is initially available at EN
, “1” if EN fails
Actual demand in area
K Node failure budget
Demand uncertainty budget
Node failure uncertainty set
Demand uncertainty set
TABLE I: NOTATIONS

2.2 Uncertainty Modeling

Since the exact demand and node failures are usually cannot be predicted accurately at the time of making the first-stage decisions, these system uncertainties need to be properly captured and integrated into the decision-making model of the SP. In RO, uncertain parameters are modeled by uncertainty sets, which represent an infinite number of scenarios. The uncertainty sets are usually constructed to balance between the robustness and conservativeness of the robust solution and to make the underlying optimization problem computationally tractable [3]. Similar to our previous work [2], we employ a polyhedral uncertainty set, which is widely-used in the RO literature [3, 6, 5, 4], to model the demand uncertainty. Define and

as the vector of the actual demands and the vector of the nominal values of the demands in different areas. Note that

is the number of areas (i.e., ). Also, let be the maximum deviation of the demand in area from the nominal value . Define as the vector of maximum demand deviations. Then, the actual demand belongs to the range of . This range is normally inferred from the forecast value of the demand. The forecast demand in area is . The polyhedral demand uncertainty set can be expressed as follows:

(1)

where is called the demand uncertainty budget, which controls the conservative level of the robust solution [2, 3, 6, 5, 4]. The uncertainty budget is set by the SP and can take any value between 0 and . The demand uncertainty set enlarges as increases. If , becomes a box uncertainty set.

Besides the demand uncertainty, the SP also faces unpredictable failures of ENs during the operation period. To capture the uncertainty of the failure situation in the edge network, we employ a cardinality constrained uncertainty set, which is commonly-used to describe discrete uncertainties [9]. Let be a binary indicator which equals to 1 if EN fails. The failure uncertainty set can be represented as:

(2)

where the integer expresses the maximum number of ENs that can fail at the same time. In other words, the proposed solution is robust against up to K simultaneous EN failures. Obviously, . As increases, the optimal solution becomes more robust. However, it is also more conservative (i.e., higher resource provisioning cost). If is set to be zero, it implies that the SP does not consider potential node failures in its decision-making process. The SP can choose suitable values of and to control the level of robustness of the optimal solution. We use the following set to jointly capture the uncertainties of demand and EN failures.

(3)

2.3 Problem Formulation

We are now ready to describe the two-stage robust model which assists the SP to minimize its cost while enhancing the user experience. The first-stage decision variables include the service placement (), resource procurement (), and the workload allocation (). In the second stage, the SP optimizes the actual workload allocation () and the amount of unmet demand () under the worst-case realization of the uncertainties. These two stages are coupled by the service placement and resource procurement variables.

The SP aims to minimize the weighted sum of its operating cost, delay cost, and penalty cost for unmet demand. The operating cost consists of the service placement cost and edge resource procurement cost. If the SP decides to place the service onto EN that does not have the service installed at the beginning of the scheduling period, the service needs to be downloaded from the cloud or a nearby EN, then be installed at the EN. In this case, it incurs a cost for installing the service onto EN . Clearly, if the service is available at EN at the beginning, this cost becomes zero. Let be a binary indicator which is equal to 1 if the service is initially available at EN . The total service placement cost over all the ENs can be expressed as follows.

(4)

If the SP places the service at EN , it needs to pay a storage cost that depends on the size of the service and the length of the scheduling period. Let be the storage cost for the service at EN . Then, the total storage cost is:

(5)

The computing resource cost at EN equals to the amount of procured resource multiplied by the resource price . Thus, the total computing resource cost is:

(6)

The delay cost between area and EN is proportional to the amount of workload allocation from area to EN and the network delay between them. Thus, the total delay costs and in the first stage and the second stage, respectively, are:

(7)

Finally, the penalty for unmet demand in each area is proportional to the amount of unmet demand and the penalty for each unit of unmet demand in that area. Hence, the total penalty for unmet demand over all the areas is:

(8)

Define . Also, is a weighting factor that balances the first-stage cost and second-stage cost. The two-stage RO problem of the SP can be written as follows:

(9a)
(9b)
(9c)
(9d)
(9e)
(9f)
(9g)
(9h)
(9i)

The objective of the SP is to minimize the weighted sum of the first-stage cost and the second-stage cost. The first term in the first stage expresses the total computing resource cost. The second term is the total of the service placement cost and storage cost. The last term in the first stage is the total delay cost. The second-stage cost consists of the penalty cost for unmet demand and the actual delay cost, respectively. Note that the objective function (9a) can be written as:

(10)

Thus, problem () is indeed a trilevel optimization problem. The first level represents the problem of the SP before the the uncertainties are revealed, which seeks to minimize the SP’s cost. The second level represents the worst-case realization of the uncertainties and , which tries to degrade the service quality (i.e., higher delay and more unmet demand) and maximizes the SP’s cost. The third level represents the optimal workload allocation problem to mitigate the effects of the uncertainty realization.

The proposed two-stage robust model can be interpreted as follows. In the first stage, the SP minimizes the total cost based on the forecast demand information. In the second stage, the SP optimizes the cost under the worst-case scenario of the uncertainties. The two stages are interdependent through the service provisioning decision in the first stage. The weighting factor reflects the SP’s attitude towards the risk of demand fluctuation and node failures in the actual operation stage (i.e., the second stage). A larger value of implies the SP is more conservative and willing to pay more for the resource provisioning cost in the first stage to mitigate the risk of dropping requests and increasing delay due to the system uncertainties in the operation stage.

Let be the set of constraints related to the first stage. Also, expresses all constraints in the second stage. In particular, constraint (9b) indicates that the total computing resource allocated to each area must be sufficient to serve the forecast demand in that area. The budget constraint of the SP is presented in (9c). The payment (i.e., provisioning cost) equals to the total cost of service placement and resource procurement, which cannot exceed the SP’s budget. Note that and are used to control the delay and the amount of unmet demand. It is easy to see that the resource provisioning cost tends to increase as and increase. The delay cost and penalty cost for unmet demand are virtual costs that the SP does not have to pay.

Constraint (9d) enforces that the total amount of resource allocated from each EN to all areas cannot exceed the amount of purchased resource at that node. Furthermore, the SP should purchase resource only from the ENs at which the service is installed (i.e., = 1). Also, the purchased amount is limited by the capacity of the EN. The workload allocation decisions are nonnegative and the placement variables are binary variables as shown in (9e).

In the second stage, we can only allocate resources from ENs that have installed the service (i.e., ) and are not in a failure state (i.e., ). Moreover, the total amount of resource allocated from an EN cannot exceed the procured amount at that node in the first stage. These aspects are captured precisely by constraint (9f). It is easy to see that the workload initially assigned to a disrupted EN should be reallocated to other non-disrupted ENs. Since serves as a parameter in the second stage, it can be observed that there exists bilinear terms in the inner maxmin problem. To avoid this bilinear term, we can equivalently reformulate (9f) using the following linear constraints:

(11)

Constraint (9g) represents that the resource demand in each area can either be served by some ENs or be dropped (i.e., ). The demand from area can be served by an EN only if , which is shown in (9h). Finally, constraint (9i) enforces the feasible regions for the second-stage variables and the uncertainty parameters.

It is worth emphasizing that the main goal of our proposed model is to find the optimal service placement and resource procurement decisions, which need to be determined before the uncertainties are disclosed. These first-stage decisions and are robust against any realization of the uncertainties. In practice, the proposed system can be implemented as follows. The SP first solves problem () to obtain the optimal values of and . After observing the actual realization of the demand and failures , which is not necessarily the worst-case realization, the SP solves the following problem to obtain the optimal resource allocation decisions and in the actual operation stage:

(12a)
(12b)
(12c)
(12d)
(12e)

3 Solution Approaches

In this section, we present three solution approaches, including two variants of the CCG algorithm [4] and an affine decision rule (ADR) approximation approach, to solve the formulated trilevel problem (). First, we can show that () can be written as a large-scale MILP by enumerating over the set of extreme points of the uncertainty set . Specifically, if the innermost minimization problem in () is feasible, we can solve its dual maximization problem instead. Hence, we write the second-stage bilevel problem as a max-max problem, which is simply a maximization problem, over and dual variables associated with the constraints of the innermost problem. Because the resulting linear maximization problem is optimized over two disjoint polyhedrons, the optimal solution of the second-stage problem occurs at an extreme point of set .

Let be the set of extreme points of , where is the -th extreme point of set . Note that and . Then, problem () is equivalent to:

(13)

By enumerating all extreme points of , it is easy to see that this problem is equivalent to the following MILP:

(14a)
(14b)
(14c)

When contains a large number of extreme points, solving this MILP may be not practically feasible. Instead of solving the full equivalent problem (14) for all extreme points in , we can try to solve this problem for a subset of . Clearly, this relaxed problem contains only a subset of constraints of the minimization problem (14). Thus, this relaxed problem gives us a lower bound (LB) for the optimal value of problem (14). By gradually adding more constraints (i.e., more extreme points) to the relaxed problem, we can improve the LB of the original problem (). This is indeed the core idea behind the CCG method [4] which allows us to solve () without explicitly solving problem (14).

3.1 Column-and-Constraint Generation (CCG)

To solve (), we first develop an iterative algorithm based on the CCG method [4] that decomposes the original two-stage robust problem into a master problem (MP), which is a relaxation of problem (14), and a bilevel max-min subproblem representing the second stage. The optimal value of the MP provides a LB while the optimal solution to the subproblem helps us compute an upper bound (UB) for the optimal value of the original problem. Also, the optimal solution to the subproblem provides a significant extreme point that is used to update the MP. The optimal solution and of the MP is used to update the subproblem. By iteratively solving an updated MP and a modified subproblem, the UB and LB are improved after every iteration. Thus, CCG is guaranteed to converge to the optimal solution of the original problem in a finite number of iterations.

3.1.1 Master Problem

Initially, the MP contains no extreme points. A new extreme point is added to the MP at every iteration. Thus, at iteration , the MP has extreme points and can be written as:

(15a)
(15b)
(15c)
(15d)
(15e)
(15f)

where is the set of optimal solutions to the subproblem in all previous iterations up to iteration . Note that and . Clearly, the problem in (15) is an MILP. The optimal solution to this MP includes the optimal service placement (), resource procurement (), second-stage cost (), workload allocation (), as well as and . The optimal service placement and resource procurement decisions and will serve as input to the subproblem described in Section 3.1.2. The MP contains only a subset of constraints of the problem (14), which is equivalent to the original problem (). Hence, the optimal value of the MP is a LB for the optimal value of the original problem. The LB achieved after solving the MP at iteration is:

(16)

3.1.2 Subproblem

The subproblem is a bilevel max-min problem representing the decision making process of the SP in the second stage. Specifically, given the first-stage decisions and , the subproblem is given as follows:

(17)

The inner problem can be written explicitly as:

(18a)
(18b)
(18c)
(18d)
(18e)
(18f)

where , , , and are dual variables associated with the corresponding constraints. Also, and in problem (18) are the optimal placement and procurement to the latest MP. Thus, at iteration , for the subproblem, we have and . It can be observed that problem (18) is feasible for any uncertainty realization as well as any values of and because (, ) is always a feasible solution to this problem. Therefore, the second-stage problem satisfies the relatively complete recourse condition that is required for CCG [4] to work. The relatively complete recourse condition implies that the second-stage problem is feasible for any given values of the uncertainty realization as well as the service placement and resource procurement computed by the MP.

The subproblem is a bilevel max-min problem, which is difficult to solve. To make it easier to follow the CCG method, we temporarily assume that there is an oracle that can output an optimal solution to problem (17) for any given values of and . We will present two approaches to solve the subproblem later. Let be an optimal solution to the subproblem at iteration . Then, and are used as input to the MP in the next iteration. Also, the UB for the optimal value of the original problem () can be updated as follows:

(19a)
(19b)

3.1.3 CCG-based Iterative Algorithm

Based on the description of the MP and the subproblem above, we are now ready to present the CCG algorithm for solving the two-stage robust edge service placement and workload allocation problem () in an iterative master-subproblem framework, as shown in Algorithm 1.

1:  Initialization: set , , and .
2:  repeat
3:     Solve the MP in (15) to obtain an optimal solution and update LB according to (3.1.1).
4:     Solve the subproblem (17) with and to obtain an extreme point (, ) and update UB following (19).
5:     Update and , which are used to create new cuts in the MP in the next iteration. Also, update . Go to Step 3.
6:  until 
7:  Output: optimal placement and resource procurement decisions .
Algorithm 1 CCG-based Iterative Algorithm

The CCG algorithm starts by solving an MP in Step 3 to find an optimal placement and procurement solution, which will serve as input to the subproblem in Step 4. The subproblem gives us a new extreme point, which represents the worst-case uncertainty scenario for the given optimal and in Step 3. This extreme point is used to generate new cuts (i.e., new constraints) to add to the MP in the next iteration. Since new constraints related to the uncertainties and are added to the MP at every iteration, the feasible region of the MP decreases. Hence, the LB is weakly-increasing (i.e., improved) after each iteration. By definition in (19), the UB is non-increasing. Furthermore, since is a finite set with elements while the subproblem produces a new extreme point at every iteration, Algorithm 1 will converge in a finite number of iterations.

Proposition 3.1.

Algorithm 1 converges to the optimal solution to the original problem () in iterations.

Proof.

Please refer to Appendix 7.1 for more details. ∎

In CCG, we need to solve a bilevel max-min subproblem at every iteration. In Algorithm 1, we assume that there is an oracle to solve the subproblem (17). In the following, we present two approaches to implement this oracle. The first approach follows the original CCG paper [4] that uses KKT conditions to transform the bilevel subproblem into an equivalent MILP. When the demand uncertainty budget is an integer, we propose an alternative approach that converts the subproblem to an MILP by using LP duality. The resulting MILP from the duality-based approach has significantly less number of constraints and integer variables compared to the MILP obtained by the KKT conditions.

3.1.4 KKT-based Solution for the Subproblem

Similar to the CCG algorithm in [4], we can use KKT conditions to transform the subproblem (17) into an equivalent MILP problem. The KKT conditions are applied to the innermost problem (18). The resulting set of KKT conditions contains stationarity, primal feasibility, dual feasibility, complementary slackness constraints. Each non-linear complementary constraint can be transformed into a set of linear constraints by using Fortuny-Amat transformation [8]. Please also refer to Appendix 7.2 for more details. The final reformulation of the subproblem (17) through KKT conditions is an MILP, which is shown as follows.

(20a)
(20b)
(20c)
(20d)
(20e)
(20f)
(20g)
(20h)
(20i)
(20j)
(20k)
(20l)
(20m)
(20n)
(20o)

where and are sufficiently large numbers.

3.1.5 Duality-based Solution for the Subproblem

Instead of the KKT-based reformulation as in [4], when the demand uncertainty budget is an integer, we can transform the subproblem into an MILP using duality-based reformulation. If is non-integer, the SP can round it up to the closest integer, which indeed slightly enlarges the uncertainty set and makes the optimal solution more robust. Thus, restricting to be an integer is a mild assumption. Compared to the KKT-based reformulation, the duality-based reformulation has the advantage of generating fewer variables and constraints, which reduces computational time, especially for large-scale systems. By using LP duality, we first write the dual of (18) and then, the subproblem (17) becomes a max-max problem (i.e., simply a maximization problem). Hence, the subproblem (17) is equivalent to:

(21a)
(21b)
(21c)
(21d)
(21e)
(21f)

Note that from (1). Also, and are parameters in problem (21). Due to the bilinear terms and , (21) is a non-linear optimization problem. Since the term is a product of a binary variable and a continuous variable, we can linearize it as follows. Define . Then, the bilinear term can be replaced by and the following linear equations: , where is a sufficiently large number. Furthermore, since is an integer, it is easy to see that there always exists an optimal solution where . Then, the bilinear term becomes a product of a continuous variable and a binary variable. Thus, similar to , we can linearize using a set of equivalent linear equations. Let . Then, instead of solving the non-linear problem (21), we can solve the following MILP:

(22a)
(22b)
(22c)
(22d)
(22e)
(22f)
(22g)

When we use the duality-based transformation to solve the subproblem (17), instead of using (19), we can update the UB at iteration as follows:

(23a)
(23b)

where is an optimal solution to problem (22).

3.2 Affine Decision Rule (ADR) Approach

Although CCG can give an optimal solution to problem () within a finite number of iterations, its computational time depends on the size of the uncertainty set. From Proposition 3.1, the computational time is sensitive to the number of extreme points of the uncertainty set , i.e., the number of element of . In the worst-case, it can take a long time to converge if the uncertainty set has a huge number of extreme points. Hence, we propose an affine decision rule (ADR) approximation approach [5, 6, 7], which is insensitive to the set size, to solve large-scale problem instances.

The main idea behind ADR is to restrict the second-stage variables (i.e., recourse variables) to be affine functions of the uncertain data. If these functions are given, then for any realization of the uncertainties, we can simply use them to compute the suboptimal recourse decisions. Thus, the goal of ADR is to find reasonable functions to approximate the optimal solution to the original robust problem. While ADR only provides a suboptimal solution, Kuhn et al. showed that ADR performs surprisingly well on many practical problems and it is even optimal in certain problem classes [7]. This motivates us to examine the performance of ADR for our two-stage robust problem ().

Let and express and as functions of the uncertainties and . Then, the original problem () can be written as follows:

(24a)
(24b)
(24c)
(24d)