عنوان مقاله [English]
The Project Scheduling Problem (PSP) is to determine the sequence and schedule
of activities of a project in a way that decision-makers' objectives are optimized without violating precedence constraints. Due to the scarcity of resources, in recent decades, the Resource-Constrained Project Scheduling Problem (RCPSP) has attracted the attention of researchers and practitioners. The main feature of the resource-constrained project scheduling problem is that it takes into account resource constraints, which significantly affect the solutions obtained for project scheduling problems, in addition to other usual constraints, e.g. precedence constraints. The Resource Leveling Problem (RLP) is a special case of the resource-constrained project scheduling problem in which the resource usage variation between consecutive time periods is minimized. Traditionally, the project scheduling problem and the material ordering problem are separately investigated. However, simultaneous planning of both these problems, i.e., resource constrained project scheduling and material procurement, which can reduce total project costs, has been rarely addressed. In this study, the resource leveling problem which aims at controlling the variations of using the resources during the project execution and the material ordering problem are simultaneously addressed. The material ordering is considered to be subject to all-unit discount. In this regard, a mixed-integer linear programing model is proposed in which the starting and ending times of activities are determined so that in addition to minimizing the variations of resource utilization, total costs related to the material ordering problem (sum of ordering costs as well as holding and purchase costs) are minimized. It is assumed that the intensity of the variable execution directly affects the progress of activities. Also, the duration of activities is considered flexible. Numerical results confirm a tradeoff between material ordering and resource leveling costs. Finally, GAMS software as well as genetic algorithm are used to solve different-sized test problems, and results are discussed.