掌桥专利:专业的专利平台
掌桥专利
首页

工业规划的方法、装置、设备、存储介质和程序产品

文献发布时间:2023-06-19 18:32:25


工业规划的方法、装置、设备、存储介质和程序产品

技术领域

本申请的实施例主要涉及人工智能技术领域。更具体地,本申请的实施例涉及用于工业规划的方法、装置、设备、计算机可读存储介质以及计算机程序产品。

背景技术

工业生产中存在大量的规划问题都可以用混合整数规划(mixed integerprogramming,MIP)模型来表示,例如工厂排产、生产调度、三维装箱和厂址选择,这些问题的共同点是存在至少一个目标,并要求变量满足一系列的约束条件,这些约束条件往往来自于业务要求或者实际需要。这样的工业规划问题通常涉及较为复杂的计算,并需要耗费较高的时间成本和/或计算成本才能够得到较优或最优的规划方案。而在实际工业生产场景中,工业规划的问题规模往往非常庞大,涉及到的约束条件和参数众多,对生产的规划速度成为了制约提高生产量的重要环节。

因此,如何提高工业规划的效率已经成为当前关注的焦点。

发明内容

本申请的实施例提供了一种工业规划的方案。

在本申请的第一方面,提供了一种工业排产的方法。该方法包括:获取针对工业排产任务中的多个排产参数的第一组约束,多个排产参数至少包括生产方的生产量;基于第一组约束,构建与多个排产参数中的至少一个整型参数相关联的割约束;基于割约束和第一组约束,构建第二组约束,在第二组约束中至少一个整型参数的类型被改变;以及基于第二组约束,确定多个排产参数的值,以用于生成针对排产任务的排产计划。

示例性地,这样的排产任务可以是确定关于多个生产方的生产安排,以完成预定的生产计划。相应地,排产计划例如可以指示多个生产方的具体生产计划。在一些实施例中,可以由与确定多个排产参数的值的相同或不同的设备根据所确定的多个排产参数的值来生成排产计划。

本申请的实施例通过将工业排产任务转换为第一组约束(例如,混合整数规划MIP问题),并基于MIP问题本身出发来构建与整型参数(也称为整数变量)相关联的割约束(也称为割平面约束),而不依赖于传统的基于松弛模型求解结果来构建割约束。此外,这样的割约束进一步被应用构建MIP问题的松弛模型,以用于指导MIP问题的求解。应当理解,“约束”可以表示对于参数的取值范围的限定和/或不同参数之间应当满足的约束关系等。

此外,本申请的实施例还将割约束和第一组约束来构建第二组约束,以作为MIP问题的松弛模型。在该松弛模型中,至少一个整型参数的类型可以被改变,例如可以取值为实数,而不必须为整数。

基于这样的方式,本申请的实施例能够基于规划模型的问题结构来生成与整型参数对应的割约束,这使得所构建的松弛模型能够获得更加接近于MIP问题的最优解,进而能够构建得到具有更高求解质量的松弛模型。这样的问题结构例如可以指示参数之间的解空间约束、时间约束、顺序约束;或者也可以指示与变量有关的约束的表达特性。此外,在获得了基于松弛模型的更高质量求解后,在后续求解过程中可以基于较少的计算成本来获得MIP问题的最终求解。由此,本申请的实施例能够降低用于工业排产的时间成本或计算成本,从而提高提高工业排产的效率。

在第一方面的一些实施例中,获取针对工业排产任务的第一组约束包括:从用户输入中确定与工业排产任务相关联的任务信息,任务信息至少指示:待确定的多个排产参数,与多个排产参数的取值相关的参数约束和与工业排产任务相关的排产目标;以及基于任务信息,构建第一组约束。

以这种方式,本申请的实施例基于用户输入来自动地生成第一组约束,也即从用户输入来构建与工业排产任务对应的MIP问题。由此,本申请的实施例能够为用户提供一种更为友好的交互方式,而降低用户关于如何构建约束或者表达约束的学习成本,从而提高工业排产的效率。

在第一方面的一些实施例中,基于第一组约束构建与多个排产参数中的至少一个整型参数相关联的割约束包括:从多个排产参数中标识至少一个整型参数;从第一组约束中确定与至少一个整型参数相关联的目标约束;以及基于目标约束,构建与至少一个整型参数相关联的割约束。

基于这样的方式,本申请的实施例能够基于MIP问题中与整型参数有关的约束的问题结构来构建相应的割约束。由此,本申请的实施例在构建割约束时不再依赖于之前求解的结果,在开始求解松弛模型之前缩小求解空间,可以有效提高整个求解过程的效率,并使得所构建的割约束能够体现MIP问题中原始问题结构的信息。

在第一方面的一些实施例中,基于第一组约束构建与多个参数中的至少一个整型参数相关联的割约束包括:从用户输入中确定构建割约束的割构建方案的标识;基于标识,从一组割约束构建方案中确定目标构建方案;以及基于目标构建方案,构建与至少一个整型参数相关联的割约束。

以这种方式,本申请的实施例能够为用户提供一组可选的割约束构建方案,并使得用户能够根据实际需要来个性化地选择所需要的割约束构建方案。由此,这将能够支持用户根据实际需要来选择更为有效的割约束构建方案,从而提高工业排产的效率。

在第一方面的一些实施例中,一组割约束构建方案包括以下中的至少一项:探测割约束Probing Cuts构建方案、几何割约束Gomory Cuts构建方案、交叉割约束Intersection Cuts构建方案、T-空间割约束T-space Cuts构建方案或下界冲突驱动的割约束构建方案。应当理解,这样的割约束方案旨在能够利用目标约束的问题结构本身来进行构建对应的割约束,而不依赖于变量的求解结果,任何其他适当的割约束方案也是可行的。

在第一方面的一些实施例中,基于割约束和第一组约束构建第二组约束包括:通过移除至少一个整型参数的整型取值约束,将第一组约束转换为对应的一组松弛约束;以及基于割约束和一组松弛约束,构建第二组约束。

通过这种方式,本申请的实施例能够利用所构建的割约束来与第一组约束(即,原MIP问题)所对应的一组松弛约束(即,线性规划问题)一同形成第二组约束,也即与MIP问题所对应的松弛模型。由此,本申请的实施例能够提高松弛模型的求解质量,进而提高工业排产的整体效率。

在本申请的第二方面,提供了一种工业规划的方法。该方法包括:获取针对工业规划任务中的多个参数的第一组约束;基于第一组约束,构建与多个参数中的至少一个整型参数相关联的割约束;基于割约束和第一组约束,构建第二组约束,在第二组约束中至少一个整型参数的类型被改变;以及基于第二组约束,确定多个参数的值,以用于生成针对工业规划任务的规划方案。

本申请的实施例通过将工业规划任务转换为第一组约束(例如,混合整数规划MIP问题),并基于MIP问题本身出发来构建与整型参数(也称为整数变量)相关联的割约束(也称为割平面约束),而不依赖于传统的基于松弛模型求解结果来构建割约束。此外,这样的割约束进一步被应用构建MIP问题的松弛模型,以用于指导MIP问题的求解。

此外,本申请的实施例还将割约束和第一组约束来构建第二组约束,以作为MIP问题的松弛模型。在该松弛模型中,至少一个整型参数的类型可以被改变,例如可以取值为实数,而不必须为整数。

