主要内容

模式搜索

使用模式搜索查找最小函数

描述

例子

x=模式搜索(有趣的x0)找到一个局部最小值,x,转换为函数句柄有趣的计算目标函数的值。x0是一个真正的矢量,指定了模式搜索算法的初始点。

请注意

传递额外的参数说明如何在必要时向目标函数和非线性约束函数传递额外参数。

例子

x=模式搜索(有趣的x0一个b)最小化有趣的服从线性不等式* x≤.b.看到线性不等式约束

x=模式搜索(有趣的x0一个bAeq说真的)最小化有趣的服从线性等式Aeq * x说真的* x≤.b.如果不存在线性不等式,集合一个= []b = []

例子

x=模式搜索(有趣的x0一个bAeq说真的乌兰巴托)中的设计变量定义一组上下限x,使解决方案始终在范围内≤.x≤.乌兰巴托.如果没有线性平衡,则设置Aeq = []beq=[].如果十(一)没有下界,集合LB(i)= -inf.如果十(一)没有上限,集ub(i)=Inf

例子

x=模式搜索(有趣的x0一个bAeq说真的乌兰巴托nonlcon.)将最小化为非线性不等式c (x)或平等量表(x)中定义的nonlcon.模式搜索优化有趣的这样c (x)≤0CEQ(x)= 0.如果没有界限,请设置磅= []乌兰巴托= [], 或两者。

例子

x=模式搜索(有趣的x0一个bAeq说真的乌兰巴托nonlcon.选项)最小化有趣的使用指定的优化选项选项.使用optimoptions设置这些选项。如果没有非线性不等式或等式约束,则集合nonlcon = []

x=模式搜索(问题)求最小值问题中所描述的结构问题

例子

xfval) = patternsearch (___),对于任何语法,返回目标函数的值有趣的在解决方案x

例子

xfvalexitflag输出) = patternsearch (___)此外回报exitflag的退出条件模式搜索,结构输出关于优化过程的信息。

例子

全部折叠

将无约束问题最小化模式搜索解算器。

创建以下两个变量的目标函数。在MATLAB®路径上,将以下代码保存到一个名为psobj.m.

函数y = psobj (x) y = exp (- x (1) ^ 2 x (2) ^ 2) * (1 + 5 * x (1) + 6 * x x (1) (2) + 12 * * cos (x (2)));

设置目标函数为@psobj

有趣= @psobj;

从点开始,找出最小值(0,0)

x0 = (0,0);x0, x = patternsearch(有趣)
优化终止:网格尺寸小于选项。网格公差。X = -0.7037 -0.1860

最小化某些线性不等式约束的功能。

创建以下两个变量的目标函数。在MATLAB®路径上,将以下代码保存到一个名为psobj.m.

函数y = psobj (x) y = exp (- x (1) ^ 2 x (2) ^ 2) * (1 + 5 * x (1) + 6 * x x (1) (2) + 12 * * cos (x (2)));

设置目标函数为@psobj

有趣= @psobj;

设置两个线性不等式约束。

A=[-3,-2;-4,-7];b=[-1;-8];

从点开始,找出最小值[0.5, -0.5]

x0 = [0.5, -0.5];x = patternsearch(乐趣,x0, A, b)
优化终止:网格尺寸小于选项。网格公差。X = 5.2824 -1.8758

求只有有限约束条件的函数的最小值。

创建以下两个变量的目标函数。在MATLAB®路径上,将以下代码保存到一个名为psobj.m.

函数y = psobj (x) y = exp (- x (1) ^ 2 x (2) ^ 2) * (1 + 5 * x (1) + 6 * x x (1) (2) + 12 * * cos (x (2)));

设置目标函数为@psobj

有趣= @psobj;

求最小值$0 \le x(1) \le\ inty $$ x(2) $ x(2) $ x(3) $

磅=(0,负);乌兰巴托=[正无穷,3];一个= [];b = [];Aeq = [];说真的= [];

从点开始,找出最小值(1、5)

x0 =(1、5);x = patternsearch (Aeq有趣,x0, A, b,说真的,磅,乌兰巴托)
优化终止:网格大小小于options.MeshTolerance.x=0.1880-3.0000

求受非线性不等式约束的函数的最小值。

创建以下两个变量的目标函数。在MATLAB®路径上,将以下代码保存到一个名为psobj.m.

