Solving the Employee Timetabling Problem Using Advanced SAT & ILP Techniques



Similar documents
npsolver A SAT Based Solver for Optimization Problems

A SAT Based Scheduler for Tournament Schedules

University of Potsdam Faculty of Computer Science. Clause Learning in SAT Seminar Automatic Problem Solving WS 2005/06

MPBO A Distributed Pseudo-Boolean Optimization Solver

Discuss the size of the instance for the minimum spanning tree problem.

An Integer Programming Model for the School Timetabling Problem

Scheduling Algorithm with Optimization of Employee Satisfaction

Between Restarts and Backjumps

Lecture 7: NP-Complete Problems

Satisfiability Checking

Optimizing Description Logic Subsumption

A Constraint Programming Application for Rotating Workforce Scheduling

Ant Colony Optimization and Constraint Programming

Sudoku as a SAT Problem

Generating models of a matched formula with a polynomial delay

Generating Personnel Schedules in an Industrial Setting Using a Tabu Search Algorithm

Introduction to Logic in Computer Science: Autumn 2006

Research Article Scheduling IT Staff at a Bank: A Mathematical Programming Approach

Using Business Intelligence to Mitigate Graduation Delay Issues

School Timetabling in Theory and Practice

Branch-and-Price Approach to the Vehicle Routing Problem with Time Windows

M.S. Project Proposal. SAT Based Attacks on SipHash

Page 1. CSCE 310J Data Structures & Algorithms. CSCE 310J Data Structures & Algorithms. P, NP, and NP-Complete. Polynomial-Time Algorithms

Memory Efficient All-Solutions SAT Solver and Its Application for Reachability Analysis

Faster SAT Solving with Better CNF Generation

OHJ-2306 Introduction to Theoretical Computer Science, Fall

A Shift Sequence for Nurse Scheduling Using Linear Programming Problem

CS510 Software Engineering

EFFICIENT KNOWLEDGE BASE MANAGEMENT IN DCSP

A Tool for Generating Partition Schedules of Multiprocessor Systems

NP-Completeness I. Lecture Overview Introduction: Reduction and Expressiveness

Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams

A Flexible Mixed Integer Programming framework for Nurse Scheduling

Evolutionary SAT Solver (ESS)

A search based Sudoku solver

NP-Completeness. CptS 223 Advanced Data Structures. Larry Holder School of Electrical Engineering and Computer Science Washington State University

CSC 373: Algorithm Design and Analysis Lecture 16

Smart Graphics: Methoden 3 Suche, Constraints

Efficient Iceberg Query Evaluation for Structured Data using Bitmap Indices

FPGA area allocation for parallel C applications

Student Project Allocation Using Integer Programming

Course Outline Department of Computing Science Faculty of Science. COMP Applied Artificial Intelligence (3,1,0) Fall 2015

STUDY OF PROJECT SCHEDULING AND RESOURCE ALLOCATION USING ANT COLONY OPTIMIZATION 1

A Genetic Algorithm Approach for Solving a Flexible Job Shop Scheduling Problem

Open-WBO: a Modular MaxSAT Solver

Exponential time algorithms for graph coloring

CNFSAT: Predictive Models, Dimensional Reduction, and Phase Transition

Outline. NP-completeness. When is a problem easy? When is a problem hard? Today. Euler Circuits

A Constraint Programming based Column Generation Approach to Nurse Rostering Problems

New Hash Function Construction for Textual and Geometric Data Retrieval

CLOUD DATABASE ROUTE SCHEDULING USING COMBANATION OF PARTICLE SWARM OPTIMIZATION AND GENETIC ALGORITHM

Chaff: Engineering an Efficient SAT Solver

An Improved ACO Algorithm for Multicast Routing

Planning and Scheduling in Manufacturing and Services

1. Nondeterministically guess a solution (called a certificate) 2. Check whether the solution solves the problem (called verification)

A Binary Model on the Basis of Imperialist Competitive Algorithm in Order to Solve the Problem of Knapsack 1-0

A Working Knowledge of Computational Complexity for an Optimizer

Cost Models for Vehicle Routing Problems Stanford Boulevard, Suite 260 R. H. Smith School of Business

M. Sugumaran / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 2 (3), 2011,

