A micro task offloading method based on improved NSGA-II

By introducing a two-tier edge server model and an improved NSGA-II algorithm into edge computing, the problem that a single-tier edge server cannot meet the diverse task offloading needs is solved, achieving efficient and low-latency task processing and adapting to the needs of complex scenarios.

CN117014436BActive Publication Date: 2026-06-19HANGZHOU DIANZI UNIV

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
HANGZHOU DIANZI UNIV
Filing Date
2023-05-10
Publication Date
2026-06-19

Smart Images

  • Figure CN117014436B_ABST
    Figure CN117014436B_ABST
Patent Text Reader

Abstract

This invention discloses a micro-task offloading method based on an improved NSGA-II algorithm, comprising the following steps: Step S1, establishing a user equipment and task model; Step S2, establishing a two-level edge server model; Step S3, establishing a latency and energy consumption model; Step S4, setting constraints; Step S5, determining the initial solution; Step S6, detailing the NEW-NSGA-II algorithm and its improvements compared to the original algorithm; Step S7, using the NEW-NSGA-II algorithm to make task offloading decisions and obtain the optimal solution; Step S8, evaluating the solution using an evaluation function. This method establishes a model with two layers of edge servers, with an overall architecture of "cloud - secondary edge server - primary edge server - user terminal". This model, combined with the NEW-NSGA-II algorithm, can provide highly reliable, low-latency edge processing capabilities.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of edge computing and heuristic algorithms, specifically a micro-task offloading method based on an improved NSGA-II. Background Technology

[0002] In an information-driven and intelligent society, the ever-increasing volume of data poses a severe challenge to traditional cloud computing architectures. In edge networks, users can offload computing tasks to edge nodes for processing, achieving a low-latency, low-power service experience. Mobile edge computing (MEC) has a unique advantage in processing data closer to the terminal. However, in real-world scenarios, numerous factors can affect the efficient connection between edge servers and terminal devices, such as user data privacy, the heterogeneity of edge devices, and the dependencies of computing tasks. Under the influence of these factors, how to efficiently offload tasks and complete computations has become a key challenge in edge computing.

[0003] To address the task offloading problem in mobile edge computing, most researchers currently employ heuristic algorithms and online intelligent learning methods to optimize one or more metrics such as latency, energy consumption, and load balancing. Regarding heuristic algorithms, some researchers model the problem as an integer partitioning problem, while others use evolutionary computation methods to find approximate solutions. In intelligent learning methods, most researchers use reinforcement learning or deep learning, leveraging neural networks for offloading decisions.

[0004] Most existing edge architectures adopt one of two patterns: "edge-to-device" or "cloud-edge-to-device." At the edge layer, most architectures use only one layer of edge servers. However, in real-world scenarios, under the constraints of time and space, a single-layer edge architecture still cannot meet the diverse task offloading requirements. Furthermore, from a task perspective, many models treat a single task as an indivisible unit, requiring it to be offloaded entirely to a single server for computation. In reality, complex tasks can be divided into many independent subtasks, which can be computed in parallel. Offloading these parallelizable subtasks to different edge servers can accelerate task processing time and significantly reduce latency.

[0005] In terms of heuristic algorithms, evolutionary algorithms remain a good choice for solving optimization problems. NSGA-II, as a non-dominated genetic algorithm with an elitist mechanism, has wide applications in optimization scheduling decisions. However, as the model becomes more complex, the convergence speed of NSGA-II slows down significantly, and iterating for a long time is not enough to find a satisfactory Pareto front. Therefore, the traditional NSGA-II is becoming increasingly unsuitable for increasingly complex unloading models. Summary of the Invention

[0006] To address the shortcomings of existing technologies, this invention proposes a micro-task offloading method based on an improved NSGA-II, which can provide highly reliable and low-latency edge processing capabilities.

[0007] To solve the above-mentioned technical problems, the technical solution of the present invention is as follows:

[0008] A micro-task offloading method based on an improved NSGA-II includes the following steps:

[0009] Step S1, establish user device and task models: used to break down a whole task into several micro-tasks. Specifically, these include: completely independent tasks, chained tasks, tree-like tasks, and graph-like tasks.

