主要内容

设置多际艺术的开始点

设定起点的四种方法

你可以通过四种方式来判断MultiStart用于本地求解器的起始点:

  • 通过一项正整数kMultiStart生成k - 1开始点,就像使用RandomStartPointSet对象和对象问题结构。MultiStart还使用x0从中开始点问题结构,共为k开始点。

  • 通过一项RandomStartPointSet对象

  • 通过一项CustomStartPointSet对象

  • 通过一项细胞阵列RandomStartPointSetCustomStartPointSet对象。如果你有一些特定的点想要运行,但也想要,传递一个单元格数组MultiStart使用其他随机起点。

请注意

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

正整数的起点

运行的语法MultiStartk开始点

[Xmin,Fmin,Flag,Outpt,Allmins] =运行(MS,问题,K);

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

启动点的randalStartPointSet对象

创建一个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

例如,生成100.起始点ArtificialBound50

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

一个RandomStartPointSet对象生成的起始点具有与x0点在问题结构上;看到列表

用于起始点的CustomStartPointSet对象

使用特定的起点集,将它们包装在一个CustomStartPointSet如下:

  1. 在矩阵中放置起始点。矩阵的每一行代表一个起点。MultiStart运行矩阵的所有行,但才能通过筛选StartPointsToRun财产。有关更多信息,请参见MultiStart算法

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

    tpoints = CustomStartPointSet (ptmatrix);

例如,创建一组40个五维点,每个点的分量等于10加上一个平均为25的指数分布变量:

PTS = -25*log(rand(40,5)) + 10;tpoints = CustomStartPointSet (pts);

运行MultiStart从一个CustomStartPointSet如下:

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

从a中得到原始的点矩阵CustomStartPointSet对象,使用列表

分=列表(tpoints);%假设tpoints是一个CustomStartPointSet

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

tpoints.startpointsdimension ans = 5 tpoints.numstartPoints ANS = 40

用于起点的对象阵列

使用特定的一组起点以及一些随机生成的点,通过一个小区数组RandomStartPointSet要么CustomStartPointSet对象。

例如,使用40个特定的五维点用于起始点的CustomStartPointSet对象还有40个额外的五维点RandomStartPointSet

PTS = -25*log(rand(40,5)) + 10;tpoints = CustomStartPointSet (pts);rpt = RandomStartPointSet (“NumStartPoints”, 40);allpts = {tpoints, rpt};

运行MultiStartallpts单元阵列:

%假设ms和问题存在[xmin, fmin,国旗,outpt allmins] = (ms,问题,allpts)运行;

相关话题