基于这样的方式,本申请的实施例能够基于规划模型的问题结构来生成与整型参数对应的割约束,这使得所构建的松弛模型能够获得更加接近于MIP问题的最优解,进而能够构建得到具有更高求解质量的松弛模型。这样的问题结构例如可以指示参数之间的解空间约束、时间约束、顺序约束;或者也可以指示与变量有关的约束的表达特性。此外,在获得了基于松弛模型的更高质量求解后,在后续求解过程中可以基于较少的计算成本来获得MIP问题的最终求解。由此,本申请的实施例能够降低用于工业规划的时间成本或计算成本,从而提高工业规划的效率。

在第二方面的一些实施例中,所构建的规划方案可以被存储。备选地或附加地,所构建的规划方案可以也可以通过适当的方式被输出。在一等方面的一些实施例中,所构建的规划方案还可以被发送至对应的主体以用于指导工业规划任务的执行。

在第二方面的一些实施例中,工业规划任务包括以下中的一项:工业排产任务、资源调度任务、路径规划任务或目标选址任务。例如,工业排产任务可以是规划用于指导不同生产方执行生产的方案。资源调度任务可以包括多种类型,例如用于指导电力资源调度的电力调度任务、用于指导不同生产资源调度的生产调度任务、用于指导物流公司对物流车辆和配送人员资源进行调度的物流调度任务等。路径规划任务例如可以包括用于指导不同配送车辆配送货物的路线的车辆路径规划任务。这也被称为VRP(Vehicle RoutingProblem,车辆路径问题)。目标选址任务例如可以包括用于指导特定企业或设施的选址的设施选址任务,其这也被称为设施选址问题(Facility Location Problem)。应当理解,本申请所讨论的工业规划任务例如还可以包括能够通过一个或多个MIP模型来表示的其他类型的工业规划任务。

在第二方面的一些实施例中,获取针对工业规划任务的第一组约束包括:从用户输入中确定与工业规划任务相关联的任务信息,任务信息至少指示:待确定的多个参数,与多个参数的取值相关的参数约束和与工业规划任务相关的目标;以及基于任务信息,构建第一组约束。

例如,对于针对生产线的资源调度任务而言,待确定的多个参数可以包括各生产线的生产安排和/或各生产线中各机器的生产安排。参数约束例如可以包括各机器的产能。与资源调度任务有关的目标例如可以包括最小化总的生产工时。

以这种方式,本申请的实施例基于用户输入来自动地生成第一组约束,也即从用户输入来构建与工业规划任务对应的MIP问题。由此,本申请的实施例能够为用户提供一种更为友好的交互方式,而降低用户关于如何构建约束或者表达约束的学习成本,从而提高工业规划的效率。

在第二方面的一些实施例中,基于第一组约束构建与多个参数中的至少一个整型参数相关联的割约束包括:从多个参数中标识至少一个整型参数;从第一组约束中确定与至少一个整型参数相关联的目标约束;以及基于目标约束,构建与至少一个整型参数相关联的割约束。

基于这样的方式,本申请的实施例能够基于MIP问题中与整型参数有关的约束的问题结构来构建相应的割约束。由此,本申请的实施例在构建割约束时不再依赖于之前求解的结果,换句话说,本申请提供的方案可以直接基于问题构建割约束,而不需要先对问题进行求解,这样可以提高整个规划过程的效率,并使得所构建的割约束能够体现MIP问题中原始问题结构的信息。

在第二方面的一些实施例中,基于第一组约束构建与多个参数中的至少一个整型参数相关联的割约束包括:从用户输入中确定构建割约束的割构建方案的标识;基于标识,从一组割约束构建方案中确定目标构建方案;以及基于目标构建方案,构建与至少一个整型参数相关联的割约束。

以这种方式,本申请的实施例能够为用户提供一组可选的割约束构建方案,并使得用户能够根据实际需要来个性化地选择所需要的割约束构建方案。由此,这将能够支持用户根据实际需要来选择更为有效的割约束构建方案,从而提高工业规划的效率。

在第二方面的一些实施例中,一组割约束构建方案包括以下中的至少一项:探测割约束Probing Cuts构建方案、几何割约束Gomory Cuts构建方案、交叉割约束Intersection Cuts构建方案、T-空间割约束T-space Cuts构建方案或下界冲突驱动的割约束构建方案。应当理解,这样的割约束方案旨在能够利用目标约束的问题结构本身来进行构建对应的割约束,而不依赖于变量的求解结果,任何其他适当的割约束方案也是可行的。

在第二方面的一些实施例中,基于割约束和第一组约束构建第二组约束包括:通过移除至少一个整型参数的整型取值约束,将第一组约束转换为对应的一组松弛约束;以及基于割约束和一组松弛约束,构建第二组约束。

通过这种方式,本申请的实施例能够利用所构建的割约束来与第一组约束(即,原MIP问题)所对应的一组松弛约束一同形成第二组约束,也即与MIP问题所对应的松弛模型。由此,本申请的实施例能够使得所构建的松弛模型获得更加接近于MIP问题的最优解,从而提高松弛模型的求解质量,进而提高工业规划的整体效率。

在本申请的第三方面,提供了一种规划资源调度方案的方法。该方法包括:获取针对资源调度任务中的多个调度参数的第一组约束;基于第一组约束,构建与多个调度参数中的至少一个整型参数相关联的割约束;基于割约束和第一组约束,构建第二组约束,在第二组约束中至少一个整型参数的类型被改变;以及基于第二组约束,确定多个排产参数的值,以用于生成针对资源调度任务的调度计划。

基于这样的方式,本申请的实施例能够基于规划模型的问题结构来生成与整型参数对应的割约束,进而能够构建得到具有更高求解质量的松弛模型。由此,本申请的实施例能够降低用于规划调度计划的时间成本或计算成本,从而提高提高规划调度计划的效率。

在第三方面的一些实施例中,获取针对资源调度任务的第一组约束包括:从用户输入中确定与资源调度任务相关联的任务信息,任务信息至少指示:待确定的多个调度参数,与多个调度参数的取值相关的参数约束和与资源调度任务相关的调度目标;以及基于任务信息,构建第一组约束。

以这种方式,本申请的实施例基于用户输入来自动地生成第一组约束,也即从用户输入来构建与资源调度任务对应的MIP问题。由此,本申请的实施例能够为用户提供一种更为友好的交互方式,而降低用户关于如何构建约束或者表达约束的学习成本,从而提高规划调度方案的效率。

在第三方面的一些实施例中,基于第一组约束构建与多个排产参数中的至少一个整型参数相关联的割约束包括:从多个排产参数中标识至少一个整型参数;从第一组约束中确定与至少一个整型参数相关联的目标约束;以及基于目标约束,构建与至少一个整型参数相关联的割约束。

基于这样的方式,本申请的实施例能够基于MIP问题中与整型参数有关的约束的问题结构来构建相应的割约束。由此,本申请的实施例在构建割约束时不再依赖于之前求解的结果,并使得所构建的割约束能够体现MIP问题中原始问题结构的信息。

在第三方面的一些实施例中,基于第一组约束构建与多个参数中的至少一个整型参数相关联的割约束包括:从用户输入中确定构建割约束的割构建方案的标识;基于标识,从一组割约束构建方案中确定目标构建方案;以及基于目标构建方案,构建与至少一个整型参数相关联的割约束。

以这种方式,本申请的实施例能够为用户提供一组可选的割约束构建方案,并使得用户能够根据实际需要来个性化地选择所需要的割约束构建方案。由此,这将能够支持用户根据实际需要来选择更为有效的割约束构建方案,从而提高工业排产的效率。

