基于Beam Search算法的集装箱装载问题研究

合集下载

基于Beam Search算法的集装箱装载问题研究

基于Beam Search算法的集装箱装载问题研究

基于Beam Search算法的集装箱装载问题研究
杨会志
【期刊名称】《软件导刊》
【年(卷),期】2015(014)007
【摘要】针对具有优先装载约束的集装箱装载问题,对Partial Beam Search算法进行了改进.在搜索过程中去除相似中间状态,增加了搜索过程的多样性,提高了算法的搜索效率.实验结果证明了算法的有效性.
【总页数】3页(P106-108)
【作者】杨会志
【作者单位】电子科技大学中山学院计算机学院,广东中山528402
【正文语种】中文
【中图分类】TP319
【相关文献】
1.基于改进遗传算法的集装箱装载优化问题研究 [J], 于金;金乐;杜海璐
2.基于禁忌算法的多约束集装箱装载问题研究 [J], 屈援;王雪莲
3.基于混合遗传算法的多约束集装箱装载问题研究 [J], 胡瑞;丁香乾;张峰;魏旭
4.基于混合遗传算法的航材集装箱装载问题研究 [J], 刘硕;崔崇立;宗彪
5.基于Beam Search算法的集装箱装载问题研究 [J], 杨会志
因版权原因,仅展示原文概要,查看原文内容请购买。

装载问题5种项目解决方案

装载问题5种项目解决方案

.. . .. . ..算法分析与设计2016/2017(2)实验题目装载问题5种解法学生姓名学生学号. 专业学习资料... . .. . ..学生班级任课教师提交日期2017计算机科学与技术学目录一问题定义 (4)二解决方案 (4)1优先队列式分支限界法求解 (4)1.1算法分析 (4)1.2代码 (4)1.3运行结果 (17)2队列式分支限界法求解 (17)2.1算法分析 (17)2.2代码 (18)2.3测试截图 (30)3回朔法-迭代 (30)3.1算法分析 (30)3.2代码 (30)3.3测试截图 (35)4回朔法-递归 (35)4.1算法分析 (35)4.2代码 (35). 专业学习资料... . .. . ..4.3测试截图 (41)5贪心算法 (42)5.1算法分析 (42)5.2代码 (42)5.3测试截图 (46). 专业学习资料.一问题定义有一批共有n 个集装箱要装上两艘载重量分别为c1 和c2 的轮船,其中集装箱i 的重量为w[i], 且重量之和小于(c1 + c2)。

装载问题要求确定是否存在一个合理的装载方案可将这n 个集装箱装上这两艘轮船。

如果有,找出一种装载方案。

二解决方案1优先队列式分支限界法求解1.1算法分析活结点x在优先队列中的优先级定义为从根结点到结点x的路径所相应的载重量再加上剩余集装箱的重量之和。

优先队列中优先级最大的活结点成为下一个扩展结点。

以结点x为根的子树中所有结点相应的路径的载重量不超过它的优先级。

子集树中叶结点所相应的载重量与其优先级相同。

在优先队列式分支限界法中,一旦有一个叶结点成为当前扩展结点,则可以断言该叶结点所相应的解即为最优解。

此时可终止算法。

