Você está na página 1de 5

A Mixed Integer Programming Approach for Supply Chain

Management Using Particle Swarm Optimization Algorithm


GAO Bo WU Yuanyuan
College of Mechanical & Electric Engineering, Agricultural University of Hebei, Hebei, P.R.China,
071001
gaobo@hebau.edu.cn

Abstract As a novel optimization technique, particle swarm optimization (PSO) algorithm works as an
evolutionary computation technique and has been applied to solve non-linear problems in many domains.
But this algorithm always works as problem-depended so that the application method analysis always
attracts researchers interests. In this paper we address the research on solving a kind of programming
problems- mixed integer programming (MIP) that usually occur in operation or management regions.
Following the way of standard PSO algorithm, we give a general formula for MIP and emphasize on
constructing a feasible pattern which can be used in PSO so that the constrained condition which most
MIP problems happen to are transformed into unconstrained condition by request of PSO algorithm.
Finally we give a practical case to prove such methodology and the testing result verifies its validity.
Key words Mixed integer programming; particle swarm optimization; penalty function; supply chain
optimization

1 Introduction
Although have emerged for about more than 20 years, Supply chain Management (SCM) still has
not a universal definition. But we can find in literatures of some definitions on Supply Chain (SC). For
example, SC is defined as a system of suppliers, manufacturers, distributors, retailers and customers
where material, financial and information flows connect participants in both directions [P.fiala, 2005].As
usually an important and strategic operation management problem in SC, SC design is to provide an
optimal platform for effective and efficient SCM[Yan, et al, 2003].
The significance of modeling the interruptions of a production/inventory system in the SC process
should be attributed to the severity of their potential negative impacts on operating costs and customer
service measures in todays modern manufacturing and business environment [Mohebbi, 2003]. There
exist many papers on quantitative techniques for the improvement and optimization of SCs without
global considerations, and mixed integer programming models are among the most widely used
techniques. Most models address the problem in a regional, local or single-country environment, where
international factors do not have a significant impact on the design of the SC [Goetschalckx, et al, 2002].
Literatures can be categorized into conceptual, empirical and quantitative frameworks for designing and
operating SC networks. In such frameworks conceptual models play an important role to provide a
strong foundation for developing rigorous quantitative frameworks[Talluri & Baker, 2002].

An quantitative model of two-phased SC

Supply chain management has an inherent relativity with retailer-provider management and there
have been proposed many mathematical models for such t subjects. In this paper we choose a typical
two-tier SC model[Huang&Lu,2003] to illustrate its structure and solution.
m

m n

minZ = f i zi + cijk xijk


i =1

(1)

i =1 j =1k =1

s.t. xijk = 1

j , k

i =1

969

(2)

zi p

(3)

i =1

i, j , k

zi + xijk 0

s j d jk xijk wi

j k

xijk 0 j = j1 , j2 , L, jr

zi = {0,1}
0 x ijk 1

(4)
(5)

k = k , k , L, k

i
i, j , k

(6)
(7)
(8)

Where i represents the facility of inventory and retailers, j represents the number of production item
and k represents the end retailers or consumers. There are two variants influence the effect of the
decision that is zi and xijk . zi is a binary variant that its value should be 1which means i th facility
has been chosen or 0 not. The other variant xijk represents the market share of i th facility at j th
product for the k th retailer or consumer. For the objective function (Eq. 1) there are two parts of
variants: f i means the annual cost of i th facility and cijk represents the
annual cost of xijk .
Parameter p in equation (3) denote the maximum of total number of facilities. si in Eq.(5) denotes the
space of j th product. d jk denotes the k th retailers or consumers demand of j th product at a fixed
interval. wi represents the maximum capability of i th facility.
The above functional optimization problem is a typical mixed integer programming (MIP) issue. In
practice some optimization problems usually require one or more decision variants or optimal solutions
should be integer. The traditional programming approaches are: processing the non-integer solution into
integer by rounding off which may not obtain an available solution or an optimization solution; another
common method is integer programming algorithms such as branch and bound algorithm. But such
algorithm demands the objective function continuous and smoothly as well as strict restraint conditions.
When the model contains non-linear function the solution may reach a local optimum depending on its
parameters or initial values. Along with the enlargement of extent and complexity especial for non-linear
mixed integer model, the computing time would increase extremely and the online optimization could
not be implemented by this algorithm[Feng, et al,2004]. So some researchers introduced more advanced
algorithms to solve such large scale non-linear dynamic systems optimization issues.
For such issues one can use classical step-wise regression, procedure as well as some more
sophisticated methodologies such as simulated annealing, genetic algorithms and evolution algorithm.
Among them GAs and EAs are optimization techniques simulating biological systems which are
classified as a category of the research of so-called artificial life. Particle swarm optimization (PSO)
algorithm as a relatively new optimization technique in this category can also be used as an excellent
optimizer which originated as a simulation of simplified social system.

3 Particle swarm optimization algorithm


PSO is proposed by Kennedy and Eberhart in 1995 and Particle swarm optimization (PSO) is
regarded as one of the swarm intelligent algorithms. PSO is a population-based algorithm that exploits a
population of individuals, to synchronously probe promising regions of a given research space. In this
context, the population is called a swarm, and the individuals are called particles. For a definite search
space the job of each particle is to move and retain in memory the best position it ever encountered.
There are two types of variant in PSO: global variant and local variant. Exploration is the ability to test
various regions in the problem space in order to locate a good optimum, hopefully the global one;
Exploitation is the ability to concentrate the search around a promising candidate solution in order to
locate the optimum precisely.
PSO is a new branch in evolutionary algorithms, which were inspired in group dynamics and its
970

synergy and were originated from computer simulations of the coordinated motion in flocks of birds or
schools of fish. As these animals wander through a three-dimensional space, searching for food or
evading predators, these algorithms make use of particles moving in an n-dimensional space to search
for solutions for an n-variable function optimization problem.
PSO has proved to be competitive with GA in several tasks, mainly in optimization areas. There
emerged some variants of PSO including Discrete Particle Swarm Optimizer (DPSO), Linear
Decreasing Weight Particle Swarm Optimizer (LDWPSO) and Constricted Particle Swarm Optimizer
(CPSO).
Assume an n-dimensional search space, S R n , and a swarm consisting of NP particles. The ith
particle is in effect an n-dimensional vector X i = ( xi1 , xi 2 , L , xin )
Many real optimization problems can be formulated as the following functional optimization
problem
r
Min f (x), x x
r
s.t. x [ai , bi ]
r
where f (x), is the objective function , and x x is the decision vector consisting of n variables.
3.1 Basic standard PSO algorithm
We adopt a vector notation style to recommend the basic PSO algorithm as follows:
r r
r
r
r r
r r
r
r
r
v k +1 = a v k + b1 r1 ( p1 x k ) + b2 r2 ( p 2 x k )
r r
r
r r
x k +1 = c x k + d v k +1

(9)

(10)
r
Where the signal v k called the velocity for particle k which represents the distance to be traveled by
this particle from its current position , The symbol denotes element-by-element vector
r
multiplication. At iteration k , the velocity v k is updated on its current value affected by a momentum
r
r
r
factor( a ); p1 represents the best previous position of particle k known as local-best position and p2
represents the best position among all particles in the population known as global-best
r
r
r
position; xk represents the position of particle k ; b1 and b2 are positive constant parameters called
r
r
acceleration coefficients which control the maximum step size; r1 and r2 are usually selected as
uniform random numbers in the range of [0,1] .
For such algorithm the work flow can be listed as follows:
Step 1: Initialize for each particle k in the population;
r
Step 1.1: Initialize v k randomly;
r
Step 1.2: Initialize x k randomly;
Step 1.3 Evaluate f k
v
Step 1.4 Initialize p2 with the index of the particle with the best function value among the
population.
r
r
Step 1.5 Initialize p1 with the copy of. v k , k N
Step 2: Repeat until a stopping criterion is satisfied
v
Step 2.1: find p2 such that f [ p2 ] f k , k N
r
r
Step 2.2: for each particle k , p1 = x k , if f k < f best [k ], k N
r
v
Step 2.3: for each particle k , update v k and x k according to equation 1 and 2.
Step2.4: evaluate f k for all particles.
The search work flow PSO is shown in figure 1.

3.2 Variants of PSO


There are several variants of PSO, typically differing in the representation: Discrete or Continuous
971

