遗传算法实现单货架库位优化
1. 问题描述
给定多种货物,每种货物的数量、质量和出库频率已知,需要合理安排货物在货架上的存放位置,以最小化整体出库成本。
出库成本与货物存放位置有关(例如,离货架口越远搬运成本越高,或者搬动越重的货物需要更多费用)。
货架有一定容量/承重/体积等限制(可根据需要具体化)。
2. 数学符号定义
-
设货物种类集合为 I={1,2,...,N}
-
:第 i 种货物的数量
-
:第 i 种货物单件的质量
-
:第 i 种货物每月出库次数
-
:决策变量,表示货物i 的存放位置编号或区域(也可以是连续变量,例如离出口的距离)
-
:货物 i 从存放位置
出库所产生的单位出库成本(可以是与距离成正比的函数)
-
M:货架最大承重
-
V:货架最大容积
3. 目标函数
目标是最小化总出库成本:
这里,代表单位时间内货物 iii 的搬运需求量,乘以单位出库成本
。
与出库距离成正比
4. 约束条件
4.1. 货架容量约束
4.2. 位置分配约束
5.MATLAB代码
6.算例
货物编号 | 数量n | 质量m | 次/月 r |
1 | 1 | 100 | 3 |
2 | 1 | 110 | 2 |
3 | 1 | 85 | 4 |
4 | 1 | 35 | 1 |
5 | 1 | 55 | 3 |
6 | 2 | 70 | 7 |
7 | 2 | 60 | 4 |
8 | 1 | 90 | 2 |
9 | 1 | 45 | 5 |
10 | 1 | 105 | 10 |
7.程序结果
遗传算法优化得到的最优目标函数
bestValue =
1.17967231638418
遗传算法优化得到的最优染色体
bestChrom =
7 16 2 8 12 6 11 17 3 1 13 19 18 9 10 20 5 14 15 4
遗传算法优化得到的目标函数值
Sy =
2.10734463276836
timeall =
252