System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及电子设计自动化,具体为一种约束问题优化的方法、装置、设备和存储介质。
技术介绍
1、软件仿真工具在处理约束求解问题时,一般是把问题转换为约束求解器引擎的输入格式,然后直接输入约束求解器引擎,直到其返回结果或者是返回求解失败。市面上流行的约束求解器引擎分为两种:基于布尔可满足性问题(boolean satisfiability problem,sat)的minisat和基于二叉决策树(binary decision diagram,bdd)的cudd。minisat是基于sat技术,把约束问题抽象为布尔逻辑满足性问题,进行求解。而cudd则是基于二叉决策树技术,构建约束问题的解空间,然后输出结果。这两种引擎都比较成熟且在业界应用多年,但都有自身的缺点。例如:采用sat技术使得处理数据大,耗时久。虽然业界一直尝试对其进行改进,但是一直未解决该技术问题。
技术实现思路
1、本申请的目的在于提供一种约束问题优化的方法、装置、设备和存储介质,以解决现有技术中采用sat技术处理约束求解问题时,耗时久的技术问题。
2、为实现上述目的,本申请提供如下技术方案:
3、第一方面,本申请提出一种约束问题优化的方法,所述方法包括:
4、获取历史随机变量集合和历史约束条件集合;所述历史随机变量集合包括多个历史随机变量,所述历史约束条件集合包括多个历史约束条件;
5、基于所述历史随机变量集合和所述历史约束条件集合,获取历史关联关系;
6、基
7、作为本申请实施例中一个具体的实施方式,所述基于所述历史随机变量集合和所述历史约束条件集合,获取关联关系包括:
8、基于每个历史随机变量,获取第一数组;所述第一数组包括与该历史随机变量所有相关联的历史约束条件的指针;
9、基于每个历史约束条件,获取第二数组;所述第二数组包括与该历史约束条件所有相关联的历史随机变量的指针;
10、基于所述第一数组和所述第二数组,获取历史关联关系。
11、作为本申请实施例中一个具体的实施方式,所述基于所述关联关系更新所述历史随机变量集合和所述历史约束条件集合,获取当前随机变量集合和当前约束条件集合包括:
12、对历史约束条件集合中所有的历史约束条件进行展开,更新获取第一约束条件集合;
13、基于所述历史随机变量集合,获取周期性随机变量;
14、基于所述周期性随机变量,更新获取当前约束条件集合;
15、基于所述历史随机变量集合,更新获取当前随机变量集合。
16、作为本申请实施例中一个具体的实施方式,所述基于所述周期性随机变量,更新获取当前约束条件集合包括:
17、基于所述周期性随机变量的类型,获取动态数组;
18、基于所述动态数组,获取随机动态数组;
19、获取与所述周期性随机变量相关的所有第一约束条件;
20、将所述随机动态数组中的数值以循环的方式,赋给所述周期性随机变量;
21、若赋值满足所有的第一约束条件,则退出循环,且展开所有的第一约束条件,获取第二约束条件,删除失去作用的第二约束条件,以更新获取当前约束条件集合。
22、作为本申请实施例中一个具体的实施方式,所述基于所述历史随机变量集合,更新获取当前随机变量集合包括:
23、遍历所述历史随机变量集合中所有的随机变量,获取无约束的第一随机变量;
24、基于所述第一随机变量的类型,对所述第一随机变量进行赋值;
25、基于赋值后的所述第一随机变量,获取当前随机变量集合。
26、作为本申请实施例中一个具体的实施方式,所述基于所述第一随机变量的类型,对所述第一随机变量进行赋值包括:
27、基于所述第一随机变量的类型,对所述第一随机变量进行随机赋值;
28、或者,遍历所有与所述第一随机变量相关联的约束条件,查找“==”操作符;
29、若查找到该操作符,则对比左右两边的表达式;
30、若左边的表达式类型为所述第一随机变量的参考,右边是常数,则直接对第一随机变量进行赋值。
31、第二方面,本申请提出一种约束问题优化的装置,包括:
32、获取模块,用于获取历史随机变量集合和历史约束条件集合;所述历史随机变量集合包括多个历史随机变量,所述历史约束条件集合包括多个历史约束条件;
33、处理模块,用于基于所述历史随机变量集合和所述历史约束条件集合,获取历史关联关系;
34、以及基于所述关联关系更新所述历史随机变量集合和所述历史约束条件集合,获取当前随机变量集合和当前约束条件集合。
35、作为本申请实施例中一个具体的实施方式,所述获取模块还用于,基于每个历史随机变量,获取第一数组;所述第一数组包括与该历史随机变量所有相关联的历史约束条件的指针;
36、以及基于每个历史约束条件,获取第二数组;所述第二数组包括与该历史约束条件所有相关联的历史随机变量的指针;
37、所述处理模块还用于,基于所述第一数组和所述第二数组,获取历史关联关系。
38、作为本申请实施例中一个具体的实施方式,所述处理模块还用于,对历史约束条件集合中所有的历史约束条件进行展开,更新获取第一约束条件集合;
39、所述获取模块还用于,基于所述历史随机变量集合,获取周期性随机变量;
40、所述处理模块还用于,基于所述周期性随机变量,更新获取当前约束条件集合;
41、以及基于所述历史随机变量集合,更新获取当前随机变量集合。
42、作为本申请实施例中一个具体的实施方式,所述获取模块还用于,基于所述周期性随机变量的类型,获取动态数组;
43、以及基于所述动态数组,获取随机动态数组;
44、以及获取与所述周期性随机变量相关的所有第一约束条件;
45、所述处理模块还用于,将所述随机动态数组中的数值以循环的方式,赋给所述周期性随机变量;
46、以及若赋值满足所有的第一约束条件,则退出循环,且展开所有的第一约束条件,获取第二约束条件,删除失去作用的第二约束条件,以更新获取当前约束条件集合。
47、作为本申请实施例中一个具体的实施方式,所述获取模块还用于,遍历所述历史随机变量集合中所有的随机变量,获取无约束的第一随机变量;
48、所述处理模块还用于,基于所述第一随机变量的类型,对所述第一随机变量进行赋值;
49、以及基于赋值后的所述第一随机变量,获取当前随机变量集合。
50、作为本申请实施例中一个具体的实施方式,所述处理模块还用于,基于所述第一随机变量的类型,对所述第一随机变量进行随机赋值;
5本文档来自技高网...
【技术保护点】
1.一种约束问题优化的方法,其特征在于,所述方法包括:
2.根据权利要求1所述的约束问题优化的方法,其特征在于,所述基于所述历史随机变量集合和所述历史约束条件集合,获取关联关系包括:
3.根据权利要求1或2所述的约束问题优化的方法,其特征在于,所述基于所述关联关系更新所述历史随机变量集合和所述历史约束条件集合,获取当前随机变量集合和当前约束条件集合包括:
4.根据权利要求3所述的约束问题优化的方法,其特征在于,所述基于所述周期性随机变量,更新获取当前约束条件集合包括:
5.根据权利要求3所述的约束问题优化的方法,其特征在于,所述基于所述历史随机变量集合,更新获取当前随机变量集合包括:
6.根据权利要求5所述的约束问题优化的方法,其特征在于,所述基于所述第一随机变量的类型,对所述第一随机变量进行赋值包括:
7.一种约束问题优化的装置,其特征在于,包括:
8.根据权利要求7所述的约束问题优化的装置,其特征在于,
9.一种约束问题优化的设备,其特征在于,包括存储器和处理器,所述存储器存储有计
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的约束问题优化的方法。
...【技术特征摘要】
1.一种约束问题优化的方法,其特征在于,所述方法包括:
2.根据权利要求1所述的约束问题优化的方法,其特征在于,所述基于所述历史随机变量集合和所述历史约束条件集合,获取关联关系包括:
3.根据权利要求1或2所述的约束问题优化的方法,其特征在于,所述基于所述关联关系更新所述历史随机变量集合和所述历史约束条件集合,获取当前随机变量集合和当前约束条件集合包括:
4.根据权利要求3所述的约束问题优化的方法,其特征在于,所述基于所述周期性随机变量,更新获取当前约束条件集合包括:
5.根据权利要求3所述的约束问题优化的方法,其特征在于,所述基于所述历史随机变量集合,更新获取当前随机变量集...
【专利技术属性】
技术研发人员:贾非凡,黄传动,王晨阳,曹阳,张雨桐,
申请(专利权)人:上海思尔芯技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。