FUZZY CLUSTERING ANALYSIS OF DATA MINING: APPLICATION TO AN ACCIDENT MINING SYSTEM

CREATING WEEKLY TIMETABLES TO MAXIMIZE EMPLOYEE PREFERENCES

Roulette wheel Graph Colouring for Solving Examination Timetabling Problems

Adaptive Memory Search for Boolean Optimization Problems

Fitness Evaluation for Nurse Scheduling Problems

Heuristics for Dynamically Adapting Constraint Propagation in Constraint Programming

Disjunction of Non-Binary and Numeric Constraint Satisfaction Problems

Chapter 1. NP Completeness I Introduction. By Sariel Har-Peled, December 30, Version: 1.05

Bounded-width QBF is PSPACE-complete

INTEGER PROGRAMMING. Integer Programming. Prototype example. BIP model. BIP models

Classification - Examples

Dynamic Resource Allocation in Software Defined and Virtual Networks: A Comparative Analysis

Sustaining Privacy Protection in Personalized Web Search with Temporal Behavior

ACO Hypercube Framework for Solving a University Course Timetabling Problem

WITH the growing economy, the increasing amount of disposed

Comparative Analysis of Load Balancing Algorithms in Cloud Computing

HYBRID ACO-IWD OPTIMIZATION ALGORITHM FOR MINIMIZING WEIGHTED FLOWTIME IN CLOUD-BASED PARAMETER SWEEP EXPERIMENTS

Using diversification, communication and parallelism to solve mixed-integer linear programs

Determine: route for each connection and protect them if necessary to minimize total network cost (say wavelength-links).

COMPUTER SCIENCE TRIPOS

Guessing Game: NP-Complete?

The Second International Timetabling Competition (ITC-2007): Curriculum-based Course Timetabling (Track 3)

Staff Scheduling in Health Care Systems

CAD Algorithms. P and NP

Interactive Timetabling

Resolution. Informatics 1 School of Informatics, University of Edinburgh

R u t c o r Research R e p o r t. A Method to Schedule Both Transportation and Production at the Same Time in a Special FMS.

Integrating Benders decomposition within Constraint Programming

Transcription:

JOURNAL OF COMPUTERS, VOL. 8, NO. 4, APRIL 2013 851 Solving the Employee Timetabling Problem Using Advanced SAT & ILP Techniques Fadi A. Aloul*, Syed Z. H. Zahidi, Anas Al-Farra, Basel Al-Roh American University of Sharjah, Department of Computer Science & Engineering, Sharjah, UAE *Corresponding author email: faloul@aus.edu Bashar Al-Rawi Microsoft, Washington, USA Abstract The Employee Timetabling Problem (ETP) is concerned with assigning a number of employees into a given set of shifts over a fixed period of time while meeting the employee s preferences and organizational work regulations. The problem also attempts to optimize the performance criteria and distribute the shifts equally among the employees. The problem is known to be a complex optimization problem. It has received intensive research during the past few years given its common use in industries and organizations. Several formulations and algorithms based on incomplete search approaches have been proposed to solve employee timetabling problems. In this paper, we propose a complete search approach using Boolean satisfiability (SAT) and integer linear programming (ILP) to solve these problems. The 0-1 ILP model of interest is developed and solved using advanced SAT and ILP solvers. A tool has also been developed to automate the process of producing and solving the ILP model. Experimental results indicate that the proposed approach can effectively handle employee timetabling problems. Index Terms Employee Timetabling, Optimization, Scheduling, ILP, Boolean Satisfiability. I. INTRODUCTION Employee timetabling problem (ETP) represents an important class of optimization problems in operational research. Given a number of employees and shifts, the goal is to assign employees to shifts while satisfying all of the employees and organizational constraints. The general employee timetabling problem is known to be difficult to solve but has gained wide interest from the research community given its frequent use in practice [1][2]. The problem has also been extended to handle other applications such as educational timetabling [3], crew and transport timetabling[4], sport timetabling [5][6], etc. Many formulations and algorithms have been proposed to solve the employee timetabling problem. Most of these algorithms are based on incomplete search approaches, namely local search techniques[7][8], particle swarm optimization [9][10] [11], genetic algorithms [3], hybrid branch-and-bound [12], heuristic ordering [13], and tabu search [14] [15][16]. Such algorithms cannot prove unsatisfiability or guarantee that a solution is optimal. In other words, if a solution is found, it cannot guarantee that this solution has the best possible optimization cost. In this paper, we propose a Boolean satisfiability (SAT)-based approach to solve the employee timetabling problem. The approach is complete and hence examines the entire search space defined by the problem to prove that either the problem has no solution, i.e. the problem is unsatisfiable, or that a solution does exist, i.e. the problem is satisfiable. If the problem is satisfiable, the proposed approach will search all possible solutions to find the optimal solution. Recently, there has been a remarkable growth in the use of Boolean satisfiability (SAT) models and algorithms for solving various complex problems in Engineering and Computer Science. This is mainly due to the fact that SAT algorithms have seen tremendous improvements in the last few years, allowing larger problem instances to be solved in different applications domains. Such applications include FPGA routing [17], global routing [18], verification [19], cryptography [20], power optimization [21], genetics [22], and communications [23]. SAT has also been extended to a variety of applications in Artificial Intelligence including other well-known NP-complete problems such as graph colorability, vertex cover, and Hamiltonian path [24]. Briefly defined, the SAT problem involves a set of Boolean variables and a set of constraints expressed in product-of-sum form, also known as conjunctive normal form (CNF). The goal is to identify an assignment to the variables that would satisfy all constraints or prove that no such assignment exists. While SAT solvers have traditionally been used to solve decision problems, recently SAT solvers have been extended to handle pseudo-boolean (PB) constraints [18][25][26][27][28], which are simple inequalities that are equivalent to 0 1 integer linear programming (ILP) constraints. PB constraints are more expressive and can replace an exponential number of CNF constraints. Another key advantage of PB constraints is the ability to express optimization problems which are traditionally handled as ILP problems. Hence, SAT solvers can now handle both decision and optimization problems. Recent studies have shown that SAT solvers can compete with the best available generic ILP solvers in solving 0 1 ILP problems arising in specific applications [18][25]. Even though in recent years we have seen a surge in the application of SAT techniques to assist in finding doi:10.4304/jcp.8.4.851-858

