为MultiStart设置开始点
四种方法设置开始点
有四个方法你告诉MultiStart
使用哪一个开始点为当地解决:
请注意
您可以控制是否MultiStart
使用所有的开始点,或只有那些满足边界点或其他不等式约束。有关更多信息,请参见过滤器开始点(可选)。
正整数的开始点
运行的语法MultiStart
为k
开始点
[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.
与一个开始点ArtificialBound
的50
:
stpoints = RandomStartPointSet (“NumStartPoints”,100,…“ArtificialBound”,50);
一个RandomStartPointSet
对象生成开始点相同的维度x0
结构问题点;看到列表
。
CustomStartPointSet对象开始点
使用一组特定的起点,打包在一个CustomStartPointSet
如下:
把起点放在一个矩阵。矩阵的每一行代表一个起点。
MultiStart
运行所有矩阵的行,过滤的StartPointsToRun
财产。有关更多信息,请参见MultiStart算法。创建一个
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
有两个属性:StartPointsDimension
和NumStartPoints
。您可以使用这些属性来查询CustomStartPointSet
对象。例如,tpoints
对象的例子有以下属性:
tpoints。StartPointsDimension ans tpoints = 5。NumStartPoints ans = 40
单元阵列的对象开始点
使用一组特定的起点以及一些随机生成的点,通过一系列细胞的RandomStartPointSet
或CustomStartPointSet
对象。
例如,要使用的特定五维点40CustomStartPointSet对象开始点和40额外的五维分RandomStartPointSet
:
分= -25 *日志(兰德(40岁,5))+ 10;tpoints = CustomStartPointSet (pts);rpt = RandomStartPointSet (“NumStartPoints”,40);allpts = {tpoints, rpt};
运行MultiStart
从allpts
单元阵列:
%认为女士和问题存在[xmin, fmin,国旗,outpt allmins] = (ms,问题,allpts)运行;