An Optimization-Based Method For High Order Gradient Calculation On Unstructured Meshes