主要内容

算法programación线性

Definición de programación直线

La programación线性问题最小向量función线性xF<年代up>TXSujetos a restriction ciones lines:

最小值 x f T x

Tal que uno o más de los siguentes retain:

≤=≤≤。·xb
Aeq·x说真的
lxu

内部算法linprog

算法也很相似。linprog“内点”Algoritmointerior-point-convexquadprogTambién comparte muchas características con el algorithm。linprog“interior-point-legacy”概括性的算法和错误:

  1. PRESOLVE,样意义simplificación y conversión del problema un format estándar。

  2. Genere un punto inicial。La elección de punto初始的es,特别重要的,para, resolver,算法,de punto,内部的manera,效率,和,este paso, puede, llevar, mucho, tiempo。

  3. 修正预测迭代和解析KKT。爱你爱你más时间消费。

PRESOLVE

求简化问题的算法,消除冗余,简化限制。Las tareas realizadas durante el paso de PRESOLVE包括:

  • Compruebe si alguna variable tiene límites上级e下级鬣蜥。Si es así, Compruebe la viabilidad y, a continuación, corrija y quite las variables。

  • comppruebe si cualquier restricción de desigualdad linear implica sólo una variable。Si es así, Compruebe la viabilidad y cambie la restricción lineal un límite。

  • Compruebe si cualquier restricción de igualdad线性隐含单变量。Si es así, Compruebe la viabilidad y, a continuación, corrija y quite la variable。

  • Compruebe si alguna matriz de restricción线性tiene cero filas。Si es así, comppruebe la viabilidad y elimine las filas。

  • comppruebe si los límites y las restricciones lineales son coherentes。

  • Compruebe si las variables aparecen sólo como términos lineales en la función objectiva y no aparecen en ninguna restricción lineal。Si es así, Compruebe la viabilidad y el rebote, y corrija las变量en sus límites apicapados。

  • Cambie las restricciones de desigualdad linear a las restricciones de igualdad linear agregando variable de holgura。

这是一种算法,它能发现一个不可解的问题。

El algoritmo puede llegar a un único punto factible, que representa la solución。

我的算法不发现问题,我的解决方法不可能解决问题,continúa,我必须解决问题,我必须解决问题。最后,算法重构原始问题,deshaaciendo cualquier transformación PRESOLVE。最后的新年祝词postresolución。

简单地说,我的问题是无法解决的,我的算法是无法解决的límites我的问题是无法解决的。

一般的标点符号

Para establecer el punto inicial, el algoritmo has lo sigiente。x0

  1. 初始化为,donde está el número de elementos del vector de función objectivo。x0的(n, 1)nf

  2. 与我们在一起的日子límite低劣的0。Si el componente tiene un límite superior finito, entonces。u(我)X0 (i) = u/2

  3. 世界上唯一的组成部分límite,世界上唯一的必须组成部分límite。

  4. 中央道路的修正之路,预测校正之路,continuación,修正之路posición,结果变量的改变之路,路径的修正之路límites。x0Para más details sobre la ruta central, véase Nocedal y Wright, Página 397。<一个href="//www.tatmou.com/es/es/help/optim/ug/linear-programming-algorithms.html" class="intrnllnk">[7]

预估

类似的,我的算法,我的意图,我的命运,我的命运。fmincon内部算法interior-point-convexKarush-Kuhn-Tucker(马)Para description estas ecuaciones Para el problem de programación lineal, conere la forma estándar del problem de programación lineal después del preprocesamiento:

最小值 x f T x 一个 ¯ x b ¯ x + t u x t 0.

  • 我们有一个共同的命运límite结束。Cambiando y negando components, si es esesario, esta suposición有意义的事的组件tienen un límite低劣的de 0。x

  • 一个 ¯ 母体直线延伸,包括tantodesigualades直线,como ecualidades直线。<年代p一个ncl一个年代年代="inlineequation"> b ¯ 艾尔向量德瓜达线性对应。<年代p一个ncl一个年代年代="inlineequation"> 一个 ¯ También incluye términos para extender el vector con variables de holgura que convierten las restricciones de desigualdad en restricciones de igualdad:x年代

    一个 ¯ x 一个 e 0 一个 x 0 年代

    在哪里x0表示原始的el向量。x

  • Es el vector de los pantalones que convierten los límites superior a las equalidades。t