852 JOURNAL OF COMPUTERS, VOL. 8, NO. 4, APRIL 2013 solutions to various Engineering problems, we are not aware of the use of SAT-based techniques in solving employee timetabling problems. In this paper, we first show how to model the employee timetabling problem as a SAT, i.e. 0-1 ILP, instance, secondly we develop a tool to automate the process of entering the organizational and employee preferences, producing the ILP model, solving the model and generating the employee schedule, and thirdly we evaluate the performance of the latest SAT and ILP solvers in handling the employee timetabling instances. We show that both SAT and ILP solvers can effectively handle reasonably-sized employee timetabling problems. Furthermore, generic ILP solvers are likely to achieve better results than SAT solvers when handling larger employee timetabling problems. This paper is organized as follows. Section 2 includes background information on SAT and ILP. Section 3 shows how to formulate the employee timetabling problem as a 0-1 ILP instance. A detailed example is shown in Section 4. Section 5 shows an overview of the developed scheduling tool. Experimental results are presented and discussed in Section 6. The paper is concluded in Section 7. II. INTRODUCTION The Boolean satisfiability (SAT) problem involves finding an assignment to a set of binary variables that satisfies a given set of constraints. In general, these constraints are expressed in products-of-sum form, also known as conjunctive normal form (CNF). A CNF formula on n binary variables,..., consists of the conjunction (AND) of m clauses,, each of which consists of the disjunction (OR) of k literals. A literal l is an occurrence of a Boolean variable or its complement [29]. Hence, in order to satisfy a formula, each of its clauses must have at least one literal evaluated to true. Most current SAT solvers [18][25][26][27][28] [30][31][32][33] are based on the original Davis-Putnam backtrack search algorithm [34]. The algorithm performs a depth first search process that traverses the space of 2 variable assignments until a satisfying assignment is found, i.e. the formula is satisfiable, or all combinations have been exhausted, i.e. the formula is unsatisfiable. Originally, all variables are unassigned. The algorithm begins by choosing a decision assignment to an unassigned variable. A decision tree is maintained to keep track of variable assignments. After each decision, the algorithm determines the implications of the assignment on other variables. This is obtained by forcing the assignment of the variable representing an unassigned literal in an unresolved clause, whose all other literals are assigned to 0, to satisfy the clause. This is referred to as the unit clause rule. If no conflict is detected, the algorithm makes a new decision on a new unassigned variable. Otherwise, the backtracking process unassigns one or more recently assigned variables and the search continues in another area of the search space. An example of a decision tree is shown in Figure 1. Figure 1. An example of a satisfiable SAT instance showing its corresponding decision tree. As an example, a CNF instance,, consists of 3 variables, 2 clauses, and 5 literals. The assignment {a = 0, b = 1, c = 0} leads to a conflict, whereas the assignment {a = 0, b = 0, c = 1} satisfies f. Note that a problem with n variables will have 2 possible assignments to test. The above example with 3 variables has 8 possible assignments. An instance with 100 variables will have 1.27e+30 assignments. Assuming a processor that can verify an assignment every 1 nanosecond, the processor will complete testing all assignments in 4e+12 years. Despite the SAT problem being NP-Complete [35], several powerful methods have been proposed to expedite the backtrack search algorithm. One of the best methods is known as the conflict analysis procedure [31] and has been implemented in almost all SAT solvers. Whenever a conflict is detected, the procedure identifies the causes of the conflict and augments the clause database with additional clauses, known as conflict-induced clauses, to avoid regenerating the same conflict in future parts of the search process. In essence, the procedure performs a form of learning from the encountered conflicts. Significant speedups have been achieved with the addition of conflict-induced clauses, as they tend to effectively prune the search space. Intelligent decision heuristics and random restarts [30] also played an important role in enhancing the SAT solvers performance. Today, several powerful SAT solvers have been developed and are capable of solving problems consisting of thousands of variables and millions of constraints in a few seconds. Most of these solvers claim competitive results in runtime efficiency and robustness. Another recent extension to SAT solvers deals with its input format. Restricting the input of SAT solvers to CNF formulas can restrict their usage in various domains. Therefore, researchers have focused on extending SAT solvers to handle stronger input representations. Specifically, SAT solvers [18][25][26][27][28] have been extended to handle pseudo-boolean (PB) constraints which are linear inequalities with integer coefficients that can be expressed in the normalized form [18] of:

JOURNAL OF COMPUTERS, VOL. 8, NO. 4, APRIL 2013 853 (1) where, and are literals of Boolean variables. Note that any CNF clause can be viewed as a PB constraint, e.g. clause is equivalent to 1. PB constraints can, in some cases, replace an exponential number of CNF constraints. They have been found to be very efficient in expressing counting constraints [18]. Furthermore, PB extends SAT solvers to handle optimization problems as opposed to only decision problems. Subject to a given set of CNF and PB constraints, one can request the minimization (or maximization) of an objective function which consists of a linear combination of the problem s variables: (2) This feature has introduced many new applications to the SAT domain. Specifically, all 0-1 integer linear programming (ILP) problems, i.e. ILP problems whose variables are Boolean, can be easily solved now by SAT solvers. Studies have shown that SAT-based 0-1 ILP optimization solvers can in fact compete with some of the best generic-based ILP solvers [18][25]. In this paper, we are interested in using advanced SAT and ILP techniques to solve the employee timetabling problem. III. PROBLEM FORMULATION This section develops the 0-1 ILP model for the employee timetabling problem (ETP) and illustrates its applicability using several examples. Consider an organization with m employees. Assume the organization runs for d days/week, has s shifts per day, and needs w employees to be working in each shift. We first introduce the following decision variables per employee: 1, E 0, 1, D, 0, 1, S,, 0, Hence the total number of variables will be m + md + mds. Two sets of constraints are added to represent the organizational regulations and employee preferences, respectively. These are described below. A. Organizational Constraints The organization needs to make sure that w employees are assigned to each possible shift. This is expressed in the following constraint: (3) (4) (5) S,, w j k (6) The constraint can be customized per shift. For example the morning shift can have more employees than the afternoon or evening shift. B. Employee Constraints The two constraints below define the relationship between the variables,,, and,,. These constraints are added for all employees. Constraint (7) ensures that if an employee is assigned to any shift, then the employee is working: S,, D, j i (7) Constraint (8) ensures that if an employee is working during any day, then the employee is working, i.e. not on vacation, etc. D, E i (8) The following set of constraints deal with the employee preferences. They can be specifically assigned to each employee depending on his/her preferences. Alternating days: An employee cannot work for two consecutive days. D, D, i j, j d (9) Number of shifts per employee: An employee can work up to k shifts per day. For example, if for security reasons an organization requires employee rotation then the employee does not work all the shifts of a particular day. Note that k can be different for each employee.,, (10) Number of working days per employee: An employee must work not less than h days and no more than h days per week. D, h i (11) D, h i (12) Off-days: An employee may be sick or on vacation and unable to work. Assuming employee i cannot work on day j, this can be expressed using: D, 0 (13) Off-shifts: An employee may be working part-time or unable of working during specific shifts. Assuming employee i cannot work in the morning shifts

