{"title":"交织实时作业与能量收集,以最大限度地提高吞吐量","authors":"Baruch Schieber, Bhargav Samineni, Soroush Vahidi","doi":"10.1007/s00453-025-01331-x","DOIUrl":null,"url":null,"abstract":"<div><p>Motivated by batteryless IoT devices, we consider the following scheduling problem. The input includes <i>n</i> unit time jobs <span>\\(\\mathcal{J}= \\left\\{ J_1, \\ldots, J_n \\right\\} \\)</span>, where each job <span>\\(J_i\\)</span> has a release time <span>\\(r_i\\)</span>, due date <span>\\(d_i\\)</span>, energy requirement <span>\\(e_i\\)</span>, and weight <span>\\(w_i\\)</span>. We consider time to be slotted; hence, all time related job values refer to slots. Let <span>\\(T=\\max _i\\left\\{ d_i \\right\\} \\)</span>. The input also includes an <i>h</i>(<i>t</i>) value for every time slot <i>t</i> <span>\\(\\left( 1 \\le t \\le T \\right) \\)</span>, which is the energy harvestable on that slot. Energy is harvested at time slots when no job is executed. The objective is to find a feasible schedule that maximizes the weight of the scheduled jobs. A schedule is feasible if for every job <span>\\(J_j\\)</span> in the schedule and its corresponding slot <span>\\(t_j\\)</span>, <span>\\(t_{j} \\ne t_{j'}\\)</span> if <span>\\({j} \\ne {j'}\\)</span>, <span>\\(r_j \\le t_j \\le d_j\\)</span>, and the available energy before <span>\\(t_j\\)</span> is at least <span>\\(e_j\\)</span>. To the best of our knowledge, we are the first to consider the theoretical aspects of this problem. In this work we show the following. (1) A polynomial time algorithm when all jobs have identical <span>\\(r_i, d_i\\)</span> and <span>\\(w_i\\)</span>. (2) A <span>\\(\\frac{1}{2}\\)</span>-approximation algorithm when all jobs have identical <span>\\(w_i\\)</span> but arbitrary <span>\\(r_i\\)</span> and <span>\\(d_i\\)</span>. (3) An FPTAS when all jobs have identical <span>\\(r_i\\)</span> and <span>\\(d_i\\)</span> but arbitrary <span>\\(w_i\\)</span>. (4) Reductions showing that all the variants of the problem in which at least one of the attributes <span>\\(r_i\\)</span>, <span>\\(d_i\\)</span>, or <span>\\(w_i\\)</span> are not identical for all jobs are <span>\\(\\textsf{NP-Hard}\\)</span>.</p></div>","PeriodicalId":50824,"journal":{"name":"Algorithmica","volume":"87 10","pages":"1453 - 1473"},"PeriodicalIF":0.7000,"publicationDate":"2025-07-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://link.springer.com/content/pdf/10.1007/s00453-025-01331-x.pdf","citationCount":"0","resultStr":"{\"title\":\"Interweaving Real-Time Jobs with Energy Harvesting to Maximize Throughput\",\"authors\":\"Baruch Schieber, Bhargav Samineni, Soroush Vahidi\",\"doi\":\"10.1007/s00453-025-01331-x\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"<div><p>Motivated by batteryless IoT devices, we consider the following scheduling problem. The input includes <i>n</i> unit time jobs <span>\\\\(\\\\mathcal{J}= \\\\left\\\\{ J_1, \\\\ldots, J_n \\\\right\\\\} \\\\)</span>, where each job <span>\\\\(J_i\\\\)</span> has a release time <span>\\\\(r_i\\\\)</span>, due date <span>\\\\(d_i\\\\)</span>, energy requirement <span>\\\\(e_i\\\\)</span>, and weight <span>\\\\(w_i\\\\)</span>. We consider time to be slotted; hence, all time related job values refer to slots. Let <span>\\\\(T=\\\\max _i\\\\left\\\\{ d_i \\\\right\\\\} \\\\)</span>. The input also includes an <i>h</i>(<i>t</i>) value for every time slot <i>t</i> <span>\\\\(\\\\left( 1 \\\\le t \\\\le T \\\\right) \\\\)</span>, which is the energy harvestable on that slot. Energy is harvested at time slots when no job is executed. The objective is to find a feasible schedule that maximizes the weight of the scheduled jobs. A schedule is feasible if for every job <span>\\\\(J_j\\\\)</span> in the schedule and its corresponding slot <span>\\\\(t_j\\\\)</span>, <span>\\\\(t_{j} \\\\ne t_{j'}\\\\)</span> if <span>\\\\({j} \\\\ne {j'}\\\\)</span>, <span>\\\\(r_j \\\\le t_j \\\\le d_j\\\\)</span>, and the available energy before <span>\\\\(t_j\\\\)</span> is at least <span>\\\\(e_j\\\\)</span>. To the best of our knowledge, we are the first to consider the theoretical aspects of this problem. In this work we show the following. (1) A polynomial time algorithm when all jobs have identical <span>\\\\(r_i, d_i\\\\)</span> and <span>\\\\(w_i\\\\)</span>. (2) A <span>\\\\(\\\\frac{1}{2}\\\\)</span>-approximation algorithm when all jobs have identical <span>\\\\(w_i\\\\)</span> but arbitrary <span>\\\\(r_i\\\\)</span> and <span>\\\\(d_i\\\\)</span>. (3) An FPTAS when all jobs have identical <span>\\\\(r_i\\\\)</span> and <span>\\\\(d_i\\\\)</span> but arbitrary <span>\\\\(w_i\\\\)</span>. (4) Reductions showing that all the variants of the problem in which at least one of the attributes <span>\\\\(r_i\\\\)</span>, <span>\\\\(d_i\\\\)</span>, or <span>\\\\(w_i\\\\)</span> are not identical for all jobs are <span>\\\\(\\\\textsf{NP-Hard}\\\\)</span>.</p></div>\",\"PeriodicalId\":50824,\"journal\":{\"name\":\"Algorithmica\",\"volume\":\"87 10\",\"pages\":\"1453 - 1473\"},\"PeriodicalIF\":0.7000,\"publicationDate\":\"2025-07-10\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"https://link.springer.com/content/pdf/10.1007/s00453-025-01331-x.pdf\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Algorithmica\",\"FirstCategoryId\":\"94\",\"ListUrlMain\":\"https://link.springer.com/article/10.1007/s00453-025-01331-x\",\"RegionNum\":4,\"RegionCategory\":\"计算机科学\",\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"Q4\",\"JCRName\":\"COMPUTER SCIENCE, SOFTWARE ENGINEERING\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Algorithmica","FirstCategoryId":"94","ListUrlMain":"https://link.springer.com/article/10.1007/s00453-025-01331-x","RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q4","JCRName":"COMPUTER SCIENCE, SOFTWARE ENGINEERING","Score":null,"Total":0}
Interweaving Real-Time Jobs with Energy Harvesting to Maximize Throughput
Motivated by batteryless IoT devices, we consider the following scheduling problem. The input includes n unit time jobs \(\mathcal{J}= \left\{ J_1, \ldots, J_n \right\} \), where each job \(J_i\) has a release time \(r_i\), due date \(d_i\), energy requirement \(e_i\), and weight \(w_i\). We consider time to be slotted; hence, all time related job values refer to slots. Let \(T=\max _i\left\{ d_i \right\} \). The input also includes an h(t) value for every time slot t\(\left( 1 \le t \le T \right) \), which is the energy harvestable on that slot. Energy is harvested at time slots when no job is executed. The objective is to find a feasible schedule that maximizes the weight of the scheduled jobs. A schedule is feasible if for every job \(J_j\) in the schedule and its corresponding slot \(t_j\), \(t_{j} \ne t_{j'}\) if \({j} \ne {j'}\), \(r_j \le t_j \le d_j\), and the available energy before \(t_j\) is at least \(e_j\). To the best of our knowledge, we are the first to consider the theoretical aspects of this problem. In this work we show the following. (1) A polynomial time algorithm when all jobs have identical \(r_i, d_i\) and \(w_i\). (2) A \(\frac{1}{2}\)-approximation algorithm when all jobs have identical \(w_i\) but arbitrary \(r_i\) and \(d_i\). (3) An FPTAS when all jobs have identical \(r_i\) and \(d_i\) but arbitrary \(w_i\). (4) Reductions showing that all the variants of the problem in which at least one of the attributes \(r_i\), \(d_i\), or \(w_i\) are not identical for all jobs are \(\textsf{NP-Hard}\).
期刊介绍:
Algorithmica is an international journal which publishes theoretical papers on algorithms that address problems arising in practical areas, and experimental papers of general appeal for practical importance or techniques. The development of algorithms is an integral part of computer science. The increasing complexity and scope of computer applications makes the design of efficient algorithms essential.
Algorithmica covers algorithms in applied areas such as: VLSI, distributed computing, parallel processing, automated design, robotics, graphics, data base design, software tools, as well as algorithms in fundamental areas such as sorting, searching, data structures, computational geometry, and linear programming.
In addition, the journal features two special sections: Application Experience, presenting findings obtained from applications of theoretical results to practical situations, and Problems, offering short papers presenting problems on selected topics of computer science.