The document presents a dynamically distributed binary particle swarm optimization (BPSO) approach for solving fixed-charge network flow problems. The approach distributes the BPSO algorithm across a cluster of devices using a distributed accelerated analytics platform. Testing showed the distributed BPSO approach found better solutions faster than serial BPSO and optimization approaches for various problem sizes, demonstrating the benefits of dynamic distributed computing for difficult mixed integer programs.
Distributed Parallel Process Particle Swarm Optimization on Fixed Charge Network Flow Problems
1. Introduction Problem Approaches Dynamically Distributed BPSO Approach Performance Results and Demonstration Summary
Distributed Parallel Process Particle Swarm
Optimization on Fixed Charge Network
Flow Problems
Corey Clark1 Charles Nicholson2
1Game Theory Labs, Dallas, TX
cclark@gametheorylabs.com
2University of Oklahoma, Industrial and Systems Engineering, Norman, OK
cnicholson@ou.edu
INFORMS Annual Meeting, 2013
2. Introduction Problem Approaches Dynamically Distributed BPSO Approach Performance Results and Demonstration Summary
Outline
1 Introduction
The Problem
The Model
2 Problem Approaches
Optimal Search
Heuristic Search
3 Dynamically Distributed BPSO Approach
Algorithm
Architecture
4 Performance Results and Demonstration
Performance Results
Demonstration
3. Introduction Problem Approaches Dynamically Distributed BPSO Approach Performance Results and Demonstration Summary
The Problem
Problem Motivation: Cash Management2
National banks manage
vaults that store cash
Vaults have excess or
deficit (current / forecast)
Routing cash incurs
fixed and variable costs
Modeled as Time-space
fixed-charge network
flow problem1
1J. Kennington and C. Nicholson. “The Uncapacitated Time-Space Fixed-Charge
Network Flow Problem: An Empirical Investigation of Procedures for Arc Capacity
Assignment”. In: INFORMS Journal on Computing 22 (2010), pp. 326–337.
2M. Frost, J. Kennington, and A. Madhavan. “Optimizing cash management for large
scale bank operations”. In: International Journal of Operations Research and
Information Systems 1 (2010), pp. 17–31.
4. Introduction Problem Approaches Dynamically Distributed BPSO Approach Performance Results and Demonstration Summary
The Model
Time-Space Fixed-Charge Network Flow Model
Graph
N is set of n spatial nodes; T is the set of t time periods, and ¯N
is the set of node-time pairs
A is the set of arcs: (i, r, j, s) where (i, r) ∈ ¯N, (j, s) ∈ ¯N
5. Introduction Problem Approaches Dynamically Distributed BPSO Approach Performance Results and Demonstration Summary
The Model
Time-Space Fixed-Charge Network Flow Model
Graph
N is set of n spatial nodes; T is the set of t time periods, and ¯N
is the set of node-time pairs
A is the set of arcs: (i, r, j, s) where (i, r) ∈ ¯N, (j, s) ∈ ¯N
Variables
xirjs is flow on arc (i, r, j, s) ∈ A; yirjs is related binary variable
6. Introduction Problem Approaches Dynamically Distributed BPSO Approach Performance Results and Demonstration Summary
The Model
Time-Space Fixed-Charge Network Flow Model
Graph
N is set of n spatial nodes; T is the set of t time periods, and ¯N
is the set of node-time pairs
A is the set of arcs: (i, r, j, s) where (i, r) ∈ ¯N, (j, s) ∈ ¯N
Variables
xirjs is flow on arc (i, r, j, s) ∈ A; yirjs is related binary variable
Parameters
Mirjs is an implied artificial arc capacity used in B&B modeling
cirjs and firjs are variable and fixed costs for arc (i, r, j, s)
Rir are the requirements at node (i, r) ∈ ¯N.
7. Introduction Problem Approaches Dynamically Distributed BPSO Approach Performance Results and Demonstration Summary
The Model
TSFC Problem Formulation
Given a directed graph G = (¯N, A) the time-space fixed-charge
network flow model is formally stated as follows:
TSFC Problem
min
(i,r,j,s)∈A
(cirjsxirjs + firjsyirjs) (1)
s.t.
(i,r,j,s)∈A
xirjs −
(j,s,i,r)∈A
xjsir = Rir ∀(i, r) ∈ ¯N (2)
0 ≤ xirjs ≤ Mirjsyirjs ∀(i, r, j, s) ∈ A (3)
yirjs ∈ {0, 1} ∀(i, r, j, s) ∈ A (4)
This problem is NP-hard.
8. Introduction Problem Approaches Dynamically Distributed BPSO Approach Performance Results and Demonstration Summary
Optimal Search
Optimization Approach
Branch-and-Bound for the TSFC problem
1 Problem is solved with relaxed binary constraints
2 Choose an arc (i, r, j, s) ∈ A for branching
create new subproblem with yirjs = 1
create new subproblem with yirjs = 0
3 Solve the relaxed sub-problems (linear programs)
4 Use results to update bounds, determine optimality, fathom
nodes, and continued branching
5 Go to step 2
B&B performs a complete (implicit) search among all possible
network designs (branches) to find an optimal solution.
9. Introduction Problem Approaches Dynamically Distributed BPSO Approach Performance Results and Demonstration Summary
Optimal Search
Search Space
The set of all feasible solutions
is called a search space
Each point in the space
represents one feasible
solution
Every point has an associated
fitness value
The set of solutions and their
objective values form locations
and elevation in the search
space landscape
The search space can be
large and complex
10. Introduction Problem Approaches Dynamically Distributed BPSO Approach Performance Results and Demonstration Summary
Heuristic Search
Heuristic Approach
Literature
Tabu search (Glover 1990)
Fixed-Charge Transportation Problem (Sun et al. 1998)
Genetic Algorithms (Holland 1975)
Non-linear Transportation Problem (Sheng et al. 2006)
Fixed-Charge Network Flow (Duhamel 2010)
Network Designs (Gen and Chang 2003)
Particle Swarm Optimization (PSO)
Real-valued PSO (Kennedy and Eberhart 1995)
Binary PSO (Kennedy and Eberhart 1997)
Many applications and enhancements since then, e.g.
Parsopoulos and Vrahatis 2007, Yin et. al 2010
11. Introduction Problem Approaches Dynamically Distributed BPSO Approach Performance Results and Demonstration Summary
Algorithm
Binary Particle Swarm Optimization
Particle position and velocity
Xi = (xi1, xi2, . . . , xik ) xij ∈ {0, 1} for j = 1, 2, . . . , k
Vi = (vi1, vi2, . . . , vik ) vii ∈ [−vmax , vmax ] for j = 1, 2, . . . , k
12. Introduction Problem Approaches Dynamically Distributed BPSO Approach Performance Results and Demonstration Summary
Algorithm
Binary Particle Swarm Optimization
Particle position and velocity
Xi = (xi1, xi2, . . . , xik ) xij ∈ {0, 1} for j = 1, 2, . . . , k
Vi = (vi1, vi2, . . . , vik ) vii ∈ [−vmax , vmax ] for j = 1, 2, . . . , k
The position Xi represents a solution, and has an
associated fitness value
13. Introduction Problem Approaches Dynamically Distributed BPSO Approach Performance Results and Demonstration Summary
Algorithm
Binary Particle Swarm Optimization
Particle position and velocity
Xi = (xi1, xi2, . . . , xik ) xij ∈ {0, 1} for j = 1, 2, . . . , k
Vi = (vi1, vi2, . . . , vik ) vii ∈ [−vmax , vmax ] for j = 1, 2, . . . , k
The position Xi represents a solution, and has an
associated fitness value
A swarm of n particles fly through the k-dimensional
solution space – updating their positions based on a
velocity function
14. Introduction Problem Approaches Dynamically Distributed BPSO Approach Performance Results and Demonstration Summary
Algorithm
Binary Particle Swarm Optimization
Particle position and velocity
Xi = (xi1, xi2, . . . , xik ) xij ∈ {0, 1} for j = 1, 2, . . . , k
Vi = (vi1, vi2, . . . , vik ) vii ∈ [−vmax , vmax ] for j = 1, 2, . . . , k
The position Xi represents a solution, and has an
associated fitness value
A swarm of n particles fly through the k-dimensional
solution space – updating their positions based on a
velocity function
Velocity is a function of the historical best solution found
individually by a particle and globally by the swarm
15. Introduction Problem Approaches Dynamically Distributed BPSO Approach Performance Results and Demonstration Summary
Algorithm
Binary Particle Swarm Optimization
Particle position and velocity
Xi = (xi1, xi2, . . . , xik ) xij ∈ {0, 1} for j = 1, 2, . . . , k
Vi = (vi1, vi2, . . . , vik ) vii ∈ [−vmax , vmax ] for j = 1, 2, . . . , k
The position Xi represents a solution, and has an
associated fitness value
A swarm of n particles fly through the k-dimensional
solution space – updating their positions based on a
velocity function
Velocity is a function of the historical best solution found
individually by a particle and globally by the swarm
The velocity is converted into a probability that is used to
modify the particle position
16. Introduction Problem Approaches Dynamically Distributed BPSO Approach Performance Results and Demonstration Summary
Algorithm
Binary Particle Swarm Optimization Updates
Let Pi denote the best position visited by particle i
Let Pg denote the best position found by the swarm
The velocity function at iteration t + 1 is:
Vt+1
i = wVt
i + C1r1 Pi − Xt
i + C2r2 Pg − Xt
i
where w is an inertia factor that changes over time; C1, C2 are
constants; r1, r2 are random values uniform on [0, 1]
The transfer function that converts velocities to probabilities
T(vij) =
1
1 + evij
is used to update each bit the position according to:
xij =
1, if U(0, 1) < T(vij)
0, otherwise
17. Introduction Problem Approaches Dynamically Distributed BPSO Approach Performance Results and Demonstration Summary
Algorithm
Binary PSO and the FCNF Problem
In our application of Binary PSO to
the Fixed-Charge Network Flow
Problem, each particle position
represents a network design.
Each position is a unique, pure
network problem which is solved to
determine the minimum cost of the
particular design.
The individual designs are entirely
independent of each other, which
makes this easy to parallelize.
X1 :
X2 :
X3 :
18. Introduction Problem Approaches Dynamically Distributed BPSO Approach Performance Results and Demonstration Summary
Architecture
Distributed Accelerated Analytics Platform
Distributed Accelerated Analytics Platform (DAAP)
DAAP enables dynamic creation of a heterogeneous cluster
network using HTML5 technologies that provide multi-threaded
execution and low latency connections.
GLPK and GLPK.js
The GNU Linear Programming Kit (GLPK) package solves
large-scale LP and MIP problems.
GLPK.js: JavaScript interfaces to GLPK which allow GLPK to
be called from webpages on either the client side or the server
side.3
3H. Gourvest. GLPK.js. URL: https://github.com/hgourvest/glpk.js.
19. Introduction Problem Approaches Dynamically Distributed BPSO Approach Performance Results and Demonstration Summary
Architecture
Distributed Accelerated Analytics Platform
Distributed Accelerated Analytics Platform (DAAP)
DAAP enables dynamic creation of a heterogeneous cluster
network using HTML5 technologies that provide multi-threaded
execution and low latency connections.
GLPK and GLPK.js
The GNU Linear Programming Kit (GLPK) package solves
large-scale LP and MIP problems.
GLPK.js: JavaScript interfaces to GLPK which allow GLPK to
be called from webpages on either the client side or the server
side.3
Any web-enabled device can become part of a DAAP cluster
network and contribute computing power to solve LP problems.
3Gourvest, GLPK.js.
20.
21. Introduction Problem Approaches Dynamically Distributed BPSO Approach Performance Results and Demonstration Summary
Performance Results
Empirical Testing: Problem Characteristics
We tested our approach on three different sized TSFC
Problems. Feasible instances were randomly generated and
the variable and fixed cost ranges were selected such as to
create difficult instances (Kennington and Nicholson 2010).
Problems
Variable Costs: U(0, 10)
Fixed Costs: U(20000, 60000)
Size Nodes Arcs
5n6p 30 245
10n21p 210 3,890
20n30p 600 23,000
22. Introduction Problem Approaches Dynamically Distributed BPSO Approach Performance Results and Demonstration Summary
Performance Results
Empirical Testing: Approaches
Three approaches were tested:
Optimization: GLPK.js with default MIP techniques
23. Introduction Problem Approaches Dynamically Distributed BPSO Approach Performance Results and Demonstration Summary
Performance Results
Empirical Testing: Approaches
Three approaches were tested:
Optimization: GLPK.js with default MIP techniques
Serial BPSO-FCNF
24. Introduction Problem Approaches Dynamically Distributed BPSO Approach Performance Results and Demonstration Summary
Performance Results
Empirical Testing: Approaches
Three approaches were tested:
Optimization: GLPK.js with default MIP techniques
Serial BPSO-FCNF
Distributed BPSO-FCNF
25. Introduction Problem Approaches Dynamically Distributed BPSO Approach Performance Results and Demonstration Summary
Performance Results
Empirical Testing: Approaches
Three approaches were tested:
Optimization: GLPK.js with default MIP techniques
Serial BPSO-FCNF
Distributed BPSO-FCNF
Devices used in the DAAP cluster include: MacBook
Pro,Surface Pro, iPhone, Windows laptop, iPad, Nexus 7
tablet
26. Introduction Problem Approaches Dynamically Distributed BPSO Approach Performance Results and Demonstration Summary
Performance Results
Empirical Testing: Approaches
Three approaches were tested:
Optimization: GLPK.js with default MIP techniques
Serial BPSO-FCNF
Distributed BPSO-FCNF
Devices used in the DAAP cluster include: MacBook
Pro,Surface Pro, iPhone, Windows laptop, iPad, Nexus 7
tablet
A time limit was set at 10 minutes and best objective values
and number of network problems solved are reported.
27. Introduction Problem Approaches Dynamically Distributed BPSO Approach Performance Results and Demonstration Summary
Performance Results
Empirical Testing: Performance
Computational Time: 10 minutes
GLPK Serial Distributed Serial vs.
Problem Opt BPSO-FCNF BPSO-FCNF Distributed
5n6p
1.3M 937K 907K (37K)
285K 300K 1.3M (4.3x)
10n21p
N/A 7.36M 7.21M (150K)
5.2K 30K 68K (2.3x)
20n30p
N/A 21.16M 20.97M (190k)
3.2K 1.2K 3.3K (2.8x)
28.
29.
30.
31.
32. Introduction Problem Approaches Dynamically Distributed BPSO Approach Performance Results and Demonstration Summary
Demonstration
I hope this works...
pso.gametheorylabs.com
1 Navigate to this website
2 Register your device as a Processing Node
3 Watch for the green “loaded” and “running” indicators
33. Introduction Problem Approaches Dynamically Distributed BPSO Approach Performance Results and Demonstration Summary
Summary
Binary PSO (with modifications) is an effective option for
difficult Fixed-Charge Network Flow problems.
34. Introduction Problem Approaches Dynamically Distributed BPSO Approach Performance Results and Demonstration Summary
Summary
Binary PSO (with modifications) is an effective option for
difficult Fixed-Charge Network Flow problems.
Binary PSO for FCNF are naturally independent and thus
easily parallelized.
35. Introduction Problem Approaches Dynamically Distributed BPSO Approach Performance Results and Demonstration Summary
Summary
Binary PSO (with modifications) is an effective option for
difficult Fixed-Charge Network Flow problems.
Binary PSO for FCNF are naturally independent and thus
easily parallelized.
Using the DAAP technology, it is easy to create dynamic
cluster computing to address difficult MIP and problems
with such techniques.
36. Introduction Problem Approaches Dynamically Distributed BPSO Approach Performance Results and Demonstration Summary
Summary
Binary PSO (with modifications) is an effective option for
difficult Fixed-Charge Network Flow problems.
Binary PSO for FCNF are naturally independent and thus
easily parallelized.
Using the DAAP technology, it is easy to create dynamic
cluster computing to address difficult MIP and problems
with such techniques.
Questions?