混合最优求解的制作方法

文档序号:6497623阅读:200来源:国知局
混合最优求解的制作方法
【专利摘要】本发明涉及一种包括以下操作的用于在计算机化的多约束问题空间中选择优化的求解的方法、系统和计算机程序产品:接收用于优化的线性函数;接收用于线性函数的约束集;使用线性编程求解器来确定用于线性函数和初始约束的第一最优求解;除了初始约束之外还使用第一最优求解来创建新约束集作为约束;通过向线性函数添加松弛变量的二次目标来创建新二次函数;以及使用二次编程求解器来确定对二次函数和新约束的求解。
【专利说明】混合最优求解
【技术领域】
[0001]本发明涉及一种用于混合最优求解的方法和装置。具体而言,本发明涉及一种用于混合最优求解以便快速找到程序最优求解的方法和装置。
【背景技术】
[0002]线性编程(LP)和混合整数编程(MIP)是用于构建优化应用的熟知技术。用线性方程(LP)近似优化问题,这些LP有时具有整数值决定变量(MIP)。然后,模型(方程集由LP或者MIP引擎、比如IBM Ilog CPLEX求解),其关于目标输出最优求解(或者在MIP情况下的接近最优求解)。IBM、CPLEX和Ilog是国际商业机器公司在美国和/或其他国家的商标。
[0003]优化引擎(例如LP和MIP引擎)可以提供如下求解,该求解即使它在数学上最优、仍然具有不希望的特性。另外,求解引擎提出的求解是由引擎在所有可能求解之中任意地选择的。一般而言,基于与求解的问题的语义无关的算术标准或者数学标准选择求解。另夕卜,在LP情况下,并且在MIP情况下的更少测量中,求解一般为极限(在数学上是在数学搜索空间中的顶点),这意味着LP/MIP算法有利于使用决定变量的很小的子集的求解。对于一些变量,如果它们的值为零则它们“人为地未使用”,但是具有正值不会降低求解质量,在数学上,它们“作为基础(in base)、但是为空”。
[0004]现有技术解决混合已知求解的问题,但是没有方案试图发现在可行或者最优空间的中间的求解以允许计算折衷求解而不是极限求解。
[0005]一个简单解决方案存在于探索所有极限求解SI,S2,...,Sn,并且发现加权的求解之和除以权重。
[0006]这一简单解决方案具有的缺点是,它在求平均中包括所有极限求解。所有这些求解需要被显式地计算,这很耗费时间/CPU。极限求解也称为顶点或者基础求解。另外,由于潜在大量极限求解而需要一些时间计算它们。
[0007]使用Pareto最优性的另一求解也使用所有求解SI, S2,...,Sn。这一求解使用相关个别求解的显式(已知)列表以平衡和计算求解是一种更巧妙的方式。这可以节省一些计算时间、但是要求相关个别求解的列表已知。
[0008]描述【背景技术】。
[0009]名称为“Methodfor optimizing a transformation scheme” 的美国专利公开文本2010/0287073 Al公开包括多个目标、但是未公开混合多个最优求解。
[0010]美国专利公开文本2009/0271230 Al 的名称为 “Method and system for solvingstochastic linear programs with the condition value at risk constraints,,。这一随机MIP方法关于风险约束迭代地搜寻最优性、但是没有混合最优求解方案。
[0011]名称为 “Linear programming relaxation modification and cut selection in aMIP solution”的美国专利公开文本2011/0131167 Al将LP弛化(relaxation)和切割平面用于修剪搜索空间、但是没有混合最优求解。[0012]美国专利申请7346528 B 的名称为 “Integrated decision support system foroptimizing the training and transition of airline pilots,,。自适应、动态、集成和自动化优化器系统包括混合整数编程模型的参数,这些参数被更改以提供所述混合整数编程模型的多个备选求解。这一模型对多个求解进行编程,但是通过模型参数更改,每个求解是不同MIP模型(不是唯一模型)的最优求解。另外,未混合那些各种求解;仅向用户原样暴露它们。
[0013]美国专利公开文本2011/0202638-A1 的名称为“Mixed integer programmingmodel for minimizing leased access network costs”。该申请公开应用规则 MIP 算法以发现MIP问题的一个(仅有)求解。原创性在模型中而不是求解方案。优化后步骤也没有混合求解
[0014]美国专利公开文本2002/0156663-A1 的名称为 “Shipping and transportationoptimization system and method”。这里,MIP模型由跟随有局部搜索的连续LP求解。连续求解在两种情况下不是最优的(并且此外未被混合),并且算法在满足暂停标准的第一求解停止。
[0015]美国专利公开文本2005/0265359-A1 的名称为 “Optimizing switch portassignments”。这是一种由两种方法求解的二次MIP模型:1)具有分支和限界的经典QP、2) 二次项的IP近似。在这一公开文本中无最优求解混合。
[0016]需要一种避免显式计算所有极限求解、因此避免在这一搜索空间中的不实际探索的解决方案。
[0017]需要一种需要更少处理时间的解决方案。
[0018]需要一种无需极限求解的外部知识的解决方案。

【发明内容】

[0019]在本发明的第一方面中,提供一种用于在计算机化的多约束问题空间中选择优化的求解的方法,该方法包括:接收用于优化的线性函数;接收用于线性函数的约束集;使用线性编程求解器来确定用于线性函数和初始约束的第一最优求解;除了初始约束之外还使用第一最优求解来创建新约束集作为约束;通过向线性函数添加松弛变量(slackvariable)的二次目标来创建新二次函数;以及使用二次编程求解器来确定对二次函数和新约束的求解。
[0020]这一解决方案用通用折衷求解取代标准LP/MIP极限求解。该解决方案忽略用于发现均衡值的个别最优求解、但是代之以使用与约束的距离以便发现在最优空间“中间”的求解。现有技术解决混合已知求解的问题,但是没有试图发现在最优空间“中间”的求解以允许计算折衷求解而不是极限求解的方案。
[0021]该解决方案赋予现实算法复杂性,因为无需在所有个别极限求解之中发现均衡值之前计算它们。可以使用具有多项式复杂性的简单(Plain) 二次编程,其中目标是正定的。
[0022]提出的方法和系统是通用的,并且可以是通用LP/MIP求解器的特征或者作为在用于控制设备的控制器中的专家LP求解器。
[0023]它也可以通过允许开发员、管理员或者用户输入用于每个约束的任意加权系数集来容易定制。[0024]该解决方案对于原始问题仍然是最优的。均衡目标未确保Pareto最优性。它确保关于约束、但是未关于极限(顶点)求解的某个均衡值。对任何优化问题的折衷求解比极限求解更健壮,因为在最优空间中间最小化由于约束改变所致的激进求解移位改变。可以比对提出的二次成本测试输出折衷求解。
[0025]二次函数是希望的求解与约束的二次距离(所谓“松弛”变量)。这一距离基于问题的不等式(inequality)约束中的松弛变量。
[0026]优选地,松弛变量约束具有默认权重集。松弛变量被加权、然后求平方,并且最终相加以便获得优化过程的第二阶段的目标。松弛变量的输入成本是用于标识本发明的指标。备选地,松弛变量约束基于所述一个或者多个管理员或者用户确定的成本系数。它被约束松弛的、用户给定的成本加权,这组合按照唯一和同构测量单位(在目标函数中先前使用的相同测量单位)的所有距离。通过使用对与约束的邻近的成本进行评估的、用户给定的系数、因此具有按照测量单位的同构距离度量来使距离在语义上有意义。
[0027]有利地,线性函数可以是整数函数。
[0028]根据本发明的第二方面,提供一种用于在计算机化的多约束问题空间中选择一个或者多个优化的值的方法,该方法包括:接收混合整数编程组件的第一输入值集、线性编程组件的第二输入值集和基于一个或者多个用户确定的成本系数的平方松弛变量约束的成本加权集作为输入;产生所述混合整数编程组件的第一输出值集;产生所述线性编程组件的第二输出值集;根据所述第一输出值集和所述第二输出值集创建受限制求解空间;以及通过施加以基于所述一个或者多个用户确定的成本系数的所述平方松弛变量约束的成本加权集为基础的又一限制,从所述受限制求解空间选择优化的值。
[0029]在本发明的第三方面中,提供如权利要求7描述的一种系统。
[0030]在本发明的第四方面中,提供如权利要求14描述的一种计算机程序产品。
[0031]在本发明的第五方面中,提供如权利要求15描述的一种计算机程序。
【专利附图】

