基于最近距离优先的渠道土石方迁移方法转让专利

申请号 : CN200910036190.1

文献号 : CN101702181A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 薛联青靳宏昌曲卓杰

申请人 : 河海大学

摘要 :

本发明公开了一种基于最近距离优先的渠道土石方迁移方法,将渠道划分成等距离的m段,其中m的取值为大于0的正整数,m的取值最大可以到10000,得到第1段、第2段、第3段、……、第m段,最大的土石方调配距离的分段数目为k,其中k的取值为大于0的正整数,k的取值最大可以到100,获取每个分段内土石方挖方量或填方量的剩余量,首先在所有相邻的分段之间进行土石方挖方量和填方量的平衡调配,接着在所有次相邻的分段之间进行土石方平衡调配,依次类推,在最大调配分段距离范围内的所有分段之间进行土石方平衡调配,如果在最大调配分段距离范围内仍有分段土石方没有平衡的,则直接弃土或借土。本发明能够支持大规模渠道分段土石方平衡调配。

权利要求 :

1.一种基于最近距离优先的渠道土石方迁移方法,其特征是:将渠道划分成等距离的m段,其中m的取值为大于0的正整数,m的取值最大可以到10000,得到第1段、第2段、第3段、……、第m段,最大的土石方调配距离的分段数目为k,其中k的取值为大于0的正整数,k的取值最大可以到100,获取每个分段内土石方挖方量或填方量的剩余量,首先在所有相邻的分段之间进行土石方挖方量和填方量的平衡调配,接着在所有次相邻的分段之间进行土石方平衡调配,依次类推,在最大调配分段距离范围内的所有分段之间进行土石方平衡调配,如果在最大调配分段距离范围内仍有分段土石方没有平衡的,则直接弃土或借土,具体步骤如下:第1步:设置参数

将m个分段中每个分段的土石方剩余量分别设置为T[1]、T[2]、…、T[m],剩余土石方量为正数的表示该分段内有土石方剩余,需要将该土石方移动到其它分段或者直接向弃土坑弃土,剩余土石方量为负数的分段表示该分段内缺乏土石方,需要从其它分段或取土坑借土,设置二维数组a[m+1][m+1],用于记录分段之间调配的土石方量,设置数组a的初始值为0,设进行土石方调配的分段编号为i,调配步长为j,设置开始调配的第一个分段编号i为1,开始调配的步长j为1,进到第2步,所述步长为进行土石方平衡调配的两个分段的分段编号之间的差值;

第2步:计算需要进行土石方平衡调配的两个分段的编号

进行土石方平衡调配的两个分段编号分别为i和i+j,进入到第3步;

第3步:判断两分段之间是否需要进行土石方平衡调配

如果第i段的土石方剩余量T[i]和第i+j段的土石方剩余量T[i+j]两者之间相乘的结果大于等于0,则两个分段之间不需要进行土石方平衡调配,第i段的土石方剩余量T[i]和第i+j段的土石方剩余量T[i+j]值不做任何变化,进入到第5步;否则进入第4步;

第4步:两分段之间进行土石方平衡调配

如果第i段的土石方剩余量T[i]的绝对值大于等于第i+j段的土石方剩余量T[i+j]的绝对值,则设置第i段的土石方剩余量T[i]等于第i段的土石方剩余量T[i]加第i+j段的土石方剩余量T[i+j],设置a[i][i+j]等于第i+j段的土石方剩余量T[i+j],设置a[i+j][i]等于第i+j段的土石方剩余量T[i+j]的负数,设置第i+j段的土石方剩余量T[i+j]等于0;如果第i段的土石方剩余量T[i]绝对值小于第i+j段的土石方剩余量T[i+j]绝对值,则设置第i+j段的土石方剩余量T[i+j]等于第i+j段的土石方剩余量T[i+j]加第i段的土石方剩余量T[i],设置第i+j段和第i段之间调配土石方量的二维数组a[i+j][i]等于第i段的土石方剩余量T[i],设置记录第i段和第i+j段之间调配土石方量的二维数组a[i][i+j]等于第i段的土石方剩余量T[i]的负数,设置第i段的土石方剩余量T[i]等于0;进入第5步;

第5步:设置新的分段编号i

如果当前分段编号i+j小于m,则设置i等于i+1,进入到第2步;如果当前分段编号i+j等于m,则进入第6步;

第6步:设置新的调配步长j

如果当前的调配步长j小于k,则设置j等于j+1,设置i等于1,回到第2步;如果当前的调配步长j等于k,进入第7步;

第7步:土石方调配结束

渠道土石方调配结束,将剩余土石方非0的各分段值输出,将记录分段之间调配土石方量的二维数组a的结果输出,运算结束。

说明书 :

技术领域

本发明涉及土石方平衡调配方法,尤其是一种在渠道设计施工中的基于最近距离优先的渠道土石方迁移方法。

背景技术

土石方调配是指渠道路线上某路段土石方扣除本路段利用方后,将挖余土石方合理地纵向调运至填缺路段,并根据实际和调配情况合理设置借、弃场的分配工作。将一个渠道沿线等间距分段成若干份,每个分段内产生的挖方和填方在本段内进行调配不需要任何费用,因此每个分段内的土石方情况有三种:(1)挖方和填方正好平衡,挖方和填方在本段内平衡,不需要借土和弃土;(2)挖方多于填方,在本段内平衡后,该段还有剩余的土量,需要进行弃土;(3)填方多于挖方,在本段内平衡后,该段的土量还不够,需要进行借土。如果一个分段需要借土,它可以向其他弃土分段借土或者向取土坑借土;如果一个分段需要弃土,它可以向其他借土分段弃土或向弃土点弃土。一个借土分段需要向那些弃土分段借土?该分段是否要向取土坑借土?分别借土多少?一个弃土分段向那些借土分段弃土?是否需要为该分段设置弃土点?向各个借土分段和弃土点分别弃多少土石方?对于这些问题,我们需要有个最优的解决方案,以使得能够以最低的价格实现土石方调配。为了能够进行土石方优化设计及系统开发,在公路领域已经设计和实现了一些土石方优化调配方案和系统。
优化建模是土石方调配研究的核心和其他研究工作的基础。根据调配问题的不同工程背景和特点,应用不同的理论,分别建立了线性规划模型、大系统分解协调模型、动态规划模型、多目标规划模型等土石方优化调配模型。这些模型都以土石方工程的设计方案和施工条件为约束,以调配数量为决策变量,寻求系统费用最小化的调配方案。然而传统累计曲线法、调配图法,以及土石方数量计算表等方法,大多要建立优化数学模型好目标函数,进而进行最优解求解。为了求解以上模型时,或者通过优化求解工具,如Matlab、Excel、Lindo等软件的优化功能模块求解;或者利用单纯型法、隐枚举法、分枝定界求解模型。然而优化数学模型难以建立,另一方面优化数学模型算法的性能也较差。
如建立一个优化模型后,需分别引入人工和松弛变量才能得到初始基可行解,寻求最优解子程序可使用单纯形法。假如n为土石方平衡后段内需要填方的分段数,m为需要挖方的分段数,则优化模型的约束条件一共有2n+2m+n*m个约束方程,其系数为(2n+2m+n*m)*(2n+2m+n*m),如果南水北调工程山东济平干渠总长度为100KM,分段距离为0.5KM,总共分段数量为200,假设n=m=100,则该例子约束方程有10400个,则其方程系数有10816000,为了解这个10400大小的方程,仅仅存放其方程系数就需要40MB内存空间。因此传统的数学优化方法难以满足对大渠道土石方调配的计算。

发明内容

本发明提出一种基于最近距离优先的渠道土石方迁移方法,本发明能够支持大规模渠道分段土石方平衡调配。
本发明采用如下技术方案:
一种基于最近距离优先的渠道土石方迁移方法,其特征是:将渠道划分成等距离的m段,其中m的取值为大于0的正整数,m的取值最大可以到10000,得到第1段、第2段、第3段、……、第m段,最大的土石方调配距离的分段数目为k,其中k的取值为大于0的正整数,k的取值最大可以到100,获取每个分段内土石方挖方量或填方量的剩余量,首先在所有相邻的分段之间进行土石方挖方量和填方量的平衡调配,接着在所有次相邻的分段之间进行土石方平衡调配,依次类推,在最大调配分段距离范围内的所有分段之间进行土石方平衡调配,如果在最大调配分段距离范围内仍有分段土石方没有平衡的,则直接弃土或借土,具体步骤如下:
第1步:设置参数
将m个分段中每个分段的土石方剩余量分别设置为T[1]、T[2]、…、T[m],剩余土石方量为正数的表示该分段内有土石方剩余,需要将该土石方移动到其它分段或者直接向弃土坑弃土,剩余土石方量为负数的分段表示该分段内缺乏土石方,需要从其它分段或取土坑借土,设置二维数组a[m+1][m+1],用于记录分段之间调配的土石方量,设置数组a的初始值为0,设进行土石方调配的分段编号为i,调配步长为j,设置开始调配的第一个分段编号i为1,开始调配的步长j为1,进到第2步,所述步长为进行土石方平衡调配的两个分段的分段编号之间的差值;
第2步:计算需要进行土石方平衡调配的两个分段的编号
进行土石方平衡调配的两个分段编号分别为i和i+j,进入到第3步;
第3步:判断两分段之间是否需要进行土石方平衡调配
如果第i段的土石方剩余量T[i]和第i+j段的土石方剩余量T[i+j]两者之间相乘的结果大于等于0,则两个分段之间不需要进行土石方平衡调配,第i段的土石方剩余量T[i]和第i+j段的土石方剩余量T[i+j]值不做任何变化,进入到第5步;否则进入第4步;
第4步:两分段之间进行土石方平衡调配
如果第i段的土石方剩余量T[i]的绝对值大于等于第i+j段的土石方剩余量T[i+j]的绝对值,则设置第i段的土石方剩余量T[i]等于第i段的土石方剩余量T[i]加第i+j段的土石方剩余量T[i+j],设置a[i][i+j]等于第i+j段的土石方剩余量T[i+j],设置a[i+j][i]等于第i+j段的土石方剩余量T[i+j]的负数,设置第i+j段的土石方剩余量T[i+j]等于0;如果第i段的土石方剩余量T[i]绝对值小于第i+j段的土石方剩余量T[i+j]绝对值,则设置第i+j段的土石方剩余量T[i+j]等于第i+j段的土石方剩余量T[i+j]加第i段的土石方剩余量T[i],设置第i+j段和第i段之间调配土石方量的二维数组a[i+j][i]等于第i段的土石方剩余量T[i],设置记录第i段和第i+j段之间调配土石方量的二维数组a[i][i+j]等于第i段的土石方剩余量T[i]的负数,设置第i段的土石方剩余量T[i]等于0;进入第5步;
第5步:设置新的分段编号i
如果当前分段编号i+j小于m,则设置i等于i+1,进入到第2步;如果当前分段编号i+j等于m,则进入第6步;
第6步:设置新的调配步长j
如果当前的调配步长j小于k,则设置j等于j+1,设置i等于1,回到第2步;如果当前的调配步长j等于k,进入第7步;
第7步:土石方调配结束
渠道土石方调配结束,将剩余土石方非0的各分段值输出,将记录分段之间调配土石方量的二维数组a的结果输出,运算结束。
与现有技术相比,本发明具有如下优点及有益效果:
1、该方法只需要进行两维循环计算即可实现渠道分段之间的土石方平衡调配,避免传统方法存在进行土石方优化调配存在的效率问题,因而该方法能够支持大规模渠道分段土石方平衡调配;
2、由于该方法简单且计算速度快,因而可以在短时间内进行多种类型的渠道选线,降低选线的计算负担,进而产生更多的选择选线方案;
3、该方法还能应用于水资源配置、输出管网布设、公路土石方调配、货物运输调配等优化设计。

附图说明

图1是基于最近距离优先的渠道优化设计方法表示示意图,图中渠道一共分为m段,图中的1表示两个分段的步长为1,图中的2表示两个分段步长为2,图中的3表示两个分段之间的步长为3。
图2是基于最近距离优先的渠道优化设计方法的流程图。

具体实施方式

基于最近距离优先的渠道土石方迁移方法,其特征是:将渠道划分成等距离的m段,其中m的取值为大于0的正整数,m的取值最大可以到10000,得到第1段、第2段、第3段、……、第m段,最大的土石方调配距离的分段数目为k,其中k的取值为大于0的正整数,k的取值最大可以到100,获取每个分段内土石方挖方量或填方量的剩余量,首先在所有相邻的分段之间进行土石方挖方量和填方量的平衡调配,接着在所有次相邻的分段之间进行土石方平衡调配,依次类推,在最大调配分段距离范围内的所有分段之间进行土石方平衡调配,如果在最大调配分段距离范围内仍有分段土石方没有平衡的,则直接弃土或借土,具体步骤如下:
第1步:设置参数
将m个分段中每个分段的土石方剩余量分别设置为T[1]、T[2]、…、T[m],剩余土石方量为正数的表示该分段内有土石方剩余,需要将该土石方移动到其它分段或者直接向弃土坑弃土,剩余土石方量为负数的分段表示该分段内缺乏土石方,需要从其它分段或取土坑借土,设置二维数组a[m+1][m+1],用于记录分段之间调配的土石方量,设置数组a的初始值为0,设进行土石方调配的分段编号为i,调配步长为j,设置开始调配的第一个分段编号i为1,开始调配的步长j为1,进到第2步,所述步长为进行土石方平衡调配的两个分段的分段编号之间的差值;
第2步:计算需要进行土石方平衡调配的两个分段的编号
进行土石方平衡调配的两个分段编号分别为i和i+j,进入到第3步;
第3步:判断两分段之间是否需要进行土石方平衡调配
如果第i段的土石方剩余量T[i]和第i+j段的土石方剩余量T[i+j]两者之间相乘的结果大于等于0,则两个分段之间不需要进行土石方平衡调配,第i段的土石方剩余量T[i]和第i+j段的土石方剩余量T[i+j]值不做任何变化,进入到第5步;否则进入第4步;
第4步:两分段之间进行土石方平衡调配
如果第i段的土石方剩余量T[i]的绝对值大于等于第i+j段的土石方剩余量T[i+j]的绝对值,则设置第i段的土石方剩余量T[i]等于第i段的土石方剩余量T[i]加第i+j段的土石方剩余量T[i+j],设置a[i][i+j]等于第i+j段的土石方剩余量T[i+j],设置a[i+j][i]等于第i+j段的土石方剩余量T[i+j]的负数,设置第i+j段的土石方剩余量T[i+j]等于0;如果第i段的土石方剩余量T[i]绝对值小于第i+j段的土石方剩余量T[i+j]绝对值,则设置第i+j段的土石方剩余量T[i+j]等于第i+j段的土石方剩余量T[i+j]加第i段的土石方剩余量T[i],设置第i+j段和第i段之间调配土石方量的二维数组a[i+j][i]等于第i段的土石方剩余量T[i],设置记录第i段和第i+j段之间调配土石方量的二维数组a[i][i+j]等于第i段的土石方剩余量T[i]的负数,设置第i段的土石方剩余量T[i]等于0;进入第5步;
第5步:设置新的分段编号i
如果当前分段编号i+j小于m,则设置i等于i+1,进入到第2步;如果当前分段编号i+j等于m,则进入第6步;
第6步:设置新的调配步长j
如果当前的调配步长j小于k,则设置j等于j+1,设置i等于1,回到第2步;如果当前的调配步长j等于k,进入第7步;
第7步:土石方调配结束
渠道土石方调配结束,将剩余土石方非0的各分段值输出,将记录分段之间调配土石方量的二维数组a的结果输出,运算结束。
图1、图2是基于最近距离优先的渠道优化设计方法表示具体实施方式中涉及的示意图、流程图和伪代码,图1中最大可调配的分段长度为3,
本发明实施举例的具体技术步骤如下:
(1)第1步:设置参数
设置渠道等距离的分段数为5,设置最大调配距离的分段数目为2,设置5个分段中每个分段的土石方剩余量分别为T[1]=2、T[2]=-3、T[3]=-2、T[4]=3、T[5]=1,剩余土石方量为正数的表示该分段内有土石方剩余,需要将该土石方移动到其它分段或者直接向弃土坑弃土,剩余土石方量为负数的分段表示该分段内缺乏土石方,需要从其它分段或取土坑借土,设置二维数组a[6][6]记录分段之间调配的土石方量,设置数组a的初始值为0,设置开始调配的第一个分段编号i为1,开始调配的步长j为1,所述步长为进行土石方平衡调配的两个分段的分段编号之间的差值,如果当前两个正在进行调配的分段编号为1和2,则步长为1,如果当前两个正在进行调配的分段编号为2和4,则步长编号为2,进到(2)第2步;
(2)第2步:计算需要进行调配的两分段编号
设进行土石方调配的分段编号为1,调配步长为1,则进行调配的两个分段编号分别为1和2,进入到(3)第3步;
(3)第3步:判断两分段之间是否需要进行土石方平衡调配
T[1]*T[2]=2*(-3)=-6小于0,则两个分段之间需要进行土石方平衡调配,进入(4)第4步;
(4)第4步:两分段之间进行土石方平衡调配
T[1]的绝对值为2,T[2]绝对值为3,T[2]绝对值大于T[1]绝对值,设置T[2]=T[2]+T[1]=-3+2=-1,设置a[2][1]等于2,设置a[1][2]等于-2,T[1]=0,进入(5)第5步;
(5)第5步:设置新的分段编号i
当前分段编号i+j=1+1小于m=5,则设置i=i+1=2,回到(6)第2步;
(6)第2步:计算需要进行调配的两分段编号
设进行土石方调配的分段编号为2,调配步长为1,则进行调配的两个分段编号分别为2和3,进入到(7)第3步;
(7)第3步:判断两分段之间是否需要进行土石方平衡调配
T[2]*T[3]=(-1)*(-2)=2大于0,则两个分段之间不需要进行土石方平衡调配,进入(8)第5步;
(8)第5步:设置新的分段编号i
当前分段编号i+j=2+1小于m=5,则设置i=2+1=3,回到(9)第2步;
(9)第2步:计算需要进行调配的两分段编号
进行土石方调配的分段编号为3,调配步长为1,则进行调配的两个分段编号分别为3和4,进入到(10)第3步;
(10)第3步:判断两分段之间是否需要进行土石方平衡调配
T[3]*T[4]=(-2)*3=-6小于0,则两个分段之间需要进行土石方平衡调配,进入(11)第4步;
(11)第4步:两分段之间进行土石方平衡调配
T[3]的绝对值为2,T[4]绝对值为3,T[4]绝对值大于T[3]绝对值,设置T[4]=T[4]+T[3]=3+(-2)=1,设置a[4][3]等于-2,设置a[3][4]等于2,T[3]=0,进入(12)第5步;
(12)第5步:设置新的分段编号i
当前分段编号i+j=3+1=4小于m=5,则设置i=i+1=4,回到(13)第2步;
(13)第2步:计算需要进行调配的两分段编号
进行土石方调配的分段编号为4,调配步长为1,则进行调配的两个分段编号分别为4和5,进入到(14)第3步;
(14)第3步:判断两分段之间是否需要进行土石方平衡调配
T[4]*T[5]=1*1=1大于0,则两个分段之间不需要进行土石方平衡调配,进入(15)第5步;
(15)第5步:设置新的分段编号i
当前分段编号i+j=4+1=5等于m=5,进入(16)第6步;
(16)第6步:设置新的调配步长j
当前的调配步长1小于k=2,则设置j等于j+1=2,设置i等于1,回到(17)第2步;
(17)第2步:计算需要进行调配的两分段编号
进行土石方调配的分段编号为i=1,调配步长为j=2,则进行调配的两个分段编号分别为1和3,进入到(18)第3步;
(18)第3步:判断两分段之间是否需要进行土石方平衡调配
T[1]=0,T[3]=0,两者之间相乘的结果等于0,则两个分段之间不需要进行土石方平衡调配,进入到(19)第5步;
(19)第5步:设置新的分段编号i
当前分段编号1+2小于m=5,则设置i等于1+1=2,回到(20)第2步;
(20)第2步:计算需要进行调配的两分段编号
进行土石方调配的分段编号为2,调配步长为2,则进行调配的两个分段编号分别为2和4,进入到(21)第3步;
(21)第3步:判断两分段之间是否需要进行土石方平衡调配
T[2]=-1和T[4]=1,两者之间相乘的结果小于0,则两个分段之间需要进行土石方平衡调配,进入(22)第4步;
(22)第4步:两分段之间进行土石方平衡调配
T[2]的绝对值等于T[4]的绝对值,则设置T[2]等于T[2]加T[4]=0,设置a[2][4]等于T[4]=1,设置a[4][2]等于-T[4]=-1,设置T[4]等于0,进入(23)第5步;
(23)第5步:设置新的分段编号i
当前分段编号2+2小于m=5,则设置i等于i+1=3,回到(24)第2步;
(24)计算需要进行调配的两分段编号
进行土石方调配的分段编号为3,调配步长为2,则进行调配的两个分段编号分别为3和5,进入到(25)第3步;
(25)第3步:判断两分段之间是否需要进行土石方平衡调配
T[3]=0,T[5]=1,两者之间相乘的结果等于0,则两个分段之间不需要进行土石方平衡调配,T[3]和T[5]值不做任何变化,进入到(26)第5步;
(26)第5步:设置新的分段编号i
当前分段编号3+2等于m=5,则进入(27)第6步;
(27)第6步:设置新的调配步长j
当前的调配步长j等于k=2,进入(28)第7步;
(28)第7步:土石方调配结束
渠道土石方调配结束,将剩余土石方非0的各分段值输出,将二维数组a的结果输出,运算结束。
则该实例输出的结果为
分段5剩余土石方量为1,其余分段均已实现土石方填挖平衡。
下表为各分段土石方调配结果

调配结果表的含义如下:
(1)分段1将2单位的土石方调配给分段2;
(2)分段2从分段1得到2个单位的土石方,从分段4中得到1个单位的土石方;
(3)分段3从分段4得到2个单位的土石方;
(4)分段4将1个单位的土石方调配给分段2,将2个单位的土石方调配给分段3;
(5)分段5没有和其它分段的土石方进行调配。
下面为基于最近距离优先的渠道土石方设计方法的伪代码
1    m,k,T(1),...,T(m);
2    a(i,j)=0,i,j  =1,2,...,m+1
3     i=1,j  =1;
4    if(T(i)*T(i+j)<0)
5    {
6       if(abs(T(i))>=abs(T(i+j)))
7       {
8          T(i)=T(i)+T(i+j);
9          a(i,i+j)=T(i+j);
10         a(i+j,i)=-T(i+j);
11         T(i+j)=0;
12     }
13     if(abs(T(i))<abs(T(i+j)))
14     {
15        T(i+j)=T(i+j)+T(i);
16        a(i+j,i)=T(i);
17        a(i,i+j)=-T(i);
18        T(i)=0;
19     }
20  }
21  If(i+j  <m)
22  {  i=i+1;
23     goto 4;
24  }
25  If(j<k)
26  {  j=j+1;
       i=1;
27     goto 4;
28  }
29  for(i=1;j<m+1;i++)
30  if(T(i)!=0)
31     printf,i,T(i);
32  for(i=1;i<m+1;i++)
33  for(j=1;j<m+1;j++)
34     Print,i,j,T(i);。