Abstract: Background and Objective: In the recent decades several algorithms have been proposed to solve optimization problems. Among these algorithms, heuristics and meta-heuristics are much better than others. On the other hand, the multi-level programming problems are attractive for many researchers because of their application in several areas such as transportation, information technology, engineering and so on. The objective of this study was to solve tri-level programming problem, which was more important, by a heuristic approach. Materials and Methods: In this study, an approach based on bi-section algorithm would be proposed for solving the linear tri-level programming problem. Using Karush-Kuhn-Tucker conditions the tri-level programming problem was converted to a non-smooth single problem and then the problem would be smoothed by proposed smoothing function. Finally, bi-section algorithm was applied to solve the smoothed problem. Results: Main findings of this study were converted tri-level programming problem to a single problem, smoothing the converted problem, linearization the smoothed problem and solved the last problem by bi-section algorithm. It has been shown that, bi-section algorithm was efficient and feasible solution by solving some problems. Conclusion: Therefore, it is concluded that by comparing with the results of previous methods, this proposed algorithm has better numerical results and present better solutions. The best solutions produced by this algorithm were feasible unlike the previous best solutions. Solving large size of the problem would be significant for future works. Also extension of the problem to other kinds of multi-level programming problems would be interesting.