CN114581220A - 数据处理方法、设备及分布式计算系统 - Google Patents

数据处理方法、设备及分布式计算系统 Download PDF

Info

Publication number
CN114581220A
CN114581220A CN202210480897.7A CN202210480897A CN114581220A CN 114581220 A CN114581220 A CN 114581220A CN 202210480897 A CN202210480897 A CN 202210480897A CN 114581220 A CN114581220 A CN 114581220A
Authority
CN
China
Prior art keywords
constraint
optimization
optimization model
original
target
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.)
Granted
Application number
CN202210480897.7A
Other languages
English (en)
Other versions
CN114581220B (zh
Inventor
简道红
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202210480897.7A priority Critical patent/CN114581220B/zh
Publication of CN114581220A publication Critical patent/CN114581220A/zh
Application granted granted Critical
Publication of CN114581220B publication Critical patent/CN114581220B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/03Credit; Loans; Processing thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/04Constraint-based CAD
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/10Internal combustion engine [ICE] based vehicles
    • Y02T10/40Engine management systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Physics & Mathematics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Human Resources & Organizations (AREA)
  • Development Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Technology Law (AREA)
  • Game Theory and Decision Science (AREA)
  • Computer Hardware Design (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本说明书实施例提供一种数据处理方法、设备、分布式计算系统。在对原始优化问题进行求解时,用户仅需基于待解决的原始优化问题构建原始优化模型,然后可以基于用户构建的原始优化模型、该原始优化模型对应的约束条件、以及原始优化问题有关的业务数据自动构建出目标优化模型,该目标优化模型的优化目标与原始优化模型的优化目标等价,从而可以通过求解该目标优化模型得到原始优化模型中各决策变量的优化结果,由于该目标优化模型可以分解成多个子模型后再并行求解,因而,可以大大提高业务问题的处理效率,并且无需用户手动进行模型的转换,提高了最终获得的优化结果的准确性。

Description

数据处理方法、设备及分布式计算系统
技术领域
本说明书涉及数据处理技术领域,尤其涉及数据处理方法、设备及分布式计算系统。
背景技术
针对很多业务场景中的优化问题,都可以构建优化模型来进行决策,得到优化问题中的各个决策变量的最优结果。由于有些场景,构建的优化模型涉及到的数据量较大,优化模型中包含的决策变量多达数亿,采用常规的求解器通常无法求解或者求解速度很慢。因而,针对上述业务场景中的优化问题,有必要提供一种提升处理效率的方案。
发明内容
基于此,本说明书实施例提供了数据处理方法、设备及分布式计算系统。
根据本说明书实施例的第一方面,提供一种数据处理方法,所述方法包括:
获取用户提交的处理请求,所述处理请求中包括基于原始优化问题构建的原始优化模型、所述原始优化模型对应的约束条件以及与所述原始优化问题有关的业务数据;
基于所述原始优化模型、所述业务数据、以及所述约束条件构建目标优化模型,所述目标优化模型的优化目标与所述原始优化模型的优化目标等价,所述目标优化模型可分解成多个可并行求解的子模型;
基于所述子模型确定所述原始优化模型中的决策变量的优化结果,并将所述优化结果返回给用户。
根据本说明书实施例的第二方面,提供一种分布式计算系统,包括第一节点和若干个工作节点,
每个所述工作节点用于执行上述第一方面所述的方法;
所述第一节点用于在每个所述工作节点构建所述目标优化模型后,协助所述工作节点确定各工作节点构建的目标优化模型中的变量的优化结果,其中,所述业务数据为与所述原始优化问题相关的原始业务数据的一个数据分片,每个所述工作节点构建的目标优化模型中包括所述原始优化问题的部分决策变量,以及在所述目标优化模型并入所述约束条件时引入的目标变量。
根据本说明书实施例的第三方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述第一方面所述的方法。
根据本说明书实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被计算机执行时实现上述第一方面所述的方法。
应用本说明书实施例方案,在对原始优化问题进行求解时,用户仅需基于待解决的原始优化问题构建原始优化模型,然后可以基于用户构建的原始优化模型、该原始优化模型对应的约束条件、以及原始优化问题有关的业务数据自动构建出目标优化模型,该目标优化模型的优化目标与原始优化模型的优化目标等价,从而可以通过求解该目标优化模型得到原始优化模型中各决策变量的优化结果,由于该目标优化模型可以分解成多个子模型后再并行求解,因而,可以大大提高业务问题的处理效率,并且无需用户手动进行模型的转换,提高了最终获得的优化结果的准确性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。
图1是本说明书一个实施例的一种数据处理方法的流程图。
图2是本说明书一个实施例的一种数据处理方法的示意图。
图3是本说明书一个实施例的一种分布式计算系统的示意图。
图4是本说明书一个实施例的一种分布式计算系统的示意图。
图5是本说明书一个实施例的一种分布式计算系统的示意图。
图6是本说明书一个实施例的用于实施本说明书方法的计算机设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
针对很多业务场景中涉及的优化问题,都可以构建优化模型来进行决策,得到优问题中的各个决策变量的最优结果。比如,在资源分配的场景,通常需要将有限的资源分配给多个资源接收方,各资源接收方可以利用分配的资源创造收益,因而需要确定一种资源分配方式,在遵循相应的限制条件的前提下,使得各资源接收方基于分配的资源创造的收益最高。针对这种业务场景,可以将各资源接收方分配到的资源作为决策变量、总收益最大化作为优化目标,构建优化模型,资源分配过程中需遵循的一些限制条件,作为该优化模型的约束条件,然后可以求解该优化模型,确定各决策变量的优化结果。
由于有些场景,用户基于业务场景中的原始优化问题构建的原始优化模型涉及到的数据量较大,原始优化模型中包含的决策变量多达数亿,采用常规的求解器通常无法求解或则求解速度很慢。因而,可以通过一些特定的算法,将原始优化模型的优化目标拆分成多个子目标,然后并行求解这些子目标,通过这种方式,可以使得比较复杂,决策变量较多的优化模型的求解速度加快,提升处理效率。但是,在利用这些特定的算法求解原始优化模型时,一般需要先将优化模型转换成指定形式的模型,再利用上述算法求解。
以ADMM算法Alternating Direction Method of Multipliers,交换方向乘子法)为例,ADMM算法可用于求解可分解凸优化问题,适用于大规模的优化问题的求解,利用ADMM算法可以将原始的优化问题等价的分解成若干个可求解的子问题,然后并行求解每一个子问题,最后协调子问题的解得到原优化问题的全局解。但是利用ADMM算法可求解模型通常是指定形式的模型,比如,一般基于业务的原始优化问题构建的原始优化模型通常都是带约束条件的,需要将该原始优化模型转换成等价的不带约束条件的目标优化模型,比如,增拉格朗日函数,再进行求解。
在利用诸如ADMM算法等类似算法求解业务优化问题时,容易想到的一种方式是由用户手动完成优化模型形式的转换,比如,用户在基于业务的原始优化问题构建优化模型时,即需要将优化模型构建成算法可求解的模型,这种方式比较繁琐,使得业务问题的处理效率较低,要求用户既要对业务的原始优化问题比较了解,也要对算法的实现原理比较了解,并且容易出错。
基于此,本申请提供了一种数据处理方法,在对原始优化问题进行求解时,用户仅需基于待解决的原始优化问题构建原始优化模型,然后由执行该方法的设备基于用户构建的原始优化模型、该原始优化模型对应的约束条件、以及原始优化问题有关的业务数据自动构建出目标优化模型,该目标优化模型的优化目标与原始优化模型的优化目标等价,从而可以通过求解该目标优化模型得到原始优化模型中各决策变量的优化结果,由于该目标优化模型可以分解成多个子模型后再并行求解,因而,可以大大提高业务问题的处理效率,并且无需用户手动进行模型的转换,提高了最终获得的优化结果的准确性。
本说明书实施例提供的数据处理方法可以由任意电子设备执行。比如,可以是电脑、服务器、服务器集群、或者服务器集群中的某个计算节点。本公开实施例不做限制。
如图1所示,为本说明书实施例的数据处理方法的流程图,如图2所示,为本说明书实施例的数据处理方法的示意图。
具体的,如图1所示,本说明书实施例提供的数据处理方法可以包括以下步骤:
S102、获取用户提交的处理请求,所述处理请求中包括基于原始优化问题构建的原始优化模型、所述原始优化模型对应的约束条件以及与所述原始优化问题有关的业务数据;
在步骤S102中,可以获取用户提交的处理请求,该处理请求中包括用户根据业务场景中待优化的原始优化问题构建的原始优化模型、该原始优化模型对应的约束条件、以及与该原始优化问题有关的业务数据。其中,该原始优化问题可以是各业务领域涉及的优化问题,该原始优化问题可以是线性规划问题或者非线性规划问题。
比如,在一些场景,可以向用户提供一交互界面,用户可以通过交互界面定义原始优化模型中的各决策变量、优化目标、以及原始优化模型对应的约束条件等。其中,原始优化模型和约束条件可以以各种形式表示,比如,可以是条件、公式等,本申请不做限制。用户构建的原始优化模型可以仅仅是模型的表达式,约束条件也可以是约束条件的表达式,即模型和约束条件中仅包含参数的类型,参数具体的数值需从业务数据中提取。
同时,用户可以通过交互界面导入与该原始优化问题相关的业务数据,该业务数据可以是与原始优化问题相关的所有业务数据,比如,业务数据中包含了与原始优化模型所有决策变量相关的数据,业务数据也可以是与业务问题相关的部分业务数据,比如,业务数据中仅包含了与原始优化模型中的部分决策变量相关的数据。
举个例子,通常用户需要向银行贷款,银行会根据用户的风险等级来确定每个用户的贷款额度。假设有2亿个用户,用i表示,需要向10家银行贷款,用j表示。每家银行会对每个用户进行贷款评估,确定一个通过率,用pij表示,每个用户有额度限制,用ai表示,每个用户有风险等级,用ri表示,每家银行有风险金额上限控制,记为Rj。假设现在需要决策每家银行向每个用户审批多少贷款额度,记为xij,目标是最大化通过率(即希望用户能最大化审批额度)。
那么用户可以构建原始优化模型,原始优化模型的决策变量为每家银行向每个用户审批多少贷款额度,优化目标为审批额度最大化,原始优化模型的约束条件有2种:(1)每个用户的贷款额度不能超过上限,(2)每个银行的风险金额不能超过上限,原始优化模型可以用如下公式(1)表示:
Figure 495405DEST_PATH_IMAGE001
公式(1)
原始优化模型对应的约束条件可以用公式(2)表示:
Figure 436816DEST_PATH_IMAGE002
Figure 487949DEST_PATH_IMAGE003
公式(2)
用户可以通过交互界面定义上述原始优化模型,以及约束条件,同时,用户还可以导入与该原始优化问题有关的业务数据,比如,用户信息(各用户的风险等级、每家银行对各用户的贷款评估通过率等),银行信息(比如,每家银行的风险金额上限等)。
S104、基于所述原始优化模型、所述业务数据、以及所述约束条件构建目标优化模型,所述目标优化模型的优化目标与所述原始优化模型的优化目标等价,所述目标优化模型可分解成多个可并行求解的子模型;
在获取到用户输入的原始优化模型、所述业务数据、以及所述约束条件后,即可以根据用户输入的原始优化模型、业务数据、以及约束条件构建目标优化模型。比如,可以基于原始优化模型、业务数据以及约束条件确定目标优化模型的各决策变量以及优化目标,将约束条件合并到原始优化模型中,构建一个不带约束的目标优化模型。
其中,目标优化模型的优化目标与原始优化模型的优化目标等价,即通过确定目标优化模型中各决策变量的优化结果,即可以得到原始优化模型中各决策变量的优化结果。此外,目标优化模型可以分解成多个子模型,多个子模型可以并行求解,从而通过将原始优化模型转换成目标优化模型后,将目标优化模型拆分成多个子模型再并行求解,相比于直接求解原始优化模型,可以大大提高处理效率。
S106、基于所述子模型确定所述原始优化模型中的决策变量对应的优化结果,并将所述优化结果返回给用户。
在步骤S106中,在构建得到目标优化模型后,可以将目标优化模型分解成多个子模型,然后对多个子模型并行求解,并综合各子模型的求解结果得到目标优化模型的求解结果,最终即可以基于目标优化模型的求解结果确定用户构建的原始优化模型中各决策变量的优化结果。
本说明书实施例提供的数据处理方法,通过将原始的优化模型转换成可拆分求解的目标优化模型,从而在求解过程中,可以将目标优化模型拆分成多个子模型后再并行求解,可以大大提高处理效率。
在一些实施例中,由于在求解目标优化模型时,需得到原始优化模型中各决策变量的优化结果,因而,目标优化模型的决策变量中需包含原始优化模型中的决策变量,所以,在构建目标优化模型时,可以基于业务数据确定和原始优化模型中的决策变量相关的项,以下称为决策变量项,将其作为目标优化模型的一部分。同时,由于目标优化模型为不带约束条件的模型,因而,还可以基于原始优化模型的约束条件和业务数据确定与约束条件有关的项,以下称为约束项,然后根据决策变量项和约束项构建目标优化模型。
在一些实施例中,在基于业务数据确定与原始优化模型中的决策变量相关的决策变量项时,可以从业务数据中提取原始优化模型中的决策变量对应的系数,利用这些系数构建系数矩阵。其中,业务数据可以包括与原始优化问题中的全部决策变量相关的数据,也可以仅包括与部分决策变量相关的数据,因而,从业务数据提取的系数可以是全部决策变量的系数,也可以是部分决策变量的系数。利用抽取的系数构建的系数矩阵的维度为N×1,N表示该业务数据中包括的决策变量的数量,矩阵中元素为各决策变量对应的系数。然后利用系数矩阵和该业务数据包括的决策变量即可以得到决策变量项。
举个例子,以上述银行向用户审批贷款的场景为例,原始优化模型可以采用如下公式(1)表示:
Figure 882021DEST_PATH_IMAGE001
即原始优化模型中决策变量为每个银行对每个用户的贷款额度
Figure 840750DEST_PATH_IMAGE004
,决策变量的系数为每家银行对各用户的贷款评估通过率
Figure 902247DEST_PATH_IMAGE005
,假设业务数据为100个用户对应的10家银行的相关数据,因而,业务数据中包括的决策变量有1000个,然后可以从业务数据中提取这个1000个决策变量的系数
Figure 655439DEST_PATH_IMAGE005
,得到系数矩阵Q=[
Figure 802387DEST_PATH_IMAGE006
Figure 33648DEST_PATH_IMAGE007
、…],然后可以确定决策变量项Q
Figure 949651DEST_PATH_IMAGE004
在一些实施例中,在基于业务数据以及约束条件确定原始优化模型的约束项时,可以从业务数据中提取各约束条件中的决策变量对应的系数,构建第一约束矩阵,其中,从业务数据中提取的决策变量的系数可以是原始优化模型中的部分决策变量的系数,也可以全部决策变量的系数,具体可根据业务数据中包含的决策变量决定。基于提取的约束条件中决策变量的系数构建的第一约束矩阵为M×N维的矩阵,M表示约束条件的个数,N表示业务数据中包含的决策变量的数量,该矩阵中第i行第j列的元素表示第i个约束条件中的第j个决策变量对应的系数。
此外,可以提取每个约束条件中对应的限制值,即约束等式或不等式右侧的数值,然后可以基于该限制值构建第二约束矩阵,第二约束矩阵为M×1维的矩阵,M表示约束条件的个数,矩阵中元素为各约束条件对应的限制值。
然后可以基于第一约束矩阵、第二约束矩阵和业务数据中包含的决策变量构建约束项。
在一些实施例中,如果约束条件包括等式约束条件和不等式约束条件,那么等式约束条件和不等式约束条件可以分开构建对应的约束项。比如,可以基于所有的等式约束条件构建等式约束项,然后基于所有的不等式约束条件构建不等式约束项。
举个例子,以上述银行向用户审批贷款的场景为例,原始优化模型包括两个不等式约束条件,具体如下:
Figure 873745DEST_PATH_IMAGE002
Figure 507989DEST_PATH_IMAGE003
其中,在第一个约束条件中,每个决策变量的系数为1,在第二个约束条件中,每个决策变量的系数为每个用户的风险等级
Figure 542941DEST_PATH_IMAGE008
,假设业务数据中包含10个用户和10家银行的数据,即业务数据中包括100个决策变量,可以从业务数据中确定这100个决策变量中的每个决策变量对应的系数
Figure 44942DEST_PATH_IMAGE008
,然后可以基于提取到的系数构建第一约束矩阵,其中,第一约束矩阵为2×100的矩阵,可以表示为A :
Figure 139937DEST_PATH_IMAGE009
。然后可以从业务数据中提取上述各约束条件对应的限制值,比如,从约束条件
Figure 261476DEST_PATH_IMAGE010
中提取
Figure 100119DEST_PATH_IMAGE011
,从约束条件
Figure 725136DEST_PATH_IMAGE012
中提取
Figure 256611DEST_PATH_IMAGE013
,构建第二约束矩阵A ’:(
Figure 599868DEST_PATH_IMAGE011
Figure 507781DEST_PATH_IMAGE013
)。然后可以基于该第一约束矩阵、第二约束矩阵、以及业务数据中的变量得到约束项:A
Figure 534774DEST_PATH_IMAGE014
同理,如果约束条件中包含等式约束条件,也可以基于业务数据和等式约束条件构建等式约束项,具体的构建方法可以参考上述步骤,在此不再赘述。
在一些实施例中,在确定决策变量项和约束项后,可以基于决策变量项和约束项构建目标优化模型。比如,可以在每个约束项中增加对偶变量,然后与决策变量项求和,得到所述目标优化模型,其中,该对偶变量也是目标优化模型在求解过程中的一个变量。
在一些实施例中,在构建目标优化模型时,还可以在模型中添加一个惩罚项,比如,可以构建一个包括对角矩阵的二次惩罚项,该对角矩阵的元素为指定变量,然后基于添加有对偶变量的约束项、决策项以及该二次惩罚项构建目标优化模型,比如,可以将上述项求和得到该目标优化模型,其中,构建的目标优化模型的变量除了包括原始优化模型的决策变量,还引入了新的变量:对偶变量以及该二次惩罚项中的指定变量。
在一些实施例中,由于原始优化问题涉及的原始业务数据的数量较大,包含的决策变量较多,为了提高处理效率,可以将原始业务数据划分成多个数据分片,每个数据分片包括部分决策变量,然后可以基于每个数据分片构建一个目标优化模型,通过确定这些目标优化模型确定原始优化问题中的各决策变量的优化结果。其中,每个目标优化模型的构建可以采用分布式计算系统的各个节点来完成。
在一些实施例中,原始优化问题可以是资源分配问题,用于在满足约束条件的情况下将目标数量的待分配资源分配给多个资源接收方,使得多个资源接收方利用分配的资源获得的收益最大化。
比如,待分配资源可以是用户待投资的金额、资源接收方可以是各理财产品(比如,基金、股票等),决策变量可以是分配给每个理财产品的投资金额,优化目标是各理财产品的累加收益最高,约束条件可以是分配到各理财产品的投资金额的总和等于待投资的总金额,用户投资各理财产品引起的风险不超过用户能承受的风险等级等。
再比如,待分配的资源可以是用于某个营销活动的优惠券的总金额,资源接收方可以是各用户账户,决策变量可以是分配到各个用户账户的优惠券金额,优化目标是用户对这些优惠券的转化率最大(即用户使用的优惠券金额和总金额比例),约束条件是分配到各个用户账户的优惠券金额总和等于总金额等及其他一些营销活动中的限制条件。
在一些场景,由于原始优化问题涉及的原始业务数据的数量较大,包含的决策变量较多,为了提高处理效率,可以将原始业务数据划分成多个数据分片,每个数据分片包括部分决策变量,然后可以基于每个数据分片构建一个目标优化模型,通过确定这些目标优化模型确定原始优化问题中的各决策变量的优化结果。其中,为了提高处理速度,可以采用分布式计算系统来实现目标优化模型的构建,比如,可以采用分布式计算系统的每个节点基于数据分片构建该数据分片对应的目标优化模型。
基于此,本说明书实施例还提供了一种分布式计算系统,如图3所示,该分布式计算系统包括第一节点和若干个工作节点,其中,每个工作节点用于执行上述基于业务数据、原始优化模型和约束条件构建目标优化模型的步骤,其中,每个工作节点获取的业务数据为与所述原始优化问题相关的原始业务数据的一个数据分片,每个所述工作节点构建的目标优化模型中包括该原始优化问题的部分决策变量以及除该部分决策变量以外的目标变量,目标变量为将约束条件耦合到原始优化模型中新增的一些变量。该第一节点用于在每个工作节点构建目标优化模型后,协助各工作节点确定构建的目标优化模型中的变量的优化结果。
由于目标优化模型在求解过程中,需要多轮迭代求解,而在迭代求解目标优化模型的过程中涉及的计算量较大,采用目前的master-slave框架分布式计算框架求解处理速度比较慢。
因而,在一些实施例中,提供了一种新的分布式计算框,在原有的master-slave(主从模式)的分布式计算框架下,增加了计算能力较高的算子节点,利用该算子节点来处理迭代求解目标优化模型过程中,一些计算量较大,处理较为耗时的任务,从而提高处理效率。此外,通过基于原始优化问题构建多个目标优化模型,每个目标优化模型包括原始优化问题的一部决策变量,然后利用多个工作节点来求解这些目标优化模型,相当于将原始优化问题的决策变量分配到不同工作节点中进行求解,也可以大大提高处理效率。
如图4所示,该分布式计算系统中的第一节点可以包括主节点、算子节点。主节点、算子节点和工作节点可以运行在物理机上,也可以运行在虚拟机上。这些节点可以运行于不同的物理机上,也可以运行于相同的物理机上。其中,算子节点可以采用计算能力较高的节点,以专门处理求解目标优化模型过程中一些计算量大,较为耗时的计算任务。
该分布式计算系统可以用于确定原始优化问题中的各决策变量的优化结果。其中,该原始优化问题可以是各种业务场景下的优化问题,比如,可以是投资理财场景中,如何将有限的投资金额分配到多个理财产品中,使得理财收益最高的优化问题,也可以是在确定银行给每个用户的贷款额度,使得银行对所有用户的审批额度最大化的优化问题。具体可以基于实际的业务场景和业务需求设置,本说明书实施例不做限制。
其中,为了提高处理效率,在针对该原始优化问题构建优化模型时,可以构建多个可以并行求解的目标优化模型,每个目标优化模型中包含该原始优化问题的一部分决策变量。比如,可以将原始优化问题相关的业务数据划分成多个数据分片,每个数据分片为与原始优化问题的部分决策变量有关的数据,然后基于每个数据分片、原始优化问题的优化目标以及约束条件构建目标优化模型。在求解目标优化模型的过程中,分布式计算系统中的每个工作节点可以对应一个目标优化模型,用于求解该目标优化模型中的决策变量。此外,由于目标优化模型中耦合了原始优化问题的约束条件,因而目标优化模型中的变量除了原始优化问题的决策变量以外,还包括在耦合约束条件过程中新增的一些目标变量(比如,对偶变量等)。在求解目标优化模型时,可以迭代执行固定目标变量,求解决策变量,以及固定决策变量,求解目标变量的步骤。
在求解目标优化模型的过程中,主节点、算子节点以及每个工作节点可以迭代执行以下步骤,以确定目标优化模型中的各决策变量的优化结果。
比如,在完成第K轮迭代后,主节点可以判定迭代任务是否可以终止,如果还未终止,主节点可以向算子节点发送指示迭代任务未终止的指示信息,以便开始新的一轮迭代计算。
算子节点在接收到主节点发送的指示信息后,可以根据每个工作节点在上一轮迭代(第K轮)确定的各决策变量的优化结果,以及原始优化问题对应的约束条件确定约束误差。然后将约束误差发送给主节点。同时,算子节点会基于约束误差确定目标模型中的目标变量的优化结果,并发送给每个工作节点。
每个工作节点在接收到算子节点发送的目标变量的优化结果后,利用接收到的目标变量的优化结果更新该工作节点对应的目标优化模型,并确定更新后的目标优化模型中各决策变量的优化结果,以便算子节点在下一轮迭代时使用。
主节点在接收到算子节点发送的约束误差后,基于该约束误差确定是否终止迭代任务,并通知算子节点。比如,在一些实施例中,主节点可以比较当前一轮迭代确定的约束误差与上一轮确定的约束误差,如果约束误差小于预设阈值,则认为可以终止迭代流程。在一些实施例中,主节点也可以判定连续多轮迭代确定的约束误差是否发生变化确定是否终止迭代流程,比如,如果连续三轮迭代确定的约束误差都未改变,则可以终止迭代流程。在一些实施例中,主节点可以在判定迭代次数达到预设次数后,确定终止迭代流程。具体可以根据实际需求设置,本说明书实施例不做限制。
主节点、算子节点以及工作节点均重复以上步骤,直至迭代任务终止。然后将最后得到的各决策变量的优化结果作为该原始优化问题的最优解。
为了便于理解,以下结合一个例子解释上述迭代求解的流程,假设原始优化问题中包含的决策变量为
Figure 705992DEST_PATH_IMAGE015
Figure 270966DEST_PATH_IMAGE016
、…
Figure 451411DEST_PATH_IMAGE017
,其对应的一个约束条件为
Figure 42231DEST_PATH_IMAGE018
,分布式计算系统一共包含5个工作节点,每个工作节点上的目标优化模型对应的函数一致,只是决策变量不一样。比如,
各工作节点上的目标优化模型可以统一表示成如下:
Figure 649930DEST_PATH_IMAGE019
其中,
Figure 967779DEST_PATH_IMAGE020
为目标变量,工作节点w1中的目标优化模型包含的决策变量
Figure 951915DEST_PATH_IMAGE015
-
Figure 406030DEST_PATH_IMAGE021
、工作节点w2中的目标优化模型包含的决策变量
Figure 450210DEST_PATH_IMAGE021
-
Figure 255355DEST_PATH_IMAGE022
、工作节点w3中的目标优化模型包含的决策变量
Figure 43182DEST_PATH_IMAGE022
-
Figure 617383DEST_PATH_IMAGE023
、工作节点w4中的目标优化模型包含的决策变量
Figure 566884DEST_PATH_IMAGE024
-
Figure 593746DEST_PATH_IMAGE025
、工作节点w5中的目标优化模型包含的决策变量
Figure 185265DEST_PATH_IMAGE025
-
Figure 613972DEST_PATH_IMAGE017
主节点在确定还需继续迭代流程后,可以通知算子节点,算子节点可以基于各工作节点在上一轮迭代确定的各决策变量的数值,确定约束误差。比如,工作节点1在上一轮迭代可以确定决策变量
Figure 734375DEST_PATH_IMAGE015
-
Figure 514112DEST_PATH_IMAGE021
的数值,然后根据约束条件
Figure 643742DEST_PATH_IMAGE018
确定决策变量
Figure 926956DEST_PATH_IMAGE015
-
Figure 749418DEST_PATH_IMAGE021
对应的约束值(
Figure 485293DEST_PATH_IMAGE026
),并将计算的约束值发送给算子节点,其他节点类似。
算子节点在接收到各工作节点发送的约束值之后,可以将约束值累加,得到
Figure DEST_PATH_IMAGE027
,然后可以计算
Figure 887455DEST_PATH_IMAGE028
的绝对值,作为约束误差。然后可以基于约束误差确定目标优化模型中的目标变量的优化结果,进而将确定目标变量的优化结果发送给工作节点,并且算子节点还可以将约束误差发送给主节点。
工作节点在接收到算子节点发送的目标变量的优化结果后,可以利用接收到的目标变量的优化结果替换目标优化模型中原来的目标变量的数值,对目标模型进行更新,然后对更新后的目标优化模型进行求解,得到该目标优化模型中各决策变量在当前一轮迭代的数值。其中,对目标优化模型求解的过程中,可以采用ADMM算法,或者具有类似功能的算法,本说明书实施例不做限制。
主节点在接收到算子节点发送的约束误差后,可以基于约束误差判定是否结束迭代。如果确定不结束,则通知算子节点,以便算子节点继续下一轮迭代流程。
在一些实施例中,算子节点在基于每个工作节点上一轮迭代确定的各决策变量的优化结果,以及原始优化问题的约束条件确定约束误差时,存在两种方式,一种方式是由每个工作节点对上一轮更新后的目标优化模型进行求解,得到该目标优化模型中各决策变量在上一轮迭代后的优化结果,然后直接将优化结果发送给算子节点,算子节点在接收到各工作节点发送的决策变量的优化结果后,可以将各决策变量的优化结果代入到约束条件中,确定约束误差。比如,在上述例子中,工作节点1可以将决策变量
Figure 290755DEST_PATH_IMAGE015
-
Figure 110550DEST_PATH_IMAGE021
在上一轮迭代确定的数值发送给算子节点,其余工作节点类似。算子节点在接收到5个工作节点发送的决策变量
Figure 802563DEST_PATH_IMAGE015
-
Figure 8416DEST_PATH_IMAGE017
后,可以代入上述约束条件
Figure 266222DEST_PATH_IMAGE027
中,然后可以计算
Figure 899329DEST_PATH_IMAGE028
的绝对值,作为约束误差。
在另一种方式中,可以由每个工作节点对上一轮更新后的目标优化模型进行求解,得到该目标优化模型中各决策变量在上一轮迭代后的优化结果,然后每个工作节点基于各决策变量的优化结果和约束条件确定约束值,再将约束值发送给算子节点,由算子节点累计各工作节点发送的约束值,得到累计结果,再基于累计结果和约束条件确定约束误差。比如,工作节点1在上一轮迭代可以确定决策变量
Figure 878305DEST_PATH_IMAGE029
-
Figure 887849DEST_PATH_IMAGE030
的数值,然后根据约束条件
Figure 161DEST_PATH_IMAGE031
确定决策变量
Figure 335328DEST_PATH_IMAGE029
-
Figure 533091DEST_PATH_IMAGE030
对应的约束值(
Figure 346326DEST_PATH_IMAGE032
),并将计算的约束值发送算子节点,给其他节点类似。算子节点在接收到各工作节点发送的约束之后,可以将约束值累加,得到
Figure 578724DEST_PATH_IMAGE033
,然后可以计算
Figure 819213DEST_PATH_IMAGE034
的绝对值,作为约束误差。
第二种方式中由工作节点基于各决策变量的优化结果和约束条件确定约束值后,再发送给算子节点,可以减少算子节点和工作节点之间的数据传输量。
在一些实施例中,算子节点除了计算约束误差和目标变量的优化结果,还用于记录主节点和工作节点在当前一轮迭代任务的完成情况。比如,算子节点在接收到所有工作节点发送的当前一轮的决策变量的优化结果,或者决策变量对应的约束值后,即可以将工作节点的状态标记为已完成状态。同时,算子节点在接收到主节点的提示是否停止迭代流程的指示信息后,即可以将主节点的工作状态标记为已完成状态。从而工作节点可以通过算子节点中的工作状态信息确定主节点当前一轮迭代任务是否完成,主节点也可以通过算子节点中记录的状态信息确定工作节点当前一轮迭代任务是否完成。
在一些实施例中,所述主节点在通知算子节点迭代任务未终止后,算子节点和工作节点可以继续进行下一轮的迭代,此时,主节点在等待下一轮的约束误差的同时,还可以执行一些与迭代任务无关的任务。比如,主节点可以将从算子节点获取的各轮迭代确定的约束误差记录到报表中,并展示给用户,或者主节点可以执行一些其他的调度任务。
在一些实施例中,在构建目标优化模型时,可以利用对偶变量将原始优化问题的约束条件耦合到原始优化问题对应原始优化模型中,得到该目标优化模型中,因此,该目标变量可以是该对偶变量。其中,如果原始优化问题中的约束条件包括等式约束条件和非等式约束条件,那么等式约束条件和不等式约束条件可以各利用一个对偶变量耦合到原始优化模型中,即目标变量可以包括两个或多个对偶变量。
在一些实施例中,在构建目标优化模型时,除了将约束条件耦合到原始优化模型中,还可以在原始优化模型中加入了包含指定变量的二次惩罚项。因此,目标变量还可以是该二次惩罚项中的指定变量。在一些实施例中,原始优化问题的约束条件可以包括等式约束条件和不等式约束条件,算子节点在基于各工作节点上一轮迭代确定的各决策变量的优化结果以及原始优化问题的约束条件确定约束误差时,可以基于各工作节点上一轮迭代确定的各决策变量的优化结果以及等式约束条件确定等式约束误差,比如,假设等式约束条件为
Figure 504272DEST_PATH_IMAGE035
,在确定各决策变量的数值后,可以将决策变量的数值代入上述约束条件中,确定
Figure 262144DEST_PATH_IMAGE036
的绝对值作为约束误差。
此外,也可以基于各工作节点上一轮迭代确定的各决策变量的优化结果以及不等式约束条件确定不等式约束误差。比如,假设不等式约束条件为
Figure 349048DEST_PATH_IMAGE037
,在确定各决策变量的数值后,可以将决策变量的数值代入上述约束条件中,确定
Figure 494859DEST_PATH_IMAGE038
的绝对值作为约束误差。
以下结合一个具体的实施例来解释本说明书实施例的数据处理方法。
通常用户需要向银行贷款,银行会根据用户的风险等级来确定每个用户的贷款额度。假设有2亿个用户,用i表示,需要向10家银行贷款,用j表示。每家银行会对每个用户进行贷款评估,确定一个通过率,用pij表示,每个用户有额度限制,用ai表示,每个用户有风险等级,用ri表示,每家银行有风险金额上限控制,记为Rj。假设现在需要决策每家银行向每个用户审批多少贷款额度,记为xij,目标是最大化通过率(即希望用户能最大化审批额度)。
用户可以针对上述优化问题构建原始优化模型,比如,该原始优化模型可以通过公式(1)表示,约束条件可以通过以下公式(2)表示:
Figure 667214DEST_PATH_IMAGE001
公式(1)
Figure 87831DEST_PATH_IMAGE002
Figure 763663DEST_PATH_IMAGE003
公式(2)
即原始优化模型的优化目标是最大化用户通过率,约束条件包括两种:(1)每个用户的贷款额度不能超过上限,(2)每个银行的风险金额不能超过上限。
然后可以通过本说明书实施例提供的方法确定该原始优化模型的优化结果。
比如,用户可以通过交互界面定义该原始优化模型的决策变量、优化目标、约束条件、以及导入相关的业务数据,比如,2亿用户的用户数据(用户风险等级、额度限制、相对于各银行的贷款通过率等),以及10家银行的数据(银行的风险金额上限等)。
由于数据量较大,决策变量多达20亿,为了提高处理效率,因而可以借助分布式计算系统求解上述业务问题。如图5所示,分布式计算系统包括一个主节点、一个算子节点和若干个工作节点(假设有5个工作节点),为了提高处理效率,用户可以将业务数据划分成多个数据分片,比如,可以划分成5个数据分片,每个数据分片包括0.4亿个用户的用户数据和银行数据,然后将数据分片、原始优化模型、约束条件输入。每个工作节点可以获取一个数据分片、原始优化模型、以及约束条件,之后每个工作节点都可以执行相同的流程,得到每个数据分片对应的目标优化模型,其中,每个目标优化模型相当于原始优化问题的一个子模型,各包含原始决策变量中的一部分,比如,一共有20亿个决策变量,每个工作节点构建的目标优化模型包含4亿的决策变量。具体的,每个工作节点的处理流程如下:
1、从数据分片中提取原始优化模型中的一部分决策变量的系数,得到一个N维的向量Q,其中,N为决策变量的数量(4亿个)。比如,可以提取每个决策变量
Figure 611534DEST_PATH_IMAGE004
的系数
Figure 271185DEST_PATH_IMAGE005
,得到向量Q,进而可以得到决策变量项Q
Figure 229914DEST_PATH_IMAGE004
2、从数据分片中提取每个约束条件中决策变量的系数,构建得到N×M维的第一约束矩阵A。其中,N为决策变量的数量(4亿个),M为约束条件的个数,第i行第j列为第N个决策变量在第M个约束条件中的系数。比如,针对不等式约束条件
Figure 25831DEST_PATH_IMAGE002
,可以提取每个决策变量的系数1,针对不等式约束条件
Figure 41673DEST_PATH_IMAGE012
,可以提取每个决策变量的系数
Figure 923042DEST_PATH_IMAGE008
。然后可以构建一个2×4亿的第一约束矩阵。然后可以提取各约束条件中的限制值(不等式右侧的值),构建M×1的第二约束矩阵A’,比如,从约束条件
Figure 419882DEST_PATH_IMAGE010
中提取
Figure 335885DEST_PATH_IMAGE011
,从约束条件
Figure 525558DEST_PATH_IMAGE012
中提取
Figure 894223DEST_PATH_IMAGE013
,构建第二约束矩阵A ’:(
Figure 194754DEST_PATH_IMAGE011
Figure 965264DEST_PATH_IMAGE013
)。进而,可以得到约束项A
Figure 325838DEST_PATH_IMAGE004
-A ’。
3、构建二次惩罚项B,该二次惩罚项包含一个对角矩阵,对角矩阵中的元素为变量t。
4、基于决策变量项、约束项、以及对角矩阵构建每个数据分片对应的目标优化模型。可以在约束项中添加对偶变量λ,然后将决策变量项、添加对偶变量的约束项、对角矩阵求和,得到目标优化模型。举个例子,目标优化模型可以表示成如下公式(3)(当然实际可能更复杂):
F(
Figure 916220DEST_PATH_IMAGE039
)=Q
Figure 20442DEST_PATH_IMAGE004
+λ(A
Figure 645458DEST_PATH_IMAGE040
+B(t)公式(3)
其中,目标优化模型的待优化变量除了原始的决策变量
Figure 176934DEST_PATH_IMAGE041
还包括t、λ。
各工作节点在构建好各数据分片对应的目标优化模型后,即可以通过分布式计算系统求解目标优化模型的各决策变量,具体的求解过程如下:
其中,各工作节点、主节点以及算子节点迭代执行以下步骤,以得到各个目标优化模型中的决策变量的最优解:
当第K-1轮迭代完成后,主节点可以基于约束误差判定是否继续第K轮迭代,如果确定需要继续迭代,则通知算子节点。
算子节点在接收到主节点的通知后,可以将主节点第K-1轮的迭代任务的状态更新为完成状态。然后算子节点可以开始第K轮的迭代任务,具体的,可以从各工作节点中获取第K-1轮迭代后各工作节点对应的约束值
Figure 520190DEST_PATH_IMAGE042
Figure 162524DEST_PATH_IMAGE043
(其中,
Figure 642047DEST_PATH_IMAGE044
为各工作节点中的决策变量在第K-1轮的优化结果),然后累计各工作节点的约束值,并计算各约束条件对应的约束误差
Figure 344424DEST_PATH_IMAGE045
的绝对值,以及
Figure 174977DEST_PATH_IMAGE046
的绝对值,作为约束误差。然后可以将约束误差发送给主节点,同时可以根据约束误差确定目标模型中的目标变量λ、t在第K轮的求解结果;然后可以将目标变量λ、t在第K轮的求解结果发送给各工作节点。
各工作节点在接收到目标变量λ、t在第K轮的求解结果后,可以用该求解结果更新目标优化模型中的λ、t,得到更新后的模型,然后对更新后的模型求解,得到各决策变量在第K轮迭代的优化结果,并根据约束条件计算约束值,比如,根据各决策变量在第K轮迭代的优化结果计算
Figure 355422DEST_PATH_IMAGE042
Figure 220610DEST_PATH_IMAGE043
,得到第K轮的约束值,然后发送给算子节点。算子节点在接收到所有工作节点发送的约束值后,即可以将工作节点第K轮迭代任务的处理情况更新为完成状态。
主节点在接收到工作节点发送的约束误差后,即可以根据约束误差确定是否还要继续迭代,比如,第K轮迭代确定的约束误差和第K-1轮迭代确定的约束误差小于约束阈值,则可以停止迭代,否则通知算子节点继续下一轮迭代。主节点在通知算子节点继续下一轮迭代后,可以处理一些和迭代任务无关的工作,以最大化的利用主节点的计算资源。
通过重复上述迭代过程,直至迭代结束,即可以得到最终各决策变量的优化结果,作为业务问题的最终解。
以上实施例中的各种技术特征可以任意进行组合,只要特征之间的组合不存在冲突或矛盾,但是限于篇幅,未进行一一描述,因此上述实施方式中的各种技术特征的任意进行组合也属于本说明书公开的范围。
相应地,本说明书实施例还提供一种计算机设备,如图6所示,该计算机设备中包括处理器61、存储器62、存储于所述存储器62可供所述处理器61执行的计算机程序,该计算机程序被执行时实现上述任一方法实施例中的数据处理方法。
相应地,本说明书实施例还提供一种计算机存储介质,所述存储介质中存储有程序,所述程序被处理器执行时实现上述任一实施例中的数据处理方法。
本说明书实施例可采用在一个或多个其中包含有程序代码的存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。计算机可用存储介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括但不限于:相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
本领域技术人员在考虑说明书及实践这里公开的说明书后,将容易想到本说明书实施例的其它实施方案。本说明书实施例旨在涵盖本说明书实施例的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书实施例的一般性原理并包括本说明书实施例未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书实施例的真正范围和精神由下面的权利要求指出。
应当理解的是,本说明书实施例并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书实施例的范围仅由所附的权利要求来限制。
以上所述仅为本说明书实施例的较佳实施例而已,并不用以限制本说明书实施例,凡在本说明书实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书实施例保护的范围之内。

Claims (12)

1.一种数据处理方法,所述方法包括:
获取用户提交的处理请求,所述处理请求中包括基于原始优化问题构建的原始优化模型、所述原始优化模型对应的约束条件以及与所述原始优化问题有关的业务数据;
基于所述原始优化模型、所述业务数据、以及所述约束条件构建目标优化模型,所述目标优化模型的优化目标与所述原始优化模型的优化目标等价,所述目标优化模型可分解成多个可并行求解的子模型;
基于所述子模型确定所述原始优化模型中的决策变量的优化结果,并将所述优化结果返回给用户。
2.根据权利要求1所述的方法,所述基于所述原始优化模型、所述业务数据、以及所述约束条件构建目标优化模型,包括:
基于所述业务数据确定与所述原始优化模型中的决策变量相关的决策变量项;
基于所述约束条件以及所述业务数据确定所述原始优化模型对应的约束项;
基于所述决策变量项以及所述约束项,构建所述目标优化模型。
3.根据权利要求2所述的方法,所述基于所述业务数据确定与所述原始优化模型中的决策变量相关的决策变量项,包括:
从所述业务数据中提取所述原始优化模型中的决策变量对应的系数,构建系数矩阵,其中,所述系数矩阵为N×1维矩阵,N为所述业务数据中包括的决策变量的数量;
基于所述系数矩阵和所述业务数据中包括的决策变量构建所述决策变量项。
4.根据权利要求2所述的方法,所述基于所述业务数据以及所述约束条件确定所述原始优化模型的约束项,包括:
分别从所述业务数据中提取每个约束条件中的决策变量对应的系数,构建第一约束矩阵,所述第一约束矩阵为M×N维的矩阵,其中,M表示约束条件的数量,N表示所述业务数据中包括的决策变量的数量;
分别从所述业务数据中提取每个约束条件中的限制值,构建第二约束矩阵,其中,所述第二约束矩阵为M×1维矩阵,M表示约束条件的数量;
基于所述第一约束矩阵、所述第二约束矩阵和所述业务数据中包括的决策变量构建所述约束项。
5.根据权利要求2所述的方法,所述约束项包括等式约束项和/或不等式约束项,所述等式约束基于所述约束条件中的等式约束条件构建,所述不等式约束项基于所述约束条件中的不等式约束条件构建。
6.根据权利要求2所述的方法,所述基于所述决策变量项以及所述约束项,构建所述目标优化模型,包括:
在所述约束项中添加对偶变量;
构建包括对角矩阵的二次惩罚项,所述对角矩阵中的元素为指定变量;
基于添加对偶变量的约束项、所述二次惩罚项、以及所述决策变量项构建所述目标优化模型,其中,所述对偶变量和所述指定变量为所述目标优化模型中待优化的变量。
7.根据权利要求1所述的方法,与所述原始优化问题相关的原始业务数据包括多个数据分片,所述业务数据为所述多个数据分片中的一个,所述目标优化模型中包括所述原始优化问题中的部分决策变量,所述原始优化问题的决策变量的优化结果通过基于所述多个数据分片构建的多个所述目标优化模型确定。
8.根据权利要求1所述的方法,所述原始优化问题包括资源分配问题,所述原始优化模型的优化目标为资源接收方利用分配的资源获得的收益最大化,所述原始优化模型的决策变量为各资源接收方分配得到的资源。
9.一种分布式计算系统,包括第一节点和若干个工作节点,
每个所述工作节点用于执行权利要求1-8任一项所述的方法;
所述第一节点用于在每个所述工作节点构建所述目标优化模型后,协助所述工作节点确定各工作节点构建的目标优化模型中的变量的优化结果,其中,所述业务数据为与所述原始优化问题相关的原始业务数据的一个数据分片,每个所述工作节点构建的目标优化模型中包括所述原始优化问题的部分决策变量,以及在所述目标优化模型并入所述约束条件时引入的目标变量。
10.根据权利要求9所述的分布式计算系统,所述第一节点包括主节点和算子节点,所述第一节点用于在每个所述工作节点构建所述目标优化模型后,协助所述工作节点确定各工作节点构建的目标优化模型中的变量的优化结果,包括:
所述主节点、所述算子节点以及所述工作节点用于迭代执行以下步骤:
所述算子节点用于在接收到所述主节点发送的指示迭代任务未终止的指示信息后,基于每个所述工作节点在上一轮迭代确定的各决策变量的优化结果确定所述约束条件对应的约束误差,将所述约束误差发送给所述主节点,以及基于所述约束误差确定所述目标优化模型中的所述目标变量的优化结果并发送给所述工作节点;
所述工作节点用于利用接收到的所述算子节点发送的所述目标变量的优化结果更新所述工作节点对应的目标优化模型,并确定更新后的目标优化模型中各决策变量的优化结果;
所述主节点用于基于所述约束误差确定是否终止迭代任务,并通知所述算子节点。
11.一种计算机设备,所述计算机设备包括处理器、存储器、存储于所述存储器上可供所述处理器执行的计算机程序,所述计算机程序被执行时实现权利要求1-8任一项所述的方法。
12.一种计算机可读存储介质,其上存储有计算机程序,该程序被计算机执行时实现权利要求1-8任意一项所述的方法。
CN202210480897.7A 2022-05-05 2022-05-05 数据处理方法、设备及分布式计算系统 Active CN114581220B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210480897.7A CN114581220B (zh) 2022-05-05 2022-05-05 数据处理方法、设备及分布式计算系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210480897.7A CN114581220B (zh) 2022-05-05 2022-05-05 数据处理方法、设备及分布式计算系统

Publications (2)

Publication Number Publication Date
CN114581220A true CN114581220A (zh) 2022-06-03
CN114581220B CN114581220B (zh) 2022-09-16

Family

ID=81778023

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210480897.7A Active CN114581220B (zh) 2022-05-05 2022-05-05 数据处理方法、设备及分布式计算系统

Country Status (1)

Country Link
CN (1) CN114581220B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024007604A1 (zh) * 2022-07-08 2024-01-11 华为云计算技术有限公司 一种数学模型求解方法、装置、计算设备及计算设备集群

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150347149A1 (en) * 2014-05-27 2015-12-03 Sas Institute Inc. Automated decomposition for mixed integer linear programs with embedded networks requiring minimal syntax
US20160034820A1 (en) * 2014-06-16 2016-02-04 Massachusetts Institute Of Technology Systems and methods for distributed solution of optimization problems
CN105790810A (zh) * 2016-04-13 2016-07-20 浙江理工大学 基于信道模式选择的mimo无线多跳网络分布式跨层优化方法
CN109146197A (zh) * 2018-09-10 2019-01-04 西安交通大学 一种大规模电网的经济调度并行计算方法
CN112818280A (zh) * 2019-11-18 2021-05-18 华为技术有限公司 一种信息处理方法以及相关设备
CN112861357A (zh) * 2021-02-10 2021-05-28 福州大学 一种多微能网耦合系统分布式协同调度方法及系统
CN113625714A (zh) * 2021-08-11 2021-11-09 重庆大学 一种基于并行求解的自动驾驶运动规划方法
CN114069664A (zh) * 2021-11-01 2022-02-18 国网湖北省电力有限公司经济技术研究院 一种规模化储能系统的配电网电压分布式控制方法
CN114154581A (zh) * 2021-12-06 2022-03-08 南京理工大学 一种基于mpi的分布式admm垃圾邮件分类方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150347149A1 (en) * 2014-05-27 2015-12-03 Sas Institute Inc. Automated decomposition for mixed integer linear programs with embedded networks requiring minimal syntax
US20160034820A1 (en) * 2014-06-16 2016-02-04 Massachusetts Institute Of Technology Systems and methods for distributed solution of optimization problems
CN105790810A (zh) * 2016-04-13 2016-07-20 浙江理工大学 基于信道模式选择的mimo无线多跳网络分布式跨层优化方法
CN109146197A (zh) * 2018-09-10 2019-01-04 西安交通大学 一种大规模电网的经济调度并行计算方法
CN112818280A (zh) * 2019-11-18 2021-05-18 华为技术有限公司 一种信息处理方法以及相关设备
CN112861357A (zh) * 2021-02-10 2021-05-28 福州大学 一种多微能网耦合系统分布式协同调度方法及系统
CN113625714A (zh) * 2021-08-11 2021-11-09 重庆大学 一种基于并行求解的自动驾驶运动规划方法
CN114069664A (zh) * 2021-11-01 2022-02-18 国网湖北省电力有限公司经济技术研究院 一种规模化储能系统的配电网电压分布式控制方法
CN114154581A (zh) * 2021-12-06 2022-03-08 南京理工大学 一种基于mpi的分布式admm垃圾邮件分类方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MOHAMMED H.S. HELAL等: "Using Google"s Compute Engine Service Pricing as a Reference for Comparison Between Master-Slave and Island Model-Based Fully Distributed Genetic Algorithm", 《2017 INTERNATIONAL CONFERENCE ON INFORMATION, COMMUNICATION AND ENGINEERING (ICICE)》 *
王辉 等: "一种基于Spark与BP神经网络的入侵检测方法", 《电脑知识与技术》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024007604A1 (zh) * 2022-07-08 2024-01-11 华为云计算技术有限公司 一种数学模型求解方法、装置、计算设备及计算设备集群

Also Published As

Publication number Publication date
CN114581220B (zh) 2022-09-16

Similar Documents

Publication Publication Date Title
US10748072B1 (en) Intermittent demand forecasting for large inventories
US10354201B1 (en) Scalable clustering for mixed machine learning data
Talebiyan et al. Decentralized decision making for the restoration of interdependent networks
CN114581220B (zh) 数据处理方法、设备及分布式计算系统
CN112418341A (zh) 模型融合方法、预测方法、装置、设备及存储介质
US20060143532A1 (en) Cost management of software application portfolio
CN113342418B (zh) 基于区块链的分布式机器学习任务卸载方法
CN106708875B (zh) 一种特征筛选方法及系统
CN112561351B (zh) 用于评估中继卫星系统中的任务申请的方法及装置
Escudero et al. A parallel computation approach for solvingmultistage stochastic network problems
CN111667307B (zh) 一种理财产品销量的预测方法及装置
CN114581221B (zh) 分布式计算系统以及计算机设备
CN110858355A (zh) 项目预算结余预测方法及装置
CN113298120B (zh) 基于融合模型的用户风险预测方法、系统和计算机设备
CN115796548A (zh) 一种资源分配方法、装置、计算机设备、存储介质及产品
CN115936875A (zh) 金融产品挂单处理方法和装置
CN112668223B (zh) 基于数字孪生轻量化模型的机电装备仿真方法及系统
CN114581160B (zh) 资源分配方法、分布式计算系统及设备
Fei et al. Efficient solution selection for two-stage stochastic programs
CN113159926A (zh) 贷款业务的还款日期确定方法及装置
Freitas et al. Intelligent trading architecture
CN114581223B (zh) 分配任务处理方法、设备、分布式计算系统及存储介质
US20230267007A1 (en) System and method to simulate demand and optimize control parameters for a technology platform
US11656887B2 (en) System and method to simulate demand and optimize control parameters for a technology platform
CN116755866B (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