Graph-based analyzer of productive chains

Work by team members before SIMYL Research; the provenance is at the end of the entry.

Problem

The CENDITEL foundation (Centro Nacional de Desarrollo e Investigación en Tecnologías Libres), in Mérida, Venezuela, was building the Productive Map of Venezuela: a set of systems to study the country’s productive base from the industrial registry (SIGESIC). Production had to be seen as a network, from raw-material suppliers, through intermediate factories, to final goods, in order to know which links are weak: which ones, if they fail, affect all production downstream.

Intervention

  • A model of the productive network built from the SIGESIC tables: producers, inputs, and products as nodes, and supply relationships as edges.
  • A C++ analyzer on the Aleph-w graph library, with its own command line: an interpreter, with its own grammar and lexer, to talk to the system, build and query the network, and run computations on it: the upstream chain of a product, everything a producer reaches, the shortest path between two producers, and scenarios in which a supply relationship is removed.
  • Detection of weak points: cut points, that is, producers whose failure leaves all downstream production without supply, and minimum cuts of the network by product line, with the Aleph-w algorithms.
  • Ownership studies: shareholders by company, companies by shareholder, and concentration of production in a few owners.

This is how one talked to the analyzer: load the map, locate a producer, ask for everything it reaches and for its upstream chain for a product, the path between two producers, whether a demand can be met, and the production plan that would cover it. The commands are those in the interpreter’s help; the tax ID, the tariff code, and the quantities are illustrative.

mapa = load "mapa.txt"
n = search node mapa "J123456789"
cover mapa n
upstream mapa n "7601.10.00" 5
path mapa "J123456789" "G987654321"
d = demand mapa 12345 1000 50
pp = prodplan mapa d 50

Recorded results

  • The analyzer was applied to real SIGESIC data in the studies of the Productive Map of Venezuela.
  • The code was published as free software in productive-chains, under the GPL-3.0 license. Its public history runs from July 2015 to August 2016, with 68 commits, 52 by the lead and 16 by Alex Drums, and adds the computation of demand satisfaction and of a production plan. The interpreter’s help carries the mark “2015 CENDITEL”.
  • The cut-point, minimum-cut, and network-flow algorithms were already in Aleph-w during the project: version 1.4a, published on SourceForge on 3 December 2013, includes tpl_cut_nodes.H, Karger.H, and tpl_netgraph.H. They remain today in tpl_cut_nodes.H and Karger.H.
  • CENDITEL publicly describes the Productive Chain Modeling System of the Productive Map of Venezuela (in Spanish).
  • The team page of CENDITEL’s Planning line lists the two SIMYL members who did this work: among the external collaborators from 2010 to 2017 and among the Sectoral Planning developers from 2013 to 2017 (in Spanish).

Limits

The studies carried out with the analyzer and the company data were not published, because the industrial registry is confidential; that is why this entry gives no figures from those studies. The public code does not include the computation of cut points or minimum cuts, which was done with the Aleph-w algorithms.

Provenance

Work by Leandro Rabindranath León, member of SIMYL Research, at CENDITEL between 2012 and 2016, as an external collaborator from the University of Los Andes (Mérida) and lead of the analyzer, with Alex Drums, also a member of SIMYL Research, as main collaborator. Code published as free software: productive-chains and the Aleph-w library.

Tell us about your project.