在第三方面的一些实施例中,一组割约束构建方案包括以下中的至少一项:探测割约束Probing Cuts构建方案、几何割约束Gomory Cuts构建方案、交叉割约束Intersection Cuts构建方案、T-空间割约束T-space Cuts构建方案或下界冲突驱动的割约束构建方案。应当理解,这样的割约束方案旨在能够利用目标约束的问题结构本身来进行构建对应的割约束,而不依赖于变量的求解结果,任何其他适当的割约束方案也是可行的。

在第三方面的一些实施例中,基于割约束和第一组约束构建第二组约束包括:通过移除至少一个整型参数的整型取值约束,将第一组约束转换为对应的一组松弛约束;以及基于割约束和一组松弛约束,构建第二组约束。

通过这种方式,本申请的实施例能够利用所构建的割约束来与第一组约束(即,原MIP问题)所对应的一组松弛约束(即,线性规划问题)一同形成第二组约束,也即与MIP问题所对应的松弛模型。由此,本申请的实施例能够提高松弛模型的求解质量,进而提高规划调度方案的整体效率。

在本申请的第四方面,提供了一种用于工业排产的装置。该装置包括:约束获取单元;割约束构建单元;约束松弛单元;以及排产单元。该装置中的这些单元被配置为执行根据第一方面所描述的方法。

在本申请的第五方面,提供了一种用于工业规划的装置。该装置包括:约束获取单元;割约束构建单元;约束松弛单元;以及规划单元。该装置中的这些单元被配置为执行根据第二方面所描述的方法。

在本申请的第六方面,提供了一种用于规划资源调度方案的装置。该装置包括:约束获取单元;割约束构建单元;约束松弛单元;以及调度规划单元。该装置中的这些单元被配置为执行根据第三方面所描述的方法。

在本公开的第七方面,提供了一种电子设备,包括:至少一个计算单元;至少一个存储器,至少一个存储器被耦合到至少一个计算单元并且存储用于由至少一个计算单元执行的指令,指令当由至少一个计算单元执行时,使得设备执行根据第一方面、第二方面或第三方面的方法。

在本公开的第八方面,提供了一种计算机可读存储介质,其上存储有一条或多条计算机指令,其中一条或多条计算机指令被处理器执行实现根据第一方面、第二方面或第三方面的方法。

在本公开的第九方面,提供一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行根据第一方面、第二方面或第三方面的方法的部分或全部步骤的指令。

可以理解地,上述提供的第四至第六方面的装置、第七方面的电子设备、第八方面的计算机存储介质或者第九方面的计算机程序产品均用于执行第一方面、第二方面或第三方面所提供的方法。因此,关于第一方面、第二方面或第三方面的解释或者说明同样适用于第四方面、第五方面、第六方面、第七方面、第八方面和第九方面。此外,第四方面、第五方面、第六方面、第七方面、第八方面和第九方面所能达到的有益效果可参考对应方法中的有益效果,此处不再赘述。

附图说明

结合附图并参考以下详细说明,本申请各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标注表示相同或相似的元素,其中:

图1示出了传统的求解MIP问题的过程的流程图;

图2示出了本申请的多个实施例能够在其中实现的示例环境的示意图;

图3示出了根据本申请的一些实施例的工业规划的示例过程的流程图;

图4示出了根据本申请的一些实施例的利用MIP求解器来求解MIP问题的示例过程的流程图;

图5示出了根据本申请的一些实施例的工业生产的示意图;

图6示出了根据本申请的一些实施例的排产过程与传统的排产过程的性能对比图;

图7示出了根据本申请的一些实施例的资源调度的示意图;

图8A至图8C示出了根据本申请的一些实施例的装置的框图;以及

图9示出了能够实施本申请的多个实施例的计算设备的框图。

具体实施方式

下面将参照附图更详细地描述本申请的实施例。虽然附图中显示了本申请的某些实施例,然而应当理解的是,本申请可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本申请。应当理解的是,本申请的附图及实施例仅用于示例性作用,并非用于限制本申请的保护范围。

在本申请的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。

如上文所讨论的,工业规划问题是人们生产生活中经常遇到的问题,例如,人们需要安排不同工厂的排产以实现预定的生产计划;或者,人们需要安排不同货物的物流配送方案等等。这样的工业规划问题大部分可以表示为混合整数规划MIP问题,并可以通过MIP模型来表示。例如,这样的MIP模型可以表示为:

s.t.

其中,公式(1)表示与工业规划任务相关联的目标,也称为决策目标;公式(2)-公式(4)表示与多个参数的取值相关联的参数约束,也称为决策约束。x

传统地,求解MIP问题的方法一般可以分成两类:一种是启发式方法,该方法试图将约束嵌入到启发式的搜索规则里,从而直接求解。另一种则是直接调用数学规划求解器进行求解。目前,存在多种用于求解MIP问题的求解器。

在传统的利用MIP求解器来求解MIP的过程中,MIP求解器通常通过将MIP问题松弛为线性规划LP问题,并通过求解LP问题来获得原MIP问题的解。图1示出了传统的求解MIP问题的过程100的流程图。

如图1所示,在102,对MIP问题进行预求解(pre-solve),这样的预求解旨在降低MIP问题的规模。在104,通过将整型参数的取值从整型扩展到浮点型,从而构建松弛模型,也即,线性规划模型。在106,可以利用适当的方法来求解线性规划问题。

在108,基于线性规划问题的求解结果,遍历每个整型参数节点,并确定整型参数的当前取值是否为整数。如果取值为整数,则可以进行到下一个整型参数节点。如果取值不为整数,则可以进行到110。在110,可以基于该整型参数来生成新的线性规划问题。

在一些情况下,在112,可以基于当前整型变量的可能整数解来确定其他约束是否存在冲突,也即执行冲突分析。如果不存在冲突,则可以对下一个整型参数节点进行分析。相反,如果存在冲突,则需要对该新的线性规划问题进行求解。

在114,可以基于新的线性规划问题的求解结果来确定该整型参数的边界(即,bound)。在116,可以基于定界的结果来构建割约束Cuts(也称为割平面约束)。在118,基于启发式算法来对添加了割约束的模型进行简化,以例如去除冗余约束。

能够看到,在传统的MIP问题求解过程(例如,过程100)中,割约束构建模块是直接添加到原有的分支步骤之后,以期完成更好的决策。然而,一方面,这样的割约束的构建总是依托于上一轮线性规划模型的求解结果,这将无法构建问题结构中所蕴含的割约束。另一方面,在这样的过程中,将在多次分支与定界过程中引入割约束,这将提高求解MIP问题的计算成本,从而降低了工业规划的效率。

示例环境

根据本申请的各种实施例,提供了一种工业规划的方案。在本申请的实施例中,规划设备获取针对工业规划任务中待确定的多个参数的第一组约束,例如第一组约束可以通过MIP模型来表示,待确定的多个参数可以包括MIP模型中的决策变量。进一步地,规划设备基于第一组约束来构建与多个参数中的至少一个整型参数相关联的割约束。

进一步地,割约束和第一组约束用于构建第二组约束,也即,MIP模型的松弛模型,其中在第二组约束中至少一个整型参数的类型被改变,例如,例如从整型参数转换为浮点型参数。规划设备基于第二组约束来确定多个参数的值,从而生成针对工业规划任务的规划方案。基于这样的方式,本申请的实施例能够在构建初始松弛模型阶段添加割约束,从而提高初始松弛模型的求解质量。这能够进一步降低计算成本和时间成本,从而提高工业规划的效率。