854 JOURNAL OF COMPUTERS, VOL. 8, NO. 4, APRIL 2013 (indicated by 1) due to another job. This can be expressed using: S,, 0 (14) In order to generate a timetable, the organizational constraints are mandatory, but the employee preferences constraints can be considered optional and can be included when required. C. Solution Optimization The constraints described in Section 3.A and 3.B will produce a decision problem that can be solved by all SAT and ILP solvers. However, since advanced SAT and ILP solvers can handle optimization problems, an objective function can be added to further improve the identified schedule and perhaps produce the optimal schedule. The objective function to be optimized can vary depending on the objectives of the organization. For example, the following optimization function can be used to ensure the least number of idle workers: The company s organizational constraint indicating that each shift must be assigned to a single employee is expressed as shown in Figure 3. Figure 3. PB constraints that enforce the organizational regulations. The constraints in Figure 3 are represented in PB form. Figure 4 shows a set of CNF constraints that enforces the relationship between the E, D, and S variables. MAX E (15) On the other hand, the optimization function below will return the schedule using the minimum number of employees and hence the organization s management can take advantage of that to hire the minimum number of needed employees and reduce labor costs. MIN E (16) IV. ILLUSTRATIVE EXAMPLE In this example, we examine a company consisting of two employees. Assume the company is open 3 days a week and includes two shifts per day (e.g. morning and evening shift). Each shift must be assigned to a single employee. As shown in Section 3, the number of variables is 2 + 2(3) + 2(3)(2) = 20. Figure 2 shows the distribution of variables. We use the variable naming convention used in the previous section. Each node represents a Boolean variable. For example, and represent employees 1 and 2, respectively. represents employee 1 working in day 2. represents employee 2 working in the morning shift of day 3. Figure 4. CNF constraints that enforce the relationship between the E, D, and S variables. The CNF constraints (i.e. clauses) are ANDed. The final set of constraints represents the employees preferences. Assume the following working preferences: Employee 1 works on alternate days: Figure 2. Employee timetabling example showing the used Boolean variables.

