Network Functions Virtualization (NFV) revolutionizes network services by eliminating the need for dedicated hardware. This virtualization enables flexible and efficient deployment of various network functions like proxies, firewalls, and load balancers. Providing the service requested by the user in the network is done by a sequence of virtual network functions, which are known as service functions chain. One of the main challenges in the development of network functions virtualization architecture is the allocation of resources to the requested network services in network infrastructures, this challenge is called network function virtualization resource allocation problem. Therefore, this paper addresses the resource allocation problem in Network Functions Virtualization (NFV) architectures using mathematical programming techniques. A multi-objective mixed-integer linear programming (MILP) model is proposed to optimize resource allocation for virtual network functions (VNFs). The model incorporates constraints related to node and link resource capacities, as well as delay requirements. The objective functions focus on maximizing network throughput, minimizing node resource costs (CPU cores and memory), reducing capital and operational expenses, and ensuring efficient execution time. These constraints and objective functions are formally defined by mathematical functions. The proposed mathematical model is implemented and solved using the Cplex solver. To evaluate the effectiveness of the proposed mathematical model, various network topologies were evaluated under different parameters. These parameters included the length of Service Function Chains (SFCs), the number and length of flows, node resource capacities, the number of nodes and VNFs. The experimental results demonstrated the model’s ability to efficiently allocate resources to VNFs across these different scenarios.