Lagrangio对总轴系统和分块的矢量:

  • ,拉格朗日的乘数方程和线性方程y

  • ,拉格朗日asociados con el límite劣质(restricción positividad)v

  • , Los multiplicadores de Lagrange asociados con el límite superiorw

El Lagrangio es

l f T x y T 一个 ¯ x b ¯ v T x w T u x t

祝你好运,祝你好运

f 一个 ¯ T y v + w 0 一个 ¯ x b ¯ x + t u v x 0 w t 0 x v w t 0.

El algoritmo premero premero un paso de la fórmula de Newton-Raphson y, a continuación, calcula un paso de corrector。校正意图还原残差补直线<年代p一个ncl一个年代年代="inlineequation">年代<年代ub>我z<年代ub>我= 0.牛顿-拉弗森的

0 一个 ¯ T 0 一个 ¯ 0 0 0 0 0 0 0 V 0 0 X 0 0 0 W 0 T Δ x Δ y Δ t Δ v Δ w f 一个 ¯ T y v + w 一个 ¯ x b ¯ u x t V X W T r d r p r u b r v x r w t (1)

矩阵对角线分别对应一个向量。XVWTxvwtLos向量残差en el lado derecho más lejano de la ecuación儿子:

  • R<年代ub>d, el doble residuo

  • R<年代ub>p, el residuo primigenio

  • R<年代ub>乌兰巴托, el residuo de límite superior

  • R<年代ub>vx,补充之余límite

  • R<年代ub>wt, el residuo de complementariedad de límite superior

La pantalla iterativa informa de estas悬臂:

原始的不可行性 r p 1 + r u b 1 双不可行性 r d

Para resolverlo, primero conviértalo a la forma de matriz simétrica<一个href="//www.tatmou.com/es/es/help/optim/ug/linear-programming-algorithms.html" class="intrnllnk">Ecuacion 1

D 一个 ¯ T 一个 ¯ 0 Δ x Δ y R r p (2)

在哪里

D X 1 V + T 1 W R r d X 1 r v x + T 1 r w t + T 1 W r u b

对角线的简单矩阵计算的简单矩阵。DR

Para衍生物,tenga en cuenta que la segunda fila de la misma que la segunda fila de matriz de。<一个href="//www.tatmou.com/es/es/help/optim/ug/linear-programming-algorithms.html" class="intrnllnk">Ecuacion 2Ecuacion 1Ecuacion 2Ecuacion 1La primera fila viene de resolver las dos últimas filas de Δ y Δ, y luego resolver para Δ。<一个href="//www.tatmou.com/es/es/help/optim/ug/linear-programming-algorithms.html" class="intrnllnk">Ecuacion 2Ecuacion 1vwt

Es simétrico, pero no Es positive definitivo debido al término -。<一个href="//www.tatmou.com/es/es/help/optim/ug/linear-programming-algorithms.html" class="intrnllnk">Ecuacion 2DPor lo tanto, no se puede resolver utilzando una factorización Cholesky。Unos pocos pasos más传导的一个ecuación不同的是肯定的肯定的,y por lo tanto puede ser resuelto efficiency por factorización choolesky。

El segundo conjunto de filas de es<一个href="//www.tatmou.com/es/es/help/optim/ug/linear-programming-algorithms.html" class="intrnllnk">Ecuacion 2

一个 ¯ Δ x r p

Y el引物连接到filas es

D Δ x + 一个 ¯ T Δ y R

Sustituyendo

Δ x D 1 一个 ¯ T Δ y + D 1 R

一个 ¯ D 1 一个 ¯ T Δ y 一个 ¯ D 1 R r p (3)

Por lo general, la forma más Newton的解决者para Δ usando la factorización de Cholesky。<一个href="//www.tatmou.com/es/es/help/optim/ug/linear-programming-algorithms.html" class="intrnllnk">Ecuacion 3yLa factorización colesky es可能的多重矩阵Δ es显性simétrica y, en ausencia de degeneración, es positive。yDespués,牛顿之路的使者,牛顿之路的使者Δ, Δ, Δ y Δ。罪恶禁运,cuandoxtvw 一个 ¯ 浓密的柱子,más在阳光下的解决效率。<一个href="//www.tatmou.com/es/es/help/optim/ug/linear-programming-algorithms.html" class="intrnllnk">Ecuacion 2El algoritmo de punto内景El algoritmo de la solución en función de la densidad de las柱子。linprog

