1 Introduction
Cloud computing has played an essential role in dealing with the evergrowing 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, realtime analytics, and tactile Internet have imposed more stringent requirements on the communication network. Since cloud data centers (DC) are often located far away from endusers 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 enddevices. Indeed, edge nodes (ENs) can reside anywhere along the edgetocloud continuum [1]. An EN may consist of one or multiple edge servers. Also, an EN can be colocated 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 lowlatency and highreliability applications.
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 delaysensitive service (e.g., AR/VR, realtime 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 mixedinteger linear program (MILP), which can be solved efficiently using offtheshelf 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, underprovisioning 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, overprovisioning 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, cyberattacks, 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 resilienceaware twostage robust model for an SP, who provides a delaysensitive 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 decisionmaking 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 twostage adaptive robust optimization (ARO) approach [4, 5, 2] to address the problem. To the best of our knowledge, this is the first twostage 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 delaysensitive. Finally, we propose two new efficient solutions for solving the formulated problem. Our main contributions are summarized as follows:

Modeling: We propose a novel resilienceaware twostage 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 mastersubproblem 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 runningtime of CCGbased algorithms is sensitive to the uncertainty sets, we introduce an affine decision rule approximation approach, which is independent of the set sizes, to solve largescale 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.
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 delaysensitive 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.
The SP is assumed to be a pricetaker 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 delaysensitive 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 firststage 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 worstcase 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 
2.2 Uncertainty Modeling
Since the exact demand and node failures are usually cannot be predicted accurately at the time of making the firststage decisions, these system uncertainties need to be properly captured and integrated into the decisionmaking 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 widelyused 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 commonlyused 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 decisionmaking 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 twostage robust model which assists the SP to minimize its cost while enhancing the user experience. The firststage 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 worstcase 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 firststage cost and secondstage cost. The twostage 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 firststage cost and the secondstage 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 secondstage 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 worstcase 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 twostage 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 worstcase 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 nondisrupted 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 secondstage 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 firststage 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 worstcase 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 largescale 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 secondstage bilevel problem as a maxmax 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 secondstage 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 ColumnandConstraint Generation (CCG)
To solve (), we first develop an iterative algorithm based on the CCG method [4] that decomposes the original twostage robust problem into a master problem (MP), which is a relaxation of problem (14), and a bilevel maxmin 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 (), secondstage 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 maxmin problem representing the decision making process of the SP in the second stage. Specifically, given the firststage 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 secondstage problem satisfies the relatively complete recourse condition that is required for CCG [4] to work. The relatively complete recourse condition implies that the secondstage 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 maxmin 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 CCGbased 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 twostage robust edge service placement and workload allocation problem () in an iterative mastersubproblem framework, as shown in Algorithm 1.
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 worstcase 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 weaklyincreasing (i.e., improved) after each iteration. By definition in (19), the UB is nonincreasing. 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 maxmin 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 dualitybased approach has significantly less number of constraints and integer variables compared to the MILP obtained by the KKT conditions.
3.1.4 KKTbased 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 nonlinear complementary constraint can be transformed into a set of linear constraints by using FortunyAmat 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 Dualitybased Solution for the Subproblem
Instead of the KKTbased reformulation as in [4], when the demand uncertainty budget is an integer, we can transform the subproblem into an MILP using dualitybased reformulation. If is noninteger, 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 KKTbased reformulation, the dualitybased reformulation has the advantage of generating fewer variables and constraints, which reduces computational time, especially for largescale systems. By using LP duality, we first write the dual of (18) and then, the subproblem (17) becomes a maxmax 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 nonlinear 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 nonlinear problem (21), we can solve the following MILP:
(22a)  
(22b)  
(22c)  
(22d)  
(22e)  
(22f)  
(22g) 
When we use the dualitybased 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 worstcase, 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 largescale problem instances.
The main idea behind ADR is to restrict the secondstage 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 twostage 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)  
Comments
There are no comments yet.