• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Distributed Parallel Process Particle Swarm Optimization on Fixed Charge Network Flow Problems
 

Distributed Parallel Process Particle Swarm Optimization on Fixed Charge Network Flow Problems

on

  • 1,300 views

We are developing a parallel process particle swarm optimization (PSO) on an HTML5 based dynamically distributed system and assess its performance as applied to the multicommodity fixed charge (MCFC) ...

We are developing a parallel process particle swarm optimization (PSO) on an HTML5 based dynamically distributed system and assess its performance as applied to the multicommodity fixed charge (MCFC) network flow problem. The MCFC problem is motivated by a real-world cash management problem faced by large national banks and is NP-hard. We compare the performance of a serial and distributed parallel process PSO implementation and empirically evaluate the optimality gap for multiple instances.

We are currently in the process of converting JaHOVA OS into a high performance multithreaded game and simulation engine (GEn3CIS). One feature of GEn3CIS is its ability to distribute processing across any internet enabled device with a modern browser. Essentially this allows a user to take their phone, tablet, PC/Mac, etc and utilize there combined computing power to solve any complex simulation, learning, and/or optimization problem.

Statistics

Views

Total Views
1,300
Views on SlideShare
1,269
Embed Views
31

Actions

Likes
2
Downloads
6
Comments
0

1 Embed 31

https://twitter.com 31

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Distributed Parallel Process Particle Swarm Optimization on Fixed Charge Network Flow Problems Distributed Parallel Process Particle Swarm Optimization on Fixed Charge Network Flow Problems Presentation Transcript

    • 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
    • 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
    • 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.
    • 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
    • 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
    • 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.
    • 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.
    • 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.
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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 :
    • 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.
    • 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.
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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.
    • 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)
    • 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
    • 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.
    • 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.
    • 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.
    • 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?