A Constraint-Based Declarative Programming Framework for Scheduling and Resource Allocation Problems - Jarosław Wikarek; Paweł Sitek (Vietnam Journal of Computer Science, 2019)
Scheduling and resource allocation problems are widespread in many areas of today’s technology and management. Their different forms and structures appear in production, logistics, software engineering, computer networks, project and human resources management, services, etc. The literature (problem classification, scheduling and resource allocation models, solutions) is vast and exhaustive. In practice, however, classical scheduling problems with fixed structures and standard constraints (precedence, disjoint, etc.) are rare. Practical scheduling problems include also logical and nonlinear constraints, and they use nonstandard criteria of schedule evaluations. Indeed, in many cases, decision makers are interested in the feasibility and/or optimality of a given schedule for specified conditions formulated as general and/or specific questions. Thus, there is a need to develop a programming framework that will facilitate the modeling and solving of a variety of diverse scheduling problems. The framework should be able to (a) model any types of constraints, (b) ask questions/criteria relating to the schedule execution mode and (c) be highly effective in finding solutions (schedule development). This paper proposes such a constraint-based declarative programming framework for modeling and solving scheduling problems which satisfies the assumptions above. It was built with the Constraint Logic Programming (CLP) environment and supported with Mathematical Programming (MP). The functionality and effectiveness of this framework are presented with the use of an illustrative example for the resource-constrained scheduling problem with additional resources.