主要内容

为MultiStart设置开始点

四种方法设置开始点

有四个方法你告诉MultiStart使用哪一个开始点为当地解决:

  • 通过一项正整数kMultiStart生成k - 1如果使用一个开始点RandomStartPointSet对象和问题结构。MultiStart还使用x0的起点问题结构,总共k开始点。

  • 通过一项RandomStartPointSet对象

  • 通过一项CustomStartPointSet对象

  • 通过一项单元阵列RandomStartPointSetCustomStartPointSet对象。通过单元阵列,如果你有一些特定的点你想跑,但是也希望MultiStart使用其他随机的开始点。

请注意

您可以控制是否MultiStart使用所有的开始点,或只有那些满足边界点或其他不等式约束。有关更多信息,请参见过滤器开始点(可选)

正整数的开始点

运行的语法MultiStartk开始点

[xmin, fmin,国旗,outpt allmins] = (ms,问题,k)运行;

的正整数k指定数量的开始点MultiStart用途。MultiStart生成随机点开始使用的维数问题和边界问题结构。MultiStart生成k - 1随机的开始点,同时使用x0的起点问题结构。

RandomStartPointSet对象开始点

创建一个RandomStartPointSet对象如下:

stpoints = RandomStartPointSet;

运行MultiStart从一个RandomStartPointSet如下:

[xmin, fmin,国旗,outpt allmins] = (ms,问题,stpoints)运行;

默认情况下一个RandomStartPointSet对象生成10点开始。控制开始点的数量NumStartPoints财产。例如,生成40分开始:

stpoints = RandomStartPointSet (“NumStartPoints”,40);

你可以设置一个ArtificialBound对于一个RandomStartPointSet。这ArtificialBound作品结合结构的边界问题:

  • 如果一个组件没有界限,RandomStartPointSet使用的下界-ArtificialBound和一个上限的ArtificialBound

  • 如果一个组件有一个下界但是没有上限,RandomStartPointSet使用一个上界磅+ 2 * ArtificialBound

  • 同样的,如果一个组件有一个上界乌兰巴托但是没有下界,RandomStartPointSet使用的下界乌兰巴托- 2 * ArtificialBound

例如,生成One hundred.与一个开始点ArtificialBound50:

stpoints = RandomStartPointSet (“NumStartPoints”,100,“ArtificialBound”,50);

一个RandomStartPointSet对象生成开始点相同的维度x0结构问题点;看到列表

CustomStartPointSet对象开始点

使用一组特定的起点,打包在一个CustomStartPointSet如下:

  1. 把起点放在一个矩阵。矩阵的每一行代表一个起点。MultiStart运行所有矩阵的行,过滤的StartPointsToRun财产。有关更多信息,请参见MultiStart算法

  2. 创建一个CustomStartPointSet对象的矩阵:

    tpoints = CustomStartPointSet (ptmatrix);

例如,创建一组40五维的点,每个组件的一个点等于10 +一个指数分布变量意味着25:

分= -25 *日志(兰德(40岁,5))+ 10;tpoints = CustomStartPointSet (pts);

运行MultiStart从一个CustomStartPointSet如下:

[xmin, fmin,国旗,outpt allmins] = (ms,问题,tpoints)运行;

点的原始矩阵CustomStartPointSet对象,使用列表:

分=列表(tpoints);%假定tpoints CustomStartPointSet

一个CustomStartPointSet有两个属性:StartPointsDimensionNumStartPoints。您可以使用这些属性来查询CustomStartPointSet对象。例如,tpoints对象的例子有以下属性:

tpoints。StartPointsDimension ans tpoints = 5。NumStartPoints ans = 40

单元阵列的对象开始点

使用一组特定的起点以及一些随机生成的点,通过一系列细胞的RandomStartPointSetCustomStartPointSet对象。

例如,要使用的特定五维点40CustomStartPointSet对象开始点和40额外的五维分RandomStartPointSet:

分= -25 *日志(兰德(40岁,5))+ 10;tpoints = CustomStartPointSet (pts);rpt = RandomStartPointSet (“NumStartPoints”,40);allpts = {tpoints, rpt};

运行MultiStartallpts单元阵列:

%认为女士和问题存在[xmin, fmin,国旗,outpt allmins] = (ms,问题,allpts)运行;

相关的话题