高效能资源分配方法和装置.pdf

上传人:00****42 文档编号:994706 上传时间:2018-03-24 格式:PDF 页数:36 大小:1.29MB
返回 下载 相关 举报
摘要
申请专利号:

CN87102679

申请日:

1987.04.10

公开号:

CN87102679A

公开日:

1987.11.11

当前法律状态:

撤回

有效性:

无权

法律详情:

||||||公开

IPC分类号:

G06F15/31

主分类号:

G06F15/31

申请人:

美国电话电报公司

发明人:

罗伯特·约瑟夫·万德尔贝

地址:

美国纽约

优先权:

1986.04.11 US 851120

专利代理机构:

中国国际贸易促进委员会专利代理部

代理人:

李勇

PDF下载: PDF下载
内容摘要

用卡马卡尔算法在解空间多面体内求解的最佳资源布局方法和装置。假定至少有一个布局变量值是无约束的,用当前解点的一对角矩阵,对解点的近似值及多面体加以归一化,使解点位于归一化多面体中心。将目标函数投影到该归一化空间,在多面体内沿目标函数梯度最速下降方向跨出下一步,步长保持在多面体内,反复该过程直到很接近最佳解为止。所得算法步骤能方便地应用于求起始点初态问题及对偶问题,其中自由变量假定产生了出乎预料的计算上的好处。

权利要求书

