- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
三维装箱遗传算法matlab程序
基于遗传模拟退火算法的三维装箱问题研究
从计算复杂性理论来讲,装箱问题是一个 NP 难题,很难精确求解。目前的求
解方法主要是一些近似算法, 如 NF(NextFit)近似算法、FF(FirstFit)近似算法、
FFD(FirstFitDecreasing)近似算法等。近似算法的求解结果与物品的体积数据有较
大关系,有时在极端情况下的求解结果很不理想。
本文以三维离线装箱问题为研究对象,利用遗传算法和模拟退火算法集成的
思路对该问题进行求解,并编写程序代码在 Matlab 环境下进行实现。
1、问题描述
假设有一批待装货物,它们有多种货物种类,每种货物的尺寸重量是不同的,对一
尺寸己知的集装箱进行装载。这里所面临的问题是在满足一定约束的条件下, 需
要找到一种装箱方案进行装载,能够得到一种最佳的装载效果,这里指的是空间容
积率最高或者载重利用率达到最高。
2、优化模型
优化模型中的目标函数值可以评价装箱方案的优劣,本文考虑待装箱子的空间利
用率最大以及所使用箱子数目最小,目标函数规定为:
其中:m 为所使用的箱子数目,Cmax 为一个足够大的常数,在本文中取为1000,
以保证Cmax/ m 为大于 1 的正数,后一项为箱子的空间利用率,u 为装箱方案
违背约束条件时的处罚值。
注:帮人代写matlab 程序,有问题请咨询qq :778961303
部分代码如下:
% Use: 遗传模拟退火算法主程序
% 输入变量(可修改量): Box:箱子的属性
% Cargo :货物的属性
% order :要求货物的装载次序
%
%
% 输出: bestLoadOrder:具体装箱
% author : 怡宝2 号
clc;
clear;
close all;
tic
%% 数据录入
% Box=[2.33 1.78 2.197 5000]; % 货箱数据 长,宽,高,限重
% Cargo=[0.94 0.68 0.39 0.249288 270.5 6;0.81 1.02 0.6 0.495720 896 2;...
% 0.81 1.02 0.70 0.578340 868 4;0.73 0.69 0.80 0.40296 240 2;...
% 1.20 0.72 0.72 0.622080 280 2;1.10 0.84 0.26 0.24024 80 1;...
% 0.80 0.74 0.72 0.426240 180 1;1.60 1.07 0.75 1.28400 774 12;...
% 1.19 1.11 1.08 1.426572 960 11;1.19 1.11 0.9 1.18810 800 10;...
% 1.40 1.16 1.20 1.948800 420 8;0.82 0.37 0.18 0.54612 40 5]; % 货物数
据
%长度(m) 宽度(m) 高度(m) 体积(m^3 ) 重量(kg) 数量
order=[6,3,11,7,8,5,1,2,4,9,10,12;];
cmax=300; %所使用的箱子数参数
% save Box Box
% save Cargo Cargo
% toc
%% 模拟退火参数
tic
T=100; % 初始温度
Tend=1e-3; % 终止温度
L=5; % 各温度下的迭代次数(链长)
q=0.8; %降温速率
G=100;
%% 遗传参数
Pc=0.9; %交叉概率
Pm=0.05; %变异概率
popsize=20;
retain=10;
GGAP=0.9; %代沟
%% 加载数据
load Box
load Cargo
%%
N=size(Cargo,1); % 待
文档评论(0)