Network Functions Virtualisation (NFV) and Software-Defined Networking (SDN) have emerged as promising technologies in the telecommunication business. An important problem of NFV architecture is how to allocate virtualised resources to network services. Efficient resource allocation should consider not only the status of the Virtualized Network Function (VNF) but also the network condition. We propose a Quality of Service (QoS) constrained path optimization algorithm to set up the optimized VNF Forwarding Graphs (VNFFG) considering an available bandwidth. When the link bandwidth is not sufficient, competitor selection and priority switching of the super problem could find the optimized VNFFGs to accept more service requests by utilizing replaceable VNFs.