1.2代码1.2-1////MaxHeap.htemplate<class T>class MaxHeap{public:MaxHeap(int MaxHeapSize = 10);~MaxHeap() {delete [] heap;}int Size() const {return CurrentSize;}T Max(){ //查找if (CurrentSize == 0){throw OutOfBounds();}return heap[1];}MaxHeap<T>& Insert(const T& x); //增MaxHeap<T>& DeleteMax(T& x); //删void Initialize(T a[], int size, int ArraySize);private:int CurrentSize, MaxSize;T *heap; // element array};template<class T>MaxHeap<T>::MaxHeap(int MaxHeapSize){// Max heap constructor.MaxSize = MaxHeapSize;heap = new T[MaxSize+1];CurrentSize = 0;}template<class T>MaxHeap<T>& MaxHeap<T>::Insert(const T& x){// Insert x into the max heap.if (CurrentSize == MaxSize){cout<<"no space!"<<endl;return *this;}// 寻找新元素x的位置// i——初始为新叶节点的位置,逐层向上,寻找最终位置int i = ++CurrentSize;while (i != 1 && x > heap[i/2]){// i不是根节点,且其值大于父节点的值,需要继续调整heap[i] = heap[i/2]; // 父节点下降i /= 2; // 继续向上,搜寻正确位置}heap[i] = x;return *this;}template<class T>MaxHeap<T>& MaxHeap<T>::DeleteMax(T& x){// Set x to max element and delete max element from heap. // check if heap is emptyif (CurrentSize == 0){cout<<"Empty heap!"<<endl;return *this;}x = heap[1]; // 删除最大元素// 重整堆T y = heap[CurrentSize--]; // 取最后一个节点,从根开始重整// find place for y starting at rootint i = 1, // current node of heapci = 2; // child of iwhile (ci <= CurrentSize){// 使ci指向i的两个孩子中较大者if (ci < CurrentSize && heap[ci] < heap[ci+1]){ci++;}// y的值大于等于孩子节点吗?if (y >= heap[ci]){break; // 是,i就是y的正确位置,退出}// 否,需要继续向下,重整堆heap[i] = heap[ci]; // 大于父节点的孩子节点上升i = ci; // 向下一层,继续搜索正确位置ci *= 2;}heap[i] = y;return *this;}template<class T>void MaxHeap<T>::Initialize(T a[], int size,int ArraySize){// Initialize max heap to array a.delete [] heap;heap = a;CurrentSize = size;MaxSize = ArraySize;// 从最后一个内部节点开始,一直到根,对每个子树进行堆重整 for (int i = CurrentSize/2; i >= 1; i--){T y = heap[i]; // 子树根节点元素// find place to put yint c = 2*i; // parent of c is target// location for ywhile (c <= CurrentSize){// heap[c] should be larger siblingif (c < CurrentSize && heap[c] < heap[c+1]) {c++;}// can we put y in heap[c/2]?if (y >= heap[c]){break; // yes}// noheap[c/2] = heap[c]; // move child upc *= 2; // move down a level}heap[c/2] = y;}}1.2-2///6d3-2.cpp//装载问题优先队列式分支限界法求解#include "stdafx.h"#include "MaxHeap.h"#include <iostream>using namespace std;const int N = 4;class bbnode;template<class Type>class HeapNode{template<class Type>friend void AddLiveNode(MaxHeap<HeapNode<Type>>& H,bbnode *E,Type wt,bo ol ch,int lev);template<class Type>friend Type MaxLoading(Type w[],Type c,int n,int bestx[]);public:operator Type() const{return uweight;}private:bbnode *ptr; //指向活节点在子集树中相应节点的指针Type uweight; //活节点优先级(上界)int level; //活节点在子集树中所处的层序号};class bbnode{template<class Type>friend void AddLiveNode(MaxHeap<HeapNode<Type>>& H,bbnode *E,Type wt,bo ol ch,int lev);template<class Type>friend Type MaxLoading(Type w[],Type c,int n,int bestx[]);friend class AdjacencyGraph;private:bbnode *parent; //指向父节点的指针bool LChild; //左儿子节点标识};template<class Type>void AddLiveNode(MaxHeap<HeapNode<Type>>& H,bbnode *E,Type wt,bool ch,int l ev);template<class Type>Type MaxLoading(Type w[],Type c,int n,int bestx[]);int main(){float c = 70;float w[] = {0,20,10,26,15};//下标从1开始int x[N+1];float bestw;cout<<"轮船载重为:"<<c<<endl;cout<<"待装物品的重量分别为:"<<endl;for(int i=1; i<=N; i++){cout<<w[i]<<" ";}cout<<endl;bestw = MaxLoading(w,c,N,x);cout<<"分支限界选择结果为:"<<endl;for(int i=1; i<=4; i++){cout<<x[i]<<" ";}cout<<endl;cout<<"最优装载重量为:"<<bestw<<endl;return 0;}//将活节点加入到表示活节点优先队列的最大堆H中template<class Type>void AddLiveNode(MaxHeap<HeapNode<Type>>& H,bbnode *E,Type wt,bool ch,int l ev){bbnode *b = new bbnode;b->parent = E;b->LChild = ch;HeapNode<Type> N;N.uweight = wt;N.level = lev;N.ptr = b;H.Insert(N);}//优先队列式分支限界法,返回最优载重量,bestx返回最优解template<class Type>Type MaxLoading(Type w[],Type c,int n,int bestx[]){//定义最大的容量为1000MaxHeap<HeapNode<Type>> H(1000);//定义剩余容量数组Type *r = new Type[n+1];r[n] = 0;for(int j=n-1; j>0; j--){r[j] = r[j+1] + w[j+1];}//初始化int i = 1;//当前扩展节点所处的层bbnode *E = 0;//当前扩展节点Type Ew = 0; //扩展节点所相应的载重量//搜索子集空间树while(i!=n+1)//非叶子节点{//检查当前扩展节点的儿子节点if(Ew+w[i]<=c){AddLiveNode(H,E,Ew+w[i]+r[i],true,i+1); }//右儿子节点AddLiveNode(H,E,Ew+r[i],false,i+1);//取下一扩展节点HeapNode<Type> N;H.DeleteMax(N);//非空i = N.level;E = N.ptr;Ew = N.uweight - r[i-1];}//构造当前最优解for(int j=n; j>0; j--){bestx[j] = E->LChild;E = E->parent;}return Ew;}1.3运行结果2队列式分支限界法求解2.1算法分析在算法的循环体中,首先检测当前扩展结点的左儿子结点是否为可行结点。

具有重心平衡约束的集装箱装载问题研究

具有重心平衡约束的集装箱装载问题研究

具有重心平衡约束的集装箱装载问题研究作者:杨会志来源:《电脑知识与技术》2015年第08期摘要:针对集装箱装载问题中混合禁忌搜索算法虽然满足集装箱重心平衡约束但存在装载率较低的缺点,从采用基于矩阵的空间约束表达形式、基于简单块构造装载方案、根据禁忌搜素算法的编码次序选择装载货物种类以及设计新的装载方案的评价函数等方面对G2LA算法进行改进,并把改进后的G2LA算法作为混合禁忌搜索算法中的基础启发式装载算法。

实验结果表明了本算法的有效性。

关键词:集装箱装载;重心平衡约束;禁忌搜索;编码;G2LA算法中图分类号:TP391.72 文献标识码 A 文章编号:1009-3044(2015)08-0220-03Abstract: This paper presents a novel hybrid tabu search approach to the container loading problem to provide a better space utilization in the case of satisfying the constraint of weight distribution. An improved G2LA algorithm, which covers the spatial representation system based on matrices, using simple blocks to construct loading plan, using encoding order of tabu search to load blocks, as well asnew evaluation function of loading solutions, is devised as a loading heuristic to incorporate tabu search. Experimental results with benchmark data show that the new approach is effective.Key words: container loading problem; weight distribution; tabu search; encoding;G2LA algorithm1 前言在集装箱的实际装载过程中,除了考虑最大化空间利用率之外,往往需要考虑多种约束,如:货物的摆放方向;某些货物的隔离性;货物的承载能力;货物装载的稳定性;装载的优先级;集装箱的承重性等。

集装箱装船顺序优化模型及算法研究

集装箱装船顺序优化模型及算法研究

集装箱装船顺序优化模型及算法研究摘要本论文提出了一个用于集装箱装船顺序优化的动态整数规划模型。

模型同时兼顾了集装箱在堆场中和在船上的摆放位置,并把集装箱在不同港口的装卸作业作为一个整体。

在实现装船顺序最优化的同时该模型还可保证船只在不同荷载分布下的稳定性。

模型的求解是一个离散的NP-hard问题,论文给出了用遗传算法解决该问题的算法框架,并通过正交因子试验探讨了算法参数的显著性和交互效应,从而大大缩短了算法在解决该问题时的运算时间。

关键词集装箱运输,装卸优化,倒箱,遗传算法Modeling and Algorithm Study for Optimizing Container Loading Planning for ContainershipAbstractIn this paper, a mathematical model is proposed for developing plans for loading containers on containerships. The mathematical model is formulated as a dynamic integer programming problem. The model integrates many factors, such as the storage policies, container ship stowage and the transfers at different terminals. As weight is one of the critical factors that the model deals with, the best solution can also sati sfy the meta-centric height restriction of the container ship. Since the problem is known to be NP-hard, GA is chosen due to the relatively good results in reasonable time. Unique coding method, evaluation function, genetic crossover and mutation operators are designed aimed at this problem and the significance and interactive effect of different parameters settings used during operation are analyzed. The paper shows that by using orthogonal fractional experimental designs, a good GA structure can be achieved to solve a large, computationally intensive schedule problem.Key words:Container Transfers, Loading-unloading Optimization, Setup Arrangement, Genetic Algorithms1 引言近年来,全球集装箱的运输量增长迅猛。

基于混合遗传算法的多约束集装箱装载问题研究

基于混合遗传算法的多约束集装箱装载问题研究
1.4 空间划分 空间块的划分。根据零头所在位置的不同,空间块可最多分割为A-B-C1-D-E-F或A-B-C2-D-E-F五种,各空间块可视化时的遮挡顺序为D-E-C-F-B-A。2 约束集装箱装载问题的混合遗传算法 采用以上基于空间划分的启发式算法的效率较高,但仍然难以保证获得全局最优解或次优解。遗传算法[4]作为一种模拟自然进化过程的随机性全局优化概率搜索算法,在求解优化问题中显示了优越的性能。因此本文将启发式算法与遗传算法结合,进一步提出了求解多约束装箱问题的混合遗传算法。2.1 染色体的编码方法 编码是GA应用成功与否的关键。本文采用Grefen- stette等针对TSP提出的基于顺序表示的遗传基因编码方式[4],把待装物品的类型编号按排放顺序排的串作为一个解的编码,即p={p1,p2……pn}。其中n表示装物品的类型;p1为整数,其值代表物品类型的编号。2.2 目标函数和适应度 在集装箱装载过程中不仅要求容器空间利用率达到最高,同时要考虑多种约束。由于在启发式装载过程中引入了不同变量(暂不考虑重心约束),因此适应度函数为:
在运输中如何进行货物的有效装载,即怎样将一批矩形货物布入一个或多个集装箱中,使集装箱的空间利用率达到最高,这属于NP完全问题。集装箱装载问题根据集装箱数量的有限和无限划分成两类:一是集装箱数量无限,盒子必须全部装完,要使所用的集装箱数量最少;二是集装箱数量有限,盒子数量超过了集装箱的装载能力,要求被装载盒子的总体积达到最大,使空间利用率最高。在实际中第二类问题更为常见,所以在此只分析第二类问题。 目前常用的布局优化方法多为不带约束的简化布局问题,而现实生活中存在着大量的约束条件。 针对具有货物底置位置、允许侧放方式、最大堆码层数等多约束条件下的集装箱装载问题和目前集装箱容积有效利用率普遍较低的情况,本文将这些约束考虑到启发式规则中,根据装载中单种货物数量一般较多的实际情况,提出了一种新的基于空间划分的启发式算法,并将其与遗传算法结合,进一步提出了混合遗传算法求解多约束装箱问题。该算法已用于企业的实际装箱中,结果表明,本文提出的方法可行且有效。1 多约束集装箱装载的启发式策略 实际装载中单种货物数量一般较多,采用现有针对单个物品的基于三维空间的启发式算法存在装载效率和空间利用率低的问题。因此,本文采用同类型货物一次性装载的思想,提出了一种新的基于空间划分的启发式策略。该策略根据待布局空间块中货物装载方式的不同将剩余空间最多划分为五种空间块。实际应用中,对算法中的约束条件处理方法是引入不同变量分别表示货物的侧放方式、货物的堆码层数、底置等级等属性。1.1 基于空间划分的启发式算法流程 算法流程的步骤如下: (1)初始化空间块序列为集装箱箱体。 (2)依次按底置等级递增、体积递减对货物类型排序。 (3)从货物类型序列中按顺序取某类型货物,从空间块列表中取第一个第一个可用空间块。 (4)将所取类型的货物一次性装载到所取空间块中。根据货物可取侧放方式、最大堆码层数的不同,计算空间块的最大装载数量(本文称为标准装车),同时产生标准装车的摆放方式。当货物数量小于标准装车时(称为非标准装车),根据货物数量、允许侧放方式、最大堆码层数产生非标准装车的摆放方式。 (5)分割空间块,将其添加到空间块序列,按体积对空间块重新排序。 (6)如(4)为标准装车,求所取类型货物的剩余数量,从空间块列表中取第一个可用空间块,转(4);否则转(3)。1.2 定序定序规则 定序规则用来确定物体布入的先后顺序,对最终布局结果的优劣有重要影响。由于货物底置等级越低,要求放置的位置越低,所以采用依次按底置等级递增、体积递减的定序规则对货物类型排序。

数学建模——码头货轮集装箱装卸的优化问题2

数学建模——码头货轮集装箱装卸的优化问题2

欢迎共阅码头货轮集装箱装卸的优化问题摘要集装箱“货币化”已成为发展趋势,而港口发展渐渐滞后于集装箱的吞吐量,研究集装箱装卸的优化问题能有效扩大港口生产力,提高港口经济效益。

本文将建立集卡线路规划模型和岸桥、集卡与龙门吊协同优化模型,通过禁忌搜索算法进行求解,并通过青岛港的数据对模型进行实证分析。

对于提高装卸效率,降低装卸成本这一问题,我们将其分解为线路规划、协目录摘要 0一、问题重述 (2)1.1问题的背景 (2)1.2要解决的问题 (2)二、问题分析 (2)2.1概论 (2)2.2问题一的分析 (2)一、问题重述1.1问题的背景集装箱码头是海陆联运的枢纽站,在各个经济体的贸易中都占据着举足轻重的地位。

港口的装卸货能力在一定程度上代表着一个港口的生产力,在集装箱吞吐量不断增大而港口发展渐渐滞后的现状下,研究港口集装箱装卸的优化问题就显得尤为重要。

影响集装箱装卸效率的因素主要有装卸设备的硬件配备和在现有设备基础上对各方资源的优化协调程度。

