Skip to main content
Log in

Evolutionary and classification methods for local labor markets delineation

  • Manuscript
  • Published:
Computational and Mathematical Organization Theory Aims and scope Submit manuscript

Abstract

This paper proposes some new evolutionary and classification methods for the delineation of local labor markets (LLMs) in areas where there are a large number of small localities with little labor interaction. The evolutionary methods presented here, based on previous works of Flórez-Revuelta et al. (Int J Autom Comput 5:10–21, 2008a; PPSN X, LNCS 5199:1011–1020, 2008b) and Martínez-Bernabeu et al. (Expert Syst Appl 39:6754–6766, 2012), decrease their computational times (up to a 99 %) without deteriorating the quality and robustness of the solutions. Also, in this work we avoid geographical contiguity constraints because such restrictions might reduce the realism of the process. Another contribution of this paper is related to the location of new services—hospitals, schools, employment centers, etc.—taking into account the labor mobility patterns. In this context, we present a cluster partitioning of k-means procedure, which captures the common aspects of all the potential solutions of these evolutionary algorithms and allows us to rank the LLMs foci, understood as the main centers of activity of the markets. The performance of the algorithms is analyzed through a real commuting dataset of the region of Aragón (Spain).

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5

Similar content being viewed by others

Notes

  1. The job-ratio is the number of jobs per resident.

  2. The supply side self-containment is the percentage of resident workers that live and work in the same locality.

  3. The solutions corresponding to FCM08 and ABGS15 have been omitted from Tables 2 and 3 because of their bad behaviour.

  4. We would like to thank one of the referees this suggestion.

  5. An agglomerative algorithm (available on request) was implemented by the authors. The obtained results were very similar to those exposed in the paper and is omitted for the sake of brevity.

Abbreviations

LLM:

Local labor market

BSU:

Basic spatial unit

FCM08:

Flórez-Revuelta et al. (2008a, b)

MFC12:

Martínez-Bernabeu et al. (2012)

JR:

Job-ratio

SC:

Supply side self-containment

L(B):

List of the adjacent BSUs of B

