CN116468099A - 一种模型结构的优化方法及装置 - Google Patents
一种模型结构的优化方法及装置 Download PDFInfo
- Publication number
- CN116468099A CN116468099A CN202210018436.8A CN202210018436A CN116468099A CN 116468099 A CN116468099 A CN 116468099A CN 202210018436 A CN202210018436 A CN 202210018436A CN 116468099 A CN116468099 A CN 116468099A
- Authority
- CN
- China
- Prior art keywords
- variables
- model
- embedded representations
- neural network
- service
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 70
- 238000005457 optimization Methods 0.000 title claims abstract description 69
- 238000013528 artificial neural network Methods 0.000 claims abstract description 101
- 239000011159 matrix material Substances 0.000 claims abstract description 56
- 238000011176 pooling Methods 0.000 claims description 30
- 238000012549 training Methods 0.000 claims description 23
- 230000002787 reinforcement Effects 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 6
- 238000000605 extraction Methods 0.000 claims description 6
- 238000012163 sequencing technique Methods 0.000 claims description 5
- 238000003860 storage Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 description 16
- 238000004891 communication Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 13
- 238000012360 testing method Methods 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 9
- 230000009467 reduction Effects 0.000 description 9
- 238000004220 aggregation Methods 0.000 description 6
- 230000002776 aggregation Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 5
- 238000009826 distribution Methods 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 238000000638 solvent extraction Methods 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000009194 climbing Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000013178 mathematical model Methods 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 238000004886 process control Methods 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012067 mathematical method Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提供一种模型结构的优化方法,包括:获取待优化的业务模型的结构信息,业务模型基于目标业务的业务数据中的决策特征、约束条件和业务目标确定,结构信息包括业务模型对应的矩阵信息,矩阵信息包括多个列变量和多个行变量,列变量表征了业务模型的变量,变量基于业务数据中的决策特征确定,行变量表征了业务模型的约束,约束基于约束条件确定;将矩阵信息输入图神经网络,得到多个列变量和/或多个行变量对应的多个嵌入表示;将多个嵌入表示输入指针神经网络,得到多个嵌入表示的排序;基于多个嵌入表示的排序,对业务模型的结构进行优化。本申请通过对模型的结构优化,提高了求解器对优化后的模型的求解性能。
Description
技术领域
本申请涉及人工智能技术领域,尤其涉及一种模型结构的优化方法及装置。
背景技术
大量现实生活中的优化问题本质上都是离散或者连续的组合优化问题,比如机场调度、大学课程排课、护士排班、工厂排产、材料工艺控制、数据分配和电力系统的调度等业务。其中以多工厂排产业务问题为例,这类问题的特征是待求解的变量很多,业务约束多,对求解速度、求解质量以及鲁棒性要求较高。为解决上述问题,许多方法被提出来了,比如启发式方法、元启发算法(进化算法、邻域搜索等)以及数学规划算法。不同的方法有各自的局限性,比如启发式方法产生的结果不够好,需要大量的人工调整;元启发算法求得的结果好于启发式方法,但是其求解速度太慢。
发明内容
本申请的实施例提供一种模型结构的优化方法及装置,通过对模型的结构优化,提高了求解器对该优化后的模型的求解性能。
第一方面,本申请提供了一种模型结构的优化方法,包括获取待优化的业务模型的结构信息,业务模型基于目标业务的业务数据中的决策特征、约束条件和业务目标确定,结构信息包括业务模型对应的矩阵信息,矩阵信息包括多个列变量和多个行变量,列变量表征了所述业务模型的变量,变量基于业务数据中的决策特征确定,行变量表征了业务模型的约束,约束基于约束条件确定;将矩阵信息输入图神经网络,得到多个列变量和/或多个行变量对应的多个嵌入表示;将多个嵌入表示输入指针神经网络,得到多个嵌入表示的排序;基于多个嵌入表示的排序,对业务模型的结构进行优化,优化后的业务模型用于输入求解器,得到目标业务在实现最优业务目标时对应的决策。
在该实现中,通过对模型的结构优化,提高了求解器对优化后的模型的求解性能。
在一个可能的实现中,将矩阵信息输入图神经网络,得到多个列变量和/或多个行变量对应的多个嵌入表示,包括:确定矩阵信息的二部图,二部图包括多个列变量节点和多个行变量节点;提取二部图中各个列变量节点和/或行变量节点的特征,得到各个列变量节点和/或行变量节点对应的嵌入表示;基于各个列变量节点和/或行变量节点对应的嵌入表示,确定多个列变量和/或多个行变量对应的多个嵌入表示。
在一个可能的实现中,将所述多个嵌入表示输入指针神经网络,得到多个所述嵌入表示的排序,包括:将多个嵌入表示划分为多组嵌入表示;对多组嵌入表示中各组嵌入表示进行池化操作,得到多个池化特征;将多个池化特征输入指针神经网络,得到多个池化特征的排序;基于多个池化特征的排序,确定多个嵌入表示的排序。
在另一个可能的实现中,基于多个嵌入表示的排序,对业务模型的结构进行优化,包括:基于多个嵌入表示的排序,对矩阵信息中多个列变量和/或多个行变量进行排序,得到优化后的矩阵信息;基于优化后的矩阵信息,确定优化后的业务模型的结构信息。
在另一个可能的实现中,图神经网络为图卷积神经网络。
在另一个可能的实现中,图神经网络和指针神经网络基于强化学习或监督学习训练得到。
第二方面,本申请提供了一种模型结构的优化装置,包括:
获取模块,用于获取待优化的业务模型的结构信息,所述业务模型基于目标业务的业务数据中的决策特征、约束条件和业务目标确定,所述结构信息包括所述业务模型对应的矩阵信息,所述矩阵信息包括多个列变量和多个行变量,所述列变量表征了所述业务模型的变量,所述变量基于所述业务数据中的决策特征确定,所述行变量表征了所述业务模型的约束,所述约束基于所述约束条件确定;
嵌入表示提取模块,用于将所述矩阵信息输入图神经网络,得到所述多个列变量和/或多个行变量对应的多个嵌入表示;
排序模块,用于将所述多个嵌入表示输入指针神经网络,得到所述多个嵌入表示的排序;
优化模块,基于所述多个嵌入表示的排序,对所述业务模型的结构进行优化,优化后的所述业务模型用于输入求解器,得到所述目标业务在实现最优所述业务目标时对应的决策。
在一个可能的实现中,所述嵌入表示提取模块具体用于,确定所述矩阵信息的二部图,所述二部图包括多个列变量节点和多个行变量节点;
提取所述二部图中各个列变量节点和/或行变量节点的特征,得到所述各个列变量节点和/或行变量节点对应的嵌入表示;
基于所述各个列变量节点和/或行变量节点对应的嵌入表示,确定所述多个列变量和/或多个行变量对应的多个嵌入表示。
在另一个可能的实现中,所述排序模块具体用于,将所述多个嵌入表示划分为多组嵌入表示;
对所述多组嵌入表示中各组嵌入表示进行池化操作,得到多个池化特征;
将所述多个池化特征输入所述指针神经网络,得到所述多个池化特征的排序;
基于所述多个池化特征的排序,确定所述多个嵌入表示的排序。
在另一个可能的实现中,所述优化模块具体用于,基于所述多个嵌入表示的排序,对所述矩阵信息中多个列变量和/或多个行变量进行排序,得到优化后的矩阵信息;
基于所述优化后的矩阵信息,确定优化后的业务模型的结构信息。
在另一个可能的实现中,所述图神经网络为图卷积神经网络。
在另一个可能的实现中,所述图神经网络和所述指针神经网络基于强化学习或监督学习训练得到。
第三方面,本申请提供了一种计算设备,包括存储器和处理器,所述存储器中存储有指令,当所述指令被处理器执行时,使得第一方面所述的方法被实现。
第四方面,本申请提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在被处理器执行时,使得第一方面所述的方法被实现。
附图说明
图1为最优化业务的求解方法的流程示意图;
图2为本申请实施例提供的模型结构的优化方法的流程示意图;
图3为模型的矩阵信息(A,b,c)输入图神经网络后,在图神经网络中的处理过程示意图;
图4为图神经网络输出的多个嵌入表示在划分模块和池化模块的处理过程示意图;
图5为池化后的聚合嵌入表示信息,在指针神经网络中的处理以及处理后指导优化模型结构的过程示意图;
图6为图神经网络和指针神经网络采用强化学习的训练方式的训练过程示意图;
图7利用为本申请实施例提供的模型结构的优化方法优化后的模型结构在数据集上的验证结果;
图8为多工厂排产数据集中抽取32个线性规划问题作为训练集的规模统计示意图;
图9为多工厂排产数据集中抽取60个线性规划问题作为验证集的规模统计示意图;
图10为利用为本申请实施例提供的模型结构的优化方法优化后的模型结构在测试集上的求解时间示意图;
图11为本申请实施例提供的一种模型结构的优化装置的结构示意图;
图12为本申请实施例提供的计算设备的结构示意图。
具体实施方式
下面通过附图和实施例,对本申请的技术方案做进一步的详细描述。
图1为最优化业务的求解方法的流程示意图。如图1所示,先将业务数据建模为业务模型,然后调用求解器对该业务模型进行求解,得到最优方案。
求解器可广泛应用于云计算、零售、金融、制造、交通、能源等领域,是深埋于智能决策场景底层的“终极利器”、“降本增效”的好工具。
通常来说,在调用求解器进行求解之前,需要利用专家的经验将实际业务问题诉求翻译成业务模型,该过程称为建模。在建模过程中,主要是建模优化的目标以及各种约束,常见的业务模型可以为线性规划模型、混合整数规划模型、二次规划模型等。现有的建模过程主要依赖于业务经验和建模经验,很难对建模质量进行较为准确的量化描述,而建模过程的优劣直接影响求解器的性能,例如求解器的求解速度、求解迭代数和求解精度等。
第一种建模方案Grassland,是一种基于图计算,利用分布式技术极大提高建模效率的建模工具。其通常用在业务诉求约束、变量极其复杂,要求快速建模的场景中。
但是其在建模过程中完全没有考虑模型结构的问题,完全按照业务规则做顺序的建模。因此其生成的模型往往对于后续求解器求解是不友好的,体现在求解时间较长或者求解的精度不够。
第二种建模方案AMPL,通过数学方法监测结构来做到化简以提升后续求解质量,并且拥有比较完善的、友好的用户接口。
但是其无法自动化,无法通过提升算力的方法来提高泛化性,面对不同的业务类型其对模型结构的优化有限。
针对上述问题,本申请实施例对最优化业务求解过程中的建模过程进行改进,提出一种模型结构的优化方法,通过对原始模型的列变量和/或行变量利用图神经网络映射到低维空间,在低维空间中利用指针网络对上述降维后的列变量和/或行变量进行重排,输出重排后的模型。换言之,本申请实施例的模型结构的优化方法可以通过多种方式实现对模型结构的优化,例如,可以通过对模型的列变量进行重排得到优化后的模型结构,也可以通过对模型的行变量进行重排得到优化后的模型结构,也可以通过对模型的列变量和行变量均进行重排得到优化后的模型结构,本申请对此不进行限定,可根据需要选择合适方式实现对模型结构的优化。
上述的图神经网络和指针神经网络采用强化学习/监督学习方法在小规模的优化问题上进行训练,训练完成的模型能用来在同源的大规模优化问题上进行结构寻优,从而提升大规模优化问题的求解速度或者求解质量。
下面详细介绍本申请实施例提出的模型结构的优化方法。
图2为本申请实施例提供的模型结构的优化方法的流程示意图,该方法可由计算设备实施,该计算设备可以为各种类型的终端设备,例如便携式手持设备、笔记本电脑、台式计算机等,也可以为服务器,服务器可以包括一个或多个通用计算机、专用服务器计算机服务器、刀片式服务器、大型计算机、服务器集群或任何其他适当的布置或组合。下面结合图2示出的步骤,对本申请实施例提供的模型的结构优化方法进行说明。
在步骤S201中,获取待优化的业务模型的结构信息。
待优化的业务模型为未经结构优化的业务模型,例如基于现有技术构建的业务模型,或基于上述第一方案或第二方案构建的业务模型,为了与优化后的模型区分,下文中将待优化的业务模型称为原模型。所述原模型基于目标业务的业务数据中的决策特征、约束条件和业务目标确定,原模型的结构信息包括业务模型对应的矩阵信息,矩阵信息包括多个列变量和多个行变量,列变量表征了业务模型的变量,该变量基于业务数据中的决策特征确定,行变量表征了业务模型的约束,该约束基于业务数据中的约束条件确定。
本申请实施例并不限定目标业务的业务类型,例如该业务类型可以是机场调度业务、大学课程排课业务、护士排班业务、工厂排产业务、材料工艺控制业务、数据分配业务和电力系统的调度业务。
例如,当业务类型为数据分配业务类型时,可以具体为机器学习训练场景,针对不同的机器学习网络模型和硬件环境,通过分析机器学习网络各个网络层的计算量、通信量和内存使用量,结合机器学习训练设备的计算能力、内存容限、通信带宽等参数,以最小化模型均衡因子和跨设备通信因子为优化模板建立线性规划模型,通过求解器求解,得到最符合设备均衡原理的分布式模型并行设备分配。该类型下的业务数据的决策特征为跨设备通信因子、模块均衡因子和通信权重系数等,则业务数据的变量为跨设备通信因子、模块均衡因子和通信权重系数;业务数据的约束条件为基于训练设备的最大内存容限确定的内存约束、计算均衡因子的变量约束、内存衡因子的变量约束、跨设备通信因子的变量约束、模块均衡因子的变量约束等,则业务模型的约束为内存约束、计算均衡因子的变量约束、内存衡因子的变量约束、跨设备通信因子的变量约束、模块均衡因子的变量约束。
当业务类型为电力系统的调度业务时,则以电力系统的运行成本最小化为目标建立电力调度业务模型,该业务模型中的约束条件为机组成本约束、系统负载平衡约束、机组出力上下限约束、机组爬坡约束和合同电量约束,该业务模型的变量为;机组出力上下限约束和机组成本约束机组涉及的变量包括单个发电机组的功率变量、机组爬坡约束涉及的变量包括两个时段的发电机组的功率变量、合同电量约束涉及的变量包括单个发电机组所有时段的功率变量、系统负载平衡约束涉及的变量包括一个时段内所有发电机组的功率变量。
也就是说,不同的业务类型对应的业务模型的变量和约束对应的物理含义不同。
在步骤S202中,将矩阵信息输入图神经网络,得到多个列变量和/或多个行变量对应的多个嵌入表示。
图神经网络的主要作用是将高维的模型的结构信息进行嵌入表示(Embedding),即将所有约束和/或变量的信息进行降维表示,方便下游模块进行推理。
图3示出了模型的矩阵信息(A,b,c)输入图神经网络后,在图神经网络中的处理后得到多个列变量和/或行变量中各个列变量和/或行变量对应的嵌入表示。如图3所示,在将原模型的矩阵信息(A,b,c)输入图神经网络后,先将该矩阵信息(A,b,c)进行图表示(graphrepresentation),例如将原模型的结构信息(A,b,c)按照约束变量关系转化成为一个二部图(bipartite graph representation),即将矩阵信息(A,b,C)按照连接关系进行填充。将矩阵信息转化为二部图一般技术人员比较熟悉,为了简洁,这里不再赘述。参见图3中step1中示出的二部图,该二部图中包括多个节点,多个节点中分别包括多个列变量(即变量(variables))节点和多个行变量(即约束(constrains))节点。将二部图作为图神经网络的输入,图神经网络输出各个列变量节点和/或行变量节点的嵌入表示,该各个列变量节点和/或行变量节点的嵌入表示即为各个列变量和/或行变量的嵌入表示。
例如,若采用对模型的列变量进行重排的方式实现模型的结构优化,则图神经网络输出各个列变量节点的嵌入表示,即得到各个列变量的嵌入表示。若采用对模型的行变量进行重排的方式实现模型的结构优化,则图神经网络输出各个行变量节点的嵌入表示,即得到各个行变量的嵌入表示。若采用对模型的列变量和行变量均进行重排的方式实现模型的结构优化,则图神经网络输出二部图中各个节点的嵌入表示,即得到各个列变量和行变量的嵌入表示。
在一个示例中,图神经网络为图卷积神经网络,图卷积神经网络中的各个卷积核分别对二部图中的各个节点进行卷积运算,得道各个节点的嵌入表示。图卷积神经网络可以处理规模大小不一的业务模型,同时对输入的排列不敏感。
在步骤S203中,将多个嵌入表示输入指针神经网络,得到多个嵌入表示的排序。
也就是说,将图神经网络的输出作为指针神经网络的输入,指示神经网络输出多个嵌入表示的排序。
若是采用对模型的列变量进行重排的方式实现模型的结构优化,则多个嵌入表示为多个列变量的嵌入表示,指针神经网络输出多个列变量的嵌入表示的排序。若是采用对模型的行变量进行重排的方式实现模型的结构优化,则多个嵌入表示为多个行变量的嵌入表示,指针神经网络输出多个行变量的嵌入表示的排序。若是采用对模型的列变量和行变量进行重排的方式实现模型的结构优化,则多个嵌入表示为多个列变量和行变量的嵌入表示,指针神经网络输出多个列变量和行变量的嵌入表示的排序。
在步骤S204中,基于多个嵌入表示的排序,对业务模型的结构进行优化。
根据多个嵌入表示的排序,对模型的矩阵进行重排,进而得到优化后的模型的结构。示例性的,若多个嵌入表示为多个列变量的嵌入表示,则根据多个列变量的嵌入表示的排序,对模型的矩阵的列变量进行重排行变量保持不变,进而得到优化后的模型的结构。若多个嵌入表示为多个行变量的嵌入表示,则根据多个行变量的嵌入表示的排序,对模型的矩阵的行变量进行重排列变量保持不变,进而得到优化后的模型的结构。若多个嵌入表示为多个列变量和行变量的嵌入表示,则根据多个列变量和行变量的嵌入表示的排序,对模型的矩阵的列变量和行变量进行重排,进而得到优化后的模型的结构。
本申请实施例提出的模型结构的优化方法,利用图神经网络和指针神经网络作为优化问题中的模型进行结构寻优的通用框架,其中利用图神经网络对高维的模型进行降维表示。然后对于降维表示后的模型,利用指针神经网络进行模型的重新排列,输出更有利于求解速度的新的模型结构,提升求解器的求解性能。
在一个示例中,由于图神经网络将原模型的矩阵信息中的列变量和/或行变量进行低维嵌入表示后,由于变量数和约束数仍然很大,因此需要进一步做变量层次、约束层次的信息聚合,因此,在图神经网络输出多个嵌入表示后,再增加对多个嵌入表示的模型划分操作和池化操作;也就是说,在图神经网络和指针神经网络之间增加划分模块和池化模块。
图4示出了图神经网络输出的多个嵌入表示在划分模块和池化模块的处理过程。如图4所示,首先将图神经网络输出的约束和/或变量的低维嵌入表示按照预设划分规则划分进行聚类;然后在同一个类或者分块里面,进行池化操作(pooling)也可以叫聚合操作(aggregation),这里可选的聚合操作函数有平均数,最大化,最小化等;最后输出每个分块的聚合嵌入表示信息。
划分模块的预设划分规则可以有多种,例如平均划分、聚类划分等,本申请实施例对此不进行限定,可以根据需要选择合适的划分方式。
图5示出了池化后的聚合嵌入表示信息(即多个池化特征),在指针神经网络中的处理以及处理后指导优化模型结构的过程。如图5所示,首先将上游模块(即池化模块)输出的类内聚合信息作为输入给指针神经网络,然后指针神经网络输出该类内聚合信息序列的一个新的排序;最后根据输出类的排列信息,对原模型的约束矩阵进行重排(行和/或列的重排,取决于上游模块中的划分方式),得到优化后的模型的矩阵信息,即得到优化后的模型结构。
图神经网络和指针神经网络可以采用监督学习(supervised learning)或强化学习(reinforcement learning)的方式进行训练。
图6为图神经网络和指针神经网络采用强化学习的训练方式的训练过程示意图。如图6所示,首先将原模型的结构信息整理成二部图形式,将上述二部图输入图神经网络,获得对于列变量和/或行变量的降维表示,再将上述降维表示信息按照实现预定的分块进行池化,获得每块的共同信息表示,将上述每块的共同信息表示输入指针神经网络,获得模型的分块重排序结果,将原模型按照重排序结果进行重排,将重排后的模型输入给求解器进行求解,获得求解性能,例如求解时间、求解迭代数和求解精度等。如果求解结果达到给定的求解要求,则输出图神经网络模型和指针神经网络模型的参数,如果求解结果没有达到给定求解要求,则转入开始步骤继续进行训练。也就是说,原模型的结构作为环境的当前状态,图神经网络和指针神经网络输出的排序结果指导模型结构重排形成的新的模型结构为当前状态下的动作,求解器的求解性能为该动作对应的奖励。图神经网络和指针神经网络作为智能体,智能体根据原模型的结构输出排序,该排序指导原模型的结构进行重排产生新的模型结构,同时给出该新的模型结构的奖励,如此循环下去,智能体和环境不断交互产生更多新的数据。强化学习算法就是通过一系列动作策略与环境交互,产生新的数据,再利用新的数据去修改自身的动作策略,经过数次迭代后,智能体就会学习到完成任务所需要的动作策略,即图神经网络和指针神经网络训练完成。
当图神经网络和指针神经网络采用监督学习的方式进行训练时,训练神经网络需要监督信息,该监督信息可以是通过调用求解器(华为云Wooyin,Clp,Gurobi等)来获得新结构下的模型求解性能。该信息将作为监督信息来指导训练图神经网络和指针神经网络。
可以理解的,上文提及优化问题中的建模过程构建的业务模型可以为线性规划模型、混合整数规划模型和二次规划模型等。线性规划(linear programming,LP):指目标函数和约束条件皆为线性的最优化业务问题。线性规划是最优化业务问题中的一个重要领域。在作业研究中所面临的许多实际问题都可以用线性规划来处理,特别是某些特殊情况,例如:网络流、多商品流量等问题,都被认为非常重要。目前已有大量针对线性规划算法的研究。很多最优化业务问题算法都可以分解为线性规划子问题,然后逐一求解。在线性规划的历史发展过程中所衍伸出的诸多概念,建立了最优化理论的核心思维,例如“对偶”、“分解”、“凸集”的重要性及其一般化等。在微观经济学和商业管理领域中,线性规划亦被大量应用于例如降低生产过程的成本等手段,最终提升产值与营收。求解器(Solver):是一类数学软件,可能以独立的计算机程序或软件库的形式出现,它能“解”一个数学问题。求解器以某种通用形式获取问题描述并计算它们的解。在求解器中,重点是创建一个程序或库,可以很容易地应用于其他类似类型的问题。建模过程:将实际业务的优化诉求、约束,利用专家的经验将其翻译成数学模型,该过程称为建模,在建模过程中,主要是建模优化的目标以及各种约束,常见的标准数学模型有线性规划、混合整数规划、二次规划等。
下面以线性规划模型为例,测试本申请实施例提供的模型结构的优化方法产生的优化后的模型结构的性能。
测试例1:在公开的MIPLIB2017数据集上进行验证试验。将优化后的模型结构,在小规模数据集assign1-5-8.mps问题上进行迭代数优化的线性规划模型寻优,实验结果如图7所示,相比原始线性规划模型结构,经过本申请实施例提供的模型结构的优化后能找到使得迭代数下降14%的新模型结构。
测试例2:在华为多工厂排产问题的数据集上进行实验验证,所用的训练数据集和测试数据集规模如图8和图9所示。其中,图8为多工厂排产数据集中抽取32个线性规划问题作为训练集,图9为多工厂排产数据集中抽取60个线性规划问题作为验证集。在训练数据集上进行迭代时间/迭代数优化的线性规划模型寻优。当在训练集上完成了寻优模型的学习后,我们将该模型用于测试集数据的结构调整测试。
分别在训练集和测试集上都进行了迭代数的优化效果检验,结果表明在华为多工厂排产数据集上,采用主动搜索(active search)思路,在训练数据集中的32个模型中当主动搜索参数k=1,能有50%的模型迭代数被优化;k>=5时,100%模型的迭代数均被优化;在60个未见过的测试数据上,k=1有30%的模型迭代数被优化,k=5时有75%模型迭代数被优化,k=10时所有模型的迭代数。此外还在测试集上进行了迭代时间的优化效果检验,如图10所示,结果表明在测试数据集中,经过本申请实施例的模型结构的优化方法后优化后的模型结构,求解器平均求解时间下降8%。
可见在华为多工厂排产数据集上,经过本申请实施例提出的一种模型结构的优化方法优化后的模型结构能有效降低求解器迭代数(下降20%)和求解时间(下降8%)。并且该优化方法在不同规模的同源的线性规划模型上具有一定的泛化性,能实现在小规模线性规划问题上结构寻优,并且将该结构应用到同源的大规模线性规划问题上。
与前述方法实施例基于相同的构思,本申请实施例中还提供了一种模型结构的优化装置1100,该模型结构的优化装置1100包括用以实现图2-6所示的模型结构的优化方法中的各个步骤的单元或模块。
图11为本申请实施例提供的一种模型结构的优化装置的结构示意图。该装置应用于计算设备,如图11所示,该一种模型结构的优化装置1100至少包括:
获取模块1101,用于获取待优化的业务模型的结构信息,所述业务模型基于目标业务的业务数据中的决策特征、约束条件和业务目标确定,所述结构信息包括所述业务模型对应的矩阵信息,所述矩阵信息包括多个列变量和多个行变量,所述列变量表征了所述业务模型的变量,所述变量基于所述业务数据中的决策特征确定,所述行变量表征了所述业务模型的约束,所述约束基于所述约束条件确定;
嵌入表示提取模块1102,用于将所述矩阵信息输入图神经网络,得到所述多个列变量和/或多个行变量对应的多个嵌入表示;
排序模块1103,用于将所述多个嵌入表示输入指针神经网络,得到所述多个嵌入表示的排序;
优化模块1104,基于所述多个嵌入表示的排序,对所述业务模型的结构进行优化,优化后的所述业务模型用于输入求解器,得到所述目标业务在实现最优所述业务目标时对应的决策。
在一个可能的实现中,所述嵌入表示提取模块1102具体用于,确定所述矩阵信息的二部图,所述二部图包括多个列变量节点和多个行变量节点;
提取所述二部图中各个列变量节点和/或行变量节点的特征,得到所述各个列变量节点和/或行变量节点对应的嵌入表示;
基于所述各个列变量节点和/或行变量节点对应的嵌入表示,确定所述多个列变量和/或多个行变量对应的多个嵌入表示。
在一个可能的实现中,所述排序模块1103具体用于,将所述多个嵌入表示划分为多组嵌入表示;
对所述多组嵌入表示中各组嵌入表示进行池化操作,得到多个池化特征;
将所述多个池化特征输入所述指针神经网络,得到所述多个池化特征的排序;
基于所述多个池化特征的排序,确定所述多个嵌入表示的排序。
在一个可能的实现中,所述优化模块具体1104用于,基于所述多个嵌入表示的排序,对所述矩阵信息中多个列变量和/或多个行变量进行排序,得到优化后的矩阵信息;
基于所述优化后的矩阵信息,确定优化后的业务模型的结构信息。
在一个可能的实现中,所述图神经网络为图卷积神经网络。
在一个可能的实现中,所述图神经网络和所述指针神经网络基于强化学习或监督学习训练得到。
根据本申请实施例的模型结构的优化装置1100可对应于执行本申请实施例中描述的方法,并且一种模型结构的优化装置1100中的各个模块的上述和其它操作和/或功能分别为了实现图2-6中的各个方法的相应流程,为了简洁,在此不再赘述。
本申请实施例还提供一种计算设备,包括至少一个处理器、存储器和通信接口,所述处理器用于执行图2-6所述的方法。
图12为本申请实施例提供的计算设备的结构示意图。
如图12所示,所述计算设备1200包括至少一个处理器1201、存储器1203和通信接口1202。其中,处理器1201和存储器1203、通信接口1202通信连接,也可以通过无线传输等其他手段实现通信。该通信接口1202用于接收其他设备发送的数据(例如待优化的业务模型的结构信息);存储器1203存储有计算机指令,处理器1201执行该计算机指令,执行前述方法实施例中的模型结构的优化方法。
应理解,在本申请实施例中,该处理器1201可以是中央处理单元CPU,该处理器1201还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(fieldprogrammable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。
该存储器1203可以包括只读存储器和随机存取存储器,并向处理器1201提供指令和数据。存储器1203还可以包括非易失性随机存取存储器。
该存储器1203可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data date SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlinkDRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
应理解,根据本申请实施例的计算设备1200可以执行实现本申请实施例中图2-6所示方法,该方法实现的详细描述参见上文,为了简洁,在此不再赘述。
本申请的实施例提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机指令在被处理器执行时,使得上文提及的模型结构的优化方法被实现。
本申请的实施例提供了一种芯片,该芯片包括至少一个处理器和接口,所述至少一个处理器通过所述接口确定程序指令或者数据;该至少一个处理器用于执行所述程序指令,以实现上文提及的模型结构的优化方法。
本申请的实施例提供了一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括指令,当该指令执行时,令计算机执行上文提及的模型结构的优化方法。
本领域普通技术人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执轨道,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执轨道的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施方式而已,并不用于限定本申请的保护范围,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (14)
1.一种模型结构的优化方法,其特征在于,包括:
获取待优化的业务模型的结构信息,所述业务模型基于目标业务的业务数据中的决策特征、约束条件和业务目标确定,所述结构信息包括所述业务模型对应的矩阵信息,所述矩阵信息包括多个列变量和多个行变量,所述列变量表征了所述业务模型的变量,所述变量基于所述业务数据中的决策特征确定,所述行变量表征了所述业务模型的约束,所述约束基于所述约束条件确定;
将所述矩阵信息输入图神经网络,得到所述多个列变量和/或多个行变量对应的多个嵌入表示;
将所述多个嵌入表示输入指针神经网络,得到所述多个嵌入表示的排序;
基于所述多个嵌入表示的排序,对所述业务模型的结构进行优化,优化后的所述业务模型用于输入求解器,得到所述目标业务在实现最优所述业务目标时对应的决策。
2.根据权利要求1所述的方法,其特征在于,所述将所述矩阵信息输入图神经网络,得到所述多个列变量和/或多个行变量对应的多个嵌入表示,包括:
确定所述矩阵信息的二部图,所述二部图包括多个列变量节点和多个行变量节点;
提取所述二部图中各个列变量节点和/或行变量节点的特征,得到所述各个列变量节点和/或行变量节点对应的嵌入表示;
基于所述各个列变量节点和/或行变量节点对应的嵌入表示,确定所述多个列变量和/或多个行变量对应的多个嵌入表示。
3.根据权利要求1或2所述的方法,其特征在于,所述将所述多个嵌入表示输入指针神经网络,得到多个所述嵌入表示的排序,包括:
将所述多个嵌入表示划分为多组嵌入表示;
对所述多组嵌入表示中各组嵌入表示进行池化操作,得到多个池化特征;
将所述多个池化特征输入所述指针神经网络,得到所述多个池化特征的排序;
基于所述多个池化特征的排序,确定所述多个嵌入表示的排序。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述基于所述多个嵌入表示的排序,对所述业务模型的结构进行优化,包括:
基于所述多个嵌入表示的排序,对所述矩阵信息中多个列变量和/或多个行变量进行排序,得到优化后的矩阵信息;
基于所述优化后的矩阵信息,确定优化后的业务模型的结构信息。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述图神经网络为图卷积神经网络。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述图神经网络和所述指针神经网络基于强化学习或监督学习训练得到。
7.一种模型结构的优化装置,其特征在于,包括:
获取模块,用于获取待优化的业务模型的结构信息,所述业务模型基于目标业务的业务数据中的决策特征、约束条件和业务目标确定,所述结构信息包括所述业务模型对应的矩阵信息,所述矩阵信息包括多个列变量和多个行变量,所述列变量表征了所述业务模型的变量,所述变量基于所述业务数据中的决策特征确定,所述行变量表征了所述业务模型的约束,所述约束基于所述约束条件确定;
嵌入表示提取模块,用于将所述矩阵信息输入图神经网络,得到所述多个列变量和/或多个行变量对应的多个嵌入表示;
排序模块,用于将所述多个嵌入表示输入指针神经网络,得到所述多个嵌入表示的排序;
优化模块,基于所述多个嵌入表示的排序,对所述业务模型的结构进行优化,优化后的所述业务模型用于输入求解器,得到所述目标业务在实现最优所述业务目标时对应的决策。
8.根据权利要求7所述的装置,其特征在于,所述嵌入表示提取模块具体用于,确定所述矩阵信息的二部图,所述二部图包括多个列变量节点和多个行变量节点;
提取所述二部图中各个列变量节点和/或行变量节点的特征,得到所述各个列变量节点和/或行变量节点对应的嵌入表示;
基于所述各个列变量节点和/或行变量节点对应的嵌入表示,确定所述多个列变量和/或多个行变量对应的多个嵌入表示。
9.根据权利要求7或8所述的装置,其特征在于,所述排序模块具体用于,将所述多个嵌入表示划分为多组嵌入表示;
对所述多组嵌入表示中各组嵌入表示进行池化操作,得到多个池化特征;
将所述多个池化特征输入所述指针神经网络,得到所述多个池化特征的排序;
基于所述多个池化特征的排序,确定所述多个嵌入表示的排序。
10.根据权利要求7-9任一项所述的装置,其特征在于,所述优化模块具体用于,基于所述多个嵌入表示的排序,对所述矩阵信息中多个列变量和/或多个行变量进行排序,得到优化后的矩阵信息;
基于所述优化后的矩阵信息,确定优化后的业务模型的结构信息。
11.根据权利要求7-10任一项所述的装置,其特征在于,所述图神经网络为图卷积神经网络。
12.根据权利要求9-11任一项所述的装置,其特征在于,所述图神经网络和所述指针神经网络基于强化学习或监督学习训练得到。
13.一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有指令,当所述指令被处理器执行时,使得如权利要求1-6任一项所述的方法被实现。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,当所述计算机程序在被处理器执行时,使得如权利要求1-6任一项所述的方法被实现。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210018436.8A CN116468099A (zh) | 2022-01-07 | 2022-01-07 | 一种模型结构的优化方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210018436.8A CN116468099A (zh) | 2022-01-07 | 2022-01-07 | 一种模型结构的优化方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116468099A true CN116468099A (zh) | 2023-07-21 |
Family
ID=87173989
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210018436.8A Pending CN116468099A (zh) | 2022-01-07 | 2022-01-07 | 一种模型结构的优化方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116468099A (zh) |
-
2022
- 2022-01-07 CN CN202210018436.8A patent/CN116468099A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhou et al. | Multi-population parallel self-adaptive differential artificial bee colony algorithm with application in large-scale service composition for cloud manufacturing | |
Kumar et al. | A hybrid multi-agent based particle swarm optimization algorithm for economic power dispatch | |
Tosun et al. | A robust island parallel genetic algorithm for the quadratic assignment problem | |
CN111427750B (zh) | 一种计算机平台的gpu功耗估计方法、系统及介质 | |
CN109145342A (zh) | 自动布线系统及方法 | |
CN117236278B (zh) | 一种基于数字孪生技术的芯片生产仿真方法及系统 | |
Mishra et al. | A review of random test case generation using genetic algorithm | |
Wang et al. | A data‐driven probabilistic power flow method based on convolutional neural networks | |
CN106599610A (zh) | 预测长链非编码rna和蛋白质联系的方法及系统 | |
KR20220009682A (ko) | 분산 기계 학습 방법 및 시스템 | |
CN116799796A (zh) | 一种光伏发电功率预测方法、装置、设备及介质 | |
Yang et al. | Prediction of equipment performance index based on improved chaotic lion swarm optimization–LSTM | |
Li et al. | Accurate and efficient processor performance prediction via regression tree based modeling | |
CN116468099A (zh) | 一种模型结构的优化方法及装置 | |
Dufek et al. | Data-driven symbolic ensemble models for wind speed forecasting through evolutionary algorithms | |
CN116303219A (zh) | 一种网格文件的获取方法、装置及电子设备 | |
CN116011681A (zh) | 一种气象数据预测方法、装置、存储介质及电子装置 | |
Lotov et al. | Launch pad method in multiextremal multiobjective optimization problems | |
CN108596781A (zh) | 一种电力系统数据挖掘与预测整合方法 | |
Xue et al. | An improved extreme learning machine based on variable-length particle swarm optimization | |
CN115275975A (zh) | 一种光储充电站电力数据匹配度的确定方法及装置 | |
CN112070200B (zh) | 一种谐波群优化方法及其应用 | |
CN113822441A (zh) | 决策模型训练方法、装置、终端设备及存储介质 | |
He et al. | An improved method for nonlinear parameter estimation: a case study of the Rössler model | |
CN117892667B (zh) | 运算器芯片设置方法、计算子系统以及智能计算平台 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |