We consider the problem of achieving average consensus among multiple agents, where the inter-agent communication network is depicted by a graph. We consider the discrete-time consensus protocol where each agent updates its value as a weighted average of its own value and those of its neighbours. Given a graph, it is known that there exists a set of 'optimal weights' such that the agents reach average consensus asymptotically with an optimal rate of convergence. However, existing methods require the knowledge of the entire graph to compute these optimal weights. We propose a method for each agent to compute its set of optimal weights locally, i.e., each agent only has to know who are its neighbours. The method is derived by solving a matrix norm minimization problem subject to linear constraints in a distributed manner using the Alternating Direction Method of Multipliers (ADMM). We illustrate our results using numerical examples and compare our method with an existing method called the Metropolis weights, which are also computed locally.