【附图说明】
[0032]现在将参照附图仅通过示例描述本发明的实施方式,在附图中:
[0033]图1是计算机系统中的传统优化器的部署图;
[0034]图2是根据一个优选实施方式的优化器的组件图;
[0035]图3是优选实施方式的优化方法的流程图;
[0036]图4A至4F是线性编程方法的代码图;
[0037]图5是用于由本发明求解的生产规划示例的生产率约束表;
[0038]图6是用于示例的资源可用性约束表;
[0039]图7是用于示例的需求约束表;
[0040]图8是示出用于示例中所示某些数据类型的图例的表;
[0041]图9A是示出用于示例的预求解阶段的生产日、未使用日和未使用日的平方之和的表图;
[0042]图9B是示出为用于示例的预求解阶段而产生的数量的表图;
[0043]图9C是示出用于示例的预求解阶段的可用数目;交付数目;未交付数目;库存和总计的表图;[0044]图1OA是示出用于示例的线性求解阶段的生产日、未使用日和未使用日的平方之和的表图;
[0045]图1OB是示出为用于示例的线性求解阶段而产生的数量的表图;
[0046]图1OC是示出用于示例的线性求解阶段的可用数目;交付数目;未交付数目;库存和总计的表图;
[0047]图1lA是示出用于示例的二次求解阶段的生产日、未使用日和未使用日的平方之和的表图;
[0048]图1lB是示出为用于示例的二次求解阶段而产生的数量的表图;
[0049]图1lC是示出用于示例的二次求解阶段的可用数目;交付数目;未交付数目;库存和总计的表图;并且
[0050]图12是比较来自线性和二次编程阶段的生产日表的表图。
【具体实施方式】
[0051]参照图1,示出根据现有技术的计算机系统节点10的组件图。计算机系统节点10包括与许多其他通用或者专用计算系统环境或者配置可操作的计算机系统/服务器12。可以使用与计算机系统/服务器12使用的熟知计算系统、环境和/或配置的示例包括但不限于个人计算机系统、服务器计算机系统、瘦客户端、厚客户端、手持或者膝上型设备、多处理器向系统、微处理器系统、基于微处理器的系统、机顶盒、可编程客户电子设备、网络PC、小型计算机系统、大型机计算机系统和包括以上系统或者设备中的任何系统或者设备的分布式云计算环境等。
[0052]可以在由计算机系统执行的计算机系统可执行指令、比如程序模块的一般境况中描述计算机系统/服务器12。一般而言,程序模块可以包括执行特定任务或者实施特定抽象数据类型的例程、程序、对象、组件、逻辑、数据结构等。可以在分布式云计算环境中体现计算机系统/服务器12,在这些分布式云计算环境中,任务由通过通信网络链接的远程处理设备执行。在分布式云计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机系统存储介质中。
[0053]如图1中所示,以通用计算设备的形式示出计算机系统节点10中的计算机系统/服务器12。计算机系统/服务器12的组件可以包括但不限于一个或者多个处理器或者处理单元16、系统存储器28和总线18,该总线将包括系统存储器28的各种系统组件耦合到处理器16。
[0054]总线18代表若干总线结构类型中的任何总线结构类型中的一个或者多个总线结构类型,这些总线结构类型包括存储器总线或者存储器控制器、外围总线、加速图形端口和使用多种总线架构中的任何总线架构的处理器或者本地总线。举例而言而非限制,这样的架构包括工业标准架构(ISA)总线、微通道架构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)本地总线和外围组件互连(PCI)总线。
[0055]计算机系统/服务器12通常包括多种计算机系统可读介质。这样的介质可以是计算机系统/服务器12可访问的任何可用介质,并且它包括易失性和非易失性介质、可移除和非可移除介质二者。
[0056]系统存储器28可以包括形式为易失性存储器、比如随机存取存储器(RAM) 30和/或高速缓存存储器32的计算机系统可读介质。计算机系统/服务器12还可以包括其他可移除/非可移除、易失性/非易失性计算机系统存储介质。仅举例而言,可以提供用于从和向非可移除、非易失性磁介质(未示出并且通常称为“硬盘”)读取和写入的存储系统34。虽然未示出,但是可以提供用于从和向可移除、非易失性磁盘(例如“软盘”)读取和写入的磁盘驱动以及用于从或者向可移除、非易失性光盘、比如⑶-ROM、DVD-ROM或者其他光介质读取或者写入的光盘驱动。在这样的实例中,各自可以由一个或者多个数据介质接口连接到总线18。如以下将进一步描绘和描述的那样,存储器28可以包括被配置为实现本发明的实施方式的功能的至少一个程序产品(例如操作系统36和优化器40)。
[0057]优化器40以及操作系统36可以存储在例如而不限于在存储器28中。程序模块中的每个程序模块可以包括联网环境的实现方式。程序模块主要执行如这里描述的本发明的实施方式的功能和/或方法。
[0058]计算机系统/服务器12也可以与以下设备通信:一个或者多个外部设备14、比如键盘、指示设备、显示器24 ;让用户能够与计算机系统/服务器12交互的一个或者多个设备;和/或使计算机系统/服务器12能够与一个或者多个其他计算设备通信的任何设备(网卡、调制解调器等)。这样的通信可以经由I/O接口 22出现。进而另外,计算机系统/服务器12可以经由网络适配器20与一个或者多个网络、比如局域网(LAN)、一般广域网(WAN)和/或公用网络(例如因特网)通信。如描绘的那样,网络适配器20经由总线18与计算机系统/服务器12的其他组件通信。应当理解,虽然未示出,但是可以与计算机系统/服务器12结合使用其他硬件和/或软件组件。示例包括但不限于:微代码、设备驱动器、冗余处理单元、外部盘驱动阵列、RAID系统、带驱动和数据档案存储系统。
[0059]根据图2中所示一个优选实施方式的优化器40包括优化引擎202 ;优化数据204 ;以及优化方法206。
[0060]优化引擎202是基于被供应有IBM Ilog Cplex优化器版本12的线性编程引擎,并且包括线性编程求解器208和二次编程求解器209。IBM ILOG CPLEX提供用于线性编程、混合整数编程、二次编程和二次约束编程问题的灵活、高性能数学编程求解器。然而可以使用任何线性编程引擎或者混合整数编程引擎。使用Microsoft Excel 2003 Solver插件线性编程求解器组件来构建示例表。Microsoft和Excel是Microsoft公司在美国和/或其他国家的商标。
[0061]线性编程求解器208是熟知的,并且用于求解类型为AX+Y = B的线性问题以在X的某些约束下优化CX。
[0062]二次编程求解器209是熟知的,并且用于求解类型为(DX) ~2+CX = B的的二次问题以在X的某些约束下优化。
[0063]优化数据204包括:线性函数210 ;约束212 ;第一优化求解214 ;松弛变量216 ;二次函数218 ;以及平衡的求解220。
[0064]线性函数210是在类型为AX+Y = B的存储器中存储的数学编程函数,其中A和B是常数并且X和Y是需要求解的变量。在代码示例中,线性函数由字母‘mps’代表。
[0065]约束212是关于X和Y的值是何种值的限制。在代码示例中,约束由矩阵M代表。
[0066]最优求解214是如优化的线性编程求解器208计算的求解。在优选实施方式中,仅存储一个最优求解。[0067]松弛变量216存储变量,这些变量被添加到不等式约束以将它变换成等式(equality)。引入松弛变量用等式约束和非负约束取代不等式约束。
[0068]二次函数218是在类型为DX~2+AX+Y = B的存储器中存储的数学编程函数,其中A、B和D是常数,并且X和Y是将被求解的变量。
[0069]平衡的求解220是二次编程求解器209求解的求解。
[0070]优选实施方式的优化方法206包括如图3中所示逻辑过程步骤302至316。
[0071]步骤302用于在给定约束212时求解线性函数210。
[0072]步骤304用于使第一最优求解214可用。
[0073]步骤306用于添加最优求解214作为用于新函数218的约束。
[0074]步骤308用于添加松弛变量约束作为用于新函数218的约束。
[0075]步骤310用于向线性函数210添加二次目标以创建二次函数218。
[0076]步骤312用于在给定旧和新约束时求解二次函数。
[0077]步骤314用于提供对于二次问题的求解XI,该求解包括对于线性问题的求解。
[0078]步骤316是方法的结束。
[0079]图4A至4F是方法的线性编程阶段的代码图,其中代码具有行I至50。以下可以调出优化器中以特定步骤标识的代码,并且在‘///’定界符之后的进一步注释描述了该代码。未调出的其他代码对于实施方式是相关的。‘//’代表代码图中的未必与描述中的对应注释相同的注释。
[0080]图4A中的代码代表优化方法的步骤302。
[0081]行I读取mps矩阵M,//其中读取是对线性求解器的用于获取线性问题mps和约束M的指令。
[0082]行3使用MIP来求解MIP问题,///这是用于线性求解器的称为MIP(IBM ILOGCPLEX问题求解引擎之一)的用于求解问题的指令。
[0083]图4B中的代码代表优化方法的步骤304。
[0084]行4 “double 01 = optimal value”,///设置变量为求解器的最优值输出。
[0085]图4C中的代码代表优化方法的步骤306。
[0086]行5 “get objective Obj from Μ,,;
[0087]行 6 “get epsilon fromparameters,,;
[0088]行7“add constrains 01_epsilon〈 = 0bj< = 01+epsilon,,,/// 指令新约束以包括求解01(最优值)。
[0089]图4D中的代码通过向优化方法的步骤308添加松弛变量来代表新约束的公式表示。不同地对待不等式、下界变量和上界变量。
[0090]图4中的代码行39至44代表优化方法的步骤310中的二次方程的求解。
[0091]行44 “minimize Q, under constraints in Μ”,// 指令二次问题求解器(QP 求解器)通过在矩阵M中的新约束的约束之下最小化q来求解问题。
[0092]图4F中的代码行45至50代表优化方法的步骤312中的求解‘V’的输出。
[0093]图5是用于本发明求解的生产规划示例的成产率约束表。在生产规划示例中,生产率(PR)是给定的工厂每天生产的汽车数目。有三个工厂:工厂1、工厂2和工厂3,并且有三个对应生产率:Pl ;PR2;和PR3。在示例中,工厂2在它的生产率上比其他工厂落后某个裕度。
[0094]图6是用于示例的资源可用性约束表。资源可用性(RA)是每个工厂在特定一周内可用的天数。有三周:第I周;第2周;以及第3周。在表中表示资源可用性,但是也可以表示资源可用性为矩阵:
[0095]图7是用于示例的需求(DD)约束表。需求是在给定的周内需要的汽车数目。有三个不同需求DDl = 10 ;DD2 = 10 ;DD = 150。第3周按照量值顺序具有最大需求。
[0096]图8是示出用于示例中所示某些数据类型的图例的表。所有数据由正常实线代表,但是一些数据值得强调。目标是被粗实线突出显示的函数的正在被优化的部分。定义一个目标为最小化库存和未交付项目总数。另一目标是最小化未使用日的平方之和。
[0097]非负性约束是非负约束并且由在相关值周围的实虚线突出显示。在图9A、10A、IlA中,突出显示未使用日为非负性约束。在图9C、10C和IlC中,标记未交付汽车数目为非负性约束,并且突出显示在该周结束时的库存(I)为非负性约束。
[0098]决定变量由在关注值周围的粗虚线突出显示。在图9A、10A、11A中,标记生产日并且突出显示为决定变量。在图9C、IOC和IlC中,突出显示在一周内交付的汽车数目并且标记为决定变量。
[0099]图9A是示出用于示例的预求解阶段的生产日、未使用日和未使用日的平方之和的表图。
[0100]生产日(PD)是工厂可以在给定的周内生产的天数。这是决定变量,因此在求解开始之前,它是仅由如下变 量标注的空变量或者矩阵,这些变量代表用于给定的周和工厂的给定的生产日:PD11 ;PD21 ;PD311 ;PD12 ;PD22 ;PD32 ;PD13 ;PD23 ;PD33。用于给定的周的总生产日由代表ΣΡ?Ιχ ;ΣΡ?2χ ;和ΣΡ?3χ。
[0101]未使用日(UD)是给定的工厂在给定的周内未被使用的、并且通过从生产日(PD)去掉相应资源可用性(RA)而计算的天数。通过定义UD使得它从未为负,它变成非负性约束。在求解开始之前,没有用于生产日的值、因此没有用于未使用日的值,该未使用日使用
生产日。
[0102]未使用日的平方之和是作为二次问题的目标的二次变量。由于生产日在求解方程之前未知,所以未使用日的平方之和也未知。
[0103]图9Β是示出为示例的预求解阶段产生的数量的表。
[0104]生产数量(QP)是通过生产日(PD)和生产率(PR)的乘积获得的、工厂在给定的周内生产的汽车数目。它依赖于决定变量、因此未知直至被求解。
[0105]图9C是示出用于示例的预求解阶段的可用数目;交付数目(D);未交付数目(ND);库存⑴和总计的表图。
[0106]可用数目(A)是可用于在给定的周内交付的汽车数目,并且由在给定的周内的生产数量总数(TQP) +库存(I)定义。
[0107]交付数目(D)是在给定的周内交付的汽车数目。这是决定变量。
[0108]未交付数目(ND)是在给定的周内未交付的汽车数目,并且被定义为需求(DM)减去交付(D)。ND为非负性变量。
[0109]库存数目(I)是在一周结束时的库存(I),并且被定义为在一周开始时的库存
(I)+可用(AV)-交付(D)。I是非负性约束。[0110]在各周结束时的总计是未交付总数(ND)加上在各周结束时的库存。与最小化未使用日的平方之和一起设置最小化未交付总数和库存为目标。
[0111]图1OA是示出用于示例的线性求解阶段的生产日、未使用日和未使用日的平方之和的表图。所示求解是线性求解,其中仅未交付总数被最小化为零(见图10C)。可见对于最高效工厂,最后一周内的生产日很忙碌,并且这视为最优求解、但是并非很平衡的求解。作为生产日在第3周内繁忙的结果,在未使用日表可见,在第I和2周内以及在工厂2中有更多的未使用日。另外,虽然在线性求解中未使用,但是可见未使用日的平方之和将为高,因为存在更多未使用日。如将所见,例如相比于图1lA中可能的数目,91.25为高的数目。
[0112]如果在最后一周内在工厂有问题则会发生什么?理想地,将选择更平衡的求解,并且这是图11A、11B和IlC中所示新目标。
[0113]图1OB是示出为用于示例的线性求解阶段而产生的数量的表。这些数目反映在工厂I和3在第3周内的生产中的忙乱工作。
[0114]图1OC是示出用于示例的线性求解阶段的可用数目;交付数目;未交付数目;库存和总计的表图。示出通过在第3周内具有最多交付(150辆汽车)来实现用于保持未交付总数和库存为最小值的原有目标。
[0115]图1lA是示出用于示例的二次求解阶段的生产日、未使用日和未使用日的平方之和的表图。在这一示例中,未使用日已经用来设置将求解的新二次目标,二次求解器现在寻求最小化未使用日的平方之和以及未交付总数。生产日可以视为跨越周和工厂而更均匀地分布,并且甚至工厂2被投入工作。
[0116]图1lB是示出为用于示例的二次求解阶段而产生的数量的表图。可以发现其跨越周更均匀第分布。
[0117]图1lC是示出用于示例的二次求解阶段的可用数目;交付数目;未交付数目;库存和总计的表图。可见求解已经如同先前被约束为保持未交付总数加上库存为最小值,但是这一次已经增长用于交付的可用汽车。
[0118]图12是比较来自线性和二次编程阶段的生产日表的表图,其中可见更均匀分布。
[0119]现在描述本发明的进一步实施方式。
[0120]本领域普通技术人员将清楚,优选实施方式的方法的全部或者部分可以适当地和有用地体现在包括被布置为执行方法的步骤的逻辑单元的一个或者多个附加逻辑装置中,并且这样的逻辑单元可以包括附加硬件组件、固件组件或者其组合。
[0121]本领域技术人员将同样清楚,优选实施方式的功能组件中的一些或者所有功能组件可以适当地体现在包括用于使用等效方法步骤来执行等效功能的逻辑单元的一个或者多个备选逻辑装置中,并且这样的逻辑单元可以包括组件、比如在例如可编程逻辑阵列或者专用集成电路中的逻辑门。还可以在实现如下单元时体现这样的逻辑单元,这些单元用于例如使用虚拟硬件描述符语言而在这样的阵列或者电路中暂时地或者持久地建立可以使用固定或者可传输载体介质来存储和传输的逻辑结构。
[0122]将理解,以上描述的方法和布置也可以完全地或者部分地适当地实现在一个或者多个处理器(未示出)上运行的软件中,并且可以用在任何适当数据载体(在各图中也未示出)、比如磁或者光盘等上承载的一个或者多个计算机程序单元的形式提供软件。用于传输数据的信道可以类似地包括所有描述的存储介质以及信号输送介质、比如有线或者无线信号输送介质。
[0123]本发明还可以适当地体现为用于与计算机系统使用的计算机程序产品。这样的实现方式可以包括在有形介质、比如计算机可读介质、例如盘、⑶-ROM、ROM或者硬盘上固定的或者使用调制解调器或者其他接口设备通过有形介质、包括但不限于光或者模拟通信线路,或者无形地使用无线技术、包括但不限于微波、红外线或者其他传输技术向计算机系统可传输的系列计算机可读指令。系列计算机可读指令体现这里先前描述的功能的全部或者部分。
[0124]本领域技术人员将理解,可以用许多用于与许多计算机架构或者操作系统使用的编程语言编写这样的计算机可读指令。另外,可以使用当前或者将来的任何存储器技术、包括但不限于半导体、磁或者光存储器技术来存储,并且使用当前或者将来的任何通信技术、包括但不限于光、红外线或者微波来传输这样的指令。设想可以分发这样的计算机程序产品为可移除介质,该可移除介质具有例如在系统ROM或者固定盘上用计算机系统预加载的或者通过网络、例如因特网或者万维网从服务器或者电子公告牌分发的附带印刷或者电子归档、例如软件缩减打包软件。
[0125]在备选中,可以用部署服务的、计算机实施的方法的形式实现本发明的优选实施方式,该方法包括部署计算机程序代码的步骤,该计算机程序代码可操作为在被部署到计算机基础设施中并且在计算机基础设施上被执行时使计算机系统执行方法的所有步骤。
[0126]在又一备选中,可以用数据中心的形式实现本发明的优选实施方式,该数据中心在其上具有功能数据,所述功能数据包括功能计算机数据结构,这些功能计算机数据结构在被加载到计算机系统中并且由此被计算机系统操作时,使所述计算机系统能够执行方法的所有步骤。
[0127]本领域技术人员将清楚可以对前述示例实施方式进行许多改进和修改而未脱离本发明的范围。
【权利要求】
1.一种用于在计算机化的多约束问题空间中选择优化的求解的方法,包括: 接收用于优化的线性函数; 接收用于所述线性函数的约束集; 使用线性编程求解器来确定用于所述线性函数和初始约束的第一最优求解; 除了所述初始约束之外还使用所述第一最优求解创建新约束集作为约束; 通过向所述线性函数添加松弛变量的二次目标来创建新二次函数;以及 使用二次编程求解器来确定对所述二次函数和新约束的求解。
2.根据权利要求1所述的方法,其中所述松弛变量约束具有默认权重集。
3.根据权利要求2所述的方法,其中所述松弛变量约束基于所述一个或者多个管理员或者用户确定的成本系数。
4.根据权利要 求1至3中的任一权利要求所述的方法,其中所述线性函数可以是整数函数。
5.一种使用根据权利要求1所述的方法来控制设备的方法。
6.一种用于在计算机化的多约束问题空间中选择一个或者多个优化的值的方法,包括: 接收混合整数编程组件的第一输入值集、线性编程组件的第二输入值集和基于一个或者多个用户确定的成本系数的平方松弛变量约束的成本加权集作为输入; 产生所述混合整数编程组件的第一输出值集; 产生所述线性编程组件的第二输出值集; 根据所述第一输出值集和所述第二输出值集创建受限制求解空间;以及通过施加以基于所述一个或者多个用户确定的成本系数的所述平方松弛变量约束的成本加权集为基础的又一限制,从所述受限制求解空间选择优化的值。
7.一种用于在计算机化的多约束问题空间中选择优化的求解的系统,包括: 用于接收用于优化的线性函数的装置; 用于接收用于所述线性函数的约束集的装置; 用于使用线性编程求解器来确定用于所述线性函数和初始约束的第一最优求解的线性求解器; 用于除了所述初始约束之外还使用所述第一最优求解创建新约束集作为约束的装置; 用于通过向所述线性函数添加松弛变量的二次目标来创建新二次函数的装置;以及 用于使用二次编程求解器来确定对所述二次函数和新约束的求解的二次求解器。
8.根据权利要求7所述的系统,其中所述松弛变量约束具有默认权重集。
9.根据权利要求8所述的系统,其中所述松弛变量约束基于所述一个或者多个管理员或者用户确定的成本系数。
10.根据权利要求7至9中的任一权利要求所述的系统,其中所述线性函数可以是整数函数。
11.一种用于使用根据权利要求1至5中的任一权利要求所述的方法来控制设备的控制器。
12.—种包括计算机可读记录介质的计算机程序产品,所述计算机可读记录介质具有在其上存储的用于在计算机化的多约束问题空间中选择优化的求解的计算机可读代码,所述计算机可读代码在被加载到计算机系统中并且被执行时执行以下步骤: 接收用于优化的线性函数; 接收用于所述线性函数的约束集; 使用线性编程求解器来确定用于所述线性函数和初始约束的第一最优求解; 除了所述初始约束之外还使用所述第一最优求解创建新约束集作为约束; 通过向所述线性函数添加松弛变量的二次目标来创建新二次函数;以及 使用二次编程求解器来确定对所述二次函数和新约束的求解。
13.根据权利要求12述的计算机程序产品,其中所述松弛变量约束具有默认权重集。
14.根据权利要求13所述的计算机程序产品,其中所述松弛变量约束基于所述一个或者多个管理员或者用户确定的成本系数。
15.—种在计算机可读介质上存储并且向数字计算机的内部存储器中可加载的计算机程序,包括当所述程序在计算机上运行时用于执行根据权利要求1至5中的任一权利要求所述的方法的软件代码部分。
【文档编号】G06Q10/04GK104011751SQ201280061099
【公开日】2014年8月27日 申请日期:2012年12月5日 优先权日:2011年12月22日
【发明者】G-H·莫尔, X·诺德特 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1