Christofides algorithm (by hand) (suboptimal solution - is it my fault?) I would like to calculate an eularian path using Christofides algorithm on this graph: (Focus on the first number in each box representing the distance)


$\alpha$ denotes the start and end vertex of the Eulerian path





Step 1 - Calculate minimum spanning tree $T$






Step 2 - Calculate the set of verices $O$ with odd degree in $T$






Step 3 - Form the subgraph of $G$ using only the vertices of $O$

This is starting to get confusing








Step 4 - Construct a minimum-weight perfect matching $M$ in this subgraph





Step 5 - Unite matching and spanning tree $T$ and $M$ to form an Eulerian multigraph





I am NOT satisfied

Did I do something wrong or did I simply just hit an sub-optimal solution. 
It is not hard to see that the Eulerian path easily could be improved by either connection $G \rightarrow H$ or $A \rightarrow B$ as illustrated underneath:
As mentioned by Yuval, Christofides’ algorithm is an approximation algorithm to the travelling salesman problem. It is not guaranteed to produce an optimal solution. So it is not unexpected that you could end up with a sub-optimal solution of 

On the other hand, you did make a mistake while computing the minimal spanning tree. In your step 1 that calculates the minimum spanning tree, edge H$\alpha$ should be replaced by edge HG.