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).
Similar content being viewed by others
Notes
The job-ratio is the number of jobs per resident.
The supply side self-containment is the percentage of resident workers that live and work in the same locality.
We would like to thank one of the referees this suggestion.
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.
References
Alonso MP, Beamonte A, Gargallo P, Salvador M (2008) Mercados locales de trabajo en Aragón. FUNDEAR, Zaragoza
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
Casado-Díaz JM (2000) Local labour market areas in Spain: a case study. Reg Stud 34:843–856
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
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
Chen SH (2002) Evolutionary computation in economics and finance, studies in fuzziness and soft computing. Physica-Verlag, Heidelberg
Chen SH, Wang P (2004) Computational intelligence in economics and finance. Springer, Heidelberg
Coello CA, Lament GB, van Veldhuizen DA (2007) Evolutionary algorithms for solving multi-objective problems, 2nd edn. Springer, Berlin
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
De Jong KA (2006) Evolutionary computation: a unified approach. MIT Press, Cambridge
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
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
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
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
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
Author information
Authors and Affiliations
Corresponding author
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
About this article
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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10588-015-9208-7