Example multi-stage supply chain graph.

I designed a parallel implementation for a supply chain optimization algorithm. Given a supply chain with:

Sources
Production plants
Distributors
Consumers

The idea:
The goal is to meet consumer demand while minimizing operating costs for the system as a whole.
Per-unit transport prices between stages vary, as do the fixed and per-unit operating costs for each node.
By opening and closing production plants and distributors, the algorithm is capable of finding optimal configurations for this system while also satisfying constraints such as conservation of flow in the network.
How it works:
The method first uses a Binary Particle Swarm Optimization algorithm to propose configurations for the opening/closing of production plants and distributors.
A linear programming solver calculates a cost function associated to each solution proposed.
This process is repeated several times until convergence is achieved.
The implementation was generated both in pure Julia and with a heterogeneous computing paradigm that uses a GPU for the Binary PSO algorithm, and the CPU for the linear programming solver.

You can find an explanatory notebook here.

This work was done as part of my social service in the UNAM program 2020-12/53-3548 (Estudio, diseño e implementación de algoritmos paralelos usando GPUs)

You may also like

Back to Top