## 1 Introduction  
Computational capabilities of user equipments (UEs) have increased over recent years. However, UEs still have limited computational and battery resources due to the complex and energy-hungry applications [1; 2; 3]. The spectacular growth of the mobile devices, the massive demands of resource-hungry, and delay-sensitive critical applications, such as voice recognition, real time speech recognition, virtual reality, interactive gaming, augmented reality, video transformation, and content-based image recovery applications have attracted significant attention from researchers working on 5G and beyond networks. The delay sensitive nature of these applications has resulted in an increasingly high computing demand and energy consumption. Therefore, to reduce the energy consumption and service delay of UEs, a new paradigm, known as mobile edge computing (MEC) has been introduced [4; 5]. MEC offers computing power and storage capacity to UEs at the edge of wireless networks. In MEC, the UEs offload the compute-intensive and delay-sensitive applications to the mobile edge server (MES) through wireless communication to minimize the serving delay and energy consumption of UEs as it is difficult for an UE with limited computation and storage resources to meet the requirements of such compute-intensive applications. Similarly, battery lifetime is the main constraint of UEs and with local computing UEs may not have better quality of experience. There are two main categories of computational offloading, namely, total offloading and partial offloading [6; 7]. In a total offloading technique, the whole task is offloaded to MES for execution while in partial offloading the task is first divided into different components, and then some of the components are executed locally on UE and some are offloaded to MES for execution. For example, if a task is divided into \(n\) components, there are \(2^{n}\) possible options for \(n\) components to be executed locally on UE or remotely on MES. Extensive research has been done on partial offloading to answer the question as to how the task components can be divided efficiently, between UEs and MES, to reduce the energy consumption and delays of UEs. In partial offloading, the task-division-process is important and needs to be considered in the cost function for finding the best option for offloading [8]. Based on the type of applications, partitioning offloading can be classified as data-oriented partitioning offloading (DOPO), continuous-execution partitioning offloading (CEPO), and code-oriented partitioning offloading (COPO) [9]. In this paper, we consider DOPO, which means that an application can be split into components of any size. The size of each component can be selected in order to reduce the service delay and energy consumption of UEs because the number of components per task and the size of each component directly depend on the service delay and energy consumption of UEs [9]. Most of the related work ignores the task partitioning and considers the size of each component as a random variable. However, there are \({}^{m}\!\!\!Z_{n}\) number of possible options to divide a single task of size \(m\) into \(n\) number of components. For example, a 400-MB task can be divided into three components of: [100,100,200] MB or [200,200,0] MB or [100,300,0] MB or [400,0,0] MB. Therefore, there are four possible ways, i.e., \({}^{400}\!\!Z_{3}=4\) for 400 MB task to be divided into three components. The number of possible ways of task partitioning also depends on the minimum allowable size of a component, known as division resolution. The value of \({}^{m}\!\!\!Z_{n}\) increases exponentially with the task size. To find the best partitioning in \({}^{m}\!\!\!Z_{n}\) possible options and best offloading in \(2^{n}\) possible options, the complexity becomes \({}^{m}\!\!\!Z_{n}2^{n}\). For \(m=1\) GB and \(n=10\), there are \(530\times 1024=542,720\) possible options to divide in and offload components.