同轨双车运行模式下堆垛机调度路径模型建立方法与流程

文档序号:12459375阅读:来源:国知局

技术特征:

1.一种同轨双车运行模式下堆垛机调度路径模型的建立方法,其特征在于,该方法将任务合理地分配给自动化仓库两端式布局的两台堆垛机,完善现有堆垛机SC/DC作业模式,具体按下列步骤进行:

在同轨双车运行模式下,一批出/入库任务输入后,通过统筹分配原则合理地将任务分配给两台堆垛机;

这批任务完成的时间取决于两堆垛机完成各自任务运行时间的最大值;

T=max(TL,TR) (1)

其中:TL,TR分别为同一巷道上两台堆垛机完成各自任务的运行时间;

两堆垛机在同一巷道上同时工作,它们各自的水平位移和垂直位移互不干涉,故其中一台堆垛机完成一次存/取任务所花费的时间为水平、垂直作业所需时间的最大值;

设一个货架的长度为l、高度为h,堆垛机水平位移速度为Vx、垂直位移速度为Vy,则其中一台堆垛机以位置[xa,ya]为起点,以位置[xb,yb]为终点,所花费的时间为:

t=max(|xa-xb|l/Vx,|ya-yb|h/Vy) (2)

在同轨双车运行模式下,决定仓库存储效率的要素有两点:

(1)出/入库任务的分配情况,即货位到两端出/入库台的距离和每台堆垛机获得的任务数量;

(2)SC/DC任务的组合方式,即堆垛机执行DC任务时,入库货位和出库货位的距离;

基于上述决定仓库存储效率的两点要素,同轨双车运行模式下任务的分配原则及双堆垛机执行SC/DC任务的调度模型如下:

1)任务分配原则:

一批任务输入后,基于统筹分配原则将这批任务分配给两台堆垛机,其对应货位的横坐标构成集合L={x1,x2,...,xl}和R={x1,x2,...,xr},集合L中元素对应任务由横坐标小的出/入库台执行出/入库作业,集合R中元素对应任务由横坐标大的出/入库台执行出/入库作业;

统筹分配原则的目标是在一组出/入库任务分配完成后,两堆垛机完成各自任务的运行时间最短;两堆垛机运行时间差的绝对值最小,数学模型表达如下:

<mrow> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msub> <mi>g</mi> <mi>L</mi> </msub> <mrow> <mo>(</mo> <mi>T</mi> <mo>)</mo> </mrow> <mo>=</mo> <mi>m</mi> <mi>i</mi> <mi>n</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mi>L</mi> </msub> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>g</mi> <mi>R</mi> </msub> <mrow> <mo>(</mo> <mi>T</mi> <mo>)</mo> </mrow> <mo>=</mo> <mi>m</mi> <mi>i</mi> <mi>n</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mi>R</mi> </msub> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>g</mi> <mi>&Delta;</mi> </msub> <mrow> <mo>(</mo> <mi>T</mi> <mo>)</mo> </mrow> <mo>=</mo> <mi>m</mi> <mi>i</mi> <mi>n</mi> <mrow> <mo>(</mo> <mi>&Delta;</mi> <mi>T</mi> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>3</mn> <mo>)</mo> </mrow> </mrow>

约束条件:

xi<xj (4)

ΔT≤tmin (5)

其中,ΔT=|TL-TR|

xi∈L,i=1,2,...,l

xj∈R,j=1,2,...,r

tmin=min(tj,tj+1,...,tend)

式(3)中,TL和TR分别为同一巷道上两台堆垛机完成各自任务的运行时间;ΔT为两堆垛机运行时间差的绝对值;

式(4)含义为集合L中元素均小于集合R中元素,以保证堆垛机运行时间短,避免碰撞发生;

式(5)中,tmin为先完成任务的堆垛机执行另一台堆垛机各未完成任务所需时间的最小值,该式确保在一台堆垛机完成任务,处于“空闲”状态时,立体仓库的总存储效率最优;

其中,tj,tj+1,...,tend分别为先完成任务的堆垛机执行另一台堆垛机各未完成任务所需时间;

2)SC任务调度模型:

