Supplementary Material for AIChE Journal Scheduling of Crude Oil

Supplementary Material for AIChE Journal
Scheduling of Crude Oil Operations under Demand Uncertainty: A Robust
Optimization Framework Coupled with Global Optimization
Jie Li, Ruth Misener, and Christodoulos A. Floudas*
Department of Chemical and Biological Engineering
Princeton University
Princeton, NJ 08544-5263
Appendix S1 Robust Counterparts for Eqs. 24a-b with Known Probability Distributions
Appendix S2 Robust Optimization Model from the Robust Framework using the Approach of
Cao et al.40 and Wang and Rong41
Appendix S3
Table S1 Vessels, Tanks, CDUs, and Economic Data for Example 2
Table S2 Specific gravities, sulfur contents, nitrogen contents, carbon residues, pour point,
freeze point, flash point for crudes and acceptable ranges for feeds to CDUs for Example 2
Table S3 Smoke points, Ni contents and Reid vapor pressures for crudes and acceptable
ranges for feeds to CDUs for Example 2
Figure S1 Inventory profiles of T1-T5 from the robust schedule in Figure 11
Figure S2 Feed rates to CDU101 and CDU102 for Example 1 from the robust schedule in
Figure 11
Figure S3 Inventory profiles of T1-T5 for Example 1 from the robust schedule in Figure 12
Figure S4 Feed rates to CDU101 and CDU102 for Example 1 from the robust schedule in
Figure 12
Figure S5 Robust schedule for Example 2 from model ROM with demand uncertainty
following bounded uncertainty
Figure S6 Inventory profiles of T1-T8 for Example 2 from the robust schedule in Figure S5
Figure S7 Feed rates to CDU101, CDU102, and CDU103 for Example 2 from the robust
schedule in Figure S5
Figure S8 Inventory profiles of T1-T8 for Example 2 from the robust schedule in Figure 14
Figure S9 Feed rates to CDU101, CDU102 and CDU103 for Example 2 from the robust
schedule in Figure 14
*
To whom correspondence should be addressed. E-mail: [email protected]. Tel. +1-609-258-4595.
Fax: +1-609-258-0211
1
Appendix S1 Robust Counterparts for Eqs. 24a-b with Known Probability Distributions
Difference of Normal Distribution
If the uncertain demand parameters can be represented as the difference of two independent
random variables, each following standardized normal distribution, then the deterministic
robust counterpart for eqs. 24a-b is given by,
V
U
(u, n)  D(u )    [ u2  u2  Fn1 (1   )  ( u 1u  u  2u )]  D(u)   max 1, D(u) 
n
u
V
U
(S1a)
(u, n)  D(u )    [ u2  u2  Fn1 (1   )  ( u 1u  u  2u )]  D(u)   max 1, D(u) 
n
u
(S1b)
where Fn1 (1   ) being the inverse standard normal cumulative distribution function.
General Discrete Distribution
If each uncertain demand parameter only takes on discrete values following a general discrete
distribution, the deterministic robust counterpart for eqs. 24a-b is given by,
V
U
(u, n)  D(u )      D(u)   max 1, D(u) 
u
(S2a)
(u, n)  D(u )      D(u )   max 1, D(u) 
u
(S2b)
n
V
U
n
where  = 1  F() and F is the distribution function of a general discrete random variable.
Binomial Distribution
When the uncertain demand parameters follow a binomial probability distribution, then the
deterministic robust counterpart for eqs. 24a-b is given by,
V
U
(u, n)  D(u )    Fn1 (1   )  D(u )   max 1, D(u) 
u
(S3a)
(u, n)  D(u )    Fn1 (1   )  D(u)   max 1, D(u) 
u
(S3b)
n
V
U
n
where   Fn1 (1   ) being the inverse distribution function of a discrete variable with a
binomial distribution.
Poisson Distribution
When the uncertain demand parameters follow a poisson probability distribution, then the
deterministic robust counterpart for eqs. 24a-b is given by,
V
U
(u, n)  D(u )    Fn1 (1   )  D(u )   max 1, D(u) 
n
2
u
(S4a)
V
U
(u, n)  D(u )    Fn1 (1   )  D(u)   max 1, D(u) 
u
(S4b)
n
where   Fn1 (1   ) being the inverse distribution function of a discrete variable with a
poisson distribution.
3
Appendix S2 Robust Optimization Model from the Robust Framework using the
Approach of Cao et al.40 and Wang and Rong41
Cao et al.40 and Wang and Rong41 used eq. S5 (or eq. 23) as follows to convert eq. 21 into
inequality,
V
U
u
(u, n)  D(u )
(S5)
n
If the demand parameter D(u) is uncertain and its true realization is denoted as D(u) ,
eq. S5 is represented as follows,
V
U
u
(u, n)  D(u )
(S6)
n
Bounded Uncertainty
If the demand parameter varies in a bounded interval [ D L (u) , DU (u ) ], the deterministic
robust counterpart of eq. S6 is derived as follows,
V
U
(u, n)  DU (u )   max[1, D(u)]
u
(S7)
n
Bounded and Symmetric Uncertainty
If the demand parameter is uncertain and distributed around the nominal value randomly and
symmetrically,
D(u)  [1   (u)]  D(u)
u
where, (u) is random variable distributed symmetrically in the interval [−1, 1].
The deterministic robust counterpart for eq. S6 is derived as follows,
V
U
(u, n)  D(u )    D(u)  u0u   D(u)  zz 0u ]   max[1, D(u) 
u
(S8)
n
where,
u0u ≤ 1+ z0u ≤ u0u
u
zz0u ≤ z0u ≤ zz0u
u
u0u ≥ 0, zz0u ≥ 0
u
κ = exp (− 2/2)
≥0
Known Probability Distribution
If the demand parameter is uncertain and follows some known probability distribution, the
generic deterministic robust counterpart of the probabilistic constraint can be formulated as
follows for random variables following any distribution.
V
U
(u, n)  D(u )    f [ , D(u )]   max[1, D(u )]
n
4
u
(S9)
Uniform Continuous Distribution
If
the
demand
parameters
follow
a
uniform
continuous
distribution,
then
f [ , D(u )]  (1  2 )  D(u ) . Thus, the deterministic robust counterpart is given by,
V
U
(u, n)  D(u )    (1  2 )  D(u)   max 1, D(u) 
u
(S10)
n
Normal Distribution
If
the
uncertain
demand
parameters
follow
normal
distribution,
then
f [ , D(u )]  Fn1 (1   )  D(u ) , where Fn1 (1   ) being the inverse standard normal
cumulative distribution function. The deterministic robust counterpart is given by,
V
U
(u, n)  D(u )    Fn1 (1   )  D(u )   max 1, D(u) 
u
(S11)
n
Difference of Normal Distribution
If the uncertain demand parameters can be represented as the difference of two independent
normal random variables, each with a given mean , and a given standard deviation .
u  u1u  u 2u
The deterministic robust counterpart for eq. S6 is given by,
V
U
(u, n)  D(u )    [ u2  u2  Fn1 (1   )  ( u 1u  u  2u )]  D(u)   max 1, D(u) 
n
u
(S12)
where Fn1 (1   ) being the inverse standard normal cumulative distribution function.
General Discrete Distribution
If each uncertain demand parameter only takes on discrete values following a general discrete
distribution, the deterministic robust counterpart for eq. S6 is given by,
V
U
(u, n)  D(u )      D(u)   max 1, D(u) 
u
(S13)
n
where  = 1  F() and F is the distribution function of a general discrete random variable.
Binomial Distribution
When the uncertain demand parameters follow a binomial probability distribution, then the
deterministic robust counterpart for eq. S6 is given by,
V
U
(u, n)  D(u )      D(u)   max 1, D(u) 
u
(S14)
n
where   Fn1 (1   ) being the inverse distribution function of a discrete variable with a
binomial distribution.
5
Poisson Distribution
When the uncertain demand parameters follow a poisson probability distribution, then the
deterministic robust counterpart for eq. S6 is given by,
V
U
(u, n)  D(u )      D(u)   max 1, D(u) 
u
(S15)
n
where   Fn1 (1   ) being the inverse distribution function of a discrete variable with a
poisson distribution.
Unknown Probability Distribution
When the demands are uncertain and follow an unknown probability distribution, then the
robust counterpart is given by,
V
U
(u, n) 
n
1

D(u )   max[1, D(u )]
u
(S16)
The deterministic robust counterpart optimization model is denoted as ROM-CWR
presented below.
(ROM-CWR)
s.t.
Min  PROFIT
eqs. A1-A43 in Appendix A
eqs. S7, S8, S9, or S16 for corresponding distribution
eqs. A45-A54 and eqs. A55-A61 in Appendix A
The resulting mathematical ROM-CWR is non-convex MINLP and the sources of nonconvexities are the distinct bilinear terms (i.e., eqs. A15-A16):
VI ,U ,C (i, u, c, n)  EI ,C (i, c, n  1) VI ,U (i, u, n)  (i, u)  SI,U, (i, c)  SI,C, (i, n)  SF,I, n (A15)
 (i, c)  SI,C, n
VI ,C (i, c, n)  EI ,C (i, c, n) VI (i, n)
(A16)
The proposed branch and bound algorithm from Li et al.3 can be directly used to solve
model ROM-CWR.
6
Appendix S3
It should be noted that in the robust schedule, the unloading schedule {i.e., parcel-to-tank
allocation [X(p,i,n)], unloading amount [VP,I(p,i,n)], and start and end unloading times
end
[ TPstart
, I ( p, i, n) and TP , I ( p, i, n) ]}, and feed sequence {i.e, tank-to-CDU allocation [Y(i,u,n)],
end
and the start and end times [ TIstart
tank feeding to each CDU}
,U (i, u, n) and TI ,U (i, u, n) ] of each
is feasible for the demands of DL(u) and DU(u). Therefore, we need to prove that the
unloading schedule and feed sequence from the robust schedule is also feasible for any
demand realization within [DL(u), DU(u)].
We define RIa,U (i, u, n) to denote the feed rate from tank i to CDU u during event point n
for the demand of DL(u), RIb,U (i, u, n) to denote the feed rate from tank i to CDU u during
event point n for the demand of DU(u), and RI ,U (i, u , n) as the feed rate from tank i to CDU u
during event point n for any demand realization within [DL(u), DU(u)]. For any demand of
D(u) within [DL(u), DU(u)],
start

D(u )   RI ,U (i, u , n)  TIend
,U (i , u , n )  TI ,U (i , u , n ) 
n
u
(S17)
i
Theorem 1: For any D(u)  [DL(u), DU(u)], there is at least one feasible RI,U(i,u,n) within
[ RIa,U (i, u, n) , RIb,U  i, u, n  ] to satisfy eq. S17.
Proof. Assume that there is no feasible RI,U(i,u,n)  [ RIa,U (i, u, n) , RIb,U (i, u, n) ] to satisfy eq.
S17. In other words, for any RI,U(i,u,n)  [ RIa,U (i, u, n) , RIb,U (i, u, n) ],
 R
I ,U
n
or
i
 R
I ,U
n
i
start

(i, u, n)  TIend
,U (i , u , n)  TI ,U (i , u , n )   D (u )
u
(S18a)
start

(i, u, n)  TIend
,U (i , u , n)  TI ,U (i , u , n )   D (u )
u
(S18b)
We consider eq. S18a. If let RI ,U (i, u, n)  RIa,U (i, u, n) , then
 R
I ,U
n
i
start

(i, u, n)  TIend
,U (i , u , n)  TI ,U (i , u , n ) 
start

  RIa,U (i, u, n)  TIend
,U (i, u , n)  TI ,U (i, u , n) 
n
i
 D L (u)  D(u) , which contradicts DL(u) < D(u).
Similarly, if RI ,U (i, u, n)  RIb,U (i, u, n) , then Du(u) < D(u) from eq. S18b, which
contracts DU(u) > D(u). ■
Theorem 2: For the robust schedule, if we only adjust the feed rate from any tank i to CDU u
within [ RIa,U (i, u, n) , RIb,U (i, u, n) ] (i.e., fix the unloading schedule and feed sequence) to
achieve any demand realization within [DL(u), DU(u)], the composition of crude c in each tank
7
max
i at each event point n is also within [ EImin
,C (i, c) , EI ,C (i, c) ].
Proof. Let EIa,C (i, c, n) and EIb,C (i, c, n) denote the composition of crude c in tank i at the end
of event point n for the demands of DL(u) and DU(u), respectively. EIr,C (i, c, n) denotes the
composition of crude c in tank i at the end of event point n from the robust schedule. From
a
b
r
max
model ROM, EImin
,C (i, c)  EI ,C (i, c, n), EI ,C (i, c, n), EI ,C (i, c, n)  EI ,C (i, c) .
At event point ‘n1’, a tank i may receive crudes from vessels or feed CDUs. If it feeds
CDUs at this event point, then its composition at the end of event point ‘n1’ is the same as its
initial
composition,
that
.
EI ,C (i, c,'n1')  EIa,C (i, c,' n1')  EIb,C (i, c,' n1')  EIinit
,C (i, c)
is,
init
max
Since EImin
,C (i, c)  EI ,C (i, c)  EI ,C (i, c) ,
a
b
max
EImin
,C (i, c)  EI ,C (i, c,'n1')  EI ,C (i, c,'n1')  EI ,C (i, c,'n1')  EI ,C (i, c)
 (i, c)  SI,C
(S19)
 (i, c)  SI,C
(S20)
If it receives crudes from vessels, then EI,C(i,c,n1) =
VIinit (i )  EIinit
,C (i, c ) 
VIinit (i ) 
 EIinit
,C (i, c ) 

p:( p ,i )S P ,I , p:( p ,c )S P ,C

p:( p ,i )S P ,I , p:( p ,c )S P ,C

p:( p ,i )S P ,I , p:( p ,c )S P ,C
VIinit (i ) 
VP , I ( p, i, ' n1')
VP , I ( p, i, ' n1')

VP , I ( p, i, 'n1')  1  EIinit
,C (i, c) 

p:( p ,i )S P ,I , p:( p ,c )S P ,C
VP , I ( p, i, 'n1')
From eq. S20, EI,C(i,c,‘n1’) depends on VP,I(p,i,‘n1’). Note that the unloading schedule
is the same for any demand within [DL(u), DU(u)], that is, VP,I(p,i,‘n1’) is the same for any
demand within [DL(u), DU(u)]. It is concluded that:
a
b
max
EImin
,C (i, c)  EI ,C (i, c,'n1')  EI ,C (i, c,'n1')  EI ,C (i, c,'n1')  EI ,C (i, c)
 (i, c)  SI,C
(S21)
At event point ‘n2’, the tank i may feed CDUs, or receive crudes from vessels.
Combining with those at event point ‘n1’, four combinations of activities for this tank i at
event points ‘n1’ and ‘n2’ are obtained:
(i) Receive crudes from vessels at ‘n1’, and feed CDUs at ‘n2’;
(ii) Feed CDUs at ‘n1’, and feed CDUs at ‘n2’;
(iii)Receive crudes from vessels at ‘n1’, and also receive crudes at ‘n2’;
(iv) Feed CDUs at ‘n1’, and receive crudes at ‘n2’.
For
(i)
and
(ii),
it
is
not
difficult
to
conclude
that
a
 EIb,C (i, c,'n2')  EImax
EImin
,C (i, c) .
,C (i, c)  EI ,C (i, c,'n2')  EI ,C (i, c,'n2')
For (iii), EI ,C (i, c,'n2')  EIa,C (i, c,'n2')  EIb,C (i, c,'n2') because the unloading schedule is
the
same
for
any
demand
8
within
[DL(u),
DU(u)].
Thus,
a
 EIb,C (i, c,'n2')  EImax
EImin
,C (i, c) .
,C (i, c)  EI ,C (i, c,'n2')  EI ,C (i, c,'n2')
For (iv), EI,C(i,c,n2) =
 init
 init
end
start
VP , I ( p, i, 'n2 ')
 VI (i )   RI ,U (i, u, 'n1')  [TI ,U (i, u , 'n1')  TI ,U (i, u , 'n1')]   EI ,C (i, c) 

u:( i ,u )S I ,U
p:( p ,i )S P ,I , p:( p ,c )S P ,C


start
VIinit (i )   RI ,U (i, u, 'n1')  [TIend
VP , I ( p, i, 'n2 ')

,U (i, u , 'n1')  TI ,U (i , u , 'n1')] 
u:( i ,u )S I ,U
 EIinit
,C (i, c ) 
VIinit (i ) 
p:( p ,i )S P ,I , p:( p , c )S P ,C

u:( i ,u )S I ,U


init
  VP , I ( p, i, 'n2 ')  1  EI ,C (i, c) 
 p:( p ,i )S P ,I

start
RI ,U (i, u, 'n1')  [TIend
(
i
,
u
,
'n1')

T
,U
I ,U (i , u , 'n1')] 

p:( p ,i )S P ,I , p:( p ,c )S P ,C
 (i, c)  SI,C
VP , I ( p, i, 'n2 ')
(S22)
From eq. S22, when RI,U(i,u,n1) increases, EI,C(i,c,n2) also increases. When
RI ,U (i, u,'n1')  RIa,U (i, u,'n1')
RI ,U (i, u, 'n1')
=
,
RIb,U (i, u,'n1')
RIa,U (i, u,'n1')  RI ,U (i, u,'n1')
EI ,C (i, c,'n2')  EIa,C (i, c,'n2')
then
,
then
EI ,C (i, c,'n2')  EIb,C (i, c,'n2')
 RIb,U (i, u,'n1')
,
.
.
If
Since
then
a
b
max
EImin
,C (i, c)  EI ,C (i, c,'n2 ')  EI ,C (i, c,'n2')  EI ,C (i, c,'n2')  EI ,C (i, c) .
Assume
that
at
event
point
a
b
max
n, EImin
,C (i, c)  EI ,C (i, c, n)  EI ,C (i, c, n)  EI ,C (i, c, n)  EI ,C (i, c) . Then, at event point (n+1), a
tank i may receive crudes or feed CDUs. If it feeds CDUs at event point (n+1), then its
composition at the end of this event point (n+1) is equivalent to that of event point n. Thus,
a
b
max
EImin
,C (i, c)  EI ,C (i, c, n  1)  EI ,C  i, c, n  1  EI ,C (i, c, n  1)  EI ,C  i, c  is also true. If it
receives crudes from vessels during event point (n+1), then EI,C(i,c,n+1) =
start


 
  RI ,U (i, u , n)  [TIend
,U (i , u , n )  TI ,U (i , u , n )]
 init
 u:(i ,u )S I ,U
 
   EI ,C (i, c, n)   VP , I ( p, i, n  1)
VI (i )   
  VP , I ( p, i, n)
n n 1 
p:( p ,i )S P ,I
 

p:( p ,i )S P ,I

p:( p ,c )S P ,C
p:( p ,c )S P ,C


 
start

 
  RI ,U (i, u , n)  [TIend
,U (i , u , n )  TI ,U (i , u , n )]


u:( i ,u )S I ,U
VIinit (i )   
   VP , I ( p, i, n  1)

  VP , I ( p, i, n )
n n 1 
 p:( p ,i )S P ,I
p
:(
p
,
i
)

S
P ,I

p:( p ,c )S P ,C
p:( p ,c )S P ,C


start


 
  RI ,U (i, u , n)  [TIend
,U (i , u , n )  TI ,U (i , u , n )]
 init
 u:(i ,u )S I ,U
  b
   EI ,C (i, c, n)   VP , I ( p, i, n  1)
VI (i )   
  VP , I ( p, i, n)
n n 1 
p:( p ,i )S P ,I
 

p:( p ,i )S P ,I

p:( p ,c )S P ,C
π1
p:( p ,c )S P ,C


 


start

 
  RI ,U (i, u , n)  [TIend
,U (i , u , n )  TI ,U (i , u , n )]


u:( i ,u )S I ,U
VIinit (i )   
   VP , I ( p, i, n  1)
  VP , I ( p, i, n)
n n 1 
 p:( p ,i )S P ,I
p
:(
p
,
i
)

S
P ,I

p:( p ,c )S P ,C
p
:(
p
,
c
)

S
P ,C


9
start


 
  RIb,U (i, u , n)  [TIend
,U (i , u , n )  TI ,U (i , u , n )]
 init
 u:(i ,u )S I ,U
  b
   EI ,C (i, c, n)   VP , I ( p, i, n  1)
VI (i )   
  VP , I ( p, i, n)
n n 1 
p:( p ,i )S P ,I
 

p
:(
p
,
i
)

S
P ,I

p:( p ,c )S P ,C
π2
p
:(
p
,
c
)

S

P ,C

 

b
end
start
  RI ,U (i, u , n)  [TI ,U (i, u , n)  TI ,U (i, u , n)] 
 u:(i ,u )S I ,U

VIinit (i )   
   VP , I ( p, i, n  1)
  VP , I ( p, i, n)
n n 1 
 p:( p ,i )S P ,I
p:( p ,i )S P ,I

p:( p ,c )S P ,C
p
:(
p
,
c
)

S
P
,
C


 EIb,C (i, c, n  1)  EImax
,C (i, c)
Note: 1 is true because EI ,C  i, c, n  1  EIb,C (i, c, n  1) .
start

 
  RIb,U (i, u , n)  [TIend
,U (i , u , n )  TI ,U (i , u , n )]


u:( i ,u )S I ,U
Let VIb (i, n)  VIinit (i )   

  VP , I ( p, i, n)
n n 1 

p:( p ,i )S P ,I

p:( p ,c )S P ,C


start

 
  RI ,U (i, u , n)  [TIend
,U (i , u , n )  TI ,U (i , u , n )]


u:( i ,u )S I ,U
VI (i, n)  VIinit (i )   

  VP , I ( p, i, n)
n n 1 

p
:(
p
,
i
)

S
P ,I

p:( p ,c )S P ,C


VP (i, n  1) 

p:( p ,i )S P ,I
p:( p ,c )S P ,C
VP , I ( p, i, n  1)
Since RI ,U  i, u, n   RIb,U (i, u, n) , VI  i, n   VIb (i, n) .
2 is equivalent to the following:
VI (i, n)  EIb,C (i, c, n)  VP (i, n  1)
VI (i, n)  VP (i, n  1)

VIb (i, n)  EIb,C (i, c, n)  VP (i, n  1)
VIb (i, n)  VP (i, n  1)
 [VI (i, n)  VIb (i, n)]  EIb,C (i, c, n) VP (i, n 1)  [VI (i, n) VIb (i, n)] VP (i, n 1)
 EIb,C (i, c, n)  1 .
Similarly, EI ,C (i, c, n  1)  EIa,C (i, c, n  1)  EImin
,C (i, c) .
a
b
max
Therefore, EImin
,C (i, c)  EI ,C (i, c, n)  EI ,C (i, c, n)  EI ,C (i, c, n)  EI ,C (i, c)  (i, c)  SI,C (S23)
■
Theorem 3: Using the unloading schedule and feed sequence from the robust schedule, for
any demand realization within [DL(u), DU(u)], there exists a feasible feed rate RI,U(i,u,n)
[ RIa,U (i, u, n)  RI ,U (i, u, n)  RIb,U (i, u, n) ] to ensure that the crude fractions and quality
specifications fed to CDU u at each event point n are also within [ EUmin (u, c) , EUmax (u , c) ] and
[ eUmin (u , k ) , eUmax (u , k ) ], respectively.
Proof. Let EUa (u , c, n) and eUa (u , k , n) denote the composition of crude c fed to CDU u at
10
event point n and the crude quality specification k fed to CDU u at the end of event point n
respectively for the demand of DL(u). EUb (u , c, n) and eUb (u , k , n) are defined as the
composition of crude c fed to CDU u at event point n and the crude quality specification k fed
to CDU u at the end of event point n respectively for the demand of DU(u).
From Theorem 2, when RI,U(i,u,n)  [ RIa,U (i, u, n) , RIb,U (i, u, n) ], then
a
b
max
EImin
,C (i, c)  EI ,C (i, c, n)  EI ,C (i, c, n)  EI ,C (i, c, n)  EI ,C (i, c)
From
model
 (i, c)  SI,C
EUmin  u, c   EUa u, c, n  , EUb u, c, n   EUmax u, c 
ROM,
,
and eUmin  u, k   eUa  u, k , n  , eUb u, k , n   eUmax u, k  . At any event point, a tank i feeds a CDU u
alone or together with another tank j.
(i)
If a tank i feeds CDU u alone at any event point (n+1), then
EUmin  u, c   EIa,C i, c, n  , EIb,C (i, c, n)  EUmax u, c  . For any EI,C(i,c,n), we have:
EUmin (u, c)  EIa,C (i, c, n)  EI ,C (i, c, n)  EIb,C (i, c, n)  EUmax (u, c)
 (i, c)  SI,C
(S24)
For crude quality specifications which are calculated on volume basis,
EI ,C (i, c, n)  EIa,C (i, c, n)


c:( i ,c )S I ,C
EI ,C (i, c, n)  eC (c, k ) 

EIa,C (i, c, n)  eC (c, k )  eUa (u, k , n)  eUmin (u, k )

EIb,C (i, c, n)  eC (c, k )  eUb (u, k , n)  eUmax (u, k )
c:( i ,c )S I ,C
EI ,C (i, c, n)  EIb,C (i, c, n)


c:( i ,c )S I ,C
EI ,C (i, c, n)  eC (c, k ) 
c:( i ,c )S I ,C
For crude quality specifications which are calculated on weight basis,
EI ,C (i, c, n)  EIa,C (i, c, n)


c:( i ,c )S I ,C
EI ,C (i, c, n)  c  eC (c, k ) 

c:( i ,c )S I ,C
EIa,C (i, c, n)  c  eC (c, k )  eUa (u, k , n)  eUmin (u, k )
EI ,C (i, c, n)  EIb,C (i, c, n)


c:( i ,c )S I ,C
(ii)
EI ,C (i, c, n)  c  eC (c, k ) 

c:( i ,c )S I ,C
EIb,C (i, c, n)  c  eC (c, k )  eUb (u, k , n)  eUmax (u, k )
If tank i feeds CDU u together with another tank j at event point n, then the start and
end times of tank i feeding CDU u at event point n must be the same as those of tank j
feeding this CDU u at event point n. In other words,
start
end
end
TIstart
,U (i, u, n)  TI ,U ( j , u, n) , TI ,U (i, u, n)  TI ,U ( j, u, n)  (i, u)  SI,U, (j, u)  SI,U, n (S25)
The composition of crude c fed to CDU u at event point n [denoted as EU(u,c,n)] are given by,
11
EU (u, c, n) 

i:( i ,u )S I ,U
VI ,U ,C (i, u, c, n)
VU (u, n)
start
 RI ,U (i, u, n)  [TIend

,U (i, u , n)  TI ,U (i , u , n)]  EI ,C (i , c, n  1)
 R ( j , u, n)  [T end ( j , u, n)  T start ( j , u, n)]  E ( j , c, n  1) 
J ,U
J ,U
J ,C
 J ,U


end
start
end
RI ,U (i, u, n) [TI ,U (i, u, n)  TI ,U (i, u, n)]  RJ ,U ( j, u, n) [TJ ,U ( j, u, n)  TJstart
,U ( j , u , n)]

RI ,U (i, u, n)  EI ,C (i, c, n  1)  RJ ,U ( j, u, n)  EJ ,C ( j, c, n  1)
 (u, c)  SU,C
RI ,U (i, u, n)  RJ ,U ( j, u, n)
We define RI  u, n  
L
D (u) and RI
b
I ,U
 u, n  
EU (u, c, n) 
RI ,U (i, u, n)
RJ ,U ( j , u, n)
RIb,U (i, u, n)
RJb,U ( j, u, n)
, then RI Ia,U  u, n  
RIa,U (i, u, n)
RJa,U ( j, u, n)
(S26)
for the demand of
for the demand of DU(u). Eq. E10 becomes:
RI (u, n)  EI ,C (i, c, n  1)  EJ ,C ( j , c, n  1)
RI (u, n)  1
 (u, c)  SU,C
(S27)
In eq. S27, at least one feasible RI(u,n) exists to ensure that EU (u, c, n)  EUmax (u, c) .
Otherwise, assume no feasible RI(u,n) exists to ensure EU (u, c, n)  EUmax (u, c) . In other words,
for
any
EU  u, c, n   EUmax (u, c) .
RI(u,n),
If
let
RI(u,n)
=
RIb(u,n),
then
EU (u, c, n) 
RI b (u, n)  EI ,C (i, c, n  1)  EJ ,C ( j, c, n  1)
RI b (u, n)  1

RI b (u, n)  EIb,C (i, c, n  1)  EJb,C ( j, c, n  1)
RI b (i, u, n)  1
 EUb (u, c, n)  EUmax (u, c) , which contradicts the assumption: EU  u, c, n   EUmax (u, c) .
Similarly, a feasible RI(u,n) exists to ensure that EU (u, c, n)  EUa (u, c, n)  EUmin (u, c) .
For crude quality specifications which are calculated on volume basis,
eU (u, k , n) 


i:( i ,u )S I ,U c:( i ,c )S I ,C

eC (c, k ) VI ,U ,C (i, u, c, n)
i:( i ,u )S I ,U
VI ,U (i, u, n)
start
 RI ,U (i, u , n)  [TIend
 eC (c, k )  EI ,C (i, c, n  1) 
,U (i , u , n )  TI ,U (i , u , n )] 

c:( i ,c )S I ,C
 R ( j , u , n)  [T end (i, u , n)  T start (i, u , n)] 
eC (c, k )  E J ,C ( j , c, n  1) 

J ,U
J ,U
 J ,U
c:( i ,c )S I ,C

 
end
start
end
start
RI ,U (i, u , n)  [TI ,U (i, u , n)  TI ,U (i, u , n)]  RJ ,U ( j , u , n)  [TJ ,U (i, u , n)  TJ ,U (i, u , n )]
[ RI (u, n) 


c:( i ,c )S I ,C
eC (c, k )  EI ,C (i, c, n  1)] 

c:( i ,c )S I ,C
eC (c, k )  E J ,C ( j , c, n  1)
RI (u, n)  1
 (u, c)  SU,C
(S28)
In eq. S28, at least one feasible RI(u,n) exists to ensure that eU (u, k , n)  eUmax (u, k ) .
12
Otherwise, assume no feasible RI(u,n) exists to ensure eU (u, k , n)  eUmax (u, k ) . Then, for any
RI(u,n), we have eU  u, k , n   eUmax u, k  . If let RI(u,n) = RIb(u,n), then
[ RI b (u, n) 
eU (u, k , n) 

c:( i ,c )S I ,C
eC (c, k )  EIb,C (i, c, n  1)] 

c:( i ,c )S I ,C
eC (c, k )  E Jb,C ( j , c, n  1)
RI (u, n)  1
b
 eUb (u, k , n)  eUmax (u, k ) , which contradicts the assumption: eU  u, k , n   eUmax  u, k  .
Similarly, a feasible RI(u,n) exists to ensure that eU (u, k , n)  eUmin (u, k )
■
From Theorems 1-3, it can be concluded that the unloading schedule and feed sequence
from the robust schedule is feasible for any demand realization within [DL(u), DU(u)]. In other
words, from the robust schedule, we can simply adjust feed rates from tanks to CDUs from
the robust schedule (i.e., fix the unloading schedule and feed sequence) to achieve any
demand requirement within [DL(u), DU(u)].
13
Table S1 Vessels, Tanks, CDUs, and Economic Data for Example 2
Arrival Time
Parcel No: (Crude, Parcel Size kbbl)
(hr)
1: (C2, 10) 2: (C6, 100) 3: (C8: 100) 4: (C4: 90)
VLCC-1
0
V1
16
5: (C2: 125)
V2
24
6: (C5: 125)
V3
24
7: (C3: 100)
V4
32
8: (C7: 120)
VLCC-2
160
9: (C4: 10) 10: (C8: 130) 11: (C3: 120) 12: (C2: 100)
V5
176
13: (C6: 100)
V6
176
14: (C1: 90)
15: (C7: 125)
V7
184
Initial Crude Composition (kbbl)
Initial
Capacity
Inventory
Min-Max
C1
C2
C3
Tank
(kbbl)
(kbbl)
or C5
or C6
or C7
T1
350
50-570
50
100
100
T2
400
50-570
100
100
100
T3
350
50-570
200
250
200
T4
950
50-570
100
100
50
T5
300
50-570
20
20
20
T6
80
50-570
20
20
20
T7
80
50-570
20
20
20
T8
450
50-570
100
100
100
Flow Rate Limit (kbbl/8 hr) Demurrage Changeover Safe Inventory
Parcel-Tank Tank-CDU
Cost
Loss
Penalty
Min-Max
Min-Max
(k$/8 hr) (k$/instance) ($/bbl/8 hr)
Crude
10-400
20-50
15
5
0.2
C1
C2
Tanks 1, 6-8 store crudes 1-4 (Class 1); 2-5 store crudes 5-8 (Class 2)
C3
CDU1 and CDU3 process crudes 1-4; CDU 2 processes crudes 5-8
Demands for CDUs 1-3 are 1000 kbbl
C4
Demand ranges for CDUs 1-3 are 50-100 kbbl/8 hr
C5
Crude concentration ranges in Tanks 1-8 are 0-1
C6
Crude concentration ranges in CDUs 1-3 are 0-1
C7
The desire safety stock is 1200 kbbl
C8
Tanker
14
C4
or C8
100
100
300
50
20
20
20
150
Margin
$/bbl
1.5
1.75
1.85
1.25
1.45
1.65
1.55
1.6
Table S2 Specific gravities, sulfur contents, nitrogen contents, carbon residues, pour point, freeze point,
flash point for crudes and acceptable ranges for feeds to CDUs for Example 2
Crude & CDU Specific Gravity Sulfur
C1
1.2057
0.0095
C2
1.2339
0.0085
C3
1.2113
0.0080
C4
1.2749
0.0090
C5
1.0375
0.0250
C6
1.0615
0.0235
C7
1.0664
0.0225
C8
1.0968
0.0210
CDU1 Min
1.0000
0.0200
Max
1.0920
0.0242
CDU2 Min
1.0000
0.0200
Max
1.0900
0.0245
CDU3 Min
1.2000
0.0060
Max
1.2700
0.0092
Nitrogen Carbon Residue Pour Point
55.00
0.0450
58.0549
45.00
0.0420
12.0466
50.00
0.0436
21.8409
40.00
0.0350
10.3347
93.00
0.1880
5.1896
88.00
0.1730
4.6626
84.00
0.1540
48.4716
78.00
0.1260
7.5624
75.00
0.1000
4.0000
92.00
0.1800
45.0000
75.00
0.1000
4.0000
91.50
0.1850
48.0000
10.00
0.0100
10.0000
54.00
0.0440
58.0000
15
Freeze Point
270.2996
211.3251
248.0304
168.4381
1412.5240
1286.6348
1015.0334
768.6957
700.0000
1405.0000
700.0000
1410.0000
150.0000
270.0000
Flash Point
207.7017
551.5897
311.3055
661.2327
16.5062
21.3079
29.5074
39.4486
15.0000
39.0000
15.0000
39.2000
200.0000
650.0000
Table S3 Smoke points, Ni contents and Reid vapor pressures for crudes and acceptable ranges
for feeds to CDUs for Example 2
Crude & CDU
C1
C2
C3
C4
C5
C6
C7
C8
CDU1 Min
Max
CDU2 Min
Max
CDU3 Min
Max
Smoke Point
548.1218
588.8047
567.6004
626.5365
431.4538
455.4485
477.3611
503.5443
400.0000
475.0000
400.0000
470.0000
500.0000
600.0000
Ni
0.075
0.062
0.050
0.035
19.000
18.300
17.500
16.700
15.000
18.800
15.000
18.600
0.010
0.072
Reid Vapor Pressure Asphaltenes Aromatics Paraffins Naphthenes Viscosity
153.6366
0.0850
0.2972
0.3844
0.3414
76.8625
120.4380
0.0650
0.2793
0.4222
0.3203
76.2073
144.8884
0.0500
0.2756
0.3614
0.3022
75.7175
113.5842
0.0700
0.2713
0.4004
0.3443
76.5457
24.1774
0.2000
0.5216
0.2400
0.2384
82.6218
22.5324
0.1890
0.4942
0.3244
0.2302
81.5636
21.1838
0.1750
0.4577
0.2756
0.2407
81.1988
13.8983
0.1500
0.4317
0.3016
0.2439
80.3514
10.0000
0.1500
0.4000
0.2400
0.2000
80.0000
24.0000
0.1960
0.5000
0.3200
0.2420
82.5000
10.0000
0.1500
0.4000
0.2400
0.2000
80.0000
23.9000
0.1950
0.5200
0.3200
0.2410
82.6000
100.0000
0.0500
0.2500
0.3500
0.3000
70.0000
150.0000
0.0800
0.2950
0.4200
0.3440
76.8000
16
Inventory Profile of T1
Inventory Profile of T2
500.00
450.00
400.00
350.00
300.00
250.00
200.00
150.00
100.00
50.00
0.00
350.00
300.00
250.00
200.00
150.00
100.00
50.00
0.00
260 kbbl
0.00
0.00
14.40 15.00 15.20 21.20 29.20 72.00
Inventory Profile of T3
21.20
42.00
72.00
Inventory Profile of T4
450.00
350.00
400.00
350.00
300.00
300.00
250.00
250.00
200.00
200.00
150.00
150.00
100.00
100.00
50.00
50.00
0.00
0.00
0.00
21.20
27.20
42.00
72.00
0.00
14.40
29.20
Inventory Profile of T5
450.00
400.00
350.00
300.00
250.00
200.00
150.00
100.00
50.00
0.00
420 kbbl
0.00
27.20
34.00
72.00
Figure S1 Inventory profiles of T1-T5 for Example 1 from the robust schedule in Figure 11
17
72.00
Feed Rates to CDU101
14.00
T1(12.5 kbbl/s)
12.00
10.00
8.00
T4 (6.25 kbbl/s)
6.00
T1 (3.97 kbbl/s)
4.00
T4 (3.68 kbbl/s)
2.00
0.00
0.00
8.00
16.00 24.00 32.00 40.00 48.00 56.00 64.00 72.00
Feed Rates to CDU102
12.00
T3 (11.25
kbbl/s)
10.00
8.00
T2 (6.25 kbbl/s)
6.00
T3 (5.31 kbbl/s)
4.00
2.00
T2 (0.94 kbbl/s)
0.00
0
8
16
24
32
40
48
56
64
72
Figure S2 Feed rates to CDU101 and CDU102 for Example 1 from the robust schedule in Figure 11
18
Inventory Profile of T2
Inventory Profile of T1
350.00
350.00
300.00
250.00
200.00
150.00
100.00
50.00
0.00
300.00
250.00
200.00
150.00
100.00
50.00
0.00
0.00
29.20
72.00
0.00
Inventory Profile of T3
35.20
50.00
72.00
Inventory Profile of T4
450.00
400.00
350.00
300.00
250.00
200.00
150.00
100.00
50.00
0.00
700.00
600.00
500.00
400.00
300.00
200.00
100.00
0.00
0.00
35.20
42.00
50.00
0.00
72.00
15.00
15.20
21.20
29.20
72.00
Inventory Profile of T5
400.00
350.00
300.00
250.00
200.00
150.00
100.00
50.00
0.00
0.00
21.20
27.20
35.20
50.00
72.00
Figure S3 Inventory profiles of T1-T5 for Example 1 from the robust schedule in Figure 12
19
Feed Rates to CDU101
14.00
T4 (12.5 kbbl/s)
12.00
29.2
10.00
T1 (8.56 kbbl/s)
8.00
6.00
4.00
2.00
0.00
0.00
8.00
16.00 24.00 32.00 40.00 48.00 56.00 64.00 72.00
Feed Rates to CDU102
12.00
T5 (10.17 kbbl/s)
10.00
T5 (8.16 kbbl/s)
35.2
8.00
T2 (6.12 kbbl/s)
6.00
T3 (4.34 kbbl/s)
T3 (4.26 kbbl/s)
4.00
T2 (2.33 kbbl/s)
2.00
50
0.00
0
8
16
24
32
40
48
56
64
72
Figure S4 Feed rates to CDU101 and CDU102 for Example 1 from the robust schedule in Figure 12
20
Figure S5 Robust schedule for Example 2 from model ROM with demand uncertainty following bounded distribution (Obj =  $ 4780.727K)
21
Inventory Profile of T1
Inventory Profile of T2
570 kbbl
600.00
550.00
500.00
450.00
400.00
350.00
300.00
250.00
200.00
150.00
100.00
50.00
0.00
450.00
400.00
350.00
300.00
250.00
200.00
150.00
106.5 kbbl
100.00
50.00
0.00
0
171
175
178
186
336
0
50
Inventory Profile of T3
570 kbbl
0
4
32
187
336
Inventory Profile of T4
600.00
550.00
500.00
450.00
400.00
350.00
300.00
250.00
200.00
150.00
100.00
50.00
0.00
0
167
36
145
980 kbbl
1,000.00
950.00
900.00
850.00
800.00
750.00
700.00
650.00
600.00
550.00
500.00
450.00
400.00
350.00
300.00
250.00
200.00
150.00
100.00
50.00
0.00
336
231 kbbl
0
167
Inventory Profile of T5
171
176
179
187
336
Inventory Profile of T6
570 kbbl
600.00
550.00
500.00
450.00
400.00
350.00
300.00
250.00
200.00
150.00
100.00
50.00
0.00
350.00
300.00
412.5 kbbl
250.00
200.00
150.00
100.00
50.00
0.00
0
18
21
24
28
50
145
196
200
336
0.0
Inventory Profile of T7
0.3
16.0
20.0
24.0
27.2
80.0
186.0
336.0
Inventory Profile of T8
300.00
500.00
450.00
250.00
260 kbbl
400.00
350.00
200.00
300.00
150.00
245 kbbl
250.00
200.00
100.00
150.00
100.00
50.00
50.00
0.00
0.00
0.0
21.1
24.0
189.1
192.0
336.0
0.0
80.0
160.8
162.0
Figure S6 Inventory profiles of T1-T8 for Example 2 from the robust schedule in Figure S5
22
336.0
Feed Rates to CDU101
6.50
6.00
5.50
5.00
4.50
4.00
3.50
3.00
2.50
2.00
1.50
1.00
0.50
0.00
T4 (3.58 kbbl/s)
T4 (2.5 kbbl/s)
0
48
96
T2 (2.5 kbbl/s)
144
192
240
288
336
288
336
Feed Rates to CDU102
6.50
6.00
5.50
5.00
4.50 T2 (4.89 kbbl/s)
4.00
3.50
3.00
T3 (2.5 kbbl/s)
2.50
2.00
1.50
1.00
0.50
0.00
0
48
96
T5 (2.72 kbbl/s)
144
192
240
Feed Rates to CDU103
6.50
6.00
5.50
5.00
4.50
4.00
3.50
3.00
2.50
2.00
1.50
1.00
0.50
0.00
T6 (3.47 kbbl/s)
T8 (2.69 kbbl/s)
0
48
T1 (2.5 kbbl/s)
96
144
192
240
288
336
Figure S7 Feed rates to CDU101, CDU102 and CDU103 for Example 2 from the robust schedule in Figure S5
23
Inventory Profile of T1
Inventory Profile of T2
400.00
500.00
350.00
450.00
400.00
300.00
350.00
250.00
300.00
200.00
140 kbbl
150.00
250.00
200.00
150.00
100.00
100.00
50.00
50.00
0.00
0.00
0
80
180
182
336
0
65
Inventory Profile of T3
160
164
176
179
187
336
Inventory Profile of T4
600.00
550.00
500.00
450.00
400.00
350.00
300.00
250.00
200.00
150.00
100.00
50.00
0.00
1,000.00
900.00
800.00
700.00
600.00
473.14 kbbl
500.00
400.00
300.00
200.00
100.00
0.00
0
0
4
6
65
235
336
0
187
600.00
550.00
500.00
450.00
400.00
350.00
300.00
250.00
200.00
150.00
100.00
50.00
0.00
226.86 kbbl
6
7
27
31
32
336
Inventory Profile of T6
Inventory Profile of T5
0
191
36
235
600.00
550.00
500.00
450.00
400.00
350.00
300.00
250.00
200.00
150.00
100.00
50.00
0.00
0.0
336
0.3
16.0
20.0
24.0
27.2 164.5 168.3 171.5 179.5 336.0
Inventory Profile of T8
Inventory Profile of T7
500.00
180.00
160.00
170 kbbl
140.00
450.00
400.00
350.00
120.00
300.00
100.00
250.00
80.00
245 kbbl
200.00
60.00
150.00
40.00
100.00
20.00
50.00
0.00
0.00
0.0
6.7
9.6
0.0
336.0
80.0
160.0
160.3
Figure S8 Inventory profiles of T1-T8 for Example 2 from the robust schedule in Figure 14
24
336.0
Feed Rates to CDU101
6.50
6.00
5.50
5.00
4.50
4.00
3.50
3.00
2.50
2.00
1.50
1.00
0.50
0.00
T4 (3.22 kbbl/s)
T2 (2.68 kbbl/s)
0
48
96
144
192
240
288
336
Feed Rates to CDU102
6.50
6.00
5.50
5.00
4.50
4.00
3.50
3.00 T2 (2.81 kbbl/s)
2.50
2.00
1.50
1.00
0.50
0.00
0
48
T5 (3.25 kbbl/s)
T3 (2.88 kbbl/s)
96
144
192
240
288
336
Feed Rates to CDU103
6.50
6.00
5.50
5.00
4.50
4.00
3.50
3.00 T8 (2.69 kbbl/s)
2.50
2.00
1.50
1.00
0.50
0.00
0
48
T6 (3.10 kbbl/s)
T1 (3.01 kbbl/s)
96
144
192
240
288
336
Figure S9 Feed rates to CDU101, CDU102 and CDU103 for Example 2 from the robust schedule in Figure 14
25