Monotone chain is an important concept in computational geometry. A general polygon or polygonal chain can be decomposed into monotone chains. Described in this paper are two algorithms to find an optimal direction with respect to which a polygonal chain can be split into the minimal number of monotone chains. The first naive algorithm has O(n(2)) time complexity, while the improved algorithm runs in O(n log n) time, where n is the number of vertices of input chain. The optimal direction can improve the performance of the subsequent geometric processing.