同轨双车模式下堆垛机执行SC任务的作业方式为:两台堆垛机从出/入库台出发,抵达各自任务货位卸载/装载货物,返回出/入库台;

针对其中一台堆垛机执行SC任务的作业方式进行分析,当有n条SC任务由该堆垛机执行时,其所花费的总时间为:

<mrow> <msub> <mi>T</mi> <mrow> <msub> <mi>SC</mi> <mi>L</mi> </msub> </mrow> </msub> <mo>=</mo> <mn>2</mn> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <msub> <mi>T</mi> <msub> <mi>P</mi> <mi>i</mi> </msub> </msub> <mo>+</mo> <msub> <mi>nt</mi> <mrow> <mi>p</mi> <mi>i</mi> <mi>k</mi> <mi>e</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>nt</mi> <mrow> <mi>p</mi> <mi>u</mi> <mi>t</mi> </mrow> </msub> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>6</mn> <mo>)</mo> </mrow> </mrow>

其中:

为这台堆垛机执行n条SC任务所花费的时间;

为堆垛机从出/入库台运行到第i个任务货位的运行时间;

tpike和tput分别为取货操作和存货操作所需时间;

由此,两台堆垛机同时工作,完成一批SC任务所需时间为:

<mrow> <msub> <mi>T</mi> <mrow> <mi>S</mi> <mi>C</mi> </mrow> </msub> <mo>=</mo> <mi>m</mi> <mi>a</mi> <mi>x</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mrow> <msub> <mi>SC</mi> <mi>L</mi> </msub> </mrow> </msub> <mo>,</mo> <msub> <mi>T</mi> <mrow> <msub> <mi>SC</mi> <mi>R</mi> </msub> </mrow> </msub> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>7</mn> <mo>)</mo> </mrow> </mrow>

其中:

分别为同一巷道上两台堆垛机完成各自SC任务的运行时间;

3)DC任务调度模型:

同轨双车模式下堆垛机执行DC任务的作业方式为:两台堆垛机从出/入库台运载货物到各自入库任务货位,卸载货物后直接运行到各自出库任务货位装载货物,再将货物运至出/入库台;

针对其中一台堆垛机执行DC任务的作业方式进行分析,当有n条DC任务由该堆垛机执行时,所花费的总时间为:

<mrow> <msub> <mi>T</mi> <mrow> <msub> <mi>DC</mi> <mi>L</mi> </msub> </mrow> </msub> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mn>2</mn> <mi>n</mi> </mrow> </munderover> <msub> <mi>T</mi> <msub> <mi>P</mi> <mi>i</mi> </msub> </msub> <mo>+</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <msub> <mi>T</mi> <mrow> <msub> <mi>P</mi> <mrow> <mn>2</mn> <mi>i</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <msub> <mi>P</mi> <mrow> <mn>2</mn> <mi>i</mi> </mrow> </msub> </mrow> </msub> <mo>+</mo> <mn>2</mn> <msub> <mi>nt</mi> <mrow> <mi>p</mi> <mi>i</mi> <mi>k</mi> <mi>e</mi> </mrow> </msub> <mo>+</mo> <mn>2</mn> <msub> <mi>nt</mi> <mrow> <mi>p</mi> <mi>u</mi> <mi>t</mi> </mrow> </msub> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>8</mn> <mo>)</mo> </mrow> </mrow>

其中:

为这台堆垛机执行n条DC任务所花费的时间;

2n为包括出库任务和入库任务的任务总数;

为堆垛机从出/入库台运行到第i个任务货位的运行时间;

为同一条DC任务中,堆垛机从入库货位运行到出库货位的运行时间;

tpike和tput分别为取货操作和存货操作所需时间;

由此,两台堆垛机同时工作,完成一批DC任务所需时间为:

<mrow> <msub> <mi>T</mi> <mrow> <mi>D</mi> <mi>C</mi> </mrow> </msub> <mo>=</mo> <mi>m</mi> <mi>a</mi> <mi>x</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mrow> <msub> <mi>DC</mi> <mi>L</mi> </msub> </mrow> </msub> <mo>,</mo> <msub> <mi>T</mi> <mrow> <msub> <mi>DC</mi> <mi>R</mi> </msub> </mrow> </msub> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>9</mn> <mo>)</mo> </mrow> </mrow>

