Reflected Brownian motion
In probability theory, reflected Brownian motion (or regulated Brownian motion, both with the acronym RBM) is a Wiener process in a space with reflecting boundaries.  In the physical literature, this process describes diffusion in a confined space and it is often called confined Brownian motion. For example it can describe the motion of hard spheres in water confined between two walls.

RBMs have been shown to describe queueing models experiencing heavy traffic as first proposed by Kingman and proven by Iglehart and Whitt.

Definition

A d–dimensional reflected Brownian motion Z is a stochastic process on  uniquely defined by
 a d–dimensional drift vector μ
 a d×d non-singular covariance matrix Σ and 
 a d×d reflection matrix R.
where X(t) is an unconstrained Brownian motion with drift μ and variance Σ, and

with Y(t) a d–dimensional vector where
 Y is continuous and non–decreasing with Y(0) = 0
 Yj only increases at times for which Zj = 0 for j = 1,2,...,d
 Z(t) ∈ , t ≥ 0.

The reflection matrix describes boundary behaviour. In the interior of  the process behaves like a Wiener process; on the boundary "roughly speaking, Z is pushed in direction Rj whenever the boundary surface  is hit, where Rj is the jth column of the matrix R."
The process Yj is the local time of the process on the corresponding section of the boundary.

Stability conditions

Stability conditions are known for RBMs in 1, 2, and 3 dimensions. "The problem of recurrence classification for SRBMs in four and higher dimensions remains open." In the special case where R is an M-matrix then necessary and sufficient conditions for stability are
 R is a non-singular matrix and
 R−1μ < 0.

Marginal and stationary distribution

One dimension
The marginal distribution (transient distribution) of a one-dimensional Brownian motion starting at 0 restricted to positive values (a single reflecting barrier at 0) with drift μ  and variance σ2 is

for all t ≥ 0, (with Φ the cumulative distribution function of the normal distribution) which yields (for μ < 0) when taking t → ∞ an exponential distribution

For fixed t, the distribution of Z(t) coincides with the distribution of the running maximum M(t) of the Brownian motion,

But be aware that the distributions of the processes as a whole are very different. In particular, M(t) is increasing in t, which is not the case for Z(t).

The heat kernel for reflected Brownian motion at :

For the plane above

Multiple dimensions

The stationary distribution of a reflected Brownian motion in multiple dimensions is tractable analytically when there is a product form stationary distribution, which occurs when the process is stable and

where D = diag(Σ). In this case the probability density function is

where ηk = 2μkγk/Σkk and γ = R−1μ. Closed-form expressions for situations where the product form condition does not hold can be computed numerically as described below in the simulation section.

Simulation

One dimension
In one dimension the simulated process is the absolute value of a Wiener process. The following MATLAB program creates a sample path.
% rbm.m
n = 10^4; h=10^(-3); t=h.*(0:n); mu=-1;
X = zeros(1, n+1); M=X; B=X;
B(1)=3; X(1)=3;
for k=2:n+1
    Y = sqrt(h) * randn; U = rand(1);
    B(k) = B(k-1) + mu * h - Y;
    M = (Y + sqrt(Y ^ 2 - 2 * h * log(U))) / 2;
    X(k) = max(M-Y, X(k-1) + h * mu - Y);
end
subplot(2, 1, 1)
plot(t, X, 'k-');
subplot(2, 1, 2)
plot(t, X-B, 'k-');
The error involved in discrete simulations has been quantified.

Multiple dimensions
QNET allows simulation of steady state RBMs.

Other boundary conditions

Feller described possible boundary condition for the process
 absorption or killed Brownian motion, a Dirichlet boundary condition
 instantaneous reflection, as described above a Neumann boundary condition
 elastic reflection, a Robin boundary condition
 delayed reflection (the time spent on the boundary is positive with probability one)
 partial reflection where the process is either immediately reflected or is absorbed
 sticky Brownian motion.

See also

 Skorokhod problem

References

Wiener process
Articles with example MATLAB/Octave code