TNC 1.2: a non-linear, bounds constrained optimizer