A Multilocation Inventory Model and its Parallel Heuristic Optimization

Yuefan Deng and Yuan Wang
Center for Scientific Computing, SUNY at Stony Brook
Yuefan.Deng@sunysb.edu
YWang@ams.sunysb.edu

Abstract

A stochastical inventory model with networked multilocation and its optimization on distributed-memory MIMD parallel computers are developed. The parallel heuristic algorithm, based on a Markovian decision approach and genetic algorithm in this study, can solve for our model with 2000 locations at nearly perfect speedup. Parallel computer makes it feasible to solve such a problem of application values.

The model concerns the determination of the initial order quantity, re-order level and redistribution of the product so as to maximize the total profit. Initially, the product is delivered to all N locations which can then redistribute among themselves by paying the setup and shipment expenses. In the redistribution, the product arrives in a batch from other locations. The ordered product which arrives after the end of the pre-determined waiting period will be treated as leftovers and sold at a lower price.

At the i tex2html_wrap_inline124 location, let tex2html_wrap_inline126 , tex2html_wrap_inline128 and tex2html_wrap_inline130 be the selling, buying, and salvage prices of unit product; tex2html_wrap_inline132 , tex2html_wrap_inline134 and tex2html_wrap_inline136 be the expected demand, unit holding cost, and shortage penalty cost per unit time; tex2html_wrap_inline138 and tex2html_wrap_inline140 be the initial order quantity and re-order level, respectively. From i tex2html_wrap_inline124 location to j tex2html_wrap_inline124 location, let tex2html_wrap_inline146 , tex2html_wrap_inline148 and tex2html_wrap_inline150 be the redistribution, setup cost, and unit product shipment cost, respectively. Let T be the interval of a period for inventory checking. tex2html_wrap_inline154 , the demand, is a random variable with a distribution function tex2html_wrap_inline156 , which is the probability that the demand is m units during the interval of time x. tex2html_wrap_inline162 , the delivery lag, is a random variable with a probability density function tex2html_wrap_inline164 .

In our model, the total profit, C(Q, L, q), consists of six components: the expected cost or revenue in buying tex2html_wrap_inline168 , in holding tex2html_wrap_inline170 , in shortage tex2html_wrap_inline172 , in salvage tex2html_wrap_inline174 , in selling tex2html_wrap_inline176 , and in redistribution tex2html_wrap_inline178 . We define:

tex2html_wrap_inline180 ;
tex2html_wrap_inline182 , where the expected holding is

displaymath116

and

displaymath117

tex2html_wrap_inline184 , where the expected shortage is

eqnarray39

tex2html_wrap_inline186 , where the expected number of the product which cannot arrive before the end of a period is

displaymath118

tex2html_wrap_inline188 ;
tex2html_wrap_inline190 .

The service rate is defined as

displaymath192

The problem is concluded into a nonlinear programming model, Maximize C(Q, L, q) subject to tex2html_wrap_inline196 and nonnegative variables, where S(x) is a prescribed service rate constraint.

There are tex2html_wrap_inline200 variables in our model. The computation is reduced greatly as a result of solving a multivariant problem by the multistage method. A parallel global optimization method is implemented in two steps. Step one employes a Markovian decision approach to adjust the redistributions. Step two is a parallel heuristic optimization algorithm based on the genetic algorithm shown below:

  1. Restart: Choose a population of M points, tex2html_wrap_inline204 , at random and evenly distribute them onto P processors to be evaluated, that is, each processor has [M/P] function evaluations. And then, a master processor computes the average value of M functions, tex2html_wrap_inline210 Set tex2html_wrap_inline212 , tex2html_wrap_inline214 and tex2html_wrap_inline216 .
  2. Crossover: Pick up V pairs of parents from the set X at random to produce V offsprings. The V couples are assigned onto the P processors. Every processor averagely has [V/P] parents. Each pair of points are always indexed in this way, tex2html_wrap_inline226 . Create a new point tex2html_wrap_inline228 as follows: tex2html_wrap_inline230 , where tex2html_wrap_inline232 . Evaluate tex2html_wrap_inline234 . Keep the offspring tex2html_wrap_inline228 if tex2html_wrap_inline238 .
  3. Reproduce: Pick a point tex2html_wrap_inline240 from set X. Replace tex2html_wrap_inline240 by tex2html_wrap_inline228 in the population if tex2html_wrap_inline246 .
  4. Recircle: Set tex2html_wrap_inline248 . Compute tex2html_wrap_inline250 . Go to step 2 if tex2html_wrap_inline252 .
  5. Termination test : set tex2html_wrap_inline254 . Go to step 1 if tex2html_wrap_inline256 . Otherwise, stop.

 

=0.58em
Processors 1 10 20 30 40 N 1000 2000
Time(Hours)314 32 16.610.78.2 tex2html_wrap_inline262 45839699110136
Speedup 10 19 29 38 tex2html_wrap_inline264 .18.16
Table 1: Timing and optimization results for examples N=1000 and 2000.



Society of Computational Economics
Second International Conference on Computing in Economics and Finance
Geneva, Switzerland, 26-28 June 1996