CN114581221B - 分布式计算***以及计算机设备 - Google Patents

分布式计算***以及计算机设备 Download PDF

Info

Publication number
CN114581221B
CN114581221B CN202210481598.5A CN202210481598A CN114581221B CN 114581221 B CN114581221 B CN 114581221B CN 202210481598 A CN202210481598 A CN 202210481598A CN 114581221 B CN114581221 B CN 114581221B
Authority
CN
China
Prior art keywords
constraint
optimization
node
optimization model
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.)
Active
Application number
CN202210481598.5A
Other languages
English (en)
Other versions
CN114581221A (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 CN202210481598.5A priority Critical patent/CN114581221B/zh
Publication of CN114581221A publication Critical patent/CN114581221A/zh
Application granted granted Critical
Publication of CN114581221B publication Critical patent/CN114581221B/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

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)
  • Operations Research (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Technology Law (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本说明书实施例提供一种分布式计算***及计算机设备。该分布式计算***在原有的master‑slave(主从模式)的分布式计算框架下,增加了计算能力较高的算子节点,利用该算子节点处理求解基于原始优化问题构建的目标优化模型的过程中,一些计算量较大,处理较为耗时的任务,从而提高处理效率。

Description

分布式计算***以及计算机设备
技术领域
本说明书涉及数据处理技术领域,尤其涉及一种分布式计算***以及计算机设备。
背景技术
针对很多业务场景中的优化问题,都可以构建优化模型求解,得到优化问题中的各个决策变量的最优结果。由于有些业务场景,其涉及到的业务数据量较大,构建的优化模型中包含的决策变量较多,比如,在一些场景决策变量多达数亿,因而在求解决策变量的过程中涉及的计算量很大,导致处理速度较慢。因而,针对上述优化问题,有必要提供一种可以提高处理效率的方案。
发明内容
基于此,本说明书提供了一种分布是计算***及计算机设备。
根据本说明书实施例的第一方面,提供一种分布式计算***,所述分布式计算***包括主节点、算子节点以及若干个工作节点,所述分布式计算***用于确定基于原始优化问题构建的多个目标优化模型中的决策变量的优化结果,每个目标优化模型中包括所述原始优化问题的部分决策变量,以及在所述目标优化模型中并入所述原始优化问题的约束条件时引入的目标变量,每个工作节点对应一个目标优化模型;
其中,所述主节点、所述算子节点以及所述若干个工作节点用于迭代执行以下步骤:
所述算子节点用于在接收到所述主节点发送的指示迭代任务未终止的指示信息后,基于每个所述工作节点在上一轮迭代确定的各决策变量的优化结果确定所述约束条件对应的约束误差,将所述约束误差发送给所述主节点,以及基于所述约束误差确定所述目标变量的优化结果并发送给所述工作节点;
所述工作节点用于利用所述算子节点发送的所述目标变量的优化结果更新所述工作节点对应的目标优化模型,并确定更新后的目标优化模型中各决策变量的优化结果;
所述主节点用于基于所述约束误差确定是否终止迭代任务,并通知所述算子节点。
根据本说明书实施例的第二方面,提供一种计算机设备,该计算机设备上述第一方面的分布式计算***中的主节点、算子节点和/或工作节点。
应用本说明书实施例的方案,提供了一种用于求解基于原始优化问题构建的目标优化模型的分布式计算***,该分布式计算***包括主节点、算子节点以及若干个工作节点,算子节点用于在接收到主节点发送的指示迭代任务未终止的指示信息后,基于每个工作节点在上一轮迭代确定的各决策变量的优化结果确定原始优化问题的约束条件对应的约束误差,将约束误差发送给主节点,以及基于约束误差确定目标优化模型中的除决策变量以外的目标变量的优化结果,并发送给工作节点,工作节点用于接收算子节点发送的目标变量的优化结果,利用接收到的目标变量的优化结果更新工作节点对应的目标优化模型,并确定更新后的目标优化模型中各决策变量的优化结果;主节点用于基于约束误差确定是否终止迭代任务,并通知所述算子节点。上述三个节点重复上述步骤,得到目标优化模型的各决策变量的优化结果。本说明书实施例提供的分布式计算***,在原有的master-slave(主从模式)的分布式计算框架下,增加了计算能力较高的算子节点,利用该算子节点来处理迭代求解目标优化模型过程中,一些计算量较大,处理较为耗时的任务,从而提高处理效率。并且通过将原始优化问题的决策变量分配到不同工作节点中进行求解,可以也可以大大提高处理效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。
图1是本说明书一个实施例的一种分布式计算***的示意图。
图2是本说明书一个实施例的一种构建目标优化模型的示意图。
图3是本说明书一个实施例的一种分布式计算***的示意图。
图4是本说明书一个实施例的一种计算机设备的示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
针对很多业务场景中的优化问题,都可以构建优化模型求解,得到优化问题中的各个决策变量的最优结果。比如,在资源分配的场景,通常需要将有限的资源分配给多个资源接收方,各资源接收方可以利用分配的资源创造收益,因而,可以确定一种资源分配方式,在满足相应的限制条件下,使得各资源接收方基于分配的资源创造的收益的总和最高。针对上述资源分配问题,可以将各资源接收方分配到的资源作为决策变量、总收益最大化作为优化目标,构建优化模型,资源分配过程中需遵循的一些限制条件,作为该优化模型的约束条件,然后可以求解该优化模型,确定各决策变量的优化结果。
由于有些场景,用户基于业务问题构建的原始优化模型涉及到的数据量较大,原始优化模型中包含的决策变量多达数亿,采用常规的求解器通常无法求解或则求解速度很慢。因而,可以通过一些特定的算法,将原始优化模型的优化目标拆分成多个子目标,然后并行求解这些子目标。通过这种方式,可以使得比较复杂,决策变量较多的优化模型的求解速度加快,提升处理效率。在利用这些特定的算法求解原始优化模型时,一般需要先将原始优化模型转换成指定形式的目标优化模型,再利用上述算法求解。
以ADMM算法Alternating Direction Method of Multipliers,交换方向乘子法)为例,ADMM算法可用于求解可分解凸优化问题,适用于大规模的优化问题的求解,利用ADMM算法可以将原始的优化问题等价的分解成若干个可求解的子问题,然后并行求解每一个子问题,最后协调子问题的解得到原优化问题的全局解。但是ADMM算法可求解的模型通常是指定形式的模型,比如,一般基于业务问题构建的原始优化模型都是带约束条件的,因而,可以先将该原始优化模型转换成等价的不带约束条件的目标优化模型,比如,目标优化模型可以用增拉格朗日函数表示。然后再使用ADMM算法求解该目标优化模型,以得到原始优化模型中各决策变量的优化结果。
通常在基于带约束条件的原始优化模型构建目标优化模型时,可以通过一些目标变量将约束条件耦合到原始优化模型中,构建不带约束条件的目标优化模型,即在目标优化模型中加入约束条件的过程中会额外引入除原始优化问题的决策变量以外的其他变量,以下称为目标变量。从而目标优化模型中待优化的变量包括原始优化问题的决策变量以及新加入的目标变量,然后可以通过多轮迭代的方式求解这些目标变量,以及原始优化问题中的决策变量。
由于有些业务场景,其涉及到的业务数据量较大,最后构建的目标优化模型中的决策变量较多,在迭代求解目标优化模型的过程中涉及的计算量较大,目前的一些分布式计算框架都不太适用这类优化问题的求解,导致处理速度比较慢。
基于此,本说明书实施例提供了一种分布式计算***,在原有的master-slave(主从模式)的分布式计算框架下,增加了计算能力较高的算子节点,利用该算子节点来处理迭代求解目标优化模型过程中,一些计算量较大,处理较为耗时的任务(比如,计算约束误差,求解目标变量等),从而提高处理效率。
如图1所示,该分布式计算***包括主节点、算子节点以及若干个工作节点。主节点、算子节点和工作节点可以运行在物理机上,也可以运行在虚拟机上。这些节点可以运行于不同的物理机上,也可以运行于相同的物理机上。其中,算子节点可以采用计算能力较高的节点,以专门处理求解目标优化模型过程中一些计算量大,较为耗时的计算任务。
该分布式计算***可以用于确定原始优化问题中的各决策变量的优化结果。其中,该原始优化问题可以是各种业务场景下的优化问题,比如,可以是投资理财场景中,如何将有限的投资金额分配到多个理财产品中,使得理财收益最高的优化问题,也可以是在确定银行给每个用户的贷款额度,使得银行对所有用户的审批额度最大化的优化问题。具体可以基于实际的业务场景和业务需求设置,本说明书实施例不做限制。
其中,为了提高处理效率,在针对该原始优化问题构建优化模型时,可以构建多个可以并行求解的目标优化模型,每个目标优化模型中包含该原始优化问题的一部分决策变量。比如,可以将原始优化问题相关的业务数据划分成多个数据分片,每个数据分片为与原始优化问题的部分决策变量有关的数据,然后基于每个数据分片、原始优化问题的优化目标以及约束条件构建目标优化模型。其中,该目标优化模型可以由用户手动构建,也可以由设备自动构建,本申请实施不做限制。通过基于原始优化问题构建多个目标优化模型,每个目标优化模型包括原始优化问题的一部决策变量(如图1所示,假设原始优化问题的决策变量有4n个,则每个工作节点中可以包括n个,比如,每个工作节点包括的决策变量分别为x1-xn、xn+1-x2n、x2n+1-x3n、x3n+1-x4n),然后利用多个工作节点来求解这些目标优化模型,相当于将原始优化问题的决策变量分配到不同工作节点中进行求解,也可以大大提高处理效率。
在求解目标优化模型的过程中,分布式计算***中的每个工作节点可以对应一个目标优化模型,用于求解该目标优化模型中的决策变量。此外,由于目标优化模型中耦合了原始优化问题的约束条件,因而目标优化模型中的变量除了原始优化问题的决策变量以外,还包括在耦合约束条件过程中新增的一些目标变量(比如,对偶变量等)。在求解目标优化模型时,可以迭代执行固定目标变量,求解决策变量,以及固定决策变量,求解目标变量的步骤。
在求解目标优化模型的过程中,主节点、算子节点以及每个工作节点可以迭代执行以下步骤,以确定目标优化模型中的各决策变量的优化结果。
比如,在完成第K轮迭代后,主节点可以判定迭代任务是否可以终止,如果还未终止,主节点可以向算子节点发送指示迭代任务未终止的指示信息,以便开始新的一轮迭代计算。
算子节点在接收到主节点发送的指示信息后,可以根据每个工作节点在上一轮迭代(第K轮)确定的各决策变量的优化结果,以及原始优化问题对应的约束条件确定约束误差。然后将约束误差发送给主节点。同时,算子节点会基于约束误差确定目标模型中的目标变量的优化结果,并发送给每个工作节点。
每个工作节点在接收到算子节点发送的目标变量的优化结果后,利用接收到的目标变量的优化结果更新该工作节点对应的目标优化模型,并确定更新后的目标优化模型中各决策变量的优化结果,以便算子节点在下一轮迭代时使用。
主节点在接收到算子节点发送的约束误差后,基于该约束误差确定是否终止迭代任务,并通知算子节点。比如,在一些实施例中,主节点可以比较当前一轮迭代确定的约束误差与上一轮确定的约束误差,如果约束误差小于预设阈值,则认为可以终止迭代流程。在一些实施例中,主节点也可以判定连续多轮迭代确定的约束误差是否发生变化确定是否终止迭代流程,比如,如果连续三轮迭代确定的约束误差都未改变,则可以终止迭代流程。在一些实施例中,主节点可以在判定迭代次数达到预设次数后,确定终止迭代流程。具体可以根据实际需求设置,本说明书实施例不做限制。
主节点、算子节点以及工作节点均重复以上步骤,直至迭代任务终止。然后将最后得到的各决策变量的优化结果作为该原始优化问题的最优解。
为了便于理解,以下结合一个例子解释上述迭代求解的流程,假设原始优化问题 中包含的决策变量为
Figure 867977DEST_PATH_IMAGE002
Figure 50697DEST_PATH_IMAGE004
、…
Figure 784429DEST_PATH_IMAGE006
,其对应的一个约束条件为
Figure 320584DEST_PATH_IMAGE008
,分布 式计算***一共包含5个工作节点,每个工作节点上的目标优化模型对应的函数一致,只是 决策变量不一样。比如,各工作节点上的目标优化模型可以统一表示成如下:
Figure 666114DEST_PATH_IMAGE010
其中,
Figure 941107DEST_PATH_IMAGE012
为目标变量,工作节点w1中的目标优化模型包含的决策变量
Figure 614665DEST_PATH_IMAGE013
-
Figure 236401DEST_PATH_IMAGE015
、工 作节点w2中的目标优化模型包含的决策变量
Figure 436438DEST_PATH_IMAGE016
-
Figure 836327DEST_PATH_IMAGE018
、工作节点w3中的目标优化模型包含 的决策变量
Figure 43186DEST_PATH_IMAGE019
-
Figure 311356DEST_PATH_IMAGE021
、工作节点w4中的目标优化模型包含的决策变量
Figure 975687DEST_PATH_IMAGE022
-
Figure 936690DEST_PATH_IMAGE024
、工作节点 w5中的目标优化模型包含的决策变量
Figure 335572DEST_PATH_IMAGE025
-
Figure 813958DEST_PATH_IMAGE026
主节点在确定还需继续迭代流程后,可以通知算子节点,算子节点可以基于各工 作节点在上一轮迭代确定的各决策变量的数值,确定约束误差。比如,工作节点1在上一轮 迭代可以确定决策变量
Figure 988588DEST_PATH_IMAGE013
-
Figure 713967DEST_PATH_IMAGE016
的数值,然后根据约束条件
Figure 974047DEST_PATH_IMAGE008
确定决策 变量
Figure 459386DEST_PATH_IMAGE013
-
Figure 645779DEST_PATH_IMAGE015
对应的约束值(
Figure 620688DEST_PATH_IMAGE028
),并将计算的约束值发送给算子节点,其他节 点类似。
算子节点在接收到各工作节点发送的约束值之后,可以将约束值累加,得到
Figure 102485DEST_PATH_IMAGE030
,然后可以计算
Figure 640783DEST_PATH_IMAGE032
的绝对值,作为约束误差。然后可以基 于约束误差确定目标优化模型中的目标变量的优化结果,进而将确定目标变量的优化结果 发送给工作节点,并且算子节点还可以将约束误差发送给主节点。
工作节点在接收到算子节点发送的目标变量的优化结果后,可以利用接收到的目标变量的优化结果替换目标优化模型中原来的目标变量的数值,对目标模型进行更新,然后对更新后的目标优化模型进行求解,得到该目标优化模型中各决策变量在当前一轮迭代的数值。其中,对目标优化模型求解的过程中,可以采用ADMM算法,或者具有类似功能的算法,本说明书实施例不做限制。
主节点在接收到算子节点发送的约束误差后,可以基于约束误差判定是否结束迭代。如果确定不结束,则通知算子节点,以便算子节点继续下一轮迭代流程。
在一些实施例中,算子节点在基于每个工作节点上一轮迭代确定的各决策变量的 优化结果,以及原始优化问题的约束条件确定约束误差时,存在两种方式,一种是方式是由 每个工作节点对上一轮更新后的目标优化模型进行求解,得到该目标优化模型中各决策变 量在上一轮迭代后的优化结果,然后直接将优化结果发送给算子节点,算子节点在接收到 各工作节点发送的决策变量的优化结果后,可以将各决策变量的优化结果代入到约束条件 中,确定约束误差。比如,在上述例子中,工作节点1可以将决策变量
Figure 258846DEST_PATH_IMAGE033
-
Figure 404657DEST_PATH_IMAGE034
在上一轮迭代 确定的数值发送给算子节点,其余工作节点类似。算子节点在接收到5个工作节点发送的决 策变量
Figure 734269DEST_PATH_IMAGE033
-
Figure 686044DEST_PATH_IMAGE035
后,可以代入上述约束条件
Figure 361876DEST_PATH_IMAGE036
中,然后可以计算
Figure 865539DEST_PATH_IMAGE032
的绝对值,作为约束误差。
在另一种方式中,可以由每个工作节点对上一轮更新后的目标优化模型进行求 解,得到该目标优化模型中各决策变量在上一轮迭代后的优化结果,然后每个工作节点基 于各决策变量的优化结果和约束条件确定约束值,再将约束值发送给算子节点,由算子节 点累计各工作节点发送的约束值,得到累计结果,再基于累计结果和约束条件确定约束误 差。比如,工作节点1在上一轮迭代可以确定决策变量
Figure 321928DEST_PATH_IMAGE038
-
Figure 483919DEST_PATH_IMAGE040
的数值,然后根据约束条件
Figure 499411DEST_PATH_IMAGE042
确定决策变量
Figure 190286DEST_PATH_IMAGE038
-
Figure 868392DEST_PATH_IMAGE040
对应的约束值(
Figure 552183DEST_PATH_IMAGE044
),并将计算的约 束值发送算子节点,给其他节点类似。算子节点在接收到各工作节点发送的约束之后,可以 将约束值累加,得到
Figure 937028DEST_PATH_IMAGE046
,然后可以计算
Figure 392280DEST_PATH_IMAGE048
的绝对值,作为约 束误差。
第二种方式中由工作节点基于各决策变量的优化结果和约束条件确定约束值后,再发送给算子节点,可以减少算子节点和工作节点之间的数据传输量。
在一些实施例中,算子节点除了计算约束误差和目标变量的优化结果,还用于记录主节点和工作节点在当前一轮迭代任务的完成情况。比如,算子节点在接收到所有工作节点发送的当前一轮的决策变量的优化结果,或者决策变量对应的约束值后,即可以将工作节点的状态标记为已完成状态。同时,算子节点在接收到主节点的提示是否停止迭代流程的指示信息后,即可以将主节点的工作状态标记为已完成状态。从而工作节点可以通过算子节点中的工作状态信息确定主节点当前一轮迭代任务是否完成,主节点也可以通过算子节点中记录的状态信息确定工作节点当前一轮迭代任务是否完成。
在一些实施例中,所述主节点在通知算子节点迭代任务未终止后,算子节点和工作节点可以继续进行下一轮的迭代,此时,主节点在等待下一轮的约束误差的同时,还可以执行一些与迭代任务无关的任务。比如,主节点可以将从算子节点获取的各轮迭代确定的约束误差记录到报表中,并展示给用户,或者主节点可以执行一些其他的调度任务。
在一些实施例中,在构建目标优化模型时,可以利用对偶变量将原始优化问题的约束条件耦合到原始优化问题对应原始优化模型中,得到该目标优化模型中,因此,该目标变量可以是该对偶变量。其中,如果原始优化问题中的约束条件包括等式约束条件和非等式约束条件,那么等式约束条件和不等式约束条件可以各利用一个对偶变量耦合到原始优化模型中,即目标变量可以包括两个或多个对偶变量。
在一些实施例中,在构建目标优化模型时,除了将约束条件耦合到原始优化模型中,还可以在原始优化模型中加入了包含指定变量的二次惩罚项。因此,目标变量还可以是该二次惩罚项中的指定变量。
在一些实施例中,原始优化问题的约束条件可以包括等式约束条件和不等式约束 条件,算子节点在基于各工作节点上一轮迭代确定的各决策变量的优化结果以及原始优化 问题的约束条件确定约束误差时,可以基于各工作节点上一轮迭代确定的各决策变量的优 化结果以及等式约束条件确定等式约束误差,比如,假设等式约束条件为
Figure 449360DEST_PATH_IMAGE049
,在确定各决策变量的数值后,可以将决策变量的数值代入上述约束条 件中,确定
Figure 218733DEST_PATH_IMAGE051
的绝对值作为约束误差。
此外,也可以基于各工作节点上一轮迭代确定的各决策变量的优化结果以及不等 式约束条件确定不等式约束误差。比如,假设不等式约束条件为
Figure 51560DEST_PATH_IMAGE053
,在确 定各决策变量的数值后,可以将决策变量的数值代入上述约束条件中,确定
Figure 802347DEST_PATH_IMAGE055
的绝对值作为约束误差。
在利用诸如ADMM算法等类似算法求解业务优化问题时,容易想到的一种方式是由用户手动完成原始优化模型到目标优化模型的转换,比如,用户在基于业务场景中的原始优化问题构建优化模型时,即需要将优化模型构建成算法可求解的目标优化模型,这种方式比较繁琐,使得业务问题的处理效率很低,同时要求用户既要对原业务优化问题比较了解,也要对算法的实现原理比较了解,并且容易出错。
为了解决上述问题,在一些实施例中,如图2所示,工作节点还用于获取用户提交的处理请求,该处理请求中包括基于原始优化问题构建的原始优化模型、该原始优化模型对应的约束条件以及数据分片,所述数据分片为与所述原始优化问题的部分决策变量相关的数据;即用户可以将原始优化问题相关的业务数据划分成多个数据分片,每个数据分片包含部分决策变量。
每个工作节点在获取到原始优化模型、数据分片、以及约束条件后,可以基于上述原始优化模型、数据分片、以及约束条件构建目标优化模型,每个目标优化模型的优化目标与原始优化模型的优化目标等价,目标优化模型可分解成多个可并行求解的子模型。
其中,该原始优化问题可以是各业务领域涉及的优化问题,该原始优化问题可以是线性规划问题或者非线性规划问题。
在一些场景,可以向用户提供一交互界面,用户可以通过交互界面定义原始优化模型中的各决策变量、优化目标、以及原始优化模型对应的约束条件等。其中,原始优化模型和约束条件可以以各种形式表示,比如,可以是条件、公式等,本申请不做限制。用户构建的原始优化模型可以仅仅是模型的表达式,约束条件也可以是约束条件的表达式,即模型和约束条件中仅包含参数的类型,参数具体的数值需从业务数据中提取。
同时,用户可以通过交互界面导入与该原始优化问题相关的原始业务数据,然后将原始业务数据划分成多个数据分片,其中,数据分片的数量可以和工作节点的数量一致。每个数据分片中包含原始优化问题中的部分决策变量。
每个工作节点在获取到用户输入的原始优化模型、数据分片、以及约束条件后,即可以根据用户输入的原始优化模型、数据分片、以及约束条件构建目标优化模型。比如,可以基于原始优化模型、数据分片以及约束条件确定目标优化模型的各决策变量以及优化目标,将约束条件合并到原始优化模型中,构建一个不带约束的目标优化模型。
其中,目标优化模型的优化目标与原始优化模型的优化目标等价,即通过确定目标优化模型中各决策变量的优化结果,即可以得到原始优化模型中各决策变量的优化结果。此外,目标优化模型可以分解成多个子模型,多个子模型可以并行求解,从而通过将原始优化模型转换成目标优化模型后,将目标优化模型拆分成多个子模型再并行求解,相比于直接求解原始优化模型,可以大大提高处理效率。
举个例子,通常用户需要向银行贷款,银行会根据用户的风险等级来确定每个用户的贷款额度。假设有2亿个用户,用i表示,需要向10家银行贷款,用j表示。每家银行会对每个用户进行贷款评估,确定一个通过率,用pij表示,每个用户有额度限制,用ai表示,每个用户有风险等级,用ri表示,每家银行有风险金额上限控制,记为Rj。假设现在需要决策每家银行向每个用户审批多少贷款额度,记为xij,目标是最大化通过率(即希望用户能最大化审批额度)。
那么用户可以构建原始优化模型,原始优化模型的决策变量为每家银行向每个用户审批多少贷款额度,优化目标为审批额度最大化,原始优化模型的约束条件有2种:(1)每个用户的贷款额度不能超过上限,(2)每个银行的风险金额不能超过上限,原始优化模型可以用如下公式(1)表示:
Figure 720625DEST_PATH_IMAGE057
公式(1)
原始优化模型对应的约束条件可以用公式(2)表示:
Figure 293689DEST_PATH_IMAGE059
Figure 64243DEST_PATH_IMAGE061
公式(2)
用户可以通过交互界面定义上述原始优化模型,以及约束条件,同时,用户还可以 导入与该原始优化问题有关的原始业务数据,比如,用户信息(各用户的风险等级、每家银 行对各用户的贷款评估通过率等),银行信息(比如,每家银行的风险金额上限等)。在导入 原始业务数据之前,用户可以先将原始业务数据划分成多个数据分片,比如,假设分布式计 算***有5个工作节点,则可以将原始业务数据划分成5个数据分片,每个数据分片对应0.3 亿用户的用户信息和10家银行信息,然后可以基于每个数据分片构建一个目标优化模型, 目标优化模型中包括部分的决策变量
Figure 392456DEST_PATH_IMAGE063
通过上述方式,在对业务问题进行优化时,用户仅需基于待解决的业务问题构建原始优化模型,然后由分布式计算***的工作节点基于用户构建的原始优化模型、该原始优化模型对应的约束条件、以及业务问题有关的业务数据自动构建出目标优化模型,从而无需用户手动进行模型的转换,提高了最终获得的优化结果的准确性。并且通过将原始的优化模型转换成可拆分求解的目标优化模型,从而在求解过程中,可以将目标优化模型拆分成多个子模型后再并行求解,可以大大提高处理效率。
在一些实施例中,由于在求解目标优化模型时,需得到原始优化模型中各决策变量的优化结果,因而,目标优化模型的决策变量中需包含原始优化模型中的决策变量,所以,在构建目标优化模型时,可以基于数据分片确定和原始优化模型中的决策变量相关的项,以下称为决策变量项,将其作为目标优化模型的一部分。同时,由于目标优化模型为不带约束条件的模型,因而,还可以基于原始优化模型的约束条件和数据分片确定与约束条件有关的项,以下称为约束项,然后根据决策变量项和约束项构建目标优化模型。
在一些实施例中,在基于数据分片确定与原始优化模型中的决策变量相关的决策变量项时,可以从数据分片中提取原始优化模型中的决策变量对应的系数,利用这些系数构建系数矩阵。利用抽取的系数构建的系数矩阵的维度为N×1,N表示该数据分片中包括的决策变量的数量,矩阵中元素为各决策变量对应的系数。然后利用系数矩阵和该数据分片包括的决策变量即可以得到决策变量项。
举个例子,以上述银行向用户审批贷款的场景为例,原始优化模型可以采用如下公式(1)表示:
Figure 407817DEST_PATH_IMAGE064
即原始优化模型中决策变量为每个银行对每个用户的贷款额度
Figure 33839DEST_PATH_IMAGE063
,决策变量的 系数为每家银行对各用户的贷款评估通过率
Figure 575679DEST_PATH_IMAGE066
,假设业务数据为100个用户对应的10家银 行的相关数据,因而,数据分片中包括的决策变量有1000个,然后可以从数据分片中提取这 个1000个决策变量的系数
Figure 684580DEST_PATH_IMAGE066
,得到系数矩阵Q=[
Figure 311871DEST_PATH_IMAGE068
Figure 977470DEST_PATH_IMAGE070
、…],然后可以确定决策变 量项Q
Figure 983603DEST_PATH_IMAGE063
在一些实施例中,在基于数据分片以及约束条件确定原始优化模型的约束项时,可以从数据分片中提取各约束条件中的决策变量对应的系数,构建第一约束矩阵。基于提取的约束条件中决策变量的系数构建的第一约束矩阵为M×N维的矩阵,M表示约束条件的个数,N表示数据分片中包含的决策变量的数量,该矩阵中第i行第j列的元素表示第i个约束条件中的第j个决策变量对应的系数。
此外,可以提取每个约束条件中对应的限制值,即约束等式或不等式右侧的数值,然后可以基于该限制值构建第二约束矩阵,第二约束矩阵为M×1维的矩阵,M表示约束条件的个数,矩阵中元素为各约束条件对应的限制值。
然后可以基于第一约束矩阵、第二约束矩阵和业务数据中包含的决策变量构建约束项。
在一些实施例中,如果约束条件包括等式约束条件和不等式约束条件,那么等式约束条件和不等式约束条件可以分开构建对应的约束项。比如,可以基于所有的等式约束条件构建等式约束项,然后基于所有的不等式约束条件构建不等式约束项。
举个例子,以上述银行向用户审批贷款的场景为例,原始优化模型包括两个不等式约束条件,具体如公式(2):
Figure 574990DEST_PATH_IMAGE059
Figure 689577DEST_PATH_IMAGE061
公式(2)
其中,在第一个约束条件中,每个决策变量的系数为1,在第二个约束条件中,每个 决策变量的系数为每个用户的风险等级
Figure 80238DEST_PATH_IMAGE072
,假设数据分片中包含10个用户和10家银行的 数据,即数据分片中包括100个决策变量,可以从数据分片中确定这100个决策变量中的每 个决策变量对应的系数
Figure 19506DEST_PATH_IMAGE072
,然后可以基于提取到的系数构建第一约束矩阵,其中,第一约 束矩阵为2×100的矩阵,可以表示为A :
Figure 860423DEST_PATH_IMAGE074
。然后可以从业务数据中提取上述各 约束条件对应的限制值,比如,从约束条件
Figure 72093DEST_PATH_IMAGE075
中提取
Figure 578029DEST_PATH_IMAGE077
,从约束条件
Figure 948968DEST_PATH_IMAGE078
中 提取
Figure 570573DEST_PATH_IMAGE080
,构建第二约束矩阵A ’:(
Figure 817009DEST_PATH_IMAGE081
Figure 205265DEST_PATH_IMAGE080
)。然后可以基于该第一约束矩阵、第二约束矩 阵、以及业务数据中的变量得到约束项:A
Figure 306076DEST_PATH_IMAGE083
同理,如果约束条件中包含等式约束条件,也可以基于数据分片和等式约束条件构建等式约束项,具体的构建方法可以参考上述步骤,在此不再赘述。
在一些实施例中,在确定决策变量项和约束项后,可以基于决策变量项和约束项构建目标优化模型。比如,可以在每个约束项中增加对偶变量,然后与决策变量项求和,得到所述目标优化模型,其中,该对偶变量也是目标优化模型在求解过程中的一个变量,即上述目标变量。
在一些实施例中,在构建目标优化模型时,还可以在模型中添加一个惩罚项,比如,可以构建一个包括对角矩阵的二次项,该对角矩阵的元素为指定变量,然后基于添加有对偶变量的约束项、决策项以及该二次项构建目标优化模型,比如,可以将上述项求和得到该目标优化模型,其中,构建的目标优化模型的变量除了包括原始优化模型的决策变量,还引入了新的变量:对偶变量以及二次惩罚项中的指定变量,上述目标变量包括该对偶变量和该指定变量。
在一些实施例中,原始优化问题可以是资源分配问题,用于在满足约束条件的情况下将目标数量的待分配资源分配给多个资源接收方,使得多个资源接收方利用分配的资源获得的收益最大化。
比如,待分配资源可以是用户待投资的金额、资源接收方可以是各理财产品(比如,基金、股票等),决策变量可以是分配给每个理财产品的投资金额,优化目标是各理财产品的累加收益最高,约束条件可以是分配到各理财产品的投资金额的总和等于待投资的总金额,用户投资各理财产品引起的风险不超过用户能承受的风险等级等。
再比如,待分配的资源可以是用于某个营销活动的优惠券的总金额,资源接收方可以是各用户账户,决策变量可以是分配到各个用户账户的优惠券金额,优化目标是用户对这些优化券的转化率最大(即用户使用的优惠券金额和总金额比例),约束条件是分配到各个用户账户的优惠券金额总和等于总金额等及其他一些营销活动中的限制条件。
以下结合一个具体的实施例来解释本说明书实施例的分布式计算***。
通常用户需要向银行贷款,银行会根据用户的风险等级来确定每个用户的贷款额度。假设有2亿个用户,用i表示,需要向10家银行贷款,用j表示。每家银行会对每个用户进行贷款评估,确定一个通过率,用pij表示,每个用户有额度限制,用ai表示,每个用户有风险等级,用ri表示,每家银行有风险金额上限控制,记为Rj。假设现在需要决策每家银行向每个用户审批多少贷款额度,记为xij,目标是最大化通过率(即希望用户能最大化审批额度)。
用户可以针对上述优化问题构建原始优化模型,比如,该原始优化模型可以通过公式(1)表示,约束条件可以通过以下公式(2)表示:
Figure 223217DEST_PATH_IMAGE057
公式(1)
Figure 924325DEST_PATH_IMAGE059
Figure 522797DEST_PATH_IMAGE061
公式(2)
即原始优化模型的优化目标是最大化用户通过率,约束条件包括两种:(1)每个用户的贷款额度不能超过上限,(2)每个银行的风险金额不能超过上限。
然后可以通过本说明书实施例提供的方法确定该原始优化模型的优化结果。
比如,用户可以通过交互界面定义该原始优化模型的决策变量、优化目标、约束条件、以及相关的业务数据,比如,2亿用户的用户数据(用户风险等级、额度限制、相对于各银行的贷款通过率等),以及10家银行的数据(银行的风险金额上限等)。
由于数据量较大,决策变量多达20亿,为了提高处理效率,因而可以借助分布式计算***求解上述业务问题。如图3所示,分布式计算***包括一个主节点、一个算子节点和若干个工作节点(假设有5个工作节点),为了提高处理效率,用户可以将业务数据划分成多个数据分片,比如,可以划分成5个数据分片,每个数据分片包括0.4亿个用户的用户数据和银行数据,然后将数据分片、原始优化模型、约束条件输入。每个工作节点可以获取一个数据分片、原始优化模型、以及约束条件,之后每个工作节点都可以执行相同的流程,得到每个数据分片对应的目标优化模型,其中,每个目标优化模型相当于原始优化问题的一个子模型,各包含原始决策变量中的一部分,比如,一共有20亿个决策变量,每个工作节点构建的目标模型包含4亿的决策变量。具体的,每个工作节点的处理流程如下:
1、从数据分片中提取原始优化模型中的一部分决策变量的系数,得到一个N维的 向量Q,其中,N为决策变量的数量(4亿个)。比如,可以提取每个决策变量
Figure 337169DEST_PATH_IMAGE063
的系数
Figure 582468DEST_PATH_IMAGE066
,得 到向量Q,进而可以得到决策变量项Q
Figure 52764DEST_PATH_IMAGE063
2、从数据分片中提取每个约束条件中决策变量的系数,构建得到N×M维的第一约 束矩阵A。其中,N为决策变量的数量(4亿个),M为约束条件的个数,第i行第j列为第N个决策 变量在第M个约束条件中的系数。比如,针对不等式约束条件
Figure 782822DEST_PATH_IMAGE084
,可以提取每个决策 变量的系数1,针对不等式约束条件
Figure 576335DEST_PATH_IMAGE085
,可以提取每个决策变量的系数
Figure 366436DEST_PATH_IMAGE072
。然后可 以构建一个2×4亿的第一约束矩阵。然后可以提取各约束条件中的限制值(不等式右侧的 值),构建M×1的第二约束矩阵A’,比如,从约束条件
Figure 324028DEST_PATH_IMAGE084
中提取
Figure 952718DEST_PATH_IMAGE081
,从约束条件
Figure 7261DEST_PATH_IMAGE086
中提取
Figure 640368DEST_PATH_IMAGE080
,构建第二约束矩阵A ’:(
Figure 6627DEST_PATH_IMAGE081
Figure 750592DEST_PATH_IMAGE080
)。
进而,可以得到约束项A
Figure 816899DEST_PATH_IMAGE063
-A ’。
3、构建二次项B,该二次项包含一个对角矩阵,对角矩阵中的元素为变量t。
4、基于决策变量项、约束项、以及对角矩阵构建每个数据分片对应的目标优化模型。可以在约束项中添加对偶变量λ,然后将决策变量项、添加对偶变量的约束项、对角矩阵求和,得到目标优化模型。举个例子,目标优化模型可以表示成如下公式(3)(当然实际可能更复杂):
F(
Figure 683224DEST_PATH_IMAGE088
)= Q
Figure 818671DEST_PATH_IMAGE063
+λ(A
Figure 350015DEST_PATH_IMAGE090
+B(t)公式(3)
其中,目标优化模型的待优化变量除了原始的决策变量
Figure 379151DEST_PATH_IMAGE092
还包括t、λ。
各工作节点在构建好各数据分片对应的目标优化模型后,即可以通过分布式计算***求解目标优化模型的各决策变量,具体的求解过程如下:
其中,各工作节点、主节点以及算子节点迭代执行以下步骤,以得到各个目标优化模型中的决策变量的最优解:
当第K-1轮迭代完成后,主节点可以基于约束误差判定是否继续第K轮迭代,如果确定需要继续迭代,则通知算子节点。
算子节点在接收到主节点的通知后,可以将主节点第K-1轮的迭代任务的状态更 新为完成状态。然后算子节点可以开始第K轮的迭代任务,具体的,可以从各工作节点中获 取第K-1轮迭代后各工作节点对应的约束值
Figure DEST_PATH_IMAGE094
Figure DEST_PATH_IMAGE096
(其中,
Figure 511317DEST_PATH_IMAGE063
为各工作节点中的 决策变量在第K-1轮的优化结果),然后累计各工作节点的约束值,并计算各约束条件对应 的约束误差
Figure DEST_PATH_IMAGE098
的绝对值,以及
Figure DEST_PATH_IMAGE100
的绝对值,作为约束误差。然后可以将 约束误差发送给主节点,同时可以根据约束误差确定目标模型中的目标变量λ、t在第K轮的 求解结果;然后可以将目标变量λ、t在第K轮的求解结果发送给各工作节点。
各工作节点在接收到目标变量λ、t在第K轮的求解结果后,可以用该求解结果更新 目标优化模型中的λ、t,得到更新后的模型,然后对更新后的模型求解,得到各决策变量在 第K轮迭代的优化结果,并根据约束条件计算约束值,比如,根据各决策变量在第K轮迭代的 优化结果计算
Figure 23525DEST_PATH_IMAGE094
Figure DEST_PATH_IMAGE101
,得到第K轮的约束值,然后发送给算子节点。算子节点在接收 到所有工作节点发送的约束值后,即可以将工作节点第K轮迭代任务的处理情况更新为完 成状态。
主节点在接收到算子节点发送的约束误差后,即可以根据约束误差确定是否还要继续迭代,比如,第K轮迭代确定的约束误差和第K-1轮迭代确定的约束误差小于约束阈值,则可以停止迭代,否则通知算子节点继续下一轮迭代。主节点在通知算子节点继续下一轮迭代后,可以处理一些和迭代任务无关的工作,以最大化的利用主节点的计算资源。
通过重复上述迭代过程,直至迭代结束,即可以得到最终各决策变量的优化结果,作为业务问题的最终解。
以上实施例中的各种技术特征可以任意进行组合,只要特征之间的组合不存在冲突或矛盾,但是限于篇幅,未进行一一描述,因此上述实施方式中的各种技术特征的任意进行组合也属于本说明书公开的范围。
相应地,本说明书实施例还提供一种计算机设备,如图4所示,该计算机设备中包括上述实施例中的主节点、工作节点、算子节点中的至少一种。其中,该主节点、工作节点、算子节点在构建目标优化模型,以及求解目标优化模型时的具体处理流程可以参考上述实施例中的描述,在此不再赘述。
相应地,本说明书实施例还提供一种计算机存储介质,所述存储介质中存储有程序,所述程序被处理器执行时实现上述任一实施例中的主节点、算子节点或者工作节点执行的步骤流程。
本说明书实施例可采用在一个或多个其中包含有程序代码的存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。计算机可用存储介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括但不限于:相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
本领域技术人员在考虑说明书及实践这里公开的说明书后,将容易想到本说明书实施例的其它实施方案。本说明书实施例旨在涵盖本说明书实施例的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书实施例的一般性原理并包括本说明书实施例未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书实施例的真正范围和精神由下面的权利要求指出。
应当理解的是,本说明书实施例并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书实施例的范围仅由所附的权利要求来限制。
以上所述仅为本说明书实施例的较佳实施例而已,并不用以限制本说明书实施例,凡在本说明书实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书实施例保护的范围之内。

Claims (13)

1.一种分布式计算***,所述分布式计算***包括主节点、算子节点以及若干个工作节点,所述分布式计算***用于确定基于原始优化问题构建的多个目标优化模型中的决策变量的优化结果,每个目标优化模型中包括所述原始优化问题的部分决策变量,以及在所述目标优化模型中并入所述原始优化问题的约束条件时引入的目标变量,每个工作节点对应一个目标优化模型;
其中,所述主节点、所述算子节点以及所述若干个工作节点用于迭代执行以下步骤:
所述主节点用于接收所述算子节点发送的上一轮迭代确定的所述约束条件对应的约束误差,并基于上一轮迭代确定的所述约束条件对应的约束误差确定是否终止当前一轮迭代任务,并通知所述算子节点;
所述算子节点用于在接收到所述主节点发送的指示当前一轮迭代任务未终止的指示信息后,基于上一轮迭代对应的约束误差确定所述目标变量在当前一轮迭代的优化结果并发送给所述工作节点;
所述工作节点用于利用所述算子节点发送的所述目标变量在当前一轮迭代的优化结果更新所述工作节点对应的目标优化模型,并确定更新后的目标优化模型中各决策变量在当前一轮迭代的优化结果;
所述算子节点用于基于每个所述工作节点确定的各决策变量在当前一轮迭代的优化结果确定所述约束条件在当前一轮迭代对应的约束误差,并发送给所述主节点。
2.根据权利要求1所述的分布式计算***,所述算子节点用于基于每个所述工作节点在当前一轮迭代确定的各决策变量的优化结果确定所述约束条件在当前一轮迭代对应的约束误差,包括:
从每个所述工作节点中获取当前一轮迭代确定的各决策变量的优化结果,基于从各工作节点获取的所述决策变量的优化结果以及所述约束条件确定所述约束条件在当前一轮迭代对应的约束误差;或
从每个所述工作节点中获取约束值,累计从各工作节点获取的约束值,并基于累计结果和约束条件确定所述约束条件在当前一轮迭代对应的约束误差,所述约束值基于当前一轮迭代确定的各决策变量的优化结果以及所述约束条件确定。
3.根据权利要求1所述的分布式计算***,所述算子节点还用于在接收到所述主节点发送的所述指示信息后,将所述主节点的上一轮迭代任务的状态更新为完成状态;
以及用于在接收到所有工作节点发送的所述决策变量在当前一轮迭代的优化结果或约束值后,将所述工作节点当前一轮迭代任务的状态更新为完成状态,所述约束值基于所述决策变量在当前一轮迭代的优化结果以及所述约束条件确定。
4.根据权利要求1所述的分布式计算***,所述主节点还用于在通知所述算子节点当前一轮迭代任务未终止后,执行与所述迭代任务无关的其他任务。
5.根据权利要求1所述的分布式计算***,所述目标优化模型基于以下方式得到:
利用对偶变量将所述原始优化问题的约束条件耦合到所述原始优化问题对应的原始优化模型中,构建所述目标优化模型;
其中,所述目标变量包括所述对偶变量。
6.根据权利要求5所述的分布式计算***,所述目标优化模型中还包括二次惩罚项,所述二次惩罚项中包含指定变量,所述目标变量还包括所述指定变量。
7.根据权利要求1所述的分布式计算***,所述约束条件包括等式约束条件和不等式约束条件,所述算子节点用于基于每个所述工作节点在当前一轮迭代确定的各决策变量的优化结果,以及所述等式约束条件确定当前一轮迭代对应的等式约束误差;
以及用于基于每个所述工作节点在当前一轮迭代确定的各决策变量的优化结果,以及所述不等式约束条件确定当前一轮迭代对应的不等式约束误差。
8.根据权利要求1所述的分布式计算***,所述工作节点还用于执行以下步骤:
获取用户提交的处理请求,所述处理请求中包括基于所述原始优化问题构建的原始优化模型、所述原始优化模型对应的约束条件以及数据分片,所述数据分片为与所述原始优化问题的部分决策变量相关的数据;
基于所述原始优化模型、所述数据分片、以及所述约束条件构建目标优化模型,所述目标优化模型的优化目标与所述原始优化模型的优化目标等价,所述目标优化模型可分解成多个可并行求解的子模型。
9.根据权利要求8所述分布式计算***,所述工作节点用于基于所述原始优化模型、所述数据分片、以及所述约束条件构建目标优化模型时,具体用于:
基于所述数据分片确定与所述原始优化模型中的决策变量相关的决策变量项;
基于所述约束条件以及所述数据分片确定所述原始优化模型对应的约束项;
基于所述决策变量项以及所述约束项,构建所述目标优化模型。
10.根据权利要求9所述分布式计算***,所述工作节点用于基于所述数据分片确定与所述原始优化模型中的决策变量相关的决策变量项时,具体用于:
从所述数据分片中提取所述原始优化模型中的决策变量对应的系数,构建系数矩阵,其中,所述系数矩阵为N×1维矩阵,N为所述数据分片中包括的决策变量的数量;
基于所述系数矩阵和所述数据分片中包括的决策变量构建所述决策变量项。
11.根据权利要求9所述分布式计算***,所述工作节点用于基于所述数据分片以及所述约束条件确定所述原始优化模型的约束项时,具体用于:
分别从所述数据分片中提取每个约束条件中的决策变量对应的系数,构建第一约束矩阵,所述第一约束矩阵为M×N维的矩阵,其中,M表示约束条件的数量,N表示所述数据分片中包括的决策变量的数量;
分别从所述数据分片中提取每个约束条件中的限制值,构建第二约束矩阵,其中,所述第二约束矩阵为M×1维矩阵,M表示约束条件的数量;
基于所述第一约束矩阵、所述第二约束矩阵和所述数据分片中包括的决策变量构建所述约束项。
12.根据权利要求9所述分布式计算***,所述约束项包括等式约束项和不等式约束项,所述等式约束基于所述约束条件中的等式约束条件构建,所述不等式约束项基于所述约束条件中的不等式约束条件构建。
13.一种计算机设备,所述计算机设备包括如权利要求1-12任一项中所述的分布式计算***中的所述主节点、所述工作节点和/或所述算子节点。
CN202210481598.5A 2022-05-05 2022-05-05 分布式计算***以及计算机设备 Active CN114581221B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210481598.5A CN114581221B (zh) 2022-05-05 2022-05-05 分布式计算***以及计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210481598.5A CN114581221B (zh) 2022-05-05 2022-05-05 分布式计算***以及计算机设备

Publications (2)

Publication Number Publication Date
CN114581221A CN114581221A (zh) 2022-06-03
CN114581221B true CN114581221B (zh) 2022-07-29

Family

ID=81777911

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210481598.5A Active CN114581221B (zh) 2022-05-05 2022-05-05 分布式计算***以及计算机设备

Country Status (1)

Country Link
CN (1) CN114581221B (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103078941A (zh) * 2012-12-31 2013-05-01 中金数据***有限公司 一种分布式计算***的任务调度方法及***
CN106845519A (zh) * 2016-12-20 2017-06-13 南京信息工程大学 一种分布式实现的稀疏子空间聚类方法
CN110221973A (zh) * 2019-05-22 2019-09-10 湖南泛联新安信息科技有限公司 面向c程序缺陷检测的靶向式并行符号执行方法
CN111899054A (zh) * 2020-07-28 2020-11-06 华中科技大学 面向分布式可再生能源产消者的共享储能控制方法和***
CN112136109A (zh) * 2019-04-24 2020-12-25 阿里巴巴集团控股有限公司 分布式资源分配
CN112166413A (zh) * 2019-04-24 2021-01-01 阿里巴巴集团控股有限公司 分布式资源分配
CN112861357A (zh) * 2021-02-10 2021-05-28 福州大学 一种多微能网耦合***分布式协同调度方法及***
CN113326122A (zh) * 2021-03-02 2021-08-31 东南大学 无线分布式计算***及资源分配方法
CN113408741A (zh) * 2021-06-22 2021-09-17 重庆邮电大学 一种自适应网络拓扑的分布式admm机器学习方法
CN114065488A (zh) * 2021-11-04 2022-02-18 浙江工业大学 计及碳交易的综合能源***分布式解耦优化方法和***

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8412551B2 (en) * 2004-10-21 2013-04-02 Abb Research Ltd. Formal structure-based algorithms for large scale resource scheduling optimization
WO2015055502A2 (en) * 2013-10-18 2015-04-23 Thomson Licensing Method of partitioning storage in a distributed data storage system and corresponding device
CN108984972B (zh) * 2018-08-24 2022-06-24 浪潮软件股份有限公司 一种基于大数据和并行计算的水质数学模型优化方法
CN111158900B (zh) * 2019-12-09 2023-01-03 中国船舶集团有限公司第七一六研究所 轻量化分布式并行计算***及方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103078941A (zh) * 2012-12-31 2013-05-01 中金数据***有限公司 一种分布式计算***的任务调度方法及***
CN106845519A (zh) * 2016-12-20 2017-06-13 南京信息工程大学 一种分布式实现的稀疏子空间聚类方法
CN112136109A (zh) * 2019-04-24 2020-12-25 阿里巴巴集团控股有限公司 分布式资源分配
CN112166413A (zh) * 2019-04-24 2021-01-01 阿里巴巴集团控股有限公司 分布式资源分配
CN110221973A (zh) * 2019-05-22 2019-09-10 湖南泛联新安信息科技有限公司 面向c程序缺陷检测的靶向式并行符号执行方法
CN111899054A (zh) * 2020-07-28 2020-11-06 华中科技大学 面向分布式可再生能源产消者的共享储能控制方法和***
CN112861357A (zh) * 2021-02-10 2021-05-28 福州大学 一种多微能网耦合***分布式协同调度方法及***
CN113326122A (zh) * 2021-03-02 2021-08-31 东南大学 无线分布式计算***及资源分配方法
CN113408741A (zh) * 2021-06-22 2021-09-17 重庆邮电大学 一种自适应网络拓扑的分布式admm机器学习方法
CN114065488A (zh) * 2021-11-04 2022-02-18 浙江工业大学 计及碳交易的综合能源***分布式解耦优化方法和***

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Optimization of Distributed ADMM Algorithm Based on Minimum Network Latency;Shuai Zeng;《2019 12th International Symposium on Computational Intelligence and Design (ISCID)》;20191215;全文 *
可扩展机器学习的并行与分布式优化算法综述;亢良伊等;《软件学报》;20171009(第01期);全文 *
基于交替方向乘子法的大规模线性多商品流问题求解算法;徐薇等;《计算数学》;20181114(第04期);全文 *

Also Published As

Publication number Publication date
CN114581221A (zh) 2022-06-03

Similar Documents

Publication Publication Date Title
WO2022037337A1 (zh) 机器学习模型的分布式训练方法、装置以及计算机设备
Shahvari et al. Hybrid flow shop batching and scheduling with a bi-criteria objective
US8250007B2 (en) Method of generating precedence-preserving crossover and mutation operations in genetic algorithms
US8898108B2 (en) System and method for scheduling data storage replication over a network
Talebiyan et al. Decentralized decision making for the restoration of interdependent networks
EP1979813B1 (en) Method for modeling a free pool of resources
Yeh et al. Economic-based resource allocation for reliable Grid-computing service based on Grid Bank
CN111552509B (zh) 一种接口间依赖关系的确定方法及装置
CN116501711A (zh) 一种基于“存算分离”架构的算力网络任务调度方法
CN114581220B (zh) 数据处理方法、设备及分布式计算***
US8271311B2 (en) System and method for resource allocation of semiconductor testing industry
Cui et al. A hybrid combinatorial approach to a two-stage stochastic portfolio optimization model with uncertain asset prices
CN106708875B (zh) 一种特征筛选方法及***
CN114581221B (zh) 分布式计算***以及计算机设备
CN111241052B (zh) 一种基于凸优化方法的分布式文件***数据放置方法
US9841990B2 (en) Encoding of a schedule into a binary structure
CN114581160B (zh) 资源分配方法、分布式计算***及设备
CN115936875A (zh) 金融产品挂单处理方法和装置
CN114115818A (zh) 一种微服务划分方法、装置、设备及介质
CN113159926A (zh) 贷款业务的还款日期确定方法及装置
Li et al. A sort-based interest matching algorithm with two exclusive judging conditions for region overlap
CN116679639B (zh) 金属制品生产控制***的优化方法及***
CN116187895B (zh) 一种智能仓储货流规划方法、***及电子设备
US11656887B2 (en) System and method to simulate demand and optimize control parameters for a technology platform
CN117112369B (zh) 一种基于区块链的设备管理SaaS***

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