PSO, Linear Decreasing Weight or Constricted PSO; Predator Prey or Collision Avoiding Swarms and
Chaotic PSO. In this paper the last one is adopted to solve the optimization problems
In PSO, proper control of global exploration and local exploitation is a core in finding the optimum
solution efficiently. The performance of PSO depends on its parameters and the parameter- inertia
r
weight a is the modulus
which controls the impact of previous velocity on the current one. So the balance between exploration
r
and exploitation in PSO is dictated by the value of a . In order to achieve trade-off between exploration
r
and exploitation, we set a varying adaptively in response to the objective values of the particles. So
we construct a function to adapt inertia weight factor.
r

Initialization ( x k , v k , p 2 , p1 )
Evaluating f k

Next k

If f k > f pv2 and If p 2 [a i , bi ]


then

r
v
p2 = xk

If f k > f pv1 and If p1 [ai , bi ]


then

Update x k
Update v k

r
v
p1 = xk

Satisfying criterion
Output the solution
Figure 1 Work flow of PSO Algorithm

3.3 Tset Example


We construct a vegetable supply chain example to test the serach result of PSO algotithm.The
actual meaning of the model is ignored and just a formular model is given as following:
m n

min f ( xi , y ij ) = bi xi + cij y ij

(11)

i =i j =1

s.t. xi = {0,1}

(12)

m n

y ij = 1

(13)

i =1 j =1

xi E

(14)

i =1

y ij xi

(15)

0 y ij 1

(16)

y ij Q =

qk

(17)

k =1

ij

Gj

i =1

The values of the main parameters are given in table 1.

972

(18)

3.4 Numerical simulation


v
v
The population size is 20, fixed the total number of function evaluation as 2000, b1 and b2 are set
r
to 2.0, and v max is clamped to be 15% of the research space, IWF a varying from 1.2 at the beginning of
the research to 0.2 at the end. We introduce two indexes SR and AVEN to evaluate the algorithms
performance as follows:
SR = N v / RT 100%
(19)
(20)
AVEN = ni / N v
Where RT (run time) denotes the total number of run; N v denotes the number of success run
among RT ; ni denotes the number of function evaluation of the i th success run.
Table 2 Testing Result

Table 1 The Main Parameters of SC Model


Parameter

bi

m n E Gj

Population
10
20
30
40
50

cij
[0.711,0.77,0713]

0.40
0.30
0.38
Value

[0.771,0.76,0.843]
4

4 0.45

0.39

SR (%)
100
100
100
100
100

AVEN
10438
8582
7742
7006
6752

[0.944,0.92,0.915]
0.25

0.35

[0.87,0.863,0.881]

4 Conclusions
Objective function can be directly used as fitness function to guide the search in PSO that make it
easy to handle non-linear and non-differentiable optimization problem. Using discrete numbers for
particles and velocity, PSO can be
applied to discrete problems or mixed integer problems easily. The results of numerical simulation prove
its effectiveness and efficiency.

References

[1]P.fiala. Information sharing in supply chains.Omega, 33(2005),p419 423


[2]Hong Yan, Zhenxin Yu, T.C.Edwin Cheng. A strategic model for supply chain design with logical
constraints: formulation and solution. Computers & Operations Research, 30(2003),p2135 2155.
[3]Esmail Mohebbi. Supply interruptions in a lost-sales inventory system with random lead time.
Computer& Operations Research, 30(2003),p411 426.
[4]Mare Goetschalckx, Carlos J. Vidal, Koray Dogan. Modeling and design of global logistics systems: A
review of integrated strategic and tactical models and design algorithms. European Journal of Operational
Research, 143(2002),p 1 18.
[5]Srinivas Tallori, R.C.Baker. A multi-phase mathematical programming approach foe effective supply
chain design. European Journal of Operational Research, 141(2002),p544 558
[6]Huang Xiao-yuan, Lu Zhen. Application of two-stages by supply chain model in server and distribution
system. Systems engineering-theory methodology applications,2003,12(3),p228 231
[7] Feng Jian-rong, Liu Zhi-he, Liu Zheng-he. Programming problems and simulation implementing.
Journal of system simulation,2004,16(4),p845 848

973

Você também pode gostar