题主大四,在做二维下料问题的蚁群算法求解,基本思路是分两步走,通过蚁群算法得出工件序列,再用剩余矩形算法进行工件排列。由于编程基础薄弱,在网上搜索到河海大学段付谋同学关于剩余矩形算法的论文,研读两日,但还是不得要义,主要是从刚开始i=1就走不下去了,希望各位朋友帮忙理解下算法的大致思路,万分感谢。
不理解的代码位置已用红色标出,再次感谢。
代码如下:
size=zeros(25,2);%表示小矩形的尺寸.M(i,1)、M(i,2)分别表示序号为 i 的小矩形的宽和高.
D=zeros(25,2);%排样方案数组.D(i,1)、D(i,2)分别表示第i个矩形的序号以及r(i).
rest=zeros(50,4);%剩余矩形数组.记录每个矩形的左下角坐标(x,y)、宽和高.
A=zeros(25,4);%记录数组(记录每个矩形件在样板上的位置).
%初始值均为零。(zeros)
size=[12,6;4,7;6,7;10,2;2,5;6,4;4,2;4,6;7,9;4,5;6,4;4,6;6,3;4,5;2,4;8,4;8,6;8,3;6,3;2,6;8,2;3,5;2,5;3,4;2,4;];%小矩形件的尺寸.
P1=zeros(1,25);P2=zeros(1,25);P3=zeros(1,25);
R1=zeros(1,25);R2=zeros(1,25);R3=zeros(1,25);
P1=[4,2,1,3,6,5,7,9,8,10,11,12,14,13,19,15,18,17,20,16,21,22,24,23,25];
R1=[1,1,1,1,1,1,1,1,1, 1, 1, 1, 1, 1, 1,