Scheduling Algorithm with Optimization of Employee Satisfaction
|
|
|
- Arron Palmer
- 10 years ago
- Views:
Transcription
1 Washington University in St. Louis Scheduling Algorithm with Optimization of Employee Satisfaction by Philip I. Thomas Senior Design Project http : //students.cec.wustl.edu/ pit1/ Advised By Associate Professor Heinz Schaettler Department of Electrical and Systems Engineering May 2013
2 Abstract An algorithm for weekly workforce scheduling with 4-hour discrete resolution that optimizes for employee satisfaction is formulated. Parameters of employee availability, employee preference, required employees per shift, and employee weekly hours are considered in a binary integer programming model designed for automated schedule generation.
3 Contents Abstract i 1 Introduction and Background Background Existing Models Motivating Example Problem Statement Approach Proposed Model Project Goals Model Design Implementation Usage Model Indices Parameters Decision Variable Constraints Employee Shift Weighting Objective Function Implementation and Results Constraints Excel Implementation Runtime Heuristic Alterations Model Improvements Implementation Matlab Implementation of Weighted Preference Matrix 16 ii
4 Chapter 1 Introduction and Background 1.1 Background Recent healthcare legislation in the United States is affecting workforce management. The Patient Protection and Affordable Care Act defines full-time employees as those who work 30 or more hours per week, on average. Under the legislation, businesses with 50 or more employees are required to provide healthcare benefits to full-time employees, or pay a $2000 fine [1]. This legislation is disrupting workforce management. Specifically, the Wall Street Journal notes that these changes are driving employers to schedule more employees with more strict hour requirements [2]. Rather than employing a workforce of fulltime employees, employers are increasingly hiring a larger workforce of part-time employees for 29-hour or less workweeks to avoid the penalty. Scheduling more employees with additional constraints increases the difficulty of the scheduling problem, and current analog scheduling methods are proving inadequate. Currently, managers of small workforces schedule employees by hand. In general, their goal is meeting feasibility constraints - scheduling employees when they are available to work. This is a largely subjective process, and there are many possible solutions, though these solutions may be difficult to obtain. With the decreasing cost of computers and the rise of software as a service products, business owners are becoming more receptive to technological solutions to 1
5 Scheduling Algorithm with Optimization of Employee Satisfaction 2 common problems. In addition, with the recent big data trend, operations research and applied statistics are becoming mainstream. Tools like Mapquest and Google Search use complex mathematical models, yet have become integrated into consumers everyday lives. Scheduling is a classic operations research problem. By minimizing employee labor cost, a large system optimization is often used to place employees in shifts. Constraints such as shift lengths, employee weekly hours, and minimum number of shifts are often considered. Corporations such as Taco Bell use binary or mixed integer programing models [3] with success to schedule thousands of employees every week. Recent trends show the propagation of optimized scheduling techniques to more businesses and organizations. 1.2 Existing Models Current scheduling models are based on minimizing labor costs. Specifically, every time slot is assigned a minimum number of employees needed to work that shift, and the number of employees working may exceed that minimum in order ot fulfill minimum shift length constraints. On a large scale, minimizing employee labor costs provides a quantifiable financial benefit. 1.3 Motivating Example This project was motivated by a coffee shop that operates 24-hours per day. It already schedules employees in four-hour shifts throughout the week, and employees consist of a mixture of full-time and part-time workers. Currently, scheduling is done manually by the manager. Because of the long hours of the shop, employees availability on a weekly basis must be considered. In addition, employees have a strong preference for shift, specifically between night, morning, and afternoon shifts. Current scheduling software does not meet the needs of the shop because it aims to minimize employee working hours, and because it treats an employee s preferred
6 Scheduling Algorithm with Optimization of Employee Satisfaction 3 shift as a hard constraint. In addition, because the shop has few employees and already schedules in 4-hour shifts, the software package s minimization of labor costs provides little benefit. The coffee shop seeks new scheduling software that treats employee preference as a soft constraint, in addition to availability as a hard constraint. When provided with the number of employees required for each shift, and with the availability and preferred shifts of each employee, it should return a suitable work schedule. Constraints such as shifts per week and number of shifts per day should be considered. Furthermore, employees who choose not to prioritize shifts should not be penalized during scheduling. 1.4 Problem Statement Design an algorithm that automates workforce scheduling in a way that provides a recognizeable benefit for small workforces of less than 100 employees where current cost-saving optimizations provide less utility.
7 Chapter 2 Approach 2.1 Proposed Model A modified scheduling algorithm is proposed that optimizes for employee satisfaction instead of minimizing cost. In the setting of small and medium-sized businesses, improvements in morale may more tangible than the labor costs saved. Current workforce scheduling algorithms gain these cost savings by scheduling employees down to 15-minute discrete resolution, including breaks. Per the motivating example, the workforces targeted by this algorithm do not require such precise scheduling. Instead, they seek a more basic interface that schedules employees in 4-hour blocks. In addition to the minimum employees working per hour that current models provide, the proposed new model sets a maximum constraint of number of workers per shift. After specifying availability, employees select priority shifts every week. Each shift is assigned a weight on a per-employee basis, according to employee prioritization. 2.2 Project Goals The goal of this project is to design a scheduling algorithm that takes a 7-day work week and analyzes it as 42 discrete shifts each 4 hours in length. 4
8 Scheduling Algorithm with Optimization of Employee Satisfaction 5 The manager sets how many employees are required at each shift throughout the week. If the business is closed, then 0 employees are required. Note, however, that the model should function for a business that never closes. The manager also specifies the minimum and maximum shifts each employee must work each week. For instance, if a manager wish to keep someone from exceeding 30 hours of work per week, they specify a maximum of 6 shifts per week (28 hours). Each employee may set their availability by specifying a boolean available to work or unavailable to work for every shift throughout the week. Then, they are provided with the option to set boolean preferred shift or no preference for every shift where they are available to work. To comply with basic labor practices, the model also implements a limit on the number of shifts an employee may work per day. This is may be specifed by the manager, but in general may be treated as 2 shifts (8 hours) per day. A feasible solution of the model treats employee availability, work limits, number of employees working per shift, and shifts per 24-hour segment as hard constraints. The objective function seeks to maximize the placement of employees in shifts based on preference. 2.3 Model Design A binary integer programming (BIP) model was selected because of the discrete and boolean nature of the decision variable, which applies well to shift scheduling. Other scheduling algorithms have been implemented as mixed integer programs, but those models have focuses on complex shift overlaps between employees. Because employees in this model work in integral numbers of shifts with no overlap, such an model does not suitably apply. Due to the nondeterministic time complexity of a BIP algorithm, heuristics serve an important role in providing quick runtimes and reaching feasibility. By making the decision variable have the same indices as the availability or preference inputs, straightforward heuristics for the first iteration based on these inputs are possible. While the BIP model is nonlinear, removing the binary constraint on the decision variable and treating it into a continuous 0-1 interval constraint makes the problem
9 Scheduling Algorithm with Optimization of Employee Satisfaction 6 linear. Thus, a linear programming relaxation model may be used to generate the first BIP iteration. Specically, using the Simplex algorithm to solve the linear program, then rounding the continouous variables to discrete binary variables for the first interval provides a solution that is a reasonable first approximation for a feasible solution of the BIP model. The marginal effect on overall runtime by adding the linear programming relaxation is trivial due to the polynomial runtime of the Simplex algorithm. A variety of algorithms for solving BIP models have been commercially implemented in a variety of software packages. In general, the NP-Complete classification of BIP problems means that runtimes have nondeterministic polynomial runtime and are computationally difficult. 2.4 Implementation This model is best implemented in a Software as a Service web platform, where employers are able to manage parameters and employees are able to provide the necessary input remotely. First, employers configure the workweek and anticipated load in the system. The minimum and maximum employees per shift are set, with a maximum of 0 meaning that the business is closed. Separate models are needed for each role. For instance, separate models are needed for cooks and dishwashers because they are non-overlapping sets. Finally, employers configure employees and working standards. Specifically, constraints on per-employee hours are set, and minimum and maximum shift lengths are specified. 2.5 Usage Constraints in the model are designed so that the schedule is to be repeated every week to comply with labor parameters. When considering that the number of shifts an employee may work in a 24-hour period is limited, the first shift and the last shift of the week are considered to share a boundary, such that if the
10 Scheduling Algorithm with Optimization of Employee Satisfaction 7 schedule were repeated every week, work limit parameters would satisfied across this boundary. If employee availability and preferences changes on a week-by-week basis, the employee availability matrix may be used to manually enforce worktime parameters without additional modifications to the model. For instance, if the prior workweek ended with three consecutive shifts for a particular employee, they could be marked as unavailable for the first 3 shifts of the proceeding week such that they do not exceed the number of allowed shifts in a 24-hour period.
11 Chapter 3 Model Indices i: Employee j: Shift Parameters Employee min,j Z: Minimum employees working at time Employee max,j Z: Maximum employees working at time Preference i,j {0, 1}: Boolean Employee Shift Preference WeightedPreference i,j R: Weighted Employee Shift Preference Availability i,j {0, 1}: Boolean employee availability at time Shift min,i Z: Minimum employee shifts per week Shift max,i Z: Maximum employee shifts per week Decision Variable 1 if employee i is scheduled to work shift j; 0 otherwise. x i,j {0, 1} 8
12 Scheduling Algorithm with Optimization of Employee Satisfaction Constraints Availability i,j Employee min,j (3.1) i For each i: k+5 x i,(j mod count(j)) 2 (3.2) j=k Shift min,i j x i,j Shift max,i (3.3) P reference i,j = P reference i,j Availability i,j (3.4) 3.2 Employee Shift Weighting The employee preference parameter is created to allow employees to designate shifts they prefer. The model then optimizes to give employees the shifts they desire. The preferences parameter is calculated such that: P reference i,j = j j Availability i,j Should an employee choose not to specify priority shifts, or if an employee chooses to prioritize all shifts, the preference matrix should thus be equally weighted, and equal to the availability parameter:
13 Scheduling Algorithm with Optimization of Employee Satisfaction 10 P reference i,j = Availability i,j Based on the objective function, priority shifts are upweighted, and based on the specified constraints the non-priority shifts must be downweighted. The upweighting factor is designated as α and the downweighting factor is designated as β. Considering j = 4 with one specified priority shift: (1 + α) + (1 β) + (1 β) + (1 β) = 4 Thus, in this case: α = 3β Clearly, β must always be less than one. However, we also consider that employees who specify only a single priority shift have more weight placed on that shift than someone who prioritizes all but one shift. We specify that a prioritized shift may be no more than twice as weighted as a non-weighted shift, thus α < 1. α i = Availability i,j P reference i,j j j Availability i,j j Thus, P reference i,j j β i = α Availability i,j P reference i,j j j In addition, if j Availability i,j = 0 or if j Availability i,j = j P reference i,j, β i = α i = 0
14 Scheduling Algorithm with Optimization of Employee Satisfaction 11 The weighted preference matrix is this computed for each i: 0, Availability i,j = 0 W eightedp reference i,j 1 + α, Availability i,j = 1&P reference i,j = 1 1 β, Availability i,j = 1&P reference i,j = 0 An implementation of the weighting formula in Matlab is available in Chapter Objective Function max Z = i,j x i,j W eightedp reference i,j
15 Chapter 4 Implementation and Results 4.1 Constraints All of the constraints described formulated as hard constraints. Equation (3.1) ensures that the employee availability spans the required employees. Equation (3.2) limits every employee to 2 shifts per 24-hour period. This constraint formulates the boundaries of the beginning and end of the week as cyclical, such that if the schedule were repeated every week, an employee would not exceed 2 shifts in a 24-hour period. Equation (3.3) ensures that every employee works between their minimum and maximum shifts per week, inclusive. Equation (3.4) ensures that an employee may only have a preferred shift if they are available to work that shift. 4.2 Excel Implementation A working implementation in Excel using the Solver package is available for download at the project website: http : //students.cec.wustl.edu/ pit1/ 12
16 Scheduling Algorithm with Optimization of Employee Satisfaction 13 The implementation is designed so that it may be calculated using the standard Excel Solver package. It schedules 4 employees over a 72-hour period with cyclical constraints. With 72 decision variables and 98 constraints, the problem successfully optimizes the model using the package s GRG Nonlinear engine. Based on tests, the scheduler normally takes between 1 and 120 minutes to optimize this model. 4.3 Runtime A BIP model is classified as an NP-Complete problem, which is among the most computationally-difficult models to optimize. The runtimes encountered in the above implementation had such varying runtimes because BIP models run in nondeterministic polynomial time. Scaling the model for more employees requires significant computational power and an improved solver library. For an implementation with 13 employees and 42 shifts, there are possible boolean matrices, which is over solutions. Hence, an efficient solving package is required. 4.4 Heuristic Based on tests with the model, the most efficient way to decrease runtime was to use a version of a greedy heuristic. This was implemented by using the availability matrix as the first iteration of the BIP model. By starting the model as assuming that every employee is scheduled for every shift when they are available, the availability constraint is immediately satisfied, and the algorithm seems to decrease runtime by moving toward feasibility more efficiently. Tests with the linear programming relaxation technique to determine a first iteration for the BIP model had varying levels of effectiveness. When the α value was zero, the model often create an initial solution similar to the greedy heuristic. However, at high α values, such high weight placed on particular shifts made the
17 Scheduling Algorithm with Optimization of Employee Satisfaction 14 initial solution by the linear programming relaxation highly infeasible due to so few shifts being assigned. In a commercial implementation, the greedy heuristic seems to provide the best first iteration solution in terms of runtime due to the meeting the availability constraint and providing a near-feasible first iteration. 4.5 Alterations One main alteration that is possible in this model is making the employee availability constraint, equation (3.1), a soft constraint instead of a hard one. Thus, employees could be scheduled when they are unavailable. By making this a soft constraint, employees would be unlikely to be scheduled when they are unavailable because the shift s weight is zero in the objective function calculation. However, in edge cases where not enough employees are available to work at a particular shift, the model would still return a schedule instead of encountering a feasibility error. In a real-world implementation, minimizing errors and forcing the return of a nonideal schedule would allow managers to make hand corrections after the creation of the schedule, instead of being forced to have all constraints met prior to returning a solution. 4.6 Model Improvements The model would benefit from the addition of a constaint limiting time between shifts. The current model limits employees to two 4-hour shifts during every 24- hour period. However, it does not limit that those shifts be contiguous - hence, an employee could conceivably have 8-hour breaks between 4-hour shifts for multiple days in a row. This is undesirable because it interrupts sleep. The solution to this is to add a constraint that enforces a minimum time between non-contiguous shifts. However, adding this constraint would be highly inefficient in a BIP model.
18 Scheduling Algorithm with Optimization of Employee Satisfaction 15 Including this constraint would be best implemented by re-formulating the model as a mixed integer program where the decision variable contains both a start time and a shift length. 4.7 Implementation In a real-world implementation where there exist multiple roles in a workforce, for example having both a cook and a dishwasher who cannot fill each others roles, this algorithm should be implemented to treat every role in a company as an independent model with independent solutions. Due to the low cost and high speed of modern computing, converting this algorithm into a Software as a Service (SaaS) product would be the ideal user interface, particularly because it makes collecting employee availability and preferencees from the remote workforce easier for the manager. The difficulty in a real-world implementation is handling infeasible inputs - for instance, not having enough employees who may work at a particular shift. Basic scheduling needs are met by the model, and it excels at speed relative to other workforce management algorithms because the only nonlinearity is the binary aspect of the decision variables. However, the next step in a more advanced model is adding contiguity constraints such that there is a minimum break between non-continuous shifts. Such a nonlinear constraint adds significant computational difficulty. Finally, due to the nondeterministic polynomial runtime of the algorithm and due to the nature of scheduling, the model does not need to be run to completion. Returning a non-optimal but feasible solution still satisfies the original problem statement because it automatically generates a schedule that meets all hard constraints, and any improvement over the worst-case scenario still provides recognizeable benefit to management and employees.
19 Chapter 5 Matlab Implementation of Weighted Preference Matrix function [ weighted_preferences ] = weighted_shifts( availability, preference ) %WEIGHTED_SHIFTS Returns a weighted shift matrix % Get sizes for loops [num_employees num_shifts ] = size( availability ); % Initialize matrix by copying availability weighted_preference = availability; % Loop through each employee for i = 1:num_employees % Count how many shifts they are available, and how many % they prefer num_available = sum( availability(i,:) ); num_preferred = sum( preference( i,: ) ); if ( num_preferred == 0 ) ( num_preferred == num_available ) % If they do not prefer any shifts, or if they prefer every shift % The availability matrix weighting is correct (all 1s) else % we upweights and downweights based on number of preferred shifts 16
20 Scheduling Algorithm with Optimization of Employee Satisfaction 17 % upweight calculation alpha = ( num_available - num_preferred ) / num_available; % downweight calculation beta = alpha * num_preferred / ( num_available - num_preferred ); % Loop through shifts and set weight for j = 1:num_shifts if availability( i, j ) == 1 && preference( i, j ) == 1 % upweight shift weighted_preference( i, j ) = 1 + alpha; elseif availability( i, j ) == 1 && preference( i, j ) == 0 % downweight shift weighted_preference( i, j ) = 1 - beta; else % Already zero weight due to availability matrix % weighted_preference( i, j ) = 0; end end end end end
21 Bibliography [1] [2] [3] An Efficient Integer Programming Algorithm with Network Cuts for Solving Resource-Constrained Scheduling Problems [4] A genetic algorithm approach for a constrained employee scheduling problem as applied to employees at mall type shops [5] An integer programming approach to reference staff scheduling 18
Discrete Optimization
Discrete Optimization [Chen, Batson, Dang: Applied integer Programming] Chapter 3 and 4.1-4.3 by Johan Högdahl and Victoria Svedberg Seminar 2, 2015-03-31 Todays presentation Chapter 3 Transforms using
Why? A central concept in Computer Science. Algorithms are ubiquitous.
Analysis of Algorithms: A Brief Introduction Why? A central concept in Computer Science. Algorithms are ubiquitous. Using the Internet (sending email, transferring files, use of search engines, online
CREATING WEEKLY TIMETABLES TO MAXIMIZE EMPLOYEE PREFERENCES
CREATING WEEKLY TIMETABLES TO MAXIMIZE EMPLOYEE PREFERENCES CALEB Z. WHITE, YOUNGBAE LEE, YOONSOO KIM, REKHA THOMAS, AND PATRICK PERKINS Abstract. We develop a method to generate optimal weekly timetables
A Flexible Mixed Integer Programming framework for Nurse Scheduling
A Flexible Mixed Integer Programming framework for Nurse Scheduling Murphy Choy Michelle Cheong Abstract In this paper, a nurse-scheduling model is developed using mixed integer programming model. It is
5 INTEGER LINEAR PROGRAMMING (ILP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1
5 INTEGER LINEAR PROGRAMMING (ILP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 General Integer Linear Program: (ILP) min c T x Ax b x 0 integer Assumption: A, b integer The integrality condition
INTEGER PROGRAMMING. Integer Programming. Prototype example. BIP model. BIP models
Integer Programming INTEGER PROGRAMMING In many problems the decision variables must have integer values. Example: assign people, machines, and vehicles to activities in integer quantities. If this is
Approximation Algorithms
Approximation Algorithms or: How I Learned to Stop Worrying and Deal with NP-Completeness Ong Jit Sheng, Jonathan (A0073924B) March, 2012 Overview Key Results (I) General techniques: Greedy algorithms
Linear Programming. March 14, 2014
Linear Programming March 1, 01 Parts of this introduction to linear programming were adapted from Chapter 9 of Introduction to Algorithms, Second Edition, by Cormen, Leiserson, Rivest and Stein [1]. 1
A Constraint Programming based Column Generation Approach to Nurse Rostering Problems
Abstract A Constraint Programming based Column Generation Approach to Nurse Rostering Problems Fang He and Rong Qu The Automated Scheduling, Optimisation and Planning (ASAP) Group School of Computer Science,
Optimization of an Operating Room Surgical Schedule. Anastasia Romanyuk & Alexandra Silva
Optimization of an Operating Room Surgical Schedule Anastasia Romanyuk & Alexandra Silva Washington University in St. Louis Department of Electrical & Systems Engineering April 27, 2012 Abstract: Operating
Algorithm Design and Analysis
Algorithm Design and Analysis LECTURE 27 Approximation Algorithms Load Balancing Weighted Vertex Cover Reminder: Fill out SRTEs online Don t forget to click submit Sofya Raskhodnikova 12/6/2011 S. Raskhodnikova;
Integer Programming: Algorithms - 3
Week 9 Integer Programming: Algorithms - 3 OPR 992 Applied Mathematical Programming OPR 992 - Applied Mathematical Programming - p. 1/12 Dantzig-Wolfe Reformulation Example Strength of the Linear Programming
! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. !-approximation algorithm.
Approximation Algorithms Chapter Approximation Algorithms Q Suppose I need to solve an NP-hard problem What should I do? A Theory says you're unlikely to find a poly-time algorithm Must sacrifice one of
School Timetabling in Theory and Practice
School Timetabling in Theory and Practice Irving van Heuven van Staereling VU University, Amsterdam Faculty of Sciences December 24, 2012 Preface At almost every secondary school and university, some
Support Vector Machines Explained
March 1, 2009 Support Vector Machines Explained Tristan Fletcher www.cs.ucl.ac.uk/staff/t.fletcher/ Introduction This document has been written in an attempt to make the Support Vector Machines (SVM),
Proximal mapping via network optimization
L. Vandenberghe EE236C (Spring 23-4) Proximal mapping via network optimization minimum cut and maximum flow problems parametric minimum cut problem application to proximal mapping Introduction this lecture:
A Tool for Generating Partition Schedules of Multiprocessor Systems
A Tool for Generating Partition Schedules of Multiprocessor Systems Hans-Joachim Goltz and Norbert Pieth Fraunhofer FIRST, Berlin, Germany {hans-joachim.goltz,nobert.pieth}@first.fraunhofer.de Abstract.
Research Article Scheduling IT Staff at a Bank: A Mathematical Programming Approach
e Scientific World Journal, Article ID 768374, 10 pages http://dx.doi.org/10.1155/2014/768374 Research Article Scheduling IT Staff at a Bank: A Mathematical Programming Approach M.Labidi,M.Mrad,A.Gharbi,andM.A.Louly
Locating and sizing bank-branches by opening, closing or maintaining facilities
Locating and sizing bank-branches by opening, closing or maintaining facilities Marta S. Rodrigues Monteiro 1,2 and Dalila B. M. M. Fontes 2 1 DMCT - Universidade do Minho Campus de Azurém, 4800 Guimarães,
24. The Branch and Bound Method
24. The Branch and Bound Method It has serious practical consequences if it is known that a combinatorial problem is NP-complete. Then one can conclude according to the present state of science that no
Efficient and Robust Allocation Algorithms in Clouds under Memory Constraints
Efficient and Robust Allocation Algorithms in Clouds under Memory Constraints Olivier Beaumont,, Paul Renaud-Goud Inria & University of Bordeaux Bordeaux, France 9th Scheduling for Large Scale Systems
Integrated maintenance scheduling for semiconductor manufacturing
Integrated maintenance scheduling for semiconductor manufacturing Andrew Davenport [email protected] Department of Business Analytics and Mathematical Science, IBM T. J. Watson Research Center, P.O.
Chapter 11. 11.1 Load Balancing. Approximation Algorithms. Load Balancing. Load Balancing on 2 Machines. Load Balancing: Greedy Scheduling
Approximation Algorithms Chapter Approximation Algorithms Q. Suppose I need to solve an NP-hard problem. What should I do? A. Theory says you're unlikely to find a poly-time algorithm. Must sacrifice one
Optimal shift scheduling with a global service level constraint
Optimal shift scheduling with a global service level constraint Ger Koole & Erik van der Sluis Vrije Universiteit Division of Mathematics and Computer Science De Boelelaan 1081a, 1081 HV Amsterdam The
5.1 Bipartite Matching
CS787: Advanced Algorithms Lecture 5: Applications of Network Flow In the last lecture, we looked at the problem of finding the maximum flow in a graph, and how it can be efficiently solved using the Ford-Fulkerson
Make Better Decisions with Optimization
ABSTRACT Paper SAS1785-2015 Make Better Decisions with Optimization David R. Duling, SAS Institute Inc. Automated decision making systems are now found everywhere, from your bank to your government to
A Constraint Programming Application for Rotating Workforce Scheduling
A Constraint Programming Application for Rotating Workforce Scheduling Markus Triska and Nysret Musliu Database and Artificial Intelligence Group Vienna University of Technology {triska,musliu}@dbai.tuwien.ac.at
Linear Programming. April 12, 2005
Linear Programming April 1, 005 Parts of this were adapted from Chapter 9 of i Introduction to Algorithms (Second Edition) /i by Cormen, Leiserson, Rivest and Stein. 1 What is linear programming? The first
Management of Software Projects with GAs
MIC05: The Sixth Metaheuristics International Conference 1152-1 Management of Software Projects with GAs Enrique Alba J. Francisco Chicano Departamento de Lenguajes y Ciencias de la Computación, Universidad
JUST-IN-TIME SCHEDULING WITH PERIODIC TIME SLOTS. Received December May 12, 2003; revised February 5, 2004
Scientiae Mathematicae Japonicae Online, Vol. 10, (2004), 431 437 431 JUST-IN-TIME SCHEDULING WITH PERIODIC TIME SLOTS Ondřej Čepeka and Shao Chin Sung b Received December May 12, 2003; revised February
A Brief Study of the Nurse Scheduling Problem (NSP)
A Brief Study of the Nurse Scheduling Problem (NSP) Lizzy Augustine, Morgan Faer, Andreas Kavountzis, Reema Patel Submitted Tuesday December 15, 2009 0. Introduction and Background Our interest in the
A Shift Sequence for Nurse Scheduling Using Linear Programming Problem
IOSR Journal of Nursing and Health Science (IOSR-JNHS) e-issn: 2320 1959.p- ISSN: 2320 1940 Volume 3, Issue 6 Ver. I (Nov.-Dec. 2014), PP 24-28 A Shift Sequence for Nurse Scheduling Using Linear Programming
Minimizing costs for transport buyers using integer programming and column generation. Eser Esirgen
MASTER STHESIS Minimizing costs for transport buyers using integer programming and column generation Eser Esirgen DepartmentofMathematicalSciences CHALMERS UNIVERSITY OF TECHNOLOGY UNIVERSITY OF GOTHENBURG
Creating a More Efficient Course Schedule at WPI Using Linear Optimization
Project Number: ACH1211 Creating a More Efficient Course Schedule at WPI Using Linear Optimization A Major Qualifying Project Report submitted to the Faculty of the WORCESTER POLYTECHNIC INSTITUTE in partial
a 11 x 1 + a 12 x 2 + + a 1n x n = b 1 a 21 x 1 + a 22 x 2 + + a 2n x n = b 2.
Chapter 1 LINEAR EQUATIONS 1.1 Introduction to linear equations A linear equation in n unknowns x 1, x,, x n is an equation of the form a 1 x 1 + a x + + a n x n = b, where a 1, a,..., a n, b are given
Workforce scheduling with logical constraints: theory and applications in call centers
Workforce scheduling with logical constraints: theory and applications in call centers Gábor Danó This thesis was supervised by Sandjai Bhulai and Ger Koole Department of Mathematics Vrije Universiteit
An Overview Of Software For Convex Optimization. Brian Borchers Department of Mathematics New Mexico Tech Socorro, NM 87801 borchers@nmt.
An Overview Of Software For Convex Optimization Brian Borchers Department of Mathematics New Mexico Tech Socorro, NM 87801 [email protected] In fact, the great watershed in optimization isn t between linearity
Scheduling Real-time Tasks: Algorithms and Complexity
Scheduling Real-time Tasks: Algorithms and Complexity Sanjoy Baruah The University of North Carolina at Chapel Hill Email: [email protected] Joël Goossens Université Libre de Bruxelles Email: [email protected]
Applied Algorithm Design Lecture 5
Applied Algorithm Design Lecture 5 Pietro Michiardi Eurecom Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 5 1 / 86 Approximation Algorithms Pietro Michiardi (Eurecom) Applied Algorithm Design
Recovery of primal solutions from dual subgradient methods for mixed binary linear programming; a branch-and-bound approach
MASTER S THESIS Recovery of primal solutions from dual subgradient methods for mixed binary linear programming; a branch-and-bound approach PAULINE ALDENVIK MIRJAM SCHIERSCHER Department of Mathematical
Optimization Modeling for Mining Engineers
Optimization Modeling for Mining Engineers Alexandra M. Newman Division of Economics and Business Slide 1 Colorado School of Mines Seminar Outline Linear Programming Integer Linear Programming Slide 2
We shall turn our attention to solving linear systems of equations. Ax = b
59 Linear Algebra We shall turn our attention to solving linear systems of equations Ax = b where A R m n, x R n, and b R m. We already saw examples of methods that required the solution of a linear system
Cost Models for Vehicle Routing Problems. 8850 Stanford Boulevard, Suite 260 R. H. Smith School of Business
0-7695-1435-9/02 $17.00 (c) 2002 IEEE 1 Cost Models for Vehicle Routing Problems John Sniezek Lawerence Bodin RouteSmart Technologies Decision and Information Technologies 8850 Stanford Boulevard, Suite
Linear Programming for Optimization. Mark A. Schulze, Ph.D. Perceptive Scientific Instruments, Inc.
1. Introduction Linear Programming for Optimization Mark A. Schulze, Ph.D. Perceptive Scientific Instruments, Inc. 1.1 Definition Linear programming is the name of a branch of applied mathematics that
Offline sorting buffers on Line
Offline sorting buffers on Line Rohit Khandekar 1 and Vinayaka Pandit 2 1 University of Waterloo, ON, Canada. email: [email protected] 2 IBM India Research Lab, New Delhi. email: [email protected]
Linear Programming. Widget Factory Example. Linear Programming: Standard Form. Widget Factory Example: Continued.
Linear Programming Widget Factory Example Learning Goals. Introduce Linear Programming Problems. Widget Example, Graphical Solution. Basic Theory:, Vertices, Existence of Solutions. Equivalent formulations.
Mathematical finance and linear programming (optimization)
Mathematical finance and linear programming (optimization) Geir Dahl September 15, 2009 1 Introduction The purpose of this short note is to explain how linear programming (LP) (=linear optimization) may
Constraints Propagation Techniques in Batch Plants Planning and Scheduling
European Symposium on Computer Arded Aided Process Engineering 15 L. Puigjaner and A. Espuña (Editors) 2005 Elsevier Science B.V. All rights reserved. Constraints Propagation Techniques in Batch Plants
Logistic Regression. Jia Li. Department of Statistics The Pennsylvania State University. Logistic Regression
Logistic Regression Department of Statistics The Pennsylvania State University Email: [email protected] Logistic Regression Preserve linear classification boundaries. By the Bayes rule: Ĝ(x) = arg max
Prescriptive Analytics. A business guide
Prescriptive Analytics A business guide May 2014 Contents 3 The Business Value of Prescriptive Analytics 4 What is Prescriptive Analytics? 6 Prescriptive Analytics Methods 7 Integration 8 Business Applications
Airport Planning and Design. Excel Solver
Airport Planning and Design Excel Solver Dr. Antonio A. Trani Professor of Civil and Environmental Engineering Virginia Polytechnic Institute and State University Blacksburg, Virginia Spring 2012 1 of
Smart Graphics: Methoden 3 Suche, Constraints
Smart Graphics: Methoden 3 Suche, Constraints Vorlesung Smart Graphics LMU München Medieninformatik Butz/Boring Smart Graphics SS2007 Methoden: Suche 2 Folie 1 Themen heute Suchverfahren Hillclimbing Simulated
11. APPROXIMATION ALGORITHMS
11. APPROXIMATION ALGORITHMS load balancing center selection pricing method: vertex cover LP rounding: vertex cover generalized load balancing knapsack problem Lecture slides by Kevin Wayne Copyright 2005
Transportation Polytopes: a Twenty year Update
Transportation Polytopes: a Twenty year Update Jesús Antonio De Loera University of California, Davis Based on various papers joint with R. Hemmecke, E.Kim, F. Liu, U. Rothblum, F. Santos, S. Onn, R. Yoshida,
! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. #-approximation algorithm.
Approximation Algorithms 11 Approximation Algorithms Q Suppose I need to solve an NP-hard problem What should I do? A Theory says you're unlikely to find a poly-time algorithm Must sacrifice one of three
Lecture 3: Finding integer solutions to systems of linear equations
Lecture 3: Finding integer solutions to systems of linear equations Algorithmic Number Theory (Fall 2014) Rutgers University Swastik Kopparty Scribe: Abhishek Bhrushundi 1 Overview The goal of this lecture
Practical Guide to the Simplex Method of Linear Programming
Practical Guide to the Simplex Method of Linear Programming Marcel Oliver Revised: April, 0 The basic steps of the simplex algorithm Step : Write the linear programming problem in standard form Linear
Chapter 13: Binary and Mixed-Integer Programming
Chapter 3: Binary and Mixed-Integer Programming The general branch and bound approach described in the previous chapter can be customized for special situations. This chapter addresses two special situations:
Linear Programming Notes V Problem Transformations
Linear Programming Notes V Problem Transformations 1 Introduction Any linear programming problem can be rewritten in either of two standard forms. In the first form, the objective is to maximize, the material
Clustering and scheduling maintenance tasks over time
Clustering and scheduling maintenance tasks over time Per Kreuger 2008-04-29 SICS Technical Report T2008:09 Abstract We report results on a maintenance scheduling problem. The problem consists of allocating
THE SCHEDULING OF MAINTENANCE SERVICE
THE SCHEDULING OF MAINTENANCE SERVICE Shoshana Anily Celia A. Glass Refael Hassin Abstract We study a discrete problem of scheduling activities of several types under the constraint that at most a single
D-optimal plans in observational studies
D-optimal plans in observational studies Constanze Pumplün Stefan Rüping Katharina Morik Claus Weihs October 11, 2005 Abstract This paper investigates the use of Design of Experiments in observational
Integrating Benders decomposition within Constraint Programming
Integrating Benders decomposition within Constraint Programming Hadrien Cambazard, Narendra Jussien email: {hcambaza,jussien}@emn.fr École des Mines de Nantes, LINA CNRS FRE 2729 4 rue Alfred Kastler BP
1 Solving LPs: The Simplex Algorithm of George Dantzig
Solving LPs: The Simplex Algorithm of George Dantzig. Simplex Pivoting: Dictionary Format We illustrate a general solution procedure, called the simplex algorithm, by implementing it on a very simple example.
Chapter 6. Linear Programming: The Simplex Method. Introduction to the Big M Method. Section 4 Maximization and Minimization with Problem Constraints
Chapter 6 Linear Programming: The Simplex Method Introduction to the Big M Method In this section, we will present a generalized version of the simplex method that t will solve both maximization i and
Lecture 3. Linear Programming. 3B1B Optimization Michaelmas 2015 A. Zisserman. Extreme solutions. Simplex method. Interior point method
Lecture 3 3B1B Optimization Michaelmas 2015 A. Zisserman Linear Programming Extreme solutions Simplex method Interior point method Integer programming and relaxation The Optimization Tree Linear Programming
NP-Completeness. CptS 223 Advanced Data Structures. Larry Holder School of Electrical Engineering and Computer Science Washington State University
NP-Completeness CptS 223 Advanced Data Structures Larry Holder School of Electrical Engineering and Computer Science Washington State University 1 Hard Graph Problems Hard means no known solutions with
HYBRID GENETIC ALGORITHMS FOR SCHEDULING ADVERTISEMENTS ON A WEB PAGE
HYBRID GENETIC ALGORITHMS FOR SCHEDULING ADVERTISEMENTS ON A WEB PAGE Subodha Kumar University of Washington [email protected] Varghese S. Jacob University of Texas at Dallas [email protected]
Notes on Factoring. MA 206 Kurt Bryan
The General Approach Notes on Factoring MA 26 Kurt Bryan Suppose I hand you n, a 2 digit integer and tell you that n is composite, with smallest prime factor around 5 digits. Finding a nontrivial factor
Solution of Linear Systems
Chapter 3 Solution of Linear Systems In this chapter we study algorithms for possibly the most commonly occurring problem in scientific computing, the solution of linear systems of equations. We start
LU Factorization Method to Solve Linear Programming Problem
Website: wwwijetaecom (ISSN 2250-2459 ISO 9001:2008 Certified Journal Volume 4 Issue 4 April 2014) LU Factorization Method to Solve Linear Programming Problem S M Chinchole 1 A P Bhadane 2 12 Assistant
Linear Programming I
Linear Programming I November 30, 2003 1 Introduction In the VCR/guns/nuclear bombs/napkins/star wars/professors/butter/mice problem, the benevolent dictator, Bigus Piguinus, of south Antarctica penguins
Abstract Title: Planned Preemption for Flexible Resource Constrained Project Scheduling
Abstract number: 015-0551 Abstract Title: Planned Preemption for Flexible Resource Constrained Project Scheduling Karuna Jain and Kanchan Joshi Shailesh J. Mehta School of Management, Indian Institute
MODELS AND ALGORITHMS FOR WORKFORCE ALLOCATION AND UTILIZATION
MODELS AND ALGORITHMS FOR WORKFORCE ALLOCATION AND UTILIZATION by Ada Yetunde Barlatt A dissertation submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy (Industrial
Optimization applications in finance, securities, banking and insurance
IBM Software IBM ILOG Optimization and Analytical Decision Support Solutions White Paper Optimization applications in finance, securities, banking and insurance 2 Optimization applications in finance,
Nan Kong, Andrew J. Schaefer. Department of Industrial Engineering, Univeristy of Pittsburgh, PA 15261, USA
A Factor 1 2 Approximation Algorithm for Two-Stage Stochastic Matching Problems Nan Kong, Andrew J. Schaefer Department of Industrial Engineering, Univeristy of Pittsburgh, PA 15261, USA Abstract We introduce
npsolver A SAT Based Solver for Optimization Problems
npsolver A SAT Based Solver for Optimization Problems Norbert Manthey and Peter Steinke Knowledge Representation and Reasoning Group Technische Universität Dresden, 01062 Dresden, Germany [email protected]
A Branch and Bound Algorithm for Solving the Binary Bi-level Linear Programming Problem
A Branch and Bound Algorithm for Solving the Binary Bi-level Linear Programming Problem John Karlof and Peter Hocking Mathematics and Statistics Department University of North Carolina Wilmington Wilmington,
Linear Programming Supplement E
Linear Programming Supplement E Linear Programming Linear programming: A technique that is useful for allocating scarce resources among competing demands. Objective function: An expression in linear programming
Simplex method summary
Simplex method summary Problem: optimize a linear objective, subject to linear constraints 1. Step 1: Convert to standard form: variables on right-hand side, positive constant on left slack variables for
Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams
Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams André Ciré University of Toronto John Hooker Carnegie Mellon University INFORMS 2014 Home Health Care Home health care delivery
THE NUMBER OF GRAPHS AND A RANDOM GRAPH WITH A GIVEN DEGREE SEQUENCE. Alexander Barvinok
THE NUMBER OF GRAPHS AND A RANDOM GRAPH WITH A GIVEN DEGREE SEQUENCE Alexer Barvinok Papers are available at http://www.math.lsa.umich.edu/ barvinok/papers.html This is a joint work with J.A. Hartigan
Models for Incorporating Block Scheduling in Blood Drive Staffing Problems
University of Arkansas, Fayetteville ScholarWorks@UARK Industrial Engineering Undergraduate Honors Theses Industrial Engineering 5-2014 Models for Incorporating Block Scheduling in Blood Drive Staffing
PATTERN RECOGNITION AND MACHINE LEARNING CHAPTER 4: LINEAR MODELS FOR CLASSIFICATION
PATTERN RECOGNITION AND MACHINE LEARNING CHAPTER 4: LINEAR MODELS FOR CLASSIFICATION Introduction In the previous chapter, we explored a class of regression models having particularly simple analytical
On the effect of forwarding table size on SDN network utilization
IBM Haifa Research Lab On the effect of forwarding table size on SDN network utilization Rami Cohen IBM Haifa Research Lab Liane Lewin Eytan Yahoo Research, Haifa Seffi Naor CS Technion, Israel Danny Raz
Discuss the size of the instance for the minimum spanning tree problem.
3.1 Algorithm complexity The algorithms A, B are given. The former has complexity O(n 2 ), the latter O(2 n ), where n is the size of the instance. Let n A 0 be the size of the largest instance that can
Optimising Patient Transportation in Hospitals
Optimising Patient Transportation in Hospitals Thomas Hanne 1 Fraunhofer Institute for Industrial Mathematics (ITWM), Fraunhofer-Platz 1, 67663 Kaiserslautern, Germany, [email protected] 1 Introduction
Optimal Hiring of Cloud Servers A. Stephen McGough, Isi Mitrani. EPEW 2014, Florence
Optimal Hiring of Cloud Servers A. Stephen McGough, Isi Mitrani EPEW 2014, Florence Scenario How many cloud instances should be hired? Requests Host hiring servers The number of active servers is controlled
Sensitivity Analysis with Excel
Sensitivity Analysis with Excel 1 Lecture Outline Sensitivity Analysis Effects on the Objective Function Value (OFV): Changing the Values of Decision Variables Looking at the Variation in OFV: Excel One-
Lecture 6: Logistic Regression
Lecture 6: CS 194-10, Fall 2011 Laurent El Ghaoui EECS Department UC Berkeley September 13, 2011 Outline Outline Classification task Data : X = [x 1,..., x m]: a n m matrix of data points in R n. y { 1,
LECTURE 5: DUALITY AND SENSITIVITY ANALYSIS. 1. Dual linear program 2. Duality theory 3. Sensitivity analysis 4. Dual simplex method
LECTURE 5: DUALITY AND SENSITIVITY ANALYSIS 1. Dual linear program 2. Duality theory 3. Sensitivity analysis 4. Dual simplex method Introduction to dual linear program Given a constraint matrix A, right
Special Situations in the Simplex Algorithm
Special Situations in the Simplex Algorithm Degeneracy Consider the linear program: Maximize 2x 1 +x 2 Subject to: 4x 1 +3x 2 12 (1) 4x 1 +x 2 8 (2) 4x 1 +2x 2 8 (3) x 1, x 2 0. We will first apply the
