Binary Decision Diagrams (BDDs) are widely used in electronic design automation and formal verification. BDDs are a canonical representation of Boolean functions with respect to a variable ordering. Finding a variable ordering resulting in a small number of nodes and paths is a primary goal in BDD optimization. There are several approaches minimizing the number of nodes or paths in BDDs, but yet no method has been proposed to minimize both objectives at the same time. In this paper, BDD optimization is carried out as a bi-objective problem using two aforementioned criteria. For this purpose, we have exploited NSGA-II which has been proven to fit problems with a small number of objectives. Furthermore, the algorithm is facilitated with an objective priority scheme that allows to incorporate preference to one of the objectives. Experimental results show that our multi-objective BDD optimization algorithm has achieved a good trade-off between the number of nodes and the number of paths. Comparison of the results obtained by applying priority to the number of nodes or paths with node and path minimization techniques demonstrates that the proposed algorithm can find the minimum of the preferred objective in most cases as well as lowering the other objective simultaneously.