2019
Ferrer, Javier; López-Ibáñez, Manuel; Alba, Enrique
Reliable simulation-optimization of traffic lights in a real-world city Journal Article
In: Applied Soft Computing Journal, vol. 78, pp. 697–711, 2019, ISSN: 15684946.
Abstract | Links | BibTeX | Tags: Metaheuristics, Optimization, Simulation, Traffic-light planning, Uncertainty
@article{Ferrer2019,
title = {Reliable simulation-optimization of traffic lights in a real-world city},
author = {Javier Ferrer and Manuel López-Ibá{ñ}ez and Enrique Alba},
url = {https://linkinghub.elsevier.com/retrieve/pii/S1568494619301346},
doi = {10.1016/j.asoc.2019.03.016},
issn = {15684946},
year = {2019},
date = {2019-03-01},
journal = {Applied Soft Computing Journal},
volume = {78},
pages = {697--711},
abstract = {In smart cities, when the real-time control of traffic lights is not possible, the global optimization of traffic-light programs (TLPs) requires the simulation of a traffic scenario (traffic flows across the whole city) that is estimated after collecting data from sensors at the street level. However, the highly dynamic traffic of a city means that no single traffic scenario is a precise representation of the real system, and the fitness of any candidate solution (traffic-light program) will vary when deployed on the city. Thus, ideal TLPs should not only have an optimized fitness, but also a high reliability, i.e., low fitness variance, against the uncertainties of the real-world. Earlier traffic-light optimization methods, e.g., based on genetic algorithms, often simulate a single traffic scenario, which neglects variance in the real-world, leading to TLPs not optimized for reliability. Our main contributions in this work are the following: (a) the analysis of the importance of reliable solutions for TLP optimization, even when all traffic scenarios are consistent with the real-world data and highly correlated; (b) the adaptation of IRACE, an iterated racing algorithm that is able to dynamically adjust the number of traffic scenarios required to evaluate the fitness of TLPs and their reliability; (c) the use of a large real-world case study for which real-time control is not possible and where data was obtained from sensors at the street level; and (d) a thorough analysis of solutions generated by means of IRACE, a Genetic Algorithm, a Differential Evolution, a Particle Swarm Optimization and a Random Search. This analysis shows that simple strategies that simulate multiple traffic scenarios are able to obtain optimized solutions with improved reliability; however, the best results are obtained by IRACE, among the algorithms evaluated.},
keywords = {Metaheuristics, Optimization, Simulation, Traffic-light planning, Uncertainty},
pubstate = {published},
tppubtype = {article}
}
2017
Morales, Rodrigo; é, Z; Khomh, Foutse; Antoniol, Giuliano; Chicano, Francisco
On the use of developerstextquoteright context for automatic refactoring of software anti-patterns Journal Article
In: Journal of Systems and Software, vol. 128, pp. 236-251, 2017, ISSN: 0164-1212.
Abstract | Links | BibTeX | Tags: Metaheuristics
@article{290,
title = {On the use of developerstextquoteright context for automatic refactoring of software anti-patterns},
author = {Rodrigo Morales and Z é and Foutse Khomh and Giuliano Antoniol and Francisco Chicano},
url = {http://www.sciencedirect.com/science/article/pii/S0164121216300632},
doi = {http://dx.doi.org/10.1016/j.jss.2016.05.042},
issn = {0164-1212},
year = {2017},
date = {2017-06-01},
journal = {Journal of Systems and Software},
volume = {128},
pages = {236-251},
abstract = {Abstract Anti-patterns are poor solutions to design problems that make software systems hard to understand and extend. Entities involved in anti-patterns are reported to be consistently related to high change and fault rates. Refactorings, which are behavior preserving changes are often performed to remove anti-patterns from software systems. Developers are advised to interleave refactoring activities with their regular coding tasks to remove anti-patterns, and consequently improve software design quality. However, because the number of anti-patterns in a software system can be very large, and their interactions can require a solution in a set of conflicting objectives, the process of manual refactoring can be overwhelming. To automate this process, previous works have modeled anti-patterns refactoring as a batch process where a program provides a solution for the total number of classes in a system, and the developer has to examine a long list of refactorings, which is not feasible in most situations. Moreover, these proposed solutions often require that developers modify classes on which they never worked before (i.e., classes on which they have little or no knowledge). To improve on these limitations, this paper proposes an automated refactoring approach, ReCon (Refactoring approach based on task Context), that leverages information about a developertextquoterights task (i.e., the list of code entities relevant to the developertextquoterights task) and metaheuristics techniques to compute the best sequence of refactorings that affects only entities in the developertextquoterights context. We mine 1705 task contexts (collected using the Eclipse plug-in Mylyn) and 1013 code snapshots from three open-source software projects (Mylyn, PDE, Eclipse Platform) to assess the performance of our proposed approach. Results show that ReCon can remove more than 50% of anti-patterns in a software system, using fewer resources than the traditional approaches from the literature.
},
keywords = {Metaheuristics},
pubstate = {published},
tppubtype = {article}
}