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, e.g. a week, while meet- ing the employee’s preferences and organizational work regu- lations. The problem also attempts to optimize the performance criteria and distribute the shifts equally among the employees. The problem is considered a classical NP-com- plete optimization problem. It has received intensive research during the past few years given its use in industries and orga- nizations. Several formulations and algorithms based on local search have been proposed to solve ETPs [12, 15, 17, 18]. In this paper, we propose a complete approach using integer lin- ear programming (ILP) to solve these problems. The ILP model of interest is developed and solved using the generic ILP solver CPLEX and the Boolean Satisfiability ILP solver PBS. Experimental results indicate that the proposed model is trac- table for reasonable-sized ETP problems. Index Terms Employee Timetabling, Optimization, Scheduling, ILP, Boolean Satisfiability. 1. INTRODUCTION Employee Timetabling Problem (ETP) represent an im- portant class of optimization problems in operational re- search. The problem was originally associated with timetabling of classes in schools and universities [22], but has recently been extended to schedule employees in large organizations, such as hospitals [12], factories, etc. Given a number of employees and shifts, the goal is to assign em- ployees to shifts while satisfying all of the employees and organizational constraints. Many formulations and algo- rithms have been proposed to solve ETP. Most of these al- gorithms are based on local search techniques, namely hill climbing, simulated annealing, and tabu search [15, 17, 21, 18, 7]. Such algorithms cannot prove unsatisfiability or guarantee that a solution is optimal. In other words, if a so- lution is found, it cannot guarantee that this solution has the best possible optimization cost. In this paper, we propose an integer linear programming (ILP) approach to solve the ETP. 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 ex- ist, i.e. the problem is satisfiable. If the problem is satisfi- able, our approach will search all possible solutions to find the optimal solution. Recently, advanced Boolean Satisfiability (SAT) solvers have been extended to solve ILP problems. The SAT prob- lem is a central problem in artificial intelligence and com- puter science and has received considerable attention from researchers. Many complex Engineering problems have been successfully solved using SAT. Such problems in- clude routing [20], power optimization [2], verification [4], and graph coloring [9], etc. Today, several powerful SAT solvers exist and are able of handling problems consisting of thousands of variables and millions of constraints. In this paper, we will also show how to formulate the ETP as an ILP problem and explore the possibility of using advanced SAT techniques to solve the ETP problem. We also use the commercial generic-based ILP solver, CPLEX, to test our instances. We report results for a variety of orga- nization sizes. Initial results indicate the effectivity of the proposed approach. The proposed approach is complete and is guaranteed to identify the optimal schedule. This paper is organized as follows. Section 2 provides a general overview of Boolean Satisfiability. Section 3 shows how to formulate the ETP as an ILP instance. A detailed ex- ample is shown in Section 5. Experimental results are pre- sented and discussed in Section 5. The paper is concluded in Section 6. 2. BOOLEAN SATISFIABILITY The Boolean satisfiability (SAT) problem involves find- ing 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 conjunc- tive normal form (CNF). A CNF formula on binary variables consists of the conjunction (AND) of clauses each of which consists of the dis- junction (OR) of literals. A literal is an occurrence of a Boolean variable or its complement. Most current SAT solvers [13, 19, 16] are based on the original Davis-Putnam backtrack search algorithm [10]. The algorithm performs a depth first search process that traverses the space of variable assignments until a satis- fying assignment is found (the formula is satisfiable), or all combinations have been exhausted (the formula is unsatis- fiable). Originally, all variables are unassigned. The algo- rithm 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 algo- rithm determines the implications of the assignment on oth- er variables. This is obtained by forcing the assignment of the variable representing an unassigned literal in an unre- solved 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 deci- ϕ n x 1 x n , , m ω 1 …ω m , , k l 2 n Solving Employee Timetabling Problems Using Boolean Satisfiability Fadi Aloul, Bashar Al-Rawi*, Anas Al-Farra, Basel Al-Roh Department of Computer Engineering, American University of Sharjah (AUS), UAE *Department of Computer Engineering, American University in Dubai (AUD), UAE 1-4244-0674-9/06/$20.00 ©2006 IEEE.