[0010] Step S2 establishes a two-tier edge server model, comprising an architecture of "cloud - secondary edge server - primary edge server - user terminal". The primary edge server has numerous nodes but limited resources and computing power, providing highly reliable, low-latency edge processing capabilities. The secondary edge server has a wide coverage area and stronger resources and computing power, capable of processing tasks offloaded from the primary edge server, but with higher latency. Simultaneously, the secondary edge server can manage network resources of the primary edge server. Compared to traditional single-tier edge servers, this two-tier edge server model offers more diverse task offloading and computation capabilities.

[0011] Step S3: Establish a latency and energy consumption model

[0012] Step S4: Set constraints

[0013] Step S5, determine the initial solution

[0014] Step S6 details the NEW-NSGA-II algorithm and its improvements compared to the original algorithm.

[0015] The differences between the algorithm and NSGA-II include:

[0016] (1) Add a reverse learning mechanism during initialization;

[0017] (2) Adopt a double-elimination system, instead of directly eliminating solutions with low fitness, add them to the loser's bracket and make appropriate mutations, and then select again;

[0018] (3) Adaptive mutation probability is adopted. The mutation probability is high in the early stage to expand the range of search solutions, and the mutation probability is reduced in the later stage to retain high-quality solutions as much as possible.

[0019] (4) Use learning mechanisms to reduce the blindness of crossover and mutation.

[0020] Step S7: The NEW-NSGA-Ⅱ algorithm is used to make a task offloading decision and obtain the optimal solution. A large number of optimization mechanisms are used, which greatly improves the convergence speed of the algorithm and makes the task have distributed characteristics, thus greatly reducing the latency.

[0021] Step S8: Use the evaluation function to evaluate the solution and solve the multi-objective optimization problem concerning time delay and energy consumption. The evaluation function is normalized using the min-max linear weighting method.

[0022] Preferably, four task dependency models are established, specifically including:

[0023] (1) Each micro-task derived from a completely independent task is independent and does not depend on other micro-tasks.

[0024] (2) Chain-type tasks consist of several chains of micro-tasks, and there are dependencies between the micro-tasks on each chain of micro-tasks;

[0025] (3) Micro-tasks in tree-type tasks have tree-like dependencies;

[0026] (4) Graph tasks are relatively complex, and the dependencies of the micro-tasks that are broken down form a directed acyclic graph (DAG), but it is also the most common.

[0027] This invention has the following characteristics and beneficial effects:

[0028] This invention proposes to establish a model with two layers of edge servers, with an overall architecture of "cloud - secondary edge server - primary edge server - user terminal". Among them, the primary edge server has many nodes but limited resources and computing power, and can provide highly reliable and low-latency edge processing capabilities.

[0029] Secondary edge servers have a wide coverage area and strong resources and computing power, and can compute tasks offloaded from primary edge servers, but the latency is relatively high.

[0030] Meanwhile, the secondary edge server can manage the network resources of the primary edge server. Compared with the traditional single-layer edge server, the two-tier edge server can provide more diverse task offloading and computing.

[0031] Furthermore, this invention divides a whole task into many independent micro-tasks. Some of these micro-tasks are dependent on each other, while others can be computed in parallel. Offloading tasks that can be computed in parallel to different edge servers for simultaneous computation can greatly speed up the processing time.

[0032] To address the slow convergence issue of the traditional NSGA-II algorithm, this invention proposes a new algorithm, NEW-NSGA-II. Compared with the traditional NSGA-II, the new algorithm makes the following improvements: It incorporates a reverse learning mechanism during initialization; it adopts a double-elimination system, instead of directly eliminating solutions with low fitness, it adds them to the loser group and performs appropriate mutations, then reselects; it employs adaptive mutation probability, with a high mutation probability in the early stages to expand the search range of solutions, and a lower mutation probability in the later stages to retain high-quality solutions as much as possible; and it uses a learning mechanism to reduce the blindness of crossover and mutation.

[0033] To address the task offloading problem with multi-level edge servers, this invention first breaks down a single task into several micro-tasks. Then, it uses the NEW-NSGA-Ⅱ algorithm to continuously adjust the offloading decisions of these micro-tasks, thereby continuously reducing the total cost related to latency and energy consumption. A better offloading strategy is achieved when the algorithm converges or reaches its maximum number of iterations.

