Cheapest is to use a box blade and hopefully a big enough tractor to move some dirt. We spent many hours re-contouring our roads this way. The idea is to study how the water flows, as this is what causes ruts. Until you control and direct the runoff, you will be fighting a losing battle. Start at the high point and start creating a channel or ditch to divert the water off the roads, as this many take many passes with the box blade. Every 50 to 100 yards, try to make the drainage ditch sweep away from the road, by building humps or waterbars. THe idea is to reduce the quantity and speed of the water. Make a channel for the water where you want it, away from the road. Of course these ditches will deepen with time and other minor ditches or ruts will form over time, so this is a never-ending battle. Simply said, try to make the road the high point and let the water run beside the road, not across or over it. You may have to dig some drainage ditches also to drain low spots to keep the water from collecting and sitting on your road. You can do all of this with a boxblade, but is is a slow process. It often takes dozens of passes to move dirt from the road gutters to the crown of the road. Of course in the real world, this is done with a dozer, a road grader, and a backhoe, but if you are like me, the cost can't be justified. You can do it fairly well with a tractor and a box blade but it takes lots of time. We were also fortunate to have a grapple, so in many areas we uprooted trees and widened or moved the road to a better spot to maintain.