Online Packing and Covering Problems
Total Page:16
File Type:pdf, Size:1020Kb
Raymond and Beverly Sackler Faculty of Exact Sciences Balvatnik School of Computer Science Online Packing and Covering Problems Submitted by Ilan Reuven Cohen This work was supervised by Prof. Yossi Azar THESIS SUBMITTED TO THE SENATE OF TEL- AVIV UNIVERSITY in partial fulfillment of the requirements for the degree of "DOCTOR OF PHILOSOPHY" June 2016 Contents 1 Introduction 7 1.1 Vector Bin Packing . 8 1.2 Packing Small Vectors . 8 1.3 Online Lower Bounds via Duality . 9 1.4 Online Covering with Convex Objectives and Applications . 11 1.5 Pricing Online Decisions: Beyond Auctions . 14 2 Vector Bin Packing 17 2.1 Introduction . 17 2.1.1 Techniques . 18 2.1.2 Related Work . 18 2.2 Lower Bounds . 19 2.2.1 The 0,1 Case . 20 f g 2.2.2 The [0,1] Case . 22 2.2.3 Randomized Online Algorithms . 23 2.3 A competitive VBP algorithm . 23 2.3.1 The virtual VBP algorithm. 24 2.3.2 The load balancing VBP algorithm. 28 2.3.3 De-randomizing the load balancing VBP algorithm. 30 2.3.4 The VBP algorithm for the 0,1 case. 32 f g 2.4 Easy lower bound argument for Online Packing Version . 33 2.5 Conclusions and Open problems . 33 3 Packing Small Vectors 35 3.1 Introduction . 35 1 2 CONTENTS 3.2 Two Dimensional Vector Bin Packing . 38 3.2.1 The f-restricted First Fit Algorithm . 38 3.2.2 Linear and Piecewise Linear Functions for f-Restricted First Fit Algorithms . 42 4 3.2.3 A 3 -competitive Algorithm . 43 3.2.4 A Tight Lower Bound . 49 3.3 Online Vector Bin Packing . 49 3.3.1 A Randomized Algorithm for Unsplittable, Small Vectors . 51 3.3.2 A Deterministic Algorithm for Unsplittable, Small Vectors . 53 3.4 Conclusions and Open Problems . 55 4 Online Lower Bounds via Duality 57 4.1 Introduction . 57 4.2 Vector Bin Packing . 62 4.3 Online Ad-auctions . 65 4.4 Online Capital Investment . 68 4.5 Conclusions and Open problems . 71 5 Online Covering with Convex Objectives and Applications 73 5.1 Introduction . 73 5.1.1 Our Results . 75 5.1.2 Our Techniques . 77 5.1.3 Previous Work . 78 5.2 Algorithm for the ocg problem . 79 5.2.1 Description of the Algorithm . 79 5.2.2 Analysis of the Algorithm . 79 5.3 Fractional Algorithm for umsc ..................................... 81 5.3.1 Analysis of the fractional algorithm . 82 5.4 Online Rounding for umsc with `p norm . 86 5.4.1 Analysis . 87 5.5 Online Rounding for umsc with `1 norm . 91 5.5.1 Analysis . 91 5.6 Lower bound for ompc with the `p norm objective . 92 5.7 Conclusions and Open problems . 93 CONTENTS 3 6 Pricing Online Decisions: Beyond Auctions 95 6.1 Problems and Results . 98 6.2 Related Work . 100 6.3 Pricing Parking Slots on a City Block . 100 6.3.1 Problem Definition . 100 6.3.2 Dynamic Harmonic Pricing for the Weighted Line Graph . 102 6.4 Conclusions and Open problems . 108 7 Conclusions and Open Questions 111 7.1 Vector Bin Packing . 111 7.2 Online Lower Bounds via Duality . 112 7.3 Online Covering with Convex Objectives and Applications . 112 7.4 Pricing Online Decisions: Beyond Auctions . 112 4 CONTENTS Abstract Packing and covering problems model a wide range of problems in combinatorial optimization and operations research. In algorithmic theory, they have been used in many areas including machine scheduling, packet routing, energy minimization, etc. We focus on the online version of these problems where input arrives on the fly, and the algorithm needs to make irrevocable decisions without knowing the future in advance. A classic example of a packing problem is the bin packing problem, where we are given a set of items (each of which has some size). The goal is to pack the items using as few bins as possible, under some constraints on the packed items (i.e., the total size of the items assigned to a bin must be at most the bins size). In the online setting, items arrive on the fly and need to be packed immediately.We give various results for Vector Bin Packing, where each item is described as a d-dimensional vector. A set of vectors can be packed into a single bin if the total size in each dimension of these vectors is at most the bins capacity. A classic example of a covering problem is the online set cover problem, where a set of elements arrive on the fly, and the online algorithm needs to (irrevocably) choose sets to cover the incoming elements. Each set has some weight, and the goal is to minimize the total weight of the chosen sets. In this work we extensively expand the model. We develop a framework that enables us to solve the problem where the goal is to minimize any convex function of the chosen sets instead of just the total weight. Finally, we give a game theoretical interpretation for some classic online problems, where we view online events as selfish agents and design a dynamic pricing scheme over each agent's possible decisions. 5 6 CONTENTS Chapter 1 Introduction This thesis is based on the following papers: [Azar et al., 2013c], [Azar et al., 2016b], [Azar et al., 2014b], [Azar et al., 2014a], [Cohen et al., 2015]. In this thesis, we study various problems with packing and covering constraints. Specifically, we focus on the online version of such problems, where the input is gradually revealed to the algorithm. Upon receiving part of the input sequence, the algorithm must make an immediate and irrevocable decision. The widely adopted benchmark we use to measure the performance of an online algorithm is the competitive ratio. In particular, we compare the objective value of an online algorithm ALG relative to the objective value of an optimal solution OP T that is omniscient and knows the entire input sequence in advance. More formally, for any input sequence σ, let ALG(σ) denote the value of ALG on input sequence σ and OP T (σ) denote the value of an optimal solution on the same input sequence. We say that ALG is c-competitive if ALG(σ) c OP T (σ) + a for any input sequence σ (where we allow some additive constant a). ≤ · For randomized algorithms, the definition is the same, except that we consider E[ALG(σ)] instead of ALG(σ). First, in Section 1.1 and Section 1.2 we describe a generalization of the classic bin packing problem, which we call Vector Bin Packing. In this problem, each item is a d-dimensional vector. A set of vectors can be packed into a single bin if the total size in each dimension of these vectors is at most the bin's capacity. The goal is to feasibly pack all vectors using the minimum number of bins. In Section 1.1 we specify various results that are parameterized by the ratio between each bin capacity and the largest vector coordinate value. In Section 1.2 we give refined results for the setting where this ratio is sufficiently large. In addition, in Section 1.3 we describe a unifying framework for proving lower bounds for various online problems. Specifically, our framework enables us to show that some of the results in Section 1.2 are tight. In Section 1.4, we outline a framework for solving online problems with convex objective functions under covering constraints and give various applications by applying our techniques. Finally, in Section 1.5 we give a game theoretical interpretation for some classic online problems. In particular, we view online events as arriving rational agents with private information. Instead of a central algorithm that can inspect such online events and make decisions accordingly, we present a dynamic pricing scheme over agents' possible decisions and assume that strategic agents make the decisions for themselves. 7 8 CHAPTER 1. INTRODUCTION 1.1 Vector Bin Packing We study the vector bin packing problem (VBP) which has received renewed attention in connection with research on virtual machine placement in cloud computing, e.g., [Zhang et al., 2010; Panigrahy et al., 2011; Yazir et al., 2010]. The work of [Ryffel et al., 2009] studied the impact of resource contention among jobs by measuring energy consumption on individual hardware components. They concluded that jobs which do not contend for the same set of resources can be parallelized well and consume significantly less power when com- pared to jobs which make heavy use of the same resource. These results substantiate the idea that, when assigning jobs to machines, it is important to represent jobs as vectors to capture the fact that resource re- quirements are multidimensional (e.g., CPU, memory, and I/O). Modeling jobs in this manner is important to understand how to design algorithms that minimize the number of active servers in a scenario where jobs make heavy use of many hardware components. For instance, 95assigning multidimensional jobs to machines has applications in implementing databases for shared-nothing environments [Garofalakis and Ioannidis, 1996], along with optimizing parallel queries in databases as such tasks typically involve resources such as the CPU or disk [Garofalakis and Ioannidis, 1995]. Indeed, jobs are increasingly becoming more parallel, and hence leave a large footprint on many CPU cores. This motivation yields the Vector Bin Packing problem. In the offline version, one is given a collection = x ; x ; : : : ; x of vectors x [0; 1]d, and a subset X is a feasible V f 1 2 ng i 2 ⊆ V P P bin if xi 1.