References

  • Alonso MP, Beamonte A, Gargallo P, Salvador M (2008) Mercados locales de trabajo en Aragón. FUNDEAR, Zaragoza

    Google Scholar 

  • Alonso MP, Beamonte A, Gargallo P, Salvador M (2010) Un algoritmo genético para la delimitación de mercados laborales locales. XXXII Congreso Nacional de Estadística e Investigación Operativa. A Coruña (SPAIN)

  • Alonso MP, Beamonte A, Gargallo P, Salvador M (2011) A genetic algorithm for the delimitation of local labor markets. Second spring seminary on topics on economic analysis, Zaragoza (SPAIN)

  • Andersen A (2002) Are commuting areas relevant for the delimitation of administrative regions in Denmark? Reg Stud 36(8):833–844

    Article  Google Scholar 

  • Casado-Díaz JM (2000) Local labour market areas in Spain: a case study. Reg Stud 34:843–856

    Article  Google Scholar 

  • Casado-Díaz JM, Coombers MG (2011) The delineation of 21st century local labour market areas: a critical review and a research agenda. Boletín de la Asociación de Geógrafos Españoles 57:7–32

    Google Scholar 

  • Chakraborty MA, Beamonte A, Gelfand AE, Alonso MP, Gargallo P, Salvador M (2013) Spatial interaction models with individual-level data for explaining labor flows and developing local labor markets. Comput Stat Data Anal 58:292–307

    Article  Google Scholar 

  • Chen SH (2002) Evolutionary computation in economics and finance, studies in fuzziness and soft computing. Physica-Verlag, Heidelberg

    Book  Google Scholar 

  • Chen SH, Wang P (2004) Computational intelligence in economics and finance. Springer, Heidelberg

    Book  Google Scholar 

  • Coello CA, Lament GB, van Veldhuizen DA (2007) Evolutionary algorithms for solving multi-objective problems, 2nd edn. Springer, Berlin

    Google Scholar 

  • Coombes MG, Green AE, Openshaw S (1986) An efficient algorithm to generate official statistics reporting areas: the case of the 1984 travel-to-work areas revision in Britain. J Oper Res Soc 37:943–953

    Article  Google Scholar 

  • De Jong KA (2006) Evolutionary computation: a unified approach. MIT Press, Cambridge

    Google Scholar 

  • Duque JC (2004) Design of homogeneuous territorial units: a methodological proposal and applications. Ph.D. dissertation, Universidad de Barcelona, Spain

  • Flórez-Revuelta F, Casado-Díaz JM, Martínez-Bernabeu L (2008a) An evolutionary approach to the delineation of functional areas base on travel-to-work flows. Int J Autom Comput 5(1):10–21

    Article  Google Scholar 

  • Flórez-Revuelta F, Casado-Díaz JM, Martínez-Bernabeu L, Gómez-Hernández R (2008b) A memetic algorithm for the delineation of local labour markets. In: Rudolph G et al. (eds) PPSN X, LNCS 5199, pp 1011–1020

  • Klüver J, Klüver C (2015) The regulatory algorithm (RGA): a two-dimensional extension of evolutionary algorithms. Soft Comput. doi:10.1007/s00500-015-1624-6

    Google Scholar 

  • Martínez-Bernabeu L, Flórez-Revuelta F, Casado-Díaz JM (2012) Grouping genetic operators for the delineation of functional areas based on spatial interaction. Expert Syst Appl 39:6754–6766

    Article  Google Scholar 

  • Paps K, Newell JO (2002) Identifying functional labour market areas in New Zealand: A reconnaissance study using travel-to-work data. Discussion Paper no 443. Institute for the Study of Labour (IZA), Bonn

  • Sforzi F, Openshaw S, Wymer C (1991) Le procedura di identi_cazione dei sistemi locali del lavoro. In: Sforzi F (ed) i sistemi locali del lavoro. ISTAT, Rome, pp 235–242

    Google Scholar 

  • Watts M (2004) Local Labour Markets in New South Wales: Fact or Fiction? Working Paper No. 04-12. Centre of Full Employment and Equity, University of Newcastle, Callaghan, NSW

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Pilar Gargallo.

Appendices

Appendix 1: Evolutionary algorithm proposed in the paper

The structure of the algorithm consists of the following steps:

  • Step 0 (Initialization) Set np (size of the population), n0 (individuals generated in each step), g (number of iterations to establish the completion step), sizemin (minimum size of a configuration), nmin (minimum amount of flow between two BSUs to be considered adjacent) and γ (minimum number of adjacent BSUs).

  • Step 1 (Determination of initial configurations) Determine the initial configurations using the algorithm of Appendix 2. These configurations are taken as BSUs.

  • Step 2 (Initial population) Determine an initial population of np individuals in such a way that, at least one of them, verify (1)–(3).

  • Step 3 (Genetic operators) Apply genetic operators (mutation, crossover) chosen at random until n0 valid individuals have been produced.

  • Step 4 (Truncation) Select the best np individuals of the generated population according to their fitness values.

  • Step 5 (Completion) If the best individual of the current population has not changed during the last g iterations, go to step 6. Otherwise, go to step 2.

  • Step 6 (Final local step) A local search procedure to improve valid individuals similar to that proposed in Flórez-Revuelta et al. (2008b, Section 4.2) is carried out. In this step we take the original BSUs (and not the configurations) as element of analysis. We study whether some change of the composition of original configurations may improve the fitness values of the solution. In our experience this step has a residual character and only improves marginally the fitness value of the solution at an additional small CPU time.

