本发明涉及计算机技术领域,具体涉及一种优化算法的通用建模方法及系统。
背景技术:
在工程实践中,往往会应用优化算法解决复杂的工程问题。优化算法要解决的一般是最优化问题,常见的优化算法有蚁群算法、粒子群算法和遗传算法。最优化问题实质是在一个解空间里面,寻找最优解,使目标函数值最小的组合优化问题。典型的优化问题有:旅行商问题(Traveling Salesman Problem,TSP)、车辆路径问题(Vehicle Routing Problem,VRP)、车间作业问题(Job Shop Scheduling,JSS)和工件加工问题(Flow Shop Scheduling,FSS)等。
优化算法模型通常由目标函数和一组约束条件构成。针对具体的优化问题要设置具体的目标函数和约束条件。现有的建立优化算法模型的方法中,要重新建立整个优化算法模型,工作量大、效率低。
如何提供一种优化算法的通用建模方法以减小建立模型的工作量,提高建立模型的效率成为亟待解决的问题。
技术实现要素:
本发明实施例提供一种优化算法的通用建模方法及系统,用于解决现有的建立优化算法模型的工作量大、效率低的问题。
本发明实施例提供了一种优化算法的通用建模方法,包括:
通过建模工具获取待建立的目标优化算法模型的模型建立信息,所述模型建立信息包括目标函数、约束条件和数据源;
将所述模型建立信息保存在模型文件中;
通过所述模型文件获取所述目标优化算法模型的基本组件;
将所述基本组件与预先设置的对应的通用算法模板进行集成,建立目标优化算法模型。
可选地,通过建模工具获取待建立的目标优化算法模型的模型建立信息,包括:
根据标准单元库以累加求和符号表达所述目标函数和约束条件。
可选地,所述模型文件为XML文件。
可选地,通过所述模型文件获取所述目标优化算法模型的基本组件,包括:
将所述模型文件转换为所述目标优化算法模型的基本组件,所述基本组件的源程序的编程语言与所述通用算法模板的编程语言相同。
可选地,所述通用算法模板包括多样性组件和收敛组件。
本发明实施例提供了一种优化算法的通用建模系统,包括:
模型建立信息获取单元,用于通过建模工具获取待建立的目标优化算法模型的模型建立信息,所述模型建立信息包括目标函数、约束条件和数据源;
模型建立信息保存单元,用于将所述模型建立信息保存在模型文件中;
基本组件获取单元,用于通过所述模型文件获取所述目标优化算法模型的基本组件;
目标优化算法模型建立单元,用于将所述基本组件与预先设置的对应的通用算法模板进行集成,建立目标优化算法模型。
可选地,所述模型建立信息获取单元进一步用于:
根据标准单元库以累加求和符号表达所述目标函数和约束条件。
可选地,所述模型文件为XML文件。
可选地,所述基本组件获取单元进一步用于:
将所述模型文件转换为所述目标优化算法模型的基本组件,所述基本组件的源程序的编程语言与所述通用算法模板的编程语言相同。
可选地,所述通用算法模板包括多样性组件和收敛组件。
本发明实施例提供的优化算法的通用建模方法及系统,通过建模工具获取待建立的目标优化算法模型的模型建立信息;将所述模型建立信息保存在模型文件中;通过所述模型文件获取所述目标优化算法模型的基本组件;将所述基本组件与预先设置的对应的通用算法模板进行集成,建立目标优化算法模型。本发明实施例通过将与解决具体的最优化问题无关的算法的通用性部分设置成算法模板,通过建模工具获取待建立的目标优化算法模型的模型建立信息,获取目标优化算法模型的基本组件,将基本组件与通用算法模板集成建立目标优化算法模型,减小建立模型的工作量,提高建立模型的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例的优化算法的通用建模方法的流程示意图;
图2是本发明一个实施例的优化算法的通用建模方法的原理示意图;
图3是本发明一个实施例的的优化算法的通用建模系统的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明一个实施例的优化算法的通用建模方法的流程示意图。如图1所示,该实施例的方法包括:
S11:通过建模工具获取待建立的目标优化算法模型的模型建立信息,所述模型建立信息包括目标函数、约束条件和数据源;
需要说明的是,目标优化算法模型由目标函数和一组约束条件构成,建立针对具体优化问题的目标优化算法模型,需要获取目标函数、约束条件,并且获取数据源。
S12:将所述模型建立信息保存在模型文件中;
在实际应用中,将模型建立信息保存在XML文件中。
S13:通过所述模型文件获取所述目标优化算法模型的基本组件;
S14:将所述基本组件与预先设置的对应的通用算法模板进行集成,建立目标优化算法模型;
需要说明的是,各个优化算法模型是解决某个具体优化问题的,针对不同但相似的问题可通过通用算法模板建立优化算法模型。通用算法模板是与所解决的具体优化问题无关的某一种算法抽象出来的通用性部分。根据优化算法的不同,通用算法模板可分为蚁群通用算法模板、粒子群通用算法模板和遗传通用算法模板。针对具体优化问题处理的部分设置基本组件。基本组件与对应的通用算法模板通过接口集成,便实现了对目标优化算法模型的建立。
本发明实施例提供的优化算法的通用建模方法,通过建模工具获取待建立的目标优化算法模型的模型建立信息;将所述模型建立信息保存在模型文件中;通过所述模型文件获取所述目标优化算法模型的基本组件;将所述基本组件与预先设置的对应的通用算法模板进行集成,建立目标优化算法模型。本发明实施例通过将与解决具体的最优化问题无关的算法的通用性部分设置成算法模板,通过建模工具获取待建立的目标优化算法模型的模型建立信息,获取目标优化算法模型的基本组件,将基本组件与通用算法模板集成建立目标优化算法模型,减小建立模型的工作量,提高建立模型的效率。
在本发明实施例的一种优选的实施方式中,与图1中的方法类似,步骤S11包括:
根据标准单元库以累加求和符号表达所述目标函数和约束条件。
需要说明的是,在优化算法中,约束条件通常被转化为罚函数与目标函数一并处理。目标函数和约束条件都可以用标准的数学符号表达。
举例来说,待建立的目标优化算法模型的目标函数为:
MAX(C1X1+C2X2+...+CiXi)
待建立的目标优化算法模型的约束矩阵为:
A11X1+A12X2+...+A1iX1≥B1
A21X1+A22X2+...+A2iX2≤B2
......
......
Ai1X1+Ai2X2+...+AiiXi≤Bi
可将上述的目标函数和约束矩阵用标准单元库中的标准模型单元表示,标准模型单元是用累加求和符号定义的,标准模型单元的累加数不能小于维度数。
4累加4维度的标准模型单元定义如下:
3累加3维度的标准模型单元定义如下:
2累加2维度的标准模型单元定义如下:
1累加3维度的标准模型单元定义如下:
1累加2维度的标准模型单元定义如下:
1累加1维度的标准模型单元定义如下:
进一步地,步骤S13包括:
将所述模型文件转换为所述目标优化算法模型的基本组件,所述基本组件的源程序的编程语言与所述通用算法模板的编程语言相同。
进一步地,所述通用算法模板包括多样性组件和收敛组件。
可理解的是,在利用优化算法解决复杂的工程问题时,多样性选择用于避免陷入局部最优,快速收殓则加快算法的收敛速度,因此要在多样性选择和快速收敛之间进行权衡。即使不同的优化算法,多样性和加快收殓的手段也是有限的,可以独立模块化,成为通用算法模板的一部分。
图2是本发明一个实施例的优化算法的通用建模方法的原理示意图。如图2所示,本发明实施例的优化算法的通用建模方法通过建模工具获取待建立的目标优化算法模型的目标函数、约束条件和数据源;将上述信息保存在模型文件中;通过所述模型文件获取所述目标优化算法模型的基本组件;将所述基本组件与预先设置的对应的通用算法模板进行集成,建立目标优化算法模型。本发明实施例通过将与解决具体的最优化问题无关的算法的通用性部分设置成算法模板,通过建模工具获取待建立的目标优化算法模型的模型建立信息,获取目标优化算法模型的基本组件,将基本组件与通用算法模板集成建立目标优化算法模型,减小建立模型的工作量,提高建立模型的效率。
图3是本发明一个实施例的的优化算法的通用建模系统的结构示意图。如图3所示,本发明实施例的优化算法的通用建模系统包括模型建立信息获取单元31、模型建立信息保存单元32、基本组件获取单元33和目标优化算法模型建立单元34,具体地:
模型建立信息获取单元31,用于通过建模工具获取待建立的目标优化算法模型的模型建立信息,所述模型建立信息包括目标函数、约束条件和数据源;
模型建立信息保存单元32,用于将所述模型建立信息保存在模型文件中;
基本组件获取单元33,用于通过所述模型文件获取所述目标优化算法模型的基本组件;
目标优化算法模型建立单元34,用于将所述基本组件与预先设置的对应的通用算法模板进行集成,建立目标优化算法模型。
模型建立信息获取单元31进一步用于:
根据标准单元库以累加求和符号表达所述目标函数和约束条件。
可选地,所述模型文件为XML文件。
基本组件获取单元33进一步用于:
将所述模型文件转换为所述目标优化算法模型的基本组件,所述基本组件的源程序的编程语言与所述通用算法模板的编程语言相同。
可选地,所述通用算法模板包括多样性组件和收敛组件。
本发明实施例的优化算法的通用建模系统可以用于执行上述方法实施例,其原理和技术效果类似,此处不再赘述。
本发明实施例提供的优化算法的通用建模方法及系统,通过建模工具获取待建立的目标优化算法模型的模型建立信息;将所述模型建立信息保存在模型文件中;通过所述模型文件获取所述目标优化算法模型的基本组件;将所述基本组件与预先设置的对应的通用算法模板进行集成,建立目标优化算法模型。本发明实施例通过将与解决具体的最优化问题无关的算法的通用性部分设置成算法模板,通过建模工具获取待建立的目标优化算法模型的模型建立信息,获取目标优化算法模型的基本组件,将基本组件与通用算法模板集成建立目标优化算法模型,减小建立模型的工作量,提高建立模型的效率。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
需要说明的是术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本发明的说明书中,说明了大量具体细节。然而能够理解的是,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。类似地,应当理解,为了精简本发明公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释呈反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
以上实施例仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。