[0034] Compared to offloading an entire task to a single edge server for computation, breaking down a task into several micro-tasks offers greater advantages in distributed computing, while parallel computing reduces the overall latency of task computation. Furthermore, dividing edge servers into two layers with different specifications and functions is more advantageous in handling diverse tasks and better meets the needs of complex real-world scenarios than having only one layer of edge servers. Attached Figure Description

[0035] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0036] Figure 1 It is a micro-task dependency graph;

[0037] Figure 2 This is a diagram of the MEC system architecture with two levels of edge servers;

[0038] Figure 3 This is a flowchart of the NEW-NSGA-Ⅱ algorithm in an embodiment of the present invention;

[0039] Figure 4 This is a diagram illustrating the specific operation of the learning mechanism. Detailed Implementation

[0040] It should be noted that, unless otherwise specified, the embodiments and features described in the present invention can be combined with each other.

[0041] In the description of this invention, it should be understood that the terms "center," "longitudinal," "lateral," "upper," "lower," "front," "rear," "left," "right," "vertical," "horizontal," "top," "bottom," "inner," and "outer," etc., indicating orientations or positional relationships based on the orientations or positional relationships shown in the accompanying drawings, are only for the convenience of describing the invention and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation, and therefore should not be construed as a limitation of the invention. Furthermore, the terms "first," "second," etc., are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of indicated technical features. Thus, a feature defined with "first," "second," etc., may explicitly or implicitly include one or more of that feature. In the description of this invention, unless otherwise stated, "a plurality of" means two or more.

[0042] In the description of this invention, it should be noted that, unless otherwise explicitly specified and limited, the terms "installation," "connection," and "linking" should be interpreted broadly. For example, they can refer to a fixed connection, a detachable connection, or an integral connection; they can refer to a mechanical connection or an electrical connection; they can refer to a direct connection or an indirect connection through an intermediate medium; and they can refer to the internal connection of two components. Those skilled in the art will understand the specific meaning of the above terms in this invention based on the specific circumstances.

[0043] This invention provides a micro-task offloading method based on an improved NSGA-II, the specific method of which is as follows:

[0044] Step S1:

[0045] In this edge computing model, there are a total of M User Terminal Equipment (UTE), UTE = {ute1, ute2, ..., ute...} M These devices will generate N tasks, and the task set is represented as Task={T1,T2,...,T...}. N}, a certain task T i Depend on i C i > indicates. Where S is... i C represents the amount of data generated by this task. i This indicates the number of CPU cycles required to complete the task.

