zl程序教程

您现在的位置是:首页 >  后端

当前栏目

【智能算法】模拟退火算法求解 0-1 背包问题

算法 求解 背包 问题 模拟退火 智能算法
2023-09-14 09:05:31 时间

目录

模拟退火算法求解 0-1 背包问题


模拟退火算法求解 0-1 背包问题

clear
clc
%% 数据初始化
k = [5;10;13;4;3;11;13;10;8;16;7;4];
k = -k;	% 模拟退火算法是求解最小值,故取负数
d = [2;5;18;3;2;5;10;4;11;7;14;6];
restriction = 46;
num = 12;
%% 模拟退火
% E_current是当前解对应的目标函数值(即背包中物品总价值);
% E_new是新解的目标函数值;
% E_best是最优解的
E_current = inf;E_best = inf;  
sol_new = ones(1,num);         % 生成初始解
sol_current = sol_new; sol_best &#