The cheapest way to get from Guilin to Yangshuo is to take the bus.
I took one of the buses, which depart frequently right in front of the train station. You cannot miss them, because as a Westerner, “tourist scouts” recognize you right away and ask you if you want to take a bus to Yangshuo. Then they lead you to the bus and ask you to pay for the ticket. However you have to insist that you want to pay the ticket once you are on the bus. The scouts ask for (way) too much money, then they pay the bus driver the correct price and keep the difference themselves.
In 2010 the normal price, paid inside the bus, was 15 Yuan.
The bus ride takes around 1 hour. The bus station in Yangshuo is situated right at the beginning of the West street where you find most hotels and hostels.
On the way back (from Yangshuo to Guilin) I took the express bus, which is the more official bus and which departs from the same bus station in Yangshuo. The ticket price is also 15 Yuan, and I think there is a bus departing every 30 minutes.
However the bus station for the Express bus in Guilin is not the one at the train station. It is situated at Zhongshan Nanlu, around 10 min walking distance from the train station. When you arrive in Guilin coming from Yangshuo, the bus will pass by the train station, so its easy to find the way back to the train station once you get of at the bus station.
By the way, another more expensive, but maybe a more interesting option to get from Guilin to Yangshuo and back, is to take a boat along the Li river.