Cookies Policy
The website need some cookies and similar means to function. If you permit us, we will use those means to collect data on your visits for aggregated statistics to improve our service. Find out More
Accept Reject
  • Menu
Publications

Publications by João Pedro Pedroso

2006

ODAC: Hierarchical Clustering of Time Series Data Streams

Authors
Rodrigues, PP; Gama, J; Pedroso, JP;

Publication
PROCEEDINGS OF THE SIXTH SIAM INTERNATIONAL CONFERENCE ON DATA MINING

Abstract
This paper presents a time series whole clustering system that incrementally constructs a tree-like hierarchy of clusters, using a top-down strategy. The Online Divisive-Agglomerative Clustering (ODAC) system uses a correlation-based dissimilarity measure between time series over a data stream and possesses an agglomerative phase to enhance a dynamic behavior capable of concept drift detection. Main features include splitting and agglomerative criteria based on the diameters of existing clusters and supported by a. significance level. At each new example, only the leaves are updated, reducing computation of unneeded dissimilarities and speeding up the process every time the structure grows. Experimental results on artificial and real data suggest competitive performance on clustering time series and show that the system is equivalent to a batch divisive clustering on stationary time series, being also capable of dealing with concept drift. With this work, we assure the possibility and importance of hierarchical incremental time series whole clustering in the data stream paradigm, presenting a. valuable and usable option.

2009

Khronos - a High-level Framework for Discrete Event Simulation in Python

Authors
Rei, RJ; Madera, PJ; Pedroso, JP;

Publication
CIE: 2009 INTERNATIONAL CONFERENCE ON COMPUTERS AND INDUSTRIAL ENGINEERING, VOLS 1-3

Abstract
In this paper we present Khronos, a framework for Discrete Event Simulation (DES) in Python. Its essential objective is to provide a powerful, general, and easy-to-use tool for simulation programmers/users. In the form of a programming library, Khronos accomplishes a seamless combination of DES with Python, taking advantage of many of the language's features in addition to maintaining its generality, power, and simplicity. The final product is a framework which releases the user from the low-level details of DES (e.g., managing the event schedule, simulation clock, or real-time synchronization), also providing base classes for entities/resources, and a flexible set of primitives for describing the dynamic behaviors of these elements. Most importantly, the resulting simulation programs are intuitive to write, and inherently very readable. We highlight the main features of the Khronos library in a tutorial manner, presenting a simple illustrative example.

2004

Random start local search and tabu search for a discrete lot-sizing and scheduling problem

Authors
Pereira, A; Carvalho, F; Constantino, M; Pedroso, JP;

Publication
METAHEURISTICS: COMPUTER DECISION-MAKING

Abstract
In this paper we describe random start local search and tabu search for solving a multi-item, multi-machine discrete lot sizing and scheduling problem with sequence dependent changeover costs. We present two construction heuristics with a random component; one of them is purely random and another is based on the linear programming relaxation of the mixed integer programming model. They are used to generate initial solutions for random start local search and tabu search. We also propose two ways of exploring the neighborhoods, one based on a random subset of the neighborhood, and another based on exploring the whole neighborhood. Construction and improvement methods were combined on random start local search and tabu search, leading to a total of eight different methods. We present results of extensive computer experiments for analyzing the performance of all methods and their comparison with branch-and-bound, and conclude with some remarks on the different approaches to the problem.

2004

GRASP for linear integer programming

Authors
Neto, T; Pedroso, JP;

Publication
METAHEURISTICS: COMPUTER DECISION-MAKING

Abstract
In this paper, we introduce a GRASP for the solution of general linear integer problems. The strategy is based on the separation of the set of variables into the integer subset and the continuous subset. The integer variables are fixed by GRASP and replaced in the original linear problem. If the original. problem had continuous variables, it becomes a pure continuous problem, which can be solved by a linear program solver to determine the objective value corresponding to the fixed variables. If the original problem was a pure integer problem, simple algebraic manipulations can be used to determine the objective value that corresponds to the fixed variables. When we assign values to integer variables that lead to an impossible linear problem, the evaluation of the corresponding solution is given by the sum of infeasibilities, together with an infeasibility flag. We report results obtained for some standard benchmark problems, and compare them to those obtained by branch-and-bound and to those obtained by an evolutionary solver.

2002

An Evolutionary Solver for Pure Integer Linear Programming

Authors
Pedroso, JP;

Publication
Int Trans Operational Res - International Transactions in Operational Research

Abstract

2007

Simple metaheuristics using the simplex algorithm for non-linear programming

Authors
Pedroso, JP;

Publication
Engineering Stochastic Local Search Algorithms: Designing, Implementing and Analyzing Effective Heuristics

Abstract
In this paper we present an extension of the Nelder and Mead simplex algorithm for non-linear programming, which makes it suitable for both unconstrained and constrained optimisation.(1) We then explore several extensions of the method for escaping local optima, which make it a simple, yet powerful tool for optimisation of nonlinear functions with many local optima. A strategy which proved to be extremely robust was random start local search, with a correct, though unusual, setup. Actually, for some of the benchmarks, this simple metaheuristic remained the most effective one. The idea is to use a very large simplex at the begin; the initial movements of this simplex are very large, and therefore act as a kind of filter, which naturally drives the search into good areas. We propose two more mechanisms for escaping local optima, which, still being very simple to implement, provide better results for some difficult problems.

  • 10
  • 12