A bound constrained optimization algorithm called L-BFGS-B is presented. It combines a trust region method with a quasi-Newton update of the Hessian and a line-search. This algorithm is tested on the non-linear dip estimation problem. Results show that the optimization algorithm converges effectively toward a model with bounds. Furthermore, bounds improve the estimated dips where plane-waves with different slopes overlap (e.g., with aliased data). When no constraints are applied, the algorithm is of comparable speed to a conjugate gradient solver.