图2示出了本申请的多个实施例能够在其中实现的示例环境200的示意图。如图2所示,环境200包括规划设备240,规划设备240被配置为获取第一组约束230。如上文所讨论的,第一组约束230例如可以表示为如参考公式(1)至公式(4)所讨论的MIP模型。

在一些实施例中,第一组约束230例如是可以基于用户输入220所确定的。示例性地,用户例如可以通过终端设备210输入与工业规划任务相关联的任务信息。例如,以工业排产作为示例,用户例如可以通过终端设备210输入待确定的多个参数,例如,各个工厂的日产量。此外,用户还可以输入与该多个参数取值相关联的约束,例如,每个工厂的日常量应当小于或等于日产量上限。进一步地,用户还可以输入与工业规划任务(例如,排产任务)相关联的目标,例如,最大化利润、最小化加工成本、最小化加工时间等等。

在一些实施例中,可以由终端设备210基于用户输入220来生成第一组约束230,并将第一组约束230例如通过有线或无线通信发送至规划设备240。备选地,终端设备210也可以将用户输入210的相关信息发送至规划设备240,并由规划设备240基于用户输入210来构建第一组约束230。

在一些实施例中,第一组约束230例如也可以是由规划设备240所自动生成的。例如,规划设备240例如可以根据预先执行的排产计划来自动地生成与工业排产任务相关联的第一组约束230。或者,规划任务240例如可以根据从物流网站所获取的待配送物流信息,来自动地生成与路径规划任务相关联的第一组约束230。

如图2所示,规划设备240可以基于第一组约束230来确定第一约束230中所包括的多个参数的值,进而生成针对工业规划任务的规划方案250。关于工业规划的详细过程将在下文参考图3详细介绍,在此暂不详叙。

应当理解,基于具体的工业规划任务的不同,所生成的规划方案250的类型也可以不同。例如,以工业排产任务为例,规划方案250例如可以是用于指导工业排产的排产方案。这样的排产方案例如可以被发送多个生产方,以用于指导生产方基于该排产方案执行生产任务。作为另一示例,以路径规划任务作为示例,规划方案250例如可以是用于指导物流配送的配送方案,这样的配送方案例如可以被发送至多个配送方,以用于指导多个配送方根据该配送方案执行物流配送任务。

在一些实施例中,规划方案250例如也可以被发送至终端设备210,以使得终端设备210能够向用户提供与所生成的规划方案250相关的信息。例如,终端设备210可以通过屏幕上所显示的图形用户界面的方式来向用户呈现规划方案250所指示的多个参数的值。或者,作为另一示例,规划方案250可以作为独立的文档而被发送至终端设备210,以使得用户能够通过终端设备210打开该文档以查看规划方案。应当理解,规划方案250还可以按其他适当的文件格式来组织,进而被提供给用户。以工业排产作为示例,终端设备210可以从规划设备240获取排产方案,并可以通过图形用户界面来向用户直观地呈现各个生产方的排产安排,以方便用户能够更为直观地了解所生成的规划方案。

在一些实施例中,终端设备210例如还可以向用户提供编辑接口,以使得用户能够经由编辑接口来调整所提供的规划方案250。

在一些实施例中,与规划方案250有关的信息还可以通过其他适当的方式而被提供至用户。例如,规划方案250可以作为邮件正文的内容或以邮件附件的形式而被发送至用户的电子邮箱。或者,规划方案250也可以经由其他适当的工具(例如,及时通信工具、短消息应用等)而被发送给用户。

在一些实施例中,规划方案250也可以由规划设备240存在耦合的存储设备,以供用户获取。例如,规划设备240可以将所生成的规划方案250存储在网络存储设备中,并使得其通过互联网可访问。用户例如可以利用其他终端设备来访问该网络存储设备以获得所生成的规划方案。例如,规划设备240可以向终端设备210发送规划方案250的存储位置信息(例如,链接地址),以使得用户能够经由该存储位置信息来下载该规划方案。

应当理解,虽然在图2中,终端设备210和规划设备240被示出为不同的实体,但它们也可以被单个电子设备来实施。例如,用户可以向电子设备输入与工业规划任务有关的任务信息,并由该电子设备基于任务信息来构建第一组约束,并相应地生成规划方案250。

工业规划的示例过程

以下将参考图3来描述根据本申请实施例的工业规划的过程。图3示出了根据本申请的实施例的工业规划的示例过程300的流程图。过程300例如可以由图2中的规划设备240来实施。为了方便描述,以下参考图2来描述过程300。

如图3所示,在310,规划设备240获取针对工业规划任务中的多个参数的第一组约束230。如参考图2所讨论的,第一组约束230可以表示为根据公式(1)至公式(4)所描述的MIP模型。

本申请所讨论的过程300可以应用于不同类型的工业规划任务。在一些实施例中,工业规划任务可以包括工业排产任务,以例如用于指导生产方的生产。

在一些实施例中,工业规划任务可以包括资源调度任务。这样的资源调度任务例如可以包括但不限于:用于指导电力资源调度的电力调度任务、用于指导不同生产资源调度的生产调度任务、用于指导物流公司对物流车辆和配送人员资源进行调度的物流调度任务等等。

在一些实施例中,工业规划任务可以包括路径规划任务。这样的路径规划任务例如可以包括用于指导不同配送车辆配送货物的路线的车辆路径规划任务。这也被称为VRP(Vehicle Routing Problem,车辆路径问题)。

在一些实施例中,工业规划任务可以包括目标选址任务。这样的目标选址任务例如可以包括用于指导特定企业或设施的选址的设施选址任务。这也被称为设施选址问题(FacilityLocation Problem)。

应当理解,本申请所讨论的工业规划任务例如还可以包括能够通过一个或多个MIP模型来表示的其他工业规划任务。

在一些实施例中,如上文所参考图2所讨论的,第一组约束230可以是基于用户输入220所构建的。具体地,规划设备240可以从用户输入220中确定与工业规划任务相关联的任务信息。这样的任务信息可以至少指示:待确定的多个参数(也称为决策变量),与多个参数的取值相关的参数约束(也称为决策约束)和与工业规划任务相关的目标(也称为决策目标)。进一步地,规划设备240可以基于任务信息来构建第一组约束230。

在一些实施例中,如参考图2所讨论的,第一组约束230例如也可以是由规划设备240所自动生成的。例如,规划设备240例如可以根据预先执行的排产计划来自动地生成与工业排产任务相关联的第一组约束230。或者,规划任务240例如可以根据从物流网站所获取的待配送物流信息,来自动地生成与路径规划任务相关联的第一组约束230。

应当理解,根据工业规划任务的类型不同,与第一组约束230有关的待确定的多个参数可以具有不同的含义。例如,以工业排产作为示例,待确定的多个参数例如可以包括每个生产方的每日生产量。以物流配送路径规划作为示例,待确定的多个参数可以包括每个物流车辆配送的货物重量等。应当理解,取决于特定的工业规划任务,本申请所要确定的多个参数具有特定的工业含义。

在320,规划设备240基于第一组约束230来构建与多个参数中的至少一个整型参数相关联的割约束。

在一些实现中,与传统的MIP问题求解过程不同,规划设备240可以基于原始的MIP问题来构建相关的割约束。具体地,规划设备240可以首先从多个参数中标识至少一个整型参数。示例性地,规划设备240可以基于各参数的描述来确定哪些参数为整型参数,哪些参数为浮点型参数。规划设备240例如还可以为多个参数中的整型参数添加特定的标签,以方便后续针对整型参数的割约束构建。

进一步地,规划设备240可以从第一组约束230中确定与至少一个整型参数相关联的目标约束。在一些实施例中,对于至少一个整型参数,规划设备240可以从第一组约束230中筛选出包括该至少一个整型参数的约束,以作为目标约束。

示例性地,对于整型参数x

a

其中x

进一步地,规划设备240可以基于目标约束,构建与至少一个整型参数相关联的割约束。在一些实现中,规划设备240可以基于预定的割约束构建方案来构建与该至少一个整型参数相关联的割约束。

在一些实施例中,规划设备240例如可以基于探测割约束(Probing Cuts)构建方案来构建割约束。以目标约束为公式(5)作为示例,规划设备240可以基于该目标约束来计算:

其中,

其中

在一些实施例中,规划设备240例如也可以根据几何割约束(Gomory Cuts)构建方案来构建割约束。继续以目标约束为公式(5)作为示例,规划设备240可以基于该目标约束来构割约束:

对于约束(8),如果

在一些实施例中,还可以利用其他适当的构建方案来构建与整型参数相关的割约束,这样的构建方案旨在利用约束本身的问题结构来构建新的割约束。这样的构建方案的示例还可以包括但不限于:交叉割约束(Intersection Cuts)构建方案、T-空间割约束(T-space Cuts)构建方案、下界冲突驱动的割约束(lower bounds conflict-driven cuts)构建方案等等。关于这些割约束方案的细节在此不再详叙。

在一些实施例中,用于构建割约束的构建方案还可以是基于用户输入所确定的。示例性地,规划设备240可以从用户输入中确定构建割约束的割构建方案的标识,并基于标识而从一组割约束构建方案中确定目标构建方案。进一步地,规划设备240可以基于目标构建方案来构建与至少一个整型参数相关联的割约束。

在一些实施例中,该组割约束构建方案可以包括从以下构建方案选择出的方案组:探测割约束构建方案、几何割约束构建方案、交叉割约束构建方案、T-空间割约束构建方案、下界冲突驱动的割约束构建方案等等。

继续参考图3,在330,规划设备240基于割约束和第一组约束,构建第二组约束,其中在第二组约束中至少一个整型参数的类型被改变。在一些实施例中,第二组约束也可以被称为松弛模型,即线性规划模型。

具体地,规划设备240可以通过移除至少一个整型参数的整型取值约束,将第一组约束转换为对应的一组松弛约束。例如,整型参数的类型可以被转换为浮点型参数。进一步地,规划设备240可以基于割约束和一组松弛约束来构建第二组约束。

以此方式构建的第二组约束(也即,用于求解的初始松弛模型)将包括基于第一组约束的问题结构所构建的割约束,根据数学规划理论,新的松弛模型的求解空间会更接近MIP问题的求解空间,从而提升全流程的求解性能。

在340,规划设备240基于第二组约束来确定多个参数的值,以用于生成针对工业规划任务的规划方案250。

应当理解,规划设备240可以利用任何适当的过程来基于第二组约束(也即,松弛模型)来求解多个参数。例如,规划设备240可以基于上文参考图1所讨论的步骤106至118的过程来基于松弛模型来求解MIP问题。或者,规划设备240也可以利用下文所讨论的MIP求解器来基于构建的第二组约束来求解MIP问题。本申请不旨在对如何基于第二组约束来确定多个参数的值的具体过程进行限定。

在一些实施例中,如参考图2所讨论的,在确定多个参数的值后,规划设备240可以生成针对工业规划任务的规划方案250,以用于指导工业规划任务的执行。

基于上文所讨论的工业规划方案,本申请的实施例能够将工业规划任务转换为对应的规划模型,并基于规划模型的问题结构来生成与整型参数对应的割约束,这使得所构建的松弛模型能够获得更加接近于MIP问题的最优解,进而能够构建得到具有更高求解质量的松弛模型。基于这样的方式,本申请的实施例能够提高工业规划的效率,降低用于工业规划的时间成本或计算成本。

MIP求解器

本申请的实施例还提供了一种改进的MIP求解器,其能够用于求解适当的MIP问题。图4示出了根据本申请实施例的利用MIP求解器来求解MIP问题的示例过程400的流程图。

如图4所示,在402,MIP求解器可以获取MIP模型。在404,MIP求解器可以标识MIP问题中的整型变量(也称为整型参数)。具体地,MIP求解器可以给MIP模型中的整数变量添加标签,同时标记整型变量所在的约束。

在406,MIP求解器可以针对整型变量所在的约束来构建对应的割约束。MIP求解器例如可以根据上文参考320所讨论的过程来构建与整型变量相关联的割约束。在408,MIP求解器可以将所构建的割约束添加到线性规划模型中,以构建松弛模型。具体地,MIP求解器可以首先将MIP模型松弛为初始的线性规划模型,并将该初始的线性规划模型与所构建的割约束的并集确定作为初始的松弛模型。

在410,MIP求解器可以求解所构建的松弛模型(即,线性规划模型)。MIP求解器可以利用任何适当的方法来求解松弛模型,其示例包括但不限于:单纯形法、对偶单纯形法、内点法等。

在412,MIP求解器可以根据需求变化以及线性规划的解来添加新的约束。应当理解,步骤414是可选的步骤,MIP求解器可以根据实际需要来添加/删除/修改部分约束。

在414,MIP求解器可以确定所需的变量是否都均为整数。如果在414确定所需的变量仍未全为整数,则过程400进行416,MIP求解器可以利用分支定界方法来构建新的线性规划模型。

分支定界法的基本过程包括:a)检查:检查上一轮的求解结果,如果是第一轮,则检查松弛模型LP的求解结果。如果所要求是整数的变量均满足约束(即:均是整数),则停止计算;否则,进入b),确定分支进行求解。b)分支:如果问题的目标为最小化,则设定最优解的值Z=∞。根据分枝法则(Branching rule),从尚未被洞悉(Fathomed)节点(局部解)中选择一个节点,并在此节点的下一阶层中分为几个新的节点;c)定界:计算每一个新分枝出来的节点的下限值(Lower bound,LB)。对每一节点进行洞悉条件测试,若节点满足以下任意一个条件,则此节点可洞悉而不再被考虑,此节点的下限值大于等于Z值。已找到在此节点中,具最小下限值的可行解;若此条件成立,则需比较此可行解与Z值,若前者较小,则需更新Z值,以此为可行解的值。此节点不可能包含可行解。d)再检查:判断是否仍有尚未被洞悉的节点,如果有,则返回b),如果已无尚未被洞悉的节点,则演算停止,并得到最优解。

进一步地,过程400可以继续返回到410以求解新的线性规划模型,并重复步骤410、412和414。相反,如果在414确定所需的变量均为整数,则过程400进行到418,即MIP求解器完成MIP模型的求解。

基于本申请实施例的MIP求解器能够充分利用了整型变量所在约束的性质和数学结构构造cuts,从而能够构建更优的松弛模型。以此方式所构建的松弛模型的解能够更加接近MIP模型的最优解。也即,本申请的实施例能够构建一个更为紧致(compact)的松弛模型。应当理解,根据本申请实施例的MIP求解器可以利用硬件、软件或硬件与软件的组合来实施。

示例场景1:工业排产

在一个示例场景中,根据本申请的工业规划方案可以用于工业排产任务,工业排产任务是一个典型的大规模、多目标、约束稀疏、多变量的分配问题。以下将结合工业排产场景来描述根据本申请的实施例的排产过程。

图5示出了根据本申请的实施例的工业生产的示意图500。如图5所示,可以基于顾客502的需求,或者销售与运营504的规划来生成生产的主方案506。主方案506可以包括采购方案508,以用于指导从供应方510的采购。主方案506还可以包括排产方案512,其用于指导生产方的制造过程514。经生产的产品可以经物流516被提供给目标顾客518。能够看到,在工业生产过程中,排产方案512的确定将极大地影响工业生产的效率。

在确定排产方案512的过程中,排产设备(例如可以是参考图2所讨论的规划设备240)可以获取针对工业排产任务中的多个排产参数的第一组约束,多个排产参数可以至少包括生产方的生产量。

例如,多个排产参数可以包括每个工厂要生产不同产品种类的生产量。或者,多个排产参数还可以包括不同半成品生产工厂的运输变量以及库存周转变量等。第一组约束例如可以包括排产所需要的订单要求、不同工厂的生产能力上限、原材料上限、运输过程中的单位费用等。一般地,在生产排产中,所有和生产相关的量都必须是整数,而单位价格等可以用浮点数表示。

在一些实施例中,如上文参考图2和图3所讨论的,排产设备例如可以基于用户输入来构建第一组约束,也即生成如公式(1)至公式(4)所表示的MIP模型。

进一步地,排产设备可以基于第一组约束来构建与多个排产参数中的至少一个整型参数相关联的割约束。具体地,排产设备可以标识出多个排产参数中的整型参数,并定位第一组约束中包括该整型参数的目标约束。

在一些实施例中,排产设备可以基于所确定的目标约束的问题结构来构建对应的割约束。例如,排产设备可以利用探测割约束构建方案、几何割约束构建方案、交叉割约束构建方案、T-空间割约束构建方案、下界冲突驱动的割约束构建方案中的一项或多项来基于目标约束的问题结构本身来构建割约束。

进一步地,排产设备可以基于割约束和第一组约束来构建第二组约束,其中在第二组约束中至少一个整型参数的类型被改变。具体地,排产设备可以通过移除至少一个整型参数的整型取值约束,将第一组约束转换为对应的一组松弛约束。例如,整型参数的类型可以被转换为浮点型参数。进一步地,排产设备可以基于割约束和一组松弛约束来构建第二组约束。

以此方式构建的第二组约束(也即,用于求解的初始松弛模型)将包括基于第一组约束的问题结构所构建的割约束,根据数学规划理论,新的松弛模型的求解空间会更接近MIP问题的求解空间,从而提升全流程的求解性能。

进一步地,排产设备可以基于第二组约束来确定多个排产参数的值,以用于生成针对工业排产任务的排产计划。应当理解,排产设备可以利用任何适当的过程来基于松弛模型来求解第一组约束中多个排产参数的值。作为示例,排产设备可以利用参考图4所讨论的步骤410至418来确定多个排产参数的值。

例如,排产设备可以首先利用适当的方法来求解第二组约束,这样的方式可以包括但不限于单纯形法、对偶单纯形法、内点法等。可选地,排产设备还可以执行模型修改。在一些实施例中,这是一个可选择的功能,默认排产设备可以只做最优性检查。如果该功能被启用,则排产设备可以在上一步骤的最优解的基础上,选择添加/删除/修改部分约束,这样可以依赖上一次的解完成下一个模型的调优。这个步骤主要发生在需求约束或者物料约束可能随着时间发生变化的随机模型或者增量模型中。

附加地,排产设备可以利用适当的分支定界方法来基于松弛模型(也即,第二组约束)的解来求得MIP问题的解(也即,第一组约束中多个排产参数的值)。关于分支定界方法的过程已经在上文结合图4描述,在此不再详叙。

在一些实施例中,排产设备还可以在对松弛模型进行求解之前利用物料组装关系(Bill of Material,BOM)来检查松弛模型中的每个约束。BOM可以用于指示不同排产变量之间的约束。例如,如果一个排产变量为笔记本的产量,一个排产变量为用于组装笔记本的内存条的产量。BOM例如可以指示一台笔记本必须包括两个内存条,则这两个变量则天然存在约束:内存条的产量应当大于或等于笔记本产量的两倍。如果在此阶段判断物料组装关系与松弛模型中的某个约束冲突,则排产设备可以快速地确定当前工业排产任务无解,从而降低可能计算成本和时间成本。

基于上文所讨论的排产方案,本申请的实施例能够将排产任务转换为对应的排产模型,并基于排产模型的问题结构来生成与整型参数对应的割约束,进而能够构建得到具有更高求解质量的松弛模型。基于这样的方式,本申请的实施例能够提高工业排产的效率,降低用于工业排产的时间成本或计算成本。

图6进一步图示了根据本申请的一些实施例的排产过程与传统的排产过程的性能对比图600。如图6所示,每组数据中左侧柱状数据表示传统MIP求解器的松弛模型的整数解的数目,右侧柱状数据则表示根据使用本申请排产方案的松弛模型的整数解的数目。从图6能够看到,基于本申请的排产方案所获得的整数解的数目的比例大于传统的MIP求解器所获得的整数解的数目。也即,根据本申请的实施例所得到的松弛模型距离最优解的解空间更近,进而能够从松弛模型求出更高比例的整数解。这能够减少分支定界法中分支的次数,进而提升求解性能。

示例场景2:资源调度

在一个示例场景中,根据本申请的工业规划方案可以用于资源调度任务。资源调度任务是大型制造/物流/生产等环节中最常见的问题之一,并且在不同的场景下,调度总是有不同的意义。例如,物流调度主要是指在物流过程中,物流公司根据待发货物的重量、去向、规格和加急程度等对配送车辆和人员进行合理的安排和调度。生产调度主要是根据不同产线中不同机器的产能以及生产需求,在若干任务中完成对任务的排序以及任务和机器之间的匹配。

图7示出了根据本申请的实施例的资源调度的示意图700。如图7所示,在资源调度任务中,多个任务710需要被分配给多条生产线720。此外,每条生产线720通常还可以包括多个机器730,资源调度任务还需要安排每条生产线720中的每个机器730所应当执行的任务。通常而言,与排产任务有所不同,资源调度任务通常可以利用双层规划结构,模型是第一个典型的双层级规划结构,上下两层分别完成各自的目标。这里,资源调度任务的目标例如可以依赖于总工时的倒数。不同的是,上层奖励函数是不同阶段的总工时的倒数,而下层则是针对给定的阶段中不同机器的总工时的倒数。以下将结合资源调度场景来描述根据本申请的实施例的规划资源调度方案过程。

考虑到资源调度任务通常表示为双层模型,调度规划设备(例如可以是参考图2所讨论的规划设备240)可以首先执行上层模型的求解,并基于上层模型的求解结果来作为下层模型的输入,并进而求解整个模型。为了方便讨论,以下将以求解其中一层模型作为示例来描述规划资源调度方案的过程。

在规划资源调度方案的过程中,调度规划设备(例如可以是参考图2所讨论的规划设备240)可以获取针对资源调度任务中的多个调度参数的第一组约束。例如,多个调度参数可以包括各生产线执行各种任务的具体时长。

在一些实施例中,如上文参考图2和图3所讨论的,调度规划设备例如可以基于用户输入来构建第一组约束,也即生成如公式(1)至公式(4)所表示的MIP模型,例如可以对应于资源调度模型中的上层模型。

进一步地,调度规划设备可以基于第一组约束来构建与多个调度参数中的至少一个整型参数相关联的割约束。具体地,调度规划设备可以标识出多个调度参数中的整型参数,并定位第一组约束中包括该整型参数的目标约束。

在一些实施例中,调度规划设备可以基于所确定的目标约束的问题结构来构建对应的割约束。例如,调度规划设备可以利用探测割约束构建方案、几何割约束构建方案、交叉割约束构建方案、T-空间割约束构建方案、下界冲突驱动的割约束构建方案中的一项或多项来基于目标约束的问题结构本身来构建割约束。

进一步地,调度规划设备可以基于割约束和第一组约束来构建第二组约束,其中在第二组约束中至少一个整型参数的类型被改变。具体地,调度规划设备可以通过移除至少一个整型参数的整型取值约束,将第一组约束转换为对应的一组松弛约束。例如,整型参数的类型可以被转换为浮点型参数。进一步地,调度规划设备可以基于割约束和一组松弛约束来构建第二组约束。

以此方式构建的第二组约束(也即,用于求解的初始松弛模型)将包括基于第一组约束的问题结构所构建的割约束,根据数学规划理论,新的松弛模型的求解空间会更接近MIP问题的求解空间,从而提升全流程的求解性能。

进一步地,调度规划设备可以基于第二组约束来确定多个调度参数的值,以用于生成针对资源调度任务的调度计划。应当理解,调度规划设备可以利用任何适当的过程来基于松弛模型来求解第一组约束中多个调度参数的值。作为示例,调度规划设备可以利用参考图4所讨论的步骤410至418来确定多个调度参数的值。

例如,调度规划设备可以首先利用适当的方法来求解第二组约束,这样的方式可以包括但不限于单纯形法、对偶单纯形法、内点法等。可选地,调度规划设备还可以执行模型修改。在一些实施例中,这是一个可选择的功能,默认调度规划设备可以只做最优性检查。如果该功能被启用,则调度规划设备可以在上一步骤的最优解的基础上,选择添加/删除/修改部分约束,这样可以依赖上一次的解完成下一个模型的调优。这个步骤主要发生在需求约束或者物料约束可能随着时间发生变化的随机模型或者增量模型中。

附加地,调度规划设备可以利用适当的分支定界方法来基于松弛模型(也即,第二组约束)的解来求得MIP问题的解(也即,第一组约束中多个调度参数的值)。关于分支定界方法的过程已经在上文结合图4描述,在此不再详叙。

在一些实施例中,调度规划设备还可以基于生产线的任务时间约束或顺序约束来检查松弛模型中的每个约束。如果在此阶段判断任务时间约束或顺序约束与松弛模型中的某个约束冲突,则调度规划设备可以快速地确定当前调度规划无解,从而降低可能计算成本和时间成本。

基于上文所讨论的方案,本申请的实施例能够将功资源调度任务转换为对应的调度模型,并基于调度模型的问题结构来生成与整型参数对应的割约束,进而能够构建得到具有更高求解质量的松弛模型。基于这样的方式,本申请的实施例能够提高规划资源调度方案的效率,降低用于规划资源调度方案的时间成本或计算成本。

其他示例场景:路径规划/目标选址/电网调度

本申请的工业规划方案还可以用于其他类型的场景,例如,路径规划、目标选择或电网调度等等。

路径规划例如可以涉及车辆路径问题(Vehicle Routing Problem,VRP)为例,其是指一定数量的客户,各自有不同数量的货物需求,配送中心向客户提供货物,由一个车队负责分送货物,组织适当的行车路线,目标是使得客户的需求得到满足,并能在一定的约束下,达到诸如路程最短、成本最小、耗费时间最少等目的。因此,VRP问题同样可以被转换为对应MIP模型,并根据上文所讨论的MIP求解方案来获得该MIP模型的解,从而生成路径规划方案。

目标选址问题例如可以涉及考虑竞争者的设施选址问题(Facility location)。在实际应用中,制定选址决策时需考虑对手的竞争。一般来讲,用户需要考虑一个离散的网络,两个服务提供者(领导者和跟随者)相继地开放一定数量的设施,以竞争市场份额。每个客户会向最近的设施寻求服务。目标选址问题可以被理解为一个双层线性规划问题,其中上层表示领导者的决策,其目标是最大覆盖,而下层问题是跟随者的相应NP难问题。假设跟随者采用贪婪策略,建立了一个单层的整数规划模型,将跟随者的响应集成到领导者问题的约束条件中。基于类似的方式,本申请的实施例能够利用上文所讨论的MIP求解方案来分别对双层模型进行求解,从而确定目标选址方案。

电网调度方案主要涉及电力调度问题,其主要包括两个阶段:在第一阶段中,通过线性化处理和混合整数编码技术将非凸电力系统经济调度问题转化为混合整数规划问题,然后运用优化软件包求解混合整数规划模型,得到一个满意的可行解;在第二阶段中,根据第一阶段求得的可行解,对机组的出力区间进行压缩处理,重新求解混合整数规划模型,得到最终的电力系统经济调度方案。基于类似的方式,本申请的实施例能够利用上文所讨论的MIP求解方案来分别对电力调度模型进行求解,从而确定电力调度方案。

应当理解,虽然上文结合不同实施例讨论了工业规划的不同场景,但是根据本申请实施例的混合整数规划求解过程还可以被应用于其他适当的工业规划场景,以提高工业规划的效率。

示例装置和设备

图8A进一步示出了根据本公开实施例的工业规划的装置800A的框图,装置800A可以包括多个模块,以用于执行如图3中所讨论的过程300中的对应步骤。如图8A所示,装置800A包括:约束获取单元802,被配置为获取针对工业规划任务中的多个参数的第一组约束;割约束构建单元804,被配置为基于第一组约束,构建与多个参数中的至少一个整型参数相关联的割约束;约束松弛单元806,被配置为基于割约束和第一组约束,构建第二组约束,在第二组约束中至少一个整型参数的类型被改变;以及规划单元808,被配置为基于第二组约束,确定多个参数的值,以用于生成针对工业规划任务的规划方案。

在一些实施例中,工业规划任务包括以下中的一项:工业排产任务、资源调度任务、路径规划任务或目标选址任务。例如,工业排产任务可以是规划用于指导不同生产方执行生产的方案。资源调度任务可以包括多种类型,例如用于指导电力资源调度的电力调度任务、用于指导不同生产资源调度的生产调度任务、用于指导物流公司对物流车辆和配送人员资源进行调度的物流调度任务等。路径规划任务例如可以包括用于指导不同配送车辆配送货物的路线的车辆路径规划任务。这也被称为VRP(Vehicle Routing Problem,车辆路径问题)。目标选址任务例如可以包括用于指导特定企业或设施的选址的设施选址任务,其这也被称为设施选址问题(Facility Location Problem)。应当理解,本申请所讨论的工业规划任务例如还可以包括能够通过一个或多个MIP模型来表示的其他类型的工业规划任务。

在一些实施例中,约束获取单元802还被配置为:从用户输入中确定与工业规划任务相关联的任务信息,任务信息至少指示:待确定的多个参数,与多个参数的取值相关的参数约束和与工业规划任务相关的目标;以及基于任务信息,构建第一组约束。

在一些实施例中,割约束构建单元804还被配置为:从多个参数中标识至少一个整型参数;从第一组约束中确定与至少一个整型参数相关联的目标约束;以及基于目标约束,构建与至少一个整型参数相关联的割约束。