JOURNAL OF COMPUTERS, VOL. 8, NO. 4, APRIL 2013 855 Employee 2 works for a maximum of 4 shifts per week : 4 Employee 1 cannot work during morning shifts : 0 Employee 2 cannot work on day 3 : 0 Employee 1 must work at least 2 days per week : 2 Figures 5 and 6 show screenshots of the tool where the organizational regulations and the employee preferences are set, respectively. Figure 7 shows a screenshot of the scheduling grid, prior to importing a solution. As shown in the organizational regulations, the schedule has 7 days and 6 shifts per day. Figure 8 shows the supported generic-based and SAT-based 0-1 ILP solvers with the option to generate their corresponding input format and solve. Once the solver s solution has been identified, it is parsed and translated into an easy-to-read schedule. The empty boxes in Figure 7 are filled with the corresponding employee assignments as shown in Figure 9 (note that employee names are replaced by employee ID numbers). Figure 9 shows the overall screenshot of the developed tool. Note that the tool can be easily extended to handle other SAT and ILP solvers. It can also be extended to handle additional organizational constraints and employee preferences. In summary, the instance consists of 20 variables, 10 PB constraints, and 28 CNF constraints. V. EMPLOYEE SCHEDULING TOOL In order to effectively implement the proposed ILP formulation and view the optimal schedules generated by solving the ILP formulation, a tool was developed using Visual Basic. The tool has a user-friendly interface and connects to a selection of the state-of the art genericbased ILP and SAT-based 0-1 ILP solvers in the backend. Through the developed tool, it is possible to set the organizational regulations by configuring the number of employees in the organization, working days and shifts as well as the required number of working employees per shift. In addition, it is possible to set the employee s preferences such as the off days, off shifts, maximum and minimum number of days to work per week and whether or not the employee works on alternate days. After reading the user s input, the tool translates it into a 0-1 ILP instance as described in Section 3. The ILP instance formulation can be generated for a selection of state-of-the-art generic-based and SAT-based 0-1 ILP solvers. The tool currently handles the following 5 solvers: CPLEX [36] and SCIP [37] (generic-based ILP solvers), and BSOLO [27], Pueblo [28] and Minisat+ [26] (SAT-based 0-1 ILP solvers) and can be extended to other solvers. The instance is passed into one of the solvers, as requested by the user. As soon as the solver completes the search, the returned solution is parsed by the tool and, if satisfiable, the satisfying assignment is converted into a visual, tabular schedule. A time-out option for each solver is also set and can be manually adjusted by the user. In the case of a time-out the best identified solution will be displayed in addition to the time-out notification message. Note that some instances can have more than one optimal solution. While the solvers typically return the first identified optimal solution, the solvers can always continue searching and find the remaining optimal solutions. However, this will require additional search time. Figure 5. Screenshot of the tool where the organizational regulations are set. Figure 6. Screenshot of the tool where the employee preferences are set.

856 JOURNAL OF COMPUTERS, VOL. 8, NO. 4, APRIL 2013 Figure 9. Screenshot of the overall tool with all settings and the generated schedule. Figure 7. Screenshot of the schedule after setting the organizational regulations in Figure 5. Figure 8. Screenshot of the tool displaying the supported SAT and ILP solvers. of RAM, and running Linux. The runtime limit was set to 1000 seconds for each instance. Testing was carried out for varying scales of organizational settings, ranging from a small-size setting of only 5 employees, working 3 days a week, 1 shift per day, with 2 employees required to be working each shift up to a large scale organization of up to 50 employees working 7 days a week, 6 shifts per day, with 6 employees required to be working in each shift. For each setting, 5 instances were generated and tested on all selected solvers and the averages of the times taken. In each case, for each employee, unique employee preferences were configured, randomizing the off-days, off-shifts, minimum and maximum number of working days and also whether or not the employee was required to work only on alternate days. The tests are conducted with the objective function given in equation (15), focusing on ensuring that the maximum number of employees are working. The results are shown in Table 1. From the results, it can be seen that large instances up to 50 employees working a full-time week, are handled by all solvers, except Minisat+, in less than a second. CPLEX is clearly the fastest solver, from the selected set of solvers, followed by Pueblo and BSOLO with Minisat+ being the slowest of the selected set. The graph in Figure 10 shows how the time taken by each solver to solve the instances, increases with the size of the instance. VI. EXPERIMENTAL RESULTS In this section, we evaluate the use of ILP and SAT solvers to solve the employee timetabling problem. As mentioned earlier, five solvers were used to evaluate the effectiveness of the proposed method and developed model. The solvers include the: (1) The SAT-based 0-1 ILP solvers BSOLO [27], Pueblo [28] and Minisat+ [26] and (2) the generic-based ILP solvers CPLEX [36] and SCIP [37]. The experiments were conducted on a Pentium Xeon 3.2 GHz machine, equipped with 4 GBytes