1: 将可以利用的工业设备在这些设备的用户之间进行分配从而使提供这些设备的总费用减到极小的一种方法,该方法由以下步骤构成: 根据卡马卡尔算法向那些用户暂时地和反复地分配可利用的那些资源,以便在每次再分配中减小总费用, 相对于所述的各种分配的约束条件将先前的分配方案归一化,从而确定每次再分配方案,其特征是: 进行这种再分配时,在假定所述约束中至少有一个值可以无限制增大的前提下,调整在先前分配方案中的变化方向(图3中的130,131), 当所述总费用达到极小时,终止所述反复再分配的步骤(132,133,134,并且 根据最小费用分配方案来分配所述设备(图6中的80)。
2: 根据权利要求1的分配方法,其特征在于: 分配的最后一步是这样进行的: 利用权利要求1中被确认为最低费用的诸设备的设备分配方案作为所述设备再分配的初始设备分配方案,以便使各不相同的费用标准达到极小,并利用所述的不同费用标准重复权利要求1中的步骤。
3: 根据权利要求1的分配方法,在所述的再分配过程中还包含以下步骤: 在每次迭代中重新指定费用极小(原初)分配和等效的所述设备利用率极大值的(对偶)分配。
4: 最佳资源分配系统包括: 第一组可以为用户利用的物理资源, 第二组利用所述物理资源的用户, 将所述资源用户分配到所述物理资源以使提供这些资源的费用为极小的装置,该分配装置包括: 在所述分配方案中试验性地和反复地选出可实现的分配方案的装置,它使得每次迭代中每一个所述可实现分配方案处在一个归一化的、多维的、可实现解的凸空间内部中心上,其特点在于: 所述迭代选择装置还进一步包含这样的装置,它包括了在所述资源中至少有一个值可无限增大的假定的逐个选择的结果(图3),以及 根据所述最后一个试验性分配方案对所述物理资源进行分配的装置(图6中的95-97,80)。
5: 根据一个最优化准则使一个受控制过程的性能最优化的一个系统,该系统包括: 对一组控制信号作出反应以控制所述过程的过程控制装置, 感知影响所述过程运转的可变条件的一组传感器, 用于指定影响所述过程运转的各种条件的一组数据输入装置,以及 一个线性规划控制器,它响应所述传感器和输入装置,以便根据卡氏算法向所述过程控制装置提供一组最佳控制信号, 其特点在于: 所述控制器包括在至少有一个无约束变量控制信号的假定下迭代式地逐个确认试验性的、严格可实现的控制信号组的装置,以及沿着所述最佳准则的归一化形式的最陡梯度方向选择下一组试验性控制信号的装置。
6: 对于在一组用户之间最佳分配资源的线性规划方法的改进, 其特点是: 在所述线性规划模型中引入至少一个自由变量, 只在严格可实现的分配方案中进行迭代, 根据对所述分配方案的约束对每一个严格可实现的分配归一化。
7: 一个可用在通用数字计算机上的线性规划控制器,该控制器包括: 一个计算机程序存贮介质,其中存有计算机程序,供所述数字计算机执行,该存贮介质包括: 处理一组定义一个多维凸多面体的线性关系装置,该多面体代表所述线性关系的一组可实现解, 其特点是: 含有一个要最优化的函数、根据至少有一个自由变量的修正的卡氏算法确认所述多面体边界上的点代表所述一组线性关系的最佳解的装置。
8: 在许多资源用户之间分配工业或技术资源x i (i=1,n)的方法,它在约束条件A ij x i <b j 和x i ≥0(i=1,n;j=1,m)之下使费用函数 最优化,该方法由下述步骤组成: a)将所述资源分成约束子集x和无约束子集y; b)选择满足所述约束的初始分配x s 和y s ;其特点如下, c)根据公式 Z F =(F T BF) -1 (C F -F T BAD 2 X C A ), 确定迭代过程的下一次迭代中无约束部分Z F 的方向,以接近于所述最佳费用,这里B=(AD 2 X A T ) -1 ,D X =所述受控资源当前 分配的对角矩阵; d)根据公式 ω=BAD 2 X C A +BFZ F 按所述对角矩阵D X 对所述约束空间重新标度; e)根据公式 Z A =D 2 X (C A -ATω), 对所述迭代过程的下一次迭代确定其受约束部分的方向Z A ; f)由公式 r=max〔(Z A ) i /(x i -l i )V-(Z A ) i /(u i -x i )〕, 确定所述当前迭代的补偿松驰系数; g)由公式 δ=-min〔(Z A ) i /(x i -l i ) 2 ∧-(Z A ) i /(u i -x i ) 2 〕, 确定所述当前迭代的对偶可行性系数δ; h)由公式 r+Mδ<(e/n)(|C A x+C F y|+1) 检验当前迭代,这里 M=max(x i -l i )∧(u i -x i ), 和  e=一个任意小的误差量度; i)如果步骤(h)中的检验不满足,则采用新分配 x←x-αZ A /r, 和 y←y-αZ F /r, 返回步骤(c),这里0≤α≤1; j)如果步骤(h)中的检验得到满足,则根据当前分配迭代值 对所述资源进行分配。
9: 一个为卡氏算法确定初始点的方法,使在一组资源用户之间分配工业或技术资源x i (i=1,n),在约束∑A ij x j =b i 和x i ≥0(i=1,n;j=1,m)之下使费用函数C i ·x i 最优化,该方法的特点是: a)构成起始点模型: 极小化:y 使满足:〔A〕〔 x y 〕=b 1≤x≤u y是自由的, 这里y是无约束变量子集,ρ=b-Aξ,1<ξ<u; b)选择初始分配x=ξ和y=1, c)根据公式 Z F =-D 2 X A T Bρ 确定迭代过程的下一次迭代的方向,以接近于所述最佳费用,这里B=(AD 2 X A T ) -1 ,D X =所述受控资源当前分配对角矩阵; d)根据公式 r=max〔Z i /(x i -l i )V-Z i /(u i -x i )〕 确定所述当前迭代的补偿松驰系数; e)由公式 δ=-min〔Z i /(x i -l i ) 2 ∧-Z i /(u i -x i ) 2 , 确定所述当前迭代的对偶可行性系数; f)由公式 r+Mδ<(e/n) 测试当前迭代,这里 M=max〔(x i -l i )∧(u i -x i )〕, e=一个任意小的误差量度; g)如果步骤(f)中的测试条件不满足,而且如果 r<1, 则置 x←x-z 并返回步骤(b); h)如果步骤(f)中的测试条件不满足,而且如果 r≤1, 则置 x←x-αz/r, 这里0≤α≤1,并返回步骤(b); i)如果步骤(f)中的测试条件得到满足,则根据所述当前分配迭代值来分配所述资源。
10: 一个利用卡氏算法在一组资源用户之间分配工业或技术资源x i (i=1,n)的方法,它在约束条件∑A ij X j =b 1 和X i ≥0(i=1;n;j=1,m)之下使费用函数C i ·X i 最优化,该方法的特点是: a)构成对偶模型: 极大化:b·ω 使满足:A T ω≤c ω是自由的; b)将步骤(a)中的极大化部分分解如下: 极大化:〔 b o 〕·〔 ω ν 〕 使满足:〔A T I〕〔 ω ν 〕=c ω是自由的 ν≥0, 这里ν是无约束变量子集,I是单位矩阵; c)在为接近于所述最优费用的一次迭代中,根据下列公式确定当前迭代的中心化值和下一次迭化的方向: Z ω =-(AD -2 v A T ) -1 b, ω=-D -2 v A T Z ω Z ν =+D 2 v x=-A T TZ ω , 这里D=所述受约束资源的当前分配情况下的对角矩阵; d)由公式 r=max〔(Z v ) i /ν i 〕 确定所述当前迭代的补偿松驰系数; e)由公式 δ=-min〔Z ν ) i /ν 2 i 〕 确定所述当前迭代的对偶可行性系数; f)用不等式 r+Mδ<(e/n)(|b·ω|+1) 测试当前迭代,这里 M=max(ν i ), e=一个任意小的误差度量; g)如果步骤(f)中的测试条件不满足,则置 ω←ω-αZ ω /r ν←ν-αZ ν /r 并返回步骤(b); h)如果步骤(f)中的测试条件得到满足,则按当前分配的迭代值来分配所述资源。
11: 根据卡氏算法分配资源的一种方法,其特点是: 返复地从一个重新标度的多面体内部向该多面体的最佳值顶点跨步; 当r+Mδ< (e)/(n) 时,则终止这个反复跨步过程,这里 r=max(z i /x i ), δ=-min(z i /x 2 i ), M=max(x i ), e=一个任意的误差量度, n=分配变量的数目, x i =当前资源分配的第i个分量, z i =下一跨步的方向的第i个分量; 当采取所述终止步骤时,按照所述当前分配情况下所确定的值对所述资源进行分配。
12: 在实质上是一种在最佳分配值的情况下终止卡氏算法迭代 过程的方法,其特点是: 根据公式 确定补偿松驰系数r,这里 x i =当前分配值的第i个分量, z i =在分配值x处目标函数负梯度的第i个分量; 根据公式 确定对偶可行性系数δ; 当 r+Mδ< (e)/(n) 时终止该迭代过程,这里M是X的最大分量之值,e是一个任意小误差度量,n是X的分量数目。
13: 以最佳方式应用卡氏算法进行资源分配的装置,其特点是以迭代方式逼近于所述资源的最佳分配; 当补偿松驰系数和对偶可行性系数的一个函数小于一个预先选定的误差值时终止迭代逼近的装置。
14: 根据权利要求13的装置,其特点是: 所述补偿松驰系数是所述迭代逼近过程的下一次迭代的方向分量与相应的分配分量之比的最大值。
15: 根据权利要求13的装置,其特点在于: 所述对偶可行性系数是所述迭代逼近过程下一次迭代的方向分量与相应分配分量平方值之间的最小比值的负值。

