Useful ideas for maximizing the power of Microsoft Excel for Supply Chain Analysis, Part II
This is the second post in a three-part series that describes how to perform desktop network optimization, job scheduling and vehicle routing with nothing but Microsoft Excel.
Introduction
In the previous post, performing a desktop transportation/ network optimization was discussed. This was an interesting class of problems that produced valuable information and insights regarding the cost and service components of a distribution network. These problems require a good bit of pre-work related to data gathering and analysis, but the worksheet setup is fairly straightforward, perhaps even intuitive. The job scheduling problem requires less pre-work, but the set-up is more complicated and less intuitive. This makes it more difficult to explain…at least in my mind. However, the benefits are much more tangible. If organized properly, the solution methodology can be used several times per day to schedule and re-schedule work. Further, analyzing the results will reveal the location of bottlenecks and opportunities to streamline operations. At the simplest level, the objective of these problems is straightforward: schedule production to get as much work done as possible in the shortest amount of time. However, we will modify the objective slightly to make the problem more realistic. Production orders will be organized such that groups are completed at approximately the same time. Think of this as a way to have specific production orders completed by a certain cut-off time or cut-off date. To solve this problem, leverage the idea that solving an optimization problem consists of two distinct but connected parts: problem set-up and solution search. Like my other post, Microsoft Excel will be the tool for problem set-up and solution search. However, since this class of program does not lend itself to searches based on linear programming techniques, we will once again use the Evolutionary Solver in Excel (released in version 2010) to search for the solution.Characterizing the Problem
In this situation, pretend that you are the manager of a value-added service (VAS) operation. You are responsible for scheduling the jobs through one of eight VAS processing lines. Your lines all have the same capabilities. However, because of differences in equipment, space, experience, and leadership, some of the lines can process work faster than others. You know what these process speeds are and would like to include this information when developing schedules. The company you work for has national contracts and every day you ship completed work all over the United States. Lately, business has been good but this has resulted in a few problems:- A crowding problem where work sits on the floor waiting for a truckload quantity to be assembled so that a truck can be brought in and loaded.
- Carriers complaining that their drivers have to wait too long for a load and are starting to charge penalties for the delay.
- Work stoppages, re-sequencing, and expediting that contribute to inefficiencies.

Setting up the problem for the solution
The key to understanding the way this problem is set up is to understand one of the key capabilities of the Evolutionary Solver in Excel. This key capability is the “All Different” constraint. This constraint was designed to order a sequence of numbers to meet specified criteria. Since a scheduling problem is a sequencing problem, this is exactly what we need to do.

Setting up the Results Viewing Area
There are two key connected objectives for this problem: 1) Get the work done as quickly as possible while 2) reducing the elapsed time to complete the jobs for each of the groups. The tables that measure these objectives are below.

Setting up the Solver
Setting up the solver requires five steps:- Determining the objective cell on the Excel spreadsheet
- Selecting the type of problem
- Detailing the cells that can change to solve the problem
- Defining constraints on the changing cells or other values in the problem
- Selecting the solver to use for the problem



Improving the Solver Solution
Given that the size of the problem explodes geometrically as the number of jobs increases, it is worth considering how to break up the problem so that it is not so big. One of the ways this can be accomplished is by solving for the most efficient sequencing for each of the ten groups. This would yield the set up below:


- How to Conduct a DIY Network Analysis to Understand How Location Impacts Service and Transportation Expense (Part I)
- How to Conduct DIY Vehicle Routing to Minimize Distance and Transportation Expense (Part III)