Figure - available from: Algorithmica
This content is subject to copyright. Terms and conditions apply.
Source publication
We introduce a novel adversarial model for scheduling with explorable uncertainty. In this model, the processing time of a job can potentially be reduced (by an a priori unknown amount) by testing the job. Testing a job j takes one unit of time and may reduce its processing time from the given upper limit \(\bar{p}_j\) (which is the time taken to e...
Similar publications
In this work, we study a scheduling problem with explorable uncertainty. Each job comes with an upper limit of its processing time, which could be potentially reduced by testing the job, which also takes time. The objective is to schedule all jobs on a single machine with a minimum total completion time. The challenge lies in deciding which jobs to...
The recently introduced online Minimum Peak Appointment Scheduling (MPAS) problem is a variant of the online bin-packing problem that allows for deferred decision making. Specifically, it allows for the problem to be split into an online phase where a stream of appointment requests arrive requiring a scheduled time, followed by an offline phase whe...
We present a randomized approach for wait-free locks with strong bounds on time and fairness in a context in which any process can be arbitrarily delayed. Our approach supports a tryLock operation that is given a set of locks, and code to run when all the locks are acquired. A tryLock operation may fail if there is contention on the locks, in which...
Citations
... Scheduling with Testing or Resources. Scheduling with testing under explorable uncertainty to bridge online and robust optimization was introduced by [6] and extended to various scheduling models [2,3,7]. These problems were initially motivated by code optimization, where jobs (programs) are either executed directly or pre-processed to reduce running time. ...
We study a problem related to submodular function optimization and the exact matching problem for which we show a rather peculiar status: its natural LP-relaxation can have fractional optimal vertices, but there is always also an optimal integral vertex, which we can also compute in polynomial time. More specifically, we consider the multiplicative assignment problem with upgrades in which we are given a set of customers and suppliers and we seek to assign each customer to a different supplier. Each customer has a demand and each supplier has a regular and an upgraded cost for each unit demand provided to the respective assigned client. Our goal is to upgrade at most k suppliers and to compute an assignment in order to minimize the total resulting cost. This can be cast as the problem to compute an optimal matching in a bipartite graph with the additional constraint that we must select k edges from a certain group of edges, similar to selecting k red edges in the exact matching problem. Also, selecting the suppliers to be upgraded corresponds to maximizing a submodular set function under a cardinality constraint. Our result yields an efficient LP-based algorithm to solve our problem optimally. In addition, we provide also a purely strongly polynomial-time algorithm for it. As an application, we obtain exact algorithms for the upgrading variant of the problem to schedule jobs on identical or uniformly related machines in order to minimize their sum of completion times, i.e., where we may upgrade up to k jobs to reduce their respective processing times.
... The challenge lies in deciding which jobs to test and the order of testing/processing jobs. The online problem was first introduced with unit testing time [6,7] and later generalized to variable testing times [1]. For this general setting, the upper bounds of the competitive ratio are shown to be 4 and 3.3794 for deterministic and randomized online algorithms [1]; while the lower bounds for unit testing time stands [6,7], which are 1.8546 (deterministic) and 1.6257 (randomized). ...
... The online problem was first introduced with unit testing time [6,7] and later generalized to variable testing times [1]. For this general setting, the upper bounds of the competitive ratio are shown to be 4 and 3.3794 for deterministic and randomized online algorithms [1]; while the lower bounds for unit testing time stands [6,7], which are 1.8546 (deterministic) and 1.6257 (randomized). We continue the study on variable testing times setting. ...
... On the other hand, the optimal offline algorithm knows in advance each p j even before testing. Therefore, the optimal strategy is to test job j if and only if t j + p j ≤ u j and execute the shortest job first, where the processing time of a job j is min{t j + p j , u j } [1,6,7]. However, since the online algorithm only learns about p j after testing j, the challenge to the online algorithm is to decide which jobs to test and the order of tasks that could be testing, execution, or execution-untested. ...
In this work, we study a scheduling problem with explorable uncertainty. Each job comes with an upper limit of its processing time, which could be potentially reduced by testing the job, which also takes time. The objective is to schedule all jobs on a single machine with a minimum total completion time. The challenge lies in deciding which jobs to test and the order of testing/processing jobs. The online problem was first introduced with unit testing time and later generalized to variable testing times. For this general setting, the upper bounds of the competitive ratio are shown to be 4 and 3.3794 for deterministic and randomized online algorithms; while the lower bounds for unit testing time stands, which are 1.8546 (deterministic) and 1.6257 (randomized). We continue the study on variable testing times setting. We first enhance the analysis framework and improve the competitive ratio of the deterministic algorithm from 4 to . Using the new analysis framework, we propose a new deterministic algorithm that further improves the competitive ratio to 2.316513. The new framework also enables us to develop a randomized algorithm improving the expected competitive ratio from 3.3794 to 2.152271.
... Kill-and-restart strategies can thus be regarded as online algorithms for non-preemptive scheduling with the possibility to invest time in order to obtain some information. In that sense, the considered model resembles that of explorable uncertainty [43][44][45]. In order to allow for any reasonable competitiveness results, it must be ensured in both models that testing/probing provides some benefit to the algorithm other than information gain. ...
We study kill-and-restart and preemptive strategies for the fundamental scheduling problem of minimizing the sum of weighted completion times on a single machine in the non-clairvoyant setting. First, we show a lower bound of 3 for any deterministic non-clairvoyant kill-and-restart strategy. Then, we give for any b > 1 a tight analysis for the natural b -scaling kill-and-restart strategy as well as for a randomized variant of it. In particular, we show a competitive ratio of ( 1 + 3 3 ) ≈ 6.197 for the deterministic and of ≈ 3.032 for the randomized strategy, by making use of the largest eigenvalue of a Toeplitz matrix. In addition, we show that the preemptive Weighted Shortest Elapsed Time First (WSETF) rule is 2-competitive when jobs are released online, matching the lower bound for the unit weight case with trivial release dates for any non-clairvoyant algorithm. Using this result as well as the competitiveness of round-robin for multiple machines, we prove performance guarantees smaller than 10 for adaptions of the b -scaling strategy to online release dates and unweighted jobs on identical parallel machines.
... Query-competitive algorithms are often associated with the field of 'explorable uncertainty'. Most previous work considers queries revealing an originally uncertain value [3,7,9,18,19,21, 25,10], while in this work we query a preference. ...
We study the two-sided stable matching problem with one-sided uncertainty for two sets of agents A and B, with equal cardinality. Initially, the preference lists of the agents in A are given but the preferences of the agents in B are unknown. An algorithm can make queries to reveal information about the preferences of the agents in B. We examine three query models: comparison queries, interviews, and set queries. Using competitive analysis, our aim is to design algorithms that minimize the number of queries required to solve the problem of finding a stable matching or verifying that a given matching is stable (or stable and optimal for the agents of one side). We present various upper and lower bounds on the best possible competitive ratio as well as results regarding the complexity of the offline problem of determining the optimal query set given full information.
... Levi et al. [8] considered a setting where the weight and processing time of a job follow a known joint probability distribution, a job can be tested to reveal its weight and processing time, and the goal is to find a scheduling policy that minimizes the expectation of the weighted sum of completion times. Dürr et al. [4] introduced an adversarial setting of scheduling with testing where each job j is given with an upper bound u j on its processing time. The scheduler can either execute the job untested (with processing time u j ), or test it first to reveal its actual processing time p j ≤ u j and then execute it with processing time p j . ...
... For minimizing the sum of completion times on a single machine in our setting with obligatory tests, obtaining a 2-competitive algorithm is straightforward: Treating each job (test plus processing part) as a single entity with unknown processing time and applying the Round Robin (RR) algorithm (which executes all unfinished jobs simultaneously at the same rate) gives a 2-competitive preemptive schedule [10], and in our setting this algorithm can be made non-preemptive without any increase in job completion times: At any time, among all tests or processing parts currently available for execution, it is known which of them will complete first in the preemptive schedule, and hence that test or processing part can be chosen to be executed non-preemptively first (the same observation has been made previously for the setting with optional tests [4,9,5]). Our aim is therefore to design algorithms that are better than 2-competitive. ...
... For the setting with unit test times, we consider an adaptation of the Threshold algorithm by Dürr et al. [4] to the setting with obligatory tests: When the test of a job reveals a processing time smaller than a threshold y, the algorithm executes the processing part of the job immediately; otherwise, the execution of the processing part is deferred to the end of the schedule, where all the processing parts that have been deferred are executed in SPT (shortest processing time) order. We show that the algorithm is 1.585-competitive (and this analysis is tight for the algorithm). ...
Motivated by settings such as medical treatments or aircraft maintenance, we consider a scheduling problem with jobs that consist of two operations, a test and a processing part. The time required to execute the test is known in advance while the time required to execute the processing part becomes known only upon completion of the test. We use competitive analysis to study algorithms for minimizing the sum of completion times for n given jobs on a single machine. As our main result, we prove using a novel analysis technique that the natural 1-SORT algorithm has competitive ratio at most 1.861. For the special case of uniform test times, we show that a simple threshold-based algorithm has competitive ratio at most 1.585. We also prove a lower bound that shows that no deterministic algorithm can be better than -competitive even in the case of uniform test times.
... In fact, more than three decades ago, Kahan [16] has first introduced to explore or query uncertainties during an algorithm, which give more information about the problem but at a cost. Most recently, Dürr et al. [6,7] introduced the single machine scheduling with testing, in which each job is given a possibly over-estimated upper bound on its exact processing time, and a testing time if the scheduler wishes to reveal the exact processing time. That is, the scheduler can choose to execute a job untested, but then the job is to be processed for a length that is the upper bound; or otherwise test the job to obtain the exact processing time, followed by executing the job for the exact length of time. ...
... Several applications that motivate the scheduling with testing have been discussed in [1,6,7], each of which involves a preliminary action, operation or testing that can be completed before processing a job. For example, in marketing and production, an online user survey can help predict the demand so that the invested costs and time to produce the right amount of goods become more accurate [1]; in distributed computing, one can query from localized databases to the master server to obtain the true data values [1,19]; in file transmissions, one can compress the data to reduce its size in order to save the transmission time and reduce bandwidth requirements [6,7]; for cloud computing, one can test for the availability of an alternative fast mode to run jobs at a higher speed [6,7]; and in maintenance and medical treatment, a possible fault diagnosis can reduce the chance of fatalities [6,7]. ...
... Several applications that motivate the scheduling with testing have been discussed in [1,6,7], each of which involves a preliminary action, operation or testing that can be completed before processing a job. For example, in marketing and production, an online user survey can help predict the demand so that the invested costs and time to produce the right amount of goods become more accurate [1]; in distributed computing, one can query from localized databases to the master server to obtain the true data values [1,19]; in file transmissions, one can compress the data to reduce its size in order to save the transmission time and reduce bandwidth requirements [6,7]; for cloud computing, one can test for the availability of an alternative fast mode to run jobs at a higher speed [6,7]; and in maintenance and medical treatment, a possible fault diagnosis can reduce the chance of fatalities [6,7]. Outside of the scheduling with testing models in [1,2,6,7], there is a rich literature on exploring other uncertainties through queries, with the typical goal to minimize the number of queries to obtain a solution. ...
In offline scheduling models, jobs are given with their exact processing times. In their online counterparts, jobs arrive in sequence together with their processing times and the scheduler makes irrevocable decisions on how to execute each of them upon its arrival. We consider a semi-online variant which has equally rich application background, called scheduling with testing, where the exact processing time of a job is revealed only after a required testing operation is finished, or otherwise the job has to be executed for a given possibly over-estimated length of time. For multiprocessor scheduling with testing to minimize the total job completion time, we present several first approximation algorithms with constant competitive ratios for various settings, including a 2φ-competitive algorithm for the non-preemptive general testing case and a (0.0382+2.7925(1-12m))-competitive randomized algorithm, when the number of machines m≥37 or otherwise 2.7925-competitive, where φ=(1+5)/2<1.6181 is the golden ratio and m is the number of machines, a (3.5-32m)-competitive algorithm allowing job preemption when m≥3 or otherwise 3-competitive, and a (φ+φ+12(1-1m))-competitive algorithm for the non-preemptive uniform testing case when m≥5 or otherwise (φ+1)-competitive. Our results improve three previous best approximation algorithms for the single machine scheduling with testing problems, respectively.
... In this paper, we adopt the paradigm of scheduling under explorable uncertainty (Retsef, Magnanti , & Shaposhnik, 2018) (Dürr, Erlebach, Megow, & Meißner, 2020) (Dufossé, Dürr, Nadal, Trystram, & Vásquez, 2022) to explore test strategies to solve standardized tests and to analyze under what circumstances the application of these strategies will generate an optimal result. From this approach, a test-taker considers a number of questions (set of parameters) and has the possibility to read (to make a query) in order to obtain the difficulty of the question. ...
In this article, we adopt the paradigm of scheduling under explorable uncertainty to explore test-taking strategies to solve standardized tests in terms of maximizing the correct questions answered. From this approach, a test taker considers a number of questions and has the possibility to read in order to obtain the difficulty of the question. Later, he/she has the option, for example, to answer the question or to skip the one that seemed difficult and read the next question in the test. Specifically, we state the problem definition by considering two test-taking strategies, formulate and implement a mathematical model, and generate computational experiments in order to determine the dominance of one strategy over another. The results show that the dominance depends directly on the design of the test and the maximum time to perform it, so knowing these parameters allow us to provide algorithmic insights to address this problem.
... For the stochastic sorting problem, the algorithm with the optimal expected query cost is known, but its competitive ratio remains unknown [11]. Besides hypergraph orientation and other selection-type problems, there has been work on combinatorial optimization problems with explorable uncertainty, such as shortest path [18], knapsack [20], scheduling problems [12,4,1,2,21], the minimum spanning tree (MST) problem and matroids [16,14,30,19,31]. ...
Learning-augmented algorithms have been attracting increasing interest, but have only recently been considered in the setting of explorable uncertainty where precise values of uncertain input elements can be obtained by a query and the goal is to minimize the number of queries needed to solve a problem. We study learning-augmented algorithms for sorting and hypergraph orientation under uncertainty, assuming access to untrusted predictions for the uncertain values. Our algorithms provide improved performance guarantees for accurate predictions while maintaining worst-case guarantees that are best possible without predictions. For hypergraph orientation, for any , we give an algorithm that achieves a competitive ratio of for correct predictions and for arbitrarily wrong predictions. For sorting, we achieve an optimal solution for accurate predictions while still being 2-competitive for arbitrarily wrong predictions. These tradeoffs are the best possible. We also consider different error metrics and show that the performance of our algorithms degrades smoothly with the prediction error in all the cases where this is possible.
... This hints that the fully online and the semi-online problems are the same. The first set of results is on the semi-online uniform testing problem P 1 | t j = 1, 0 ≤ p j ≤ u j | C max , due to Dürr et al. [6,7]. They proposed to test the job J j if u j ≥ ϕ = √ 5+1 ...
... Let r j = uj tj ; Albers and Eckl [2] extended the above two algorithms for the general testing case P 1 | t j , 0 ≤ p j ≤ u j | C max , to test the job J j if r j ≥ ϕ or to test it with probability f (r j ), and achieved the same competitive ratio and expected competitive ratio, respectively. The authors [6,7,2] showed that both ...
... We study the fully online multiprocessor scheduling with testing [6,7,2,3] problem in this paper, and study it from the randomized algorithm perspective. Multiprocessor scheduling [10] is one of the first well-known NP-hard combinatorial optimization problems, having received extensive research in the past several decades. ...
We contribute the first randomized algorithm that is an integration of arbitrarily many deterministic algorithms for the fully online multiprocessor scheduling with testing problem. When there are only two machines, we show that with two component algorithms its expected competitive ratio is already strictly smaller than the best proven deterministic competitive ratio lower bound. Such algorithmic results are rarely seen in the literature. Multiprocessor scheduling is one of the first combinatorial optimization problems that have received numerous studies. Recently, several research groups examined its testing variant, in which each job arrives with an upper bound on the processing time and a testing operation of length ; one can choose to execute for time, or to test for time to obtain the exact processing time followed by immediately executing the job for time. Our target problem is the fully online multiprocessor scheduling with testing, in which the jobs arrive in sequence so that the testing decision needs to be made at the job arrival as well as the designated machine. We first use Yao's principle to prove lower bounds of 1.6682 and 1.6522 on the expected competitive ratio for any randomized algorithm at the presence of at least three machines and only two machines, respectively, and then propose an expected -competitive randomized algorithm as a non-uniform probability distribution over arbitrarily many deterministic algorithms, where is the Golden ratio. When there are only two machines, we show that our randomized algorithm based on two deterministic algorithms is already expected -competitive, while proving a lower bound of 2.2117 on the competitive ratio for any deterministic algorithm.
... On the other hand, while the execution of the testing algorithm comes with a price (because the job dispatching decisions are delayed), it may provide valuable classification information that eventually pays off. The investigation of such exploration-exploitation trade-off under explorable uncertainty, referred in the literature with the term "scheduling with testing", has recently gained traction in scheduling theory [1], [2], [3] and is the focus of this paper; see Section 1.2 for a review of the literature. ...
... In maintenance or medical environments, a diagnosis or a test can be carried out to determine the exact processing time of a job, and this information is used in turn to prioritize and efficiently allocate resources [1], [14], [15]. We refer the reader to [2], [12], [16] for more detailed discussions about applications of scheduling with testing. ...
... More specifically, it describes a setting where jobs have unknown processing times that can be explored by running a test for some time with a scheduler dispatching them tested or untested on a number of computational resources (servers) to minimize some performance measure of interest. From a theoretical point of view, this problem has been primarily investigated on a single server [1], [2], [12], [16], [17] with the objective of minimizing the sum of completion times. A step further has been recently taken in [3], where the authors consider the natural generalization of the problem to multiple identical parallel servers. ...
In the context of decision making under explorable uncertainty, scheduling with testing is a powerful technique used in the management of computer systems to improve performance via better job-dispatching decisions. Upon job arrival, a scheduler may run some \emph{testing algorithm} against the job to extract some information about its structure, e.g., its size, and properly classify it. The acquisition of such knowledge comes with a cost because the testing algorithm delays the dispatching decisions, though this is under control. In this paper, we analyze the impact of such extra cost in a load balancing setting by investigating the following questions: does it really pay off to test jobs? If so, under which conditions? Under mild assumptions connecting the information extracted by the testing algorithm in relationship with its running time, we show that whether scheduling with testing brings a performance degradation or improvement strongly depends on the traffic conditions, system size and the coefficient of variation of job sizes. Thus, the general answer to the above questions is non-trivial and some care should be considered when deploying a testing policy. Our results are achieved by proposing a load balancing model for scheduling with testing that we analyze in two limiting regimes. When the number of servers grows to infinity in proportion to the network demand, we show that job-size testing actually degrades performance unless short jobs can be predicted reliably almost instantaneously \emph{and} the network load is sufficiently high. When the coefficient of variation of job sizes grows to infinity, we construct testing policies inducing an arbitrarily large performance gain with respect to running jobs untested.