Para obtener más算法细节,Mehrotra领事。<一个href="//www.tatmou.com/es/es/help/optim/ug/linear-programming-algorithms.html" class="intrnllnk">[6]

Después牛顿公式公式,实现算法más cálculos para obtener un paso actual más largo, y para prepare para mejores pasos posteriores。Estos cálculos de corrección múltiple pueden mejorar el rendimiento y la robustez。Para obtener más información,咨询gonzio。<一个href="//www.tatmou.com/es/es/help/optim/ug/linear-programming-algorithms.html" class="intrnllnk">[4]

El算法预测校正部分错误的问题versión完整,一个excepción de los términos cuadráticos。quadprog“interior-point-convex”版本。<一个href="//www.tatmou.com/es/es/help/optim/ug/quadratic-programming-algorithms.html" class="a">完整的预估

条件detención

预测修正记录的算法iteración有条件的约束和可容忍性的约束和可容忍性的约束tamaños相对之法pequeños。En concreto,定义

ρ 马克斯 1 一个 ¯ f b ¯

算法与神的关系与条件的关系:

r p 1 + r u b 1 ρ TolCon r d ρ TolFun r c TolFun,

在哪里

r c 马克斯 最小值 | x v | | x | | v | 最小值 | t w | | t | | w |

R<年代ub>c森林森林森林森林森林森林森林森林森林森林森林森林森林森林森林森林森林森林森林森林森林森林森林十五太瓦

Programación内在遗传

Introduccion

El método de la herencia de punto内部预先决定se basa en<一个cl一个年代年代="indexterm" name="d123e23645">LIPSOL (), que es una variante de<一个href="//www.tatmou.com/es/es/help/optim/ug/selected-bibliography.html" class="a">[52]El algoritmo de corrector predictor (), un<一个href="//www.tatmou.com/es/es/help/optim/ug/selected-bibliography.html" class="a">[47]Método de punto interior primario-dual。

Algoritmo主要

我的算法,我的方法<一个cl一个年代年代="indexterm" name="d123e23663">过程前的Pasos de preesamiento (ver)。<一个href="//www.tatmou.com/es/es/help/optim/ug/linear-programming-algorithms.html" class="intrnllnk">PreprocesamientoDespués程序前的问题,形式上的问题

最小值 x f T x 这样 一个 x b 0 x u (4)

法律限制límites法律限制implícitamente法律限制restricción。一个Con la adición变量de Slack primarias, se convierte en年代Ecuacion 4

最小值 x f T x 这样 一个 x b x + 年代 u x 0 年代 0. (5)

这是一个由所有变量组成的原始问题。<年代p一个ncl一个年代年代="emphasis">原始的x年代El问题<年代p一个ncl一个年代年代="emphasis">

马克斯 b T y u T w 这样 一个 T y w + z f z 0 w 0 (6)

双变量不变,双变量不变。ywz埃尔<一个cl一个年代年代="indexterm" name="d123e23705">孩子,最理想的条件,最理想的条件,最原始的条件<一个href="//www.tatmou.com/es/es/help/optim/ug/linear-programming-algorithms.html" class="intrnllnk">Ecuacion 5Ecuacion 6

F x y z 年代 w 一个 x b x + 年代 u 一个 T y w + z f x z 年代 w 0 x 0 z 0 年代 0 w 0 (7)

在哪里X<年代ub>我Z<年代ub>我Y年代<年代ub>我W<年代ub>我Denotan la multiplicación por组件。

Las ecuaciones cuadráticas<年代p一个ncl一个年代年代="inlineequation">x<年代ub>我z<年代ub>我= 0Y<年代p一个ncl一个年代年代="inlineequation">年代<年代ub>我w<年代ub>我= 0面额<年代p一个ncl一个年代年代="emphasis">Complementariedad程序性条件;Las otras ecuaciones (lineales) se denominan<一个cl一个年代年代="indexterm" name="d123e23754">身体状况。<年代p一个ncl一个年代年代="emphasis">可行性La cantidad

X<年代up>TZ+年代<年代up>TW

es厄尔<年代p一个ncl一个年代年代="emphasis">Brecha de dualidad, la的生命之源porción互补之源Fx, z,年代,w)≥0