在一些实施例中,割约束构建单元804还被配置为:从用户输入中确定构建割约束的割构建方案的标识;基于标识,从一组割约束构建方案中确定目标构建方案;以及基于目标构建方案,构建与至少一个整型参数相关联的割约束。

在一些实施例中,一组割约束构建方案包括以下中的至少一项:探测割约束Probing Cuts构建方案、几何割约束Gomory Cuts构建方案、交叉割约束IntersectionCuts构建方案、T-空间割约束T-space Cuts构建方案或下界冲突驱动的割约束构建方案。应当理解,这样的割约束方案旨在能够利用目标约束的问题结构本身来进行构建对应的割约束,而不依赖于变量的求解结果,任何其他适当的割约束方案也是可行的。

在一些实施例中,约束松弛单元806还被配置为:通过移除至少一个整型参数的整型取值约束,将第一组约束转换为对应的一组松弛约束;以及基于割约束和一组松弛约束,构建第二组约束。

图8B进一步示出了根据本公开实施例的工业排产的装置800B的框图,装置800B可以包括多个模块,以用于执行如上文所讨论的工业排产过程的对应步骤。如图8B所示,装置800B包括约束获取单元812,被配置为获取针对工业排产任务中的多个排产参数的第一组约束,多个排产参数至少包括生产方的生产量;割约束构建单元814,被配置为基于第一组约束,构建与多个排产参数中的至少一个整型参数相关联的割约束;约束松弛单元816,被配置为基于割约束和第一组约束,构建第二组约束,在第二组约束中至少一个整型参数的类型被改变;以及排产单元818,被配置为基于第二组约束,确定多个排产参数的值,以用于生成用于排产任务的排产计划。

在一些实施例中,约束获取单元812还被配置为:从用户输入中确定与工业排产任务相关联的任务信息,任务信息至少指示:待确定的多个排产参数,与多个排产参数的取值相关的参数约束和与工业排产任务相关的排产目标;以及基于任务信息,构建第一组约束。

在一些实施例中,割约束构建单元814还被配置为:从多个排产参数中标识至少一个整型参数;从第一组约束中确定与至少一个整型参数相关联的目标约束;以及基于目标约束,构建与至少一个整型参数相关联的割约束。

在一些实施例中,割约束构建单元814还被配置为:从用户输入中确定构建割约束的割构建方案的标识;基于标识,从一组割约束构建方案中确定目标构建方案;以及基于目标构建方案,构建与至少一个整型参数相关联的割约束。

在一些实施例中,一组割约束构建方案包括以下中的至少一项:探测割约束Probing Cuts构建方案、几何割约束Gomory Cuts构建方案、交叉割约束IntersectionCuts构建方案、T-空间割约束T-space Cuts构建方案或下界冲突驱动的割约束构建方案。应当理解,这样的割约束方案旨在能够利用目标约束的问题结构本身来进行构建对应的割约束,而不依赖于变量的求解结果,任何其他适当的割约束方案也是可行的。

在一些实施例中,约束松弛单元还被配置816为:通过移除至少一个整型参数的整型取值约束,将第一组约束转换为对应的一组松弛约束;以及基于割约束和一组松弛约束,构建第二组约束。

图8C进一步示出了根据本公开实施例的规划资源调度方案的装置800C的框图,装置800C可以包括多个模块,以用于执行如上文讨论的规划资源调度方案的过程的对应步骤。如图8C所示,装置800C包括:约束获取单元822,被配置为获取针对资源调度任务中的多个调度参数的第一组约束;割约束构建单元824,被配置为基于第一组约束,构建与多个调度参数中的至少一个整型参数相关联的割约束;约束松弛单元826,被配置为基于割约束和第一组约束,构建第二组约束,在第二组约束中至少一个整型参数的类型被改变;以及调度规划单元828,被配置为基于第二组约束,确定多个排产参数的值,以用于生成针对资源调度任务的调度计划。

在一些实施例中,约束获取单元822还被配置为:从用户输入中确定与资源调度任务相关联的任务信息,任务信息至少指示:待确定的多个调度参数,与多个调度参数的取值相关的参数约束和与资源调度任务相关的调度目标;以及基于任务信息,构建第一组约束。

在一些实施例中,割约束构建单元824还被配置为:从多个排产参数中标识至少一个整型参数;从第一组约束中确定与至少一个整型参数相关联的目标约束;以及基于目标约束,构建与至少一个整型参数相关联的割约束。

在一些实施例中,割约束构建单元824还被配置为:从用户输入中确定构建割约束的割构建方案的标识;基于标识,从一组割约束构建方案中确定目标构建方案;以及基于目标构建方案,构建与至少一个整型参数相关联的割约束。

在一些实施例中,一组割约束构建方案包括以下中的至少一项:探测割约束Probing Cuts构建方案、几何割约束Gomory Cuts构建方案、交叉割约束IntersectionCuts构建方案、T-空间割约束T-space Cuts构建方案或下界冲突驱动的割约束构建方案。应当理解,这样的割约束方案旨在能够利用目标约束的问题结构本身来进行构建对应的割约束,而不依赖于变量的求解结果,任何其他适当的割约束方案也是可行的。

在一些实施例中,约束松弛单元826还被配置为:通过移除至少一个整型参数的整型取值约束,将第一组约束转换为对应的一组松弛约束;以及基于割约束和一组松弛约束,构建第二组约束。

图9示出了可以用来实施本申请内容的实施例的示例设备900的示意性框图。例如,根据本申请实施例的规划设备240或MIP求解器可以由设备900来实施。如图所示,设备900包括中央处理单元(CPU)901,其可以根据存储在只读存储器(ROM)902中的计算机程序指令或者从存储单元908加载到随机访问存储器(RAM)903中的计算机程序指令,来执行各种适当的动作和处理。在RAM 903中,还可存储设备900操作所需的各种程序和数据。CPU901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。

设备900中的多个部件连接至I/O接口905,包括:输入单元906,例如键盘、鼠标等;输出单元907,例如各种类型的显示器、扬声器等;存储单元908,例如磁盘、光盘等;以及通信单元909,例如网卡、调制解调器、无线通信收发机等。通信单元909允许设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。

上文所描述的各个过程和处理,例如过程300,可由处理单元901执行。例如,在一些实施例中,过程300可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由ROM 902和/或通信单元909而被载入和/或安装到设备900上。当计算机程序被加载到RAM 903并由CPU 901执行时,可以执行上文描述的过程300的一个或多个动作。

本申请可以是方法、装置、系统和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本申请的各个方面的计算机可读程序指令。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本申请操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本申请的各个方面。

这里参照根据本申请实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本申请的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

附图中的流程图和框图显示了根据本申请的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

以上已经描述了本申请的各实施方式,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施方式。在不偏离所说明的各实施方式的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施方式的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其他普通技术人员能理解本文披露的各实施方式。

相关技术
  • 目标检测方法和装置、电子设备、存储介质、程序产品
  • 行人再识别方法和装置、电子设备、存储介质、程序产品
  • 图像处理方法和装置、电子设备、存储介质、程序产品
  • 图像处理方法和装置、电子设备、存储介质、程序产品
  • 图像处理方法和装置、电子设备、存储介质、程序产品
  • 路径规划方法、装置、电子设备、存储介质及程序产品
  • 速度规划方法、装置、设备、可读存储介质和程序产品
技术分类

06120115604197