说明书


本发明涉及利用卡马卡尔(Karmarkar)算法在大量的资源使用者之间分配资源的系统,更具体地说,是涉及在这种分配问题的线性规划模型中使用自由(无约束)变量来改进卡马卡尔算法的速度和效能。

    在一个广阔的技术和工业领域中需要作出资源分配决策。例如,在电话传输系统中传输设备的分配,对一个工厂的产品构成的控制。工业设备的布署,仓库存货的控制,以及其他方面。在本文中,“资源分配”一词通常指为了产生特定的技术或工业效果去布置具体的技术或工业资源。

    资源分配决策通常受到分配过程中的各种约束。资源的总体利用率总是有限的,而且某一具体资源在某种具体应用中的适用性也可能是有限的。例如,在一个远程通讯系统中每一个单个链路地传输载荷能力是有限的,而对该通讯系统提供的总传输量也是有限的。每一种具体的资源分配方法都伴有相应的“报酬”,即这种布局的费用,或者分配效益(例如利润)。于是,这个问题就是如何分配资源以满足全部约束条件,并且同时使得到的报酬为最大,即达到最低费用或最大利益。

    表述这种分配决策问题的方法之一称之为线性规划模型。这种模型由表示分配、约束和报酬之间定量关系的许多线性表达式组成。如果一个表达式是常系数乘以未知分配值之和,就称它为线性表达式。当然,许多资源分配问题不能表示成这类线性表达式,而是在那些关系式中涉及未知量的高次幂或其他非线性关系,因此不适用线性规划方法。

    应当指出,上面讨论的资源分配问题是在实际物理系统中产生的实际物理问题。尽管线性规划模型确实能表达物理问题的重要的定量方面,但该模型的目的在于提供一组最佳值,然后将它们用于物理世界,去构成或运转一个物理系统。线性规划模型的典型应用是设计电话系统、编制航班时刻表、或控制石油化学的处理过程。

    线性规划问题的可实现解常常是根据对问题的约束条件被模型化为一个多维几何体-一个多面体,它的表面由上千个多边平面或者说“多边形”构成。这个多面体(其技术名词是“polytope”(多面体)是问题的约束条件的有组织的表现形式。

    为了在一个线性规划问题的许多可实现解当中找出一个最佳解,需要应用某种算法或者叫做处理程序。这种处理过程沿着多面体表面或多面体内部从点到点的假想线或路径进行。这样点到点的每一步称为一次迭代。每一步(或者说每次迭代)依次由考虑许多相关联的约束条件和变量的方程式的处理过程所组成。

    很早就已经知道,任何线性规划问题的最佳解必须在多面体的一个顶点上。因此,确定最佳解的成功算法或过程所遵循的路径最终要终止于最佳顶点上。这种算法的运算速度部分地依赖于迭式步数,也部分地依赖于每一步的复杂程度。

    解决物理布局问题的线性规划模型的一种新方法称作Karmarkar算法,在N.K.Karmarkar的文章”线性规划的一种新的多项式-时间算法“中描述过(Combinatorica    4(4),pp.373-395,1984)。以往的单纯形法是在约束多面体表面上从顶点到顶点进行。与此不同的是,卡马卡尔算法从约束多面体的内部出发,沿径向步进到最佳顶点。在卡马卡尔算法的每次迭代中,多面体空间要重新标度,以使分配的当前值落在多面体的中心,由于依次进行的每一步都具有径向性,为达到最佳顶点所需步数便少得多,因此卡马卡尔算法能够比单纯形法快得多,特别是对于较大型的问题更是如此。

    使用卡马卡尔算法时的一个问题在于寻找起始点。这个起始点必须代表该模型的一个可实现解,即是严格地处在多维的约束多面体内部空间的一个点。尽管有许多已知的方法可以找出一个起始点,但从计算的角度看,这些方法中没有一个是特别有效的。

    使用卡马卡尔算法时的另一个问题出在采用所谓对偶模型法去求解线性规划问题。对于每一个表述为标准形式的线性规划模型(原初模型),必须使一个目标函数极小化,并且同时要满足对问题的全部约束。这个模型可以重新书写成要求在不同的但与之相关的约束下使另一个不同的但与之相关的目标函数极大化。已经知道,对于这个重写模型(称作对偶模型)的解在灵敏度分析中特别有用,即用于确定问题中参数的变化对于最佳解的影响。再有,原初模型和对偶模型从相反方向达到一个最佳解。终止计算的一个通用准则是:当原生布局值和对偶布局值彼此之差落在某一任意小值之内时便停止运算。

    尽管对偶模型算法对线性规划问题的求解提供了一个精致的终止准则和特别有用的灵敏度信息,但它也使所需的计算量加倍,因为原初模型和对偶模型必须同时求解。

    根据本文说明的本发明的具体实施方案,对卡马卡尔算法进行了修正,使之能够处理自由的或者说无约束的变量。卡马卡尔算法的先前的典型形式是处理那些其值受到数值边界约束的变量。这些数值边界通常在正数域中,因为被模型化的物理问题要施加相应的物理约束。通过调整卡马卡尔算法,使之处理自由变量,从而使求解某些附属问题变得简单得多,减少了所需计算的时间和复杂程度。

    更具体地说,能够处理自由变量的修正的卡马卡尔算法提供了一个有效的计算方法,用以确定使用卡马卡尔主算法时所需的一个严格可实现的起始点。由于确定这种起始点是使用卡马卡尔算法的一个重要的初始步骤,所以本发明的方法和装置为线性规划模型提供了一个快得多的总体解法。

    再有,能够处理自由变量的修正的卡马卡尔算法为求解对偶线性规划模型提供了一个计算上有效算法,从而为线性规划模型提供了一个快得多的对偶解。

    从最一般的意义上说,本发明的计算效能来自对约束矩阵适当地分解成有约束变量和无约束变量,从而保证每一迭式步骤中必须求其逆矩阵的那些矩阵相对较少和(或)稀疏。由于大量计算时间系于这些矩阵求逆,因此在这种矩阵求逆过程中计算时间的任何显著削减都会造成运行时间的显著改进,从而显著减少应用卡马卡尔算法的费用。

    图1是在线性规划模型中确定最佳资源布局的卡马卡尔算法的图形表示。

    图2是求解线性规划模型的卡马卡尔算法的一般流程图。

    图3是根据本发明引入自由变量的修正的卡马卡尔算法流程图。

    图4是根据本发明修正的卡马卡尔算法流程图。本修正算法为求解线性规划模型提供了一个更有效的起步(起始点)算法。

    图5是根据本发明修正的卡马卡尔算法流程图。该修正算法为求解线性规划模型提供了一个更有效的对偶算法。

    图6是利用图3、4或5的方法来控制资源布局的一个资源布局系统的方框图。

    首先将讨论对线性规划模型构成最佳资源分配的最新可以利用的卡马卡尔算法,然后再提出为处理自由变量所需要的对卡马卡尔算法的修正。

    在着手对卡马卡尔算法作正式的数学陈述之前,有必要对算法的图形表示作一简要描述。请参考图1,它给出一个凸的多维的多面体50,这个图形以图形表示一个线性规划模型的全部约束之和。图1中多面体50的每一个子面是一个局部平面,代表一个线性约束。约束的数目至少是子面的数目,而未知数的数目相应于多面体50所在空间的维数。图1中只表示出3维,这是由于人的感觉本身的固有限制。然而在实际的线性规划模型中的维数(变量数)可以达到几百、几千甚至几百万。

    根据卡氏算法(在N.K.卡马卡尔的待审查专利申请中披露过并提出了权项要求,其序号是725,342,申请日为1985年4月19日,并转让给了申请者的受让人),在多面体50内部选一起始点51。大家知道,在多面体50内部和表面的所有点都代表这个线性规划模型的可实现解。大家也知道,在不发生退化的情况下,最佳解位于多面体50的一个顶点,例如顶点53。卡氏算法沿径向进行,完全在多面体内部,按步52,55,56,…到接续点54等等,每一步更接近于最佳点53。由于卡氏算法在多面体50的内部沿径向进行。而不是象单纯形法那样从一个顶点到另一个顶点在多面体周围的表面上进行,因此它的固有特点是快得多,因为它需要的步骤少得多,对于较大的模型更是如此。卡氏算法在多面体内部沿着费用梯度减小的方向步进。再有,卡氏算法涉及对多面体空间的重新标度,使依次得到的点到多面体50的所有子面沿轨迹或路径的距离等值化或者说中心化,从而使费用梯度沿多面体的所有各维通通归一化。

    线性规划模型的正式陈述的形式是使用一个目标函数(它将达到极大或极小)和一组约束关系(它代表对可以接受的分配施加的物理约束)。这些约束相应于并尽可能精确地代表该物理系统中存在的实际物理约束。利用标准的矢量符号,一个典型的线性规划模型表示如下:

    寻找一个长度为n的矢量x,使

    C·X达到极小

    并满足    AX=b    (1)

    和    X≥0

    这里C=(C1,C2,…,Cn)是一个费用系数矢量。运算“·”代表矢量点乘,X=(X1,X2,…,Xn)是一个布局值矢量,n是这种布局值的数目,A=(a11,a12,…,aij,…,amn)是约束系数m×n矩阵,b=(b1,b2,…,bm)是m个约束限界构成的矢量。

    在线性规划模型的标准卡氏形式中,x的分量值(布局值)被限定为非负值,但如下文将讨论的,也可能有其他限制。通过简单的代数处理,所有目标函数和所有约束关系都可以化成这种形式。例如,可以通过在约束矩阵中增加人为的“剩余”变量,将“大于或等于”约束变换成“等式”约束。类似地,通过增加人为的“松驰”变量,可将“小于或等于”约束变成“等式”约束。这些作法在已有技术中都是众所周知的。

    利用高度紧凑的矢量符号,可将卡氏算法概括如下。在迭代过程的每一步,该算法计算出一个对偶矢量ω。这个矢量与单纯形法产生的的用于灵敏度分析的对偶变量矢量完全相似。按照卡氏算法,矢量ω按下列公式重新标度:

    ω=(AD2XAT)-1AD2XC. (2)

    到下一组布局值的跨步方向z由下式给出:

    z=D2X(C-ATω) (3)

    这里,方程式(2)和(3)中的D是当前布局值对角矩阵。

    利用ω和z之值,可定义两个终止变量:

    r=max zi/xi(4)

    和

    δ=min zi/x21(5)

    这里r可以称作“补偿松驰系数”,δ可称作“对偶可行性系数”。

    如果M定义为xi的最大值,则可定义一个试探操作终止准则如下:如果

    r+Mδ<(ε/n)(1C·X1+1)    (6)

    则终止,这里ε是任意小误差量度,n是变量X数目。如果不等式(6)不满足,则从当前布局x沿方向z跨一步,得到一个新的布局,即

    X←X-αZ/r    (7)

    这里0<α<1是一个固定值,很象卡氏定义的值。利用新布局值,算法要求返回等式(2)并继续迭代,直至满足不等式(6)为止。一旦(6)式满足,则原生目标函数值由(c·x)给出,而对偶目标函数值由(ω·b)给出。如果问题要求一个极大化模型,那么跨步方向z是负的。如果下限是非零值,则x由(x-1)代替,这里1是下限。如果上限u是有限值,则x由(u-x)替换。

    卡氏算法的这个表达式的流程示于图件中的图2。如图2所示,首先需要对方框100中的线性模型公式化。然后选出一个严格可实现的起始点x,并把它作为虚线方框103中的迭式过程的起始点。后面将讨论选择严格可实现的起始点的技术。图2中其余包含在虚框103中的部分是卡氏算法的迭代部分。

    图2中的迭代过程103由下列各步骤构成。当给定一个严格可实现布局x各分量后,

    1)在方框104中,重新标度多面体空间,以把对偶变量n放在多面体中心,从而按方程(2)将费用梯度在所有各维上归一化;

    2)在方框105中,根据方程(3)计算费用(目标)函数的最速下降方向;

    3)在方框106中,根据方程(4)计算补偿松驰系数;

    4)在方框107中,根据方程(5)计算对偶可行性系数;

    5)在决策方框108中,根据终止准则不等式(6)检验变量的当前值;

    6)如果在决策方框108中满足终止准则,则终止在方框110中;

    7)如果在决策方框108中不满足终止准则,则在方框111中根据公式(7)沿目标函数的负梯度方向跨步,置新分配值作为当前值,重新进入方框104。

    接下来,我们将对上面描述的基本的卡氏算法(图2)加以修正,以便能处理自由的或者说无界的变量,而不是只处理限制为正值的变量。这里描述的应用自由变量解的具体方法能够应用于一般的线性规划模型。然而,它的特别有用之处在于导出使用起步和对偶算法模型时所需要的极其简单和有效的公式。起步模型用于找出严格可实现的起始点,即该点处在多面体50(图1)的内部。根据本发明,利用下面导出的自由变量式卡氏算法,这种起步模型能被大大简化。

    原始的卡氏算法会遇到数值计算问题,因为它难于从一次迭代到下一次迭代时保持AX=b关系式。根据本发明,通过求解对偶问题而不是求解原生问题,从而使这个问题得以克服。再根据本发明,对线性规划问题的对偶解法也能用下面导出的自由变量式卡氏算法给以极大的简化。

    为了根据本发明导出自由变量式卡氏算法,首先需要对线性规划模型重新加以表述,以便把变量分成有约束的和无约束(自由)的子集:

    极小化:〔CACF〕·〔xy〕 (10)

    使满足 〔AF〕〔xy〕=b

    1≤x≤u

    y是自由的

    这里l和u分别是变量x的下限与上限,y的分量是自由的(无界的)。

    为了根据本发明导出自由变量算法,假定y具有有限的下界与上界。然后有可能在这些边界趋于无限时取掉这些限制。这些假定和处理过程就是如下的算法:

    方程(3)中的跨步方向Z被分成两部分,一部分是自由的,另一部分是有约束的:

    所得到的修正成能处理自由变量的算法可表示成如下形式:

    zF=(FTBF)-1(CF-FTBAD2XCA) (11)

    ω=BAD2XC+BFzF(12)

    zα=D2X(CA-ATω) (13)

    这里B=(AD2XAT)-1。当不存在自由变量时,表达式(12)中的第一项与方程式(2)完全相同。对于自由变量y,方程(4)、(5)和(6)中的终止变量可调整成下式:

    r=max〔(zA)i/(xi-li)V-(zA)i/(ui-xi)〕 (14)

    δ=-min〔(zA)i/(xi-li)2∧-(zA)i/(ui-xi)2〕 (15)

    M=max(xi-li)(ui-xi) (16)

    于是,终止判据由下式给出。如果

    r+Mδ<(θ/n)(|CAx+CFy|+1) (17)

    则终止。如果不等式(17)不满足,则利用下列关系从旧布局中导出新布局:

    x←x-αZA/r (18)

    y←y-αZF/r (19)

    并继续处理过程。

    这种修正的卡氏算法流程示于图件中的图3。如图3所示,首先应在方框130中构造出线性规划模型的自由变量的型式。然后选出一个严格可实现的起始点x,作为虚框137中的迭代过程的起始点。图3中其余的包含在虚框137中的部分是根据自由变量式卡氏算法进行的迭代过程。

    图3中的迭代过程137由下述各步骤构成。在给出了严格可实现迭代起始点x的各分量之后,

    1)在方框131中,重新标度多面体空间,以把对偶变量ω置于多面体中心,从而按公式(11),(12)和(13)将费用梯度在所有各维上归一化,并计算出跨步方向;

    2)在方框132中,根据方程(14)计算补偿松驰系数;

    3)在方框133中,根据方程(15)计算对偶的可行性系数;

    4)在方框134中,根据终止判据不等式(17)检验变量的当前值;

    5)如果在决策方框134中满足终止判据,则终止在方框135中;

    6)如果在决策方框134中不满足终止判据,则在方框136中根据方程(18)和(19)沿目标函数负梯度方向跨步,置新布局值为当前值并重新进入方框131。

    上面导出的修正的卡氏算法引出一个特别有效的起步算法以寻找出初始起点(或指出模型的不可行性)。下面将根据本发明导出起步算法。

    利用自由变量形式,起步模型可以表述为

    极小化:y

    使满足:〔Ap〕〔xy〕=b

    1≤x≤u    (20)

    y是自由的

    这里的约束矩阵自由变量残差p由公式p=b-Aξ给出,其中ξ满足1<ξ<u。

    首先应该指出,

    〔ξ1〕

    是模型(20)的一个可实现解。还要注意到,如果

    〔x0〕

    是模型(20)的一个可实现解,那么Ax=b,x值是线性规划主模型的一个严格可实现解。因此,这个x值是图2所示主算法的一个适当的起始点。所以,算法上的策略是从y=1开始,并在每一次迭代中试图驱使y趋向零值。这样造成的跨步方向由下式给出:

    利用方程(14)和(15)计算出终止参数r和δ之后,下一步则涉及两种可能性。首先,如果r<1,则采取一步使y严格达到零,即

    x←x-z    (22)

    然后终止,并采用x的相应值作为起始值。另一方面,如果r>1,则取通常的跨步

    x←x-αz/r    (23)

    并返回方程(21)。在每次迭代开始,重新计算残差ρ,因此每次迭代是试图迫使y从1变成零。

    以自由变量算法为基础的起步算法可概括如下:

    ρ=b-Ax    (24)

    z=-D2XATBρ (25)

    r=max〔zi/(ri-li)V-zi/(ui-xi)〕 (26)

    δ=-min〔zi/(xi-li)2∧-zi/(ui-xi)2〕 (27)

    M=max〔(xi-li)∧(ui-xi)〕 (28)

    如果    r+Mδ<ε/n    (29)

    则止步(该模型无可实现解)。如果

    r<1

    则

    x←x-z    (30)

    并止步,以x作为起始值;否则,置

    x←x-αz/r    (31)

    并返回方程(24)。

    从方程(24)至(31)所概括的初态算法的总流程图示于图件中的图4。参照图4,在方框120中将起步模型构成标准形式。在方框122中设定x和y的初值,即x=ε,y=1。虚框134代表该算法的迭代部分,它涉及如下步骤:

    1)根据方程(24),在方框123中计算无约束残差ρ之值;

    2)根据方程(25),在决策方框124中计算y的梯度方向;

    3)根据方程(26),在方框125中计算补偿松驰系数;

    4)根据方程(27),在方框127中计算对偶可行性系数;

    5)在决策方框127中测试是否满足终止准则不等式(29);

    6)如果在决策方框127中测试条件得到满足,则该线性规划模型无可实现解(方框128);在方框141中停止本处理过程;

    7)如果决策方框127中的测试条件不满足,则在决策方框129中检验补偿松驰系数值;

    8)如果在决策方框129中补偿松驰系数小于单位1,则在方框139中根据方程(30)给定当前迭代过程的可实现初始值,并在方框132中终止;

    9)如果在决策方框129中的补偿松驰系数等于或大于单位1,则在方框138中根据方程(31)设定下一次迭代值,并返回方框122。

    与任何用于寻找初始可实现解以启动卡氏算法的其他方法相比,上面描述的初态算法在应用上要简单得多,在运算上要快得多。因此,将它与卡氏算法结合起来以减少资源分配过程所需的总时间是很有好处的。

    在描述了如何应用自由变量解作为高效求解起步模型的起始点之后,将采取类似步骤导出对于对偶模型的极其有效的解法。就是说,对偶模型的类似的自由变量形式使用简单而且求解速度快。为简单起见,这里考虑一个简化的模型:上限是无限的,而下限为零。这将使解释大大简化。可以直接把这里说明的方法推广到一般情况。

    利用上面引入的符号,简化的对偶模型可以表述成:

    极大化:b·ω    (32)

    使满足:ATω≤C

    ω是自由的

    将对偶变量分成约束的和无约束的两个子集,上述对偶模型可重写成

    极大化:〔b0〕·〔ων〕 (33)

    使满足:〔ATI〕〔ων〕=c

    ω是自由的

    ν>0

    利用对偶模型的这种表述形式,令

    表示跨步方向的分解,令ω和ν代表对偶变量的等价分块。于是,利用自由变量算法的方程(11)至(19),第二阶段对偶算法由下列各式给出:

    Zω=-(AD-2vAT)-1b (34)

    x=-D-2νATZω(35)

    Zν=+D2νx=-ATZω(36)

    r=max〔(Zν)i/νi〕 (37)

    δ=-min〔(Zν)i/ν2i〕 (38)

    M=max νi(39)

    如果r+Mδ<(ε/n)(|b·ω|+1),(40)

    则停止。如果不等式(40)不满足,则重置对偶变量

    ω←ω-αZω/δ (41)

    ν←ν-αZν/δ (42)

    并返回方程(34)。

    上面描述的对偶算法的流程示于图件中的图5。在图5中,首先需要在方框150中将线性规划模型写成其对偶形式。然后选定一个严格可实现的起始点。图5中其余的包含在虚框158中的部分是按照本发明设计的对偶算法的迭代部分。

    图5中的迭代过程158由以下各步骤组成。给出一个严格可实现的迭代起始点x的各分量后,

    1)在方框152中,重新标度当前的分配空间,以便使当前的分配处在与所有约束等距离位置上,然后计算下一跨步的方向。这些都是根据方程(34),(35)和(36)进行的;

    2)在方框153中,根据方程(37)计算补偿松驰系数;

    3)在方框154中,根据方程(38)计算对偶可行性系数;

    4)在决策方框155中,根据不等式(40)测试当前的分配情况;

    5)如果在决策方框155中的终止准则满足了,则采用当前迭代的最佳解参数,并在方框156中终止;

    6)如果在决策方框155中的终止准则不满足,则根据方程(41)和(42)进行下一个迭代步骤。

    上述对偶模型算法收敛很快,因为它能采取比未修正的卡氏算法大得多的步长。之所以可能采取较大长长,又是因为由本发明引入了数值计算稳定性。更具体地说,这种数值稳定性是由于在每一次迭代中都重新计算松驰变量。除了这种稳定性之外,本发明还使资源分配的收敛比未修正的卡氏算法快得多。最后,自由变量修正算法也对求解混合整数问题很重要,在这类问题中某些变量被限定只能取整数值。

    图6给出一个控制过程80的过程控制系统。过程80可以是一个电话通讯系统、一个生产过程、一个航运过程、或任何其他需要最佳化的过程。费用寄存器在入口82接收费用数据,这些数据代表受控系统80中各种可能资源布局方案的单位费用。费用数据可以从计算机终端进入寄存器81,或者从动态确定这些费用的单独过程进入寄存器81。尽管这些费用数据通常变化较慢,但系统中有能力在必要时通过输入口80时来更新这些数据。如果解的值有非零极限(方程(10)中的1和u),则如同费用数据那样,必须通过与寄存器81类似的数据输入寄存器向LP(线性规划)控制器提供这些数据。

    类似地,界限寄存器83用于存贮有关每一个具体的资源分配的全部物理限制数据。这些限界值也是相对稳定的,可以从计算机终端或从单独的确定限界值的处理过程经由输入口84送入。寄存器81和83的输出应用于线性规划(LP)控制器85,它进行如图3、4或5所示流程图描述的处理过程。在所推荐的具体实施方案中,LP控制器85是一个程序控制的数字计算机,它贮存了执行图3、4或5所示流程图的程序。控制器85也可以由设计成可以执行图3、4或5的过程的一组硬件电路组成;也可以是一组并行的处理器,以利用平行执行过程的各种可能性;还可以是为此目的编好程序的一组程序化的线性阵列。

    一组约束传感器86,87,…,88用于动态地获得约束关系中的约束系数。约束传感器86-88连续地对受控过程80的环境变化作出反应,这些变化影响约束关系,因此必须跟踪这些变化以便控制过程80。约束传感器86-88中的每一个都有相应的变化。(△)检测器89,90,…,91,它们获得各自的传感器86-88的输出量的变化。来自检测器89-91中每一个的变化指示信号加到变化总线92,于是加到与(AND)门93。来自LP控制器的一个信号也经入口94加到与门93上,它用于指出过程执行的结束。传感器86-88的输出通过检测器89-91分别到控制器85。

    在运行过程中,控制器85把传感器86-88的输出作为方程(10)、(20)或(32)的约束矩阵的系数。寄存器81中的费用数据用作方程(10)、(20)或(32)的的费用矢量(c),寄存器83中的限界数据用作方程(10)、(20)或(32)中的限界矢量(b)。得到这些输入值后,LP控制器85便能够完成图3、4或5所示过程并向控制寄存器95,96,…,97提供数值解(x)。寄存器95-97中的值再用于控制过程80。

    由于图6中的LP控制器利用图3、4或5所示的特别快的过程,所以寄存器95-97在很短的时间内可获得控制值。再有,当约束发生变化时,这些变化由传感器86-88感知,由检测器89-91来检测,并用于部分地启动与门93。当图3、4或5所示过程完成后,LP控制器85产生控制信号并将它们送到寄存器95-97。同时,LP控制器85产生一个启动信号经端口94送入与门93,完成对与门93的启动。然后,全部过程重复进行。

    基于问题的复杂性(由传感器86-88感知的约束的数目)和过程80的稳定性,有可能用本方法不同程度地连续控制过程80。如果由传感器86-88感知的环境因素变化速率等于或小于LP控制器85的运行速率,则过程80确实能被连续地控制。更高的环境变化速率将在控制过程中引入不连续控制,但平均而言,仍能允许过程80接近于最佳运行状态。的确,如果给出环境变化的某些历史数据,可以在检测器89-91中建立某种预测机制,从而预测传感器86-88输出的特征变化方向和幅度。

    在贝尔系统技术杂志(The    Bell    System    Technical    Journal)第60卷第8期(1981年10月)中的两篇文章里描述了能够应用本发明的远程通讯领域的一个典型问题。第一篇文章题为“动态路径网络的设计与最优化”(第1787页),作者是G.R.艾什(Ash)等人,该文描述了一般电话通讯路径问题。而G.R艾什等人写的另一篇文章(第1821页),题为“对动态路径网络的实时控制”,描述了一个附带的问题,即如何使由于错误地预测通讯负载所造成的间散传输能力减到最小。

    其他能够从这里描述的新处理过程获益的问题有:工业过程控制,为消费者提供服务的人员配备,构成商业产品的配料的合成,石油精炼产品的混合,计算机资源对大量用户的分配,以及其他多种问题。每种情况下,费用(或利益)系数必须要测定或者确定,还必须建立约束限,并要测定或确定所有决策变量对这些约束的贡献。在每种情况下,执行过程的结果是指定一组控制参数,当把这些参数应用于实际情况时将会产生最佳过程或设备。

    应该指出,大多数实际线性规划模型所涉及的矩阵是稀疏矩阵,而稀疏矩阵技术也可以应用于求解图3、4和5中的搜索方向Z。

    尽管本发明者已完成了对于求解线性规划模型的卡氏算法的重要改进,但应该理解,本发明的权项要求只涉及这些新改进在布局方面的应用:这种布局确定在现实世界的技术与工业系统中的各个资源的最佳分配,这些系统本身可以用表征该类系统的变量与约束条件的线性表示来描述。也就是说,这种物理布局确定如何实际应用资源,以使过程、机器、生产或物质组成等的性能达到最佳。该新方法的所有其他应用,如计算研究、算法研究、或线性代数研究活动,都不构成本发明的组成部分。同样,该新方法在非技术或非工业系统中的应用也不构成本发明的组成部分。

高效能资源分配方法和装置.pdf_第1页
第1页 / 共36页
高效能资源分配方法和装置.pdf_第2页
第2页 / 共36页
高效能资源分配方法和装置.pdf_第3页
第3页 / 共36页
点击查看更多>>
资源描述

《高效能资源分配方法和装置.pdf》由会员分享,可在线阅读,更多相关《高效能资源分配方法和装置.pdf(36页珍藏版)》请在专利查询网上搜索。

用卡马卡尔算法在解空间多面体内求解的最佳资源布局方法和装置。假定至少有一个布局变量值是无约束的,用当前解点的一对角矩阵,对解点的近似值及多面体加以归一化,使解点位于归一化多面体中心。将目标函数投影到该归一化空间,在多面体内沿目标函数梯度最速下降方向跨出下一步,步长保持在多面体内,反复该过程直到很接近最佳解为止。所得算法步骤能方便地应用于求起始点初态问题及对偶问题,其中自由变量假定产生了出乎预料的计。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 >


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1