* @return list of moves to a solution.
*/
@Override
public List<Piece> solve() {
ParameterArray initialGuess = new PieceParameterArray(pieces_);
solution_ = pieces_;
long startTime = System.currentTimeMillis();
Optimizer optimizer = new Optimizer(this);