DB35T 2223-2024 建设工程招投标可验证随机抽取数学模型应用要求_第1页
DB35T 2223-2024 建设工程招投标可验证随机抽取数学模型应用要求_第2页
DB35T 2223-2024 建设工程招投标可验证随机抽取数学模型应用要求_第3页
DB35T 2223-2024 建设工程招投标可验证随机抽取数学模型应用要求_第4页
DB35T 2223-2024 建设工程招投标可验证随机抽取数学模型应用要求_第5页
已阅读5页,还剩13页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ICS01.040.35CCSL70ICS01.040.35CCSL70福 建 省 地 方 标 准DB35/T2223—2024建设工程招投标可验证随机抽取数学模型应用要求Applicationrequirementsofverifiablerandomselectionmathematicalmodelinconstructionengineeringbidding2024-10-21发布 2025-01-21实施福建省市场监督管理局 发布DB35/T2223—2024目 次前言 II1范围 12规范性引用文件 13术语和定义 14缩略语 25总体要求 26随机抽取流程 27模型构建 48随机抽取程序要求 69验证程序要求 6附录A(资料性)应用示例 8参考文献 15IDB35/T2223—2024前 言本文件按照GB/T1.1—2020《标准化工作导则第1部分:标准化文件的结构和起草规则》的规定起草。请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别专利的责任。本文件由厦门市公共资源交易中心提出。本文件由福建省信息化标准化技术委员会(SAFJ/TC11)归口。平台有限公司、福建省标准化研究院、福建元素信息科技有限公司、福建首众信息科技有限公司。本文件主要起草人:林宗昭、许志雄、林平、李志锴、黄志忠、郑楚飞、周顺骥、吴阳、邱培善、陈纯纯、蔡伟文、林荔晶、江峰、张传稀、陈洪。IIDB35/T2223—2024建设工程招投标可验证随机抽取数学模型应用要求范围型构建、随机抽取程序要求和验证程序要求。本文件适用于建设工程招投标过程中采用随机抽取方式确定入围投标人等应用场景。规范性引用文件本文件没有规范性引用文件。术语和定义下列术语和定义适用于本文件。3.1公共资源交易 publicresourcetrading2167—2024,3.1]3.2公共资源交易电子交易平台 onIinepublicresourcetradingplatform以数据电文形式完成公共资源电子交易活动的信息平台。注:简称电子交易平台。[来源:DB35/T2167—2024,3.3]3.3公共资源交易平台运行服务机构 operationserviceorganizationofpublicresourcestrading体、社会公众、行政监督管理部门等提供公共服务的单位。注:简称“平台运行服务机构”,即公共资源交易中心。[来源:《公共资源交易平台服务标准(试行)》,3.3]3.4随机种子 randomseed在随机数生成过程中使用的、作为随机抽取算法起点的初始值。3.5随机抽取程序 randomdrawingprogram一种基于数学模型和算法,通过计算机自动执行随机抽取操作的计算机程序。3.6可验证 verifiable随机抽取数学模型的应用结果能够通过预设的验证程序进行重现和验证。1DB35/T2223—2024下列缩略语适用于本文件。HASH:散列函数(HashFunction)JSON:一种轻量级的数据交换格式(JavaScriptObjectNotation)XML:可扩展标记语言(ExtensibleMarkupLanguage)总体要求总体要求如下:——数学模型及随机抽取程序应融入电子交易平台,实现抽取过程的全流程电子化;——应提供必要的工具和接口,支持审计机构或监管部门对应用过程进行审计和评估;——随机抽取过程的关键步骤和参数应完整记录,并可通过验证程序验证随机抽取结果;——随机抽取过程涉及的重要数据在存储、传输和处理过程应完整和可信。随机抽取流程随机抽取流程为从确定参与随机抽取的投标人清单到公布结果及验证的全过程,见图1;主要步骤如下:要随机抽取入围的投标人数量;取,生成随机抽取结果并公布;场使用验证程序对随机抽取结果进行验证;在问题排查完成后,再次组织重新抽取及验证。2DB35/T2223—2024图1 随机抽取流程图3DB35/T2223—2024模型构建随机种子生成模型(距离投标当日0时0分0秒的秒数)解密成功的投标人数(用4位整数表示),计算生成随机种子。示例见附录A的A.1。次计算出随机种子进行核对。可验证性。更改后的算法要经过严格的测试和验证并公开。随机编号生成模型随机编号生成模型将待抽取的投标人总数假设为n,按某种自然顺序排列后的序号为:1、2、…、n-1、n。在使用随机方式从这n个投标人中产生一定数量入围评审的投标人前,应使用随机编号生成模型对这n个投标人重新排序,为每位投标人分配一个新的随机编号,确保每个抽取对象均可参与抽取过程。模型算法见表1和表2,示例见附录A的A.2。表1 随机编号生成模型的参数说明序号参数说明1a1)模型参数,可使用常数:168072M模型参数,可使用常数:2^31-1。3n待抽取的投标人总数4x0正整数,生成投标人随机序号的随机种子1)以上aMMaMaM性、可预测性。更改后的算法应经过严格的测试和验证并公开。表2 随机编号生成模型的算法步骤主要内容计算方法x←x0 #赋初始值为随机种子fork=1,2,…,nx←(a*x)modM#a乘以x,再对M取余数,生成新的随机数x←(a*x)modMI[1]←floor(x*n/M+1)#floor为向下取整函数k←1while(k<n){x←(a*x)modM4DB35/T2223—2024表2 随机编号生成模型的算法(续)步骤主要内容I[0]←floor(x*n/M+1)#floor为向下取整函数#检查I[0]是否已存在于结果数组I中if(all(I[1:k]-I[0]!=0))#如果I[0]不在数组I的前k个元素中计算方法{k←k+1I[k]←I[0]#将I[0]添加到结果数组I中}}输出结果I1,I2,…,In#分配给n个投标人的随机序号(按投标人的自然顺序排列)随机抽取结果生成模型在随机编号生成后,n个待抽取的投标人均获得了新的序号。随机结果生成模型将需要抽取入围的投标人数量假设为m(m小于等于n),运用随机方式从n个投标人中抽选m个投标人作为入围投标人抽取结果,保证每个编号在抽取过程中被选中的概率均等。模型算法见表3和表4,示例见附录A的A.3。表3 随机抽取结果生成模型的参数说明序号参数说明1a2)模型参数,可使用常数:690692M模型参数,可使用常数:2^32-53n待抽取的投标人总数4m需要抽取入围的投标人数量5x0正整数,生成入围投标人的随机种子2)以上aMMaMaM性、可预测性。更改后的算法应经过严格的测试和验证并公开。表4 随机抽取结果生成模型的算法步骤主要内容x←x0#赋初始值为随机种子fork=1,2,…,nx←(a*x)modM#a乘以x,再对M取余数,生成新的随机数x←(a*x)modM计算方法J[1]←floor(x*n/M+1)#floor为向下取整函数 k←1while(k<m){x←(a*x)modM5DB35/T2223—2024表4 随机抽取结果生成模型的算法(续)步骤主要内容J[0]←floor(x*n/M+1)#floor为向下取整函数#检查J[0]是否已存在于结果数组J中if(all(J[1:k]-J[0]!=0))#如果J[0]不在数组J的前k个元素中{计算方法k←k+1J[k]←J[0]#将J[0]添加到结果数组J中}}J←sort(J)#对结果数组J进行排序输出结果J1,J2,…,Jm#随机生成的m个入围投标人,按照随机编号生成模型分配的序号从小到大排列随机抽取程序要求模型公开要求满足以下要求:机种子生成模型、随机编号生成模型、随机抽取结果生成模型;——模型的参数设置、计算方法及解释说明应明确记录在公开文档中。应用集成要求满足以下要求:——应采用组件化的方式进行开发、维护;——应提供标准化的接口和文档,并与电子交易平台无缝集成供其调用。安全防护要求满足以下要求:——在程序运行期间及数据存储等过程应具备防篡改能力;——应采用国密算法对重要数据进行加密,重要数据包括但不限于随机种子、抽取结果;——宜使用区块链技术对随机种子等关键参数进行存证。验证程序要求公开要求满足以下要求:主体和社会公众下载和使用;HASH装包未被篡改;6DB35/T2223—2024——验证程序应定期维护,并与模型同步更新。数据导入要求满足以下要求:——验证程序应支持导入由电子交易平台导出的与随机种子组成相关的数据;XMLJSON结果。验证操作要求满足以下要求:——现场验证工作宜由招标人或其委托的招标代理机构负责;至验证程序;是否一致;对随机抽取结果进行验证。验证流程见附录A的A.4,项目应用示例见附录A的A.5。7DB35/T2223—2024附 录 A(资料性应用示例随机种子生成模型/***Java类*//***Java类*/publicclassXxx{/***随机种子的计算*@parambidders参与本次招标的解密成功的投标人数量*@return返回随机种子的字符串*@throwsServiceException*/publicStringgenerateRandomSeed(List<Record<String,Object>>bidders)throwsServiceException{intn=bidders.size();//投标人数量longj=0;//总秒数//遍历参与本次招标的解密成功的投标人名单,转换其所有电子投标文件受理时间(以服务器上记录时间为准,并将其转换成距离投标当日0时0分0秒的秒数)为数字并累加总秒数for(inti=0;i<n;i++){longs=DateUtils.getTime(bidders.get(i).getString("V_DELIVER_TIME"));j+=s;}//计算解密成功的电子投标文件受理时间(以服务器上记录时间为准,并将其转换成距离投标当日0时0分0秒的秒数)的平均数四舍五入取整,并在末尾加上以4位整数表示的参与本次招标的解密成功的投标人数量Stringxx=String.valueOf(Math.round(j*1.0/n))+nextSeqByFour(n);(LogUtils.format("随机种子:"+xx+"种子位数:"+xx.length()));returnxx;}/***数字前补0至长度为4*/privatestaticStringnextSeqByFour(intno){8DB35/T2223—2024DecimalFormatcountFormat=newDecimalFormat("0000");DecimalFormatcountFormat=newDecimalFormat("0000");returncountFormat.format(no);}}随机编号生成模型/***Java类*//***Java类*/publicclassXxx{/***生成投标人随机编号*@paramx随机种子*@paramn参与本次招标的解密成功的投标人数量*@paramlist参与本次招标的解密成功的投标人信息列表*@return返回随机编号后的投标人信息列表*@throwsServiceException*/publicMap<String,Map<String,Object>>assignRandomBidderNumbers(longx,intn,List<Map<String,Object>>list)throwsServiceException{//处理计算机排序从0开始的问题List<Map<String,Object>>newlist=newArrayList<Map<String,Object>>();newlist.add(newHashMap<String,Object>());newlist.addAll(list);longa=16807;longM=(long)Math.pow(2,31)-1;for(inti=1;i<=n;i++){x=(a*x)%M;}x=(a*x)%M;intI1=(int)Math.floor(x*1.0/M*n+1);Map<String,Map<String,Object>>resultMap=newLinkedHashMap<String,Map<String,Object>>();Map<String,Object>map=newlist.get(1);resultMap.put(String.valueOf(I1),map);intk=1;while(k<n)9DB35/T2223—2024{{x=(a*x)%M;intIO=(int)Math.floor(x*1.0/M*n+1);if(!resultMap.containsKey(String.valueOf(IO))){k++;map=newlist.get(k);resultMap.put(String.valueOf(IO),map);}}returnresultMap;}}随机抽取结果生成模型/***Java类*//***Java类*/publicclassXxx{/***确定随机抽取入围结果*@paramx随机种子*@paramn参与本次招标的解密成功的投标人数量*@paramm需要抽取入围的投标人数量*@paramrecodeMap随机编号后的投标人信息列表*@return返回被随机抽中的投标人列表*@throwsServiceException*/publicMap<String,Map<String,Object>>determineRandomSelectionResults(longx,intn,intm,Map<String,Map<String,Object>>recodeMap)throwsServiceException{longa=69069;longM=(long)Math.pow(2,32)-5;for(inti=1;i<=m;i++){x=(a*x)%M;}x=(a*x)%M;intJ1=(int)Math.floor(x*1.0/M*n+1);10DB35/T2223—2024Map<String,Map<String,Object>>resultMap=newLinkedHashMap<String,Map<String,Object>>();Map<String,Object>map=recodeMap.get(String.valueOf(J1));resultMap.put(String.valueOf(J1),map);(LogUtils.format(map.get("V_BIDDER_NAME").toString()));intk=1;while(k<m){x=(a*x)%M;intIO=(int)Math.floor(x*1.0/M*n+1);if(!resultMap.containsKey(String.valueOf(IO))){k++;map=recodeMap.get(String.valueOf(IO));resultMap.put(String.valueOf(IO),map);(LogUtils.format(map.get("V_BIDDER_NAME").toString()));}}returnresultMap;}}随机抽取结果验证流程入围投标人随机抽取的验证流程如下:下载投递信息招标人或其委托的招标代理机构在开标辅助系统中导出XML格式的入围投标人随机抽取的验证流程如下:下载投递信息招标人或其委托的招标代理机构在开标辅助系统中导出XML格式的“校验筛选结果的投递信息”文档,该文档包含所有随机种子的组成信息,即参与随机抽取的电子投标文件受理时间、参与随机抽取的投标人数量。导入数据至离线版招标人或其委托的招标代理机构打开“离线版”XML文档。执行随机抽取招标人或其委托的招标代理机构在“离线版”验证程序客户端中,执行随机抽取,客户端将采用预设的数学模型算法对导入的投标人进行随机抽取。抽取结果将即时显示在客户端界面上,包括入围投标人与未入围投标人的名称。导出筛选结果招标人或其委托的招标代理机构在“离线版”验证程序客户端导出Excel格式的筛选结果。结果比对与验证招标人或其委托的招标代理机构要同时在开标辅助系统中导出采用数学模型筛选的入围投标人名单Excel表格。将的高亮重复项功能进行快速比对。注:“离线版”验证程序是开源程序,要按本文件“9.3验证操作要求”提供日志文件生成的代码。11DB35/T2223—2024项目应用示例投标人名称电子投标文件受理时间投标人名称电子投标文件受理时间投标人名称电子投标文件受理时间投标人0012024-09-2415:06:44投标人0262024-09-2606:43:27投标人0022024-09-2415:07:43投标人0272024-09-2606:49:28投标人0032024-09-2415:09:31投标人0282024-09-2606:52:39投标人0042024-09-2416:54:56投标人0292024-09-2608:50:36投标人0052024-09-2417:43:26投标人0302024-09-2609:07:00投标人0062024-09-2418:05:25投标人0312024-09-2611:49:39投标人0072024-09-2509:08:14投标人0322024-09-2612:31:21投标人0082024-09-2509:17:25投标人0332024-09-2612:34:56投标人0092024-09-2510:00:41投标人0342024-09-2612:43:38投标人0102024-09-2511:51:38投标人0352024-09-2612:59:20投标人0112024-09-2513:52:54投标人0362024-09-2613:22:05投标人0122024-09-2514:23:00投标人0372024-09-2613:33:28投标人0132024-09-2514:24:10投标人0382024-09-2614:54:27投标人0142024-09-2514:49:00投标人0392024-09-2616:42:09投标人0152024-09-2515:57:05投标人0402024-09-2617:48:21投标人0162024-09-2600:36:48投标人0412024-09-2617:51:13投标人0172024-09-2601:48:58投标人0422024-09-2617:56:56投标人0182024-09-2603:40:04投标人0432024-09-2618:03:19投标人0192024-09-2604:38:12投标人0442024-09-2618:04:08投标人0202024-09-2604:41:42投标人0452024-09-2619:41:46投标人0212024-09-2604:56:35投标人0462024-09-2622:14:39投标人0222024-09-2605:00:19投标人0472024-09-2622:26:55投标人0232024-09-2605:44:08投标人0482024-09-2622:28:52投标人0242024-09-2606:17:39投标人0492024-09-2623:10:49投标人0252024-09-2606:33:59投标人0502024-09-2623:15:23某项目投标人数量为55家,开标解密成功的投标人数量为50家,需要从中抽取20家入围投标人,即取n=50,m=20。参与随机抽取的投标人清单及其电子投标文件受理时间为:根据开标解密成功的投标人数量及其电子投标文件受理时间计算生成随机种子,随机种子x0=459680050。a=16807,M=2^31-1,执行随机编号生成模型,生成的随机编号如下:投标人名称随机编号投标人名称随机编号投标人00141投标人02640投标人00232投标人02731投标人00329投标人02839投标人0045投标人029912DB35/T2223—2024投标人00533投标人03043投标人00611投标人03115投标人00748投标人03238投标人00835投标人03324投标人0096投标人0343投标人01036投标人03546投标人01125投标人03610投标人01234投标人03750投标人01318投标人03826投标人01420投标人03937投标人01513投标人04021投标人01630投标人04117投标人017

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论