本文将以青岛港前湾港集装箱码头(QQCT)为现实背景,来考虑码头货轮集装箱装卸的优化问题。

(来源:百度图片)图4平面图(泊位确定)2.2问题一的分析这是一个线路规划问题,通过对港口平面图、集卡运行速度、桥吊和龙门吊的工作效率分析,得到了集卡的最优工作路线。

问题的特点在于集卡在运输进口、过境等集装箱时是联合搭配的。

问题的难点在于堆场与堆场之间可以相互通行,集卡返回码头时携带需要装船的集装箱,而且需要卸的集装箱往往和需要装的集装箱数目不一致,加大了理解和计算的难度。

2.3问题二的分析这是一个资源优化问题,通过对桥吊、集卡、龙门吊三个因素进行综合考虑,得到三种资源的最优配比。

问题的特点在于问题一的结论影响问题二的分析,桥吊、集卡、龙门吊之间的相互调配相互制约,但存在整体最优的情况。

问题的难点是在各因素相互制约的条件下寻找最优解,合理有效利用第一问的数据。

5.1.1模型分析通过查阅资料,我们将集卡的工作流程抽象如下(图5)5.1.2⎪⎪⎭⎫⎝⎛+++=∑∑∑∑∈∈∈∈r r a a a j a j a jr i r i r i m i d i d j m j s d s d ij d d sd sd ij R t t R R t Min δ (1) 堆场对应具体货物,如下为集卡调度模型的表示:∑∑∈∈r aa jr id i d j d d ijR tMin (2)约束条件:(2)式为行驶时间最小的目标函数;(3)、(4)式为进口、过境箱与出口箱数目相等的一一搭配; (5)式为变量的约束条件;(6)、(7)式进口、过境箱数大于出口箱数的虚拟搭配; (8)、(9)式进口、过境箱数小于出口箱数的虚拟搭配。

1基于混合遗传算法的集装箱堆场装卸作业调度优化_靳志宏

1基于混合遗传算法的集装箱堆场装卸作业调度优化_靳志宏
靳志宏1 , 毛 钧1 , 2 , 徐 奇1 , 杨 曼1
(1 .大连海事大学 交通运输管理学院 , 辽宁 大连 116026 ;2.大连港集团公司 , 辽宁 大连 116004)
摘要 :以缩短龙门吊 作业 时间为 目标 , 建 立其 装卸调 度优 化 模型 .基于问题自身特点 , 将 近邻搜 索(NS)策 略嵌入 遗传 算 法(GA)中 , 开发混合遗传算法(NSGA).算例分析 显示了模 型 及算法的有效性与实用性 , 对提高船 方及港方的 运营绩效 可 起到积极的促进作用 . 关键词 :集装箱堆场 ;龙门吊 ;调度 ;近邻搜索(NS);遗传算 法
定义可知 , 当需提取的集装箱处于堆存区域的最上
层时 , 准备时间为零 ;否则 , 准备时间应等于锁定集
装箱所用时间与移动上层集装箱所用时间之和乘以
压在待提集装箱上的层高 .式(3)表示龙门吊的实际
作业时间包括锁定集装箱所用时间 、移动龙门吊大
车的时间 、移动龙门吊小车时间及堆场到码头前沿
的运输时间 .式(4)表示当某一集装箱被提走时 , 与
4 2 大 连 海 事 大 学 学 报 第 38 卷
求这一实际约束加以考虑 , 而对龙门吊在实际作业 过程中的调度研究较少 .本文建立以龙门吊作业时 间最小化为目标的调度优化模型 , 开发基于近邻搜 索策略的混合遗传算法(NSGA).算例分析显示了模 型及算法的有效性与实用性 .
T t =1
N
(P Ttn
n =1
+RTtn ))
n =1 ,2 , …, L
(1)
P Ttn
=
Htn (2Ts +Tm), Htn
0,
Htn
≠0 =0
RTtn = Ts +BnBW vD +Rn RW vX +da v

基于遗传算法的集装箱配载问题研究

