9.4 Setting Kanban Limits 311
In this section, a scheme is developed for obtaining very good, if not optimal,
buffer level configurations. Researchers such as Altiok and Stidham [2] conjecture
that the response function (throughput) is smooth and convex in nature. The exam-
ple problem discussed below demonstrates that this function is not actually convex
for all cases. Thus, the solution methodology must deal with local maxima that
are not the global maximum. The general search strategy is to use a neighborhood
search procedure for finding local maxima in conjunction with a restart procedure
designed to explore the solution space beyond these local maxima. The underly-
ing throughput evaluation methodology is the decomposition approach (mean-value
response generator) discussed in this chapter. The approach developed herein can
be viewed as a particular application of tabu search, but apparently the complex
meta-heuristic structure commonly used for non-convex combinatorial problems
is not needed. For example, the approach in [15] of using simulated annealing is
much more complex than appears necessary for the buffer allocation problem. Their
heuristic methodology, however, allows for the simultaneous optimization of buffer
allocations and machine processing rates. This combined optimization is a much
more difficult problem that requires this more powerful approach.
9.4.1 Allocating a Fixed Number of Buffer Units
For a given number of buffer space units, the problem is to find the best allocation of
these units across the workstations so as to maximize the system throughput. Since
this total must remain constant, it seems reasonable to use an exchange algorithm
where a single unit is taken from one workstation and assigned to another. Then the
throughput for this new configuration is evaluated. The basic step of the algorithm
is to evaluate all single units exchanges (both positive and negative) for each pair
of workstations (this is called a cycle). A cycle results in n(n −1) evaluations for a
n workstation problem. The best configuration for all these exchanges is stored as
the current best (incumbent solution) and the process repeated. If the best exchange
value is not better than the incumbent solution, then the process has reached a local
maximum. In this way a local search is performed with the best configuration being
used as the base point for further explorations (cycles). For concave functions this
local search procedure converges to the global maximum.
Once a local maximum has been obtained, the pair-wise exchange of a single unit
of buffer space between two workstations cannot find a better point and each addi-
tional cycle will terminate again with this same solution. To allow the exploration
to continue, a restart procedure is initiated once a local maximum has been identi-
fied. The restart procedure implemented herein is to start the unit-exchange process
from the local maximum with this configuration’s throughput value set to zero (an
incumbent value of zero). This allows the unit-exchange process to find the second
best point in the neighborhood as the solution obtained during the cycle since the
starting point (configuration) cannot be generated by this exchange procedure. The
neighborhood search (cycle procedure) continues from this solution. This one-unit