其中:

分别为同一巷道上两台堆垛机完成各自DC任务的运行时间;

综上,两端式自动化仓库布局中基于同轨双车运行模式下的堆垛机调度路径模型如下:

T=min(TL,TR)+ΔT (10)

约束条件:

xi<xj

ΔT≤tmin

其中:

<mrow> <msub> <mi>T</mi> <mi>L</mi> </msub> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mn>2</mn> <msub> <mi>Q</mi> <mrow> <mi>L</mi> <mn>2</mn> </mrow> </msub> </mrow> </munderover> <msub> <mi>T</mi> <msub> <mi>P</mi> <mi>i</mi> </msub> </msub> <mo>+</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <msub> <mi>Q</mi> <mrow> <mi>L</mi> <mn>2</mn> </mrow> </msub> </munderover> <msub> <mi>T</mi> <mrow> <msub> <mi>P</mi> <mrow> <mn>2</mn> <mi>i</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <msub> <mi>P</mi> <mrow> <mn>2</mn> <mi>i</mi> </mrow> </msub> </mrow> </msub> <mo>+</mo> <mn>2</mn> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <msub> <mi>Q</mi> <mrow> <mi>L</mi> <mn>1</mn> </mrow> </msub> <mo>-</mo> <msub> <mi>Q</mi> <mrow> <mi>L</mi> <mn>2</mn> </mrow> </msub> </mrow> </munderover> <msub> <mi>T</mi> <msub> <mi>P</mi> <mi>i</mi> </msub> </msub> <mo>+</mo> <mrow> <mo>(</mo> <msub> <mi>Q</mi> <mrow> <mi>L</mi> <mn>1</mn> </mrow> </msub> <mo>+</mo> <msub> <mi>Q</mi> <mrow> <mi>L</mi> <mn>2</mn> </mrow> </msub> <mo>)</mo> </mrow> <msub> <mi>t</mi> <mrow> <mi>p</mi> <mi>i</mi> <mi>k</mi> <mi>e</mi> </mrow> </msub> <mo>+</mo> <mrow> <mo>(</mo> <msub> <mi>Q</mi> <mrow> <mi>L</mi> <mn>1</mn> </mrow> </msub> <mo>+</mo> <msub> <mi>Q</mi> <mrow> <mi>L</mi> <mn>2</mn> </mrow> </msub> <mo>)</mo> </mrow> <msub> <mi>t</mi> <mrow> <mi>p</mi> <mi>u</mi> <mi>t</mi> </mrow> </msub> </mrow>

<mrow> <msub> <mi>T</mi> <mi>R</mi> </msub> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mn>2</mn> <msub> <mi>Q</mi> <mrow> <mi>R</mi> <mn>2</mn> </mrow> </msub> </mrow> </munderover> <msub> <mi>T</mi> <msub> <mi>P</mi> <mi>i</mi> </msub> </msub> <mo>+</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <msub> <mi>Q</mi> <mrow> <mi>R</mi> <mn>2</mn> </mrow> </msub> </munderover> <msub> <mi>T</mi> <mrow> <msub> <mi>P</mi> <mrow> <mn>2</mn> <mi>i</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <msub> <mi>P</mi> <mrow> <mn>2</mn> <mi>i</mi> </mrow> </msub> </mrow> </msub> <mo>+</mo> <mn>2</mn> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <msub> <mi>Q</mi> <mrow> <mi>R</mi> <mn>1</mn> </mrow> </msub> <mo>-</mo> <msub> <mi>Q</mi> <mrow> <mi>R</mi> <mn>2</mn> </mrow> </msub> </mrow> </munderover> <msub> <mi>T</mi> <msub> <mi>P</mi> <mi>i</mi> </msub> </msub> <mo>+</mo> <mrow> <mo>(</mo> <msub> <mi>Q</mi> <mrow> <mi>R</mi> <mn>1</mn> </mrow> </msub> <mo>+</mo> <msub> <mi>Q</mi> <mrow> <mi>R</mi> <mn>2</mn> </mrow> </msub> <mo>)</mo> </mrow> <msub> <mi>t</mi> <mrow> <mi>p</mi> <mi>i</mi> <mi>k</mi> <mi>e</mi> </mrow> </msub> <mo>+</mo> <mrow> <mo>(</mo> <msub> <mi>Q</mi> <mrow> <mi>R</mi> <mn>1</mn> </mrow> </msub> <mo>+</mo> <msub> <mi>Q</mi> <mrow> <mi>R</mi> <mn>2</mn> </mrow> </msub> <mo>)</mo> </mrow> <msub> <mi>t</mi> <mrow> <mi>p</mi> <mi>u</mi> <mi>t</mi> </mrow> </msub> </mrow>

<mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <msub> <mi>Q</mi> <mrow> <mi>L</mi> <mn>1</mn> </mrow> </msub> <mo>=</mo> <mi>m</mi> <mi>a</mi> <mi>x</mi> <mo>(</mo> <msub> <mi>n</mi> <mi>L</mi> </msub> <mo>,</mo> <msub> <mi>m</mi> <mi>L</mi> </msub> <mo>)</mo> </mtd> </mtr> <mtr> <mtd> <msub> <mi>Q</mi> <mrow> <mi>L</mi> <mn>2</mn> </mrow> </msub> <mo>=</mo> <mi>m</mi> <mi>i</mi> <mi>n</mi> <mo>(</mo> <msub> <mi>n</mi> <mi>L</mi> </msub> <mo>,</mo> <msub> <mi>m</mi> <mi>L</mi> </msub> <mo>)</mo> </mtd> </mtr> <mtr> <mtd> <msub> <mi>Q</mi> <mrow> <mi>R</mi> <mn>1</mn> </mrow> </msub> <mo>=</mo> <mi>m</mi> <mi>a</mi> <mi>x</mi> <mo>(</mo> <msub> <mi>n</mi> <mi>R</mi> </msub> <mo>,</mo> <msub> <mi>m</mi> <mi>R</mi> </msub> <mo>)</mo> </mtd> </mtr> <mtr> <mtd> <msub> <mi>Q</mi> <mrow> <mi>R</mi> <mn>2</mn> </mrow> </msub> <mo>=</mo> <mi>m</mi> <mi>i</mi> <mi>n</mi> <mo>(</mo> <msub> <mi>n</mi> <mi>R</mi> </msub> <mo>,</mo> <msub> <mi>m</mi> <mi>R</mi> </msub> <mo>)</mo> </mtd> </mtr> </mtable> </mfenced>

ΔT=|TL-TR|

xi∈L,i=1,2,...,l

xj∈R,j=1,2,...,r

tmin=min(tj,tj+1,...,tend)

nL、nR、mL、mR分别为两堆垛机获得的入库作业数量和出库作业数量;

约束条件与式(4)、式(5)处含义相同;

在实际工况中,堆垛机所接到的任务数量大,任务分配原则与任务排序方式又相互影响,因此在式(10)中,堆垛机的运动时长因任务分配方式和任务排序的不同而存在较大差异,给出一种智能优化算法,用于求得该模型的最优解:

运用化学反应优化(CRO)全局搜索能力强的特点,采用任务序号映射货位坐标的间接整数编码的方式,将任务分配原则嵌入CRO的每一次迭代中,对式(10)进行最优解的计算,得到最优任务分配方案和堆垛机最优调度路径;

为了方便问题的求解,采用基于任务编号排序的间接整数编码法将出库任务和入库任务分别写成两段编码;

一个分子由两段自然数组成,自然数的先后顺序代表这个分子的结构;

自然数为每条任务的序号,通过映射得到该条任务对应的出/入库位点坐标;

第一段自然数为出库任务序号,第二段自然数为入库任务序号,自首位开始,对应位次的出/入库任务组成DC任务,剩余的出库或入库任务为SC任务;

在调度模型的优化过程中,采用统筹分配原则不能保证一次分配的结果为最优,通过先进行一次任务分配获得初始分子,再于每次迭代结束后调整分配结果的方式,可逐步寻得任务分配的最优解;

运用CRO,采用基于任务编号排序的间接编码法,将统筹分配原则融入到算法的每一次迭代中,即求得式(10)的最优解。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1