基于遗传算法的集装箱配载问题研究
所对应装载方案的优劣,对于违反装 载质量约 I概 述 3基 于遗传算法的问题求解 装箱 问题是指将 不 同尺寸 的物 品摆 放入 31编码预处理 . 束、 装载容积约束和装载重心约束 的个体 , 在求 有一定 容量 的容器 中, 以获得某 种最佳的效益 。 定义货物水平放置方 向为货 高与箱 高相互 解其适应值的过程 中要给予相应的惩罚 以确保 装箱 问题是一个具有 复杂约束条件 的组合优化 平行的放置状态 , 则集装箱 最多装载层数 M计 符合条件而较优 的个体有较大的生存机会。 问题, 在理论上属 于 N - a 问题 P hr d 求解极为 困 算 : 3 终止准则 . 5 采用设定最大迭代次数的方法来 判断是否 难。 M= ,h H . () 3 目前 , 国内外的研究主要集 中在单个集装 在进行个体编码之前, 做如 下的编码 预处 终 止 。 箱配 载的情 况上 , 而且对于二 维的装 箱问题研 理 : ・ 4结论 a 货物编号: 自然数序列 对待装货 物 . 按 针对集装箱货物装载问题 提出了一种改进 究 较多D , 的装 箱 问题 由于其 复杂 性和 一 三维 难度 大 ,遗传算法 可用于复 杂系统 优化计 算, 进行编号,i= 1,2, , 。 … n 遗传算法, 解决 了简化模 型下的集装箱 货物装 鲁棒 搜索算 法特别 适合 用于求 解 问题 的近似 b 放置方 向编号:若货物 的放置方 向为 载的求解 问题, . 方法简单易行 , 为解决 多 目标 、 多 最优 解 。 v L w / ,t H , , , - W h/ / 则编号 为 1若货物 的放 约束的复杂装箱问题奠定了基 础。 ; 经计算验证, i/L, / h/ 。 考虑货物放置方 向、 装载 容积等约束条件 置方向为 w / 1/W,i /H ,则编号为 2 改进遗传算法解决装箱问题是行之有效的一种 下。提 出了一种基于计算机 的三维装 箱问题 的 3 个体编码及解码1 . 2 7 1 方法。 改进遗传算法。 通过对实验数据 的分析 , 明了 证 编码时 考虑货物 放置 方 向及装 载顺 序 约 参考 文 献 该算法实用且有效 。 束, 每种装载方 案对应一个编 码长度为 3 n 的 『 Jhsn D S 张立 昂译. 算机和 难解性一 1on . ] o 计 M .北京: 学出版社 , 科 2装箱问题 的数学模型 符 号串个体 p sS … , / s I _( l , , Z S l ' ,.. N , l s si. P完全性 理论 导论 [ 】 … , … l . | , , 9 0. 集装箱三维装载优化问题可描述为:在一 srn I … , , , 。 因 s一 表示货 1 9 , , … 基 l 定约束 条件 限制下,将一批货物按 照适 当的装 物装载顺序编号,由 【 n】 随机产生 的一 【】hO 1, 间 2K O W S S rt ada , aac n rn h S n aaaa u drr n j e ei a p o c fr wo i n in l 载方法装入 同一集装箱 中, 使得集装 箱的容积 系列非重复整数排列组成, 并且 基因 s一 。 s所 N. A g n tc p ra h o t dme so a 利用率 或装载质量利用率最大, 而增强对集 在位 置序列号 1, … , 与货物编 号一一 p cigwt os an 从 2, n akn i cnt itS【A 】.rce ig f h r Poedn so 装箱 的合理有效使用 。为方便建模 , 如下 : 对应 ;基因 s 表示货物的放置方向编号, t h P r H I tr ain l Co frn e n 约定 叶一 e a t nen to a ne e c o 货物简化为长方体, 高度相等且均小 于集 装箱 由【l, 间随机产生 的一 系列 可重复整数排 C m ua o a S ine ICS 【】 . Sn 2】 o p tt nl c c C C i e a 尺寸 ;货物以水平方 向放置于集装箱中任位置 列组成 ;基 因 8+~S 21 表示装载层数编 号,由【 Fa cso C a rn ic , A, US Alx n rv 2 o12 1— A: e a d o , 0 .9 9. 而不受配置位置限制。 0, 】间随机产生 的一 系列可 重复整数排列 29 M 21 标 函数及约束条件 .目 组成 , =0表示货物 i s 不装 载。 [] n raL d,Sla o Matl ,D nee Vg. 3A de oi i n r l ail io v eo Ap r x mai n ag rt ms o t e o e td 2 p o i to l o h i f r h r n e i 装 箱 的 目标 可 描述 为如 下 的 最 大 化 函 3 . 3遗传算子 数 【: 】 331 择 ..选 dmesoa bn pc ig po lm i ni l i akn rbe 叨 . n rp a o r a fOp ai a ol s ac ,9 9 采用轮盘赌选择方法 , 复制 N 个个体 。若 Eu o e n Ju n lo e rt n Ree rh 1 9 , M x=L W h,+1 ) (6 /0 az ) ∑ i J,( 、 一 g G ) i0 , 其适应度为 £ ' 则选择概率为 : 12 :18 6 . l 5 -1 6 其中 录l 序分别表示货物 j ( =1, 某个体 i 、 l i 、 i 2, , )的长 、 高和质量 ; 。 分别 表 … n 宽、 V G A e o e ei l rh c gi P 善, i =£ ( []intsi 4 4Lp i ki A.Us fgnt a o tms ) 示集装箱的最大装载容积和最大装 载质量 。 选 择适应度最大的个体组成 新一代 种群。 f r ou in f t e e t n l p c i g r b e o s l t o h r ca g e a k n p l m o o 是 ol - 变量 ,当追求 目 标为容积利用率最 大时 33 .. 2交叉 一 【 .ye ec n ytm a s ,20 ,3 J Cb r t sa d S s sAn yi 02 8 J n i e l s =1 ,当追求 目标为装 载质量利用 率最大 时 在交叉过程 中 , 由【1,3 n】间按均 匀分 () 4 - 4 . 6: 3 9 6 9 0 ;8 是 0 — 1变量 , 货物 i装载 则 布随机产生两个整数 a 赴 a 作 为父代 【 许 光泞, 寿. 遗传算法 求解三维集装 ; 若 。 。 , < 5 】 俞金 改进 8; l = , 否则 8; o =。 两个个体 S S 的交 叉位,若 a n,则交 叉 箱装载 问题 [ .华 东理 工大学学报 ,07 0 。 , t > J ] 20 —6, 本文 旨在确定一种集装箱 装载方案 , 以便 仅在 至 s 间进行,直 接交换交叉位 间对 v 1 3. 3: 2 — 8 段 o 3 No 4 5 42 . 将所有货物装入集装箱中 ; 不能完全装入 , 应位置的基因而其余基 因保持 不变 ;若 a≤n 【] 如果 2 , 6翟钰 . 三维装箱问题 的混合遗传算法研究f . D】 则找到一个待装子集 ,或者使集装箱 的空间利 则交叉仅 在 s至 s段 间进行 , 取序交 叉方 上 海 : 海 交通 大 学 ,0 7 采 上 20 . 用率最高。则 问题的 目标函数可描述为 : 法 ;若 a≤n且 a> 。 2n,则交叉在两段 间分别进 [ 雷等. 于遗传算 法的集装 箱单箱三 维装 7 】 基 行,S至 S段采 取序交叉方 法对 a ~n位 间的 载优化问题【】 。 。 J. 中国铁道科 学,0 48. 2 0 () Mx若 WhV a= ; ̄ z ) / ( 2 ) 2 . 2约束条件 基因进行重组 ,s至 s 问直接对 应交 换 n+ Ⅱ 段 作 者 简 介 : 昕 (9 8 ) , 龙 江 省 哈 尔 周 16 ~ 女 黑 装箱约束条件如下: l a 位 问的基 因。 ~2 滨市, 师, 讲 研究方向为工程理论 等。 a 一货物放置方 向的约束: 在装载中, 货物只 3 . 变异 .3 3 尹芳(98 ) , 17~女 黑龙 江省哈 尔滨市 , 师, 讲 能水平放置 , 不能旋转。 对个体采取变异操作过程: 在[n十 1, 研 究方向为工程理论等。 3 b 货物装载质量 的约束: . 货物装 载的总质 n] 间按均匀分布随机产生一个整数 b 作为基 2 量不得多于集装箱的最大装载质量 。 因 s1 a ~s n间的变异 位,若 n + 1 ≤b ≤2 n 2 c. 货物装载容积的约束: 货物 装载的总 容 则将该 位基因值替换为相异 编号值; 2 n+ 若 积不得大于集装箱的最大装载容积 。 l≤b ≤3 n则将 该位基 因值替 换为 [ , 】 。 0 M d 稳 定性 的约束: . 货物装载应该 使重心位 间随机产生的一整数 。 于允 许的范围内而确保整体稳定,以利于运输 34适应度计算 . 安全。 通过个体适应值 的大小来评价群体 中个体
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
参考 文献 :
[ 1 ] 呼士召, 陈钢 , 周巍 , 潮 铸 .“ 韦森 特 ” 台风 期 间广 东 电 网调 度 应 急 处 理 及 反 思E J ] .广 东 电力 , 2 O 1 3 , 2 6 ( 6 ) : 1 — 4 .
使用复合块 , 这是获得较高装载率的关键因素之一 。
择 函数 和完 整装 载方案 的评 价 函数 , 计算效 果 优 于 R e n
等 人 提 出 的 基 于 树 搜 索 的方 法 。 目前 , 满足 C 和 C 约
束 的集装 箱 装 载 问 题 的 最 好 算 法 是 I . Ar a y a [ 3 等 人 提
基于 c o v e r r e p r e s e n t a t i o n方 法 而 不 是 c u t r e p r e s e n t a —
摘 要 : 针对具有优先装载约束 的集装箱装载 问题 , 对P a r t i a l B e a m S e a r c h算法进行 了改进 。在搜 索过程 中去 除相 似 中间状 态, 增加 了搜索过程的 多样性 , 提 高了算法的搜 索效率。实验 结果证 明了算法的有效性。
关键词 : 集 装 箱 装 载 问题 ; B e a m S e a r c h算 法 ; 优先装载约束 ; 搜 索 过 程 多样 性
D OI : 1 0 . 1 1 9 0 7 / r j d k . 1 5 1 2 9 2
中 图分 类 号 : TP 3 1 9
文 献标 识 码 : A
文章编号 : 1 6 7 2 — 7 8 0 0 ( 2 0 1 5 ) 0 0 7 — 0 1 0 6 — 0 3 本 文 针 对 具 有 优 先 装 载 约 束 的 集装 箱 装 载 问题 , 改 进
分别基于简单块和复合块 , 各 用 总 体 计 算 时 间 的 一 半
来 计 算 装 载 方 案 。在 计 算 过 程 中不 仅 使 用 简 单 块 , 同时 也
中产生 的相 似 中 间状 态 来 提 高 搜 索 过 程 的多 样 性 , 进 而提高 搜索 效率 。
及 报 送 的 实用 性 和 可 靠 性 。 电 网 异 常 信 息 自动 统 计 与 报 送 统 计 平 台 的建 设 为 调 度 员 和 管 理 部 门 及 时 掌 握 电 网 故 障信 息 , 快速准确作 出调度决 策提供 了可靠 的工具 , 对 保 障 台 风 等 自然 灾 害期 间 电 网安 全 稳 定 运 行 有 着 重 要 意 义 。
0 引言
在集 装箱 的 实 际装 载 过 程 中, 除 了 考 虑 最 大 化 空 间利 用率 之 外 , 还要考虑多种约束 因素, 如: 货 物 的 摆 放方向、 某 些货 物 的 隔离 性 、 货物的承载能力、 货 物 装 载 的稳 定 性 、 装 载 的优 先 级 、 网技 术 ,2 0 1 2 , 4 0 ( 1 ) : 9 1 — 9 3 .
J 3 J P AND EY A K, B HUY AN, P M0HAP T RA D P . C o mp o n e n t b a s e d
e xc e p t i o n h a n d l i n g f r a me wo r k f o r SOA b a s e d s e r v i c e s r C] .2 0 1 4
了P a r t i a l B e a m S e a r c h算 法 , 通 过 去 除 搜 索 过 程 中 生 成 的
相 似 中间 状 态 来 增 加 搜 索 过 程 的 多 样 性 , 进 而 提 高 算 法 的 搜索效率 。
1 改进 的具 有 优 先 装 载 约 束 的 P a r t i a l B e a m S e a r c h算 法
t i o n 方 法 进 行 装 载 空 间表 达 , 这 是 获得 较 高 装 载 率 的 关 键
因素 之 一 。
1 . 2 货 物 块 种 类
出的基 于 B e a m S e a r c h的算法 , 该算 法 的最 主要 特 点 是
运用 B e a m S e a r c h算 法 进 行 搜 索 时 , 通 过 去 除 搜 索 过 程
第1 4 卷 第7 期
2 0 1 5 年 7 月
软 件 导 刊
So f t wa r e Gu i d e
VO I .1 4NO .7
J u l y. 201 5
基于 B e a m S e a r c h算 法 的集 装 箱装 载 问题 研 究
杨 会 志
( 电子科技 大学 中山 学院 计 算机 学 院 , 广 东 中山 5 2 8 4 0 2 )
根据 We n b i n Z h u l 4 等 提 出 的 集 装 箱 装 载 算 法 分 析 框 架, 改 进 的具 有 优 先 装 载 约 束 的 P a r t i a l Be a m S e a r c h算 法
可 以从 以下 6个 方 面 进 行 描 述 。
1 . 1 空 间 表 达 方 法
前, 针 对 货 物 装 载 过 程 中 具 有 优 先 装 载 约 束 的 研 究 成
果 还 比较少 , 主 要 有 Re n _ 】 等 人 提 出 的 基 于 树 搜 索 的 方 法, 在该 方 法 中 , 采 用 5个 评 价 函 数 选 择 简 单 块 。 Ni n g
Wa n g 等人 提 出的基 于 P a r t i a l B e a m S e a r c h的 方 法 , 该 方 法改进 了 B e a m S e a r c h算 法 , 定 义 了 更 加 高 效 的 块 选
相关文档
最新文档