Skip to content

Commit 420ae27

Browse files
committed
added draft of JOSS paper
1 parent a9a7a59 commit 420ae27

File tree

2 files changed

+322
-0
lines changed

2 files changed

+322
-0
lines changed

paper/paper.bib

Lines changed: 219 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,219 @@
1+
@article{campos2005,
2+
author = {Vicente Campos and Manuel Laguna and Rafael Mart\'{i}},
3+
title = {Context-Independent Scatter and Tabu Search for Permutation Problems},
4+
journal = {INFORMS Journal on Computing},
5+
volume = {17},
6+
number = {1},
7+
pages = {111--122},
8+
year = {2005},
9+
doi = {10.1287/ijoc.1030.0057}
10+
}
11+
12+
@inproceedings{caprara1997,
13+
author = {Alberto Caprara},
14+
title = {Sorting by Reversals is Difficult},
15+
booktitle = {Proceedings of the First Annual International Conference on Computational Molecular Biology},
16+
year = {1997},
17+
pages = {75--83},
18+
publisher = {ACM}
19+
}
20+
21+
@article{cicirello2016,
22+
author = {Vincent A. Cicirello},
23+
title = {The Permutation in a Haystack Problem and the Calculus of Search Landscapes},
24+
journal = {IEEE Transactions on Evolutionary Computation},
25+
year = {2016},
26+
month = {June},
27+
volume = {20},
28+
number = {3},
29+
pages = {434--446},
30+
doi = {10.1109/TEVC.2015.2477284}
31+
}
32+
33+
@inproceedings{cicirello2014,
34+
author = {Vincent A. Cicirello},
35+
title = {On the Effects of Window-Limits on the Distance Profiles of Permutation Neighborhood Operators},
36+
booktitle = {Proceedings of the International Conference on Bioinspired Information and Communications Technologies},
37+
month = {December},
38+
year = {2014},
39+
pages = {28--35},
40+
doi = {10.4108/icst.bict.2014.257872}
41+
}
42+
43+
@inproceedings{cicirello2013,
44+
author = {Vincent A. Cicirello and Robert Cernera},
45+
title = {Profiling the Distance Characteristics of Mutation Operators for Permutation-Based Genetic Algorithms},
46+
booktitle = {Proceedings of the 26th International Conference of the Florida Artificial Intelligence Research Society},
47+
publisher = {AAAI Press},
48+
month = {May},
49+
year = {2013},
50+
pages = {46--51}
51+
}
52+
53+
@article{fagin2003,
54+
author = {Ronald Fagin and Ravi Kumar and D. Sivakumar},
55+
title = {Comparing Top k Lists},
56+
journal = {SIAM Journal on Discrete Mathematics},
57+
year = {2003},
58+
volume = {17},
59+
number = {1},
60+
pages = {134--160}
61+
}
62+
63+
@article{hernando2015,
64+
author={Leticia Hernando and Alexander Mendiburu and Jose A. Lozano},
65+
journal={IEEE Transactions on Evolutionary Computation},
66+
title={A Tunable Generator of Instances of Permutation-based Combinatorial Optimization Problems},
67+
year={2016},
68+
volume={20},
69+
number={2},
70+
pages = {165--179},
71+
doi = {10.1109/TEVC.2015.2433680}
72+
}
73+
74+
@inproceedings{fdc,
75+
author = {Terry Jones and Stephanie Forrest},
76+
title = {Fitness Distance Correlation as a Measure of Problem Difficulty for Genetic Algorithms},
77+
booktitle = {Proceedings of the 6th International Conference on Genetic Algorithms},
78+
year = {1995},
79+
pages = {184--192},
80+
publisher = {Morgan Kaufmann}
81+
}
82+
83+
@article{kendall1938,
84+
author = {M. G. Kendall},
85+
title = {A New Measure of Rank Correlation},
86+
journal = {Biometrika},
87+
year = {1938},
88+
month = {June},
89+
volume = {30},
90+
number = {1/2},
91+
pages = {81--93}
92+
}
93+
94+
@article{lee58,
95+
author={C. Lee},
96+
journal={IRE Transactions on Information Theory},
97+
title={Some properties of nonbinary error-correcting codes},
98+
year={1958},
99+
volume={4},
100+
number={2},
101+
pages={77--82},
102+
month={June},
103+
doi = {10.1109/TIT.1958.1057446}
104+
}
105+
106+
@incollection{marti2005,
107+
author = {Mart\'{i}, Rafael and Laguna, Manuel and Campos, Vicente},
108+
title = {Scatter Search vs. Genetic Algorithms: An Experimental Evaluation with Permutation Problems},
109+
booktitle = {Metaheuristic Optimization via Memory and Evolution},
110+
publisher = {Springer},
111+
pages = {263--282},
112+
year = {2005}
113+
}
114+
115+
@article{meila2010,
116+
author = {Marina Meil\u{a} and Le Bao},
117+
title = {An Exponential Model for Infinite Rankings},
118+
journal = {Journal of Machine Learning Research},
119+
pages = {3481--3518},
120+
year = {2010},
121+
volume = {11}
122+
}
123+
124+
@book{mitchell,
125+
title={An Introduction to Genetic Algorithms},
126+
author={Melanie Mitchell},
127+
year={1998},
128+
publisher= {MIT Press}
129+
}
130+
131+
@inproceedings{ronald1998,
132+
author = {Simon Ronald},
133+
booktitle = {Proceedings of the IEEE Congress on Evolutionary Computation},
134+
pages = {558--563},
135+
title = {More Distance Functions for Order-based Encodings},
136+
year = {1998},
137+
publisher = {IEEE Press}
138+
}
139+
140+
@inproceedings{ronald1997,
141+
author = {Simon Ronald},
142+
booktitle = {Proceedings of the IEEE Congress on Evolutionary Computation},
143+
pages = {49--54},
144+
title = {Distance Functions for Order-based Encodings},
145+
year = {1997},
146+
publisher = {IEEE Press}
147+
}
148+
149+
@inproceedings{ronald1995,
150+
author = {Simon Ronald},
151+
title = {Finding Multiple Solutions with an Evolutionary Algorithm},
152+
year = {1995},
153+
booktitle = {Proceedings of the IEEE Congress on Evolutionary Computation},
154+
pages = {641--646},
155+
publisher = {IEEE Press}
156+
}
157+
158+
@article{schiavinotto2007,
159+
title = {A review of metrics on permutations for search landscape analysis},
160+
journal = {Computers \& Operations Research},
161+
volume = {34},
162+
number = {10},
163+
pages = {3143 - 3153},
164+
year = {2007},
165+
author = {Tommaso Schiavinotto and Thomas St{\"u}tzle},
166+
doi = {10.1016/j.cor.2005.11.022}
167+
}
168+
169+
@inproceedings{sevaux2005,
170+
author = {Marc Sevaux and Kenneth S\"{o}rensen},
171+
title = {Permutation Distance Measures for Memetic Algorithms with Population Management},
172+
booktitle = {Proceedings of the Metaheuristics International Conference (MIC2005)},
173+
year = {2005},
174+
pages = {832--838},
175+
month = {August}
176+
}
177+
178+
@article{sorensen07,
179+
author = {Kenneth S\"{o}rensen},
180+
title = {Distance measures based on the edit distance for permutation-type representations},
181+
journal = {Journal of Heuristics},
182+
volume = {13},
183+
number = {1},
184+
month = {February},
185+
year = {2007},
186+
pages = {35--47},
187+
publisher = {Kluwer Academic Publishers},
188+
doi = {10.1007/s10732-006-9001-3}
189+
}
190+
191+
@article{tayarani2014,
192+
author={Mohammad-H. Tayarani-N and Adam Prugel-Bennett},
193+
journal={IEEE Transactions on Evolutionary Computation},
194+
title={On the Landscape of Combinatorial Optimization Problems},
195+
year={2014},
196+
volume={18},
197+
number={3},
198+
pages={420-434},
199+
doi = {10.1109/TEVC.2013.2281502}
200+
}
201+
202+
@article{wagner74,
203+
author = {Robert A. Wagner and Michael J. Fischer},
204+
title = {The String-to-String Correction Problem},
205+
journal = {Journal of the ACM},
206+
volume = {21},
207+
number = {1},
208+
month = {January},
209+
year = {1974},
210+
pages = {168--173}
211+
}
212+
213+
214+
215+
216+
217+
218+
219+

paper/paper.md

Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
---
2+
title: 'JavaPermutationTools: A Java Library of Permutation Distance Metrics'
3+
tags:
4+
- Java
5+
- permutation distance
6+
- permutation metric
7+
- fitness landscape analysis
8+
- evolutionary population management
9+
authors:
10+
- name: Vincent A. Cicirello
11+
orcid: 0000-0003-1072-8559
12+
affiliation: 1
13+
affiliations:
14+
- name: Computer Science, School of Business, Stockton University, Galloway, NJ 08205
15+
index: 1
16+
date: 8 August 2018
17+
bibliography: paper.bib
18+
---
19+
20+
# Summary
21+
22+
Permutations are used to represent a wide variety of ordered data. For example,
23+
a permutation may represent an individual's preferences (or ranking) of a collection
24+
of products such as books or music. Or perhaps a permutation may represent a route
25+
for delivering a set of packages. Permutations can also represent one-to-one mappings
26+
between sets (e.g., instructors to courses at a fixed time). There are applications
27+
where measuring the distance between a pair of permutations is necessary. For example,
28+
a recommender system may want to compare the similarity of two individuals' preferences
29+
for music, perhaps to make song recommendations. Depending upon the application,
30+
the permutation features most important to distance calculation may be one or more of
31+
the absolute positions of the elements (e.g., for one-to-one mappings), the adjacency
32+
of elements (e.g., the earlier routing example), or the general precedence of pairs of
33+
elements (e.g., music preference example). Thus, it should be no surprise that there
34+
exists a large variety of permutation distance metrics in the research literature.
35+
36+
The motivation and origin of this library of permutation distance metrics is our research
37+
on evolutionary computation, and other metaheuristic approaches, for solving permutation
38+
optimization problems. A permutation optimization problem is a problem where solutions
39+
are represented by permutations of the elements of some set, and where the objective is to
40+
maximize or minimize some function. For example, a solution to a traveling salesperson
41+
problem (TSP) is a permutation of the set of cities, and the objective is to find the
42+
permutation that corresponds to the tour of the cities of minimal cost.
43+
44+
There are at least two applications of permutation distance that come from evolutionary
45+
computation. The first application is to maintain population diversity. The various forms
46+
of evolutionary computation, such as genetic algorithms, genetic programming, etc, solve
47+
problems through simulated evolutionary processes [@mitchell]. They maintain a population of solutions
48+
to the problem at hand, and this population evolves over many generations using operators
49+
such as mutation, crossover, etc. Just as it is in natural evolution, a diverse gene
50+
pool is important to evolutionary computation. In later generations, if variation among
51+
the members of the population declines, then the evolutionary search can stagnate. Approaches
52+
to population management [@sevaux2005], such as in scatter search [@campos2005; @marti2005],
53+
attempt to maintain diversity among the population of solutions. They require a means of
54+
measuring distance between population members. And if the problem is one in which solutions are
55+
represented as permutations, then a permutation distance metric is required.
56+
57+
The second application of permutation distance for evolutionary computation is that of search
58+
landscape analysis. A fitness (or search) landscape [@mitchell] is the space of possible
59+
solutions to an optimization problem spatially organized on a landscape with similar solutions
60+
as neighbors, and where elevation corresponds to fitness (or solution quality). Peaks (for
61+
a maximization problem) and valleys (for a minimization problem) correspond to locally optimal
62+
solutions. The optimization problem is to find an optimal point on that landscape. Search
63+
landscape analysis is the term covering the theoretical and practical techniques for studying what
64+
characteristics of a problem make it hard, how different search operators affect fitness landscape
65+
topology, among others. There is a wide variety of work on fitness landscape analysis, including
66+
for permutation landscapes [@cicirello2016; @hernando2015; @tayarani2014; @cicirello2014; @cicirello2013; @sorensen07; @schiavinotto2007].
67+
Some fitness landscape analysis techniques use fitness distance correlation (FDC) [@fdc], the Pearson
68+
correlation coefficient of the fitness of a solution vs its distance to the nearest optimal solution.
69+
The search landscape calculus [@cicirello2016] is a fitness landscape analysis technique that examines
70+
local rates of change of fitness. These as well as others require distance metrics for the type of
71+
structure you are optimizing.
72+
73+
During the course of our research on fitness landscape analysis for permutation optimization
74+
problems [@cicirello2016; @cicirello2014; @cicirello2013], we developed a Java library of permutation
75+
distance metrics. Most of the distance metrics in the literature are described mathematically with
76+
no source code available. Thus, our library offers convenient access to efficient implementations of
77+
a variety of distance metrics that share a common programmatic interface. The following table
78+
summarizes the distances available in this initial release of the library, along with their runtime,
79+
whether they satisfy the requirements of a metric, and one or more key citations.
80+
81+
Distance | Runtime | Metric? | Citations
82+
-------- | ------- | ------- | ---------
83+
acyclic edge distance | $O(n)$ | pseudo | [@ronald1997; @ronald1995]
84+
cyclic edge distance | $O(n)$ | pseudo | [@ronald1997; @ronald1995]
85+
cyclic r-type distance | $O(n)$ | pseudo | [@cicirello2016]
86+
deviation distance | $O(n)$ | yes | [@cicirello2016; @campos2005]
87+
deviation distance normalized | $O(n)$ | yes | [@ronald1998; @sorensen07]
88+
edit distance | $O(n^2)$ | yes | [@wagner74; @sorensen07]
89+
exact match distance | $O(n)$ | yes | [@ronald1998]
90+
interchange distance | $O(n)$ | yes | [@cicirello2013]
91+
Kendall tau distance | $O(n^2)$ | yes | [@kendall1938; @meila2010; @fagin2003]
92+
Lee distance | $O(n)$ | yes | [@lee58]
93+
r-type distance | $O(n)$ | yes | [@campos2005; @marti2005]
94+
reinsertion distance | $O(n^2)$ | yes | [@cicirello2016; @cicirello2013]
95+
reversal distance | Init: $O(n!n^3)$ Compute: $O(n^2)$ | yes | [@cicirello2016; @caprara1997]
96+
squared deviation distance | $O(n)$ | yes | [@sevaux2005]
97+
98+
The source repository (https://github.com/cicirello/JavaPermutationTools)
99+
contains source code of the library, programs that provide example
100+
usage of key functionality, as well as programs that reproduce results from papers that
101+
have used the library. API documentation is hosted on the web (https://jpt.cicirello.org/).
102+
103+
# References

0 commit comments

Comments
 (0)