Bi-level programming problems arise in situations when the decision maker has to take into account the responses of the users to his decisions. Several problems arising in engineering and economics can be cast within the bi-level programming framework. The bi-level programming model is also known as a Stackleberg or leader-follower game in which the leader chooses his variables so as to optimise his objective function, taking into account the response of the follower(s) who separately optimise their own objectives, treating the leader's decisions as exogenous. In this chapter, we present a unified framework fully consistent with the Stackleberg paradigm of bi-level programming that allows for the integration of meta-heuristic algorithms with traditional gradient based optimisation algorithms for the solution of bi-level programming problems. In particular we employ Differential Evolution as the main meta-heuristic in our proposal. We subsequently apply the proposed method (DEBLP) to a range of problems from many fields such as transportation systems management, parameter estimation and game theory. It is demonstrated that DEBLP is a robust and powerful search heuristic for this class of problems characterised by non smoothness and non convexity.