<p>Motivated by batteryless IoT devices, we consider the following scheduling problem. The input includes <i>n</i> unit time jobs <InlineEquation ID="IEq1"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="453_2025_1331_Article_IEq1.gif" Format="GIF" Height="19" Rendition="HTML" Resolution="72" Type="Linedraw" Width="130" /> </InlineMediaObject> <EquationSource Format="TEX">\(\mathcal{J}= \left\{ J_1, \ldots, J_n \right\} \)</EquationSource> </InlineEquation>, where each job <InlineEquation ID="IEq2"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="453_2025_1331_Article_IEq2.gif" Format="GIF" Height="16" Rendition="HTML" Resolution="72" Type="Linedraw" Width="17" /> </InlineMediaObject> <EquationSource Format="TEX">\(J_i\)</EquationSource> </InlineEquation> has a release time <InlineEquation ID="IEq3"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="453_2025_1331_Article_IEq3.gif" Format="GIF" Height="12" Rendition="HTML" Resolution="72" Type="Linedraw" Width="15" /> </InlineMediaObject> <EquationSource Format="TEX">\(r_i\)</EquationSource> </InlineEquation>, due date <InlineEquation ID="IEq4"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="453_2025_1331_Article_IEq4.gif" Format="GIF" Height="16" Rendition="HTML" Resolution="72" Type="Linedraw" Width="16" /> </InlineMediaObject> <EquationSource Format="TEX">\(d_i\)</EquationSource> </InlineEquation>, energy requirement <InlineEquation ID="IEq5"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="453_2025_1331_Article_IEq5.gif" Format="GIF" Height="12" Rendition="HTML" Resolution="72" Type="Linedraw" Width="15" /> </InlineMediaObject> <EquationSource Format="TEX">\(e_i\)</EquationSource> </InlineEquation>, and weight <InlineEquation ID="IEq6"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="453_2025_1331_Article_IEq6.gif" Format="GIF" Height="12" Rendition="HTML" Resolution="72" Type="Linedraw" Width="20" /> </InlineMediaObject> <EquationSource Format="TEX">\(w_i\)</EquationSource> </InlineEquation>. We consider time to be slotted; hence, all time related job values refer to slots. Let <InlineEquation ID="IEq7"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="453_2025_1331_Article_IEq7.gif" Format="GIF" Height="19" Rendition="HTML" Resolution="72" Type="Linedraw" Width="106" /> </InlineMediaObject> <EquationSource Format="TEX">\(T=\max _i\left\{ d_i \right\} \)</EquationSource> </InlineEquation>. The input also includes an <i>h</i>(<i>t</i>) value for every time slot <i>t</i> <InlineEquation ID="IEq8"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="453_2025_1331_Article_IEq8.gif" Format="GIF" Height="19" Rendition="HTML" Resolution="72" Type="Linedraw" Width="86" /> </InlineMediaObject> <EquationSource Format="TEX">\(\left( 1 \le t \le T \right) \)</EquationSource> </InlineEquation>, 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 <InlineEquation ID="IEq9"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="453_2025_1331_Article_IEq9.gif" Format="GIF" Height="19" Rendition="HTML" Resolution="72" Type="Linedraw" Width="18" /> </InlineMediaObject> <EquationSource Format="TEX">\(J_j\)</EquationSource> </InlineEquation> in the schedule and its corresponding slot <InlineEquation ID="IEq10"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="453_2025_1331_Article_IEq10.gif" Format="GIF" Height="18" Rendition="HTML" Resolution="72" Type="Linedraw" Width="15" /> </InlineMediaObject> <EquationSource Format="TEX">\(t_j\)</EquationSource> </InlineEquation>, <InlineEquation ID="IEq11"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="453_2025_1331_Article_IEq11.gif" Format="GIF" Height="19" Rendition="HTML" Resolution="72" Type="Linedraw" Width="52" /> </InlineMediaObject> <EquationSource Format="TEX">\(t_{j} \ne t_{j'}\)</EquationSource> </InlineEquation> if <InlineEquation ID="IEq12"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="453_2025_1331_Article_IEq12.gif" Format="GIF" Height="18" Rendition="HTML" Resolution="72" Type="Linedraw" Width="46" /> </InlineMediaObject> <EquationSource Format="TEX">\({j} \ne {j'}\)</EquationSource> </InlineEquation>, <InlineEquation ID="IEq13"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="453_2025_1331_Article_IEq13.gif" Format="GIF" Height="19" Rendition="HTML" Resolution="72" Type="Linedraw" Width="89" /> </InlineMediaObject> <EquationSource Format="TEX">\(r_j \le t_j \le d_j\)</EquationSource> </InlineEquation>, and the available energy before <InlineEquation ID="IEq14"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="453_2025_1331_Article_IEq10.gif" Format="GIF" Height="18" Rendition="HTML" Resolution="72" Type="Linedraw" Width="15" /> </InlineMediaObject> <EquationSource Format="TEX">\(t_j\)</EquationSource> </InlineEquation> is at least <InlineEquation ID="IEq15"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="453_2025_1331_Article_IEq15.gif" Format="GIF" Height="14" Rendition="HTML" Resolution="72" Type="Linedraw" Width="16" /> </InlineMediaObject> <EquationSource Format="TEX">\(e_j\)</EquationSource> </InlineEquation>. 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 <InlineEquation ID="IEq16"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="453_2025_1331_Article_IEq16.gif" Format="GIF" Height="17" Rendition="HTML" Resolution="72" Type="Linedraw" Width="36" /> </InlineMediaObject> <EquationSource Format="TEX">\(r_i, d_i\)</EquationSource> </InlineEquation> and <InlineEquation ID="IEq17"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="453_2025_1331_Article_IEq6.gif" Format="GIF" Height="12" Rendition="HTML" Resolution="72" Type="Linedraw" Width="20" /> </InlineMediaObject> <EquationSource Format="TEX">\(w_i\)</EquationSource> </InlineEquation>. (2) A <InlineEquation ID="IEq18"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="453_2025_1331_Article_IEq18.gif" Format="GIF" Height="22" Rendition="HTML" Resolution="72" Type="Linedraw" Width="8" /> </InlineMediaObject> <EquationSource Format="TEX">\(\frac{1}{2}\)</EquationSource> </InlineEquation>-approximation algorithm when all jobs have identical <InlineEquation ID="IEq19"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="453_2025_1331_Article_IEq6.gif" Format="GIF" Height="12" Rendition="HTML" Resolution="72" Type="Linedraw" Width="20" /> </InlineMediaObject> <EquationSource Format="TEX">\(w_i\)</EquationSource> </InlineEquation> but arbitrary <InlineEquation ID="IEq20"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="453_2025_1331_Article_IEq3.gif" Format="GIF" Height="12" Rendition="HTML" Resolution="72" Type="Linedraw" Width="15" /> </InlineMediaObject> <EquationSource Format="TEX">\(r_i\)</EquationSource> </InlineEquation> and <InlineEquation ID="IEq21"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="453_2025_1331_Article_IEq4.gif" Format="GIF" Height="16" Rendition="HTML" Resolution="72" Type="Linedraw" Width="16" /> </InlineMediaObject> <EquationSource Format="TEX">\(d_i\)</EquationSource> </InlineEquation>. (3) An FPTAS when all jobs have identical <InlineEquation ID="IEq22"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="453_2025_1331_Article_IEq3.gif" Format="GIF" Height="12" Rendition="HTML" Resolution="72" Type="Linedraw" Width="15" /> </InlineMediaObject> <EquationSource Format="TEX">\(r_i\)</EquationSource> </InlineEquation> and <InlineEquation ID="IEq23"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="453_2025_1331_Article_IEq4.gif" Format="GIF" Height="16" Rendition="HTML" Resolution="72" Type="Linedraw" Width="16" /> </InlineMediaObject> <EquationSource Format="TEX">\(d_i\)</EquationSource> </InlineEquation> but arbitrary <InlineEquation ID="IEq24"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="453_2025_1331_Article_IEq6.gif" Format="GIF" Height="12" Rendition="HTML" Resolution="72" Type="Linedraw" Width="20" /> </InlineMediaObject> <EquationSource Format="TEX">\(w_i\)</EquationSource> </InlineEquation>. (4) Reductions showing that all the variants of the problem in which at least one of the attributes <InlineEquation ID="IEq25"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="453_2025_1331_Article_IEq3.gif" Format="GIF" Height="12" Rendition="HTML" Resolution="72" Type="Linedraw" Width="15" /> </InlineMediaObject> <EquationSource Format="TEX">\(r_i\)</EquationSource> </InlineEquation>, <InlineEquation ID="IEq26"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="453_2025_1331_Article_IEq4.gif" Format="GIF" Height="16" Rendition="HTML" Resolution="72" Type="Linedraw" Width="16" /> </InlineMediaObject> <EquationSource Format="TEX">\(d_i\)</EquationSource> </InlineEquation>, or <InlineEquation ID="IEq27"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="453_2025_1331_Article_IEq6.gif" Format="GIF" Height="12" Rendition="HTML" Resolution="72" Type="Linedraw" Width="20" /> </InlineMediaObject> <EquationSource Format="TEX">\(w_i\)</EquationSource> </InlineEquation> are not identical for all jobs are <InlineEquation ID="IEq28"> <InlineMediaObject> <ImageObject Color="BlackWhite" FileRef="453_2025_1331_Article_IEq28.gif" Format="GIF" Height="15" Rendition="HTML" Resolution="72" Type="Linedraw" Width="61" /> </InlineMediaObject> <EquationSource Format="TEX">\(\textsf{NP-Hard}\)</EquationSource> </InlineEquation>.</p>

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Interweaving Real-Time Jobs with Energy Harvesting to Maximize Throughput

  • Baruch Schieber,
  • Bhargav Samineni,
  • Soroush Vahidi

摘要

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}\) .