JOURNAL OF COMPUTERS, VOL. 8, NO. 4, APRIL 2013 857 TABLE I. RUNTIME RESULTS FOR SOLVING THE EMPLOYEE TIMETABLING PROBLEM Organizational Setting Solver Times (seconds) #E 5 #D 3 #S 1 CPLEX 0 SCIP 0.012 BSOLOO 0.0003 Pueblo 0 Minisat+ 0.003999 10 4 2 0.004 0.02 0.0026 0 0.1365788 20 4 3 0.01 0.036 0.0084 0.008 0.0625902 30 5 4 0.02 0.086 0.0264 0.022 0.2821566 40 6 5 0.034 0.172 0.0918 0.052 2.179277 50 7 6 0.056666 0.285 0.0953333 0.10833 6.3388683 or will indicate that no timetable exists that meets the current organization s conditions. REFERENCES Figure 10. Comparison of solver search times. VII. C ONCLUSIONS Recently, Boolean satisfiability (SAT) techniques have been drawing wide research interest and has been shown to be successful in various applications in Engineering and Computer Science. In this paper, we present a complete SAT-based solution to the employee timetabling problem. The proposed approach utilizes advanced generic-based and SAT-based integer linear programmingg (ILP) solvers to find an optimal schedule that satisfies the organization s regulations and meets the employees preferences. The proposed approach can be used to optimize a given objective function such as minimizing labor costs or maximizing fairness among employees. We show how to formulate the employee timetabling problem as a 0-1 ILP instance. We also develop a tool to automate the process of entering the organization information and retrieving the employee schedule. The approach was tested on organizations with various sizess using several state-of-the-art SAT and ILP solvers. Results indicate SAT and ILP solvers can effectively handle reasonably-sized employee timetabling problems. The proposed approach is complete and is guaranteed to find the optimal solution given enough time and memory resources. It will find the required timetable, [1] [2] [3] [4] [5] [6] [7] [8] [9] A. Ernst, H. Jiang, M. Krishnamoorthy and D. Sier, "Stafff scheduling and rostering: A review of applications, methods and models," European Journal of Operational Research, vol. 153, pp. 3-27, 2004. A. Meisels and A. Schaerf, "Modelling and Solving Employee Timetabling Problems," Annals of Mathematics and Artificial Intelligence, vol. 39, no. 1-2, pp. 41-59, 2003. G. Beligiannis, C. Moschopoulos and S. Likothanassis, "A genetic algorithm approach to school timetabling," Journal of the Operational Research Society, vol. 60, no. 1, pp. 23-42, 2009. M. Rodrigues, C. de Souza and A. Moura, "Vehicle and crew scheduling for urban bus lines," European Journal of Operational Research, vol. 170, no. 3, pp. 844-862, 2006. M. Trick, "A schedule-then-break approach to sportss timetabling," Lecture Notes in Computer Science, vol. 2079, pp. 242-253, 2001. R. Rasmussen and M. Trick, "Round robin scheduling - a survey," European Journal of Operational Research, vol. 188, no. 3, pp. 617-636, 2008. E. Burke, Y. Bykov, J. Newall and S. Petrovic, "A time- predefined local search approach to exam timetabling problems," IIE Transactions, vol. 36, no. 6, pp. 509-528, 2004. A. Schaerf and A. Meisels, "Solving employee timetabling problems by generalized local search," Lecture Notes in Computer Science, vol. 1792, pp. 380-389, 2000. S.-C. Chu, Y.-T. Chen and J.-H. Ho, "Timetablee scheduling using particle swarm optimization," in International conference on innovative computing, information and control, 2006. [10] D. Qarouni-Fard, A. Najafi-Ardabili and M. Moeinzadeh, "Finding feasible timetables with particle swarm optimization," in International Conference on innovations in information technology, 2007. [11] I. Tassopouloss and G. Beligiannis, "Solving effectively the school timetabling problem using particle swarm

