# 2021沈阳华晨宝马黑客马拉松_装载优化 **Repository Path**: williamsl13/Loading-optimization ## Basic Information - **Project Name**: 2021沈阳华晨宝马黑客马拉松_装载优化 - **Description**: No description available - **Primary Language**: Matlab - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-05-09 - **Last Updated**: 2022-05-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ![2](README.assets/2.gif) ## 输入: ### 装载单元(零件)工厂号 装载单元号 装载单元尺寸+每辆车途径工厂号 ## 输出: ### 每辆车装载单元左后坐标 更新后的尺寸(可能旋转) ## 数据处理: ​ 装载单元num用单个大小表达(num为n则添加n-1行),相同装载单元从1加一排序。 ​ 根据各个卡车经过供应商分别从总零件提取各自,若想旋转使xy,同一供应商装载单元按照x降序排序装车,能减小后续旋转插入单元的可能性。对算法更简单,空间利用率更高。 ![image-20220509214752607](README.assets/image-20220509214752607.png) ![image-20220509214757774](README.assets/image-20220509214757774.png) 考虑到有装载单元尺寸为3425*760*700非常狭窄的装载单元,且每次装载层数为1,而且同批次有与货车等宽的单元,故单独设计该部分布局: ![image-20220509214811457](README.assets/image-20220509214811457.png) ![image-20220509214819149](README.assets/image-20220509214819149.png) 装载逻辑: \1. 整车第一个装载单元确定片空间厚度;确定左后坐标参考xxx=0,yyy=0, zzz=0,三个方向最大厚度x,y,z(与之前对单元x排序目的一致,即防止后续装载干涉); \2. 对于狭窄车次,先装长为2400单元,再装3425单元,更新y; \3. 对非狭窄单元批次:若有相同单元填充上空间(偶数堆叠),否则优先填充右空间,xxx不变,更新yyy,zzz置零,更新x、y、z;若下个零件无法放下则放入新片,更新xxx,yyy、zzz置零,更新x、y、z; 以此类推,先判断是否堆叠,再装载右空间,再更新片空间。 可视化:根据每个单元左后坐标及各自尺寸按照装载顺序画出三维图,在每个单元中心显示该单元编号。 装载单元号:根据车内布局确定最终装载顺序 ![image-20220509214844587](README.assets/image-20220509214844587.png) ![image-20220509214858000](README.assets/image-20220509214858000.png) ![image-20220509214903787](README.assets/image-20220509214903787.png) ![image-20220509214909634](README.assets/image-20220509214909634.png)