In our empirical example we have taken np = 100, n0 = 1, g = 100, β1 = 0.70, β2 = 0.75, β3 = 5000, β4 = 1500; sizemin = 1, 100 and 250. All of these values coincide with those used in FCM08 except β3 and β4 for which we have taken the values in Alonso et al. (2008). Finally, for the connectivity constraint, we have taken γ = 10 and nmin = 25.

Appendix 2: Determination of initial configurations

The determination of the initial configurations is made using the following algorithm:

  • Step 0: Initiation

    Fix sizemin > 0 the minimum size of a configuration. Put n(0) = n, \({\text{C}}_{\text{i}}^{\left( 0\right)} = {\text{B}}_{\text{i}}\) for i = 1,…, n(0), C (0) = B and s = 0.

  • Step 1: Check the stop condition

    Calculate βmin = \(\min_{{{\text{i}} = 1, \ldots ,n^{{ ( {\text{s)}}}} }} \{ {{\text{T}}_{{{\text{C}}_{\text{i}}^{{\left( {\text{s}} \right)}} , {\text{C}}^{{\left( {\text{s}} \right)}} }} }\}\). If βmin ≥ sizemin, stop. Otherwise, go to step 2.

  • Step 2: Determine the configurations to be merged

    Let \({\mathbf{C}}_{\upbeta }^{{\left( {\text{s}} \right)}} \subseteq {\mathbf{C}}^{{\left( {\text{s}} \right)}}\) where \({\mathbf{C}}_{\upbeta }^{{\left( {\text{s}} \right)}} = \{ {{\text{C}}_{\text{i}}^{{\left( {\text{s}} \right)}} \in {\mathbf{C}}^{{\left( {\text{s}} \right)}} {\text{ such that T}}_{{{\text{C}}_{\text{i}}^{{\left( {\text{s}} \right)}} , {\text{C}}^{{\left( {\text{s}} \right)}} }} < {\text{size}}_{\hbox{min} } } \}\).

    Determine \({\text{C}}_{\text{i}}^{{\left( {\text{s}} \right)}} , {\text{C}}_{\text{j}}^{{\left( {\text{s}} \right)}} \in {\mathbf{C}}^{{\left( {\text{s}} \right)}}\) such that \({\text{t}}_{{{\text{C}}_{\text{i}}^{{\left( {\text{s}} \right)}} , {\text{C}}_{\text{j}}^{{\left( {\text{s}} \right)}} }} = \hbox{min} \{ {{\text{t}}_{{{\text{C}}_{{_{\text{l}} }}^{{\left( {\text{s}} \right)}} , {\text{C}}_{{_{\text{l'}} }}^{{\left( {\text{s}} \right)}} }} :{\text{C}}_{\ell }^{{\left( {\text{s}} \right)}} {\text{ or C}}_{\ell '}^{{\left( {\text{s}} \right)}} \, \in {\mathbf{C}}_{\upbeta }^{{\left( {\text{s}} \right)}} {\text{ and }}\ell \ne \ell {\prime } \, } \}\). When several \({\text{C}}_{\text{i}}^{{\left( {\text{s}} \right)}} , {\text{C}}_{\text{j}}^{{\left( {\text{s}} \right)}} \in {\mathbf{C}}^{{\left( {\text{s}} \right)}}\) verify this condition, we choose the pair that maximizes the flow \(\text{T}_{{C_{i}^{\left( s \right)} ,C_{j}^{\left( s \right)} }} + \text{T}_{{C_{j}^{\left( s \right)} ,C_{i}^{\left( s \right)} }}\), and, if possible with \(\text{C}_{i}^{\left( s \right)} ,\text{C}_{j}^{\left( s \right)} \in {\mathbf{C}}_{\upbeta }^{\left( s \right)}\).

  • Step 3: Merge the selected configurations

    Built \({\text{C}}_{\text{i}}^{{\left( {\text{s + 1}} \right)}} = {\text{C}}_{\text{i}}^{{\left( {\text{s}} \right)}} \cup {\text{C}}_{\text{j}}^{{\left( {\text{s}} \right)}}\) and set \({\mathbf{C}}^{{\left( {\text{s + 1}} \right)}} = ( {{\mathbf{C}}^{{\left( {\text{s}} \right)}} \cup \{ {{\text{C}}_{\text{i}}^{{\left( {\text{s + 1}} \right)}} } \}} ) - \{ {{\text{C}}_{\text{i}}^{{\left( {\text{s}} \right)}} , {\text{C}}_{\text{j}}^{{\left( {\text{s}} \right)}} } \}\), updating the flows matrix as:

    $${\text{T}}_{{{\text{C}}_{\text{i}}^{{\left( {{\text{s}} + 1} \right)}} , {\text{C}}_{\ell}^{{\left( {\text{s}} \right)}} }} = {\text{T}}_{{{\text{C}}_{\text{i}}^{{\left( {\text{s}} \right)}} , {\text{C}}_{\ell}^{{\left( {\text{s}} \right)}} }} + {\text{T}}_{{{\text{C}}_{\text{j}}^{{\left( {\text{s}} \right)}} , {\text{C}}_{\ell}^{{\left( {\text{s}} \right)}} }}$$
    $${\text{T}}_{{{\text{C}}_{\ell}^{{\left( {\text{s}} \right)}} , {\text{C}}_{\text{i}}^{{\left( {{\text{s}} + 1} \right)}} }} = {\text{T}}_{{{\text{C}}_{\ell}^{{\left( {\text{s}} \right)}} , {\text{C}}_{\text{i}}^{{\left( {\text{s}} \right)}} }} + {\text{T}}_{{{\text{C}}_{\ell}^{{\left( {\text{s}} \right)}} , {\text{C}}_{\text{j}}^{{\left( {\text{s}} \right)}} }} \quad \forall \ell \ne {\text{i}}, {\text{j}}$$
    $${\text{T}}_{{{\text{C}}_{\text{i}}^{{\left( {{\text{s}} + 1} \right)}} ,{\text{C}}_{\text{i}}^{{\left( {{\text{s}} + 1} \right)}} }} = {\text{T}}_{{{\text{C}}_{\text{i}}^{{\left( {\text{s}} \right)}} , {\text{C}}_{\text{i}}^{{\left( {\text{s}} \right)}} }} + {\text{T}}_{{{\text{C}}_{\text{i}}^{{\left( {\text{s}} \right)}} , {\text{C}}_{\text{j}}^{{\left( {\text{s}} \right)}} }} + {\text{T}}_{{{\text{C}}_{\text{j}}^{{\left( {\text{s}} \right)}} , {\text{C}}_{\text{i}}^{{\left( {\text{s}} \right)}} }} + {\text{T}}_{{{\text{C}}_{\text{j}}^{{\left( {\text{s}} \right)}} , {\text{C}}_{\text{j}}^{{\left( {\text{s}} \right)}} }}$$

    and the travel time \({\text{t}}_{{{\text{C}}_{\text{i}}^{{\left( {{\text{s}} + 1} \right)}} , {\text{C}}_{\ell}^{{\left( {\text{s}} \right)}} }}\) for each \({\text{C}}_{\ell }^{{\left( {\text{s}} \right)}} \in {\mathbf{C}}^{{\left( {\text{s}} \right)}}\) as:

    $${\text{t}}_{{{\text{C}}_{\text{i}}^{{\left( {{\text{s}} + 1} \right)}} ,{\text{C}}_{\ell }^{{\left( {\text{s}} \right)}} }} = \frac{{{\text{T}}_{{{\text{C}}_{\text{i}}^{{\left( {\text{s}} \right)}} , {\text{C}}_{\ell}^{{\left( {\text{s}} \right)}} }} + {\text{T}}_{{{\text{C}}_{\ell}^{{\left( {\text{s}} \right)}} , {\text{C}}_{\text{i}}^{{\left( {\text{s}} \right)}} }} }}{{{\text{T}}_{{{\text{C}}_{\text{i}}^{{\left( {\text{s + 1}} \right)}} , {\text{C}}_{\ell}^{{\left( {\text{s}} \right)}} }} + {\text{T}}_{{{\text{C}}_{\ell}^{{\left( {\text{s}} \right)}} , {\text{C}}_{\text{i}}^{{\left( {\text{s + 1}} \right)}} }} }}{\text{t}}_{{{\text{C}}_{\text{i}}^{{\left( {\text{s}} \right)}} , {\text{C}}_{\ell}^{{\left( {\text{s}} \right)}} }} + \frac{{{\text{T}}_{{{\text{C}}_{\text{j}}^{{\left( {\text{s}} \right)}} , {\text{C}}_{\ell}^{{\left( {\text{s}} \right)}} }} + {\text{T}}_{{{\text{C}}_{\ell}^{{\left( {\text{s}} \right)}} , {\text{C}}_{\text{j}}^{{\left( {\text{s}} \right)}} }} }}{{{\text{T}}_{{{\text{C}}_{\text{i}}^{{\left( {\text{s + 1}} \right)}} , {\text{C}}_{\ell}^{{\left( {\text{s}} \right)}} }} + {\text{T}}_{{{\text{C}}_{\ell}^{{\left( {\text{s}} \right)}} , {\text{C}}_{\text{i}}^{{\left( {\text{s + 1}} \right)}} }} }}{\text{t}}_{{{\text{C}}_{\text{j}}^{{\left( {\text{s}} \right)}} , {\text{C}}_{\ell}^{{\left( {\text{s}} \right)}} }} \quad {\text{if}}\ \hbox{max} \, \left\{ {{\text{T}}_{{{\text{C}}_{\text{i}}^{{\left( {{\text{s}} + 1} \right)}} , {\text{C}}_{\ell}^{{\left( {\text{s}} \right)}} }} ,{\text{T}}_{{{\text{C}}_{\ell}^{{\left( {\text{s}} \right)}} , {\text{C}}_{\text{i}}^{{\left( {{\text{s}} + 1} \right)}} }} } \right\} \, > 0$$
    $${\text{t}}_{{{\text{C}}_{\text{i}}^{{\left( {\text{s + 1}} \right)}} , {\text{C}}_{\ell}^{{\left( {\text{s}} \right)}} }} = \frac{{{\text{T}}_{{{\text{C}}_{\text{i}}^{{\left( {\text{s}} \right)}} , {\text{C}}^{{\left( {\text{s}} \right)}} }} + {\text{T}}_{{{\text{C}}^{{\left( {\text{s}} \right)}} , {\text{C}}_{\text{i}}^{{\left( {\text{s}} \right)}} }} }}{{{\text{T}}_{{{\text{C}}_{\text{i}}^{{\left( {\text{s + 1}} \right)}} , {\text{C}}^{{\left( {\text{s}} \right)}} }} + {\text{T}}_{{{\text{C}}^{{\left( {\text{s}} \right)}} , {\text{C}}_{\text{i}}^{{\left( {\text{s + 1}} \right)}} }} }}{\text{t}}_{{{\text{C}}_{\text{i}}^{{\left( {\text{s}} \right)}} , {\text{C}}_{\ell}^{{\left( {\text{s}} \right)}} }} + \frac{{{\text{T}}_{{{\text{C}}_{\text{j}}^{{\left( {\text{s}} \right)}} , {\text{C}}^{{\left( {\text{s}} \right)}} }} + {\text{T}}_{{{\text{C}}^{{\left( {\text{s}} \right)}} , {\text{C}}_{\text{j}}^{{\left( {\text{s}} \right)}} }} }}{{{\text{T}}_{{{\text{C}}_{\text{i}}^{{\left( {\text{s + 1}} \right)}} , {\text{C}}^{{\left( {\text{s}} \right)}} }} + {\text{T}}_{{{\text{C}}^{{\left( {\text{s}} \right)}} , {\text{C}}_{\text{i}}^{{\left( {\text{s + 1}} \right)}} }} }}{\text{t}}_{{{\text{C}}_{\text{j}}^{{\left( {\text{s}} \right)}} , {\text{C}}_{\ell}^{{\left( {\text{s}} \right)}} }} \quad {\text{if}}\ \hbox{max} \, \left\{ {{\text{T}}_{{{\text{C}}_{\text{i}}^{{\left( {\text{s + 1}} \right)}} , {\text{C}}_{\ell}^{{\left( {\text{s}} \right)}} }} , {\text{T}}_{{{\text{C}}_{\ell}^{{\left( {\text{s}} \right)}} , {\text{C}}_{\text{i}}^{{\left( {\text{s + 1}} \right)}} }} } \right\} \, = 0$$

    put n(s+1) = n(s) − 1, s = s + 1 and go to step 1.

Once the algorithm has finished in a sth stage, set K = n(s), \({\text{C}}_{\text{i}} = {\text{C}}_{\text{i}}^{{\left( {\text{s}} \right)}}\) and \({\mathbf{C}} = {\mathbf{C}}^{{ ( {\text{s)}}}}\) and we obtain the set of initial configurations C = {C1,…, CK}.

Appendix 3: Initialization algorithm

The details of the algorithm are the followings:

  • Step 0 (Fix the parameters) Fix α1 > 1 and 0 < α2 < 1, which allow us to select the configuration that will be the foci. Let np be the size of the initial population for the genetic algorithm to be generated.

  • Step 1 (Calculate JR and SC) Starting from C = {C1,…, CK} the JR and the SC are calculated for each configuration:

    $${\text{JR}}_{\text{i}} = \frac{{{\text{T}}_{{{\mathbf{C}},{\text{C}}_{\text{i}} }} }}{{{\text{T}}_{{{\text{C}}_{\text{i}} ,{\mathbf{C}}}} }}\;{\text{and}}\;{\text{SC}}_{\text{i}} = \frac{{{\text{T}}_{{{\text{C}}_{\text{i}} , {\text{C}}_{\text{i}} }} }}{{{\text{T}}_{{{\text{C}}_{\text{i}} ,{\mathbf{C}}}} }}\quad {\text{for i}} = 1, \ldots ,{\text{K}}$$
  • Step 2 (Build the n p individuals)

    For s = 1, …, np do the following steps 2.1–2.3:

    • Step 2.1. (Generate α 1 and α 2 ) Draw \(\alpha_{1}^{{ ( {\text{s)}}}}\) from a Unif(1,α1) and \(\alpha_{2}^{{ ( {\text{s)}}}}\) from a Unif(α2,1) where Unif(a,b) a < b ∈ R denotes the uniform distribution in (a,b)

    • Step 2.2. (Determinate the foci) Build F (s) = {Ci: JRi ≥ \(\alpha_{1}^{{ ( {\text{s)}}}}\) or SCi ≥ \(\alpha_{2}^{{ ( {\text{s}})}}\)}

    • Step 2.3. (Determinate the markets)

      For each Ci ∈ F (s) build:

      $${\text{M}}_{\text{i}}^{{ ( {\text{s)}}}} = \left\{ {{\text{Cj}} \in {\text{C}}:\prod ({\text{Ci}},{\text{Cj}}) = \max_{{{\text{C}}_{\text{k}} \in {\text{F}}^{{ ( {\text{s)}}}} }} \prod \left( {{\text{C}}_{\text{k}} , {\text{C}}_{\text{j}} } \right)} \right\}$$

      where Π(Ci,Cj) = \(\frac{{{\text{T}}_{{{\text{C}}_{\text{i}} , {\text{C}}_{\text{j}} }}^{ 2} }}{{{\text{T}}_{{{\text{C}}_{\text{i}} ,{\mathbf{C}}}} {\text{T}}_{{{\mathbf{C}},{\text{C}}_{\text{j}} }} }} + \frac{{{\text{T}}_{{{\text{C}}_{\text{j}} , {\text{C}}_{\text{i}} }}^{ 2} }}{{{\text{T}}_{{{\text{C}}_{\text{i}} ,{\mathbf{C}}}} {\text{T}}_{{{\mathbf{C}},{\text{C}}_{\text{j}} }} }}\)

As a result of the algorithm we obtain a set of np initial markets M (s) = \(\{ {{\text{M}}_{\text{i}}^{{ ( {\text{s)}}}} ;{\text{i}}:{\text{C}}_{\text{i}} \in {\mathbf{F}}^{{ ( {\text{s)}}}} } \}\) s = 1,…, np that are taken as the initial population for the genetic algorithm.

Parameters α1 and α2 determine the minimum JR and SC values required for a BSU to be a potential focus. Given that JR and SC are not very high in Aragón, in our empirical example we have chosen α1 = 1.3 and α2 = 0.55.

Appendix 4: Partitioning algorithm

Let S = {S (p); p = 1,…, P} be the set of solutions obtained by the EA where S (p) = \(\{ {{\text{S}}_{\ell }^{{ ( {\text{p)}}}} ;\ell = 1, \ldots ,{\text{n}}^{{ ( {\text{p)}}}} } \}\); p = 1,…, P and let \({\text{FS}}_{\ell }^{{ ( {\text{p)}}}}\) be the element of \({\text{S}}_{\ell }^{{ ( {\text{p)}}}}\) with larger population that will be named focus. We denote by M (s) = \(\{ {{\text{M}}_{\text{i}}^{{ ( {\text{s)}}}} ;{\text{i}} = 1, \ldots ,{\text{m}}^{{ ( {\text{s)}}}} } \}\) the partition in LLMs obtained at the sth iteration of the algorithm and by F (s) = \(\{ {{\text{F}}_{\text{i}}^{{ ( {\text{s)}}}} ;{\text{i}} = 1, \ldots ,{\text{m}}^{{ ( {\text{s)}}}} } \}\) the set of foci where \(\text{F}_{i}^{(s)}\) is the focus of the market \(\text{M}_{i}^{(s)}\).

The algorithm consists of the following steps:

  • Step 0 (Initialization)

    Fix porc_min = 100 the minimum percentage of solutions that will have to include a given BSU in order to become eligible as a focus of a LLM and Δ the decrement of the values of porc_min. We denote LLM the set of LLMs partitions and SF the set of foci. Set LLM (0) = ∅ and SF (0) = ∅. Set t (number of iterations) equals to 1.

  • Step 1 (Initial selection of foci)

    Calculate, for each Bi ∈ B, the percentage of solutions of S where Bi appears as a focus of a market that is given by:

    $${\text{porc}}_{\text{i}} = 100\frac{{{\text{Card }}\left( {\left\{ {{\text{p}} \in \{ 1, \ldots ,{\text{P}}\} :\exists \ell \in \{ 1, \ldots ,{\text{n}}^{{ ( {\text{p)}}}} \} {\text{ with FS}}_{\ell }^{{ ( {\text{p)}}}} = {\text{B}}_{\text{i}} } \right\}} \right)}}{\text{P}}$$

    Build F (0) = {Bi ∈ B : porci ≥ porc_min} and m(0) = Card(F (0)). Put s = 0.

  • Step 2 (Delimitation of markets)

    For j = 1,…, m(s) build:

    $${\text{M}}_{\text{j}}^{{ ( {\text{s)}}}} = \left\{{{\text{B}}_{\text{i}} \in {\mathbf{B}}:{\text{porc\_enc}}_{\text{i,j}}^{{ ( {\text{s)}}}} = \max_{{1 \, \le {\text{ k }} \le {\text{ m}}^{{ ( {\text{s)}}}} }} {\text{porc\_enc}}_{\text{i,k}}^{{ ( {\text{s)}}}} } \right\}$$

    where \({\text{porc\_enc}}_{\text{i,k}}^{{ ( {\text{s)}}}} = 100\frac{\text{Card}\left( \left \{ \text{p} \in \left \{\text{1,} \ldots , \text{P} \right \} : \exists \ell \in \left \{\text{1,} \ldots , \text{n}^{\text{(p)}} \right \} \ \text{with} \ \text{B}_{\text{i}} , {\text{F}}_{\text{k}}^{\text{(s)}} \in {\text{S}_{\ell }^{ \text{(p)}}} \right \} \right)}{\text{P}}\)is the percentage of solutions of S in which Bi and the focus \(F_{k}^{(s)}\) are placed within the same market. In case of ties, Bi will be assigned to the market whose focus is closer in terms of commuting time.

  • Step 3 (Update of foci)

    Build F (s+1) = \(\{ {\text{F}_{i}^{{\left( {s + 1} \right)}} ;i = 1, \ldots ,\text{m}^{(s)} } \}\) where \({\text{F}}_{\text{i}}^{{({\text{s}} + 1)}}\) is the BSU of the market \({\text{M}}_{\text{i}}^{{ ( {\text{s)}}}}\) with the largest resident occupied population. If F (s) = F (s+1), go to step 4. Otherwise set m(s+1) = m(s), put s = s + 1 and go to step 2.

  • Step 4 (Validity of the solution)

    The validity of the solution M = M (s) is analyzed, i.e., it is checked if M satisfies (1)–(3). When these constraints are not satisfied, the algorithm stop. Otherwise the connectivity of the solution is analyzed. To that aim we consider for each BSU Bi its connection with the focus F of the market M ∈ M where the unit is placed, that is to say, we analyze the existence of a path {\({\text{Path}}_{\ell }^{{\prime }}\); ℓ = 1,…, k} ⊆ M such that Path1 = Bi, Pathk = F and Pathℓ+1 ∈ L(Path). When that path does not exist, Bi is reassigned to the market M′ ∈ M with focus F’ connected to Bi and such that the commuting time is minimum. This step is repeated until each Bi is placed in a market. If the new solution M′ satisfies (1)–(3) set LLM (t) = M′ the obtained solution and SF (t) = F′ the foci of markets in M′ and go to Step 5; otherwise, stop the algorithm.

  • Step 5 (Decrease of porc_min)

    If LLM(t − 1) ≠ LLM(t) set LLM = LLM ∪ {LLM(t)}, SF = SF{SF (t)}. Set porc_min = porc_min − Δ. If porc_min > 0, set t = t + 1 and go to step 1. Otherwise stop the algorithm.

The algorithm provides a ranking of foci SF = \(\{ {{\mathbf{SF}}^{{\left( {{\text{t}}_{\text{i}} } \right)}} ; \, 1 \le t_{1} < t_{2} < \cdots < t_{m} } \}\) sorted by the values of porc_min where each focus was first selected. This information can be useful for planners in order to make decisions about the most appropriate locations for community, social and administrative services by taking into account the labor mobility patterns of the citizens.

In the empirical example, this algorithm was applied with Δ = 1 and stopped when the porc_min < 58 with m = 10 possible LLMs delimitations.

Other cluster methods can be applied.Footnote 5 However, in our experience the above algorithm is quick and efficient.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Alonso, M.P., Beamonte, M.A., Gargallo, P. et al. Evolutionary and classification methods for local labor markets delineation. Comput Math Organ Theory 22, 444–466 (2016). https://doi.org/10.1007/s10588-015-9208-7

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10588-015-9208-7

Keywords

Navigation