858 JOURNAL OF COMPUTERS, VOL. 8, NO. 4, APRIL 2013 optimization," Expert Systems with Applications, vol. 39, pp. 6029-6040, 2012. [12] C. Artigues, M. Gendreau, L. Rouseau and A. Vergnaud, "Solving and integrated employee timetabling and jobshop scheduling problem via hybrid branch-and-bound," Computers and Operations Research, vol. 36, pp. 2330-2340, 2009. [13] E. Burke and J. Newall, "Solving examination timetabling problems through adaption of heuristic orderings," Annals of Operations Research, vol. 129, no. 1-4, pp. 107-134, 2004. [14] Z. Lu and J. Hao, "Adaptive Tabu Search for course timetabling," European Journal of Operational Research, vol. 200, pp. 235-244, 2010. [15] E. Burke, G. Kendall and E. Soubeiga, "A tabu-search hyperheuristic for timetabling and rostering," Journal of Heuristics, vol. 9, no. 6, pp. 451-470, 2003. [16] F. Jacobsen, A. Bortfeldt and H. Gehring, "Timetabling at German secondary schools: Tabu search versus constraint programming," in International conference on the practise and theory of automated timetabling, 2006. [17] G. Nam, F. Aloul, K. Sakallah and R. Rutenbar, "A Comparative Study of Two Boolean Formulations of FPGA Detailed Routing Constraints," IEEE Transactions on Computers, vol. 53, no. 6, pp. 688-696, 2004. [18] F. Aloul, A. Ramani, I. Markov and K. Sakallah, "Solution and Optimization of Systems of Pseudo-Boolean Constraints," IEEE Transactions on Computers, vol. 56, no. 10, pp. 1415-1424, 2007. [19] G. Hughes and T. Bultan, "Automated Verification of Access Control Policies using a SAT solver," International Journal on Software Tools for Technology Transfer, vol. 10, no. 6, pp. 503-520, 2008. [20] I. Mironov and L. Zhang, "Applications of SAT solver to Cryptanalysis of Hash Functions," in International Conference on Theory and Applications of Satisfiability Testing, 2006. [21] A. Sagahyroon, F. Aloul and A. Sudnitson, "Using SAT- Based Techniques in Low Power State Assignment," Journal of Circuits, Systems, and Computers, vol. 20, no. 8, pp. 1605-1618, 2011. [22] A. Graca, I. Lynce, J. Marques-Silva and A. Oliveira, "Haplotype inference with pseudo-boolean optimization," Annals of Operations Research, vol. 184, no. 1, pp. 137-162, 2011. [23] F. Aloul and M. El-Tarhuni, "Multipath Detection Using Boolean Satisfiability Techniques," Journal of Computer Networks and Communications, no. Article ID 365107, [37] "SCIP: An Open Source MIP Solver and constraint integer programming framework," 2011.[Online]. http://scip.zib.de/ 2011. [24] N. Creignou, S. Kanna and M. Sudan, "Complexity Classifications of Boolean Constraint Satisfaction Problems," SIAM, 2001. [25] D. Chai and A. Kuehlmann, "A fast pseudo-boolean constraint," in Design Automation Conference, 2003. [26] N. Een and N. Sorensson, "An extensible SAT-solver," in Int l Conf. on Theory and Applications of Satisfiability Testing, 2003. [27] V. Manquinho and J. Marques-Silva, "On using cutting planes in pseudo Boolean optimization," Journal on Satisfiability, Boolean Modeling and Computation, vol. 2, pp. 209-219, 2006. [28] H. Sheini and K. Sakallah, "Pueblo: A Hybrid Pseudo- Boolean SAT Solver," Journal on Satisfiability, Boolean Modeling and Computation, vol. 2, no. 1-4, pp. 165-189, 2006. [29] J. Hayes, Introduction to Digital Logic Design, Addison- Wesley, 1993. [30] K. Moskewicz, C. Madigan, Y. Zhao, L. Zhang and S. Malik, "Chaff: engineering an efficient SAT solver," in Design Automation Conference, 2001. [31] J. P. M.-S. a. K. A. Sakallah, "GRASP: a search algorithm for propositional satisfiability," IEEE Transactions on Computers, vol. 48, no. 5, pp. 506-521, 1999. [32] A. Pipatsrisawat and A. Darwiche, "A new clause learning scheme for efficient unsatisfiability proofs," in Conference on Artificial Intelligence, 2008. [33] E. Goldberg and Y. Novikov, "BerkMin: a fast and Robust SAT-solver," in Design Automation and Test in Europe Conference, 2002. [34] M. Davis, G. Longman and D. Loveland, "A machine program for theorem proving," Journal of the ACM, vol. 5, no. 7, p. 394 397, 1962. [35] S. A. Cook, "The complexity of theorem proving procedures," in Symposium on the Theory of Computing, 2004. [36] IBM ILOG CPLEX Optimizer, 2011. [Online]. http://www-01.ibm.com/software/integration/optimization/ cplex-optimizer/