This article proposes an approach to the data-aware multi-service application placement problem in Cloud-Edge settings. We propose both declarative programming and a Mixed-Integer Linear Programming (MILP) approach to determine eligible placements that minimise operational costs and reduce the number of used nodes to contain the amount of data transfers. After assessing the performance of both approaches, we reconcile them into a methodology that combines the best of the two worlds by exploiting a declarative pre-processing step to boost the MILP solver while determining optimal solutions. We open-sourced the methodology into a prototype that is l0x faster than pure MILP, determines optimal results, and easily accommodates non-numerical constraints on application placements.