3.1 The framework of robust optimization model
Robust optimization obtains a set of solutions that are robust against parameter fluctuations (input data). Due to the difficulty of estimating the exact value of some input parameters, there is always a definite/indefinite level of uncertainty that causes changes in the output values. In order to deal with the uncertainty, various approaches have been used by researchers, among which robust programming has a special place (Franco et al.
2018). Different structures of robust programming have been defined, one of the most basic of which is the robust optimization approach proposed by Mulvey, which is able to take the decision of incompatibility risk or service level function (Mulvey et al.
1995). This approach also provides a set of solutions that are less sensitive to data acquisition in the scenario set (model feasibility). In this approach, two types of robustness are introduced, each of which is described below. 1) solution robustness (near-optimal solution in all scenarios) and 2) model robustness (as feasible solutions as possible in all scenarios) (Farughi et al.
2019). Solution robustness means that if the input parameters of the model change, the value of the decision variables will still be close to the global optimal value. In addition, it is called a robust solution if the final solutions are as feasible as possible for small changes in the input data. This robust optimization approach includes two distinct constraints: 1) structural constraint 2) control constraint (Farughi and Mostafayi
2016). Structural constraints are a concept of linear programming and input data are fixed and far from any disturbance, while control constraints are formulated as auxiliary constraints that are affected by uncertain data. Suppose
\(x\epsilon {R}^{{n}_{1}}\) is a vector of design variables and
\(y\epsilon {R}^{{n}_{2}}\) is a vector of control variables. The form of the robust optimization model is as follows:
$$Min {c}^{T}x+{d}^{T}y$$
(1)
Constraint (1) is a structural constraint and the coefficients are fixed. Constraint (2) is a control constraint and the coefficients are affected by the scenario and are uncertain. Constraint (3) also ensures that the variables are non-negative. The formulation of the robust optimization problem involves a set of scenarios \(\uptau =\{\mathrm{1,2},\dots \mathrm{S}\}\). Under each scenario τ ϵ S, the coefficients for the control constraints with a constant probability of \({P}_{s}\) are \(\left\{{d}_{s},{B}_{s},{C}_{s},{e}_{s}\right\}\) where \({P}_{s}\) represents the probability of occurrence of each scenario so that: \(\sum_{s}{P}_{s}=1\). It is clear that the optimal solution will be a robust solution if it remains close to the global optimal solution for each scenario of τ set, and thus the robustness of the model is achieved. It should be noted that in some cases, there are situations in which the resulting solutions may not be both feasible and optimal for all S ϵ τ scenarios at the same time. In these cases, the relationship between solution robustness and model robustness is determined using a control parameter between zero and one.
To formulate this structure, we first consider the control variable
\({Y}_{s}\) for each scenario
\(S\upepsilon \tau\) and the error vector
\({\delta }_{s}\), which measures the allowable level of infeasibility in the control constraints under scenario s. Due to the presence of uncertain parameters in the model, the final solution may be infeasible for some scenarios. Thus
\({\delta }_{s}\) indicates that the model under scenario
s is infeasible. It is clear that if the model is feasible,
\({\delta }_{s}\) will be equal to zero, otherwise
\({\delta }_{s}\) will take a positive value according to constraint (7). In fact, it measures the robustness of the unmet demand model. The robust optimization model based on the mathematical programming problem (5) to (8) is formulated as follows:
$$Min \sigma \left(x,{y}_{1},\dots ,{y}_{s}\right)+\omega \rho \left({\delta }_{1},{\delta }_{2},\dots ,{\delta }_{s}\right)$$
(5)
$${B}_{s}x+{C}_{s}{y}_{s}+{\delta }_{s}={e}_{s}$$
(7)
Since this approach considers multiple scenarios, the first expression of the objective function of the previous model is formulated as the objective function of Eq. (
7). In stochastic linear programming formulation, the mean value
\(\sigma \left(0\right)=\sum_{s}{\beth }_{s} {P}_{s}\) is used, which shows the solution's robustness. The expression
\(\rho \left({\delta }_{1},{\delta }_{2},\dots ,{\delta }_{s}\right)\) is also a function of the penalty for the conflict of value feasible for the constraints of the problem. Violation of control constraints means that infeasible solutions are obtained under a set of scenarios. Using the weight ω, the relationship between the solution robustness, which is measured from the first expression σ (0), and the model robustness, which is measured from the penalty function ρ (0), is obtained. For example, if ω = 0, the goal would be to minimize the expression σ (0), and the resulting solution might be infeasible. On the other hand, if ω is considered large enough, the expression ρ (0) becomes more important and leads to create more cost in the objective function. The expression
\(\upsigma \left(x,{y}_{1},\dots ,{y}_{s}\right)\) is given by Mulvey as Eq. (
9):
$$\upsigma \left(0\right)=\sum_{s}^{S}{\beth }_{s} {p}_{s}+\lambda \sum_{s}^{S}{p}_{s}{\left({\beth }_{s}-\sum_{{s}^{^{\prime}}}^{S}{\beth }_{{s}^{^{\prime}}} {p}_{{s}^{^{\prime}}}\right)}^{2}$$
(9)
To show the solution robustness, the variance of Eq. (
7) indicates that the decision has a high risk. In other words, a small variable in uncertain parameters can cause large changes in the value of the measurement function. Also, λ is the weight assigned to the solution variance. As can be seen, there is a quadratic expression in Eq. (
8). To reduce computational operations, an absolute value expression is used instead of a quadratic expression, as shown below.
$$\upsigma \left(0\right)=\sum_{s}^{S}{\beth }_{s} {p}_{s}+\lambda \sum_{s}^{S}{p}_{s}\left|{\beth }_{s}-\sum_{{s}^{^{\prime}}}^{S}{\beth }_{{s}^{^{\prime}}} {p}_{{s}^{^{\prime}}}\right|$$
(10)
The following equation can be suggested to linearize the expression of absolute value.
$${\beth }_{s}-\sum_{{s}^{^{\prime}}}^{S}{\beth }_{{s}^{^{\prime}}} {p}_{{s}^{^{\prime}}}={Q}_{s}^{+}-{Q}_{s}^{-}$$
(11)
Therefore, Eq. (
12) is rewritten as follows.
$$\begin{array}{l}\upsigma \left(0\right)=\sum_{s}^{S}{\beth }_{s} {p}_{s}+\lambda \sum_{s}^{S}{p}_{s}\left({Q}_{s}^{+}-{Q}_{s}^{-}\right)\\s.t.\end{array}$$
(12)
$${\beth }_{s}-\sum_{{s}^{^{\prime}}}^{S}{\beth }_{{s}^{^{\prime}}} {p}_{{s}^{^{\prime}}}={Q}_{s}^{+}-{Q}_{s}^{-}$$
(13)
Moreover, the amount of conflict from the feasibility of the constraints is as follows.
$${\delta }_{is}={E}_{s}^{+}-{E}_{s}^{-}$$
(14)
where the index i represents the constraint of the mathematical model. In this way, the developed structure of the mathematical model of the problem can be explained using a robust programming approach.
Sets
\(i,j\in \left\{N\right\}\) Set of all hospitals
\(k,l\in \left\{H\right\}\) Set of potential hospitals for the construction of distribution hubs
\(s\in \left\{S\right\}\) Set of all scenarios
Parameters
\({f}_{ijs}\) The number of vehicles required to transport between points i and j under scenario s
\({C}_{ij}\) The cost of transportation between two hospitals in the hub network
\({oc}_{k}\) Operating costs in the hospital k
\({FH}_{k}\) Fixed cost of building the necessary infrastructure in a potential hospital k as a hub
\({HL}_{kl}\) Fixed cost of establishing a direct connection between hubs k and l
\({t}_{ij}\) transport time between two hospitals in case of direct transport
\({ot}_{k}\) Operating time in hospital k
\({\beta }\) Maximum time available to perform the entire operation
\({{\alpha }_{c}}\) cost discount coefficient between hubs
\({{\alpha }_{t}}\) time discount coefficient between hubs
\(p\) Maximum hubs to be built
\(M\) A large enough number
\({\widehat{C}}_{ij}\) The cost of transportation between two hospitals in case of direct transportation
\({cap}\) Capacity of vehicles to carry equipment
\({CV}\) Fixed cost of using vehicles
\({d}_{kl}\) unloading and loading costs between hubs h and k
\({EV}_{ij}\) The amount of bio-pollutants created by transportation between two hospitals
\({ES}_{ij}\) The amount of noise pollutants caused by transportation between two hospitals
\({\alpha }\) time discount coefficient between hubs
\({SB}_{ij}\) Time range for sending equipment between two hospitals
\({P}_{s}\) Probability of occurrence of any scenario
\(\lambda\) solution robustness coefficient
\(\omega\) Model robustness coefficient
\({ST}_{ijs}\) Shipment time of cargo between two hospitals
\({ICG}_{kls}\) The cost of moving goods between hubs k and l
Variables
\({X}_{iks}\) If hospital i is assigned to hub k under scenario s, one; Otherwise, zero
\({H}_{ks}\) If a hospital at potential location k is selected as a hub under scenario s, one; Otherwise, zero
\({Y}_{ijkls}\) If the transport between two hospitals is via a hub link k and l under scenario s, one; Otherwise, zero
\({Z}_{kls}\) If a hub link is created between two hubs k and l under scenario s, one; Otherwise, zero.
\({\widehat{Y}}_{ijs}\) If the transport between the two hospitals is done directly, one; Otherwise, zero
\({num}_{kls}\) Number of locomotives required between k and l
\({TFM}_{kls}\) Number of shipments between k and l
\({Q}_{s}^{+},{Q}_{s}^{-}\) Linearization variable to calculate the violation of solution robustness under each scenario
\({E}_{s}^{+},{E}_{s}^{-}\) Linearization variable to calculate the violation of model robustness under each scenario
Mathematical model$$Min \sum_{s\in S}{P}_{s}{TC}_{s}+\lambda \sum_{s\in S}{P}_{s}\left({Q}_{s}^{+}-{Q}_{s}^{-}\right)+\omega \left({E}_{s}^{+}-{E}_{s}^{-}\right)$$
(15)
$$Min \sum_{i,j:i\ne i , k,l:k\ne l,s\in S }\left({EV}_{ik}+{EV}_{kj}\right){Y}_{ijkls}{f}_{ijs}+\sum_{i,j:i\ne i , k,l:k\ne l,s\in S }\left({ES}_{ik}+{ES}_{kj}\right){Y}_{ijkls}{f}_{ijs}$$
(16)
$$Min \sum_{i}\sum_{j}\sum_{s\in S}{ST}_{ijs}$$
(17)
$$\begin{array}{l}Subject\;to:\\{TC}_{s}=\sum\limits_{k}{FH}_{k}{H}_{ks}+\sum\limits_{k,l:k\ne l}{HL}_{kl}{Z}_{kls}+\sum\limits_{i,j}{f}_{ijs}{\widehat{C}}_{ij}{\widehat{Y}}_{ijs}\\\quad\quad\quad+\sum\limits_{i,j:i\ne i , k,l:k\ne l }\left({C}_{ik}+{C}_{kj}\right){Y}_{ijkls}{f}_{ijs}\\\quad\quad\quad+\sum\limits_{k,l:k\ne l\ne }{ICG}_{kls}+\sum\limits_{k,l:k\ne l}\left(\left(\sum\limits_{i,j :i\ne j}{f}_{ijs}{Y}_{ijkls}\right)\left({C}_{kl}+{d}_{kl}\right)\right)\end{array}\;\forall s\in S$$
(18)
$${TC}_{s}-\sum\limits_{{s}^{^{\prime}}\in S}{P}_{{s}^{^{\prime}}}{TC}_{{s}^{^{\prime}}}={Q}_{s}^{+}-{Q}_{s}^{-}\quad\forall \left(s,{s}^{^{\prime}}\right)\in S$$
(19)
$$\sum\limits_{i}{X}_{iks}\le M{H}_{ks}\quad\forall k\in H,s\in S$$
(20)
$$\sum\limits_{i}{X}_{iks}\le M{X}_{kks}\quad\forall k\in H,s\in S$$
(21)
$$\sum\limits_{l:l\ne k ,}{Z}_{kls}\ge 1+M\left({X}_{kks}-1\right)\quad\forall k\in H,s\in S$$
(22)
$$\sum\limits_{k,l:k\ne l }{Y}_{ijkls}=1-{\widehat{Y}}_{ijs}\quad\forall i,j\in N:i\ne j,s\in S$$
(23)
$${num}_{kls}\ge \frac{{TFM}_{kls}}{cap}\quad\forall k,l\in H :k\ne l,s\in S$$
(24)
$${ICG}_{kls}={num}_{kls}{CV}\quad\forall k,l\in H :k\ne l,s\in S$$
(25)
$${TFM}_{kls}-\sum_{i,j :i\ne j}{f}_{ijs}{Y}_{ijkls}={E}_{s}^{+}-{E}_{s}^{-}\quad\forall k,l\in H :k\ne l,s\in S$$
(26)
$$\begin{array}{l}{ST}_{ijs}=\sum\limits_{k :k\ne i}{tt}_{ik}{X}_{iks}+\sum\limits_{k.l :k\ne l , t}\left({ot}_{k}+{\alpha }{tt}_{ij}+{ot}_{l}\right){Y}_{ijkls}\\\quad\quad\quad+\sum\limits_{k :k\ne j}{tt}_{kj}{X}_{kjs}+{tt}_{ij}{\widehat{Y}}_{ijs}\end{array}\quad\forall i,j\in N :i\ne j,s\in S$$
(27)
$${ST}_{ijs}\le {SB}_{ijs}\quad\forall i,j\in N :i\ne j,s\in S$$
(28)
$${\widehat{Y}}_{ijs}\in \left\{\mathrm{0,1}\right\}\quad\forall i,j\in N :i\ne j,s\in S$$
(29)
$${TFG}_{kls}\ge 0\quad\forall k,l\in H :k\ne l,s\in S$$
(30)
$${num}_{kls}\ge 0\quad\forall k,l\in H :k\ne l,s\in S$$
(31)
$${ICG}_{kls}\ge 0\quad\forall k,l\in H :k\ne l,s\in S$$
(32)
$${TFM}_{kls}\ge 0\quad\forall k,l\in H :k\ne l,s\in S$$
(33)
$${ICM}_{kls}\ge 0\quad\forall k,l\in H :k\ne l,s\in S$$
(34)
$${ST}_{ijs}\ge 0\quad\forall i,j\in N :i\ne j,s\in S$$
(35)
The first objective function minimizes the costs of building a hub network and transferring equipment between hospitals. The second objective function minimizes the environmental pollutants produced in inter-hospital transportation. For this purpose, the first sentence minimizes biological pollutants and the second sentence minimizes noise pollutants. The third objective function also minimizes the total delivery time between hospitals. It is clear that as the delivery time decreases; it increases the utility of the applicant hospitals; therefore, this objective function is known as the social dimension of sustainable development. Constraint (18) calculates the costs of creating a hub and transporting equipment under different scenarios. The left side of this constraint has six sentences. In the first part, the fixed cost of constructing a hub is calculated.
In the second part, the cost of constructing infrastructure between hubs is determined. In the third part, the cost of transportation in case of direct transportation of equipment is calculated. In the fourth, fifth and sixth parts, the cost of transportation in case of using a hub network is determined. Constraint (19) also calculates the amount of distance from the optimal solution in different scenarios. Constraint (20) establishes a relationship between two types of facilitator construction variables. Constraint (21) indicates that a node can be assigned to a hub when the hub in question is constructed. Constraint (22) states that if one point is selected as a hub, it will be connected to another hub with an inter-hub connection. In constraint (23), we choose between direct and hub-based transportation methods. Constraint (24) determines the number of vehicles required and constraint (25) calculates the cost of transportation between hubs. In Constraint (26), the total number of shipments transported between hubs is calculated. Constraint (27) calculates the total service time between two hospitals. Constraint (28) specifies the corresponding boundary. Constraints (29) to (35) indicate the domain of the decision variables.