Service function chaining or in-line services in network function virtualization is a promising approach for network and service providers as it allows them to dynamically instantiate network functions and interconnect them according to a predetermined policy on-the-fly. It brings flexibility, easy management and rapid deployment of new virtual network services. With the advent of 5G and the concept of network slicing, virtual network services are becoming increasingly complex, not only in terms of topologies, but also in terms of stringent requirements that need to be fulfilled. An optimal deployment of these service function chains, and virtual network services in general, calls for an approach that considers the operational, traffic, and energy costs and QoS constraints jointly from a multi-objective mathematical perspective.In this paper, we propose a multi-objective integer linear program for the joint placement and chaining of virtual network services of different topologies (linear and non-linear) to solve the problem optimally and an evolutionary algorithm (cultural algorithm) for medium and large-scale instances (not limited to 3 to 5 VNFs per SFC). To the best of our knowledge, we are the first to consider this problem from this perspective and propose a solution to it. Extensive experiments demonstrate the effectiveness and efficiency of our proposed evolutionary algorithm versus the optimal solution.