算法就是这样<年代p一个ncl一个年代年代="emphasis">Algoritmo非,有意义有意义的计划有两个目标simultáneamente。我们的思想método牛顿,我们的系统lineal-cuadrático<年代p一个ncl一个年代年代="inlineequation">Fx, y, z,年代,w) = 0恩,我知道我的错,我的错,我的错,我的错método我的错,我的错,我的错。<一个href="//www.tatmou.com/es/es/help/optim/ug/linear-programming-algorithms.html" class="intrnllnk">Ecuacion 7xzw年代(Los iterados se entran en la región eststrictamente interior representada por las restricciones de desigualdad en.)<一个href="//www.tatmou.com/es/es/help/optim/ug/linear-programming-algorithms.html" class="intrnllnk">Ecuacion 5

算法是可变的<一个cl一个年代年代="indexterm" name="d123e23809">梅赫罗特拉预测校正算法。考虑到现实的可能性<年代p一个ncl一个年代年代="inlineequation">v= (x, y, z,年代;w]在哪里<年代p一个ncl一个年代年代="inlineequation">[x, z,年代;w> 0Primero calculator la llamada dirección<年代p一个ncl一个年代年代="emphasis">预测

Δ v p F T v 1 F v

que es la dirección德牛顿;牵羊驼dirección<年代p一个ncl一个年代年代="emphasis">校正器

Δ v c F T v 1 F v + Δ v p μ e

在哪里<年代p一个ncl一个年代年代="inlineequation">μ> 0大羊驼<年代p一个ncl一个年代年代="emphasis">CentradoParámetro y debe elegirse cuidadosamente。<年代p一个ncl一个年代年代="inlineequation"> e Es UN vector cero-uno con was通讯员cuadráticas en (), Es decir, las perturbaciones sólo se iplican la condiciones de complementariedad, que son todas cuadráticas, pero no a las condiciones de viabilidad, que son todas lineales。FvLas dos direcciones se combinan con un parámetro de longitude de paso<年代p一个ncl一个年代年代="inlineequation">α> 0Y actualizar para obtener la nueva iteraciónvv+

v + v + α Δ v p + Δ v c

Donde se elige el parámetro longitude de paso para queα

V<年代up>+= (X<年代up>+;y<年代up>+;z<年代up>+;年代<年代up>+;w<年代up>+]

Satisface

X<年代up>+;z<年代up>+;年代<年代up>+;w<年代up>+> 0。

Al resolver para las direcciones de预测/校正前,el algoritmo calcula una factorización直接(分散)en una modificación de los factor de Cholesky de<年代p一个ncl一个年代年代="inlineequation">一个?<年代up>T.如果他一个浓密的柱体,在阳光下使用<一个cl一个年代年代="indexterm" name="d123e23920">Fórmula德谢尔曼莫里森。Si esa solución没有工作空间(大的工作空间),实现空间factorización低密度的工作空间的工作空间solución。(领事página de referencia de la función)<一个href="//www.tatmou.com/es/es/help/matlab/ref/ldl.html" class="a" hreflang="en">Ejemplo 4 - la estructura DMATLAB<年代up>®低密度脂蛋白

continuación,算法和迭代的收敛。《天堂原则》estándar:

马克斯 r b 马克斯 1 b r f 马克斯 1 f r u 马克斯 1 u | f T x b T y + u T w | 马克斯 1 | f T x | | b T y u T w | t o l

在哪里

r b 一个 x b r f 一个 T y w + z f r u x + 年代 u

Son la viabilidad primary残差,double残差y de límite superior, respectivamente (<年代p一个ncl一个年代年代="inlineequation">{x}(límites至高无上的权利),yx

f T x b T y + u T w

这是不同之处,是客观价值的基本和对偶,是宽容的。<年代p一个ncl一个年代年代="emphasis">托尔La suma de La<一个cl一个年代年代="indexterm" name="d123e23958">准则detención与理想条件相对的错误。<一个href="//www.tatmou.com/es/es/help/optim/ug/linear-programming-algorithms.html" class="intrnllnk">Ecuacion 7

原始的不可生存的时代<年代p一个ncl一个年代年代="inlineequation">||r<年代ub>b||“我的生命中有一件事是不可能的。<年代p一个ncl一个年代年代="inlineequation">||r<年代ub>f||,这就是euclidiana的Norma。

Preprocesamiento

求简化问题的算法,消除冗余,简化限制。Las tareas realizadas durante el paso de PRESOLVE包括:

  • Compruebe si alguna variable tiene límites上级e下级鬣蜥。Si es así, Compruebe la viabilidad y, a continuación, corrija y quite las variables。

  • comppruebe si cualquier restricción de desigualdad linear implica sólo una variable。Si es así, Compruebe la viabilidad y cambie la restricción lineal un límite。

  • Compruebe si cualquier restricción de igualdad线性隐含单变量。Si es así, Compruebe la viabilidad y, a continuación, corrija y quite la variable。

  • Compruebe si alguna matriz de restricción线性tiene cero filas。Si es así, comppruebe la viabilidad y elimine las filas。

  • comppruebe si los límites y las restricciones lineales son coherentes。

  • Compruebe si las variables aparecen sólo como términos lineales en la función objectiva y no aparecen en ninguna restricción lineal。Si es así, Compruebe la viabilidad y el rebote, y corrija las变量en sus límites apicapados。

  • Cambie las restricciones de desigualdad linear a las restricciones de igualdad linear agregando variable de holgura。

这是一种算法,它能发现一个不可解的问题。

El algoritmo puede llegar a un único punto factible, que representa la solución。

我的算法不发现问题,我的解决方法不可能解决问题,continúa,我必须解决问题,我必须解决问题。最后,算法重构原始问题,deshaaciendo cualquier transformación PRESOLVE。最后的新年祝词postresolución。

Para simplicar, el algoritmo desplaza todos los límites inferiores a cero。

在计算过程前的过程中,在计算过程中,在计算过程中,在计算过程中<一个cl一个年代年代="indexterm" name="d123e24004">拉格朗日的乘法器,和原始的乘法器,和原始的乘法器,和原始的乘法器。我的计算器,我的乘法计算器,esta transformación de nuevo no se calculus y puede ahorar algún tiempo computacionalmente。<年代p一个ncl一个年代年代="emphasis">

Algoritmo对偶单纯形

这是一个中音,这是一个简单的算法,这是一个简单的算法。linprog对偶单纯形的问题的双重

算法,过程,过程,描述。<一个href="//www.tatmou.com/es/es/help/optim/ug/linear-programming-algorithms.html" class="intrnllnk">PreprocesamientoPara más details, véase Andersen y Andersen y Nocedal y Wright, capítulo<一个href="//www.tatmou.com/es/es/help/optim/ug/linear-programming-algorithms.html" class="intrnllnk">[1][7]Este preprocesamiento reduce el problem de programación线性原始形式:<一个href="//www.tatmou.com/es/es/help/optim/ug/linear-programming-algorithms.html" class="intrnllnk">Ecuacion 4

最小值 x f T x 这样 一个 x b 0 x u

Y - son版本的变换矩阵的原始限制。一个bEste es el problem, primigenio。

原始生命的起源,确定的起源términos La<年代up>+脂肪酸的

x + x 如果 x > 0 0 如果 x 0.

原始的不可生存的时代

原始的不可行性 x + 2 + x 乌兰巴托 + 2 + 一个 x b + 2 + | Aeq x 说真的 | 2

关于双元问题的解释是关于矢量y的,y是关于矢量变量的<一个href="//www.tatmou.com/es/es/help/optim/ug/linear-programming-algorithms.html" class="intrnllnk">Ecuacion 6ywz

马克斯 b T y u T w 这样 一个 T y w + z f z 0 w 0.

这是一个不可生存的时代

双不可行性 一个 T y + z w f 2

Es bien sabido (por ejemplo, ver) que cualquier solución最后一个问题solución第一个问题,y cualquier solución最后一个问题第一个问题solución第一个问题。<一个href="//www.tatmou.com/es/es/help/optim/ug/linear-programming-algorithms.html" class="intrnllnk">[7]Además,这是一个根本的问题,有双重的限制,暗示了另一个问题是不可行的。原来的问题是无法解决的,以后的问题是无法解决的。Por lo tanto, los dos problemas son相当于en términos de obtener una solución finita, si存在uno。主要问题和对偶问题matemáticamente等价于,主要问题和对偶问题的解决方法。

Para ayudar a aliviar la degeneración (ver Nocedal y Wright, página 366),一个简单的计算方法,一个简单的计算方法función目标。<一个href="//www.tatmou.com/es/es/help/optim/ug/linear-programming-algorithms.html" class="intrnllnk">[7]

一种算法,简单对偶,不可逆对偶。求解问题的算法programación线性辅助。

第一阶段控制

第二段,我能得到你的宽恕,你是我的变量,你是我的变量。El algoritmo eligeuna变量de salida según una técnica sugerida por Forrest y Goldfarb llamada doble precio de borde más inclinado。<一个href="//www.tatmou.com/es/es/help/optim/ug/linear-programming-algorithms.html" class="intrnllnk">[3]El algoritmo eligiuna变量de entrada utilization la variación de prueba比率de Harris sugerida por Koberstein。<一个href="//www.tatmou.com/es/es/help/optim/ug/linear-programming-algorithms.html" class="intrnllnk">[5]Para ayudar a aliviar la degeneración, el algoritmo puede介绍扰流的adicionales durante la fase 2。

第二阶段

我有一个解决办法,我有一个办法,我有一个办法,我有一个办法,我有一个办法,我有一个办法。算法的退化和干扰的引入。Si la solución(摄动问题)对偶不可行的para el problem no摄动问题(原始),entonces el solucionador restaura la viabilidad对偶usando los algoritmos原始单纯型fase 1。Por último, el solucionador des注册la pasos前处理,para下放la solución原始问题。

变量básicas y否básicas

En esta sección se definen los términos y para un problem de programación lineal。<年代p一个ncl一个年代年代="emphasis">基础nonbasis基本可行方案金宝搏官方网站La definición asme que el problem se da en el siguente formula estándar:

最小值 x f T x 这样 一个 x b l b x u b

(Tenga en cuenta que y no son la matriz y Vector definiendo las desigualdades en el problem original)一个bSupongamos que es una- pora -matriz, de rango一个n<n, cuyas columnas son {一个1一个2、……联合国<年代ub>n}。Supongamos,<年代p一个ncl一个年代年代="inlineequation"> 一个 1 一个 2 ... 一个 Es una base para espacio de column de, con index set = {一个B12、……我<年代ub>米}, y que ={1,2,…,n}\ es el complemento de.NBBLa submatriz一个B这是羊驼,这是互补的子母<年代p一个ncl一个年代年代="emphasis">基础一个N大羊驼。<年代p一个ncl一个年代年代="emphasis">nonbasisEl矢量de es<年代p一个ncl一个年代年代="emphasis">基本变量xBY el向量de<年代p一个ncl一个年代年代="emphasis">非基本变量xN.En cada iteración de la fase 2, el algoritmo reemplaza una column de la base actual con una column de la no base y actualiza变量xBYxNen consecuencia。

Si es una solución parax·xbY todas las变量没有básicas enxNSon iguales a SUS límites劣o优,se美洲驼a。x基本的解决方案Si, además, las变量básicas enxB满意SUS límites低劣y优越,por lo que es UN punto factible, se llama a。xx基本可行方案

Referencias

[1]安徒生,e。D。和k。D。安徒生。线性规划中的预解.数学。《计算机工程》,1995,第21 - 23页。

[2] D. L.阿普尔盖特,R. E.比克斯比,V. Chvátal和W. J.库克,旅行推销员问题:一项计算研究,普林斯顿大学出版社,2007年。

[3]福雷斯特,J. J.和D.戈德法布。线性规划的最陡边单纯形算法.数学。程序设计57,1992,第341-374页。

[4] Gondzio, J.“线性规划的原始对偶方法中的多重中心校正”。计算优化及其应用, 1996年第6卷第2期,第137-156页。可以在<一个href="http://www.maths.ed.ac.uk/~gondzio/software/correctors.ps" target="_blank">http://www.maths.ed.ac.uk/~gondzio/software/correctors.ps

科伯斯坦,A。求解大规模LP问题的对偶单纯形算法研究进展:快速稳定实现技术.计算Optim。应用41,2008,pp. 185-204。

[6] Mehrotra, S.《关于原始-对偶内点方法的实现》。SIAM优化期刊, Vol. 2, 1992, pp 575-601。

[7]诺西德尔,J.和S. J.赖特。数值优化,第二版。施普林格系列运筹学,斯普林格出版社,2006。