Distrbutionally Robust Optimization: A Marriage of Robust Optimization and Stochastic Programming
Distrbutionally Robust Optimization: A Marriage of Robust Optimization and Stochastic Programming
Melvyn Sim
Markowitz
! Upper bounds on E( . )+
! Approximation idea:
! Union bound
" Bound is good if constraints are independently
distributed
" Bound is weak if constraints are highly
correlated.
" Need to fix !j. Sensible choice !j=!/m
! How to optimize over !j?
x1=80
d1=100
x5=50
x4=10 x7=10
x3=250
x6=10
d4=180 x2=90
x8= 100
x1=80
x5=50
x4=10 x7=10
x3=250
x6=10
d4=200 x2=90
x8= 100
Union Bound
Improved Bound
t t+1
initx =0*ones(L,1);
inity = 0;
Ny=[0 1:T];
Nx = [zeros(1,L) 0:T-L-1];
Nxms = [zeros(1,L) 0:T-L-1];
% Demand information
Z.zlow = Range*ones(N,1);
Z.zupp = Range*ones(N,1);
Z.p = .58*Range*ones(N,1);
Z.q = .58*Range*ones(N,1);
Z.sigma =.58*Range*ones(N,1);
Modeling Software
startmodel
x = linearrule(T,N,Nx);
xms = linearrule(T,N,Nxms);
y = linearrule(T+1,N,Ny);
for i=1:T
addconst(xms(i,:) == x(i,:)-S*ldrdata([0 1],N));
end
hbound=0;
sbound=0;
for t=1:T
if L+1<= t
hbound = hbound+ h*meannestedposbound(Z,y(t+1,0:t),-x(L+1:t,0:t),t);
sbound = sbound + b(t)*meannestedposbound(Z,-y(t+1,0:t),xms(L+1:t,0:t),t);
else
hbound = hbound+h*meanpositivebound(Z,y(t+1,:),1,N);
sbound = sbound + b(t)*meanpositivebound(Z,-y(t+1,:),1,N);
end
end
Modeling Software
m=endmodel;
s = m.solve('CPLEX');
xsol=s.eval(x);
Robust Inventory Control
- Computations