大规模装箱问题:蜣螂优化算法DBO求解二维装箱问题(MATLAB代码)

news2025/2/27 7:22:39

一、问题描述

装载率:所有选择的箱子的总面积与夹板面积之比

假设一共有300个箱子,如何设计算法,使得选择部分箱子放入80*80的甲板上,让甲板的装载率越大,要求箱子间不得重叠。

二、蜣螂优化算法求解二维装箱问题

蜣螂优化算法的目标函数是甲板的装载率

2.1部分代码

% -----------------------------------------------------------------------------------------------------------
% Dung Beetle Optimizer:                                            
%  Jiankai Xue & Bo Shen (2022) Dung beetle optimizer: a new meta-heuristic
% algorithm for global optimization. The Journal of Supercomputing, DOI:
% 10.1007/s11227-022-04959-6
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
close all
clear 
clc
SearchAgents_no=30; % Number of search agents
Function_name='F1'; % Name of the test function that can be from F1 to F23 (Table 1,2,3 in the paper)
Max_iteration=30; % Maximum numbef of iterations
% Load details of the selected benchmark function
[lb,ub,dim,fobj]=Get_Functions_details(Function_name);
[fMin,bestX,curve]=DBO(SearchAgents_no,Max_iteration,lb,ub,dim,fobj);
save bestX bestX
save curve curve
ResultList=PlotFigure(bestX);%货物的序号和长宽
save('result.txt','ResultList','-ascii');
figure
plot(curve,'g-','linewidth',3)
xlabel('迭代次数');
ylabel('装载率');
xlim([1 Max_iteration])
ylim([min(curve) max(curve)])
legend('DBO')

2.1部分结果

下图中甲板中,金黄色区域表示已经放置箱子,粉色区域表示闲置区域。

甲板平面的装载率:95.5469%

箱子的使用率:80%

三、完整MATLAB代码

大规模装箱问题:蜣螂优化算法DBO求解二维装箱问题(MATLAB代码)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1823612.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

八 、VS的调试技巧

--- 24.4.20 目录 1、什么是Bug? 2、什么是调试(Debug)? 3、Debug和Release 4、VS基础调试快捷键 4.1、环境准备 4.2、调试快捷键 5、监视和内存观察 5.1、监视窗口 5.2、内存窗口 6、调试举例1 7、调试举例2 8、调试…

AI宣传文案软件有哪些?5款AI软件推荐

AI宣传文案软件有哪些?AI宣传文案软件在现代营销和创意产业中扮演着越来越重要的角色,它们凭借先进的自然语言处理、机器学习和深度学习技术,不仅解放了创作者的双手,还大大提升了文案的生成效率和质量。这些软件能够精准捕捉用户…

Polarion重启时自动删除.config

Polarion二次开发的插件中,对Servlet新增、修改或删除时,发布到应用需要删除.config文件才能使修改生效,每次需要手动执行,不如加到restart启动脚本中。只需修改start函数即可。 代码如下: vi /opt/polarion/bin/pola…

(科学:某天是星期几)泽勒一致性是由克里斯汀·泽勒开发的用于计算某天是星期几的算法。

(科学:某天是星期几)泽勒一致性是由克里斯汀泽勒开发的用于计算某天是星期几的算法。这个公式是: 其中: h是一个星期中的某一天(0 为星期六;1 为星期天;2 为星期一;3 为星期二;4 为 星期三;5 为星期四;6为星期五)。 q 是某月的第几天。 m 是月份(3 为三月,4 为四月,…

包装类的应用

一.什么是包装类 基本数据类型所对应的引用数据类型 二.集合中不能存储基本数据类型 三.JDK5以后对包装类新增了什么特性? // 自动装箱:把基本数据类型会自动的变成对应的包装类 // 自动拆箱:把包装类自动的变成其对象的基本数据类型 四.我们以后如何获取包…

课设--学生成绩管理系统

欢迎来到 Papicatch的博客 文章目录 🍉技术核心 🍉引言 🍈标识 🍈背景 🍈项目概述 🍈 文档概述 🍉可行性分析的前提 🍈项目的要求 🍈项目的目标 🍈…

全面分析kimi和ChatGPT在论文写作方向的差别

学境思源,一键生成论文初稿: AcademicIdeas - 学境思源AI论文写作 Kimi和ChatGPT都是人工智能助手,致力于提供帮助和信息,但在论文写作方面,他们在下面几个方向的能力存在一些差别: 1. 语言支持&#xff…

英语学习笔记35——Our village

Our village 我们的村庄 词汇 Vocabulary photograph n. 照片 通常说:photo 复数:photos     picture 复数:pictures 搭配:take a photo 照相 以o结尾的单词复数es的: potato —— potatoes tomato —— tomatoe…

AI + Web3 Social Hackathon 来啦!报名参赛瓜分超 700,000+ 美元奖金池

“我们的目标是将 Web3 优质开发者聚集在一起,共同打造创新思维驱动的链上世界。无论你是经验丰富的开发者,还是刚踏上开发旅程的小白新手,都可以加入我们, 不断提升实战技能,让 AIWeb3 成为赋能未来的重要砝码。” 为…

DiffusionDet:用于物体检测的扩散模型

论文标题:DiffusionDet: Diffusion Model for Object Detection 论文地址:https://arxiv.org/pdf/2211.09788 DiffusionDet:用于物体检测的扩散模型 检测模型发展物体检测 DiffusionDet方法预备知识DiffusionDet前向扩散过程DiffusionDet反向…

MaptrV2代码阅读

一 数据处理(后续补充) 二 模型结构 2.1 BackboneNeck 这里输入不加时序的单帧图片,一共六张,输入图片大小为 B ∗ 6 ∗ 3 ∗ 480 ∗ 800 ( B 是 b a t c h s i z e ) B*6*3*480*800 (B是bat…

java中的输入与输出(I/O)

Java I/O(输入/输出)是Java程序与外部世界进行交互的重要机制,它允许程序读取和写入数据到各种类型的源,如文件、网络套接字、管道、内存缓冲区等。Java I/O API主要位于java.io包中,提供了丰富的类和接口来处理不同类…

ipad协议已更新

mmtls 24算法,by golang 其他/v1/other POST/v1/other/GetPeopleNearby 查看附近的人 POST/v1/other/GetQrCode 获取二维码 同步消息/v1/ws GET/v1/ws/GetSyncMsg 同步消息,ws协议 消息/v1/message POST/v1/message/AddMessageMgr 添加要发送…

知识表示与推理方法前沿文献报告

✅作业要求: 练习目标:以公开发表的英文学术文献如会议和期刊论文为依据,报告知识表示与推理的前沿研究进展 作业形式: 8-10页的调研报告,以Word或者PDF为文件格式,文件名: 学号 姓名 krdocx/PDF作业完成内容: 1.题目: 文献报告-文…

车道偏离预警系统技术规范(简化版)

车道偏离预警系统技术规范(简化版) 1 系统概述2 预警区域3 功能条件4 显示需求5 指标需求 1 系统概述 车道偏离预警系统工作在中高速驾驶的情况下,当驾驶员因注意力不集中导致车辆偏离本车道时,系统通过光学和声学信号对驾驶员进行…

vue+elementUI实现在表格中添加输入框并校验的功能

背景: vue2elmui 需求: 需要在一个table中添加若干个输入框,并且在提交时需要添加校验 思路: 当需要校验的时候可以考虑添加form表单来触发校验,因此需要在table外面套一层form表单,表单的属性就是ref…

6月17日15点丨解锁大消费品行业收入管理秘籍

在数字化浪潮席卷全球的今天,企业对于收入管理的精细化和智能化需求日益凸显。收入管理作为企业运营的核心环节,对企业的现金流、利润和发展战略至关重要。 在消费品行业,往往拥有大量的销售数据和客户信息,但这些数据往往分散在多个系统和部…

简单了解MySql以及一些简单的应用MySql

MySql基础篇 1、数据模型概述 关系型数据库 概念:建立在关系模型基础上,由多张相互连接的二维表组成的数据库。 特点: 使用表存储数据,格式统一,便于维护使用SQL语言操作,标准统一,使用方便 数…

基于WPF技术的换热站智能监控系统08--实现右上模式控制

1、区域划分 2、UI设计 3、样式及触发器 4、运行效果 走过路过不要错过,点赞关注收藏又圈粉,共同致富,为财务自由作出贡献

【leetcode--单词规律】

题目要求: 跟上一个字符串的思路一致,只是要进行单词的拆分,用.split()函数即可。 class Solution:def wordPattern(self, pattern: str, s: str) -> bool:word s.split()if(len(pattern) ! len(word)):return Falsereturn len(set(patt…