[0046] In this model, task T i It can be broken down into n micro-tasks T i ={T i1 ,T i2 ,...,T in ​Some microtasks have dependencies, that is, the next microtask T... ik ,k (1,2,...,n) must wait for its predecessor micro-task T pre[ik] Execution can only begin after completion. Based on different dependencies, we categorize tasks composed of micro-tasks into four types: completely independent tasks, chained tasks, tree-like tasks, and graph-like tasks. The dependencies between micro-tasks within these categories are as follows: Figure 1 As shown. Each microtask derived from a completely independent task is independent and does not depend on other microtasks. A chained task consists of several chains of microtasks, with dependencies between microtasks on each chain. Tree-type tasks have tree-like dependencies between microtasks. Graph-type tasks are more complex, with the dependencies between the derived microtasks forming a directed acyclic graph (DAG), but this is also the most common. Currently, most complex computational tasks are partitioned into microtasks with graph-like dependencies.

[0047] Step S2:

[0048] The MEC system architecture diagram with two-tier edge servers is as follows: Figure 2 As shown, compared with other models, the biggest feature of this model is that it sets up two levels of edge servers with different functions and performance. There are a total of (K+L) edge servers in the two levels (K... L), computing power is F={f1,f2,...,f K+L K Level 1 Edge Servers (ES) 1st ={es1,es2,...,es K The system accepts computation tasks offloaded from nearby user terminal devices. If the current edge server is not idle, the task is offloaded from the current server to an adjacent idle edge server for computation. If both adjacent nodes are fully loaded, the task is offloaded from the current first-level edge server to the second-level edge server ES. 2nd ={es K+1 ,es K+2 ,...,es K+L Secondary edge servers have stronger computing power, but correspondingly, their geographical location is much farther from the user terminal, resulting in higher latency compared to primary servers. Meanwhile, ES... 2nd It also acts as a task scheduler, and when it is fully loaded and unable to provide timely computing services, it can distribute tasks to very remote Elasticsearch servers that cannot be directly offloaded by the current terminal device. 1st or ES 2nd Perform task calculations.

[0049] In summary, the two-tier edge servers make the following decisions:

[0050] Step S3:

[0051] Task T i The computation latency on the j-th edge server is f j This represents the computing power of the j-th edge server. Task data uploads typically use CDMA or OFDMA technology. According to Shannon's formula, the transmission rate from the user terminal device to the edge server is... ,in, Let ρd represent noise density, ρ1 and ρ2 represent fading factor and loss factor, respectively, B be the transmission channel bandwidth, d be the distance from the user terminal device to the edge server, and P be the transmission power. Therefore, the transmission delay from the user terminal device to the edge server is: = Ignoring the latency of returning the calculation results, task T i The total latency from offloading from the terminal device to computation on the edge server is + .

[0052] Task T i The computing energy consumption on the j-th edge server is =P j · , where P j Let be the computing power of edge server j. The energy consumption for uploading terminal data to the edge server is... P tra. , where P tra For transmission power. Therefore, task T... i The total energy consumption from offloading from the terminal device to the edge server for computation is The objective function is min( with min( ).

[0053] Step S4: The following constraints should be followed during task unloading and computation:

[0054] Each task can be broken down into several micro-tasks, but micro-tasks cannot be further broken down; they can only be offloaded as a whole to a primary edge server or a secondary edge server. Micro-tasks are the smallest unit of scheduling in this model.

[0055] The upload bandwidth cannot exceed the system's uplink bandwidth limit.

[0056] The terminal device that generates the task can only offload the task to an edge server within a certain distance range.

[0057] The computing resources allocated to the current task cannot exceed the maximum computing resources available to the edge server.

[0058] Step S5:

[0059] Taking a certain graph task T i For example, if this task can be broken down into n micro-tasks, then use X Ti ={es j1 ,es j2 ,...,es jn},es jk (jk (1,2,...,K+L) represents task T i A set of solutions for unloading. This invention will randomly generate 100 sets of solutions that meet the constraints in the initial stage. Simultaneously, using the objective function, the total time delay and total energy consumption of these solutions will be calculated.

[0060] Step S6:

[0061] The detailed algorithm flow of NEW-NSGA-Ⅱ is as follows: Figure 3 As shown, the highlighted parts are the components that are different from or added compared to NSGA-Ⅱ. Specific parameters are shown in Table 1.

[0062]

[0063] Table 1 Specific parameters of NEW-NSGA-II

[0064] Unlike the original NSGA-II, NEW-NSGA-II utilizes a reverse learning mechanism to generate reverse solutions for the 100 solutions in step S5. For example, solution X... Ti The inverse solution is If these solutions do not meet the constraints, they are discarded; otherwise, they are mixed with the 100 solutions in step S5 and their fitness is calculated. The top 100 solutions with the highest fitness are selected as new initial solutions.

[0065] The initial population is used as the parent generation and subjected to fast non-dominated sorting. A new offspring population is generated using selection, crossover, and mutation methods from traditional genetic algorithms, at which point the generation number is incremented by one. The offspring and parent populations are then mixed, and the objective function is calculated. The obtained latency and energy consumption pairs are subjected to fast non-dominated sorting, and an elitist strategy is used to select the top-ranked population as the new generation parent population. NEW-NSGA-Ⅱ adds eliminated populations to the loser group instead of discarding them directly. The new generation parent population and the loser group population are simultaneously subjected to selection, crossover, and adaptive mutation to generate a regular offspring population and a loser group offspring population. A learning mechanism is used to allow the regular offspring population to learn superior genes from their parents. Subsequently, the loser group offspring population, the learned regular offspring population, and the parent population are mixed, and another elitist strategy selection is performed. The generated new population becomes the new generation offspring population. At this point, it is checked whether the generation number has reached the system-specified maximum. If not, the generation number is incremented by one; otherwise, the program terminates.

[0066] Step S7:

[0067] Substituting the 100 unloading decision solutions and their corresponding 100 inverse solutions into the objective function yields 200 pairs of energy consumption and time delay. These 200 pairs are then sorted using a fast non-dominated algorithm, and the top 100 pairs with the highest Pareto scores are selected. The corresponding 100 unloading decision solutions are then used as the new initial solutions. Compared to the original algorithm, the new algorithm's initial solutions have a greater potential to approach the optimal solution.

[0068] The new initial population undergoes fast non-dominated sorting, selection, crossover, and mutation to obtain the first generation of offspring. The parent and offspring populations are then mixed, and the objective function values ​​of all solutions are calculated, resulting in pairs relating time delay and energy consumption. The top 100 groups with the highest Pareto rankings are selected as the new generation of parent populations. Simultaneously, eliminated solutions are not discarded but added to the loser group. Both the loser group and the parent population undergo selection, crossover, and adaptive mutation (mutation probability decreases with each generation), resulting in the loser group offspring population and the regular offspring population, respectively. Since crossover and mutation are somewhat blind, the regular offspring population employs a learning mechanism to learn the superior genes from the parent generation, i.e., some excellent unloading strategies. The specific operation of the learning mechanism is as follows: Figure 4 As shown. Afterwards, the parent generation, the learned regular offspring, and the loser group offspring are mixed to form a new population, and a new round of selection and elimination is performed until the maximum number of generations is reached. After reaching the maximum number of generations, the last generation of offspring is substituted into the objective function, and the resulting Pareto front is the optimal solution set of this algorithm.

[0069] Step S8:

[0070] This problem is a multi-objective optimization problem concerning latency and energy consumption. The evaluation function is normalized using a min-max linear weighting method. For task T... i The objective function value obtained in this solution is and The evaluation function is then F = α. +β ,(α+β=1). Where α and β are the dynamic weights of latency and energy consumption, and their specific values ​​depend on the sensitivity of the current task to latency and energy consumption. and For this task T i The maximum and minimum latency values ​​among all unloading decisions. and For this task T i The maximum and minimum energy consumption among all unloading decisions. The smaller the F value, the better the solution.

[0071] The embodiments of the present invention have been described in detail above with reference to the accompanying drawings, but the present invention is not limited to the described embodiments. For those skilled in the art, various changes, modifications, substitutions, and variations can be made to these embodiments, including components, without departing from the principles and spirit of the present invention, and these variations still fall within the protection scope of the present invention.

Claims

1. A micro-task offloading method based on an improved NSGA-II, characterized in that, Includes the following steps: S1. Establish user equipment and task models In the edge computing model, establish M user devices UTE={ute1,ute2,...,ute...} M The user equipment will generate N tasks, and the task set is represented as Task={T1,T2,...,T...} N }, a certain task T i Depend on i C i > indicates that, where S i C represents the amount of data generated by this task. i This indicates the number of CPU cycles required to complete the task;​ Task T i It can be broken down into n micro-tasks T i ={T i1 ,T i2 ,...,T in }; S2. A MEC system model with two levels of edge servers, wherein there are K+L edge servers in total, where K L, computing power is F={f1,f2,...,f K+L The two-tier edge server system includes K primary edge servers (ES). 1st ={es1,es2,...,es K } and L secondary edge servers ES 2nd ={es K+1 ,es K+2 ,...,es K+L }; S3. Establish a time delay and energy consumption model, with the objective function as follows: min( given min( ) The transmission latency from the user terminal device to the edge server is... = ,in, Let T be the transmission rate from the user terminal device to the edge server, ignoring the latency of returning the calculation results. i The total latency from offloading from the terminal device to computation on the edge server is + ; Task T i The computing energy consumption on the j-th edge server is =P j · ,in For task T i The computation latency f on the j-th edge server j P represents the computing power of the j-th edge server. j Let be the computing power of edge server j, and let be the energy consumption for uploading terminal data to edge server. P tra. , where P tra For transmission power; then, task T i The total energy consumption from offloading from the terminal device to the edge server for computation is ; S4. Establish constraints; The constraints are as follows: Each task can be broken down into several micro-tasks, but micro-tasks cannot be further broken down. They can only be offloaded as a whole to a first-level edge server or a second-level edge server. Micro-tasks are the smallest unit of scheduling in this model. Upload bandwidth cannot exceed the system's uplink bandwidth limit; The terminal device that generates the task can only offload the task to an edge server within a certain distance range; The computing resources allocated to the current task cannot exceed the maximum computing resources available to the edge server; S5. Determine the initial solution Task T i If it can be broken down into n micro-tasks, then use X. Ti ={es j1 ,es j2 ,...,es jn },es jk jk (1,2,...,K+L) represents task T i The unloaded solution generates 100 solutions that meet the constraints in the initial stage. At the same time, the total time delay and total energy consumption of these solutions are calculated using the objective function and used as the initial solution. S6. Establish the NEW-NSGA-Ⅱ algorithm and use the NEW-NSGA-Ⅱ algorithm to make task unloading decisions and obtain the optimal solution; The NEW-NSGA-Ⅱ algorithm is established as follows: using a reverse learning mechanism, reverse solutions to the 100 solutions in step S5 are generated; In step S6, the method for obtaining the optimal solution using the NEW-NSGA-Ⅱ algorithm is as follows: Solution X Ti The inverse solution is expressed as follows: ; If these solutions do not meet the constraints, they are discarded; otherwise, they are mixed with the 100 solutions in step S5 and their fitness is calculated. The top 100 solutions with the best fitness are selected as new initial solutions. The new initial solutions are processed through fast non-dominated sorting, selection, crossover, and mutation to obtain the first generation of offspring. The parent and offspring populations are then mixed, and the objective function values ​​of all solutions are calculated to obtain pairs related to latency and energy consumption. The top 100 groups with high Pareto rankings are selected as the new generation of parent populations. Meanwhile, eliminated solutions are not directly discarded but added to the loser group. The loser group population and the parent population undergo selection, crossover, and adaptive mutation simultaneously to obtain the loser group offspring population and the regular offspring population, respectively. The regular offspring population adopts a learning mechanism to learn the superior genes of the parent generation, i.e., some excellent unloading strategies. Subsequently, the parent generation, the learned regular offspring, and the loser group offspring populations are mixed to obtain a new population, and a new round of selection and elimination is carried out until the maximum number of generations is reached. After reaching the maximum number of generations, the last generation of offspring population is substituted into the objective function, and the Pareto front obtained is the optimal solution set of this algorithm. S7. The solution is evaluated using an evaluation function, which is normalized using a min-max linear weighting method.

2. The micro-task offloading method based on the improved NSGA-II according to claim 1, characterized in that, In step S1, the micro-tasks have dependencies, that is, the next micro-task T... ik ,k (1,2,...,n) must wait for its predecessor micro-task T pre[ik] Execution can only begin once it is completed.

3. The micro-task offloading method based on the improved NSGA-II according to claim 2, characterized in that, In step S1, based on different dependencies, the tasks composed of micro-tasks are divided into the following four types: completely independent tasks, chain tasks, tree tasks, and graph tasks.

4. The micro-task offloading method based on the improved NSGA-II according to claim 1, characterized in that, In step S2, the decisions of the two-level edge servers are as follows: 。 5. A micro-task offloading method based on an improved NSGA-II according to claim 1, characterized in that, In step S6, the method for calculating fitness is as follows: Substitute the 100 solutions from step S5 and their corresponding 100 inverse solutions into the objective function to obtain 200 pairs of energy consumption and time delay; perform fast non-dominated sorting on these 200 pairs and select the top 100 pairs with the highest Pareto order.

6. A micro-task offloading method based on an improved NSGA-II according to claim 5, characterized in that, The specific method for step S7 is as follows: For task T i The objective function value obtained in this solution is and Then the evaluation function is F=α +β , where α+β=1, where α and β are dynamic weights of latency and energy consumption, and their specific values ​​depend on the sensitivity of the current task to latency and energy consumption; and For this task T i The maximum and minimum latency values ​​among all unloading decisions; and For this task T i The maximum and minimum energy consumption among all unloading decisions; the smaller the F value, the better the solution.