 the route(s) for each service chain in such a way that the physical network can accommodate the traffic for all service chains or, if not all can be accommodated, the highest prior- ity service chains. The traffic for a given service chain may be split among multiple paths in the network when multiple instances of a spe- cific VNF are used. Moreover, the network onto which we are placing VNFs may have heterogeneous server types, such that one server type may be more efficient at running a given VNF than others. Server het- erogeneity must be taken into account when choosing where to place VNF instances. VNF placement is a challenging combinatorial prob- lem because it involves a large number of discrete placement decisions. This class of decision problem is known to be NP Hard. The VNF placement problem resembles that of virtual network embedding (VNE), in which one must determine how to place a set of virtual networks onto a physical substrate network. In one respect, each service chain in a VNF placement problem can be viewed as a virtual network to be mapped onto a physical network. However, VNF placement differs in that each node (VNF) in a virtual network can be mapped to multiple instances that are placed on different nodes in the physical network. VNE approaches do not address how to map each VNF into instances. VNF placement combines the problems of mapping service chains into virtual networks and then maps the resulting virtual networks into the physical network. There are multiple objectives when placing VNFs. A service provider may want to host VNFs on as few servers as possible in order to min- imize operating costs and leave open servers for future VNF needs. At the same time, he may want to ensure low network latency for his customers. These two objectives are in direct conflict, in that the for- mer involves concentrating traffic in the network, whereas the latter implies spreading traffic out to avoid network congestion. In the following, we introduce a work that uses a mixed integer pro- grammin