对于多头设置开始点

四种方法来设置开始点

有四种方式告诉你多头其启动点使用本地求解:

  • 山口正整数ķ多头生成期k - 1起点仿佛使用RandomStartPointSet对象和问题结构体。多头还使用X0从起点问题结构,共ķ启动点。

  • 山口RandomStartPointSet宾语

  • 山口CustomStartPointSet宾语

  • 山口单元阵列RandomStartPointSetCustomStartPointSet对象。通过一个单元阵列,如果你有你想要运行一些特定的点,同时也希望多头使用其他随机起点。

注意

您可以控制是否多头使用所有开始点,或仅那些满足边界或其他不等式约束点。欲了解更多信息,请参阅过滤器启动点(可选)

正整数的开始点

运行语法多头对于ķ起点是

[XMIN,FMIN,旗,OUTPT,allmins] =运行(MS,问题,K);

正整数ķ指定的开始点的数量多头用途。多头使用从所述问题和界限的尺寸随机起始点问题结构体。多头生成期k - 1随机启动点,并且还使用了X0从起点问题结构体。

RandomStartPointSet对象开始点

创建一个RandomStartPointSet对象如下:

stpoints = RandomStartPointSet;

多头从开始RandomStartPointSet如下:

[XMIN,FMIN,旗,OUTPT,allmins] =运行(毫秒,问题,stpoints);

默认情况下,RandomStartPointSet对象生成10个起始点。控制系统中的启动点的数量NumStartPoints属性。例如,要产生40个起点:

stpoints = RandomStartPointSet('NumStartPoints',40);

您可以设置一个ArtificialBound为一个RandomStartPointSet。这个ArtificialBound在工作与问题结构界限结合:

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

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

  • 类似地,如果一个组件有一个上限值UB但没有下限,RandomStartPointSet使用下界UB - 2 * ArtificialBound

例如,为了生成100开始的点ArtificialBound50

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

一个RandomStartPointSet对象生成开始点与相同的尺寸X0点中存在的问题的结构;看到名单

CustomStartPointSet对象开始点

要使用特定的一组出发点,在其打包CustomStartPointSet如下:

  1. 将启动点的矩阵。矩阵的每一行代表一个起点。多头运行矩阵的所有行,但须与滤波StartPointsToRun属性。欲了解更多信息,请参阅多头算法

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

    tpoints = CustomStartPointSet(ptmatrix);

例如,创建了一组40五维点,等于10点的各成分加上均值25的指数分布变量:

PTS = -25 *日志(兰特(40,5))+ 10;tpoints = CustomStartPointSet(PTS);

多头从开始CustomStartPointSet如下:

[XMIN,FMIN,旗,OUTPT,allmins] =运行(毫秒,问题,tpoints);

要获得从点的原始矩阵CustomStartPointSet对象,用途名单

PTS =列表(tpoints);%假设tpoints是CustomStartPointSet

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

tpoints.StartPointsDimension ANS = 5 tpoints.NumStartPoints ANS = 40

为开始点对象的单元阵列

使用一组特定的开始与一些随机生成的点沿点的,经过的单元阵列RandomStartPointSet要么CustomStartPointSet对象。

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

PTS = -25 *日志(兰特(40,5))+ 10;tpoints = CustomStartPointSet(PTS);RPTS = RandomStartPointSet('NumStartPoints',40);allpts = {tpoints,RPTS};

多头从开始allpts单元阵列:

假设%MS和存在的问题[XMIN,FMIN,旗,OUTPT,allmins] =运行(毫秒,问题,allpts);

相关话题