Is there any algorithm that can orient undirected graph G(V,E) (i.e., assign directions to edges) to achieve maximum flow in the network? Any suggestion?
I assume you are given an undirected network $G$, and two vertices $s,t$, and you wish to maximize the flow from $s$ to $t$, while directing the edges of $G$. In this case, you can just use the normal Ford-Fulkerson algorithm with the following modification:
Every time you take an augmenting $s$-$t$ path in $G$ and send flow along it, direct the edges along the path. Eventually, your algorithm will stop, and all edges (except those with flow 0) will have a direction. The flow will be maximal, which can be proven using the max-flow-min-cut theorem.
One of the most amazing theorems in graph theory is Nash-William's :
.... And its proof is constructive, but not that easy to implement :-)