CN115562619B - 一种承运重量的车货匹配验证方法 - Google Patents
一种承运重量的车货匹配验证方法 Download PDFInfo
- Publication number
- CN115562619B CN115562619B CN202210773188.8A CN202210773188A CN115562619B CN 115562619 B CN115562619 B CN 115562619B CN 202210773188 A CN202210773188 A CN 202210773188A CN 115562619 B CN115562619 B CN 115562619B
- Authority
- CN
- China
- Prior art keywords
- disturbance
- value
- zero
- arithmetic expression
- last
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 70
- 238000012795 verification Methods 0.000 title claims description 13
- 230000014509 gene expression Effects 0.000 claims abstract description 83
- 238000004364 calculation method Methods 0.000 claims description 33
- 238000010586 diagram Methods 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 6
- 239000000126 substance Substances 0.000 description 6
- 230000006870 function Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical group [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 1
- 230000003094 perturbing effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
- 238000005303 weighing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/4806—Computations with complex numbers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开了一种用于判定算术表达式是否为零的实现方法,当处理器接收到含有m个数值的算术表达式,所述方法包括以下步骤:对每个数值进行扰动,并计算扰动后的算术表达式的值。若其中一个扰动后的算式表达式的值为零,则所述算术表达式的值不为零。若对所有数值扰动后,计算的值均不为零,则所述算术表达式的值为零。每次扰动时,只扰动或改变一个数值,其余m‑1个数值不变。扰动包括末位扰动:仅改变一个数值的最后一位有效数字;末后扰动:在不改变一个数值指数的情形下在其最后一位有效数字后加若干位有效数字;末位前扰动:改变一个数值的最后一位有效数字前的若干位有效数字;以及它们的组合。
Description
技术领域
本发明主要涉及到处理器技术领域,特指一种用于判定算术表达式是否为零的实现方法、装置及其应用。
背景技术
计算机处理器有两大功能:数值科学计算与控制。其中后者以前者为基础。若前者发生错误,那么可能导致后者制造灾难。前者包含加减乘除四则运算,后者包含逻辑运算。但是,对于两个值相同的算术表达式来说,众所周知,在程序中,浮点运算的表示会有误差,一般不能直接比较两个数的大小,只能通过这样的形式来判断:比如,|a-b|<0.115表示只要a与b之间的距离小于0.115,就认为是a等于b。这样会导致计算机处理器(1)在计算它们的差时,返回的值可能不为零;(2)进行相等判断时,也可能出错。
为了避免用距离来估算它们是否相等,不得不采用高精度计算来判断。但是,若采用高精度计算,则处理器又会遇到停机问题:
假设处理器要计算123456789+0.1100-123456789。
在单精度下,计算机处理器会输出0;这时,处理器会猜想,它是否真正为0呢?也许它应该为很小的一个数,加大精度继续计算试试,于是,在双精度下计算,这时,输出还是0;还是0?不妨在更高的扩展精度下计算,这时,结果还是0。继续在更更高精度下试还是不试呢?若试,若真的是0呢?那永远不会停机了,究竟什么时候该停机呢?这就是停机问题。简单一句话,停机问题就是:当处理器遇到输出为0情形时,它不知计算精度该设为多少,以方便计算出正确值。
基于以上问题,给出一个判断算术表达式是否为零的方法与装置具有重要意义。
发明内容
本发明要解决的技术问题在于:针对现有技术存在的技术问题,本发明提供一种原理简单、硬件开销小的用于判断算术表达式是否为零的实现方法、装置及其应用。
为解决上述技术问题,本发明采用以下技术方案:
一种用于判断算术表达式是否为零的实现方法,对于含有m个数值的算术表达式,所述方法包括以下步骤:
步骤1:对所有数值进行扰动,并计算扰动后的算术表达式的值。即不停执行下面步骤1.1与1.2,除非执行某次步骤1.2后退出,否则直到对所有m个数值扰动并计算完毕才执行步骤2。
步骤1.1:对所述算术表达式中的其中一个数值进行扰动,而其余m-1个数值不变。
步骤1.2:计算扰动后的算术表达式,若值为零,则所述算术表达式的值不为零,然后整个过程结束。
步骤2:所述算术表达式的值为零,然后整个过程结束。
本发明所述步骤1的扰动包括:末位扰动、末后扰动、末位前扰动;
所述末位扰动为改变该数值的最后一位有效数字;
所述末后扰动为在不改变该数值指数的情形下在其最后一位有效数字后加若干位有效数字;
所述末位前扰动为改变该数值的最后一位有效数字前的若干位有效数字。
本发明中的扰动,也可以通过加上或减去一个数,达到上述扰动效果。
本发明所述步骤1中针对所有m个数值中的每个数值均采用同一种扰动方法扰动一次或连续扰动多次;或,
所述步骤1中针对所有m个数值中的每个数值随机采用一种扰动方法扰动一次或连续扰动多次;或,
所述步骤1中针对所有m个数值中的每个数值随机采用一种扰动方法扰动一次或连续扰动多次,或不同的两种或三种扰动方法连续扰动多次。
基于以上方法,本发明提出了该方法的一个应用:一种用于获得算术表达式的值的实现方法,其特征在于,对于一个在现有计算精度下值为零的算术表达式与结果要保留的有效位数n,所述方法包括以下步骤:
步骤1:运用前述的用于判定算术表达式是否为零的方法对所述算术表达式进行扰动判断。若所述算术表达式的值为零,则结束;否则执行步骤2。
步骤2:提高计算精度计算所述算术表达式的值。若结果为零或结果的有效位数小于n,则不停增加计算精度进行计算,直到得到满足要求的计算结果,即直到得到一个结果,其有效位数不小于n位。
基于以上方法,本发明提出了一种用于判定算术表达式是否为零的装置,包括扰动单元、计算单元、判断单元;其中,
所述扰动单元用于对每个数值进行扰动;
所述计算单元用于计算扰动后的算术表达式;
所述判断单元用于根据计算结果判断所述算术表达式的值是否为零。
基于以上方法,本发明还提出包括存储器和处理器的一种计算设备;所述存储器上存储有计算机程序,当所述计算机程序被所述处理器执行时,实现上述的方法。
基于以上方法,本发明还提出一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现上述的方法。
基于以上方法,本发明还提出一种用于判定算术表达式是否为零的方法在包括手机中的计算器的手持式计算设备与嵌入式设备中的应用。
基于以上方法,本发明还提出一种承运重量的车货匹配验证方法,包括以下步骤:
步骤1:验证运输工具预装载的所有n件货物的总重量数据与最大承运重量的差是否确实为0;
步骤2:若不为0,加大精度重新计算,将有效位数设为大于或等于k+1位,其中,k为原车货匹配系统中重量有效位数;重新计算直到其和达到或超过最大承运重量,得到y件货物;
步骤3:在新的有效位数下,对y件货物的重量和与最大承运重量的差是否为0进行扰动验证;若扰动后确定差不为0,则在更高精度或更多有效位数下重新执行步骤2,直到经过扰动验证得到差为0;
步骤4:发动指令,命令将最终确定的y件货物装载在同一运输工具上。
本发明步骤1中,在同样的精度下,依次对n件货物的重量数据与最大承运重量数据进行扰动;若对其中1件货物重量数据扰动后,新的n件货物的重量数据的和与最大承运重量的差仍然为0,则断定n件货物的重量数据与最大承运重量的差不为0;若对n件货物的重量数据与最大承运重量数据均扰动了,并结果均不为0,则断定n件货物的重量数据与最大承运重量的差确实为0。
本发明还提出了上述方法在化学反应控制中的应用。
本发明还提出了上述装置、设备、计算机可读存储介质在承运重量的车货匹配验证或化学反应控制中的应用。
本发明还提出了上述方法不仅在十进制,还在除十进制外的任意进制的算术表达式中的应用。
本发明提出的方法及装置,可用于(1)判断给定算术表达式的值是否为某一个实数;(2)判断给定算术表达式的值是否为某一个复数;(3)判断给定算术表达式的值是否为另一个表达式的若干倍,即相除后余数是否为0;(4)判断给定算术表达式的值是否为另一个表达式的整数倍;(5)判断给定算术表达式的值是否不为某一个实数;(6)判断给定算术表达式的值是否不为某一个复数;(7)判断给定算术表达式的值是否不为另一个表达式的若干倍,即相除后余数是否不为0;(8)判断给定算术表达式的值是否不为另一个表达式的整数倍;(9)判断给定两个算术表达式是否相等或是否不等;(10)任意进制特别是二进制下的算术表达式的以上判断。
附图说明
图1为本发明方法的流程图。
图2为本发明的装置图。
图3为对一个二进制数值进行末位扰动的状态图。
图4为对一个二进制数值进行末位前扰动的状态图。
图5为对一个二进制数值进行末后扰动的状态图。
图3为对一个二进制数进行末位扰动的状态图。假设该数在内存中由三部分构成:n1位表示符号位,n2位表示指数位,n3位是尾数部分,并且最后一位数字是1。末位扰动就是改变最后一位数字的值:从1变为0。而内存中其它(n1+n2+n3-1)位数字不变。
图4为对一个二进制数进行末位前扰动的状态图。假设该数在内存中由三部分构成:n1位表示符号位,n2位表示指数位,n3位是尾数部分,并且最后一位数字是1。末位前扰动就是改变该数值的最后一位有效数字前的若干位有效数字。而内存中符号位、指数位中的数字不变。因此,至少有(n1+n2+1)位数字不变,最多改变(n3-1)位数字。
图5为对一个二进制数进行末后扰动的状态图。假设该数在内存中由三部分构成:n1位表示符号位,n2位表示指数位,n3位是尾数部分。末后扰动就是在其最后一位有效数字后加n4位二进制有效数字。因此,尾数部分多了n4位数字。
数值的有效数字与指数
将一个非0数值,用科学记数法来表示,则其主要包含两部分内容:一部分为有效数字,另一部分为指数。比如,123.45678,用科学记数法来表示,则可以为1.2345678*102。这时,其有效数字依次为1、2、3、4、5、6、7、8,指数为2。而对于0.00012345678,则其指数为-4,因为其可写为1.2345678*10-4。
末位扰动
对一个数值的末位扰动是指仅改变其最后一位有效数字。比如,对1234.678进行末位扰动,就是只改变最后一位有效数字8,这时1234.678可以变为下列九个数值之一:1234.670,1234.671,1234.672,1234.673,1234.674,1234.675,1234.676,1234.677,或1234.679。
末后扰动
末后扰动是指在不改变数值指数的情形下在其最后一位有效数字后加若干位有效数字。比如,对1234.678进行末后扰动,可以是1234.6781、1234.678005、1234.67800002等。对1234678进行末后扰动,可以变为1234678.1、1234678.005、1234678.12334等。
末位前扰动
末位前扰动是指不改变数值的指数情形下改变数值的最后一位有效数字前的若干位有效数字。比如,对1234.678进行末位前扰动,可以是1234.608、1234.078、1234.558、1034.678等。但是,第一位有效数字1不能变为0。
具体实施方式
结合以下具体实施例和附图,对发明作进一步的详细说明。实施本发明的过程、条件、实验方法等,除以下专门提及的内容之外,均为本领域的普遍知识和公知常识,本发明没有特别限制内容。
本发明公开了一种用于判定算术表达式是否为零的实现方法,当处理器接收到含有m个数值的算术表达式,所述方法包括以下步骤:对每个数值进行扰动,并计算扰动后的算术表达式的值。若其中一个扰动后的算式表达式的值为零,则所述算术表达式的值不为零。若对所有数值扰动后,计算的值均不为零,则所述算术表达式的值为零。每次扰动时,只扰动或改变一个数值,其余m-1个数值不变。扰动包括末位扰动:仅改变一个数值的最后一位有效数字;末后扰动:在不改变一个数值指数的情形下在其最后一位有效数字后加若干位有效数字;末位前扰动:改变一个数值的最后一位有效数字前的若干位有效数字;以及它们的组合。该方法同样适用于除十进制外的其它任意进制的算术表达式是否为零的判断。
实施例1
给定算术表达式sin(124)-2*sin(62)*cos(62)。假设普通处理器的计算结果为0。现在用本发明涉及的方法与处理器装置判断其是否确实为0(由正弦函数的倍角公式知,上式确实为0)。
步骤1:处理器接收X=sin(124)-2*sin(62)*cos(62),其中数值个数为m=4,数值分别为x1=124,x2=2,x3=62,x4=62
步骤2:扰动单元对x1进行扰动,采用末位扰动,变成y1=125
步骤3:用y1替换x1,计算新的表达式:sin(y1)-2*sin(62)*cos(62),结果不为0(这里仍然是用普通处理器计算,除非特别指明,否则下同)
步骤4:扰动单元对x2扰动,变成y2=3
步骤5:用y2替换x2,计算新的表达式:sin(124)-y2*sin(62)*cos(62),结果不为0
步骤6:扰动单元对x3扰动,变成y3=63
步骤7:用y3替换x3,计算新的表达式:sin(124)-2*sin(y3)*cos(62),结果不为0
步骤8:扰动单元对x4扰动,变成y4=63
步骤9:用y4替换x4,计算新的表达式:sin(124)-2*sin(62)*cos(y4),结果不为0
步骤10:处理器输出表达式为0,结束。
实施例2
给定算术表达式sin(124)-2*sin(62-0.12380)*cos(62)。假设普通处理器的计算结果为0。现在用本发明涉及的方法与处理器装置判断其是否确实为0(由正弦函数的倍角公式知,上式不为0)。
步骤1:处理器接收算术表达式X=sin(124)-2*sin(62-0.12380)*cos(62),其中含有的数值数量为m=6,数值分别为x1=124,x2=2,x3=62,x4=0.123,x5=80,x6=62
步骤2:扰动单元对x1扰动,变成y1=125(或123、124.001、123.99等)
步骤3:用y1替换x1,计算新的表达式:sin(y1)-2*sin(62-0.12380)*cos(62),结果不为0
步骤4:扰动单元对x2扰动,变成y2=3(或1、2.001、1.99等)
步骤5:用y2替换x2,计算新的表达式:sin(124)-y2*sin(62-0.12380)*cos(62),结果不为0
步骤6:扰动单元对x3扰动,变成y3=63(或61、62.001、61.99等)
步骤7:用y3替换x3,计算新的表达式:sin(124)-2*sin(y3-0.12380)*cos(62),结果不为0
步骤8:扰动单元对x4扰动,变成y4=0.124(或0.122、0.123001、0.12299等)
步骤9:用y4替换x4,计算新的表达式:sin(124)-2*sin(62-y480)*cos(62),结果为0
步骤10:处理器输出算术表达式X不为0,结束。
实施例3
某化工厂有一大型化学反应炉。在计算机控制下,只有当某一种物质的温度正好是10°并温度的累加误差不能超过0.003时,才启动反应炉,以便发生化学反应,生成另一种物质。若不满足温度的要求,则生成的物质纯度不达要求。为了计算精确,计算机处理器的精度设为5位有效数字;同时,温度传感器保留8位有效数字。
已知计算机连接有5个温度传感器,传回的温度分别为10.001085、10.000467、10.000285、10.000494、10.001356。由于计算机处理器只处理5位有效数字,所以,计算机处理器接收的误差的和为
(10.001085-10)+(10.000467-10)+(10.000285-10)+(10.000494-10)+(10.001356-10)
=(10.001-10)+(10.000-10)+(10.000-10)+(10.000-10)+(10.001-10)
=0.002.
这样,在某一时刻,温度满足要求,启动反应炉,生成了一种新的物质。
但是,由下面本发明的计算方法可知,事实上,其温度的误差没有达到要求范围,所以生成的新的物质纯度不达要求。从而浪费财物。
用本发明的方法验证
(10.001085-10)+(10.000467-10)+(10.000285-10)+(10.000494-10)+(10.001356-10)与0.002的差是否为0.即
(10.001085-10)+(10.000467-10)+(10.000285-10)+(10.000494-10)+(10.001356-10)-0.002是否为0.
首先,对上面数值进行扰动。先对10.001085进行末位扰动,改其为10.001082。然后令计算机处理器计算
(10.001082-10)+(10.000467-10)+(10.000285-10)+(10.000494-10)+(10.001356-10)-0.002的值:
(10.001082-10)+(10.000467-10)+(10.000285-10)+(10.000494-10)+(10.001356-10)-0.002
=(10.001-10)+(10.000-10)+(10.000-10)+(10.000-10)+(10.001-10)-0.002
=0。
所以,(10.001085-10)+(10.000467-10)+(10.000285-10)+(10.000494-10)+(10.001356-10)-0.002不为0.即误差不为0.002.
然后,继续运用本发明的方法加大计算精度,为8位,则确定累加误差已超界限0.003。于是,在该时刻,不应该启动反应炉。从而利用本发明的方法可以避免浪费。
实施例4
用下列C语言语句
printf("%f\n",((float)123456.789444+(float)0.00888)-(float)123456.789-(float)0.0078125);
在微软的VisualStudio2010的单精度下计算
(123456.789444+0.00888)-123456.789-0.0078125
的值,则计算机输出结果为0.
事实上,正确结果是0.0015115.
下面,用本发明的方法与装置确认结果不为0.
表达式中含有4个数值。单精度下,在计算机内存中,它们均由32位的二进制数表示。首先,对它们进行末后扰动。对第一个数值123456.789444在内存中进行末后扰动,则需要在其32位的基础上再加若干位,比如2位,加11,则会变成图5中情形。这种情形是与现在主流的固定位数计算模式不同的。然后计算内存中的表达式的值,则值为0,所以上述表达式的值不为0.若要计算其值,比如保留3位有效位数的结果,则只要加大计算精度,则可获得满足要求的结果。
实施例5
本实施例公开了一种本发明判定算术表达式是否为零的实现方法在手持式计算设备中的应用,具体如下:
假设要计算(1020+ln(3)-1020)*123的值(结果保留10位有效数字)。
若用现有计算设备(比如市场上流行的著名品牌CASIOfx-991CNX中文版)计算,则电路硬件的计算过程与结果是这样的:
第一步:计算1020+ln(3)的值,为y1=1020
第二步:计算y1-1020的值,为y2=0
第三步:计算y2*123的值,为y3=0
第四步:输出y3的值0
上述结果显然是错误的。
若用采用了本发明的方法的设备计算,则计算过程与结果是这样的:
第一步:计算1020+ln(3)的值,为z1=1020
第二步:计算z1-1020的值,为z2=0
第三步:因为z2是0,所以对原始表达式(1020+ln(3)-1020)进行扰动(扰动过程省略),从而得出原始表达式(1020+ln(3)-1020)不为0。
第四步:重新以更高精度不停计算(1020+ln(3)-1020),直到获得达到或超过10位的结果,比如z3=1.09861228866811,它保留15位有效数字。
第五步:计算z3*123的值,为z4=135.12931150617753
第六步:四舍五入输出z4的前10位135.1293115
上述步骤与现有计算设备的区别在于,若遇到0,则对其进行扰动,以便验证其是否确实为0。若扰动后确认其不为0,则用更高精度不停计算,直到满足条件的结果出现。
实施例6
本实施例公开了一种本发明判定算术表达式是否为零的实现方法在快递货运的称重计算一体化设备中的应用,具体如下:
有一个快递货运公司,其业务范围非常广泛。从几克的金戒指或者一张A4纸张,到几十吨的机械设备,都属于该公司的业务范围。其业务逻辑是这样的:业务员通过终端设备将货物的名称、重量等信息传回给公司的云服务器,再由云服务器对数据进行处理,最后根据处理后的结果自动指派货物到运货车辆。
为了简化说明过程,本发明只考虑货物的重量。
假设快递员的便携式设备与云服务器的内部均保留6位有效数字。设重量单位为公斤(kg),而运输工具的最大载货量为12340公斤。设快递员传回的同一目的地的数据如下:
首先是12300;然后是1000组每个小于0.05但它们的前850项的和正好为40的数值:0.045,0.04136,…,0.045678;最后还有一个数值是40。即共1002个数据。
这时,云服务器对这些数据进行处理:由于只保留6位有效数字,所以第1个数据12300与第2个数据的和仍然为12300,即12300+0.045=12300;再与第3个数据相加,也还是12300;一直加完1000个数据,结果还是12300;由于货物的重量还小于运输工具的最大载重量,所以继续检查下一件,这样与40相加,正好是12340;
由于云服务器算得1002件物品的重量刚好等于运输工具的最大载重量,因此,就下达指令,让自动装货机将这1002件物品装在了一部运输工具上。
这样,由于云服务器计算错误,导致运输工具超载,从而可能导致灾难。
若利用本发明的方法与装置进行额外的验证与计算,则不会发生计算错误,从而避免超载。
验证与计算过程是这样的:
(1)首先验证上述1002个数据与12340的差是否确实为0。
在同样的精度下,依次对1003个数据进行扰动。由于对第2个数据末位扰动后,新的1003个数据构成的表达式的值仍然为0,所以可以断定1002个数据与12340的差不为0。于是,可以断定,1002个数据的和大于12340。
(2)加大精度重新计算前面1002个数据的和。重新计算直到和达到或超过12340。这时可知,若将有效位数设为12位,则前面851项的和为12340。
(3)在有效位数为12位的情形下,对前851项的和与12340的差是否为0进行扰动验证。扰动过程是这样的:首先对12300进行扰动,变为y1=12301(或12300.1、12299.99等),然后用扰动后的值y1替换12300,再重新计算852项的和与差(即前851项的和减去12340):y1+0.045+0.04136+…-12340,值不为0;再对0.045进行扰动,变为y2=0.046(或0.0451、0.04499等),再重新计算下式:12300+y2+0.04136+…-12340,值不为0;…;一直到最后的12340也扰动并计算过,并且扰动值不为0,则可知差确实为0,即前851项的和确实为12340。
(4)发动指令,命令将前面851件货物装载在同一运输工具上。
这样,避免了超载,去除了潜在的发生事故的风险。
本发明的保护内容不局限于以上实施例。在不背离发明构思的精神和范围下,本领域技术人员能够想到的变化和优点都被包括在本发明中,并且以所附的权利要求书为保护范围。
Claims (5)
1.一种承运重量的车货匹配验证方法,其特征在于,包括以下步骤:
步骤1:扰动验证运输工具预装载的所有n件货物的总重量数据与最大承运重量的差是否确实为零;步骤1中,在同样的精度下,依次对n件货物的重量数据与最大承运重量数据进行扰动;若对其中1件货物重量数据扰动后,新的n件货物的总重量数据与最大承运重量的差仍然为零,则断定n件货物的总重量数据与最大承运重量的差不为零;若对n件货物的重量数据与最大承运重量数据均扰动了,并结果均不为零,则断定n件货物的总重量数据与最大承运重量的差确实为零;
步骤2:若扰动后确定差不为零,加大精度重新计算,将有效位数设为大于或等于k+1位,其中,k为原车货匹配系统中重量的有效位数;重新计算直到其和达到或超过最大承运重量,得到y件货物;
步骤3:在新的有效位数下,对y件货物的总重量数据与最大承运重量的差是否为零再次进行扰动验证;若扰动后确定差不为零,则在更高精度下重新执行步骤2,直到经过扰动验证得到差为零;
步骤4:发动指令,命令将最终确定的y件货物装载在同一运输工具上。
2.如权利要求1所述的承运重量的车货匹配验证方法,其特征在于,所述车货匹配验证方法采用用于判定算术表达式是否为零的实现方法,对于含有m个数值的算术表达式,包括以下步骤:
步骤a:独立对每个数值进行扰动,并计算扰动后的算术表达式的值,即重复执行步骤a1与步骤a2,除非执行某次步骤a2后退出,否则直到对所有m个数值扰动并计算完毕才执行步骤b;
步骤a1:对所述算术表达式中的其中一个数值进行扰动,而其余m-1个数值不变;
步骤a2:计算扰动后的算术表达式,若值为零,则所述算术表达式的值不为零,然后整个过程结束;
步骤b:所述算术表达式的值为零,然后整个过程结束。
3.如权利要求2所述的承运重量的车货匹配验证方法,其特征在于,步骤a中的扰动包括:加上或者减去一个数进行扰动、末位扰动、末后扰动、末位前扰动;
所述末位扰动为改变该数值的最后一位有效数字;
所述末后扰动为在不改变该数值指数的情形下在其最后一位有效数字后加若干位有效数字;
所述末位前扰动为改变该数值的最后一位有效数字前的若干位有效数字。
4.如权利要求3所述的承运重量的车货匹配验证方法,其特征在于,
所述步骤a中针对所有m个数值中的每个数值均采用同一种扰动方法扰动一次或连续扰动多次;或,
所述步骤a中针对所有m个数值中的每个数值随机采用一种扰动方法扰动一次或连续扰动多次;或,
所述步骤a中针对所有m个数值中的每个数值随机采用一种扰动方法扰动一次或连续扰动多次,或不同的两种或三种扰动方法连续扰动多次。
5.如权利要求2所述的承运重量的车货匹配验证方法,其特征在于,用于获得算术表达式的值的实现方法,对于一个在现有计算精度下值为零的算术表达式与结果要保留的有效位数x,所述方法包括以下步骤:
步骤A:采用于判定算术表达式是否为零的方法对所述算术表达式进行扰动判断;若所述算术表达式的值为零,则结束;否则执行步骤B;
步骤B:提高计算精度计算所述算术表达式的值;若结果为零或结果的有效位数小于x,则不停增加计算精度进行计算,直到得到满足要求的计算结果,即直到得到一个结果,其有效位数不小于x位。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2021107538231 | 2021-07-03 | ||
CN202110753823 | 2021-07-03 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115562619A CN115562619A (zh) | 2023-01-03 |
CN115562619B true CN115562619B (zh) | 2023-10-17 |
Family
ID=84737481
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210773188.8A Active CN115562619B (zh) | 2021-07-03 | 2022-07-02 | 一种承运重量的车货匹配验证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115562619B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108322226A (zh) * | 2017-12-06 | 2018-07-24 | 中国电子科技集团公司电子科学研究院 | 一种加权比特翻转方法、计算机可读介质及计算机设备 |
CN109711762A (zh) * | 2018-11-20 | 2019-05-03 | 中信梧桐港供应链管理有限公司 | 货物进出库自动管理方法及装置 |
CN112798085A (zh) * | 2020-12-31 | 2021-05-14 | 浙江联运知慧科技有限公司 | 基于智能垃圾分类及运输处置的精准称重算法及称重装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7222146B2 (en) * | 2001-08-17 | 2007-05-22 | Sun Microsystems, Inc. | Method and apparatus for facilitating exception-free arithmetic in a computer system |
CA3085092A1 (en) * | 2019-06-27 | 2020-12-27 | Royal Bank Of Canada | System and method for detecting data drift |
-
2022
- 2022-07-02 CN CN202210773188.8A patent/CN115562619B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108322226A (zh) * | 2017-12-06 | 2018-07-24 | 中国电子科技集团公司电子科学研究院 | 一种加权比特翻转方法、计算机可读介质及计算机设备 |
CN109711762A (zh) * | 2018-11-20 | 2019-05-03 | 中信梧桐港供应链管理有限公司 | 货物进出库自动管理方法及装置 |
CN112798085A (zh) * | 2020-12-31 | 2021-05-14 | 浙江联运知慧科技有限公司 | 基于智能垃圾分类及运输处置的精准称重算法及称重装置 |
Non-Patent Citations (3)
Title |
---|
公路货运供需信息的组合匹配模型;张青杰;窦永香;陈姝;;统计与决策(第14期);全文 * |
多项式零点的一种求解算法;赵世忠;;全文 * |
张青杰 ; 窦永香 ; 陈姝 ; .公路货运供需信息的组合匹配模型.统计与决策.2018,(第14期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN115562619A (zh) | 2023-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8990282B2 (en) | Apparatus and method for performing fused multiply add floating point operation | |
US9268528B2 (en) | System and method for dynamically reducing power consumption of floating-point logic | |
US8694572B2 (en) | Decimal floating-point fused multiply-add unit | |
CN102262525A (zh) | 基于矢量运算的矢量浮点运算装置及方法 | |
US11226791B2 (en) | Arithmetic processing device and method of controlling arithmetic processing device that enables suppression of size of device | |
Yohe | Roundings in floating point arithmetic | |
JP3178746B2 (ja) | 浮動小数点数のためのフォーマット変換装置 | |
US11163533B2 (en) | Floating point unit for exponential function implementation | |
US3825895A (en) | Operand comparator | |
CN107038014B (zh) | 舍入反平方根结果 | |
EP2270648A1 (en) | Arithmetic circuit, arithmetic processing device, and arithmetic processing method | |
US20100095099A1 (en) | System and method for storing numbers in first and second formats in a register file | |
US9430190B2 (en) | Fused multiply add pipeline | |
CN115562619B (zh) | 一种承运重量的车货匹配验证方法 | |
US20200133633A1 (en) | Arithmetic processing apparatus and controlling method therefor | |
US9703626B2 (en) | Recycling error bits in floating point units | |
EP0063361B1 (en) | Correction circuit for approximate quotient | |
US4866651A (en) | Method and circuit arrangement for adding floating point numbers | |
US9569175B2 (en) | FMA unit, in particular for utilization in a model computation unit for purely hardware-based computing of function models | |
JP2016224596A (ja) | 加減算器及び加減算器の制御方法 | |
US8626816B2 (en) | Method, system and computer program product for detecting errors in fixed point division operation results | |
US3319057A (en) | Parallel division with separate carry storage | |
US7716267B2 (en) | Decimal computing apparatus, electronic device connectable decimal computing apparatus, arithmetic operation apparatus, arithmetic operation control apparatus, and program-recorded recording medium | |
US20170269902A1 (en) | Check procedure for floating point operations | |
CN111858196B (zh) | 一种计算单元检测方法、并行处理器及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |