Papers by Ricardo C. Corrêa
We study a discrete version of the classical classification problem, to be called geodesic classi... more We study a discrete version of the classical classification problem, to be called geodesic classification problem. It is defined on a graph, where some vertices are initially assigned a class, and the remaining ones must be classified. This vertex partition is grounded on the concept of geodesic convexity on graphs, as a replacement for the Euclidean convexity in the multidimensional space. We propose two integer programming models along with branch-and-cut algorithms to solve them. We also carry out a polyhedral study and run computational experiments to evaluate the proposed approaches.
In the multiprocessor scheduling problem a given program is to be scheduled in a given multiproce... more In the multiprocessor scheduling problem a given program is to be scheduled in a given multiprocessor system such that the program's execution time is minimized. This problem being very hard to solve exactly, many heuristic methods for finding a suboptimal schedule exist. An efficient genetic algorithm which introduces some knowledge about the scheduling problem represented by the use of a list heuristic in the crossover and mutation genetic operations was recently proposed [3]. In this paper, we investigate the efficiency ofthis genetic algorithm from a theoretical point of view. In particular , we demonstrate the ability of the knowledge-augmented crossover operator to generate all the space of feasible solutions.
Theoretical Computer Science, 2017
The maximal sum of a sequence A of n real numbers is the greatest sum of all elements of any line... more The maximal sum of a sequence A of n real numbers is the greatest sum of all elements of any linearly contiguous and possibly empty subsequence of A. It can be computed in O(n) time by means of Kadane's algorithm. Letting A (x→p) denote the sequence which results from inserting a real number x just after element A[p − 1], we show how the maximal sum of A (x→p) can be computed in O(1) worst-case time for any given x and p, provided that an O(n) time preprocessing step has already been executed on A. In particular, this implies that, given m pairs (x0, p0),. .. , (xm−1, pm−1), we can compute the maximal sums of sequences A (x 0 →p 0) ,. .. , A (x m−1 →p m−1) optimally in O(n + m) time, improving on the straightforward and suboptimal strategy of applying Kadane's algorithm to each sequence A (x i →p i) , which takes a total of Θ(nm) time. We also show that the same time bound is attainable when circular subsequences of A (x→p) are taken into account. Our algorithms are easy to implement in practice, and they were motivated by a buffer minimization problem on wireless mesh networks.
Discrete Applied Mathematics, 2017
We propose general separation procedures for generating cuts for the stable set polytope, inspire... more We propose general separation procedures for generating cuts for the stable set polytope, inspired by a procedure by Rossi and Smriglio and applying a lifting method by Xavier and Campêlo. In contrast to existing cut-generating procedures, ours generate both rank and non-rank valid inequalities, hence they are of a more general nature than existing methods. This is accomplished by iteratively solving a lifting problem, which consists of a maximum weighted stable set problem on a smaller graph. Computational experience on DIMACS benchmark instances shows that the proposed approach may be a useful tool for generating cuts for the stable set polytope.
Electronic Notes in Discrete Mathematics, 2015
ABSTRACT In a previous work we have presented a procedure for generating rank and non-rank valid ... more ABSTRACT In a previous work we have presented a procedure for generating rank and non-rank valid inequalities for the stable set polytope based on clique projection and lifting operations. In this work we propose to apply another lifting operation and give some sufficient conditions for this new procedure to generate facet defining inequalities. Computational experience shows that the proposed approach allows to obtain tighter upper bounds for the maximum stable set problem. 1 This work has been artially supported by the STIC/AmSud joint program by CAPES (Brazil), CNRS and MAE (France), CONICYT (Chile) and MINCyT (Argentina) and the Pronem program by FUNCAP/CNPq (Brazil).
Lecture Notes in Computer Science, 1995
Page 1. A Parallel Formulation for General Branch-and-Bound Algorithms* Ricardo Corr~a** LMC - IM... more Page 1. A Parallel Formulation for General Branch-and-Bound Algorithms* Ricardo Corr~a** LMC - IMAG, 46, av. F~lix Viallet, 38031, Grenoble Cedex, France Ricardo. [email protected] Abstract. We consider in this paper the ...
Proceedings of the 2009 Workshop on Component-Based High Performance Computing, 2009
Components and connections are the basis of the CCA model, whereas the way which ports are connec... more Components and connections are the basis of the CCA model, whereas the way which ports are connected to each other is left unspecified. Due to this characteristic, CCA is seen as a low-level component model in a including models that support more sophisticated connections. In this paper, we use the notion of endogenous and exogenous connectors to designate software artifacts that are meant to encapsulate interaction among components at high-level of the component models. Therefore, we describe implementations of exogenous and endogenous connectors with CCA components and their use in some high performance computing applications. Furthermore, we discuss how these implementations can be used to implement some models of parallel computations.
Proceedings of the 2007 symposium on Component and framework technology in high-performance and scientific computing - CompFrame '07, 2007
Abstract Some requirements of high-performance computing (HPC), mainly regarding parallel synchro... more Abstract Some requirements of high-performance computing (HPC), mainly regarding parallel synchronization, are not met by the service connectors of standard commercial component models. Thus, this paper analyzes the usual extensions to the notion of service connector and provides alternative solutions based on type system theory, achieving a higher-level of abstraction. A notion of" abstract connector", adopted by HPE (the# Programming Environment), is presented.
Electronic Notes in Discrete Mathematics, 2013
ABSTRACT Let the maximal sum of a sequence A be the greatest sum of a contiguous and possibly emp... more ABSTRACT Let the maximal sum of a sequence A be the greatest sum of a contiguous and possibly empty subsequence S of A. Given sequences A and X of n and n+1n+1 numbers respectively, let A(i)A(i) be the sequence which results from the insertion of element X[i]X[i] between elements A[i−1]A[i−1] and A[i]A[i] of A. It is known that computing the maximal sum of A(i)A(i) can be done in linear time. We show that the simultaneous computation of the maximal sums of A(0),A(1),…,A(n)A(0),A(1),…,A(n) can also be done in linear time. Such an algorithm has applications to buffer minimization in radio networks.
2012 13th Symposium on Computer Systems, 2012
ABSTRACT With the increasing availability of high-performance massively parallel computer systems... more ABSTRACT With the increasing availability of high-performance massively parallel computer systems, sophisticated scientific simulation has grown rapidly. Besides, the fast growth of high bandwidth wide area networks has allowed the use of PC clusters and/or multiprocessors machines. In order to handle the complexity of such applications, software component technology appears very appealing. However, most current software component models do not provide any support to transparently and efficiently embed parallel code into components. This paper deals with communication between CCA (Common Component Architecture) components and parallel programs to support parallel components. Preliminary performance results are reasonable and just a little overhead is introduced in a pure parallel application.
Handbook of Combinatorial Optimization, 1998
The use of parallel algorithms for solving computationally hard problems becomes attractive as pa... more The use of parallel algorithms for solving computationally hard problems becomes attractive as parallel systems, consisting of a collection of powerful processors, offer large computing power and memory storage capacity. Even though parallelism will not be able to overdue the assumed worst case exponential time or memory complexity of those problems (unless an exponential number of processors is used) [11], the average execution time of heuristic search algorithms which find good suboptimal solutions for many hard problems is polynomial. Consequently, parallel systems, possibly with hundreds or thousands of processors, give us the perspective of efficiently solving relatively large instances of hard problems.
Computing Research Repository - CORR, 2009
We propose a new integer programming formulation for the problem of finding a maximum stable set ... more We propose a new integer programming formulation for the problem of finding a maximum stable set of a graph based on representatives of stable sets. In addition, we investigate exact solutions provided by a Lagrangian decomposition of this formulation in which only one constraint is relaxed. Some computational experiments were carried out with an effective multi-threaded implementation of our algorithm in a multi-core system, and their results are presented.
Parallel Computing, 2003
We propose a parallel and asynchronous approach to give near-optimal solutions to the non-fixed p... more We propose a parallel and asynchronous approach to give near-optimal solutions to the non-fixed point-to-point connection problem. This problem is NP-hard and has practical applications in multicast routing. The technique adopted to solve the problem is an organization of heuristics that communicate with each other by means of a virtually shared memory. This technique is called A-Teams (for Asynchronous Teams). The virtual shared memory is implemented in a physically distributed memory system. Computational results comparing our approach with a branch-and-cut algorithm are presented.
Parallel Computing, 2009
Asynchronous executions of a distributed algorithm differ from each other due to the nondetermini... more Asynchronous executions of a distributed algorithm differ from each other due to the nondeterminism in the order in which the messages exchanged are handled. In many situations of interest, the asynchronous executions induced by restricting nondeterminism are more efficient, in an application-specific sense, than the others. In this work, we define partially ordered executions of a distributed algorithm as the executions satisfying some restricted orders of their actions in two different frameworks, those of the so-called event-and pulse-driven computations. The aim of these restrictions is to characterize asynchronous executions that are likely to be more efficient for some important classes of applications. Also, an asynchronous algorithm that ensures the occurrence of partially ordered executions is given for each case. Two of the applications that we believe may benefit from the restricted nondeterminism are backtrack search, in the event-driven case, and iterative algorithms for systems of linear equations, in the pulse-driven case.
Journal of Discrete Algorithms, 2013
Let A be a sequence of n ≥ 0 real numbers. A subsequence of A is a sequence of contiguous element... more Let A be a sequence of n ≥ 0 real numbers. A subsequence of A is a sequence of contiguous elements of A. A maximum scoring subsequence of A is a subsequence with largest sum of its elements , which can be found in O(n) time by Kadane's dynamic programming algorithm. We consider in this paper two problems involving maximal scoring subsequences of a sequence. Both of these problems arise in the context of buffer memory minimization in computer networks. The first one, which is called INSERTION IN A SEQUENCE WITH SCORES (ISS), consists in inserting a given real number x in A in such a way to minimize the sum of a maximum scoring subsequence of the resulting sequence, which can be easily done in O(n 2) time by successively applying Kadane's algorithm to compute the maximum scoring subsequence of the resulting sequence corresponding to each possible insertion position for x. We show in this paper that the ISS problem can be solved in linear time and space with a more specialized algorithm. The second problem we consider in this paper is the SORTING A SEQUENCE BY SCORES (SSS) one, stated as follows: find a permutation A ′ of A that minimizes the sum of a maximum scoring subsequence. We show that the SSS problem is strongly NP-Hard and give a 2-approximation algorithm for it. * This work is partially supported by FUNCAP/INRIA (Ceará State, Brazil/France) and CNPq (Brazil) research projects. A slightly different version of this paper has been submitted for journal publication. † Partially supported by a doctoral scholarship of CAPES (Programa de Demanda Social). ‡ http://www.lia.ufc.br/˜pargo § Partially supported by a FUNCAP grant.
Electronic Notes in Discrete Mathematics, 2010
We propose an integer programming formulation for the problem of finding the maximum k-partite in... more We propose an integer programming formulation for the problem of finding the maximum k-partite induced sub-graph of a graph G based on representatives of stable sets. We investigate upper bounds provided by the solution, via a parallel sub-gradient algorithm, of a Lagrangian decomposition that breaks up this formulation into maximum weighted stable set problems for sub-graphs of G. Some computational experiments were carried out with an effective multi-threaded parallel implementation in a multi-core system, and their results are presented.
Discrete Applied Mathematics, 2013
A k-fold x-coloring of a graph is an assignment of (at least) k distinct colors from the set {1, ... more A k-fold x-coloring of a graph is an assignment of (at least) k distinct colors from the set {1, 2,. .. , x} to each vertex such that any two adjacent vertices are assigned disjoint sets of colors. The smallest number x such that G admits a k-fold x-coloring is the k-th chromatic number of G, denoted by χ k (G). We determine the exact value of this parameter when G is a web or an antiweb. Our results generalize the known corresponding results for odd cycles and imply necessary and sufficient conditions under which χ k (G) attains its lower and upper bounds based on the clique, the fractional chromatic and the chromatic numbers. Additionally, we extend the concept of χcritical graphs to χ k-critical graphs. We identify the webs and antiwebs having this property, for every integer k ≥ 1.
Discrete Applied Mathematics, 2008
We consider the vertex coloring problem, which can be stated as the problem of minimizing the num... more We consider the vertex coloring problem, which can be stated as the problem of minimizing the number of labels that can be assigned to the vertices of a graph G such that each vertex receives at least one label and the endpoints of every edge are assigned different labels. In this work, the 0-1 integer programming formulation based on representative vertices is revisited to remove symmetry. The previous polyhedral study related to the original formulation is adapted and generalized. New versions of facets derived from substructures of G are presented, including cliques, odd holes and anti-holes and wheels. In addition, a new class of facets is derived from independent sets of G. Finally, a comparison with the independent sets formulation is provided.
Uploads
Papers by Ricardo C. Corrêa