key: cord-0899501-pe0sxnym authors: Hassan, Said Ali; Agrawal, Prachi; Ganesh, Talari; Mohamed, Ali Wagdy title: Scheduling shuttle ambulance vehicles for COVID-19 quarantine cases, a multi-objective multiple 0–1 knapsack model with a novel Discrete Binary Gaining-Sharing knowledge-based optimization algorithm date: 2021-05-21 journal: Data Science for COVID-19 DOI: 10.1016/b978-0-12-824536-1.00034-4 sha: 61fe9529448d4b68ee3f979e4316da8f6c4ab209 doc_id: 899501 cord_uid: pe0sxnym The purpose of this paper is to present a proposal for scheduling shuttle ambulance vehicles assigned to COVID-19 patients using one of the discrete optimization techniques, namely, the multi-objective multiple 0–1 knapsack problem. The scheduling aims at achieving the best utilization of the predetermined planning time slot; the best utilization is evaluated by maximizing the number of evacuated people who might be infected with the virus to the isolation hospital and maximizing the effectiveness of prioritizing the patients relative to their health status. The complete mathematical model for the problem is formulated including the representation of the decision variables, the problem constraints, and the multi-objective functions. The proposed multi-objective multiple knapsack model is applied to an illustrated case study in Cairo, Egypt, the case study aims at improving the scheduling of ambulance vehicles in the back and forth shuttle movements between patient’ locations and the isolation hospital. The case study is solved using a novel Discrete Binary Gaining-Sharing knowledge-based optimization algorithm (DBGSK). The detail procedure of the novel DBGSK is presented along with the complete steps for solving the case study. An illustrative case study in Cairo, Egypt, with all relative data is explained in Section 5. Its complete mathematical model is formulated. In Section 6, a novel Discrete Binary version of a recently developed gaining-sharing knowledge-based technique (GSK) is introduced for solving the (SSAV). GSK cannot solve the problem with discrete binary space; therefore, Discrete Binary-GSK optimization algorithm (DBGSK) is proposed with two new discrete binary junior and senior stages. These stages allow DBGSK to inspect the problem search space efficiently. Section 7 represents the experimental results of (SSAV) obtained by DBGSK, and Sections 8 gives the conclusions and the suggested points for future researches. Suddenly, as a part of this world, we found ourselves face to face in front of a battle with COVID-19, the virus that necessitated tackling it, honing all medical efforts, and raising the level of preparedness in all sectors of health concerned. Doctors and nursing make extraordinary efforts, but we must not forget the link among them and patients, they are the ambulance specialists who take nonstop daily trips to and from homes to isolation hospitals. They are battlefield partners who are indifferent to the seriousness and obstacles they face. The workers in the ambulance system make great sacrifices; they work in very difficult conditions and play an important pivotal role in facing the emerging crisis of Coronavirus to prevent the spread of this epidemic. All of them are heroes at the forefront of the first line in the face of this dreaded global epidemic that threatens all countries. The ambulance facility is the unknown soldier facing Coronavirus, where the personnel make a great effort and play a heroic role, and they deserve our support and honor. The telephone communication rates at the ambulance facility have increased significantly during this period, as the number of phone calls that the ambulance agency receives is about 2500 calls per day from the governorates of Greater Cairo. The ambulance facility transmits 60 to 170 daily cases of suspicion from homes to hospitals and ambulance workers work around the clock to transfer suspected people with Coronavirus to places of isolation and medical examination. The current plan of the ambulance facility is to maintain an enough ambulance equipped with their crew on standby. They are ready to deal with any Corona situation that appears in the province, whether positive or suspected. The authority has also an alternative scenario to prepare other cars for each governorate in case the conditions change for the worst. There are enough drivers and paramedics, all of whom receive continuous training. It is not possible to use a paramedic for real-time interaction before he goes through entire practical training through simulated experiments. The ambulance operations room receives the reports through a contracting company, which sends the communication in writing to appear on the screen with details of the case, name, address, and all relevant data. The operations room employee immediately begins dealing with it and calls the ambulance to the location of the caller. He continues to follow the case to make sure it arrives to the hospital. Data are recorded on-screen to calculate the report receipt time, response time, and status arrival. The ambulance specialists wear the uniforms assigned to them in such cases. During the isolation trip, they are busy with the patient following for oxygen, especially if he suffers from shortness of breath, as well as to the heartbeat through screens and devices. They are also in constant contact with the ambulance facility and recipients for any change in instructions or trip details. The geographical scope of ambulance work is divided into sectors, where a hospital is designated for medical isolation of the suspected cases and several ambulances are allocated for corona only. The operating room receives the reports, and a schedule is prepared according to the geographical location and the condition of the patient [6] . Ambulance drives in shuttle movement back and forth from the isolation hospital to the places of suspected COVID-19 infection, Fig. 37 .1. Here, scientific methods must be used to ensure the best scheduling of ambulances. The ultimate objective is to carry out the evacuation duties by making the best use of available time. Two competing objectives arise: transporting the largest number of suspects patients, while also considering the priority of cases according to their health status. This statement of this problem resembles the well-known Multi-objective Multiple 0e1 Knapsack Problem. The KP is a fundamental problem in combinatorial optimization. The KP involves the maximization or minimization of a value, such as profits or costs. A knapsack can only hold a certain weight or volume that can accommodate different types of items but with limitation in total volume, weights, or both. The question is to decide the number of each item to pick-up so that to minimize the total cost or to maximize the total profit [7] . In the Integer type KP, items can have arbitrary integer values, whereas the 0e1 KP limits the number of each type to 0 or 1. The 0e1 KP does not allow the user to put multiple copies of the same items in their knapsack. The 0e1 knapsack is a special case in which each input can be loaded or not into the knapsack. There are other variants of KP like the Multi-dimensional 0e1 KP [8e11] or the Multiple 0e1 Knapsack Problem [12e14]. The integer KP and the 0e1 KP can be solved using some designed dynamic programming algorithms by deriving a recurrence equation expressing a solution to an instance in terms of solutions to its small-scale instances [15] . Dynamic Programming follows the principle of optimality to reach the final solution [16] . The 0e1 KP and its versions are famous NP-hard problems; dynamic programming technique can solve such problems in pseudo-polynomial time [17] . In combinatorial optimization problems like that of KP, exact methods are impractical in finding an optimal solution because the run time is exponentially increased as the problem size increases [18] . Therefore, interest in the application of the metaheuristic algorithms has become necessary to solve these problems and obtain the results in a reasonable time [19e22] . The 0e1 KP can be solved also by greedy genetic algorithm (GA), GA, and rough set theory and ant weight-lifting algorithm [23] . One interesting generalization of KP is the MKP, where a set of items and a set of knapsacks are given [24] . Each item has a size and a profit value, and each knapsack has a capacity. The goal of the MKP is to find a subset of maximum total profit such that the picked items can be packed into the knapsacks without exceeding their capacities [25e27]. It is well-known that the MKP is NP-hard. Therefore, it is reasonable to design an approximation algorithm to find a feasible solution for the MKP [28] . Various heuristic and exact methods have been devised to solve it. GA shows good performance on solving static optimization problem [29] . In MOKP, a major challenge is to generate efficient solutions that have the property that no improvement on any objective is possible without sacrificing on at least another objective. A survey and an annotated bibliography about multi-objective combinatorial optimization (MOCO) can be found in Ref. [30] . Many real-world applications are reported in the multi-objective case dealing with capital budgeting, selection of transportation investment alternatives, relocation issues arising in conservation biology, and planning remediation of contaminated lightstation sites [31] . Several exact approaches have been proposed in the literature to find the efficient set especially designed for the bi-objective case [32e34]. Besides exact methods investigated in this paper, approximation algorithms [35] and metaheuristics [36e38] have been proposed. Many evolutionary algorithms (EAs) for solving multi-objective 0/1 KP are proposed [39] . In the case of multi-objective EAs, the outcome is usually an approximation of the Pareto-optimal set, which is denoted as an approximation set, [35, 40, 41] . The MOMKP combines the two cases of MOKP and the multiple knapsack problem (MKP). Many approximate solution methods have been developed to solve MOMKP [42] . EAs have been successfully applied to MOCO problems in the last decades. EAs maintain a population of solutions, and thus they can obtain multiple efficient solutions in a single run [43] . The Shuttle Ambulance Scheduling (SAS) is defined as follows: -Each patient place is visited only once by only one ambulance vehicle. -The shuttle ambulance performs several shuttle movements for transferring each patient from his place to the isolation hospital, the process is performed back and forth repeatedly limited by the time the scheduling time slot. -The overall goal of the problem to be achieved is the best utilization of the available time expressed by two competing objectives: maximizing the number of evacuated patients and maximizing the efficiency through prioritizing dangerous cases. The model will be formulated as multi-objective multiple 0e1 knapsack problem as follows: Decision Variables: Let: if patient i is approached by the Ambulance car number m; i¼1; 2; . ; m and j¼1; 2; . ; n. 0; otherwise. (1) Patients constraints: Each patient i is either approached by only one ambulance vehicle or not picked up in the considered time slot: (2) Time slot constraints: Time slot T is the time spent planning and scheduling movements of the ambulance vehicle according to received calls. The total time spent by the shuttle ambulance in all transportation segments in the current time segment t consists of traveling, riding patient, and handing him over should be within the available slot time T. where: t 0i ¼ Transportation time between the isolation hospital and patient place i, i ¼ 1, 2, ., n. The first part is for traveling from the isolation hospital (denoted by 0) to all the picked-up patient' places forth and back, the second part is the sum of riding time of patients to the ambulance, and the third part is the sum of handing over times of patient at the hospital. (3) Binary constraints: All the decision variables are 0e1. To avoid the trivial solution that all patients are assigned to one ambulance vehicle, the following condition should hold: The traveling from the isolation hospital to all the picked-up patient' places forth and back, the sum of riding time of patients to the ambulance and the sum of handing over times of patient at the hospital should be greater than the considered scheduled time slot. This condition should be checked before writing the mathematical model: In case of violation, then all patients can be transported in one vehicle and no need to perform scheduling process. In this case, priority should be given to cases with severe health conditions. The COVID-19 crisis operation room decided on two main competing objectives, the first is to maximize the total number of evacuated patients, and the second one is to give priorities depending on the patient's conditions in terms of his age, health, and number of contacts who are close to him. The problem is then a multi-objective one with two objectives. The Multi-Objective Optimization (MOO) refers to finding the optimal solution values of more than one desired objective. The motivation in MOO is that it allows for a compromise (trade-off) on some contradictory issues. There is a vector of the objective function in a MOO; there is no single best solution for all purposes, but rather several solutions. The weighted sum or scalarization method is one of the classic (MOO) methods; it puts a set of objectives into one by adding each objective premultiplied by a user-supplied weight. The weight of an objective is chosen in proportion to the relative importance of the objective. A large weight that is given to an objective function shows that said function has a higher priority compared to the ones with a smaller weight. The weighted sum method is simple, but it is difficult to set the weight vectors to obtain a Pareto-optimal solution in a desired region in the objective space, and it cannot find certain solutions in case of a nonconvex objective space. The predominant concept in defining an optimal point is that of Pareto optimality [44] . In the scalarization method, answer is a set of solutions that define the best trade-off between competing objectives that form in its entirety the nondominated Paretooptimal set for the problem. The boundary defined by the set of all point mapped from the Pareto-optimal set is the Pareto-optimal front [45] . The weighted sum approach treats the MOO as composite objective function [46] . The composite objective function is expressed as follows: where w i is the positive weight values, f i ðxÞ is one of the objective functions and q is the number of objective functions. Maximizing Z will provide an enough condition for optimal multiobjective solution to be found. Since the objective of this research is to provide a compromise between maximizing of Total Relative Importance (TRI) and maximizing of Total Number of Patients (TNP), and the following composite objective functions are considered: The weights w 1 and w 2 are related based on the following expression: where p i is the relative importance of patient No i. Considering that the available medical equipment of ambulance vehicles is different, then a variation of priorities in riding up ambulance vehicles will vary, and this will be considered by giving higher weights to better vehicles. From (a, b, and c) , and the composite objective function will be: where p p i ¼ Priority of patient number i based on his medical status. p a j ¼ Priority assigned to ambulance vehicle number j, more priority is given to more equipped vehicles. To assign the proper weightage values in Eq. (37.5), an investigation is carried out by varying the value w 1 from 1 to 0 with a step size of 0.1. This is done to observe the significance of each weightage set toward the objective function [47] . Finally, we have a suggested model that contains (m. n) binary variables and (m þ n) constraints. Any final chosen efficient solution will produce two distinct situations: (1) If all x j i , c i and j, then all patients are transported to the hospital during the planned time slot, this problem is completed, and the planning team will go to the following time slot. The solution procedure is presented in Fig. 37 .2. The illustrated case study will take place in Cairo, Egypt, Fig. 37 .2. During a given time slot of 120 min, the ambulance operation room received 10 calls from suspicious patients to be transported to the isolation hospital. Table 37 .1 and Fig. 37.3 show names and positions of the locations of different patients. Time for riding a patient to the ambulance vehicle, t r i and time of handing over patient to the isolation hospital t h i are estimated to be equal for all patients to be as follows: t r i ¼ 8 min and t h i ¼ 2 min. After considering the opinion of a group of specialists practicing this work in these sites for many years, Table 37 .2 shows the time required to travel from each site to another and the extension time required for each local unit. The mathematical formulation for the given case is worked out by substituting in the previously described model for the given problem (Fig. 37.4) . Metaheuristic approaches are developed for the complex optimization problems with continuous variables. Mohamed et al. [48] recently proposed a novel Gaining-Sharing Knowledge-based optimization algorithm (GSK), setup on acquiring knowledge and share it with others throughout their lifetime. The original GSK solves optimization problems over continuous space, but it cannot solve the problem with binary space. So, a new variant of GSK is introduced to solve the proposed (SSAV). A novel DBGSK is proposed over discrete binary space with new binary junior and senior gaining and sharing stages. On the other hand, there are many constraint handling techniques in the literature [49e51]. In their work, the augmented Lagrangian method is used in which an unconstrained optimization problem is obtained from a constrained optimization one [52, 53] . The proposed methodology is described below: An optimization problem with constraints is worked out as: Min f ðXÞ; X ¼ ½x 1 ; x 2 ; . ; x Dim s.to. g i ðXÞ 0; i ¼ 1; 2; . ; m . ; Dim where f denotes the objective function; X ¼ ½x 1 ; x 2 ; .; x Dim are the decision variables; g i ðX Þ are the inequality constraints; and a p ; b p are the lower and upper bounds of decision variables, respectively, and Dim represents the dimension of individuals. If the objective function is in maximization form, then consider minimization ¼ -maximization. The human-based algorithm GSK is of two-stages: junior and senior gaining and sharing stage. All persons acquire knowledge and share their views with others. The people from early-stage gain knowledge from their small networks such as family members, relatives, neighbors, etc., and want to share their opinions with the others who might not be from their networks because of curiosity of exploring others. These may not have the experience to categorize the people. In the same way, the people from the middle or later age enhance their knowledge by interacting with friends, colleagues, social media friends, etc., and share their views with the most suitable person, so that they can improve their knowledge. These people have the experience to judge other people and can categorize them (good or bad). The process mentioned above can be formulated mathematically in the following steps: Step 1: To get a starting point of the optimization problem, the initial population must be obtained. The initial population is created randomly within the boundary constraints as: where t is for the number of populations; rand p denotes random number uniformly distributed in 0e1 range. Step 2: At this step, the dimensions of junior and senior stages should be computed through the following formula: where k ð > 0Þ denotes the learning rate that monitors the experience rate. Dim J and Dim S represent the dimension for the junior and senior stage, respectively. Gen max is the maximum count of generations, and G is the count of generation. Step 3: Junior gaining sharing knowledge stage: In this stage, the early aged people gain knowledge from their small networks and share their views with the other people who may or may not belong to their group. Thus, individuals are updated through as: i. According to the objective function values, the individuals are arranged in ascending order. For every x t ðt ¼ 1; 2; .; NPÞ, select the nearest best ðx tÀ1 Þ and worst ðx tþ1 Þ to gain knowledge, also choose randomly ðx r Þ to share knowledge. Therefore, to update the individuals, the pseudo-code is presented in Fig. 37 .5. where k f ð > 0Þ is the knowledge factor. Step 4: Senior gaining sharing knowledge stage: This stage comprises the impact and effect of other people (good or bad) on the individual. The updated individual can be determined as follows: i. The individuals are classified into three categories (best, middle, and worst) after sorting individuals into ascending order (based on the objective function values). Best individual ¼ 100 p% (x best ), middle individual ¼ Dim À 2 à 100 p% (x middle ), worst individual¼100 p% (x worst ) For every individual x t , choose the top and bottom 100 p% individuals for gaining part and the third one (middle individual) is chosen for the sharing part. Therefore, the new individual is updated through the following pseudo-code dictated in Fig. 37 .6, where p˛½0; 1 is the percentage of best and worst classes. To solve problems in discrete binary space, a novel DBGSK is suggested. In DBGSK, the new initialization and the working mechanism of both stages (junior and senior gaining sharing stages) are introduced over discrete binary space, and the remaining algorithms remain the same as the previous one. The working mechanism of DBGSK is described in the upcoming subsections: A first population is obtained in GSK using Eq. (37.6), and it must be updated using the following equation for binary population: x 0 tp ¼ roundðrandð0; 1ÞÞ (37.9) where the round operator is used to convert the decimal number into the nearest binary number. This stage is based on the original GSK with k f ¼ 1. The individuals are updated in original GSK using the pseudo-code (Fig. 37.6 ) which contains two cases. These two cases are defined for discrete binary-stage as follows: Case 1: When f ðx r Þ < f ðx t Þ : There are three different vectors (x tÀ1 ; x tþ1 ; x r ), which can take only two values (0 and 1). Therefore, a total of 2 3 combinations are possible, which are listed in Table 37 .3. Furthermore, these eight combinations can be categorized into two different subcases [(a) and (b)] and each subcase has four combinations. The results of each possible combination are presented in Table 37 .3. Subcase (a): If x tÀ1 is equal to x tþ1 , the result is equal to x r . Subcase (b): When x tÀ1 is not equal to x tþ1 , then the result is the same as x tÀ1 by taking À1 as 0 and 2 as 1. The mathematical formulation of Case 1 is as follows: Case 2: When f ðx r Þ ! f ðx t Þ : There are four different vectors (x tÀ1 ; x t ; x tþ1 ; x r ) that consider only two values (0 and 1). Thus, there are 2 4 possible combinations that are presented in Table 37 .4. Moreover, the 16 combinations can be divided into two subcases [(c) and (d)] in which (c) and (d) has four and 12 combinations, respectively. Subcase (c): If x tÀ1 is not equal to x tþ1 , but x tþ1 is equal to x r , the result is equal to x tÀ1 . Subcase (d): If any of the condition arises x tÀ1 ¼ x tþ1 sx r or x tÀ1 sx tþ1 sx r or x tÀ1 ¼ x tþ1 ¼ x r , the result is equal to x t by considering À1 and À2 as 0, and 2 and 3 as 1. Table 37. 3 Results of the discrete binary junior gaining and sharing stage of Case 1, k f ¼ 1. Chapter 37 Scheduling shuttle ambulance vehicles for COVID-19 689 The mathematical formulation of Case 2 is as The working mechanism of discrete binary senior gaining and sharing stage is the same as the binary junior gaining and sharing stage with value of k f ¼ 1. The individuals are updated in the original senior gaining sharing stage using pseudo-code ( Fig. 37 .7) that contains two cases. The two cases further modified for binary senior gaining sharing stage in the following manner: Case 1: f ðx middle Þ < f ðx t Þ: It contains three different vectors (x best ; x middle ; x worst ), and they can assume only binary values (0 and 1), thus total eight combinations are possible to update the individuals. These total eight combinations can be classified into two subcases [(a) and (b)] and each subcase contains only four different combinations. The obtained results of this case are presented in Table 37 .5. Subcase (a): If x best is equal to x worst , then the obtained results are equal to x middle : Subcase (b): On the other hand, if x best is not equal to x worst , then the results are equal to x best with assuming À1 or 2 equivalent to their nearest binary value (0 and 1, respectively). Case 1 can be mathematically formulated in the following way: Table 37 .6. Subcase (c): When x best is not equal to x worst and x worst is equal to x middle , then the obtained results are equal to x best . Subcase (d): If any case arises other than (c), then the obtained results is equal to x t by taking À2 and À1 as 0 and 2 and 3 as 1. The mathematical formulation of Case 2 is given as The pseudo-code of DBGSK is presented in Fig. 37 .7. The (SSAV) is handled by using the proposed novel DBGSK algorithm; the used parameters are presented in Table 37 .7. DBGSK runs over personal computer Intel CoreTM i5-7200U CPU @ 2.50 GHz and 4 GB RAM and coded on MATLAB R2015a. To get the compromise or effective solutions, 30 independent runs are complete, and the Table 37 .6 Results of discrete binary senior gaining and sharing stage of Case 2 with k f ¼ 1. x best x t x worst x middle Results Modified results obtained statistics are provided in Table 37 .8, including the best, median, average, worst solutions, and the standard deviations at the three groups of weights. Moreover, Fig. 37 .8 shows the convergence graph of the solutions of (SSAV) using first group of the weights from the figure, it can be observed that after the 57th iteration, it converges to the global optimal solution (14.8), which shows high-convergence speed of DBGSK. The effective solutions for the problem for different weights of the two objective functions are presented in Table 37 .9. The effective solution x 1 9 , x 1 10 ; x 2 5 ; and x 2 6 ¼ 1 is obtained for w 1 in the range [0.6:1], the effective solution x 1 9 , x 1 10 ; x 2 1 ; x 2 2 , and x 2 5 ¼ 1 is obtained for w 1 in the range [0.3:0.5] and the effective solution x 1 1 , x 1 2 ; x 1 3 ; x 1 4 , x 2 5 , and x 2 10 ¼ 1 is obtained for w 1 in the range [0.0:0.2]. It can be seen that as the relative weight for the objective function representing the number of patients increases (and that for the status of patients decreases), the number of patients transported to the isolation hospital increases from four to and then to six. The shuttle routes and the total times are provided for both ambulance vehicles can be seen in Fig. 37.9 . In the first effective solution, the first ambulance vehicle will transport patient number 9 and then patient number 10, while the second ambulance vehicle will transport patient number 5 and then patient number 6 with total time for each vehicle ¼ 120 min which is by chance exactly equals to the available time slot. The main conclusions for this paper can be summarized as follows: 1. An improved scheduling the shuttle ambulance vehicles for COVID-19 patients problem is presented. The scheduling is aiming at achieving the best utilization of the available time slot, which is determined by to competing objectives of maximizing the total number of evacuated patients and considering the priorities of patients according to their health status. 2. Scheduling the shuttle ambulance vehicles for COVID-19 patients' problem formulation looks like that of the MOMKP. 3. A binary constrained multi-objective multiple 0e1 Knapsack mathematical model is formulated for the given problem. The binary decision variables represent candidate patients to be transported to the isolation hospitals. The obtained mathematical model and the solution method for obtaining efficient solutions are used to solve an illustrated case study in Cairo, Egypt. The proposed problem is solved by a novel DBGSK, which involves two main stages: Discrete Binary Junior and Senior gaining and sharing stages with a knowledge factor k f ¼ 1. DBGSK is discrete binary variant of GSK that solves the problem with binary decision variables. 5. DBGSK shows that it has the ability of finding the solutions of the problem, and the obtained results demonstrate the robustness and convergence of DBGSK toward the efficient solutions. The points for future researches can be stated in the following points: 1. To propose other mathematical models' formulation for the same problem comprising designing the objective function, decision variables and constraints and then comparing the effectiveness of computations for each model. To extend the problem to cover possible variations like the Stochastic case and other variations. The stochastic situations may include preparedness of the ambulance vehicles, transportation times, times for riding patients to the ambulance vehicles, and handing them over to the isolation hospital. To build an online decision support system that can handle streaming calls to the ambulance facility, and in turn, update instantaneously the schedule of ambulance vehicles for such an important problem 4. To check the performance of the DBGSK approach in solving different complex optimization problems, and further works can be investigated by the extension of DBGSK with different kinds of constraint handling methods. Genome Detective Coronavirus Typing Tool for rapid identification and characterization of novel coronavirus genomes The Lancet website, A Novel Coronavirus Outbreak of Global Health Concern, Retrieved on World Health Organization website, Guidance for Health Workers Ambulance Services Working Collaboratively with Community Partners, Association of Ambulance Chief Executives Quantitative analysis for management Ant algorithm for the multi-dimensional knapsack problem Ant Colony Optimization for Multiple Knapsack Problem and Heuristic Model Ant colony optimization for multiple knapsack problem and model bias Probabilistic model of ant colony optimization for multiple knapsack problem An ant colony optimization approach for the multi-dimensional knapsack problem Solving the multi-dimensional multi-choice knapsack problem with the help of ants An ant colony optimization algorithm for solving the multidimensional knapsack problems A survey on design paradigms to solve 0/1 knapsack problem Introduction to the Design and Analysis of Algorithms Multidimensional Knapsack Problems Nature-inspired optimization algorithms in knapsack problem: a review Metaheuristics: From Design to Implementation Binary accelerated particle swarm algorithm (BAPSA) for discrete optimization problems Cuckoo Search and Firefly Algorithm: Theory and Applications Recent Advances in Swarm Intelligence and Evolutionary Computation Literature review on implementing binary knapsack problem The use of the multiple knapsack problem in strategic management of a private Polish university A polynomial time approximation scheme for the multiple knapsack problem Parameterized approximation scheme for the multiple knapsack problem A fast approximation scheme for the multiple knapsack problem The Multiple Knapsack Problem with Compatible Bipartite Graphs A genetic algorithm for the multiple knapsack problem in dynamic environment A survey and annotated bibliography of multiobjective combinatorial optimization A practical case of the multiobjective knapsack problem: design, modelling, tests and analysis Dynamic programming approaches to the multiple criteria knapsack problem Solving bicriteria 0e1 knapsack problems using a labeling algorithm Core Problems in the Bi-criteria {0, 1} Knapsack: New Developments Approximating multiobjective knapsack problems Tabu search based procedure for solving the 0-1 multiobjective knapsack problem: the two objectives case A scatter search method for bi-criteria {0, 1}-knapsack problems Integrating partial optimization with scatter search for solving bi-criteria {0, 1}-knapsack problems A New Evolutionary Algorithm for the Multiobjective 0/1 Knapsack Problem Performance metrics for multiobjective optimization evolutionary algorithms Performance assessment of multiobjective optimizers: an analysis and review A multi-objective particle swarm optimization for multiple knapsack problem with strong constraints An evolutionary algorithm for the multi-objective multiple knapsack problem Survey of multi-objective optimization methods A review of multi-objective optimization: methods and its applications Economic/emission load dispatch using artificial Bee colony algorithm Multiobjective optimization using weighted sum artificial bee colony algorithm for load frequency control Gaining-sharing knowledge-based algorithm for solving optimization problems: a novel nature-inspired algorithm An efficient constraint handling method for genetic algorithms Theoretical and numerical constraint-handling techniques used with evolutionary algorithms: a survey of the state of the art Effectiveness of Constrained Handling Techniques of Improved Constrained Differential Evolution Algorithm Applied to Constrained Optimization Problems in Mechanical Engineering A hybrid differential evolution augmented Lagrangian method for constrained numerical and engineering optimization Improving the performance of water cycle algorithm using augmented Lagrangian method