⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 repair.m

📁 遗传量子算法求解背包问题Matlab源码
💻 M
字号:
%repair 修改超重的问题解,即选择的物品重量不能超过限重C
overfiled=0;%不超重
for j=1:n
       if sum(x(j,:)*w')>C %超重
          overfiled=1;%超重符号
       end
       while overfiled 
             k=fix(1+rand()*(m-1));%选择其中一个物品放弃
             x(j,k)=0;
             if sum(x(j,:)*w')<=C%不超重了
             overfiled=0;
             end
       end
       while ~overfiled %不超重
              k=fix(1+rand()*(m-1));%尽可能的再多选一个物品
              x(j,k)=1;
             if  sum(x(j,:)*w')>C %超重了
                 overfiled=1;     
             end
       end
     x(j,k)=0;%将刚才选择后导致超重的那个物品丢弃
     x(j,:);
end
x;

        

    
    

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -