基于字符串的数学模型表示与运算方法技术

技术编号:8594154 阅读:222 留言:0更新日期:2013-04-18 07:23
一种基于字符串的数学模型表示与运算方法,其包括以下步骤:步骤一:确定模型变量命名和模型表达的书写规则;步骤二:获取模型关系式,根据表达式规则,对表达式中每一项所表达的具体含义进行解析,确定模型关系式中的所有变量,以指标编号的形式进行标识与识别;步骤三:根据模型解析结果,开展支撑仿真运算的全局变量和参数变量的指标初始化操作;步骤四:构造模型运算矩阵,将初始化指标填入模型运算矩阵,解析模型关系式。通过制定模式化的字符串对模型变量和书写规则进行定义,能够为用户建立模型提供高效、通用的表示方法;通过正则表达式技术能够准确、有效的对模型进行解析。

【技术实现步骤摘要】

本专利技术属于计算机技术应用领域,特别是涉及以模型驱动的决策支持系统的模型表不方面。
技术介绍
随着信息化技术与现代仿真技术的发展,决策支持系统(DSS)的实际应用能力有了较大提高,在政府机构与企事业单位均得到了广泛应用,决策者通过系统提供的数据、模型和知识进行决策,提闻决策效率。由于数学模型在宏观与微观经济决策中扮演着十分重要的角色,因此,在DSS中模型的表示与构建是最重要的组成部分。传统的模型表示与构建主要利用一些事先建立好的模型的集合,利用计算机描述语言进行描述,尽管在模型的表示中不断的将逻辑化方法、结构化方法、数据化方法和面向对象方法引入到模型集成中,但是其模型表示的思想仍然是使用程序化的方法。这种方法的优点是简易明了,缺点是当模型变化时需要对相应的程序做出修改,模型的可重用性始终是面向开发人员,对开发人员的要求较高,需理解数学模型公式的具体含义,同时精通各种数值分析算法。另外,模型方法与对象通常都具有不同的结构与表现形式,在实际工作中决策者或者专家用户经常需要依赖于开发人员方可进行模型构建与调整,模型的利用率与系统灵活性不高,构建的模型通常很难适应外部环境的变化,只是针对本领域问题的分析与求解,大大限制了模型的灵活性与可重用性。
技术实现思路
本专利技术的目的是针对以模型驱动的决策支持系统设计一种模型表示与解析方法,它可以有效地采用字符串方式进行数学模型表示、利用模型解析技术进行模型变量与模型关系式的解析,其突出特点在于以决策者和专家用户为中心设计以字符串为核心的模型表达式书写结构,通过正则表达式技术进行模型解析与运算,实现了模型的表示与解析运算,方便了模型的动态维护与可重用性。本专利技术的上述目的可以通过如下方案实现。一种,其包括以下步骤步骤一确定模型变量命名和模型表达的书写规则,其中,用户通过交互界面,按照确定的模型表达式规则进行模型的构建操作;步骤二 获取模型关系式,根据表达式规则,对表达式中每一项所表达的具体含义进行解析,确定模型关系式中的所有变量,以指标编号的形式进行标识与识别;步骤三根据模型解析结果,开展支撑仿真运算的全局变量和参数变量的指标初始化操作;步骤四构造模型运算矩阵,将初始化指标填入模型运算矩阵,解析模型关系式。在至少一个优选实施方式中,在所述步骤一中,采用一个模式化的字符串来表示表达式的规范,利用正则表达式技术来规范各种字符串变量。在至少一个优选实施方式中,在所述步骤四中,以自定义函数对指标进行计算,填入运算矩阵,最终完成模型运算。在至少一个优选实施方式中,上述步骤二中的所述变量包括指标变量和参数变量。在至少一个优选实施方式中,在上述步骤二中,将解析得到的所有指标编号以字符串数组的形式进行存储,放入模型上下文对象中供模型运算使用。在至少一个优选实施方式中,上述模型运算矩阵用来存放所有参与模型计算的数据,由时间维数据和模型变量维数据构成。在至少一个优选实施方式中,所述模型变量维数据由指标编号和数据组成,将生成的全局变量哈希表、赋值参数哈希表、数据库查询哈希表装入运算矩阵,完成模型运算初始化工作。本专利技术的优点在于,通过制定模式化的字符串对模型变量和书写规则进行定义,能够为用户建立模型提供高效、通用的表示方法;通过正则表达式技术能够准确、有效的对模型进行解析;通过自定义函数和基础相结合,能够快速、准确的对多指标组合数学模型进行迭代计算与时序推进。附图说明 图1为根据本专利技术的一个实施方式的模型表示与运算流程图。具体实施例方式图1为根据本专利技术的一个实施方式的模型表示与运算流程图。下面结合附图对本专利技术的具体实施方式作进一步详细的描述。首先,在步骤SI中,确定模型的描述规则,决策支持系统的模型描述一般是通过建立数据变量之间的数学关系式进行表达,为描述和解析模型需要制定模型变量的命名规则和模型关系式的书写规则。模型变量的命名规则主要针对模型中包括的参数、指标变量和常数三种数据类型定义命名格式,对于参数型数据,在其指标编码前冠以字母P ;对于指标变量,在其指标编码前冠以字母I,对于常数,在关系式中直接使用数值表示。模型关系式的书写规则用于确定在关系式书写中所遵循的格式规范,模型关系式采用字符串形式描述,即变量和参数之间的数学关系通过字符串直接描述,运算符使用通用的运算操作符,模型函数可以使用基础函数和自定义函数。基础函数是指可以借助系统类包或者一些开源的软件包就可以实现函数的运算与求解的函数,比如加减乘除,平方,开方等。应用自定义函数主要解决系统类包或开源软件包没有实现方法的一些比较复杂的函数,以面向对象的编程思想构建自定义函数库,编写相应的函数求解方法类,通过标识类名、函数名及函数参数来实现。描述公式的具体格式主要包括模型变量描述为“ {指标编码} ” ;全局变量描述为“ {g :参数名} ”;时间变量描述为“[]”;自定义函数描述为“$函数名称(@{模型变量}/函数参数)”。使用正则表达式规范各种变量字符串,其中变量标识为#[\\d\\w] + ;变量修饰符[sm] : [\\d\\w] +;全局变量为:\\{g [\\d\\w] + (, [\\d\\w] +) \\};变量指标编号为[\\d\\w] + ;变量年份为_ \\d+;变量字符串为\\K(([smg]: [\\d\\w]+,)? ([\\d\\w]+) (,(([] Wd+) I (\\{g:[\\d\\w]+W}))) ) I (g[\\d\\w]+))\\};自定义函数开始字符为\\$[\\w] + ;自定义函数参数为[Λ @] + 。其次,在步骤S2中,获取模型关系式,利用上述模型描述规则,对模型关系式中每一项所表达的具体含义进行解析,得到模型关系式中的所有变量,包括了指标变量和参数变量,具体的标识采用指标编号的形式。将解析得到的所有指标编号以字符串数组的形式进行存储,放入模型上下文对象中供模型运算使用。在完成所有模型变量的解析后,就可以开始模型运算的初始化工作(参见步骤S和S4)。模型的初始化主要针对模型中的参数变量及支撑仿真运算的全局变量进行操作。全局变量是在模型仿真过程中产生的非模型变量信息,从用户交互层获取用户所设定的模型运算的仿真时间,使用哈希表将运算起始时间和终止时间与全局变量进行关联映射,生成全局变量哈希表。参数变量是仿真过程中的非求解变量,依据数据来源的不同分为赋值参数和数据库查询参数两类。赋值参数是指在模型运行过程中由使用者在人机交互界面上或构建模型时即时给定的参数值,数据库查询是通过查询数据库得到的参数值。分别获取这些参数值,使用哈希表将时间变量与指标编号和参数变量进行关联映射,生成赋值参数哈希表和数据库查询哈希表。 通过创建模型控制对象构造模型运算矩阵,该模型运算矩阵用来存放所有参与模型计算的数据,由时间维数据和模型变量维数据构成,其中模型变量维数据由指标编号和数据组成。将生成的全局变量哈希表、赋值参数哈希表、数据库查询哈希表装入运算矩阵,完成模型运算初始化工作。模型运算初始化完成之后,开始步骤S5,即解析变量关系式,具体地,以全局参数的起始时间作为模型运算起始点,从模型矩阵的第一个指标变量开始进行模型运算,若该指标在矩阵中没有初始化参数,则调用该指标的模型关系式,解析该关系式本文档来自技高网...

【技术保护点】
一种基于字符串的数学模型表示与运算方法,其特征在于,所述方法包括以下步骤:步骤一:确定模型变量命名和模型表达的书写规则;步骤二:获取模型关系式,根据表达式规则,对表达式中每一项所表达的具体含义进行解析,确定模型关系式中的所有变量,以指标编号的形式进行标识与识别;步骤三:根据模型解析结果,开展支撑仿真运算的全局变量和参数变量的指标初始化操作;步骤四:构造模型运算矩阵,将初始化指标填入模型运算矩阵,解析模型关系式。

【技术特征摘要】
1.一种基于字符串的数学模型表示与运算方法,其特征在于,所述方法包括以下步骤 步骤一确定模型变量命名和模型表达的书写规则; 步骤二 获取模型关系式,根据表达式规则,对表达式中每一项所表达的具体含义进行解析,确定模型关系式中的所有变量,以指标编号的形式进行标识与识别; 步骤三根据模型解析结果,开展支撑仿真运算的全局变量和参数变量的指标初始化操作; 步骤四构造模型运算矩阵,将初始化指标填入模型运算矩阵,解析模型关系式。2.根据权利要求1所述的方法,其特征在于, 在所述步骤一中,采用一个模式化的字符串来表示表达式的规范,利用正则表达式技术来规范各种字符串变量。3.根据权利要求1所述的方法,其特征在于, 在所述步骤四中,以...

【专利技术属性】
技术研发人员:杨方廷麻珺赵龙军涂颖倪娜谭越
申请(专利权)人:航天科工仿真技术有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1