发明名称 初始工件带有释放时间的返工工件重调度的分段插入方法
摘要 初始工件带有释放时间的返工工件重调度的分段插入方法,根据初始调度有机器空闲的特点,有效的利用了机器空闲时间和初始工件可延迟的最大时间。根据返工工件和生产一个新工件相比通常具有初始时间较短的特点,将返工工件按照SPT(越短处理时间越早加工)的规则,尽可能多的插入初始调度,无法插入的返工工件则追加到最后按照SPT规则依次调度。该算法保证了决策的有效性,在保持了原生产系统稳定的前提下,极大的提高了生产效率。本发明针对RRJS生产问题提供了切实可行的重调度算法,该算法的提出对于RRJS生产问题中返工工件的重调度有一定的参考价值,对提高我国这类生产系统领域中的返工重调度算法具有重要的指导意义。
申请公布号 CN103123486B 申请公布日期 2016.04.13
申请号 CN201310026667.4 申请日期 2013.01.19
申请人 渤海大学 发明人 郭艳东;伦淑娴;杨凯;王巍;苏宪利;周建壮;韩志艳
分类号 G05B19/418(2006.01)I 主分类号 G05B19/418(2006.01)I
代理机构 锦州辽西专利事务所 21225 代理人 李辉
主权项 初始工件带有释放时间的返工工件重调度的分段插入方法,其特征是具体步骤如下:第1步:将返工工件按照处理时间的非降序排列,得到一个调度ω,使得<img file="FDA0000914968670000011.GIF" wi="366" he="86" /><img file="FDA0000914968670000012.GIF" wi="221" he="86" />为包含在调度ω中且已经按照处理时间非降序排列的n<sub>R</sub>个返工工件,[j]表示第j个位置的工件号,计算第j个位置之前的所有返工工件的处理时间和B<sub>[j]</sub>,<img file="FDA0000914968670000013.GIF" wi="733" he="149" />其中<img file="FDA0000914968670000014.GIF" wi="81" he="86" />为工件号为[j]的返工工件的处理时间,n<sub>O</sub>为初始工件的数量;第2步:<img file="FDA0000914968670000015.GIF" wi="149" he="62" />i=1按下列步骤执行:第2.1步:如果<img file="FDA0000914968670000016.GIF" wi="158" he="63" />并且<img file="FDA0000914968670000017.GIF" wi="159" he="63" />执行第2.1.1步;如果<img file="FDA0000914968670000018.GIF" wi="333" he="70" />则σ=σ|υ;如果<img file="FDA0000914968670000019.GIF" wi="333" he="69" />则σ=σ|ω;第2.1.1步:如果<img file="FDA00009149686700000110.GIF" wi="335" he="87" />且初始调度υ中初始工件<img file="FDA00009149686700000111.GIF" wi="63" he="79" />的开始加工时间等于它的释放时间r<sub>[i]</sub>,即<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msubsup><mi>s</mi><mrow><mo>&lsqb;</mo><mi>i</mi><mo>&rsqb;</mo></mrow><mi>O</mi></msubsup><mrow><mo>(</mo><mi>&upsi;</mi><mo>)</mo></mrow><mo>=</mo><msub><mi>r</mi><mrow><mo>&lsqb;</mo><mi>i</mi><mo>&rsqb;</mo></mrow></msub><mo>,</mo></mrow>]]></math><img file="FDA00009149686700000112.GIF" wi="235" he="84" /></maths>则计算<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msubsup><mi>&Delta;</mi><mrow><mi>m</mi><mi>i</mi><mi>n</mi></mrow><mi>O</mi></msubsup><mrow><mo>(</mo><mi>&upsi;</mi><mo>)</mo></mrow><mo>=</mo><munder><mi>min</mi><mrow><mi>n</mi><mo>=</mo><mn>1</mn><mo>,</mo><mn>...</mn><mo>,</mo><mi>j</mi><mo>-</mo><mn>1</mn></mrow></munder><mo>{</mo><msubsup><mi>&Delta;</mi><mrow><mo>&lsqb;</mo><mi>n</mi><mo>&rsqb;</mo></mrow><mi>O</mi></msubsup><mrow><mo>(</mo><mi>&upsi;</mi><mo>)</mo></mrow><mo>}</mo><mo>,</mo></mrow>]]></math><img file="FDA00009149686700000113.GIF" wi="527" he="94" /></maths><maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><mi>&Delta;</mi><mo>=</mo><mi>min</mi><mo>{</mo><msubsup><mi>&Delta;</mi><mi>min</mi><mi>O</mi></msubsup><mrow><mo>(</mo><mi>&upsi;</mi><mo>)</mo></mrow><mo>,</mo><msub><mi>r</mi><mrow><mo>&lsqb;</mo><mi>i</mi><mo>&rsqb;</mo></mrow></msub><mo>-</mo><msubsup><mi>C</mi><mrow><mo>&lsqb;</mo><mi>i</mi><mo>-</mo><mn>1</mn><mo>&rsqb;</mo></mrow><mi>O</mi></msubsup><mrow><mo>(</mo><mi>&upsi;</mi><mo>)</mo></mrow><mo>}</mo><mo>;</mo></mrow>]]></math><img file="FDA00009149686700000114.GIF" wi="661" he="79" /></maths>选择<img file="FDA00009149686700000115.GIF" wi="661" he="111" />执行第2.2步,否则i=i+1;如果i≤n<sub>O</sub>执行第2.1步,如果i>n<sub>O</sub>则<img file="FDA00009149686700000116.GIF" wi="246" he="78" />执行第2.2步;第2.2步:如果<img file="FDA00009149686700000117.GIF" wi="315" he="85" />B<sub>[j+1]</sub>>Δ+I<sup>%</sup>,I<sup>%</sup>表示在前一段插入返工工件之后紧挨着当前段之前的剩余空闲,在υ之前插入包含了调度ω中工件号为[1]至[j]返工工件的集合<img file="FDA00009149686700000118.GIF" wi="518" he="86" /><img file="FDA00009149686700000119.GIF" wi="149" he="78" />为调度ω中工件号为[j]的返工工件,否则<img file="FDA00009149686700000120.GIF" wi="215" he="78" />更新υ中工件的所有开始时间,使<img file="FDA00009149686700000121.GIF" wi="133" he="79" />的开始时间等于<img file="FDA00009149686700000122.GIF" wi="238" he="79" /><img file="FDA00009149686700000123.GIF" wi="270" he="78" />如果<img file="FDA00009149686700000124.GIF" wi="448" he="103" /><img file="FDA00009149686700000125.GIF" wi="246" he="79" /><img file="FDA00009149686700000126.GIF" wi="139" he="86" />为初始工件<img file="FDA00009149686700000127.GIF" wi="58" he="78" />在初始调度υ中可以延迟的最大时间;否则<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><msubsup><mi>J</mi><mi>O</mi><mi>%</mi></msubsup><mo>=</mo><mo>{</mo><msubsup><mi>j</mi><mrow><mo>&lsqb;</mo><mn>1</mn><mo>&rsqb;</mo></mrow><mi>O</mi></msubsup><mrow><mo>(</mo><mi>&upsi;</mi><mo>)</mo></mrow><mo>,</mo><mo>...</mo><mo>,</mo><msubsup><mi>j</mi><mrow><mo>&lsqb;</mo><mi>m</mi><mo>&rsqb;</mo></mrow><mi>O</mi></msubsup><mrow><mo>(</mo><mi>&upsi;</mi><mo>)</mo></mrow><mo>}</mo><mo>;</mo></mrow>]]></math><img file="FDA00009149686700000128.GIF" wi="558" he="87" /></maths><maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><mi>&sigma;</mi><mo>=</mo><mi>&sigma;</mi><mo>|</mo><msubsup><mi>J</mi><mi>R</mi><mi>%</mi></msubsup><mo>|</mo><msubsup><mi>J</mi><mi>O</mi><mi>%</mi></msubsup><mo>,</mo></mrow>]]></math><img file="FDA00009149686700000129.GIF" wi="333" he="78" /></maths><maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><mi>&upsi;</mi><mo>=</mo><mi>&upsi;</mi><mo>-</mo><msubsup><mi>J</mi><mi>O</mi><mi>%</mi></msubsup><mo>,</mo></mrow>]]></math><img file="FDA00009149686700000130.GIF" wi="245" he="76" /></maths><maths num="0007" id="cmaths0007"><math><![CDATA[<mrow><msup><mi>I</mi><mi>%</mi></msup><mo>=</mo><mo>&lsqb;</mo><mrow><mo>(</mo><msub><mi>r</mi><mrow><mo>&lsqb;</mo><mi>i</mi><mo>&rsqb;</mo></mrow></msub><mo>-</mo><msubsup><mi>C</mi><mrow><mo>&lsqb;</mo><mi>i</mi><mo>-</mo><mn>1</mn><mo>&rsqb;</mo></mrow><mi>o</mi></msubsup><mo>(</mo><mi>&upsi;</mi><mo>)</mo><mo>)</mo></mrow><mo>-</mo><msubsup><mi>&Delta;</mi><mi>min</mi><mi>O</mi></msubsup><mrow><mo>(</mo><mi>&upsi;</mi><mo>)</mo></mrow><mo>&rsqb;</mo><mo>,</mo></mrow>]]></math><img file="FDA00009149686700000131.GIF" wi="626" he="86" /></maths>返回到第2.1步;第1步和第2步中上角标表示工件类型,即O表示初始工件,R表示返工工件,小括号内符号表示调度类型,即υ表示初始调度,σ表示重调度,w<sub>max</sub>(σ)表示重调度中返工工件的最大等待时间;C<sub>i</sub>和s<sub>i</sub>分别表示工件j<sub>i</sub>的完工时间与开始时间,<img file="FDA0000914968670000021.GIF" wi="70" he="77" />表示初始工件<img file="FDA0000914968670000022.GIF" wi="56" he="78" />可以延迟的最大时间,I表示机器空闲时间和;α|β表示子调β紧接着子调度α后执行的调度。
地址 121000 辽宁省锦州市高新技术产业区科技路19号