Finds the minimum of a n dimensional function with Parallel Tangents and Linear Search. Also, implements a rudimentary Penalty method for non linear restrictions.