【智能算法应用】遗传算法求解货位布局优化问题
各种各样的货物存储在智能立体仓库中,由于它们的重量和体积等特性不同,在货位分配的过程中,除了需要满足货架本身的容量和承载能力外,还需要货架整体的稳定性,因此需要将较重货品放置在货架低层货位上,降低货架整体的等效重心。为提高堆垛机的拣选效率,在货物存放时,可以按照同类货物优先就近分配储位的原则进行货位优化,这就要求同类货物在货架上的彼此距离要尽量小。[1] 杨洋.基于遗传算法的多目标货位优化研究[D
1.货位布局数学模型
各种各样的货物存储在智能立体仓库中,由于它们的重量和体积等特性不同,在货位分配的过程中,除了需要满足货架本身的容量和承载能力外,还需要货架整体的稳定性,因此需要将较重货品放置在货架低层货位上,降低货架整体的等效重心。将货架中的货物视为统一整体,计算其等效重心重心,构建一个空间平行力系 :
平行力系的合力其大小即为物体的重量:
P ⋅ C x = ∑ i = 1 n Δ P i ⋅ x i (1) P\cdot C_x=\sum_{i=1}^n\Delta P_{\mathrm{i}}\cdot x_i\tag{1} P⋅Cx=i=1∑nΔPi⋅xi(1)
合力的作用线通过物体的重心C:
P ⋅ C y = ∑ i = 1 n Δ P i ⋅ x y (2) P\cdot C_y=\sum_{i=1}^n\Delta P_i\cdot x_y\tag{2} P⋅Cy=i=1∑nΔPi⋅xy(2)
水平等效重心坐标为:
C x = ∑ x = 1 a ∑ y = 1 b M x y ⋅ l ( x − 0.5 ) ∑ x = 1 a ∑ y = 1 b M x y (3) C_x=\frac{\sum_{x=1}^a\sum_{y=1}^bM_{xy}\cdot l(x-0.5)}{\sum_{x=1}^a\sum_{y=1}^bM_{xy}}\tag{3} Cx=∑x=1a∑y=1bMxy∑x=1a∑y=1bMxy⋅l(x−0.5)(3)
竖直等效重心坐标为:
C y = ∑ x = 1 a ∑ y = 1 b M x y ⋅ h ( y − 0.5 ) ∑ x = 1 a ∑ y = 1 b M x y (4) C_{_y}=\frac{\sum_{x=1}^a\sum_{y=1}^bM_{xy}\cdot h(y-0.5)}{\sum_{x=1}^a\sum_{y=1}^bM_{_{xy}}}\tag{4} Cy=∑x=1a∑y=1bMxy∑x=1a∑y=1bMxy⋅h(y−0.5)(4)
根据货架稳定安全的优化方向,需要放入货物后货架的等效重心位于货架竖直方向底部,并在水平方向上尽量居中,由此目标函数为:
{ min f 1 ( x , y ) = ∣ C x − a l 2 ∣ min f 2 ( x , y ) = ∣ C y − h 2 ∣ (5) \begin{cases}\min f_1(x,y)=\left|C_x-\frac{al}2\right|\\\min f_2(x,y)=\left|C_y-\frac h2\right|&\end{cases}\tag{5} {minf1(x,y)=
Cx−2al
minf2(x,y)=
Cy−2h
(5)
基于货架的约束要求:
{ x ∈ ( 0 , a ) y ∈ ( 0 , b ) ∑ x = 1 a ∑ y = 1 b M x y ∈ ( 0 , G max ) C x ∈ ( 0 , a ⋅ l ) C y ∈ ( 0 , b ⋅ h ) (6) \begin{cases}x\in(0,a)\\y\in(0,b)\\\sum_{x=1}^a\sum_{y=1}^bM_{xy}\in(0,G_{\max})\\C_x\in(0,a\cdot l)\\C_{_y}\in(0,b\cdot h)\end{cases}\tag{6} ⎩
⎨
⎧x∈(0,a)y∈(0,b)∑x=1a∑y=1bMxy∈(0,Gmax)Cx∈(0,a⋅l)Cy∈(0,b⋅h)(6)
为提高堆垛机的拣选效率,在货物存放时,可以按照同类货物优先就近分配储位的原则进行货位优化,这就要求同类货物在货架上的彼此距离要尽量小。
首先假设货架中的货物一共有M种大类,一种大类中有N种货物,根据第m种大类中第n种货物的坐标,可得到第 种大类货物的坐标均值为:
σ m = ∑ n = 1 S m [ x m n , y m n ] S m (7) \sigma_m=\frac{\sum_{n=1}^{S_m}[x_{mn},y_{mn}]}{S_m}\tag{7} σm=Sm∑n=1Sm[xmn,ymn](7)
则第m种大类中的第n种货物到该大类货物坐标均值距离表示为:
d m n 2 = [ x m n − σ m ( x ) ] 2 + [ y m n − σ m ( y ) ] 2 (8) {d_{mn}}^2=\left[x_{mn}-\sigma_m(x)\right]^2+\left[y_{mn}-\sigma_m(y)\right]^2\tag{8} dmn2=[xmn−σm(x)]2+[ymn−σm(y)]2(8)
M种大类货物的类内离散度和:
d = ∑ m = 1 M ∑ n = 1 N d m n (9) d=\sum_{m=1}^M\sum_{n=1}^Nd_{mn}\tag{9} d=m=1∑Mn=1∑Ndmn(9)
货架上所有M类货物的均值坐标为:
σ M = ∑ m = 1 M σ m M (10) \sigma_M=\frac{\sum_{m=1}^M\sigma_m}M\tag{10} σM=M∑m=1Mσm(10)
第m类货物的均值坐标到所有M类货物的中心距离的和为D:
D = ∑ m = 1 M ( [ σ m ( x ) − σ M ( x ) ] 2 + [ σ m ( y ) − σ M ( y ) ] 2 ) (11) D=\sum_{m=1}^{M}(\sqrt{\left[\sigma_m\left(x\right)-\sigma_M\left(x\right)\right]^2+\left[\sigma_m\left(y\right)-\sigma_M\left(y\right)\right]^2})\tag{11} D=m=1∑M([σm(x)−σM(x)]2+[σm(y)−σM(y)]2)(11)
为使同类货物就近存放,故需使货物的类内离散度越小越好,而为使所有不同大类货物能够均匀分布在货架上,则需使货物的类外离散度越大越好:
min f ( x , y ) = d D (12) \min f(x,y)=\frac dD\tag{12} minf(x,y)=Dd(12)
因此,适应度函数加权处理:
F ( x , y ) = min [ 0.4 ∗ f 1 ( x , y ) + 0.4 ∗ f 2 ( x , y ) + 0.2 ∗ f 3 ( x , y ) ] (13) F(x,y)=\min\left[0.4*f_1(x,y)+0.4*f_2(x,y)+0.2*f_3(x,y)\right]\tag{13} F(x,y)=min[0.4∗f1(x,y)+0.4∗f2(x,y)+0.2∗f3(x,y)](13)
3.结果展示
4.参考文献
[1] 杨洋.基于遗传算法的多目标货位优化研究[D].南京农业大学,2019.
5.代码获取
更多推荐
所有评论(0)