函数y = psobj (x) y = exp (- x (1) ^ 2 x (2) ^ 2) * (1 + 5 * x (1) + 6 * x x (1) (2) + 12 * * cos (x (2)));

设置目标函数为@psobj

有趣= @psobj;

创建非线性约束

$ $ \压裂{{xy}}{2} +{\离开({x + 2} \右)^ 2}+ \压裂{{{{\离开({y - 2} & # xA; \右)}^ 2}}}{2}\ le 2。$$

为此,在MATLAB路径上,将以下代码保存到一个名为ellipsetilt.m

函数[c,ceq] = ellipsetilt(x);C = x(1)*x(2)/2 + (x(1)+2)^2 + (x(2)-2;

开始模式搜索从初始点[-2,-2]

x0 = (2, 2);一个= [];b = [];Aeq = [];说真的= [];磅= [];乌兰巴托= [];nonlcon = @ellipsetilt;x = patternsearch (Aeq有趣,x0, A, b,说真的,磅,乌兰巴托,nonlcon)
优化终止:网格尺寸小于选项。MeshTolerance和constraint violation is less than options.ConstraintTolerance. x = -1.5144 0.0874

设置选项来观察进程模式搜索解决方案的过程。

创建以下两个变量的目标函数。在你的matlab上®路径,将以下代码保存到名为psobj.m.

函数y = psobj (x) y = exp (- x (1) ^ 2 x (2) ^ 2) * (1 + 5 * x (1) + 6 * x x (1) (2) + 12 * * cos (x (2)));

设置目标函数为@psobj

有趣= @psobj;

选项给出迭代显示,并在每次迭代时绘制目标函数。

选项=最佳选项(“patternsearch”“显示”“通路”“PlotFcn”, @psplotbestf);

从该点出发,求目标的无约束最小值(0,0)

x0 = (0,0);一个= [];b = [];Aeq = [];说真的= [];磅= [];乌兰巴托= [];nonlcon = [];x = patternsearch (Aeq有趣,x0, A, b,说真的,磅,乌兰巴托,nonlcon,选项)

Iter f-count f(x)网格大小方法0 1 1 4-5.88607 2成功轮询2 8-5.88607 1细化网格3 12-5.88607 0.5细化网格4 16-5.88607 0.25细化网格(输出修剪)63 218-7.02545 1.907e-06优化网格64 221-7.02545 3.815e-06成功轮询65 225-7.02545 1.907e-06优化网格66 229-7.02545 9.537e-07优化网格终止:网格大小小于选项。网格公差。x=-0.7037-0.1860

查找函数的最小值,并报告最小值的位置和值。

创建以下两个变量的目标函数。在MATLAB®路径上,将以下代码保存到一个名为psobj.m.

函数y = psobj (x) y = exp (- x (1) ^ 2 x (2) ^ 2) * (1 + 5 * x (1) + 6 * x x (1) (2) + 12 * * cos (x (2)));

设置目标函数为@psobj

有趣= @psobj;

找到目标的无约束最小值,从点开始(0,0).返回最小值的位置,x的价值有趣的(x)

x0 = (0,0);[x, fval] = patternsearch(有趣,x0)
优化终止:网格尺寸小于选项。网格公差。X = -0.7037 -0.1860 fval = -7.0254

检查模式搜索解决方案流程,获取所有输出。

创建以下两个变量的目标函数。在MATLAB®路径上,将以下代码保存到一个名为psobj.m.

函数y = psobj (x) y = exp (- x (1) ^ 2 x (2) ^ 2) * (1 + 5 * x (1) + 6 * x x (1) (2) + 12 * * cos (x (2)));

设置目标函数为@psobj

有趣= @psobj;

找到目标的无约束最小值,从点开始(0,0).返回的解决方案,x,解决方案的目标函数值,有趣的(x)、退出标志和输出结构。

x0 = (0,0);[x, fval exitflag、输出]= patternsearch(有趣,x0)
优化终止:网格尺寸小于选项。网格公差。x = -0.7037 -0.1860 fval = -7.0254 ExitFlag = 1输出=带有字段的结构:功能:@psobj问题rype:'不受约束的'pollmethod:'gpspositivebasis2n'maxconstraint:[] searchmethod:[]迭代:66 funccount:229网格化:9.5367e-07 rngstate:[1x1 struct]消息:'优化终止:网格尺寸小于options.meshtolerance。

exitflag1,表示收敛到局部最小值。

输出结构包括信息,例如有多少迭代模式搜索取了多少函数值。将输出结构与下面的结果进行比较使用非默认选项的模式搜索.在那个示例中,您获得了其中的一些信息,但是没有获得,例如,函数求值的数量。

输入参数

全部折叠

要最小化的函数,指定为函数句柄或函数名。这个有趣的函数接受一个向量x并返回一个实标量f,即目标函数的取值为x

您可以指定有趣的作为文件的函数句柄

x = patternsearch (x0 @myfun)

这里,myfun是MATLAB函数之类的

函数f = myfun(x)%计算函数在x处的值

有趣的也可以是匿名功能的函数句柄

x = patternsearch(@(x)rang(x)^ 2,x0,a,b);

例子:Fun = @(x)sin(x(1))* cos(x(2))

数据类型:char|function_handle|细绳

初始点,指定为真正的矢量。模式搜索使用中的元素数x0来确定变量的数量有趣的接受。

例子:x0 =(1、2、3、4)

数据类型:双倍的

线性不等式约束,指定为实矩阵。一个是一个——- - - - - -NVARS.矩阵,是不等式的个数。

一个编码线性不平等

A * x < =

在哪里x列向量是NVARS.变量X(:),b列向量是元素。

例如,要指定

x1+ 2x2≤10
3.x1+ 4x2≤20
5x1+ 6x2≤30日

给这些约束:

= [1, 2, 3, 4, 5, 6);b =(10、20、30);

例子:要指定控制变量的和为1或更小,请给出约束条件a = =(1,n)b = 1

数据类型:双倍的

线性不等式约束,指定为实向量。b是一个元素向量相关的一个矩阵。如果你通过b作为行向量,求解器内部转换b到列向量b (:)

b编码线性不平等

A * x < =

在哪里x列向量是N变量X(:),一个矩阵的大小是多少——- - - - - -N

例如,要指定

x1+ 2x2≤10
3.x1+ 4x2≤20
5x1+ 6x2≤30日

给这些约束:

= [1, 2, 3, 4, 5, 6);b =(10、20、30);

例子:要指定控制变量的和为1或更小,请给出约束条件a = =(1,n)b = 1

数据类型:双倍的

线性等式约束,指定为实矩阵。Aeq是一个——- - - - - -NVARS.矩阵,是等式的个数。

Aeq编码线性等式

Aeq * x =说真的

在哪里x列向量是N变量X(:),说真的列向量是元素。

例如,要指定

x1+ 2x2+ 3x3.= 10
2x1+ 4x2+x3.= 20,

给这些约束:

Aeq =[1、2、3、2、4、1];说真的=(10、20);

例子:要指定控制变量的和为1,请给出约束条件Aeq=一(1,N)说真的= 1

数据类型:双倍的

线性平等约束,指定为真正的矢量。说真的是一个元素向量相关的Aeq矩阵。如果你通过说真的作为行向量,求解器内部转换说真的到列向量Beq(:)

说真的编码线性等式

Aeq * x =说真的

在哪里x列向量是N变量X(:),Aeq矩阵的大小是多少微地震——- - - - - -N

例如,要指定

x1+ 2x2+ 3x3.= 10
2x1+ 4x2+x3.= 20,

给这些约束:

Aeq =[1、2、3、2、4、1];说真的=(10、20);

例子:要指定控制变量的和为1,请给出约束条件Aeq=一(1,N)说真的= 1

数据类型:双倍的

下限,指定为真实的矢量或真实数组。如果元素的数量x0等于,然后指定

x(i)>=磅(i)

对所有人

如果元素个数(磅)<元素个数(x0),然后指定

x(i)>=磅(i)

1 <= I <= numel(lb)

在这种情况下,求解器发出警告。

例子:要指定所有的控制变量都是正的,lb = zeros(size(x0))

数据类型:双倍的

上界,指定为实向量或实数组。如果x0等于乌兰巴托,然后乌兰巴托指定

x(i)<= UB(i)

对所有人

如果元素个数(乌兰巴托)<元素个数(x0),然后乌兰巴托指定

x(i)<= UB(i)

1 <= i <= numel(UB)

在这种情况下,求解器发出警告。

例子:要指定所有控制变量小于1,乌兰巴托= 1(大小(x0))

数据类型:双倍的

非线性约束,指定为函数句柄或函数名称。nonlcon.是一个接受向量或数组的函数x并返回两个数组,c (x)量表(x)

  • c (x)是非线性不等式约束的数组x模式搜索试图满足

    C(x)<= 0

    的所有条目c

  • 量表(x)数组的非线性等式约束在x模式搜索试图满足

    CEQ(x)= 0

    的所有条目量表信

例如,

x = patternsearch(@ myfun,x0,a,b,aeq,beq,lb,Ub,@ mycon)

在哪里Mycon.是MATLAB函数之类的

函数[c,ceq]=mycon(x)c=…%在x处计算非线性不等式。ceq=…%在x处计算非线性等式。
有关更多信息,请参阅非线性约束

数据类型:char|function_handle|细绳

的返回对象指定为优化选项optimoptions(推荐)或结构。

optimoptions中列出的选项斜体;看到Options隐藏的选项

{}表示默认值。请参阅中的选项详细信息模式搜索选项

选项模式搜索paretosearch

选项 描述

约束特许

对限制的容忍。

对于选项结构,使用tolcon.

正标量|{1 e-6}

显示

显示水平。

“关”|“通路”|'诊断'|{'最终的'}

MaxFunctionEvaluations

最大客观函数评估数。

对于选项结构,使用MaxFunEvals

正整数|{'2000 * numberofvariables'}模式搜索{'3000 *(numberofvariables + numberofobjects)'}paretosearch, 在哪里numberOfVariables是问题变量的数量,和numberOfObjectives是目标函数的数目

MaxIterations

最大迭代次数。

对于选项结构,使用马克西特

正整数|{'100*numberOfVariables'}模式搜索{100 * (numberOfVariables + numberOfObjectives)}paretosearch, 在哪里numberOfVariables是问题变量的数量,和numberOfObjectives是目标函数的数目

MaxTime

优化允许的总时间(以秒为单位)。

对于选项结构,使用期限

正标量|{Inf}

MeshTolerance

网目尺寸公差。

对于选项结构,使用TolMesh

正标量|{1 e-6}

输出FCN

优化函数在每次迭代时调用的函数。指定为函数句柄或函数句柄的单元格数组。

对于选项结构,使用outputfcns.

函数句柄或函数句柄的单元数组|{[]}

PlotFcn

模式搜索的输出图。指定为内置绘图函数、函数句柄或内置绘图函数或函数句柄名称的单元数组的名称。

对于选项结构,使用PlotFcns

{[]}|都模式搜索paretosearch“psplotfuncount”|“psplotmaxconstr”|自定义绘制函数

paretosearch只有多个目标:“psplotdistance”|'psplotparetof'|“psplotparetox”|“psplotspread”|'psplotvolume'

模式搜索只有或paretosearch只有一个目标:“psplotbestf”|“psplotmeshsize”|“psplotbestx”

PollMethod

在模式搜索中使用的轮询策略。

{' GPSPositiveBasis2N '}|“GPSPositiveBasisNp1”|'gsspositivebasis2n'|“GSSPositiveBasisNp1”|“MADSPositiveBasis2N”|“MADSPositiveBasisNp1”

paretosearch只有:{' GSSPositiveBasis2np2 '}

UseParallel

并行计算目标函数和非线性约束函数。看到矢量化和并行选项如何在全局优化工具箱中使用并行处理

请注意

必须设置UseCompletePoll真正的模式搜索使用向量化或并行轮询。类似地,组UseCompleteSearch真正的用于向量化或并行搜索。

从R2019a开始,当你设置UseParallel选项真正的模式搜索内部覆盖UseCompletePoll设置为真正的它是平行轮询的。

真正的|{假}

使用vectorized

指定函数是否向量化。看到矢量化和并行选项向量化目标函数和约束函数

请注意

必须设置UseCompletePoll真正的模式搜索使用向量化或并行轮询。类似地,组UseCompleteSearch真正的用于向量化或并行搜索。

对于选项结构,使用矢量化“上”“关”

真正的|{假}

选项paretosearch只有

选项 描述

InitialPoints

初始点paretosearch.使用这些数据类型之一:

  • 矩阵与NVARS.列,其中每行代表一个初始点。

  • 结构,包含以下字段(所有字段都是可选的,除了X0.):

    • X0.——矩阵NVARS.列,其中每行代表一个初始点。

    • Fvals——矩阵numobjectives列,其中每一行表示在中对应点的目标函数值X0.

    • Cineq——矩阵numIneq列,其中每行代表相应点处的非线性不等式约束值X0.

paretosearch计算中任何缺少的值FvalsCineq字段。

矩阵与NVARS.列|结构|{[]}

MinPollFraction

要轮询的模式的最小部分。

从0到1|的标量{0}

ParetoSetSize

帕累托集合中的点数。

正整数|{'max(numberOfObjectives,60)', 在哪里numberOfObjectives是目标函数的数目

帕奇塞格兰德经理

当迭代窗口的停止测量的相对变化小于或等于时,求解器停止帕奇塞格兰德经理

  • 对于三个或更少的目标,paretosearch使用卷和传播措施。

  • 对于四个或更多的目标,paretosearch使用传播和距离度量。

看到帕累诗歌算法的定义

当任何适用度量的相对变化小于时,求解器停止帕奇塞格兰德经理,或这些测量的时间序列的傅里叶变换的平方的最大值相对较小。看到paretosearch算法

请注意

背景帕奇塞格兰德经理<sqrt (eps)~ 1.5e-8不推荐。

正标量|{1}的军医

选项模式搜索只有

选项 描述
缓存

缓存设置为“上”模式搜索保留它投票的网格点的历史。在后继的迭代中,模式搜索民调点数与已经民调的点数并不接近。使用此选项模式搜索在计算目标函数时运行缓慢。如果目标函数是随机的,不要使用这个选项。

请注意

缓存当并行运行求解器时,不工作。

“上”|{‘off’}

CacheSize

历史的规模。

正标量|{1 e4}

CacheTol

从当前网格点到历史上任何点的最大距离模式搜索以避免轮询当前点。如果使用缓存选项设置为“上”

正标量|{eps}

FunctionTolerance

函数的公差。如果函数值的变化小于FunctionTolerance并且网格尺寸小于StepTolerance..此选项不适用于MADS轮询。

对于选项结构,使用托尔芬

正标量|{1 e-6}

InitialMeshSize

算法的初始网格大小。请参见模式搜索轮询的工作原理

正标量|{1.0}

InitialPenalty

惩罚参数的初始值。看到非线性约束求解算法

正标量|{10}

MaxMeshSize

在轮询或搜索步骤中使用的最大网格大小。看到模式搜索轮询的工作原理

正标量|{Inf}

MeshContractionFactor

网格收缩因子不成功迭代。

对于选项结构,使用MeshContraction

正标量|{0.5}

网格扩展因子

成功迭代的网格膨胀因子。

对于选项结构,使用MeshExpansion

正标量|{2.0}

MeshRotate

在声明要最佳的点之前旋转模式。看到网格选项

“关”|{'在'}

PenaltyFactor

点球更新参数。看到非线性约束求解算法

正标量|{100}

PlotInterval

指定每隔一段时间调用绘图函数。

正整数|{1}

pollordoralgorithm.

模式搜索中轮询方向的顺序。

对于选项结构,使用PollingOrder

“随机”|“成功”|{“连续”}

ScaleMesh

自动缩放变量。

对于选项结构,使用ScaleMesh“上”“关”

{真的}|

SearchFcn

模式搜索中使用的搜索类型。指定为名称或函数句柄。

对于选项结构,使用SearchMethod

“GPSPositiveBasis2N”;“GPSPositiveBasisNp1”;“GSSPositiveBasis2N”;“GSSPositiveBasisNp1”;“MADSPositiveBasis2N”;“MADSPositiveBasisNp1”;“searchga”;“searchlhs”;“searchneldermead”{[]}|自定义搜索功能

StepTolerance.

变量的容忍度。如果位置和网格尺寸的变化都小于,迭代将停止StepTolerance..此选项不适用于MADS轮询。

对于选项结构,使用TolX

正标量|{1 e-6}

TolBind

约束公差。请参阅约束参数

正标量|{1E-3}

UseCompletePoll

围绕当前点完成民意测验。看到模式搜索轮询的工作原理

对于选项结构,使用CompletePoll“上”“关”

真正的|{假}

UseCompleteSearch

当搜索方法为轮询方法时,完成对当前点的搜索。请参阅搜索和轮询

对于选项结构,使用CompleteSearch“上”“关”

真正的|{假}

例子:选择= optimoptions(150年‘patternsearch’,‘MaxIterations’,‘MeshTolerance’,1的军医)

数据类型:结构体

问题结构,指定为具有以下字段的结构:

  • 客观的——目标函数

  • x0——起点

  • 艾奈克-线性不等式约束的矩阵

  • bineq-线性不等式约束向量

  • Aeq-线性等式约束的矩阵

  • 说真的- 线性平等约束的矢量

  • 的下界x

  • 乌兰巴托-的上界x

  • nonlcon.-非线性约束函数

  • 求解器- - - - - -“patternsearch”

  • 选项- 使用的选项optimoptionspsoptimset

  • rngstate—可选字段,重置随机数生成器的状态

请注意

所有领域问题是必需的。

数据类型:结构体

输出参数

全部折叠

解,返回实向量。的大小x与大小相同x0.当exitflag是正的,x通常是问题的局部解决方案。

目标函数在解处的值,以实数返回。一般来说,fval有趣的(x)

原因模式搜索已停止,返回为整数。

出口标志 意义

1

没有非线性约束-网格大小的大小小于指定的公差,且约束冲突小于约束特许

具有非线性约束-的大小互补措施(在该表之后定义)小于SQRT(约束专题),子问题使用Mesh更精细解决MeshTolerance,约束违规小于约束特许

2

变化x网格尺寸均小于规定的公差,且约束违背小于约束特许

3.

变化fval网格尺寸均小于规定的公差,且约束违背小于约束特许

4

步骤的大小小于机器精度,约束违规小于约束特许

0

达到函数求值或迭代的最大次数。

-1

优化由输出函数或绘图函数终止。

-2

没有找到可行点。

在非线性约束求解器中,互补措施是载体的标准,其元素是cλ, 在哪里c非线性不等式是否违反约束,和λ是相应的拉格朗日乘数。

关于优化过程的信息,作为带有以下字段的结构返回:

  • 函数——目标函数。

  • problemtype-问题类型,其中之一:

    • 无约束的

    • “boundconstraints”

    • “线性约束”

    • “非线性约束”

  • pollmethod——轮询技术。

  • SearchMethod.-使用的搜索技术(如有)。

  • 迭代—总迭代次数。

  • funccount—函数求值的总数。

  • meshsize- 网格尺寸x

  • maxconstraint- 最大约束违规,如果有的话。

  • rngstate- MATLAB随机数生成器的状态,就在算法开始之前。中的值可以使用rngstate在使用随机搜索方法或随机轮询方法时重新生成输出。看到再现结果,其中讨论了遗传算法

  • 消息—终止算法的原因。

算法

默认情况下,模式搜索基于自适应网格查找最小值,在没有线性约束的情况下,自适应网格与坐标方向对齐。请参见什么是直接搜索?模式搜索轮询的工作原理

选择功能

应用程序

优化实时编辑器任务为模式搜索

工具书类

[1] Audet, Charles, and J. E. Dennis Jr. <广义模式搜索的分析>暹罗优化杂志.2003年第13卷第3期,第889-903页。

[2] Conn,A.R.,N.I.M.Gould和Ph.L.Toint.“一种具有一般不等式约束和简单边界的全局收敛增广拉格朗日障碍优化算法。”数学的计算.第66卷第217号,1997年,261-288页。

马克·A·艾布拉姆森混合变量一般约束优化问题的模式搜索滤波算法.博士2002年8月,赖斯大学计算与应用数学系论文。

[4] Abramson, Mark A., Charles Audet, J. E. Dennis, Jr.和Sebastien Le Digabel。ORTHOMADS:具有正交方向的确定性MADS实例。暹罗优化杂志.第20卷第2期,2009年,948-966页。

科尔达,塔玛拉·G,罗伯特·迈克尔·刘易斯和弗吉尼亚·托尔松。直接搜索优化:对一些经典和现代方法的新视角暹罗评论.2003年第45卷第3期385-482页。

[6] Kolda,Tamara G.,Robert Michael Lewis和Virginia Torczon。“用一般和线性约束的组合优化,生成集直接搜索拉格朗日算法。”技术报告Sand2006-5315,桑迪亚国家实验室,2006年8月。

路易斯,罗伯特·迈克尔,安妮·谢泼德,弗吉尼亚·托尔松。实现线性约束最小化的生成集搜索方法SIAM科学计算杂志.第29卷,第6期,2007年,2507-2530页。

扩展功能

之前介绍过的R2006a