19 research outputs found

    LDRD final report : combinatorial optimization with demands.

    Full text link

    A Local-To-Global Theorem for Congested Shortest Paths

    Get PDF
    P_k such that each P_i is a shortest path from s_i to t_i, and every node in the graph is on at most c paths P_i, or reporting that no such collection of paths exists. When c = k, there are no congestion constraints, and the problem can be solved easily by running a shortest path algorithm for each pair (s_i,t_i) independently. At the other extreme, when c = 1, the (k,c)-SPC problem is equivalent to the k-Disjoint Shortest Paths (k-DSP) problem, where the collection of shortest paths must be node-disjoint. For fixed k, k-DSP is polynomial-time solvable on DAGs and undirected graphs. Amiri and Wargalla interpolated between these two extreme values of c, to obtain an algorithm for (k,c)-SPC on DAGs that runs in polynomial time when k-c is constant. In the same way, we prove that (k,c)-SPC can be solved in polynomial time on undirected graphs whenever k-c is constant. For directed graphs, because of our counterexample to the original theorem statement, our roundtrip local-to-global result does not imply such an algorithm (k,c)-SPC. Even without an algorithmic application, our proof for directed graphs may be of broader interest because it characterizes intriguing structural properties of shortest paths in directed graphs

    Fifth Biennial Report : June 1999 - August 2001

    No full text

    A Local-to-Global Theorem for Congested Shortest Paths

    Full text link
    Amiri and Wargalla (2020) proved the following local-to-global theorem in directed acyclic graphs (DAGs): if GG is a weighted DAG such that for each subset SS of 3 nodes there is a shortest path containing every node in SS, then there exists a pair (s,t)(s,t) of nodes such that there is a shortest stst-path containing every node in GG. We extend this theorem to general graphs. For undirected graphs, we prove that the same theorem holds (up to a difference in the constant 3). For directed graphs, we provide a counterexample to the theorem (for any constant), and prove a roundtrip analogue of the theorem which shows there exists a pair (s,t)(s,t) of nodes such that every node in GG is contained in the union of a shortest stst-path and a shortest tsts-path. The original theorem for DAGs has an application to the kk-Shortest Paths with Congestion cc ((k,ck,c)-SPC) problem. In this problem, we are given a weighted graph GG, together with kk node pairs (s1,t1),…,(sk,tk)(s_1,t_1),\dots,(s_k,t_k), and a positive integer c≤kc\leq k. We are tasked with finding paths P1,…,PkP_1,\dots, P_k such that each PiP_i is a shortest path from sis_i to tit_i, and every node in the graph is on at most cc paths PiP_i, or reporting that no such collection of paths exists. When c=kc=k the problem is easily solved by finding shortest paths for each pair (si,ti)(s_i,t_i) independently. When c=1c=1, the (k,c)(k,c)-SPC problem recovers the kk-Disjoint Shortest Paths (kk-DSP) problem, where the collection of shortest paths must be node-disjoint. For fixed kk, kk-DSP can be solved in polynomial time on DAGs and undirected graphs. Previous work shows that the local-to-global theorem for DAGs implies that (k,c)(k,c)-SPC on DAGs whenever k−ck-c is constant. In the same way, our work implies that (k,c)(k,c)-SPC can be solved in polynomial time on undirected graphs whenever k−ck-c is constant.Comment: Updated to reflect reviewer comment

    Seventh Biennial Report : June 2003 - March 2005

    No full text

    Department of Computer Science Activity 1998-2004

    Get PDF
    This report summarizes much of the research and teaching activity of the Department of Computer Science at Dartmouth College between late 1998 and late 2004. The material for this report was collected as part of the final report for NSF Institutional Infrastructure award EIA-9802068, which funded equipment and technical staff during that six-year period. This equipment and staff supported essentially all of the department\u27s research activity during that period

    Eight Biennial Report : April 2005 – March 2007

    No full text

    LP-based approximation algorithms for partial-ordered scheduling and matroid augmentation

    Get PDF
    In this thesis, we study two NP-hard problems from Combinatorial Optimization, from the perspective of approximation algorithms. The first problem we study is called Partial-Order Scheduling on Parallel Machines, which we abbreviate to PO Scheduling. Here, we are given a partially ordered set of jobs which we want to schedule to a set of machines. Each job has some weight and some processing time associated to it. On each machine, the order of the jobs scheduled to it must agree with the given partial order, i.e., a job can only be started once all its predecessors scheduled to the same machine have been completed. However, two jobs scheduled to different machines are not constrained in any way. Thus, PO Scheduling deviates from the well-studied problem of precedence-constrained scheduling in this regard. The goal of PO Scheduling is to find a feasible schedule which minimizes the sum of weighted completion times of the jobs. PO Scheduling generalizes an already NP-hard version of scheduling introduced by Bosman, Frascaria, Olver, Sitters and Stougie [3], where they ask the same question as in PO Scheduling for the case where the jobs are totally ordered. The authors above present a constant-factor approximation algorithm for their problem. We conjecture that there is a constant-factor approximation algorithm for PO Scheduling as well. While we do not solve the problem, we give approximation algorithms for the special case that the partial order consists of disjoint totally ordered chains of linearly bounded length. Additionally, we give a structural result for optimal schedules in the case that the partial order consists of disjoint, backwardly ordered (with regard to the Smith-ratio) chains. We point towards some potential research directions. For the Weighted Tree Augmentation Problem, we are given a graph with a distinguished spanning tree. Each non tree-edge has a cost associated to it. The goal is to find a cost-minimal set of edges such that when we add them to the tree-edges, the resulting graph is 2-edge-connected. Weighted tree augmentation is NP-hard. There has been recent progress in decreasing the best-known approximation factor for the problem by Traub and Zenklusen to (1.5 + ε) [51, 52]. We study a generalization of weighted tree augmentation, called the Weighted Matroid Augmentation Problem, which we abbreviate to WMAP. In WMAP, we consider a matroid with a distinguished basis and a cost function on the non-basis elements. The goal is to find a cost-minimal set such that the union of the fundamental circuits of the elements in the set with regard to the distinguished basis cover that basis. We conjecture that there is a 2-approximation algorithm for the problem in the case that the matroid is regular. While we do not solve the problem, we give an approximation algorithm for the special case of the cographic matroid and show that there is no constant-factor approximation algorithm for WMAP for representable matroids unless P = NP

    Operational Research: Methods and Applications

    Get PDF
    Throughout its history, Operational Research has evolved to include a variety of methods, models and algorithms that have been applied to a diverse and wide range of contexts. This encyclopedic article consists of two main sections: methods and applications. The first aims to summarise the up-to-date knowledge and provide an overview of the state-of-the-art methods and key developments in the various subdomains of the field. The second offers a wide-ranging list of areas where Operational Research has been applied. The article is meant to be read in a nonlinear fashion. It should be used as a point of reference or first-port-of-call for a diverse pool of readers: academics, researchers, students, and practitioners. The entries within the methods and applications sections are presented in alphabetical order. The authors dedicate this paper to the 2023 Turkey/Syria earthquake victims. We sincerely hope that advances in OR will play a role towards minimising the pain and suffering caused by this and future catastrophes

    A framework for efficient execution of matrix computations

    Get PDF
    Matrix computations lie at the heart of most scientific computational tasks. The solution of linear systems of equations is a very frequent operation in many fields in science, engineering, surveying, physics and others. Other matrix operations occur frequently in many other fields such as pattern recognition and classification, or multimedia applications. Therefore, it is important to perform matrix operations efficiently. The work in this thesis focuses on the efficient execution on commodity processors of matrix operations which arise frequently in different fields.We study some important operations which appear in the solution of real world problems: some sparse and dense linear algebra codes and a classification algorithm. In particular, we focus our attention on the efficient execution of the following operations: sparse Cholesky factorization; dense matrix multiplication; dense Cholesky factorization; and Nearest Neighbor Classification.A lot of research has been conducted on the efficient parallelization of numerical algorithms. However, the efficiency of a parallel algorithm depends ultimately on the performance obtained from the computations performed on each node. The work presented in this thesis focuses on the sequential execution on a single processor.There exists a number of data structures for sparse computations which can be used in order to avoid the storage of and computation on zero elements. We work with a hierarchical data structure known as hypermatrix. A matrix is subdivided recursively an arbitrary number of times. Several pointer matrices are used to store the location ofsubmatrices at each level. The last level consists of data submatrices which are dealt with as dense submatrices. When the block size of this dense submatrices is small, the number of zeros can be greatly reduced. However, the performance obtained from BLAS3 routines drops heavily. Consequently, there is a trade-off in the size of data submatrices used for a sparse Cholesky factorization with the hypermatrix scheme. Our goal is that of reducing the overhead introduced by the unnecessary operation on zeros when a hypermatrix data structure is used to produce a sparse Cholesky factorization. In this work we study several techniques for reducing such overhead in order to obtain high performance.One of our goals is the creation of codes which work efficiently on different platforms when operating on dense matrices. To obtain high performance, the resources offered by the CPU must be properly utilized. At the same time, the memory hierarchy must be exploited to tolerate increasing memory latencies. To achieve the former, we produce inner kernels which use the CPU very efficiently. To achieve the latter, we investigate nonlinear data layouts. Such data formats can contribute to the effective use of the memory system.The use of highly optimized inner kernels is of paramount importance for obtaining efficient numerical algorithms. Often, such kernels are created by hand. However, we want to create efficient inner kernels for a variety of processors using a general approach and avoiding hand-made codification in assembly language. In this work, we present an alternative way to produce efficient kernels automatically, based on a set of simple codes written in a high level language, which can be parameterized at compilation time. The advantage of our method lies in the ability to generate very efficient inner kernels by means of a good compiler. Working on regular codes for small matrices most of the compilers we used in different platforms were creating very efficient inner kernels for matrix multiplication. Using the resulting kernels we have been able to produce high performance sparse and dense linear algebra codes on a variety of platforms.In this work we also show that techniques used in linear algebra codes can be useful in other fields. We present the work we have done in the optimization of the Nearest Neighbor classification focusing on the speed of the classification process.Tuning several codes for different problems and machines can become a heavy and unbearable task. For this reason we have developed an environment for development and automatic benchmarking of codes which is presented in this thesis.As a practical result of this work, we have been able to create efficient codes for several matrix operations on a variety of platforms. Our codes are highly competitive with other state-of-art codes for some problems
    corecore