Two-dimensional Parallel Tempering for Constrained Optimization