CN112116093A - 自动解决退火***中的np问题 - Google Patents

自动解决退火***中的np问题 Download PDF

Info

Publication number
CN112116093A
CN112116093A CN202010372875.XA CN202010372875A CN112116093A CN 112116093 A CN112116093 A CN 112116093A CN 202010372875 A CN202010372875 A CN 202010372875A CN 112116093 A CN112116093 A CN 112116093A
Authority
CN
China
Prior art keywords
optimization
optimization problem
user
objective function
user input
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
CN202010372875.XA
Other languages
English (en)
Other versions
CN112116093B (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of CN112116093A publication Critical patent/CN112116093A/zh
Application granted granted Critical
Publication of CN112116093B publication Critical patent/CN112116093B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • 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
    • 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/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/083Shipping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0485Scrolling or panning
    • G06F3/04855Interaction with scrollbars

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computing Systems (AREA)
  • Operations Research (AREA)
  • Databases & Information Systems (AREA)
  • Algebra (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Computational Linguistics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • Quality & Reliability (AREA)
  • Development Economics (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Game Theory and Decision Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及自动解决退火***中的NP问题。根据实施方式的方面,操作可以包括显示包括与多个优化问题的分类信息对应的多个用户可选选项的电子用户界面。所述操作还可以包括接收第一用户输入,该第一用户输入选择用于多个优化问题中的特定优化问题的第一模板。第一用户输入可以包括对多个用户可选选项中的至少一个用户可选选项的选择。所述操作还可以包括经由所选择的用于特定优化问题的第一模板接收第二用户输入并且基于接收到的第二用户输入提供对优化求解器机器的调用以生成针对特定优化问题的解。第二用户输入可以包括在选择的第一模板中指定的特定优化问题的多个参数的输入数据。

Description

自动解决退火***中的NP问题
技术领域
本公开内容中讨论的实施方式涉及自动求解退火***中的非确定性多项式时间(NP)问题。
背景技术
现实世界中的许多问题可以通过数学模型来公式化,特别是公式化为组合问题。大多数组合问题属于非确定性多项式时间(NP)问题的范畴。通常地,这些NP问题在计算上难以由常规计算机处理。通常地,专业专家将优化问题公式化为NP问题,NP问题可以进一步表示为组合优化问题。然后这些专业专家使用优化求解器例如量子退火计算机以获得针对所表示的NP问题的解作为针对用户端问题的解。然而,专家手动地公式化问题的时间长,并且因此终端用户(非专家)花费甚至更长的时间来知道他们的组合问题的答案。此外,公式的质量可能取决于专业人员的经验。不适当的公式可能导致较差的解。
本公开内容中要求保护的主题不限于解决任何缺点或仅在诸如上面描述的环境中操作的实施方式。更确切地,提供该背景仅仅是为了说明其中可以实践本公开内容中描述的一些实施方式的一个示例技术领域。
发明内容
根据实施方式的一个方面,操作可以包括显示电子用户界面,该电子用户界面包括与多个优化问题的分类信息对应的多个用户可选选项。所述操作还可以包括接收第一用户输入,该第一用户输入选择用于多个优化问题中的特定优化问题的第一模板。第一用户输入可以包括对多个用户可选选项中的至少一个用户可选选项的选择。所述操作还可以包括经由针对特定优化问题的选择的第一模板接收第二用户输入。第二用户输入可以包括在选择的第一模板中指定的特定优化问题的多个参数的输入数据。所述操作还可以包括基于接收到的第二用户输入提供对优化求解器机器的调用以生成针对特定优化问题的解。
实施方式的目的和优点将至少通过权利要求中特别指出的元素、特征和组合来实现和完成。
前面的一般描述和下面的详细描述均作为示例给出,并且是说明性的,并且不是对所要求保护的本发明的限制。
附图说明
将通过使用附图以附加的特征和细节来描述和说明示例实施方式,在附图中:
图1是表示与生成针对特定优化问题的解有关的示例环境的图;
图2是用于生成针对特定优化问题的解的示例***的框图;
图3是为用户提供电子用户界面以构成要由优化求解器机器解决的特定优化问题的示例方法的流程图;
图4A示出了供用户浏览和选择用于示例优化问题的模板的示例电子用户界面;
图4B示出了供用户经由用于示例性优化问题的模板来提供输入的另一示例电子用户界面;
图5是使用针对非确定性多项式时间(NP)问题的知识图来生成用于优化问题的模板的示例方法的流程图;
图6A示出了示例知识图的框图;
图6B示出了另一示例知识图的框图;
图6C示出了另一示例知识图的框图;
图7是为特定优化问题构造至少一个NP公式的示例方法的流程图;
图8是根据针对特定优化问题的至少一个NP公式来公式化第一目标函数和第二目标函数的示例方法的流程图;
图9是用于基于针对特定优化问题的第一目标函数来公式化第二目标函数的示例方法的流程图;
图10是测量多个优化求解器机器的性能的示例方法的流程图;以及
图11是自动触发优化求解器机器以使用连接数据库来求解特定优化问题的示例方法的流程图。
具体实施方式
本公开内容中描述的一些实施方式涉及用于自动解决组合优化问题的方法和***。许多现实世界问题可以被看作组合优化问题。例如,用于寻找订单交付的最佳路线的现实世界问题可以被认为是组合优化问题,其中可能需要识别订单的所有下货/取货点之间的最短路线。任何特定的组合优化问题通常具有必须从离散解空间搜索的特定的最优解的集合。用于估计最优解的时间和计算复杂度随着组合优化问题的大小的增加而增加。大多数组合优化问题可以被分类为非确定性多项式时间(NP)优化问题,其在计算上难以由常规计算机处理。传统上,使用复杂的搜索方法或元启发式算法例如量子退火来获得NP优化问题的最优或近似最优解。在某些情况下,使用被优化以在解空间上执行搜索的复杂优化求解器机器来获得针对NP优化问题的最优或近似最优解。通常地,这些优化求解器机器需要用于用户感兴趣的NP优化问题的输入公式的特定输入格式。例如,量子退火设备可能需要输入公式,即,二次无约束二元优化(QUBO)公式。
通常地,终端用户必须向专家用户指定现实世界问题(例如,物流中的集装箱装载)的细节,专家用户可以分析指定的细节以首先识别现实世界问题是否是组合优化问题并且确定用于所识别的组合优化问题的NP公式。专家用户使用软件求解器、量子退火器或数字退火器来获得针对组合优化问题的最优或近似最优解。然而,专家手动地公式化的时间长,并且因此终端用户(非专家)花费长时间来知道被建模为组合优化问题的他们的现实世界问题的答案。这些非专家终端用户仅有依赖于专家用户来分析和提供他们的现实世界问题的解的选择。此外,NP公式的质量可能取决于专家用户的经验。不适当的NP公式可能导致优化求解器机器提供的较差的解。
根据本公开内容的一个或更多个实施方式,可以通过以***能够提供电子用户界面的方式配置***来改进离散优化的技术领域,其中电子用户界面使得终端用户能够配置与对现实世界问题建模的组合优化问题相关的参数。该***可被配置成经由电子用户界面接收用户输入,以选择与终端用户感兴趣的问题紧密匹配的问题的模板。该***还可以被配置成接收包括针对如在所选择的模板上指定的感兴趣的问题的不同参数的输入数据的用户输入。该***还可以被配置成基于由用户提供的用户输入来生成终端用户感兴趣的组合优化问题的解。
在这些实施方式或其他实施方式中,***可以包括oracle(即一类图灵(Turing)机器),其可以被配置成构造用于组合优化问题的NP公式。每个单独的NP公式可以具有针对被映射至NP优化问题的用户端问题指定的参数。NP公式的构造可以包括搜索针对NP优化问题集合预先建立的知识图。根据用户输入自动构造NP公式消除了对专家用户手动地分析用户输入并构造用户感兴趣问题的NP公式的需要。此外,由于知识图彻底地覆盖了不同NP问题之间的基于图的关系,所以与专家用户的人工分析相比,***更容易识别给定组合优化问题的最佳NP公式。例如,专家用户可能会错过考虑根据给定的约束将下料问题简化为背包问题。
在这些实施方式或其他实施方式中,***还可以被配置成针对构造的NP公式公式化目标函数和约束(即数学公式)。公式化的目标函数和约束也可以被称为基于用户输入构造的NP优化问题的数学公式。该***还可以被配置成通过求解公式化的目标函数和约束来生成最终用户感兴趣的组合优化问题的解。
参照附图对本公开内容的实施方式进行说明。
图1是表示根据本公开内容中描述的至少一个实施方式布置的、与生成特定优化问题的解有关的示例环境的图。参照图1,示出了环境100。环境100可以包括电子设备102、显示在电子设备102上的电子用户界面104、可以包括优化求解器机器108的退火***106。环境100还可以包括应用特定的数据库110和通信网络112。电子设备102、退火***106和应用特定的数据库110可以经由通信网络112彼此通信地耦接。
还示出了与电子设备102相关联的用户114。电子设备102的示例可以包括但不限于移动设备、台式计算机、膝上型计算机、计算机工作站、诸如云服务器的服务器以及一组服务器。在一个或更多个实施方式中,电子设备102可以包括用户端终端设备和通信地耦接至用户端终端设备的服务器。用户端终端设备的示例可以包括但不限于移动设备、台式计算机、膝上型计算机和计算机工作站。
电子设备102可以包括合适的逻辑、电路和接口,所述接口可以被配置成显示电子用户界面104,电子用户界面104可以包括与多个优化问题的分类信息对应的多个用户可选选项。多个优化问题中的每个优化问题可以对应于组合优化问题。组合优化问题可以是可以被公式化为目标函数的已知的组合/数学问题,基于该目标函数,可以从离散解空间搜索组合优化问题的可行解。
电子用户界面104可以被显示以使得用户114能够浏览和识别感兴趣的优化问题。分类信息可以包括但不限于应用特定的领域、领域特定的应用、针对领域特定的应用的子问题和非确定性多项式时间(NP)问题中的一个或更多个。分类信息可以被呈现为多个用户可选择选项,例如下拉列表、输入文本框、按钮、具有标签的复选框等。
多个用户可选选项中的每个用户可选选项可以被映射至应用特定的领域、领域特定的应用、子问题和NP问题中的一个或更多个。电子设备102可以被配置成接收第一用户输入,该第一用户输入选择用于多个优化问题中的特定优化问题的第一模板。特定优化问题可以是用户114可能感兴趣的现实世界优化问题。作为示例,用户114的现实世界优化问题可以是确定取货/放货点集合之间的、用于一组货物的取货/送货的最短路线。作为另一示例,用户114的现实世界优化问题可以是装载具有不同类型的货物的不同的运送集装箱以使得每个运送集装箱的利润以及所有运送集装箱的最大容量利用率最大。作为另一示例,现实世界优化问题可以是安排“100”个航班在不同时间从“10”个或更多个机场离开以使得没有航班未被利用,其中每个机场具有至少“10”个登机/候机口。对于这个问题,可能存在不同的约束,例如机组人员/员工可用性、其他航空公司对登机口/候机楼的占用以及天气条件。
此外,特定优化问题可以对应于多个NP问题中的NP问题。例如,NP问题可以是图着色问题、团问题、独立集问题、团覆盖问题、最小最大匹配问题、背包问题、子集和问题、装箱问题、下料问题、数字划分问题、哈密顿回路问题、旅行商问题、直接反馈集问题、车辆路径规划问题、作业车间调度问题、广义指派问题、二次分配问题、集合包装问题、集合划分问题、集合覆盖问题或K-plex问题中之一。
所接收的第一用户输入可以包括对多个用户可选选项中的至少一个用户可选选项的选择。在下文中,“至少一个用户可选选项”可以被可互换地称为“一个或更多个用户可选选项”。电子用户界面104可以使用户例如用户114能够浏览多个用户可选选项中的不同用户可选选项并且识别用户114可能感兴趣的特定优化问题的第一模板。作为示例,用户114可以选择用户可选选项的特定组合,例如“物流”作为应用特定的领域,“策略计划”作为领域特定的应用,“集装箱装载”作为子问题,以及“装箱”作为NP问题。通过选择用户可选择选项的特定组合,用户114可以在所显示的电子用户界面104上选择用于特定优化问题的第一模板。所选择的第一模板可以指定特定优化问题的多个参数。所述多个参数可以包括但不限于预定义的变量、变量的标签、值、约束、目标函数和用户可宣布的变量。
电子设备102还可以被配置成经由用于特定优化问题的所选择的第一模板接收第二用户输入。第二用户输入可以包括在所选择的第一模板中指定的特定优化问题的多个参数的输入数据。输入数据可以包括但不限于不同参数的值、约束(例如,至少两辆卡车)、条件(例如,如果—否则(if-else)条件)和目标函数。作为示例,对于物流业中与用于运送产品订单的策略计划有关的特定优化问题,多个参数可以包括但不限于集装箱/卡车的数目、要运送的产品的数目、要运送的每种类型的产品的大小/重量以及每种产品类型的运送成本。此外,对于特定优化问题,多个参数可以包括约束例如时间约束、成本约束或重量约束的集合。第二用户输入可以用于为特定优化问题的多个参数指定不同参数之间值、约束、条件和/或关系(例如,目标函数)。
在一个或更多个实施方式中,电子设备102可以被配置成基于第二用户输入提供对退火***106的优化求解器机器108的调用以生成针对特定优化问题的解。为了生成该解,特定优化问题可能必须以合适的格式提交给退火***106。合适的格式可以包括需要被最小化或优化以生成针对特定优化问题的解的目标函数。为了获得目标函数,电子设备102可以被配置成基于所接收到的第二用户输入来构造用于特定优化问题的至少一个NP公式。在下文中,“至少一个NP公式”可以互换地称为“一个或更多个NP公式”。此外,电子设备102可以被配置成针对为特定优化问题构造的相应NP公式的多个属性来公式化目标函数(也称为数学公式化/无约束数学公式化)。例如,在图3、图5、图7和图8中提供了一个或更多个NP公式和目标函数的构造细节。
在一个或更多个实施方式中,退火***106可以被配置成基于第二用户输入来接收调用以生成针对特定优化问题的解。针对特定优化问题的解可以包括必须求解特定优化问题的变量的值数据。例如,值数据可以是整数值、浮点值或二进制值等。该解可以是最优的(或接近最优解),该解可以通过针对特定优化问题在离散解空间上应用一种或更多种搜索方法和/或元启发式方法来生成。作为示例,退火***106可以被配置成应用量子退火(即,元启发式方法)以针对特定的优化问题在离散解空间上找到目标函数的全局最小值。例如,在图2、图3、图5、图7、图8、图9、图10和图11中进一步详细描述了电子设备102和退火***106的操作。
退火***106可以是可以被配置成执行与一个或更多个搜索方法和/或元启发式方法(例如量子退火)相关联的软件指令的计算***。在本公开内容的实施方式中,退火***106可以被实现为云服务器,其中可以经由应用编程接口(API)请求从电子设备102接收至云服务器的输入。例如,输入可以包括用于生成特定优化问题的解的调用和对应于特定优化问题的NP问题的目标函数。
退火***106可以包括优化求解器机器108。优化求解器机器108可以被配置成通过求解目标函数来生成针对特定优化问题的解,所述目标函数例如针对映射至特定优化问题的NP问题的无约束/约束数学公式(例如二次无约束二进制优化(QUBO)函数)。这些无约束/约束数学公式在计算复杂度方面可能是NP难度问题。因此,换言之,优化求解器机器108可以被配置成从离散解空间搜索针对NP难度问题(映射至特定优化问题)的可行解,NP难度问题可能在计算上难以由常规计算机处理。
在本公开内容的一个或更多个实施方式中,优化求解器机器108可以是广义量子计算设备。在该实施方式中,广义量子计算设备可以在应用层使用专门的优化求解软件应用来对用户114指定的组合优化问题实现搜索方法或元启发式方法,例如模拟退火或量子退火。
广义量子计算设备可以不同于基于数字位的计算设备,例如基于基于晶体管的数字电路的数字设备。广义量子计算设备可以包括一个或更多个量子门,所述量子门使用量子比特(在下文中称为“量子位”)来执行用于不同信息处理应用的计算,例如用于解决组合优化问题的量子退火计算。通常,量子位可以表示“0”、“1”或“0”和“1”两者的叠加。在大多数情况下,广义量子计算设备可能需要仔细控制的低温环境以恰当地工作。广义量子计算设备可以使用量子力学***中发现的某些特性,例如量子波动、其本征态的量子叠加、量子隧穿和量子纠缠。这些属性可以帮助广义量子计算设备执行用于解决在计算上难以由常规计算设备处理的某些数学问题(例如QUBO函数)的计算。广义量子计算设备的示例可以包括但不限于基于硅的核自旋量子计算机、俘获离子量子计算机、空腔量子电动力学(QED)计算机、基于核自旋的量子计算机、基于量子点中的电子自旋的量子计算机、使用超导环和约瑟夫逊结的超导量子计算机以及核磁共振量子计算机。
在一些其他实施方式中,优化求解器机器108可以是可以被专门设计并且硬件/软件被优化以实现搜索方法或元启发式方法例如模拟退火或量子退火的量子退火计算机。类似于广义量子计算设备,量子退火计算机也可以使用量子位并且可能需要仔细控制的低温环境以恰当地工作。
在一些其他实施方式中,优化求解器机器108可以对应于用于求解特定优化问题的数字量子计算处理器。更具体地,优化求解器机器108可以是可以基于基于半导体的架构的数字退火器。数字退火器可以被设计成对数字电路上的量子退火计算机的功能进行建模。数字退火器可以在室温下工作并且可以不需要低温环境来工作。此外,数字退火器可以具有特定的形状因数,该特定的形状因数可以使得数字退火器能够装配在电路板上,该电路板足够小以滑动至计算设备或计算***的机架中例如数据中心。
在一些其他实施方式中,优化求解器机器108还可以包括处理器,该处理器可以被配置成执行与一个或更多个搜索方法和/或元启发式方法例如模拟退火或量子退火相关联的软件指令。该处理器可以是精简指令集计算(RISC)处理器、专用集成电路(ASIC)处理器、复杂指令集计算(CISC)处理器、图形处理单元(GPU)、中央处理单元(CPU)、协处理器和/或上述处理器的组合。
在一个或更多个实施方式中,电子设备102可以被配置成一旦用户114指定了优化问题则经由电子用户界面104接收将应用特定的数据库110连接至优化求解器机器108的用户请求。特定应用可以是可以包括针对特定优化问题的多个参数的输入数据的关系或非关系数据库。此外,在一些情况下,应用特定的数据库110可以存储在诸如云服务器的服务器上或者可以被高速缓存并存储在电子设备102上。
电子设备102还可以被配置成向优化求解器机器108提交用户请求。用户请求可以包括与应用特定的数据库110相关联的信息。优化求解器机器108可以被配置成基于用户请求与应用特定的数据库110连接。此外,用户114可以指定要被满足以触发优化求解器机器108的用户指定的条件集合。用户指定的条件集合可以用于触发优化求解器机器108以再次生成针对特定优化问题的解。用户指定的条件集合可以包括但不限于来自用户114的手动触发输入、特定优化问题的一个或更多个参数的值的周期性/非周期性变化以及特定优化问题的参数中的逻辑条件。在满足所确定的用户指定的条件集中的至少一个的情况下,电子设备102可以被配置成触发优化求解器机器108以从所连接的应用特定的数据库110中检索输入数据以便求解特定优化问题。
这里应当注意,电子设备102、退火***106和存储应用特定的数据库110的服务器之间的通信可以经由通信网络112进行。通信网络112可以包括通信介质,电子设备102可以通过该通信介质与退火***106、不同的服务器和外部优化求解器(未示出)进行通信。通信网络112的示例可以包括但不限于因特网、云网络、无线保真(Wi-Fi)网络、个域网(PAN)、局域网(LAN)和/或城域网(MAN)。环境100中的各种设备可以被配置成根据各种有线和无线通信协议连接至通信网络112。这样的有线和无线通信协议的示例可以包括但不限于传输控制协议和因特网协议(TCP/IP)、用户数据报协议(UDP)、超文本传输协议(HTTP)、文件传输协议(FTP)、ZigBee、EDGE、IEEE 802.11、光保真(Li-Fi)、802.16、IEEE 802.11s、IEEE802.11g、多跳通信、无线接入点(AP)、设备至设备通信、蜂窝通信协议和/或蓝牙(BT)通信协议中的至少一个或其组合。
在图1中,电子设备102和应用特定的数据库110被示出为与退火***106分开。然而,在某些示例性实施方式中,在不脱离本公开内容的范围的情况下,电子设备102和应用特定的数据库110的整个功能可以并入在退火***106中。在这样的情况下,通信网络可以是退火***106内的接口(例如,***部件互连(PCI)接口)。
图2是根据本公开内容中描述的至少一个实施方式布置的、用于生成针对特定优化问题的解的示例***的框图。结合图1的元素来说明图2。参照图2,示出了示例***202的框图200。示例***202可以包括电子设备102和退火***106。电子设备102可以包括处理器204、存储器206和永久数据存储装置208。示例***202还可以包括输入/输出(I/O)设备210,输入/输出(I/O)设备210可以包括显示设备212。电子设备102还可以包括网络接口214。
处理器204可以包括可以被配置成执行与要由电子设备102执行的不同操作相关联的程序指令的适当的逻辑、电路和/或接口,。例如,一些操作可以包括在显示设备212上显示电子用户界面104、通过显示在电子用户界面104上的不同用户可选选项接收多个用户输入等。处理器204可以包括任何合适的专用或通用计算机、计算实体或包括各种计算机硬件或软件模块的处理设备,并且可以被配置成执行存储在任何适用的计算机可读存储介质上的指令。例如,处理器204可以包括微处理器、微控制器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或被配置成解释和/或执行程序指令和/或处理数据的任何其他数字或模拟电路。尽管在图2中被示出为单个处理器,但是处理器204可以包括任意数目的处理器,这些处理器被配置成单独地或共同地执行或指导电子设备102的如本公开内容中所描述的任意数目的操作的执行。另外,处理器中的一个或更多个处理器可以存在于一个或更多个不同的电子设备例如不同的服务器上。
在一些实施方式中,处理器204可以被配置成解释和/或执行被存储在存储器206和/或永久数据存储装置208中的程序指令和/或处理数据。在一些实施方式中,处理器204可以从永久数据存储装置208中提取程序指令,并将程序指令加载至存储器206中。在程序指令被加载至存储器206中之后,处理器204可以执行程序指令。处理器204的一些示例可以是GPU、CPU、RISC处理器、ASIC处理器、CISC处理器、协处理器和/或其组合。
存储器206可以包括可以被配置成存储可以由处理器204执行的程序指令的适当的逻辑、电路和/或接口。在某些实施方式中,存储器206可以被配置成存储操作***和相关联的特定应用信息。存储器206可以包括用于携带或其上存储有计算机可执行指令或数据结构的计算机可读存储介质。这样的计算机可读存储介质可以包括可以由通用或专用计算机(例如处理器204)访问的任何可用介质。
作为示例而非限制,这样的计算机可读存储介质可以包括有形或非暂态计算机可读存储介质,包括随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、光盘只读存储器(CD-ROM)或其他光盘存储、磁盘存储或其他磁存储设备、闪存设备(例如,固态存储器设备)、或可用于携带或存储计算机可执行指令或数据结构形式的特定程序代码并且可以由通用或专用计算机访问的任何其他存储介质。以上的组合也可以被包括在计算机可读存储介质的范围内。计算机可执行指令可以包括例如被配置成使得处理器204能够执行与电子设备102相关联的特定操作或操作组的指令和数据。
永久数据存储装置208可以包括可以被配置成存储可由处理器204执行的程序指令、操作***和/或特定应用信息例如日志和应用特定的数据库的适当的逻辑、电路和/或接口。永久数据存储装置208可以包括用于携带或其上存储有计算机可执行指令或数据结构的计算机可读存储介质。这样的计算机可读存储介质可以包括可以由通用或专用计算机(例如处理器204)访问的任何可用介质。
作为示例而非限制,这样的计算机可读存储介质可以包括有形或非暂态计算机可读存储介质,包括光盘只读存储器(CD-ROM)或其他光盘存储、磁盘存储或其他磁存储设备(例如,硬盘驱动器(HDD))、闪存设备(例如,固态驱动器(SSD)、安全数字(SD)卡、其他固态存储器设备)、或可以用于携带或存储计算机可执行指令或数据结构形式的特定程序代码并且可以由通用或专用计算机访问的任何其他存储介质。以上的组合也可以被包括在计算机可读存储介质的范围内。计算机可执行指令可以包括例如被配置成使得处理器204能够执行与电子设备102相关联的特定操作或操作组的指令和数据。
I/O设备210可以包括可以被配置成接收用户输入的适当逻辑、电路、接口和/或代码。I/O设备210还可以被配置成响应于用户输入而提供输出。I/O设备210可以包括各种可以被配置成与处理器204和诸如网络接口214的其他部件进行通信的输入和输出设备。输入设备的示例可以包括但不限于触摸屏、键盘、鼠标、操纵杆和/或麦克风。输出设备的示例可以包括但不限于显示器(例如显示设备212)和扬声器。
显示设备212可以包括可以被配置成将电子用户界面104呈现在显示设备212的显示屏上的适当的逻辑、电路、接口和/或代码。在一个或更多个实施方式中,可以经由显示设备212直接接收来自用户(例如用户114)的多个用户输入。在这样的情况下,显示设备212的显示屏可以是用于接收多个用户输入的触摸屏。显示设备212可以通过几种已知的技术来实现,例如但不限于液晶显示器(LCD)显示技术、发光二极管(LED)显示技术、等离子体显示技术和/或有机LED(OLED)显示技术和/或其他显示技术。此外,在一些实施方式中,显示设备212可以指智能玻璃设备的显示屏、3D显示器、透视显示器、基于投影的显示器、电致变色显示器和/或透明显示器。
网络接口214可以包括可以被配置成经由通信网络112在电子设备102、退火***106和应用特定的数据库110之间建立通信的适当的逻辑、电路、接口和/或代码。网络接口214可以通过使用各种已知技术来实现,以支持电子设备102经由通信网络112的有线或无线通信。网络接口214可以包括但不限于天线、射频(RF)收发器、一个或更多个放大器、调谐器、一个或更多个振荡器、数字信号处理器、编码器-解码器(CODEC)芯片组、用户识别模块(SIM)卡和/或本地缓冲器。
网络接口214可以经由无线通信与诸如因特网、内联网的网络和/或诸如蜂窝电话网络、无线局域网(LAN)和/或城域网(MAN)的无线网络进行通信。无线通信可以使用多种通信标准、协议和技术中的任何一种,例如全球移动通信***(GSM)、增强型数据GSM环境(EDGE)、宽带码分多址(W-CDMA)、长期演进(LTE)、码分多址(CDMA)、时分多址(TDMA)、蓝牙、无线保真(Wi-Fi)(例如IEEE 802.11a、IEEE 802.11b、IEEE 802.11g和/或IEEE 802.11n)、因特网协议语音(VoIP)、光保真(Li-Fi)或Wi-MAX。
在不脱离本公开内容的范围的情况下,可以对示例***202进行修改、添加或省略。例如,在一些实施方式中,示例***202可以包括可能未明确示出或描述的任何数目的其他部件。
图3是根据本公开内容中描述的至少一个实施方式的为用户提供电子用户界面以构成要由优化求解器机器求解的特定优化问题的示例方法的流程图。结合图1和图2的元素说明图3。参照图3,示出了流程图300。流程图300中所示的方法可以在302处开始,并且可以由任何合适的***、装置或设备执行,例如由图2的示例***202执行。
在302处,可以显示电子用户界面104。电子用户界面104可以包括与针对多个优化问题的分类信息对应的多个用户可选选项。在一个或更多个实施方式中,处理器204可以被配置成显示可以包括与针对多个优化问题的分类信息对应的多个用户可选选项的电子用户界面104。图4A和图4B提供了电子用户界面104的示例。分类信息可以包括应用特定的领域、领域特定的应用、领域特定的应用的子问题和NP问题中的一个或更多个。
如下的表1中给出了分类信息的示例:
Figure BDA0002478976910000121
Figure BDA0002478976910000131
Figure BDA0002478976910000141
表1:分类信息
可以为用户114(专家或非专家用户)提供电子用户界面104以浏览和识别与特定优化问题紧密匹配的应用特定的领域。还可以为用户114提供电子用户界面104以浏览和识别与特定优化问题相关联的领域特定的应用/问题、子问题或NP问题。多个用户可选选项可以对应于针对多个优化问题的分类信息。在某些实施方式中,分类信息可以被呈现为图形结构,其中用户可操纵图形结构以标识最接近地匹配用户114感兴趣的特定优化问题的第一模板。
在一个或更多个实施方式中,多个用户可选选项可以包括下拉菜单项集合。该下拉菜单项集合中的每个下拉菜单项可以列出应用特定的领域、领域特定的应用/问题、子问题或NP问题之一。用户114能够选择应用特定的领域、领域特定的应用/问题、子问题或NP问题中的一个或更多个,以选择用于特定优化问题的第一模板。
在一些其他实施方式中,多个用户可选选项还可以包括要在电子用户界面104上显示的查询界面。可以为用户114显示查询界面以通过使用自然语言语句、关键字或短句子来提供搜索查询,以识别分类信息的哪一部分与自然语言语句、关键字或短句子紧密匹配并映射至特定的优化问题。在某些情况下,处理器204可以被配置成确定分类信息的部分与搜索查询之间的相似性得分。相似性得分可以用于决定对于所提供的搜索查询是否存在相应优化问题。此外,在一个或更多个实施方式中,可以经由电子用户界面104向用户114显示实体的概要,例如问题陈述、应用示例等。作为示例,可以针对应用特定的领域、领域特定的应用、领域特定的应用的子问题和NP问题中的一个或更多个来显示实体和概要。
在304处,可以接收选择用于多个优化问题中的特定优化问题的第一模板的第一用户输入。在一个或更多个实施方式中,处理器204可以被配置成接收选择用于多个优化问题中的特定优化问题的第一模板的第一用户输入。第一用户输入可以包括对多个用户可选选项中的一个或更多个用户可选选项的选择。在一个或更多个实施方式中,所接收的第一用户输入可以对应于从用于相应多个优化问题的多个模板中选择第一模板。例如,在图5中描述了为获得用于相应多个优化问题的多个模板而执行的操作。
用户114能够经由自顶向下的、逐步选择过程来指定优化问题,该过程从选择应用特定的领域开始并且以选择用户114感兴趣的问题/子问题/NP问题结束。这里应当注意,用户114能够跳到电子用户界面104上的特定用户可选选项。例如,在用户114对特定NP问题感兴趣的情况下,电子用户界面104可以使得用户114能够直接访问针对NP问题的相对应用户可选选项。
在306处,可以经由用于特定优化问题的所选择的第一模板从用户114接收第二用户输入。第二用户输入可以包括在所选择的第一模板中指定的特定优化问题的多个参数的输入数据。多个参数可以包括至少与应用特定的约束的集合、用于相应优化问题的变量集合、用于特定优化问题的目标函数等相关联的信息。第一模板可以对应于用户114的应用接口,以进一步配置特定优化问题的细节例如参数值。针对多个参数的输入数据可以包括但不限于针对特定优化问题的应用特定的约束、变量名称、参数值、条件和目标函数。输入数据还可以包括基于用户偏好的第一模板上的一个或更多个参数的重命名/新标签。例如,背包问题中的“卡车”可以被重命名为“集装箱”。图4B示出并描述了用于背包问题的模板上的输入数据的示例。
在所选择的第一模板中,电子用户界面104可以提供与特定优化问题的多个参数对应的多个输入字段。多个参数可以根据特定的优化问题而变化。第一模板可以使用户114能够提交与特定优化问题相关联的第二用户输入。一旦提交,基于第二用户输入,可以公式化用于特定优化问题的合适的目标函数并将其提交给优化求解器机器108。可替选地,可以公式化用于特定优化问题的合适的目标函数并将其提交给多个优化求解器机器,这些优化求解器机器可以包括优化求解器机器108和/或其他外部优化求解器机器。经由所选择的第一模板提交的第二用户输入可以触发对优化求解器机器108和/或其他外部优化求解器机器的调用以生成针对特定优化问题的一个或更多个解。其他外部优化求解器机器中的每个外部优化求解器机器可以对应于使用软件求解器的一种类型的优化求解器机器,所述软件求解器例如Gurobi求解器或开源软件求解器例如求解约束整数程序(SCIP)求解器、GoogleOR工具、GNU线性编程工具包(GLPK)求解器。此外,这些其他外部优化求解器机器可以包括可以与优化求解器机器108的硬件和/或软件代码不同的硬件(例如,广义量子计算设备或量子退火计算机)和/或软件代码。这种不同还可以帮助基准化和改善优化求解器机器108的性能。
第一模板中的对应参数的每个输入字段可以被映射至针对特定优化问题的相对应NP问题的属性。在一些情况下,相应NP问题还可以对应于多个应用特定的领域中的多个优化问题。可以基于由用户114指定的应用特定的领域的背景在第一模板中示出适当的术语。例如,在背包问题中,“背包”可以指运输领域中的“卡车”或公共部门领域中的“资本预算”。尽管用户114能够选择用于特定优化问题的第一模板,然而,在一些情况下,用户114可以修改或添加第一模板中的目标函数或约束。在一个或更多个实施方式中,处理器204可以被配置成基于用户输入来修改用于特定优化问题的对应NP问题,以修改或添加目标函数或约束。例如,基于用户输入是否指定一个以上背包,可以将0-1背包概括为多背包问题。可替选地,可以基于指定背包问题的值参数取决于两个项目/对象的包含的用户输入将相同的0-1背包问题概括为二次背包问题。
在所选择的第一模板中,多个输入字段还可以包括公共逻辑关系,该公共逻辑关系可以被提供给用户114以配置用于特定优化问题的多个参数之间的约束关系。可以基于逻辑运算符或选择条件来指定约束关系。逻辑运算符的示例可以包括但不限于“或”、“与”、“异或”、“非”、“或者…或者”、“当…则”、“当和仅当”、“仅当”和“既不…也不”。选择条件的示例可以包括但不限于“选择至少k个项目”、“选择确切的k个项目”和“选择至多k个项目”。
在一个或更多个实施方式中,在用户请求之后,处理器204可以被配置成经由连接接口将应用特定的数据库110连接至优化求解器机器108。应用特定的数据库110可以包括映射至针对特定优化问题的多个参数的输入数据。在一些情况下,可以将用户请求提供给其他外部优化求解器机器,使所述其他外部优化求解器机器与应用特定的数据库110连接。此外,用户请求可以包括条件的集合,在满足这些条件的情况下将触发优化求解器机器108或其他外部优化求解器机器从应用特定的数据库110自动地检索针对特定优化问题的输入数据。优化求解器机器108或者其他外部优化求解器机器可以被配置成基于从应用特定的数据库110检索的针对特定优化问题的输入数据来生成针对特定优化问题的一个或更多个解。
在308处,可以接收用户请求以提供针对特定优化问题的解。在一个或更多个实施方式中,处理器204可以被配置成接收用户请求以提供针对特定优化问题的一个或更多个解。可以响应于用户提交第二用户输入而接收用户请求。用户请求可以至少包括针对特定优化问题的多个参数的输入数据。
在一个或更多个实施方式中,一旦接收到用户请求,则可以基于接收到的第二用户输入来执行与针对特定优化问题的一个或更多个NP公式的构造相关联的一个或更多个操作。此外,可以基于针对特定优化问题的一个或更多个NP公式来执行与一个或更多个目标函数的公式化(也称为数学公式化)相关联的一个或更多个操作。
在某些实施方式中,处理器204可以被配置成基于接收到的第二用户输入来执行与针对特定优化问题的一个或更多个NP公式的构造相关联的一个或更多个操作。此外,处理器204还可以被配置成基于针对特定优化问题的一个或更多个NP公式执行与一个或更多个目标函数的公式化相关联的一个或更多个操作。例如,在图7、图8、图9、图10和图11中详细描述了与一个或更多个NP公式的构造和/或一个或更多个目标函数的公式化相关联的一个或更多个操作。
在310处,可以提供对优化求解器机器108的调用以生成针对特定优化问题的解。可以响应于接收到的用户请求即基于第二用户输入的提交,经由所选择的第一模板来提供调用。可替选地,可以提供对包括优化求解器机器108和其他外部优化求解器机器的多个优化求解器机器的调用。例如,在图10中描述了提供对多个优化求解器机器的调用的方面。在一个或更多个实施方式中,处理器204可以被配置成将接收到的用户请求提交给退火***106。在一个或更多个实施方式中,处理器204可以被配置成通过对优化求解器机器108的调用以生成针对特定优化问题的解。在这种情况下,处理器204可以被配置成经由通信网络112向优化求解器机器108和/或其他外部优化求解器机器提供指定格式(例如代数建模语言(AML)格式)的一
在312处,可以从优化求解器机器108接收针对特定优化问题的解。在一个或更多个实施方式中,处理器204可以被配置成从优化求解器机器108接收针对特定优化问题的解。该解可以包括针对一个或更多个目标函数的属性的值,例如整数值、浮点值或二进制值。这样的值可以指示可行(或最优)解的存在或者表示针对特定优化问题的一个或更多个解。
在314处,可以在显示设备212的显示屏上输出接收到的针对特定优化问题的解。可替选地,可以直接经由连接接口更新应用特定的数据库110中的接收到的针对特定优化问题的解。在一个或更多个实施方式中,处理器204可以被配置成在显示设备212的显示屏上输出接收到的针对特定优化问题的解。可替选地,处理器204可以被配置以直接经由连接接口更新应用特定的数据库110中的接收到的针对特定优化问题的一个或更多个解。控制可以转至结束。尽管流程图300被示出为离散操作,例如302、304、306、308、310、312和314。但是,在一些实施方式中,取决于特定实现方式,在不背离所公开的实施方式的本质的情况下,这样的离散操作还可以被划分成附加操作、被组合成更少操作、或被消除。
图4A示出了根据本公开内容中描述的至少一个实施方式的供用户浏览和选择用于示例优化问题的模板的示例电子用户界面。结合图1、图2和图3的元素说明图4A。参照图4A,示出了可以对应于图1的电子用户界面104的示例电子用户界面400A。在示例电子用户界面400A中,示出了用户界面元素的集合(在下文中,被称为“UI元素的集合”)。该UI元素的集合可以包括第一UI元素402、第二UI元素404和第三UI元素406。
在图4A中,第一UI元素402被标记为例如“浏览问题”。第一UI元素402可以包括多个用户可选选项,包括但不限于应用特定的领域选择选项402A、问题选择选项402B、子问题选择选项402C和NP问题选择选项402D。多个用户可选选项可以对应于针对多个优化问题的分类信息。这里,分类信息可包括但不限于应用特定的领域、领域特定的应用、领域特定的应用的子问题和NP问题中的一个或更多个。作为示例,分类信息的一部分被提供为图3中的表。
在一个或更多个实施方式中,处理器204可以被配置成显示可以包括与针对多个优化问题的分类信息对应的多个用户可选选项的示例电子用户界面400A。可以基于用户请求来显示示例电子用户界面400A,该用户请求可以经由显示在显示设备212的显示屏上的应用接口来接收。应用接口可以是应用软件的一部分。应用软件可以是例如基于云服务器的应用、基于web的应用、基于OS的应用/应用套件、企业应用、移动应用等中的一个或更多个。应用特定的领域选择选项402A、问题选择选项402B、子问题选择选项402C和NP问题选择选项402D中的每一个都可以使用户114能够浏览和识别用于用户感兴趣的特定优化问题的模板(也称为第一模板)。
处理器204可以被配置成接收第一用户输入,该第一用户输入选择用于多个优化问题中的特定优化问题的第一模板。第一用户输入可以包括对多个用户可选选项中的一个或更多个用户可选选项的选择。在一个或更多个实施方式中,接收到的第一用户输入还可以对应于对用于相应多个优化问题的多个模板中的第一模板的选择。
如图所示,应用特定的领域选择选项402A可以提供与预先指定的应用特定的领域的集合对应的输入字段的集合,所述应用特定的领域包括但不限于公共部门、物流、制造和制药。在用户114从输入字段集合选择输入字段例如物流的情况下,其他用户可选择的选项例如问题选择选项402B可以被配置成提供与所选择的应用特定的领域对应的另一输入字段集合。对于作为所选择的应用特定的领域的物流,可以示出预先指定的问题的集合,包括但不限于空集装箱管理、***设计和策略计划。
在用户114从预先指定的问题集合中选择问题例如策略计划的情况下,子问题选择选项402C可以为所选择的问题提供另一输入字段集合。子问题选择选项402C可以提供与预先指定的子问题集合对应的另一输入字段集合。该预先指定的子问题集合可以包括但不限于用于决定每条路线和每个产品的运送量的子问题、车辆调度的子问题和集装箱装载的子问题。在用户114从预先指定的子问题集合中选择子问题例如集装箱装载的情况下,模板(也称为第一模板)可以被识别并显示在示例电子用户界面400上。可替选地,在一个或更多个实施方式中,可以更新NP问题选择选项402D以显示用于所选择的子问题的另一输入字段集合。NP问题选择选项402D可以提供对应于预先指定的NP问题集合的另一输入字段集合。对于作为子问题的集装箱装载,预先指定的NP问题集合可以包括但不限于混合线性整数规划(MILP)、背包和装箱。
这里应当注意,用户114可以通过多个用户可选选项中的任何用户可选选项或用户可选选项的任何组合来提供第一用户输入。作为示例,根据用户114的经验/技能集合,用户114可以通过多个用户可选选项中的每个用户可选选项或者直接通过NP问题选择选项402D提供第一用户输入。作为示例示出,在用户114是理解组合优化或NP优化的专家或专业人员的情况下,用户114可以从预先指定的NP问题集合中选择背包。
如进一步所示出的,第二UI元素404被标记为例如“按查询搜索”。第二UI元素404可以对应于使得用户114能够指定自然语言的查询的浏览界面。作为示例示出,用户114可以经由第二UI元素404指定“在物流行业中装载集装箱”作为第一用户输入。作为另一示例,用户114可以经由第二UI元素404指定“物流行业中针对集装箱装载的策略计划”作为第一用户输入。在一个或更多个实施方式中,处理器204可以被配置成将在查询中指定的项目(作为第一用户输入)映射至与分类信息相关联的信息/细节。因此,在这样的情况下,处理器204可以被配置成基于查询中指定的项目至与分类信息相关联的信息/细节的映射来识别用于特定优化问题的模板(也被称为第一模板)。
如进一步示出的,第三UI元素406被标记为例如“提交”。第三UI元素406可以对应于选项,在被选择的情况下,提交经由第一UI元素402提供的选择和/或至第二UI元素404的输入作为至电子设备102的第一用户输入。
这里应当注意,电子用户界面400A仅作为示例来说明和示出并且不应被解释为对本公开内容的限制。在不脱离本公开内容的范围的情况下,可以对电子用户界面400A进行其他修改、添加或省略。还应当注意,电子用户界面400A还可以包括其他UI元素,为了简洁起见,已经从本公开内容中省略了这些UI元素。
图4B示出了根据本公开内容中描述的至少一个实施方式的供用户经由用于示例性优化问题的模板来提供输入的另一示例电子用户界面。结合图1、图2、图3和图4A的元素来说明图4B。参照图4B,示出了可以对应于图1的电子用户界面104的示例电子用户界面400B。在示例电子用户界面400B中,示出了另一UI元素集合。该UI元素集合可以包括UI元素408、UI元素410、UI元素412和UI元素414。
UI元素408、UI元素410和UI元素412可以对应于用户114可能感兴趣的特定优化问题的模板(例如所选择的第一模板)。在一个或更多个实施方式中,处理器204可以被配置成经由用于特定优化问题的第一模板接收第二用户输入。第二用户输入可以包括针对在模板中指定的特定优化问题的多个参数的输入数据。作为示例,处理器204可以被配置成经由UI元素408、UI元素410和UI元素412接收第二用户输入。
UI元素408可以被标记为例如“模板:集装箱装载/背包”。UI元素408可以包括模板描述字段416和用于特定优化问题的多个参数的多个输入字段418。模板描述字段416可以提供对用于特定优化问题的所选择模板的描述。在指定了特定优化问题的情况下,可以选择与特定优化问题的要求相匹配的对应NP问题模板。
例如,处理器204可以被配置成选择背包问题以确定物流行业中的集装箱装载子问题的可行/最优解(如图4A中根据第一用户输入所指定的)。因此,模板描述字段416可以提供背包问题的细节,例如如下:
“我们有N个对象的列表,其中每个对象的重量由W给出,并且如果对象i和j都被选择,则值为Vij。我们有M个背包,它们只能承载重量容量C。问题是要在所选择对象的总重量小于重量容量的约束下使所选择对象的值最大化。"
对于集装箱装载问题,多个输入字段418可以包括对象名称字段、背包数目字段、容量字段、重量参数字段、值参数字段和背包字段。可以使得用户114能够选择或定义用于NP问题的属性的适当标签,例如用于针对背包问题的对象、容量、重量参数、值参数和背包的标签。对象名称字段可以包括选项集合,诸如对象、盒子和库存。另外,对象名称字段可以包括适合于特定优化问题的选项,例如“定义自己的”以使得用户114能够定制对象的名称。类似地,背包数目字段可以包括另一选项集合,例如“1”、“2”或“3”。在背包被选择为“集装箱”的情况下,背包的数目可以对应于针对集装箱装载问题的集装箱的数目。此外,容量字段可以包括另一选项集合,例如容量、大小、负载或投资组合资本上限。
重量参数字段可以包括另一选项集合,例如重量、长度和成本。此外,重量参数字段可以包括如适合于特定优化问题的选项,例如“定义自己的”以使得114用户能够定制重量参数的名称。类似地,值参数字段可以包括另一选项集合,例如值、成本和利润。此外,值参数字段可以包括如适合于特定优化问题的选项,例如“定义自己的”以使得用户114能够定制值参数的名称。背包字段可以包括另一选项集合,例如背包、集装箱、卡车和投资组合文件。
UI元素410可以对应于指定经由UI元素408选择的参数的值和/或与特定优化问题相关联的约束的输入字段。例如,对于集装箱装载问题,用户114可以经由对象名称字段选择“卡车”,经由背包数目字段选择“3”,经由容量字段选择“容量”,经由重量参数字段选择“成本”,经由值参数字段选择“利润”,以及经由背包字段选择“集装箱”。用户114可以经由UI元素410指定卡车、利润、成本、容量和集装箱的参数值。此外,用户114可以指定约束,例如,“至少20,000美元利”作为用于集装箱装载问题的约束。在图4B中,示例电子UI 400B提供UI元素410以输入经由UI元素408选择的所有参数的值。然而,在一些实施方式中,可以在示例电子UI 400B上提供多个UI元素,以输入在示例电子UI 400B上指定的各个参数的值。
UI元素412可以对应于输入字段,以指定经由UI元素408为特定优化问题选择的参数的目标函数。例如,对于集装箱装载问题,用户114可以将目标函数指定为例如£nVjj,其中n是卡车的数目,Vij是在卡车i和j都被选择的情况下的值。
如进一步所示出的,UI元素414被标记为例如“提交”。UI元素414可以对应于选项,在被选择的情况下,将经由UI元素408、UI元素410和/或UI元素412提供的输入作为第二用户输入提交给电子设备102。第二用户输入可以用于提供对优化求解器机器108的调用以生成针对特定优化问题的解。例如,在图5、图7、图8、图9、图10和图11中描述了用于确定针对特定优化问题的一个或更多个解的后续操作。
在此应当注意,电子用户界面400B仅作为示例来说明和示出并且不应解释为限制本公开内容。在不脱离本公开内容的范围的情况下,可以对电子用户界面400B进行其他修改、添加或省略。还应当注意,电子用户界面400B还可以包括其他UI元素,为了简洁起见,已经从本公开内容中省略了这些UI元素。
开发传统的用户界面,焦点集中在专家用户上,该专家用户在为现实世界优化问题制定组合优化/NP公式方面具有一定的专业知识。因此,这些传统的用户界面不能提供可以帮助普通用户(可能不是构造NP公式方面的专家)指定优化问题并且获得所指定优化问题的解的适当的信息和适当的用户可选选项。例如,想要为其递送目标确定最佳路线的普通管理者可能不能确定合适的NP公式,例如旅行商公式。
相比之下,本公开内容提供了电子用户界面104,电子用户界面104提供了合适的信息和合适的用户可选选项,这些选项可以提高用户浏览和配置与特定优化问题相关联的参数的能力。这可以提高用户的提供对优化求解器机器例如量子退火计算机或数字退火器的调用以通过将特定优化问题即现实世界问题公式化为NP问题来生成针对特定优化问题的解的能力。因此,电子用户界面104可以是限定要显示的信息的类型以及如何显示信息的改进的用户界面。这可以消除专家用户向普通用户提供专业帮助的需要并且对于普通用户将是节省时间的。
图5是根据本公开内容中描述的至少一个实施方式布置的使用针对非确定性多项式时间(NP)问题的知识图来生成用于优化问题的模板的示例方法的流程图。结合图1、图2、图3、图4A和图4B的元素说明图5。参照图5,示出了流程图500。流程图500中所示的示例方法可以在502处开始,并且可以由任何合适的***、装置或设备执行,例如由图2的示例***202执行。
在502处,可以检索与关联于优化问题的多个应用特定的领域相关联的第一信息。第一信息可以从存储器206、永久数据存储装置208或其他外部存储设备之一检索。第一信息可以包括多个应用特定的领域的标签和描述。图3的表1中给出了应用特定的领域的一些示例。在一个或更多个实施方式中,处理器204可以被配置成检索与多个应用特定的领域相关联的第一信息。
在504处,可以基于检索到的第一信息将多个应用特定的领域分类成类别集合。每个类别可以指示工业类型,例如制造、物流和制药。在一个或更多个实施方式中,处理器204可以被配置成基于检索到的第一信息将多个应用特定的领域分类到类别集合中。
在506处,可以为类别集合中的每个类别确定领域特定的应用集合。领域特定的应用集合还可以被称为针对类别集合中的对应类别的问题集合。在一些实施方式中,可以应用机器学习(ML)模型,以通过利用每个问题的自然语言描述和与每个问题相关联的标记信息将问题集合(或领域特定的应用集合)分组为若干类别。ML模型可以是无监督学习模型或有监督学习模型。ML模型的示例可以包括但不限于k均值聚类、支持向量机(SVM)、随机森林、基于质心的学习模型、基于连通性的模型、基于密度的模型、概率模型、降维、神经网络/深度神经网络(DNN)模型、主分量分析(PCA)模型或奇异值分解(SVD)模型。
在一个或更多个实施方式中,处理器204可以被配置成确定针对类别集合中的每个类别的领域特定的应用集合(或问题集合)。此外,处理器204可以被配置成应用ML模型,以通过利用每个问题的自然语言描述和与每个问题相关联的标记信息来将问题集合(或领域特定的应用集合)分组为若干类别。
在508处,对于所确定的领域特定的应用集合中的每个领域特定的应用,可以确定子问题集合。在一个或更多个实施方式中,处理器204可以被配置成针对所确定的领域特定的应用集合中的每个领域特定的应用确定子问题集合。
在510处,对于所确定的领域特定的应用集合中的每个领域特定的应用,NP问题类型集合可以被映射至所确定的子问题集合。在一个或更多个实施方式中,处理器204可以被配置成针对所确定的领域特定的应用集合中的每个领域特定的应用,将该NP问题类型集合映射至所确定的子问题集合。可以执行该映射以建立应用特定的领域、问题、子问题和NP问题之间的关系。
在512处,可以为与映射的NP问题类型集合相关联的多个NP问题生成知识图。知识图可以对应于限定多个NP问题中的不同NP问题之间的关系的数据结构。不同NP问题的示例可以包括但不限于:图着色问题、团问题、独立集问题、团覆盖问题、最小最大匹配问题、背包问题、子集和问题、装箱问题、下料问题、数字划分问题、哈密顿回路问题、旅行商问题、直接反馈集问题、车辆路径规划问题、作业车间调度问题、广义指派问题、二次分配问题、集合包装问题、集合划分问题、集合覆盖问题和K-plex问题。在一个或更多个实施方式中,处理器204可以配置成生成与映射的NP问题类型集合相关联的多个NP问题的知识图。图6A、图6B和图6C中示出了不同的示例知识图。
在514处,可以基于所生成的多个NP问题的知识图来生成用于相应多个优化问题的多个模板。多个模板中的每个模板可以包括针对相对应优化问题的多个参数的多个输入字段。针对多个输入字段的多个参数可以包括但不限于与至少应用特定的约束集合、针对相对应优化问题的变量集合和针对相对应优化问题的目标函数相关联的信息。在一个或更多个实施方式中,处理器204可以被配置成基于针对与映射的NP问题类型集合相关联的多个NP问题生成的知识图生成用于相应多个优化问题的多个模板。
控制可以转至结束。尽管流程图500被示出为离散操作,例如502、504、506、508、510、512和514;但是,在一些实施方式中,取决于特定实现方式,在不背离所公开的实施方式的本质的情况下,这样的离散操作还可以被划分成附加操作、被组合成更少操作、或被消除。
图6A示出了根据本公开内容中描述的至少一个实施方式布置的示例知识图的框图。结合图1、图2、图3、图4A、图4B和图5的元素说明图6A。参照图6A,示出了示例知识图600A的框图。示例知识图600A可以存在于多个NP问题中,例如下料问题602、装箱问题604、多背包问题606、二次背包问题608、0-1背包问题610、子集和问题612以及数字划分问题614。示例知识图600A可以由示例***202存储。
下料问题602可以包括多个属性
Figure BDA0002478976910000251
下料问题602可以表述为:“给定长度为C的无限数目的柱形物(roll)和m个不同类型的物品。至少长度为wi,i=1...wi的Bi个柱形物必须从基柱形物切割掉”。目的是使所用的柱形物的数目最小化。在Bi=1的情况下,对于i∈1…m,下料问题602可以被简化/精简为装箱问题604,其中不同体积的对象必须以使所使用的箱的数目最小化的方式被包装在有限数目的箱或集装箱中,所述箱或集装箱中的每一个体积为V。
在示例知识图600A中,装箱问题604可以与多背包问题606相关。多背包问题606可以包括多个属性
Figure BDA0002478976910000252
多背包问题606可以被表述为:“我们有n个对象的列表,其中每个对象的重量由
Figure BDA0002478976910000261
给出,并且值为
Figure BDA0002478976910000262
我们有m个背包,其只能承载重量容量
Figure BDA0002478976910000263
问题是在所选择的对象的总重量小于重量容量的约束下使所选择的对象的值最大化”。多背包问题606可以被概括为二次背包问题608,或者可以简化为0-1背包问题610。在Vij=0,其中i≠j的情况下,其中Vij是在对象i和j都被选择的情况下的值,二次背包问题608可以被简化为0-1背包问题610。在重量
Figure BDA0002478976910000264
等于值
Figure BDA0002478976910000265
其中i≠j的情况下,0-1背包问题610可以被简化为子集和问题612。子集和问题612可以被表述为:“给定非负整数集合S以及值和Vs,确定是否存在给定集合的子集SN,其中和VN等于给定和”。在存在两个子集的情况下,子集和问题612可以被简化为数字划分问题614。这里应当注意,知识图600A仅是示例,并且不应当被解释为限制本公开内容的范围。
图6B示出了根据本公开内容中描述的至少一个实施方式布置的另一示例知识图的框图。结合图1、图2、图3、图4A、图4B、图5和图6A的元素说明图6B。参照图6B,示出了示例知识图600B的框图。示例知识图表600B可以存在于多个NP问题中,例如s团问题616、s-plex问题618、s-club问题620、最大权团问题622、最大权独立集问题624、集合包装问题626、最小顶点覆盖问题628、最小团覆盖问题630、图着色问题632、最大团问题634和最大独立集问题636。示例知识图600B可以由示例***202存储。
可以基于针对特定优化问题的多个参数(例如,约束、值、变量)将s团问题616、s-plex问题618、s-club问题620中的每一个简化为最大权团问题622和最大团问题634。最大权团问题622可以被简化为最大团问题634,而最大团问题634可以被简化为最大独立集问题636。类似地,最大权独立集问题624可以被简化为最大独立集问题636。应当注意,知识图600B仅仅是示例,并且不应当被解释为限制本公开内容的范围。
图6C示出了根据本公开内容中描述的至少一个实施方式布置的另一示例知识图的框图。结合图1、图2、图3、图4A、图4B、图5、图6A和图6B的元素说明图6C。参照图6C,示出了示例知识图600C的框图。示例知识图600C可以存在于多个NP问题中,例如二次分配问题638、旅行商问题640、哈密顿路径/回路问题642以及最小权重反馈弧集问题644。示例知识图600C可以由示例***202存储。
基于针对特定优化问题的多个参数(例如,约束、值、变量)将二次分配问题638可以简化为旅行商问题640或最小权重反馈弧集问题644。类似地,旅行商问题640可以被简化为哈密顿路径/回路问题642。应当注意,知识图600C仅仅是示例,并且不应当被解释为限制本公开内容的范围。
图7是根据本公开内容中描述的至少一个实施方式布置的为特定优化问题构造至少一个NP公式的示例方法的流程图。结合图1、图2、图3、图4A、图4B、图5、图6A、图6B和图6C的元素说明图7。参照图7,示出了流程图700。流程图700中所示的示例方法可以在702处开始并且可以由任何合适的***、装置或设备执行,例如由图2的示例***202执行。
在702处,可以为对应于特定优化问题的NP问题构造一个或更多个NP公式。在一个或更多个实施方式中,处理器204可以被配置成基于接收到的第二用户输入为对应于特定优化问题的NP问题构造一个或更多个NP公式。一个或更多个NP公式的构造可以对应于特定优化问题的多个参数至NP问题的多个属性的映射。
例如,针对集装箱装载问题的多个参数可以包括库存数量、集装箱数目、每个集装箱的容量、每库存的值、约束、其他条件等。处理器204可以被配置成将多个参数映射至相对应NP问题例如多背包问题的多个属性。多背包问题可以包括多个属性
Figure BDA0002478976910000271
其中n表示对象的数目,m(m<n)表示背包的数目,
Figure BDA0002478976910000272
Figure BDA0002478976910000273
分别是每个对象的重量和值的向量,并且
Figure BDA0002478976910000274
是m个背包可以承载的总重量容量的向量。
在一个或更多个实施方式中,处理器204可以被配置成基于针对多个NP问题的分类信息和知识图(如图6A、6B和6C所示)来确定可能适合于特定优化问题的NP问题。更具体地,经由第二用户输入提供的输入数据可用于从知识图中搜索适合于(或最优于)特定优化问题的NP问题。从704至706进一步描述了一个或更多个NP公式的构造。
在704处,基于多个NP问题的知识图和接收到的第二用户输入,为特定优化问题评估多个NP公式。在一个或更多个实施方式中,处理器204可以被配置成基于多个NP问题的知识图和接收到的第二用户输入来为特定优化问题评估多个NP公式。在评估中,可以通过搜索针对多个NP问题的知识图和/或分类信息来识别多个NP公式,所述多个NP问题具有映射至针对特定优化问题的多个参数的属性/约束。
例如,也如图4A和图4B中所讨论的,对于集装箱装载问题,可以识别多个NP问题。这样的多个NP问题可以包括装箱问题、多背包问题、0-1背包问题、二次背包问题以及子集和问题。基于经由第二用户输入提供的输入数据,可以确定装箱问题是否可以被简化和精简为多背包问题。此外,在值Vjj=0,其中i≠j,Vjj是在对象i和j都被选择的情况下的值(参见图6A)的情况下,可以确定二次背包问题是否可以被简化为0-1背包问题。否则,可以确定多背包问题是否可以被推广至二次背包问题。另外,在重量
Figure BDA0002478976910000281
等于值
Figure BDA0002478976910000282
其中i≠j的情况下(参照图6A),还可以确定是否能够将0-1背包问题简化为子集和问题。
在706处,可以从所评估的针对特定优化问题的多个NP公式中选择一个或更多个NP公式。例如,可以基于在所评估的多个NP公式的每个NP公式中指定的多个约束条件或属性来选择一个或更多个NP公式。一个或更多个NP公式的选择对于决定针对特定优化问题的最佳/最优NP公式是至关重要的。在一个或更多个实施方式中,处理器204可以用于从所评估的针对特定优化问题的多个NP公式中选择一个或更多个NP公式。所选择的一个或更多个NP公式可以对应于所构造的针对特定优化问题的一个或更多个NP公式。
这里应当注意,一个或更多个NP公式的选择/构造对于确定针对特定优化问题的一个或更多个解是关键的,因为一个或更多个NP公式的准确选择可以确定一个或更多个解的质量/准确性。在传统情况下,NP公式是由专家用户创建的,因此,最佳/最优NP公式的选择的准确性取决于专家用户的经验。任何不适当的公式都可能导致较差的解。
在一些实施方式中,一个或更多个NP公式的选择可以基于整数编程(IP)模型中的多个变量。例如,最大权团问题和最大权独立集问题的NP公式非常相似。唯一的区别在于,最大权团问题的图可以被认为是最大权独立集问题的补充图,反之亦然。为了选择NP公式之一,可以检查图中的边的数目。较少数目的约束(例如,边)可以带来降低的计算复杂度。
尽管流程图700被示出为例如702、704和706等的离散操作。但是,在一些实施方式中,取决于特定实现方式,在不背离所公开的实施方式的本质的情况下,这样的离散操作还可以被划分成附加操作、被组合成更少操作、或被消除。
图8是根据本公开内容中描述的至少一个实施方式布置的根据针对特定优化问题的至少一个NP公式化来公式化第一目标函数和第二目标函数的示例方法的流程图。结合图1、图2、图3、图4A、图4B、图5、图6A、图6B、图6C和图7的元素来说明图8。参照图8,示出了流程图800。流程图800中所示的示例方法可以在802开始并且可以由任何合适的***、装置或设备执行,例如由图2的示例***202执行。
在802处,基于所构造的一个或更多个NP公式,可以公式化针对特定优化问题的第一目标函数。在一个或更多个实施方式中,处理器204可以被配置成基于所构造的一个或更多个NP公式来公式化针对特定优化问题的第一目标函数。在存在多于一个NP公式的情况下,可以为特定优化问题公式化多个第一目标函数。第一目标函数可以包括NP问题的多个属性之间的关系(即数学关系),如由针对特定优化问题的相对应NP公式所指定的。第一目标函数也可以称为相对应NP公式的数学公式。为了生成针对特定优化问题的最优解,可能需要通过从离散解空间搜索最优解来确定第一目标函数的全局最小值。
在一个或更多个实施方式中,第一目标函数可以是以下之一:
二次无约束二进制优化(QUBO)函数,
具有等式约束集合的第一二次二进制优化函数,
具有不等式约束集合的第二二次二进制优化函数,
具有小的(0或1)不等式约束集合的第三二次二进制优化函数,或者
混合线性整数规划(MILP)函数。
QUBO函数可以由如下的等式(1)给出:
min(y=xT·Q·x) (1)
其中x是二进制决策变量的向量,Q是常数的方阵。
具有等式约束的第一二次二进制优化函数可以由如下的等式(2)给出:
min(y=xT·Q·x),使得A·x=b,x∈{0,1}n (2)
类似地,具有不等式约束集合的第二二次二进制优化函数可以由如下的等式(3)给出:
min(y=xT·Q·x),使得A1·x=b1,A2·x≥b2,A3·x≤b3 (3)
第二二次二进制优化函数与等式(4)相同,但是不将不等式约束的右手侧(RHS)限制为0或1。
类似地,在不等式约束向量(b2或b3)的RHS中的元素为0或1的情况下,具有小的(0或1)不等式约束集合的第三二次二进制优化函数可以由如下的等式(4)给出:
min(y=xT·Q·x),使得A1·x=b1,A2·x≥b2,A3·x≤b3,x∈{0,1}n (4)
MILP函数可以由如下的等式(5)给出:
min(y=CT·x),使得A1·x=b1,A2·x≥b2,A3·x≤b3,x∈Zn (5)
从804至808还描述了第一目标函数的公式化。
在804处,可以从存储器206或永久数据存储装置208检索第一映射表。第一映射表可以包括映射至目标函数的对应列表的NP问题的列表。在一个或更多个实施方式中,处理器204可以被配置成从存储器206或永久数据存储装置208检索第一映射表。第一映射表的示例在如下的表2中提供:
Figure BDA0002478976910000301
表2:第一映射表的示例
在806处,基于检索到的第一映射表,可以针对对应于特定优化问题的NP问题评估多个第一目标函数。在一个或更多个实施方式中,处理器204可以被配置成基于检索到的第一映射表,评估与特定优化问题对应的NP问题的多个第一目标函数。
根据表2,可以看出对于单个NP问题存在多个可能的数学公式(即第一目标函数)。作为示例,背包问题可以被公式化为具有不等式约束的二次二进制优化函数或者MILP函数。作为另一示例,对于车辆路径规划问题,可以存在三个不同的数学公式,包括车辆流量公式、商品流量公式和集合划分公式。
在808处,可以基于针对所评估的多个第一目标函数中的每个目标函数指定的多个属性/约束从所评估的多个第一目标函数中选择第一目标函数作为最优目标函数。在一个或更多个实施方式中,处理器204可以被配置成基于针对所评估的多个第一目标函数中的每个目标函数指定的多个属性/约束从所评估的多个第一目标函数中选择第一目标函数作为最优目标函数。
作为示例,数学公式(目标函数和约束)的更多个属性可以导致解的更大变化,即更大的解空间和更大的计算复杂度。类似地,更多数目的约束可以有助于将较大的解空间减少为较小的解空间,从而使得用于确定针对特定优化问题的解的计算复杂度降低。
作为另一示例,对于下料问题,有两个数学公式,其由如下的公式(6)和(7)给出:
Figure BDA0002478976910000311
其中,xij∈Z+表示在柱形物(j)中切割多少次项目类型(i);并且yj∈(0,1)表示柱形物(j)是否用于切割。
Figure BDA0002478976910000321
由于公式(7)对滤波器解空间具有更多约束以获得比公式(6)更好的解,所以公式(7)可以被选择为最优公式(即,第一目标函数和约束)。
在810处,可以以代数建模语言(AML)格式将公式化的第一目标函数提交给针对特定优化问题预先指定的优化求解器机器108。AML格式可以对应于将公式化的第一目标函数描述为高级计算机编程语言的代码的格式的格式。在一个或更多个实施方式中,处理器204可以被配置成以AML格式将公式化的第一目标函数提交给针对特定优化问题预先指定的优化求解器机器108。
该代码可以由优化求解器机器108使用以生成与特定优化问题对应的NP问题的解。作为示例,AML格式可以是基于Python的开源优化建模语言(PYOMO)格式、数学编程语言(AMPL)等。公式化的第一目标函数的AML格式可以不直接被执行,而是可以由优化求解器机器108或其他外部优化求解器机器使用以生成与特定优化问题对应的NP问题的一个或更多个解。
在812处,可以基于公式化的第一目标函数来公式化可以与优化求解器机器108的执行兼容的第二目标函数。在一个或更多个实施方式中,处理器204可以被配置成基于公式化的第一目标函数来公式化可以与优化求解器机器108执行兼容的第二目标函数。第二目标函数可以是二次曲面上的无约束数学公式。公式化的第二目标函数可以包括二进制决策变量(x)的向量与对应于公式化的第一目标函数的Q矩阵之间的关系。
作为示例,第二目标函数可以被公式化为QUBO模型,QUBO模型可以由如下的等式(8)表达(作为优化问题):
min(y=xTQx) (8)
其中,x是二进制决策变量的向量并且Q是常数的Q矩阵。Q矩阵可以是对称矩阵或上三角矩阵。优化求解器机器108例如数字退火设备或量子退火设备可能需要等式(8)中的Q矩阵以生成与特定优化问题对应的NP问题的解。例如,在图9中提供了第二目标函数的公式的另外细节。
在814处,可以提供对优化求解器机器108的调用以通过求解提交的第二目标函数来生成针对特定优化问题的解。在一个或更多个实施方式中,处理器204可以被配置成提供对优化求解器机器108的调用以通过求解所提交的第二目标函数来生成针对特定优化问题的解。作为示例,该调用可以是API请求,其中可以从优化求解器机器108请求针对以AML格式提交的第二目标函数的一个或更多个解。
在一个或更多个实施方式中,优化求解器机器108可以被配置成应用搜索方法和/或元启发式方法例如量子退火来搜索第二目标函数的全局最小值并且还从离散解空间中识别出与特定优化问题对应的NP问题的解。
在示例性实施方式中,优化求解器机器108可以是数字退火设备、量子退火设备或者广义量子计算设备(参考图1)。在这样的情况下,优化求解器机器108可以被配置成将第二目标函数转换成Ising函数,其中第二目标函数的属性之间的关系和属性均基于Ising模型。优化求解器机器108还可以被配置成应用量子退火方法来搜索Ising函数的全局最小值并且还从离散解空间中识别与特定优化问题对应的NP问题的解。
作为示例,根据等式(8),优化求解器机器108可以被配置成检索Q矩阵(即表示NP问题的矩阵)并且搜索满足等式(8)的二进制决策变量的向量(x)的值。二进制决策变量的向量(x)的值可以对应于与特定优化问题对应的NP问题的解。
尽管流程图800被示出为离散操作,例如802、804、806、808、810、812和814。但是,在一些实施方式中,取决于特定实现方式,在不背离所公开的实施方式的本质的情况下,这样的离散操作还可以被划分成附加操作、被组合成更少操作、或被消除。
图9是根据本公开内容中描述的至少一个实施方式布置的用于基于针对特定优化问题的第一目标函数来公式化第二目标函数的示例方法的流程图。结合图1、图2、图3、图4A、图4B、图5、图6A、图6B、图6C、图7和图8的元素说明图9。参照图9,示出了流程图900。流程图900中所示的示例方法可以在902处开始并且可以由任何合适的***、装置或设备执行,例如由图2的示例***202执行。
在902处,可以从存储器206检索公式化的第一目标函数。在一个或更多个实施方式中,处理器204可以被配置成从存储器206检索公式化的第一目标函数。
在904处,可以确定是否需要第一目标函数至第二目标函数的转换。在一个或更多个实施方式中,处理器204可以被配置成确定是否需要第一目标函数至第二目标函数的转换。在需要转换的情况下,控制可以转至906。否则,控制可以转至908。可以基于预先指定以生成针对特定优化问题的解的优化求解器机器的类型来确定是否需要转换。
例如,在优化求解器机器的类型对应于数字退火器或量子退火计算机的情况下,可能需要转换。数字退火器可能需要以对应于特定优化问题的NP问题的第二目标函数的形式的QUBO公式。可能需要修改第一目标函数以获得第二目标函数。否则,可以不需要转换,并且可以以兼容的AML格式将第一目标函数提交给使用软件求解器的优化求解器类型,所述软件求解器例如Gurobi求解器或开源软件求解器例如求解约束整数程序(SCIP)求解器、Google OR工具、GNU线性编程工具包(GLPK)求解器。
在906处,可以识别在公式化的第一目标函数中使用的约束类型。约束类型可以是公式化的第一目标函数中的不等式约束类型或等式约束类型中之一。在一个或更多个实施方式中,处理器204可以被配置成识别在公式化的第一目标函数中使用的约束类型。
在908处,可以提供对其他外部优化求解器机器的调用以通过求解第一目标函数来生成针对特定优化问题的一个或更多个解。在一种类型的优化求解器机器使用与具有非二进制变量的多项式函数兼容的软件求解器并且不需要第一目标函数至QUBO函数(即第二目标函数)的转换的情况下,可以提供对其他外部优化求解器机器的调用。在一个或更多个实施方式中,处理器204可以被配置成提供对其他外部优化求解器机器的调用以通过求解第一目标函数来生成针对特定优化问题的解。
在910处,可以确定所识别的约束类型是否是等式约束类型。在所识别的约束类型是等式约束类型的情况下,控制可以转至912。否则,控制可以转至914。在一个或更多个实施方式中,处理器204可以被配置成确定所识别的约束类型是否是等式约束类型。
在912处,可以将惩罚项追加至公式化的第一目标函数。可以追加惩罚项以将第一目标函数转换成第二目标函数。在一个或更多个实施方式中,处理器204可以被配置成将惩罚项追加至公式化的第一目标函数。可以追加惩罚项以使得可以在优化求解器机器108生成针对第二目标函数的解并且避免招致惩罚的同时可替选地实现针对第一目标函数预先指定的约束的影响。更具体地,可以追加惩罚项以使得对于离散解空间的可行解,惩罚等于零,而对于离散解空间的不可行解,惩罚等于正值。优化求解器机器108可以被配置成通过求解第二目标函数来生成解。在惩罚项为零的情况下,第二目标函数可以等于第一目标函数。
作为示例,第一目标函数可以由如下的等式(9)给出:
min(y=xTQx) (9)
使得A·x=b,x∈{0,1}n
根据等式(9),第一目标函数可以具有等式约束类型。因此,二次惩罚项(P·(Ax-b)T·(Ax-b))可以追加至第一目标函数(由等式(9)给出)以获得第二目标函数,该第二目标函数可以由如下的等式(10)给出:
min(y=xTQx+P·(Ax-b)T·(Ax-b)) (10)
x∈{0,1}n,P是较大数字的常数。
在914处,可以确定所识别的约束类型是否是一般不等式约束类型。在一个或更多个实施方式中,处理器204可以被配置成确定所识别的约束类型是否是一般不等式约束类型。在所识别的约束类型是一般不等式约束类型的情况下,控制可以转至916。否则,控制可以转至918。
在916处,一般不等式约束类型可以被转换成等式约束类型。在一个或更多个实施方式中,处理器204可以被配置成将一般不等式约束类型转换成等式约束类型。可以执行该转换以基于第一目标函数来公式化第二目标函数。本文描述了在识别出的约束类型是一般不等式约束类型的情况下基于第一目标函数来公式化第二目标函数的示例方法中的两个示例方法。
示例方法1:具有二进制或整数编码的松弛或过剩变量可以被追加至公式化的第一目标函数以将一般不等式约束类型转换为等式约束类型。在一个或更多个实施方式中,处理器204可以被配置成将具有二进制或整数编码的松弛变量或过剩变量追加至公式化的第一目标函数以将一般不等式约束类型转换为等式约束类型。
作为示例,对于每个约束
Figure BDA0002478976910000351
其中b3j≥0,松弛变量sj可以被追加至第一目标函数以将一般不等式约束类型转换为等式约束类型,使得
Figure BDA0002478976910000352
为了得到sj的可能上界Uj
Figure BDA0002478976910000361
sj可以由二进制变量集合编码,使得0≤sj≤Uj,即
Figure BDA0002478976910000362
松弛变量还可以由二进制变量(ei)的列表来替换。此后,惩罚项还可以被追加至第一目标函数(与912相同)。
作为另一示例,对于每个约束
Figure BDA0002478976910000363
其中b3j≥0,过剩变量sj可以被追加至第一目标函数以将一般不等式约束类型转换为等式约束类型,使得
Figure BDA0002478976910000364
为了得到sj的可能上界Uj
Figure BDA0002478976910000365
此后,sj可以由二进制变量集合编码,使得0≤sj≤Uj,即
Figure BDA0002478976910000366
过剩变量可以由二进制变量(ei)的列表来替换并且惩罚项可以被追加至第一目标函数(与912相同)。
示例方法2:处理器204可以被配置成向优化求解器机器108指定应用分支定界方法,该分支定界方法使用拉格朗日对偶性通过求解第一目标函数即受约束优化函数来直接生成针对特定优化问题的解。分支定界方法在本领域中是公知的,因此为了简洁起见省略了细节。此外,在第一目标函数是MILP函数即基于等式(5)的情况下,可以对具有二进制变量的每个整数变量进行编码,使得编码值覆盖所有可能的值。
在918处,可以基于第二映射表将惩罚项追加至公式化的第一目标函数。可以追加惩罚项以将第一目标函数转换成第二目标函数。此外,基于确定在公式化的第一目标函数中使用的确定的约束类型是等式约束类型或不等式约束类型中之一,可以将惩罚项追加至公式化的第一目标函数。在一个或更多个实施方式中,处理器204可以被配置成基于确定在公式化的第一目标函数中使用的确定的约束类型是等式约束类型或不等式约束类型中之一而将惩罚项追加至公式化的第一目标函数。可以在第二映射表中指定惩罚项,该第二映射表包括映射至适用于公式化的第一目标函数的约束类型的相对应列表的惩罚项列表。第二映射表的示例在如下的表3中提供:
经典约束 惩罚项
x+y≤1 P(xy)
x+y≥1 P(1-x-y+xy)
x+y=1 P(1-x-y+2xy)
x≤y P(x-xy)
x<sub>1</sub>+x<sub>2</sub>+x<sub>3</sub>≤1 P(x<sub>1</sub>x<sub>2</sub>+x<sub>1</sub>x<sub>2</sub>+x<sub>2</sub>x<sub>3</sub>)
x=y P(x+y-2xy)
表3:第二映射表
其中,P(.)表示多项式函数。
在一些情况下,可以分析与第一目标函数相关联的概要不等式项以决定要被追加至第一目标函数的惩罚项。提供了针对概要不等式项的一些示例性条件,如下:
示例性条件“1”:可以确定第一目标函数的概要不等式项(即,
Figure BDA0002478976910000371
)是否包括多个变量(即,x1、x2、x3…和xm)。在概要不等式项包括多个变量的情况下,可以选择变量中的任意两个变量(即,xi,xj),并且可以将惩罚项(P·xi·xj)追加至第一目标函数。这里,P是较大的常数。
示例性条件“2”:可以确定第一目标函数的概要不等式项(即,
Figure BDA0002478976910000381
)是否包括多个变量(即,x1、x2、x3…和xm)。在概要不等式项包括多个变量的情况下,可以追加惩罚项(即,
Figure BDA0002478976910000382
)以将第一目标函数的高阶多项式形式转换成二进制多项式形式即第二目标函数。可替选地,可以加上范围在[0,m-1]中的过剩整数变量s以将不等式约束转换为等式约束。也就是说,可以将惩罚项(即,
Figure BDA0002478976910000383
)追加至第一目标函数。这里,P是较大的常数。整数变量s可以由二进制变量集合使用对数或一位热编码来编码。
示例性条件“3”:可以确定第一目标函数的概要不等式项(即,
Figure BDA0002478976910000384
)是否包括多个变量(即,x1、x2、x3…和xm)。在概要不等式项包括多个变量的情况下,惩罚项(即,
Figure BDA0002478976910000385
)可以被追加至第一目标函数以将第一目标函数的高阶多项式形式转换成二进制多项式形式即第二目标函数。
示例性条件“4”:可以确定第一目标函数的概要不等式项是否恰好包括两个变量,可以基于第二映射表(例如,表3)将惩罚项追加至第一目标函数。
在920处,可以提供对优化求解器机器108的调用以通过求解第二目标函数来生成针对特定优化问题的解。在一个或更多个实施方式中,处理器204可以被配置成提供对优化求解器机器108的调用以通过求解第二目标函数来生成针对特定优化问题的解。作为示例,该调用可以是API请求,其中可以从优化求解器机器108请求针对以AML格式提交的第二目标函数的一个或更多个解。
尽管流程图900被示出为离散操作,例如902、904、906、908、910、912、914、916、918和920;但是,在一些实施方式中,取决于特定实现方式,在不背离所公开的实施方式的本质的情况下,这样的离散操作还可以被划分成追加操作、被组合成更少操作、或被消除。
图10是根据本公开内容中描述的至少一个实施方式布置的测量多个优化求解器机器的性能的示例方法的流程图。结合图1、图2、图3、图4A、图4B、图5、图6A、图6B、图6C、图7、图8和图9的元素说明图10。参照图10,示出了流程图1000。流程图1000中所示的示例方法可以在1002处开始并且可以由任何合适的***、装置或设备执行,例如由图2的示例***202执行。
在1002处,可以以AML格式将公式化的第二目标函数提交给包括退火***106的优化求解器机器108的多个优化求解器机器。可以执行对多个优化求解器机器的这样的提交以评估由退火***106的优化求解器机器108生成的解的质量。此外,这可以被执行以微调退火***106的优化求解器机器108的操作参数。在一个或更多个实施方式中,处理器204可以被配置成以AML格式将公式化的第二目标函数提交给包括退火***106的优化求解器机器108的多个优化求解器机器。在提交之前修改AML格式,以便修改后的AML格式对于多个优化求解器机器中的目标优化求解器机器保持兼容。
除了优化求解器机器108以外,多个优化求解器机器还可以包括其他外部优化求解器机器,所述其他外部优化求解器机器可以包括可以与优化求解器机器108的硬件和/或软件代码不同的硬件(例如,广义量子计算设备或量子退火计算机)和/或软件代码。这种不同还可以帮助基准化和改善优化求解器机器108的性能。同样,其他外部优化求解器机器中的每个外部优化求解器机器可以对应于使用软件求解器的一种类型的优化求解器机器,所述软件求解器例如Gurobi求解器或开源软件求解器例如求解约束整数程序(SCIP)求解器、Google OR工具、GNU线性编程工具包(GLPK)求解器。
在1004处,可以提供对多个优化求解器机器的调用以生成针对所提交的第二目标函数的多个解。每个优化求解器机器可以被配置成通过朝向所提交的第二目标函数的全局最小值递归地移动来从离散解空间生成相应解(即最优解)。每个优化求解器机器可以被配置成应用适当的优化方法来生成相应解。例如,退火***106的优化求解器机器108可以被配置成应用量子退火方法来生成针对所提交的第二目标函数的相对应解。
在1006处,通过对所生成的多个解应用启发式函数,可以为多个优化求解器机器中的每个优化求解器机器确定性能测量。在一个或更多个实施方式中,处理器204可以被配置成通过对所生成的多个解应用启发式函数来为多个优化求解器机器中的每个优化求解器机器确定性能测量。对于每个优化求解器机器,性能测量可以指示相应解与基准真值解的偏差,该基准真值解可以被预先估计以供参考。
可以应用启发式函数来比较优化求解器机器108的性能与其他外部优化求解器机器的性能。启发式函数的示例可以包括但不限于贪婪函数和线性规划(LP)松弛(即,通过单纯形法(Simplex method)求解整数线性规划(ILP)问题并忽略整数约束)。
在一些实施方式中,还可以实现质量保证检查。在质量保证检查中,可以预先估计针对特定优化问题的基准真值解或精确解并将其存储在示例***202的存储器206和/或持久数据存储设备208中。来自多个优化求解器机器中的相对应优化求解器机器的每个解可以与基准真值解进行比较以确定相应解与基准真值解的偏差以及相应性能测量。可以应用于预估真值解的方法的一些示例可以包括但不限于分支定界方法、动态编程(DP)方法和列生成方法。
在1008处,可以经由显示设备212的显示屏输出解。该解可以由所确定的性能测量为最大的相对应优化求解器机器生成。在一个或更多个实施方式中,处理器204可以被配置成经由显示屏输出由所确定性能测量为最大的相对应优化求解器机器生成的一个或更多个解。在一些其他实施方式中,可以微调优化求解器机器108的操作参数(例如温度参数、迭代次数或运行次数),以使所确定的性能测量对于优化求解器机器108而言是最大的。
尽管流程图1000被示出为离散操作,例如1002、1004、1006和1008;但是,在一些实施方式中,取决于特定实现方式,在不背离所公开的实施方式的本质的情况下,这样的离散操作还可以被划分成附加操作、被组合成更少操作、或被消除。
图11是根据本公开内容中描述的至少一个实施方式布置的自动触发优化求解器机器108以使用连接数据库来求解特定优化问题的示例方法的流程图。结合图1、图2、图3、图4A、图4B、图5、图6A、图6B、图6C、图7、图8、图9和图10的元素说明图11。参照图11,示出了流程图1100。流程图1100中所示的示例方法可以在1102开始并且可以由任何合适的***、装置或设备执行,例如由图2的示例***202执行。
在1102处,应用特定的数据库110可以经由连接接口连接至优化求解器机器108。应用特定的数据库110可以包括映射至针对特定优化问题的多个参数的输入数据。在一个或更多个实施方式中,处理器204可以被配置成一旦用户114指定了优化问题就经由电子用户接口104接收将应用特定的数据库110连接至优化求解器机器108的用户请求。处理器204可以被配置成将用户请求提交给优化求解器机器108。用户请求可以包括与应用特定的数据库110相关联的信息。优化求解器机器108可以被配置成基于用户请求与应用特定的数据库110连接。
在1104处,可以确定要被满足以触发优化求解器机器108的用户指定的条件集合。用户指定的条件集合可以用于触发优化求解器机器108以再次生成特定优化问题的一个或更多个解。用户指定的条件集合可以包括但不限于来自用户114的手动触发输入、特定优化问题的一个或更多个参数的值的周期性/非周期性变化以及特定优化问题的特定参数的值之间的逻辑条件。在一个或更多个实施方式中,处理器204可以被配置成确定要满足的用户指定的条件集合以触发优化求解器机器108。
在1106处,可以确定是否满足所确定的用户指定的条件集合中的至少一个条件。在一个或更多个实施方式中,处理器204可以被配置成确定是否满足所确定的用户指定的条件集合中的至少一个条件。在满足所确定的用户指定条件集合中的至少一个条件的情况下,控制可以转至1108。否则,控制可以转至1110。
在1108处,可以基于满足用户指定的条件集合的确定来触发优化求解器机器108从连接的应用特定的数据库110检索输入数据以供求解特定优化问题。在一个或更多个实施方式中,处理器204可以被配置成基于满足用户指定的条件集合的确定来触发优化求解器机器108以从所连接的应用特定的数据库110检索输入数据以供求解特定优化问题。例如,在集装箱装载问题的集装箱数目改变的情况下,则可以生成新的问题实例并且可以触发优化求解器机器108以再次生成针对集装箱装载问题的解(在图4A和图4B中也讨论了)。
作为示例,在一些情况下,针对特定优化问题的多个参数中的不同参数的值可以改变。随着值的改变,也可能需要再次生成针对特定优化问题的解。在将值的改变提交给应用特定的数据库110的情况下,处理器204可以被配置成触发优化求解器机器108以生成针对特定优化问题的另一解。
在1110处,可以执行重新检查以确定是否满足所确定的用户指定的条件集中的至少一个调节。可以迭代地执行重新检查,直到满足所确定的用户指定的条件集合中的至少一个条件。在一个或更多个实施方式中,处理器204可以被配置成执行重新检查以确定是否满足所确定的用户指定的条件集合中的至少一个条件。
尽管流程图1100被示出为离散操作,例如1102、1104、1106、1108和1110;但是,在一些实施方式中,取决于特定实现方式,在不背离所公开的实施方式的本质的情况下,这样的离散操作还可以被划分成附加操作、被组合成更少操作、或被消除。
本公开内容的各种实施方式可以提供被配置成存储指令的一种或更多种非暂态计算机可读存储介质,所述指令响应于被执行而使得***(例如示例***202)执行操作。所述操作可以包括显示包括与针对多个优化问题的分类信息对应的多个用户可选选项的电子用户界面(例如电子用户界面104)。所述操作还可以包括接收第一用户输入,该第一用户输入选择用于多个优化问题中的特定优化问题的第一模板。第一用户输入可以包括对多个用户可选选项中的至少一个用户可选选项的选择。所述操作还可以包括经由所选择的用于特定优化问题的第一模板接收第二用户输入。第二用户输入可以包括用于如在所选择的第一模板中指定的特定优化问题的多个参数的输入数据。所述操作还可以包括基于接收到的第二用户输入来提供对优化求解器机器(例如优化求解器机器108)的调用以生成针对特定优化问题的解。
如本公开内容中所使用的,术语“模块”或“部件”可以指被配置成执行模块或部件的动作的特定硬件实现方式和/或可以存储在计算***的通用硬件(例如,计算机可读介质、处理设备等)上和/或由计算***的通用硬件执行的软件对象或软件例程。在一些实施方式中,本公开内容中描述的不同部件、模块、引擎和服务可以被实现为在计算***上(例如,作为单独的线程)执行的对象或进程。虽然本公开内容中描述的一些***和方法通常被描述为以软件(存储在通用硬件上和/或由通用硬件执行)来实现,但是特定硬件实现方式或软件和特定硬件实现方式的组合也是可能的和预期的。在本说明书中“计算实体”可以是如本公开内容中先前限定的任何计算***或者在计算***上运行的任何模块或模块的组合。
在本公开内容中并且尤其是在所附权利要求(例如,所附权利要求的主体)中使用的术语一般旨在作为“开放式”术语(例如,术语“包括”应当解释为“包括但不限于”,术语“具有”应当解释为“至少具有”,术语“包含”应当解释为“包含但不限于”等)。
另外,如果意图是所引入的权利要求叙述的特定数目,则这样的意图将在权利要求中明确地叙述,并且在没有这样的叙述的情况下,不存在这样的意图。例如,为了帮助理解,以下所附权利要求可以包含使用引导性短语“至少一个”和“一个或更多个”来引入权利要求叙述。但是,这种短语的使用不应被解释为暗示着由不定冠词“一”或“一个”引入的权利要求特征将包含这种引入的权利要求特征的任何特定权利要求限制为仅包含一个这种特征的实施方式,即使当同一权利要求包括引导短语“一个或更多个”或“至少一个”以及不定冠词如“一”或“一个”时(例如,“一”和/或“一个”应被解释为意指“至少一个”或“一个或更多个”);这同样适用于使用定冠词来引入权利要求叙述。
另外,即使明确地叙述了所引入的权利要求叙述的特定数目,本领域技术人员将认识到这样的叙述应当被解释为意味着至少所叙述的数目(例如,在没有其他修饰语的情况下,“两个叙述”的无修饰叙述意味着至少两个叙述,或者两个或更多个叙述)。此外,在使用类似于“A、B、C等中的至少一个”或“A、B、C等中的一个或更多个”的约定的实例中,一般来说,这样的构造意在包括单独的A、单独的B、单独的C、A和B一起、A和C一起、B和C一起、或A、B和C一起等。
此外,无论在说明书、权利要求书或附图中,呈现两个或更多个替选术语的任何分离性词语或短语都应当被理解为预期包括这些术语之一、这些术语中的任一个或术语两者的可能性。例如,短语“A或B”应被理解为包括“A”或“B”或“A和B”的可能性
本公开内容中叙述的所有示例和条件语言旨在用于教导目的以帮助读者理解本公开内容和发明人为了促进本领域而贡献的概念,并且应当被解释为不限于这样的具体叙述的示例和条件。尽管已经详细描述了本公开内容的实施方式,但是在不脱离本公开内容的精神和范围的情况下,可以对实施方式进行各种改变、替换和变更。

Claims (20)

1.一种方法,包括:
显示包括与针对多个优化问题的分类信息对应的多个用户可选选项的电子用户界面;
接收第一用户输入,所述第一用户输入选择用于所述多个优化问题中的特定优化问题的第一模板,
其中,所述第一用户输入包括对所述多个用户可选选项中的至少一个用户可选选项的选择;经由所选择的用于所述特定优化问题的第一模板接收第二用户输入,
其中,所述第二用户输入包括在所选择的第一模板中指定的所述特定优化问题的多个参数的输入数据;以及
基于所接收的第二用户输入提供对优化求解器机器的调用以生成针对所述特定优化问题的解。
2.根据权利要求1所述的方法,其中,所述多个优化问题中的每个优化问题对应于组合优化问题,并且
其中,所述特定优化问题对应于多个非确定性多项式时间(NP)问题中的非确定性多项式时间问题。
3.根据权利要求2所述的方法,其中,所述非确定性多项式时间问题是以下问题之一:图着色问题、团问题、独立集问题、团覆盖问题、最小最大匹配问题、背包问题、子集和问题、装箱问题、下料问题、数字划分问题、哈密顿回路问题、旅行商问题、直接反馈集问题、车辆路径规划问题、工作车间调度问题、广义分配问题、二次分配问题、集合包装问题、集合划分问题、集合覆盖问题或K-plex问题。
4.根据权利要求1所述的方法,其中,所述分类信息包括以下中的一个或更多个:应用特定的领域、领域特定的应用、所述领域特定的应用的子问题以及非确定性多项式时间(NP)问题。
5.根据权利要求1所述的方法,还包括:
检索与关联于优化问题的多个应用特定的领域相关联的第一信息;
基于所检索到的第一信息将所述多个应用特定的领域分类成类别集合;
针对所述类别集合中的每个类别确定领域特定的应用集合;
确定所确定的领域特定的应用集合中的每个领域特定的应用的子问题集合;
针对所确定的领域特定的应用集合中的每个领域特定的应用,将非确定性多项式时间问题类型集合映射至所确定的子问题集合;以及
生成针对与所映射的非确定性多项式时间问题类型集合相关联的多个非确定性多项式时间问题的知识图,其中,所述知识图对应于限定所述多个非确定性多项式时间问题中的不同非确定性多项式时间问题之间的关系的数据结构。
6.根据权利要求5所述的方法,还包括:
基于所生成的针对与所映射的非确定性多项式时间问题类型集合相关联的多个非确定性多项式时间问题的知识图,生成用于相应多个优化问题的多个模板,
其中,所述多个模板中的每个模板包括相应优化问题的多个参数的多个输入字段,并且
其中,所述多个输入字段的所述多个参数包括至少与应用特定的约束集合、所述相应优化问题的变量集合和所述相应优化问题的目标函数相关联的信息。
7.根据权利要求6所述的方法,其中,所接收的第一用户输入对应于从所生成的多个模板中对所述第一模板的选择。
8.根据权利要求1所述的方法,还包括基于所接收的第二用户输入构造针对与所述特定优化问题对应的非确定性多项式时间(NP)问题的至少一个非确定性多项式时间公式,
其中,所述至少一个非确定性多项式时间公式的构造对应于所述特定优化问题的所述多个参数至所述非确定性多项式时间问题的多个属性的映射。
9.根据权利要求8所述的方法,其中,所述构造还包括:
基于针对多个非确定性多项式时间问题的知识图和所接收的第二用户输入来评估针对所述特定优化问题的多个非确定性多项式时间公式;以及
基于在所评估的多个非确定性多项式时间公式的每个非确定性多项式时间公式中指定的多个约束条件,从所评估的针对所述特定优化问题的多个非确定性多项式时间公式中选择至少一个非确定性多项式时间公式,
其中,所选择的至少一个非确定性多项式时间公式对应于所构造的针对所述特定优化问题的至少一个非确定性多项式时间公式。
10.根据权利要求8的方法,还包括基于所构造的至少一个非确定性多项式时间公式来公式化针对所述特定优化问题的第一目标函数,
其中,所述第一目标函数包括所述非确定性多项式时间问题的所述多个属性之间的关系。
11.根据权利要求10所述的方法,其中,所述第一目标函数是以下函数之一:二次无约束二进制优化(QUBO)函数、具有等式约束集合的第一二次二进制优化函数、具有不等式约束集合的第二二次二进制优化函数或混合线性整数规划(MILP)函数。
12.根据权利要求10所述的方法,其中,所述公式化还包括:
检索第一映射表,所述第一映射表包括被映射至目标函数的相应列表的非确定性多项式时间问题的列表;
基于所检索的第一映射表,评估针对与所述特定优化问题对应的非确定性多项式时间问题的多个第一目标函数;以及
基于针对所评估的多个第一目标函数中的每个目标函数指定的多个属性,从所评估的多个第一目标函数中选择所述第一目标函数作为最优目标函数。
13.根据权利要求10所述的方法,还包括基于公式化的第一目标函数来公式化与所述优化求解器机器的执行兼容的第二目标函数,
其中,公式化的第二目标函数包括二进制决策变量的向量与对应于所述公式化的第一目标函数的Q矩阵之间的关系。
14.根据权利要求13所述的方法,还包括:
识别在所述公式化的第一目标函数中使用的约束类型,其中,所述约束类型是所述公式化的第一目标函数中的不等式约束类型或等式约束类型中之一;以及
基于有关在所述公式化的第一目标函数中使用的所确定的约束类型是所述等式约束类型或所述不等式约束类型中之一的确定,向所述公式化的第一目标函数追加惩罚项,
其中,所述惩罚项在第二映射表中指定,所述第二映射表包括映射至适用于所述公式化的第一目标函数的约束类型的相应列表的惩罚项的列表。
15.根据权利要求13所述的方法,还包括:
以代数建模语言(AML)格式将所述公式化的第二目标函数提交给针对所述特定优化问题预先指定的所述优化求解器机器;以及
提供对所述优化求解器机器的调用以通过求解所提交的第二目标函数来生成针对所述特定优化问题的解。
16.根据权利要求13所述的方法,还包括:
以AML格式将所述公式化的第二目标函数提交给包括所述优化求解器机器的多个优化求解器机器;
提供对所述多个优化求解器机器的调用以生成针对所提交的第二目标函数的多个解;以及
通过对所生成的多个解应用启发式函数来确定所述多个优化求解器机器中的每个优化求解器机器的性能测量;以及
经由显示屏输出由所确定的性能测量为最大的相应优化求解器机器生成的解。
17.根据权利要求1所述的方法,还包括:
经由连接接口将应用特定的数据库连接至所述优化求解器机器,其中,所述应用特定的数据库包括被映射至针对所述特定优化问题的多个参数的输入数据;
确定要被满足以触发所述优化求解器机器的用户指定的条件集合;以及
基于有关所述用户指定的条件集合得到满足的确定来触发所述优化求解器机器以从所连接的应用特定的数据库中检索所述输入数据以求解所述特定优化问题。
18.根据权利要求1所述的方法,其中,所述优化求解器机器对应于用于求解所述特定优化问题的数字量子计算处理器。
19.一种或更多种非暂态计算机可读存储介质,其被配置成存储指令,所述指令响应于被执行而使***执行操作,所述操作包括:
显示包括与针对多个优化问题的分类信息对应的多个用户可选选项的电子用户界面;
接收第一用户输入,所述第一用户输入选择用于所述多个优化问题中的特定优化问题的第一模板,
其中,所述第一用户输入包括对所述多个用户可选选项中的至少一个用户可选选项的选择;经由所选择的用于所述特定优化问题的第一模板接收第二用户输入,
其中,所述第二用户输入包括在所选择的第一模板中指定的所述特定优化问题的多个参数的输入数据;以及
基于所接收的第二用户输入提供对优化求解器机器的调用以生成针对所述特定优化问题的解。
20.一种***,包括:
处理器,其被配置成:
显示包括与针对多个优化问题的分类信息对应的多个用户可选选项的电子用户界面;
接收第一用户输入,所述第一用户输入选择用于所述多个优化问题中的特定优化问题的第一模板,
其中,所述第一用户输入包括对所述多个用户可选选项中的至少一个用户可选选项的选择;以及
经由所选择的用于所述特定优化问题的第一模板接收第二用户输入,
其中,所述第二用户输入包括在所选择的第一模板中指定的所述特定优化问题的多个参数的输入数据;以及
优化求解器机器,其通信地耦接至所述处理器,所述优化求解器机器被配置成基于所接收的第二用户输入来生成针对所述特定优化问题的解。
CN202010372875.XA 2019-06-20 2020-05-06 自动解决退火***中的np问题 Active CN112116093B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/447,656 US11132422B2 (en) 2019-06-20 2019-06-20 Automating solving NP problems in annealer systems
US16/447,656 2019-06-20

Publications (2)

Publication Number Publication Date
CN112116093A true CN112116093A (zh) 2020-12-22
CN112116093B CN112116093B (zh) 2024-06-28

Family

ID=70008311

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010372875.XA Active CN112116093B (zh) 2019-06-20 2020-05-06 自动解决退火***中的np问题

Country Status (5)

Country Link
US (1) US11132422B2 (zh)
EP (1) EP3754566A1 (zh)
JP (1) JP7505245B2 (zh)
CN (1) CN112116093B (zh)
CA (1) CA3079066A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113256066A (zh) * 2021-04-23 2021-08-13 新疆大学 基于PCA-XGBoost-IRF的作业车间实时调度方法
WO2022222882A1 (zh) * 2021-04-22 2022-10-27 阿里巴巴(中国)有限公司 信息处理方法及计算设备

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210319528A1 (en) * 2020-04-14 2021-10-14 Fujitsu Limited Information processing device, optimization method, and non-transitory computer-readable storage medium for storing optimization program
US20220084123A1 (en) * 2020-09-16 2022-03-17 Accenture Global Solutions Limited Quantum mixed integer quadratic programming and graphical user interface for portfolio optimization
GB2602251A (en) * 2020-12-09 2022-06-29 Mastercard International Inc Allocation optimisation
US20220245533A1 (en) * 2021-02-04 2022-08-04 Qpiai India Private Limited Method and system for combinatorial optimization of vehicle routing using a simulated annealing on a universal optimization processor
US11748707B2 (en) * 2021-04-07 2023-09-05 Accenture Global Solutions Limited Quantum computation for bill of materials recommendations
JPWO2022224527A1 (zh) * 2021-04-19 2022-10-27
JP2022165250A (ja) * 2021-04-19 2022-10-31 富士通株式会社 プログラム、データ処理方法及びデータ処理装置
JP2022171190A (ja) * 2021-04-30 2022-11-11 株式会社東芝 経路検出装置およびプログラム
CN113591906B (zh) * 2021-06-21 2024-06-04 北京百度网讯科技有限公司 图的分割方法、装置及电子设备
US20230018946A1 (en) * 2021-06-30 2023-01-19 Fujitsu Limited Multilevel method for production scheduling using optimization solver machines
WO2023026494A1 (ja) * 2021-08-27 2023-03-02 Tdk株式会社 計算モデル、情報処理方法、計算プログラム及び情報処理装置
US11854407B2 (en) * 2021-10-12 2023-12-26 James W. Herriot System and method for airspace planning
US12001779B2 (en) * 2022-01-14 2024-06-04 Huawei Cloud Computing Technologies Co., Ltd. Method and system for automatically formulating an optimization problem using machine learning
DE102022118245A1 (de) 2022-07-21 2024-02-01 Dr. Ing. H.C. F. Porsche Aktiengesellschaft System, Verfahren und Computerprogrammprodukt zur optimierten Testplanung für das Prototypenmanagement einer Entität
DE102022118244A1 (de) 2022-07-21 2024-02-01 Dr. Ing. H.C. F. Porsche Aktiengesellschaft System, Verfahren und Computerprogrammprodukt zur optimierten Testplanung für das Prototypenmanagement einer Entität
US20240085194A1 (en) * 2022-09-12 2024-03-14 Fujitsu Limited Vehicle routing problem (vrp) solution using annealer-based solvers
WO2024150395A1 (ja) * 2023-01-13 2024-07-18 日本電気株式会社 モデル作成支援システム、モデル作成支援方法、および記録媒体
CN117497092B (zh) * 2024-01-02 2024-05-14 微观纪元(合肥)量子科技有限公司 基于动态规划和量子退火的rna结构预测方法及***

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070271150A1 (en) * 2006-05-17 2007-11-22 Harish Abbott Online purchase optimization
US7664720B1 (en) * 2007-01-10 2010-02-16 The Mathworks, Inc. Method and product of manufacture for the recommendation of optimizers in a graphical user interface for mathematical solvers
US20110047201A1 (en) * 2005-07-11 2011-02-24 Macready William G Systems, methods and apparatus for factoring numbers
US8055598B1 (en) * 2007-01-10 2011-11-08 The Math Works, Inc. User configured optimizer
US20150006443A1 (en) * 2013-06-28 2015-01-01 D-Wave Systems Inc. Systems and methods for quantum processing of data
US9122387B1 (en) * 2002-07-17 2015-09-01 The Mathworks, Inc. User configured optimizer
CN107077642A (zh) * 2014-08-22 2017-08-18 D-波***公司 可用于例如量子计算的用于求解问题的***和方法
US20190019103A1 (en) * 2016-03-11 2019-01-17 1Qb Information Technologies Inc. Methods and systems for quantum computing

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040059549A1 (en) 2002-09-19 2004-03-25 Kropaczek David Joseph Method and apparatus for evaluating a proposed solution to a constraint problem
JP2005056024A (ja) 2003-07-31 2005-03-03 Hitachi East Japan Solutions Ltd 供給計画を作成するための支援システムおよび支援方法および支援のためのコンピュータプログラム
US8290683B2 (en) 2010-02-16 2012-10-16 Telectro-Mek, Inc. Apparatus and method for reducing aircraft fuel consumption
US20160034423A1 (en) * 2014-08-04 2016-02-04 Microsoft Corporation Algorithm for Optimization and Sampling
JP5865457B1 (ja) 2014-08-29 2016-02-17 株式会社日立製作所 情報処理システム及び管理装置
US9916283B2 (en) * 2015-12-22 2018-03-13 1Qg Information Technologies Inc. Method and system for solving a problem involving a hypergraph partitioning
US10069573B2 (en) * 2016-03-10 2018-09-04 Raytheon Bbn Technologies Corp. Optical ising-model solver using quantum annealing

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9122387B1 (en) * 2002-07-17 2015-09-01 The Mathworks, Inc. User configured optimizer
US20110047201A1 (en) * 2005-07-11 2011-02-24 Macready William G Systems, methods and apparatus for factoring numbers
US20070271150A1 (en) * 2006-05-17 2007-11-22 Harish Abbott Online purchase optimization
US7664720B1 (en) * 2007-01-10 2010-02-16 The Mathworks, Inc. Method and product of manufacture for the recommendation of optimizers in a graphical user interface for mathematical solvers
US8055598B1 (en) * 2007-01-10 2011-11-08 The Math Works, Inc. User configured optimizer
US20150006443A1 (en) * 2013-06-28 2015-01-01 D-Wave Systems Inc. Systems and methods for quantum processing of data
CN107077642A (zh) * 2014-08-22 2017-08-18 D-波***公司 可用于例如量子计算的用于求解问题的***和方法
US20190019103A1 (en) * 2016-03-11 2019-01-17 1Qb Information Technologies Inc. Methods and systems for quantum computing

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022222882A1 (zh) * 2021-04-22 2022-10-27 阿里巴巴(中国)有限公司 信息处理方法及计算设备
CN113256066A (zh) * 2021-04-23 2021-08-13 新疆大学 基于PCA-XGBoost-IRF的作业车间实时调度方法
CN113256066B (zh) * 2021-04-23 2022-05-06 新疆大学 基于PCA-XGBoost-IRF的作业车间实时调度方法

Also Published As

Publication number Publication date
US20200401650A1 (en) 2020-12-24
CA3079066A1 (en) 2020-12-20
US11132422B2 (en) 2021-09-28
CN112116093B (zh) 2024-06-28
JP2021002331A (ja) 2021-01-07
JP7505245B2 (ja) 2024-06-25
EP3754566A1 (en) 2020-12-23

Similar Documents

Publication Publication Date Title
CN112116093B (zh) 自动解决退火***中的np问题
US11182695B1 (en) Method, apparatus, and computer program product for machine learning model lifecycle management
US10936569B1 (en) Efficient and scalable computations with sparse tensors
US9262493B1 (en) Data analytics lifecycle processes
US11288540B2 (en) Integrated clustering and outlier detection using optimization solver machine
US20190325343A1 (en) Machine learning using partial order hypergraphs
CN106952072A (zh) 一种数据处理的方法及***
US11741111B2 (en) Machine learning systems architectures for ranking
Kolaczyk et al. Statistical models for network graphs
US11574282B2 (en) Optimal cargo space utilization based on detection of items
Mulay et al. Knowledge augmentation via incremental clustering: new technology for effective knowledge management
US11468180B2 (en) Data privacy protection on cloud-based optimization systems
Rostami et al. A convex reformulation and an outer approximation for a large class of binary quadratic programs
US20220269686A1 (en) Interpretation of results of a semantic query over a structured database
CN111630491A (zh) 具有可定制机器预测的可扩展软件工具
Jamsa Introduction to Data Mining and Analytics
Shi et al. Coupling matrix manifolds assisted optimization for optimal transport problems
US20220391814A1 (en) System using artificial intelligence and machine learning to determine an impact of an innovation associated with an enterprise
US20230119088A1 (en) System and method for assembling a transport
Constante-Nicolalde et al. A proposed architecture for iot big data analysis in smart supply chain fields
Qu et al. Machine learning software to learn negligible elements of the Hamiltonian matrix
US11301791B2 (en) Fulfilment machine for optimizing shipping
Azzini et al. Performances of OLAP operations in graph and relational databases
Choi A complementarity approach to solving computable general equilibrium models
Kumabe et al. Linear pseudo-polynomial factor algorithm for automaton constrained tree knapsack problem

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