Optimization algorithm for three-dimensional shelf space layout-simplified version

The detailed version of the optimization algorithm for the three-dimensional shelf space layout welcome to subscribe to this blog: https://blog.csdn.net/ccsss22/article/details/115290774

1. Problem description:
 
optimization goal

It is required that the higher the outbound frequency of the goods, the shorter the outbound time, that is, the cargo location is arranged closer to the outbound platform. For the goods with lower inbound and outbound frequency, the inbound and outbound time can be relatively long. .
The distributed storage of materials avoids the problem of uneven force of the cargo compartment caused by centralized storage. The heavy objects are on the bottom and the light objects are on the top, making the shelf more stable (minimum center of gravity).
Targeting at the principle of the relevance of classified goods, and the same kind of goods that are put into the warehouse first, they have priority when they are out of the warehouse. The
optimization objective function is constructed as follows:

The first objective function, f1 is the storage efficiency function

The second function f2, the meaning is the stability target of the shelf, stability.

mk is the weight of the cargo. Can be set to a random number between 0 and 30. But it is known. The meaning of this formula is that the higher the weight of the goods, the lower the position, the smaller the value of the function.

The third function is the objective optimization function of the category of goods you require.

The principle of the relevance of classified goods is the goal, and the same goods that are put into the warehouse first have priority when they are out of the warehouse. This means that the distance between similar goods is the shortest, that is, the same goods are placed as much as possible together. Through these three functions, the final optimization is realized, and finally, the genetic optimization algorithm is used to optimize.

 

2. Part of the program:
 

while gen < MAXGEN;   
      gen
      
      if gen <= 1
         Pe0 = 0.7;
         pe1 = 0.05; 
      else
         Pe0 = 0.7*1/(1+exp(-5*df));
         pe1 =0.75-Pe0;  
      end
      
      FitnV=ranking(Objv);    
      Selch=select('sus',Chrom,FitnV);    
      Selch=recombin('xovsp', Selch,Pe0);   
      Selch=mut( Selch,pe1);   
      phen1=bs2rv(Selch,FieldD);   
      
      for a=1:1:NIND  
          if gen == 1
             tmps       = POS_index;
             Data1(a,:) = tmps(1:sum(Num_lb));              
          else
             Data1(a,:) = floor(phen1(a,:))+1;      
          end
          %Calculate the corresponding target value
          [epls,f1,f2,f3] = func_obj2(Data1(a,:));
          E = epls;
          JJ(a,1) = E;
      end 
      
      Objvsel=(JJ);    
      [Chrom, Objv]=reins(Chrom,Selch,1,1,Objv,Objvsel);   
      gen=gen+1; 

      %Save parameter convergence process and error convergence process and function value fitting conclusion
      Error1(gen) = mean(JJ);
      Error2(gen) = min(JJ);
      
      fmax = max(JJ);
      fmean = mean(JJ); 
      df = fmax-fmean;
      
      if gen == 1
         [f1,f2,f3] 
      end
      if gen == MAXGEN-1
         [f1,f2,f3]  
      end     
      
end 

 

3. Simulation conclusion:


A-011-046
 

Guess you like

Origin blog.csdn.net/ccsss22/article/details/115290914