背包问题:珍鲹优化算法(GTO)求解背包问题(Knapsack Problem,KP)

作品简介

一、背包问题

参考文献:

[1]耿亚,吴访升.基于粒子群-模拟退火算法的背包问题研究[J].控制工程,2019,26(05):991-996.

二、珍鲹优化算法

珍鲹优化算法(Giant Trevally Optimizer,GTO)由HAVAL TARIQ SADEEQ和ADNAN MOHSIN ABDULAZEEZ于2022年提出,该算法模拟珍鲹狩猎海鸟时的独特行为,思路新颖。

参考文献:H. T. Sadeeq and A. M. Abdulazeez, "Giant Trevally Optimizer (GTO): A Novel Metaheuristic Algorithm for Global Optimization and Challenging Engineering Problems," in IEEE Access, vol. 10, pp. 121615-121640, 2022, doi: 10.1109/ACCESS.2022.3223388.

三、珍鲹优化算法求解背包问题

部分Matlab代码:

% 背包问题,共包含9个数据集,修改Function_name即可测试不同数据集
close all
clear 
clc
SearchAgents_no=30; % 种群大小
Function_name='F1'; %F1-F9
Max_iteration=100; % 最大迭代次数
[lb,ub,dim,fobj]=Get_Functions_details(Function_name);%获取数据集信息
[fMin,bestX,curve]=GTO(SearchAgents_no,Max_iteration,lb,ub,dim,fobj);%算法求解
ShowResult;%显示结果

部分结果:

3.1数据集1求解结果

所求得的背包总价值 : 293

背包的理论最大容量 : 269

所求得的背包的容量 : 249

算法选取的物品序号 : 2  6  8  9 10

算法选取的物品质量 : 4 72 62 65 46

算法选取的物品价值 : 10 50 61 85 87

3.2数据集2求解结果

所求得的背包总价值 : 431.7087

背包的理论最大容量 : 375

所求得的背包的容量 : 343.4186

算法选取的物品序号 : 5  7  8  9 10 11 12 14 15

算法选取的物品质量 : 74.6605   51.3535   1.49846   36.4452   16.5899   44.5692    0.4669   57.1184   60.7166

算法选取的物品价值 : 82.284   71.0501   30.3995   9.14029   14.7313   98.8525   11.9083   53.1663   60.1764

3.3数据集3求解结果

所求得的背包总价值 : 958

背包的理论最大容量 : 878

所求得的背包的容量 : 864

算法选取的物品序号 : 1  2  3  5  7  8  9 10 11 12 13 15 16 17 18 19 20

算法选取的物品质量 : 92  4 43 84 92 82  6 44 32 18 56 25 96 70 48 14 58

算法选取的物品价值 : 44 46 90 91 75 35  8 54 78 40 77 61 17 75 29 75 63

四、参考代码

文件夹内包含9个背包问题的所有Matlab代码,点击main.m即可运行。


创作时间: