当前位置:首页 » 操作系统 » bcc算法

bcc算法

发布时间: 2022-11-12 00:16:08

㈠ 求算法, aaaabbbcc形式的输出为4a3b2c

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

structdata{

chara;

inttemp;};

intmain()

{ inti;

structdataalb[52];

for(i=0;i<52;i++)

{

staticchartempchar='A';

if(tempchar!='[')

{alb[i].a=tempchar++;

alb[i].temp=0;

}

else{tempchar='a';

alb[i].a=tempchar++;

alb[i].temp=0;

}

}

chartempchar[100];

printf("pleaseinputthestring:");

gets(tempchar);

i=strlen(tempchar);

inttempi;

for(tempi=0;tempi<i;tempi++)

{

inttempj=0;

while(1)

{

if(alb[tempj].a!=tempchar[tempi])

tempj++;

elsebreak;

}

alb[tempj].temp++;

}

for(i=0;i<52;i++)

{

if(alb[i].temp!=0)

{

printf("%d",alb[i].temp);

printf("%c",alb[i].a);

}

}

return0;

}

㈡ BCC总量多少

BCC中文名称是比特币现金,BCC的总量为8400个,和比特币的总量是一样的。

比特币现金是由一小部分比特币开发者推出的不同配置的新版比特币。

比特币现金是通过对比特币进行一次硬分叉产生的一种新型区块资产。删除了隔离验证、取消了区块大小1M的限制,延续中本聪的扩容路线图,是链上扩容的一种。

(2)bcc算法扩展阅读:

比特币的产生原理:

比特币的本质其实就是一堆复杂算法所生成的特解。特解是指方程组所能得到无限个(其实比特币是有限个)解中的一组。而每一个特解都能解开方程并且是唯一的。

以人民币来比喻的话,比特币就是人民币的序列号,知道了某张钞票上的序列号,就拥有了这张钞票。而挖矿的过程就是通过庞大的计算量不断的去寻求这个方程组的特解,这个方程组被设计成了只有 2100 万个特解,所以比特币的上限就是 2100 万。

完全去处中心化,没有发行机构,也就不可能操纵发行数量。其发行与流通,是通过开源的p2p算法实现。

㈢ 水动力弥散方程遗传反演方法

10.3.1 数学模型

无论是实验室或野外的弥散试验,最常用的数学模型是一维流场中点源连续注入问题的水质模型[66]。假设:

1)渗流区域为半无限沙槽,且地下水流动和示踪剂弥散可以简化为一维均匀稳定流和一维弥散;

2)流体是不可压缩的均质流体,温度不变,渗流区域的介质为均质且各向同性;

3)当t=0时,渗流区域中不存在示踪剂;

4)从t=0时刻开始在渗流区域上端连续注入含示踪剂浓度为C0的流体;

5)除注入点,渗流区域不存在其他源和汇。

依据上述假定,取地下水流动方向为x轴的正向,取示踪剂注入点为坐标原点。任意点x处在时刻t时的示踪剂浓度C(x,t)满足如下数学模型。

含水层参数识别方法

方程中D为弥散系数,v为地下水流速。

10.3.2 模型的解析解

数学模型[66](10-17)可用Laplace变换求解,其解为:

含水层参数识别方法

若令 CR=,则

含水层参数识别方法

其中:erfc(x)=1-erf(x)=exp(-z2)d z,exp(x)=ex

10.3.3 反演方法简介

地下水水质模型[66]最常用的反演方法为正态分布函数法和配线法,配线法和泰斯模型的方法有相似处,这里我们主要介绍正态分布函数法。

在式(10-19)中,当x很大时,右端第二项与第一项相比非常小,可以忽略。Φ.Μ.鲍契维尔已证明,当D/(vx)≤ 0.005时,忽略第二项后误差≤4%。因此,当x很大时,即离示踪剂注入点很远时,浓度的分布可近似表示为:

含水层参数识别方法

由于

含水层参数识别方法

其中,F(x)为一正态分布函数,期望值为μ=vt,均方差为。当 x 很大时,1-CR服从于正态分布。已知标准正态分布函数Φ有如下性质:

Φ(1)=0.8413

Φ(-1)=0.1587

我们把浓度为0.8413的x坐标与浓度为0.1578的x坐标差定义为过渡带的宽度,则对于均方差为σ的正态分布函数来说,过渡带宽度e与均方差σ之间有如下关系

含水层参数识别方法

由于1-0.8413=0.1587,1-0.1587=0.8413。1-F(x)和F(x)所代表的过渡带的宽度是相等的,利用这个性质从CR-x关系图上可以很容易地计算出过渡带的宽度为:

含水层参数识别方法

其中x0.1587代表CR=0.1587时所对应的x坐标,x0.8413代表CR=0.8413时所对应的x坐标。由方程(10-22)和σ=可以很方便地计算出弥散系数D 的值:

含水层参数识别方法

如果弥散试验给出的是CR-t关系曲线图,上式可作适当的修改。

由(10-20)式可得:

含水层参数识别方法

当CR=0.5时,如果弥散试验给出的是CR-x关系曲线图有:

含水层参数识别方法

当CR=0.5时,如果弥散试验给出的是CR-t关系曲线图有:

含水层参数识别方法

用式(10-26)和式(10-27)可以很方便地计算地下水的流速。

其他的反演方法如配线法,Gauss-Newton法均可解水质反演问题。但是用正态分布函数法和配线法因为要查对坐标值,容易造成不同的人查出不同的坐标,引起人为误差。Gauss-Newton法因为要给定参数的初值,如果参数初值给的不合适,解不收敛。尤其对于地下水水质问题,对地下水流速特别敏感,而计算开始时并不知道速度的分布范围,极易造成解的发散情况。Gauss-Newton法因为要进行导数的操作,求导的过程很容易引起误差,使结果带有较大的误差。Gauss-Newton最大的优点是初值给的合适时,计算速度特别快。

10.3.4 遗传反演方法

遗传反演方法的特点是只要正演问题可以计算,反演问题就能进行计算。它是将生物遗传的特点引入到参数反演的过程中,通过一系列的正演计算达到反演的目的。

首先构造目标误差函数。

设区域有m个观测值,则构造误差函数为

含水层参数识别方法

其中:为实测值,Ci (p1,p2,…,pn)为计算值。和Ci 具有相同的时间和空间坐标,p1,p2,…,pn 为参数,为书写方便记 P=[p1,p2,…,pn]。

模型选定之后,通过改变参数使误差函数达到最小值。那么本问题就转化为约束条件下的优化问题。

含水层参数识别方法

在地下水弥散参数计算中,有解析解的简单模型应用很广。将优化问题(6-29)和这些模型结合起来,方程(10-29)转化为:

含水层参数识别方法

其中:E()为目标误差函数,v为地下水流速,D为弥散系数,[va,vb]为v的取值区间,[Da ,Db ]为 D 的取值区间,为时空某点的地下水中某种溶质的浓度(或相对浓度)观测值,Ci (v,D)为时空某点的地下水中某种溶质浓度(或相对浓度)的计算值,可用解析解计算。

和地下水渗流的计算一样,我们也用如下8种不同的遗传算法进行反演计算试验。

a.简单遗传算法(SGA);

b.优体克隆遗传算法(The Best Chromosome Clone GA=BCC-GA);

c.优体克隆+子体优生(Younger Generation Chromosomes Prepotency)的遗传算法(BCC-YGCP-GA);

d.优体克隆+子体优生+多代调环(Multi-Generations Adjusting Environment=MAE)的遗传算法(BCC-YGCP-MGAE-GA);

e.多代调环的遗传算法(MGAE-GA);

f.优体克隆+多代调环的遗传算法(BCC-MGAE-GA);

g.子体优生的遗传算法(YGCP-GA);

h.子体优生+多代调环的遗传算法(YGCP-MGAE-GA)。

试验的终止原则,由于要进行对比,我们选定进化代数为1000时终止计算。

例1.在水平密封的圆筒砂柱中做连续注入示踪示踪剂的试验,在距注入孔0.65 m的观测孔中获得浓度比值资料见表10-14,试求出地下水流速和弥散系数[22]

此问题的解析解为:

含水层参数识别方法

表10-14 相对浓度实测资料表

表10-15 不同的遗传反演方法目标误差函数计算结果比较表

本例题主要是已知相对浓度CR和时间t之间的关系来求地下水流速v和弥散系数D。在用遗传算法反演参数时,在所有方案中均采用:地下水流速v的初始取值区间为(0,1000.0 m/h),弥散系数D的初始取值区间为(0,0.1),遗传代数Num-Gen=1000,种群数Pop-Size=50,交叉概率Pc=0.7,变异概率Pm=0.3,评价函数中的alph=0.05。所有与多代调环有关的计算方案,其代数选择均为10。前500代每隔10代对v和D设置一次取值区间,取值区间设为(0.75vbest,1.25vbest),v为变量可代表v或D,Vbest为这十代中最优的染色体,500代后开始进行区间压缩技术,其压缩方法见前章所述,压缩系数为0.4。其计算结果见图10-6和表10-15。

图10-6(1)遗传反演方法进化代数与目标函数计算结果图

图10-6(2)遗传反演方法进化代数与目标函数计算结果图

从计算结果可以看出,简单的遗传算法(1)、多代调环遗传算法(5)和优体克隆+多代调环遗传算法(6)在达到1000代时,并没有明显的收敛特征,目标函数仍处于波动状态,其地下水流速v和弥散系数D离真值相差较远。特别是第6种优体克隆+多代调环遗传算法因特殊的组合,一直没有改变目标误差函数,所有与多代调环有关的遗传算法其收敛速度均较慢,这主要是环境调整的不合适,使染色体失去了在全局生存的空间。如果调整环境的代数变为20,其收敛速度会有很大的改变。对于本问题第2种优体克隆遗传算法、第3种优体克隆+子体优生遗传算法和第7种子体优生遗传算法均快速收敛,达到40代时已基本收敛到全局最优解。

优体克隆+子体优生遗传算法达到目标函数最小时,其地下水流速v=33.677212 m/d,弥散系数D=0.053982 m2/d。其计算曲线与实测曲线拟合图见图10-7。用遗传算法反演的地下水流速和弥散系数计算结果见表10-16和表10-17。

图10-7 相对浓度计算曲线与实测曲线拟合图

表10-16 地下水流速v反演结果表

表10-17 弥散系数D反演结果表

㈣ 为什么用DEAP解BCC模型,我1年和10年数据的结果一样

DEA分析步骤及结果解释
deap 2.1软件分析过程及结果解释:
第一步,设置参数,变量及选定所用模型,下述:16为DMU个数,即总体样本个数;1为面板数据中的年限,如果做横截面数据,就写1,面板数据则写选取的时序个数(如年数);4,3分别为产出指标、投入指标个数(在编辑EG1。DTA文件时,产出指标放前面);0表示选取的是投入主导型模型,1表示产出主导型,二者区别不大,关键结合问题选取,一般选投入主导型;crs表示不考虑规模收益的模型即C^2 R模型,vrs表示考虑规模收益模型即BC^2模型;最后是内部算法,一般选0就可以。
eg1.dta DATA FILE NAME
eg1.out OUTPUT FILE NAME
16 NUMBER OF FIRMS
1 NUMBER OF TIME PERIODS
4 NUMBER OF OUTPUTS
3 NUMBER OF INPUTS
0 0=INPUT AND 1=OUTPUT ORIENTATED
1 0=CRS AND 1=VRS
0 0=DEA(MULTI-STAGE), 1=COST-DEA, 2=MALMQUIST-DEA, 3=DEA(1-STAGE), 4=DEA(2-STAGE)
第二步,结果解释:
1、效率分析EFFICIENCY SUMMARY:
firm crste vrste scale
四列数据分别表示:firm样本次序;crste不考虑规模收益是的技术效率(综合效率);vrste考虑规模收益时的技术效率(纯技术效率);scale考虑规模收益时的规模效率(规模效率),纯技术效率和规模效率是对综合效率的细分;最后有一列irs,---,drs,分别表示规模收益递增、不变、递减。
2、 SUMMARY OF OUTPUT SLACKS、SUMMARY OF INPUT SLACKS分别表示产出和投入指标的松弛变量取值,即原模型中的s值。
3、SUMMARY OF PEERS:
表示非DEA有效单元根据相应的DEA有效单元进行投影即可以实现相对有效。后面有相应的权数SUMMARY OF PEER WEIGHTS。

㈤ 求算法, aaaabbbcc形式的输出为4a3b2c,程序关键的地方最好能顺便讲解一下。谢谢了。我没有分。。

#include<stdio.h>
int main()
{
int n = 1;
char curr, c;
curr = getchar(); //先读入一个字符,并记录其为当前字符
while(curr != '\n') //循环结束条件是读入换行符
{
c = getchar(); //读入一个字符
if(c == curr) //如果新读入的字符与上一个字符一致,则将计算器加1
{
++n;
}
else
{
printf("%d%c", n, curr); //如果新读入的字符与上一个字符不一致,输出上个字符的出现次数和字符本身,并将计算器重置成1,将新读入的字符记录为当前字符
n = 1;
curr = c;
}
}
sleep(10);
return 0;
}

㈥ 方刚说:对区块链的几个误解

在2017年的8月2号,viaBTC挖出了史上第一个大于1M的区块,从此比特币分裂成两条链:BTC和BCC。从本质上来说,BCC是由于UAHF的实施产生的一种新币种,它也符合中本聪的初衷。
BCC是比特币的网络分叉
其实BCC是比特币的网络分叉是一种不正确的解读,比特币本身网络运行稳定,根本不存在分叉的情况。而BCC被国际定义为:通过复制比特币区块链并更改一定的代码而出现的全新币种。不仅如此,BCC也不符合比特币网络分叉的定义,因为BTC和BCC是完全不同的两条链。
比特币全网信息没能同步在一条链上,出现了两条(多个)一模一样的比特币区块链网络,两个网络都有大量的矿工挖矿,在两个不同的网络上发生的交易不能同步互通,这样产生了两条连难度都是一模一样的两条平行链,这个才叫分叉。
开发者中心化的问题
比特币曾因为开发者者中心化的问题导致长达三年之久的扩容之争,把比特币社区搞得鸡犬不宁。BCC作为比特币的孪生兄弟同样面临这个问题,社区担忧未来比特币的扩容之争历史会在BCC上重演。社区误认为负责BCC开发团队只有Bitcoin ABC,开发团队的单一化必然会导致开发者中心化的问题。
但实际上,BCC 目前共有四个开发团队,分别是 Bitcoin XT, Bitcoin Classic, Bitcoin Unlimited, Bitcoin ABC。他们都是比特币扩容方案的竞争者,目前都已开发了BCC的兼容版本。
这四个开发团队基本上包含了比特币扩容争论中支持大区块的团队,不仅如此,这也可以保证开发团队之间的相互竞争,而且还有望吸引更多的开发团队加入到它们的行列中。
BCC受某个组织控制
杨海坡创立的ViaBTC是全球第一家上线BCC的交易平台,也是最早挖BCC的人,第一个区块就是有ViaBTC挖到。社区担忧BCC受到某个中心化的阻止所控制,成为某些人的政治工具。
但实际上,BCC是比特币长达三年之久的扩容之争的产物,是由一个庞大的大区块支持者构成的社区支撑的去中心化数字货币,是比特币的竞争币。删除了隔离验证,取消了区块大小1M的限制,坚持的是链上扩容路线。

㈦ 什么是比特币现金 比特币现金挖矿好挖吗

比特币(BitCoin)的概念最初由中本聪在2009年提出,根据中本聪的思路设计发布的开源软件以及建构其上的P2P网络。比特币是一种P2P形式的数字货币。点对点的传输意味着一个去中心化的支付系统。
与大多数货币不同,比特币不依靠特定货币机构发行,它依据特定算法,通过大量的计算产生,比特币经济使用整个P2P网络中众多节点构成的分布式数据库来确认并记录所有的交易行为,并使用密码学的设计来确保货币流通各个环节安全性。
P2P的去中心化特性与算法本身可以确保无法通过大量制造比特币来人为操控币值。基于密码学的设计可以使比特币只能被真实的拥有者转移或支付。这同样确保了货币所有权与流通交易的匿名性。比特币与其他虚拟货币最大的不同,是其总数量非常有限,具有极强的稀缺性。

㈧ PLC VB串口通讯 BCC校验码

校验码的作用是判断应该发出的命令字符是否完整。PLC接收到校验码,用此校验码来判断接收到的字符正确性,如何您的环境良好的话,松下MEWTOCOL-COM的协议允许用“**”来代替校验码。
我的网页有做好的松下PLC与VB通讯可执行软件,您可以下载试一下:
www.gk528.com

㈨ 求魔兽bcc工具,或者直接教互通图方法

首先你要理解互通图之所以逃过各大平台以及暴雪检测的方法 本来魔兽争霸是有一个地图验证的,如果你跟主机的图不同,是进不去的(要下载地图)。但是魔兽对地图中的war3map.j文件是进行bcc(block check character)校验的,bcc不同于md5,bcc一般只是用来排错的,并不是加密算法。所以就有人写出了这样的代码,可以在b文件末尾添加上一些不起作用的字串,来让b文件的bcc校验码等于a文件(具体代码我就不贴出来了,很容易搜到)。于是呢,我们就可以做到随意修改地图中的war3map.j ,然后再处理一下,使之跟原来的war3map.j的bcc校验码相同。再把改过并处理后的war3map.j文件替换原来的,这样做出来的作弊地图,暴雪的验证会因为bcc校验相同,而把它认为和原版图是相同的。达到的效果就是,别人用正版图建主机,你可以进入,你用盗版图建主机,别人用正版图也可以进入。但是别以为可以为所欲为的修改war3map.j ,虽然你突破了验证这一关进入了游戏,但是魔兽的联机机制是没有办法突破的。 准备工具:魔兽改图一条龙(网络一搜N多下载) 一个bcc文件(网上很多) 首先找张你要修改的地图,我就拿当下最新的DOTA6.59D版本的地图做例子! 1.启动魔兽改图一条龙里的MPQ,来打开你要修改的魔兽地图!在script文件夹下找到war3map.j这个文件 2.右击这个文件,选择解压缩,将他解压缩出来3.正式开始改图,改图的方法有2种,一种是我之前写过那篇使用JASS语言来改图的方法,还有今天要介绍的这种傻瓜法,是用hke改图机来改!启动hke改图机 4.设置好上图所显示的你的大名,价钱,加木,键盘加属性,是否主机优势,是否所有单位操作。其实不设置也无所谓,因为改图机的作者花了很大力在地图里加入了一整套作弊代码!进游戏可以通过命令来做到 5.添加脚本:单击 添加脚本(J) 按钮,然后选择解压缩后的war3map.j文件6.至此,地图已经通过改图机简单的修改完了。现在就是要还原war3map.j文件了。 7.重新压缩

㈩ 泰斯模型遗传反演方法

10.2.1 数学模型

在承压含水层中打井抽水时,如果含水层在平面上是无限延伸的,侧向边界离井很远,抽水过程中边界不对抽水贡献;且含水层的顶底板均为隔水层,无垂向补给;天然水力坡度很小,径流影响也可忽略时,则认为井的抽水量不是来自外界补给,而是由含水层内部在水头降低的瞬间,地下水立即从含水层的储存中排出。将上述水文地质条件概括为[9]

1)含水层为均质、等厚、产状水平承压含水层;

2)地下水天然水力坡度为0或近似为0;

3)单井远离边界,无垂向越流补给;

4)抽水流量为Q(t);

5)地下水抽水时瞬时释放。

可以把上述承压水非稳定运动问题归纳为如下数学模型:

含水层参数识别方法

如果将上述问题转换为柱坐标系下的数学模型,则有:

含水层参数识别方法

10.2.2 模型的解

模型[5,9](10-2)通过一系列的数学变换和推导,可以求出其解析解,具体表达如下:

含水层参数识别方法

其中W(u)为井函数,表达式为

含水层参数识别方法

在具体进行计算时,W(u)可用如下近似表达式:

含水层参数识别方法

其中:a0=-0.57721566,a1=0.99999193,a2=-0.24991055,a3=0.05519968,a4=-0.00976004,a5=0.00107857,b0=0.2677737343,b1=8.6347608925,b2=18.059016973,b3=8.5733287401,c0=3.9584969228,c1=21.0996530827,c2=25.6329561486,c3=9.5733223454。

含水层参数识别方法

将(10-3)式转换为降深表达式:

含水层参数识别方法

式(10-7)即为着名的泰斯(Thies)公式。

10.2.3 反演方法简介

用泰斯模型反演水文地质参数时[5],最常用的方法有配线法、直线图解法、水位恢复法。另外一些有效的数值反演方法已经引入到泰斯模型的反演问题中,如Gauss-Newton法、数学规划法等,现简述如下:

(1)配线法

a.s-t配线法。将(10-7)式两端取对数,得:

含水层参数识别方法

将(10-6)进行适当的变换得:

含水层参数识别方法

将上式两端取对数,得:

含水层参数识别方法

从方程(10-8)和方程(10-9)可知lgs-lgt曲线的形状和曲线lgW(u)-lg(1/u)的形状是相同的,只是坐标进行了相对位移。如果在双对数纸上作出W(u)-1/u的关系曲线,在另一张模数相同的双对数纸上作出s-t关系曲线,两条曲线的形状是相同的。

一般情况下,W(u)-1/u的关系曲线称为标准曲线,s-t关系曲线称为实际资料曲线。把两条曲线保持坐标轴平行的情况下,尽可能地重合或逼近。选一点作为配合点(无论在曲线上或曲线外均可)。读出两张对数纸上的坐标(W(u),1/u),(s,t),将坐标代入(10-6)和(10-7)式,即可求出导水系数T和贮水系数S。

b.s-r配线法。当抽水试验有若干个观测孔时,可用s-r配线法。其原理和s-t配线法类似。只是将式(10-6)作如下变换:

含水层参数识别方法

将上式两端取对数,得:

含水层参数识别方法

在两张相同模数的双对数纸上,分别作出s-r2曲线和W(u)-u曲线,配线后找出配合点,即可求出导水系数T和贮水系数S。

c.s-(t,r)配线法。抽水试验时,如果记录有不同观测孔中不同时刻的水位降深值,可用此法求参数,此时:

含水层参数识别方法

可用S-r2/t关系曲线和W(u)-u关系曲线进行配线。其他同前。

(2)直线图解法

当u值比较小时,将井函数(10-4)的展开项仅取前两项,对精度的影响不大,此时:

含水层参数识别方法

(10-7)式可变为:

含水层参数识别方法

上式为Jacob近似公式。直线图解法主要是依据上述公式。

a.s-lgt直线图解法。在同一观测孔中不同时间进行降深观测时,可用此方法。

将(6-13)式变换后,可以写成:

含水层参数识别方法

上式为单对数纸上的直线方程。直线的斜率为0.183Q/T,根据直线斜率可求出导水系数T,在直线上任取一点的坐标(s0,t0)代入(10-14)式,因Q、T、r、s0、t0均为已知,可以很方便地求出贮水系数S。一般取t0为10的整数次幂,便于计算。

b.s-lgr直线图解法。在同一时间的不同观测孔进行观测。此时r为变量,(10-13)式可写成:

含水层参数识别方法

在单对数纸上作出s-lgr直线图,直线的斜率为-0.366Q/T,可以根据直线的斜率求出T,再在直线上任取一点的坐标(s0,r0)代入(10-15)式。因Q、T、t、s0、r0均为已知,可以很方便地求出贮水系数S。一般取r0为10的整数次幂,便于计算。

c.s-lg直线图解法。如果同时获得不同观测孔不同时间的观测数据,可用此方法。(6-13)式可写为

含水层参数识别方法

方法同上。

10.2.4 遗传反演方法

只要是正演问题有解的问题,其反演问题均能用遗传算法来求解。传统的简单遗传算法仅有选择、交叉、变异三种操作,陈国良、佘春峰等曾用马尔可夫链证明了在概率意义下并不能保证简单的遗传算法收敛到全局最优解。因此本文中对简单的遗传算法进行了三种改进,①优体克隆;②子体优生;③多代调环。这三种操作的作用各不相同,前面已有论述,本节通过算例说明几种操作的不同作用,及对寻优过程的影响。

泰斯模型的反演是一类较简单的反演问题,因为反演的参数为导水系数T和贮水系数S,一般是惟一确定的。只要有正演程序,把遗传算法相融合,就可以进行反问题的求解。因此这种方法不需要计算导数,使用简便,应用范围非常广。它与Gauss-Newton法及其类似的方法相比计算速度稍慢。由于其初值区间可以选择的范围很广,不会出现Gauss-Newton类方法由于初值选择不合适造成解不收敛的情况。它与常规的配线法和图解法相比,因采用计算机求解,计算速度很快,且解惟一确定并达到最优。避免了配线法和图解法因人而异且不易达到最优的缺点。

泰斯模型遗传反演的过程也就是求解如下优化问题的过程。

含水层参数识别方法

其中:E()为误差函数,T为含水层导水系数,S为贮水系数,[Ta,Tb]为T的取值区间,[Sa,Sb]为 S 的取值区间,为时空某点的地下水降深观测值,si(T,S)为时空某点的地下水降深计算值,可用泰斯公式计算。

待求参数初值区间的确定,可以给出一个相当宽松的大区间,用改进后的遗传算法很容易搜索到参数的最优值。这个区间的给定只要物理意义上的合理即可,如导数系数T的初始区间可以是(0,1000),或(0,10000),贮水系数S的初值区间(0,0.1),只会影响搜索速度,不会影响最终的结果。

演化终止的条件为:①目标函数小于给定的精度。②演化到指定的次数。③连续100代目标函数无改变。均可。

在进行计算时我们对每一个例题,均按如下8种方案进行演化计算。

a.简单遗传算法(SGA);

b.优体克隆遗传算法(The Best Chromosome Clone GA=BCC-GA);

c.优体克隆+子体优生(Younger Generation Chromosomes Prepotency)的遗传算法(BCC-YGCP-GA);

d.优体克隆+子体优生+多代调环(Multi-Generations Adjusting Environment=MAE)的遗传算法(BCC-YGCP-MGAE-GA);

e.多代调环的遗传算法(MGAE-GA);

f.优体克隆+多代调环的遗传算法(BCC-MGAE-GA);

g.子体优生的遗传算法(YGCP-GA);

h.子体优生+多代调环的遗传算法(YGCP-MGAE-GA)。

例1.理想模型。假设在一个含水层中进行抽水,这个含水层符合泰斯模型假定,在抽水开始后,在一个观测孔中进行水位观测,其观测结果如表6-1。抽水流量为:1000 m3/h,观测孔距抽水孔200 m,求含水层的导水系数T和贮水系数S。

表10-1 假设试验观测孔中降深资料表

在用遗传算法反演参数时,在所有方案中均采用:导数系数T的初始取值区间为(0,1000.0 m2/h),贮水系数S的初始取值区间为(0,0.1),遗传代数Num-Gen=1000,种群数Pop-Size=50,交叉概率Pc=0.7,变异概率Pm=0.3,评价函数中的alph=0.05。所有与多代调环有关的计算方案,其代数选择均为10。前500代每隔10代对T和S设置一次取值区间,取值区间设为(0.75Vbest,1.25Vbest),V为变量可代表T或S,Vbest为这十代中最优的染色体,500代后开始进行区间压缩技术,其压缩方法见前章所述,压缩系数为0.4。其计算结果见图10-1和表10-2。

此反演问题的真值为导水系数T=100 m2/h,贮水系数S=0.0005。用遗传算法反演的导水系数和贮水系数计算结果见表10-3和表10-4。

图10-1(1)遗传反演方法进化代数与目标函数计算结果图

图10-1(2)遗传反演方法进化代数与目标函数计算结果图

从计算结果可以看出,简单的遗传算法在达到1000代时,并没有明显的收敛特征,目标函数仍处于波动状态,其导水系数T和贮水系数S离真值相差较远。优体克隆遗传算法保证了后代无返祖现象,并且有收敛趋势,但收敛速度太慢,到1000代时两个参数距离真值尚有一定的差距。多代调环算法有明显的波动性,但收敛结果较好,压缩技术使用过早时,容易出现把真值抛弃的危险。何时开始实施压缩更好,尚待进一步研究。压缩太早,压缩因子太小均容易出现不收敛的情况,压缩太晚影响收敛速度。子体优生遗传算法收敛速度较好,但亦出现目标函数的波动即返祖现象。其他组合算法中以优体克隆+子体优生遗传算法和优体克隆+子体优生+多代调环遗传算法最好,它们均具有目标函数单调下降(随遗传代数),并且收敛速度非常快的优点。优体克隆+子体优生遗传算法在51代达到目标误差函数最小值0.000021(误差主要是系统误差引起),优体克隆+子体优生+多代调环遗传算法在68代达到目标误差函数的最小值0.000021。可见这两种组合遗传算法具有很好的性能,特别是优体克隆+子体优生遗传算法因不会出现抛弃全局最优解的可能性,收敛速度又很快,无返祖现象,许多次计算试验中此方法均表现出色,在实际应用中值得推广。

表10-2 不同的遗传反演方法目标误差函数计算结果比较表

表10-3 导水系数T反演结果表

表10-4 不同的遗传反演方法目标误差函数计算结果比较表

表10-5 抽水试验观1孔水位降深资料

因本模型为理想模型,反演求出的导水系数和贮水系数在目标误差函数为最小值0.000021 m时已和真值几乎相等,画出的s-t曲线完全重合。在此不再显示图形。

例2.在江苏省某村一口机井进行非稳定流抽水试验,抽水井位于广阔的第四纪冲积平原上,可以认为平面上是无限的。含水层为粉细砂和亚砂土。抽水井深120 m,直径0.20 m。自1976年11月6日9时40分开始做抽水试验,抽水持续97 h,流量为22.60 m3/h。在抽水井及三个观测孔中进行水位观测。观1孔距抽水井117.85 m,试根据观1孔资料计算贮水系数S和导水系数T[5](表10-5)。

在用遗传算法反演参数时,在所有方案中均采用:导数系数T的初始取值区间为(0,1000.0 m2/h),贮水系数S的初始取值区间为(0,0.1),遗传代数Num-Gen=1000,种群数Pop-Size=50,交叉概率Pc=0.7,变异概率Pm=0.3,评价函数中的alph=0.05。所有与多代调环有关的计算方案,其代数选择均为10。前500代每隔10代对T和S设置一次取值区间,取值区间设为(0.75Vbest,1.25Vbest),V为变量可代表T或S,Vbest为这十代中最优的染色体,500代后开始进行区间压缩技术,其压缩方法见前章所述,压缩系数为0.4。其计算结果见图10-2和表10-6。

表10-6 不同的遗传反演方法目标误差函数计算结果比较表

图10-2(1)遗传反演方法进化代数与目标函数计算结果图

图10-2(2)遗传反演方法进化代数与目标函数计算结果图

此反演问题并无真值,最小的目标误差函数为0.017814,此时导水系数T=3.306231 m2/h,贮水系数S=0.001549。用遗传算法反演的导水系数和贮水系数计算结果见表10-7和表10-8。

从计算结果可以看出,简单的遗传算法在达到1000代时,并没有明显的收敛特征,目标函数仍处于波动状态,其导水系数T和贮水系数S离真值相差较远。其他的遗传算法均有较好的收敛效果,所有与子体优生相关的遗传算法在20代时就近似收敛到全局最优解,并在100代之前,使目标误差函数达到了全局最小值0.017814。优体克隆遗传算法保证了后代无返祖现象,并且有收敛趋势,收敛速度较慢,到1000代时目标误差函数尚未达到全局最小值0.017814。多代调环算法有明显的波动性,收敛结果较好。所有算法中以优体克隆+子体优生遗传算法最好,既无返祖现象,收敛速度又快,更不会出现抛弃全局最优解的现象。

表10-7 不同的遗传反演方法目标误差函数计算结果比较表

表10-8 不同的遗传反演方法目标误差函数计算结果比较表

因本模型为实际模型,已有不同的研究者反演求出的导水系数和贮水系数。其比较结果见表10-9。用优体克隆+子体优生遗传算法反演出的导水系数 T=3.306231 m2/h,贮水系数 S=0.001549曲线拟合图见图10-3。从比较结果看本文提出的优体克隆+子体优生遗传算法反演的参数效果最好。拟合绝对误差平均值最小。

图10-3 实测降深和计算降深结果对比图

表10-9 例2几种方法计算结果对比表

例3.一口水井以1907 m3/d的流量抽水,在抽水两个小时后从附近的几个观测孔中测量水位如表10-10,试求导水系数T和贮水系数S[5]

表10-10 抽水试验资料表

本例题主要是已知降深s和距离r之间的关系来求参数T和S。和上例中相同,在用遗传算法反演参数时,在所有方案中均采用:导数系数T的初始取值区间为(0,1000.0 m2/h),贮水系数S的初始取值区间为(0,0.1),遗传代数Num-Gen=1000,种群数Pop

-Size=50,交叉概率Pc=0.7,变异概率Pm=0.3,评价函数中的alph=0.05。所有与多代调环有关的计算方案,其代数选择均为10。前500代每隔10代对T和S设置一次取值区间,取值区间设为(0.75Vbest,1.25Vbest),V为变量可代表T或S,Vbest为这十代中最优的染色体,500代后开始进行区间压缩技术,其压缩方法见前章所述,压缩系数为0.4。其计算结果见图10-4和表10-11。

图10-4(1)遗传反演方法进化代数与目标函数计算结果图

图10-4(2)遗传反演方法进化代数与目标函数计算结果图

从计算结果可以看出,简单的遗传算法在达到1000代时,并没有明显的收敛特征,目标函数仍处于波动状态,其导水系数T和贮水系数S离真值相差较远。其他的遗传算法均有较好的收敛效果,所有与子体优生相关的遗传算法在30代时就近似收敛到全局最优解。在200代之前,使目标误差函数达到了全局最小值0.048724。优体克隆遗传算法保证了后代无返祖现象,并且有收敛趋势,但收敛速度较慢,到400代时目标误差函数基本达到全局最优值。多代调环算法有明显的波动性,但收敛结果较好。所有算法中以优体克隆+子体优生遗传算法最好,既无返祖现象,收敛速度又快,更不会出现抛弃全局最优解的现象。

表10-11 不同的遗传反演方法目标误差函数计算结果比较表

优体克隆+子体优生遗传算法达到目标函数最小时,其导水系数T=241.650192 m2/d,贮水系数S=0.000484。其计算曲线与实测曲线拟合图见图10-5。用遗传算法反演的导水系数和贮水系数计算结果见表10-12和表10-13。

表10-12 导数系数T反演结果表(m2/d)

表10-13 贮水系数S反演结果表

图10-5 实测降深和计算降深结果对比图

热点内容
怎么设置电脑开机密码和屏幕锁 发布:2025-05-16 03:07:05 浏览:55
华为锁屏密码忘记了怎么解锁 发布:2025-05-16 03:06:26 浏览:474
安卓文字为什么没有苹果舒服 发布:2025-05-16 03:01:26 浏览:357
phpnow解压版 发布:2025-05-16 02:52:49 浏览:811
dmporacle数据库 发布:2025-05-16 02:44:31 浏览:831
云主机上传 发布:2025-05-16 02:44:30 浏览:82
鼠标如何编程 发布:2025-05-16 02:29:09 浏览:816
安卓70能用什么软件 发布:2025-05-16 01:45:09 浏览:481
编程发展史 发布:2025-05-16 01:38:52 浏览:529
android图片气泡 发布:2025-05-16 01:38:40 浏览:887