主要内容

复制的结果

与伪随机数相同的答案

GlobalSearchMultiStart在选择起点时使用伪随机数。再次使用相同的伪随机数流:

  • 比较各种算法设置。

  • 让一个示例重复运行。

  • 以已知的前一次运行的初始段延长一次运行。

这两个GlobalSearchMultiStart使用默认的随机数流。

复制结果的步骤

  1. 在运行问题之前,存储默认随机数流的当前状态:

    流=提高;
  2. 运行您的GlobalSearch或者MultiStart问题。

  3. 恢复随机数流的状态:

    RNG(流)
  4. 如果您再次运行您的问题,您将得到相同的结果。

示例:复制GlobalSearch或MultiStart结果

这个例子展示了如何获得可重复的结果寻找全局或多个局部极小值.该示例遵循中的过程复制结果的步骤

  1. 存储默认随机数流的当前状态:

    流=提高;
  2. 创建sawtoothxy函数文件:

    功能f =锯齿(x,y)[t r] = cart2pol(x,y);对极性坐标的%改为H = COS(2 * T  -  1/2)/ 2 + COS(T)+ 2;G =(SIN(R) -  SIN(2 * R)/ 2 + SIN(3 * R)/ 3  -  SIN(4 * R)/ 4 + 4)...... * R. ^ 2 ./(r+1);f = g。* h;结尾
  3. 创建问题结构和GlobalSearch对象:

    问题= createOptimProblem(“fmincon”,…“客观”,@ (x) sawtoothxy (x(1),(2)),…x0,(100、-50),“选项”,…optimoptions (@fmincon、“算法”、“sqp”));gs = GlobalSearch(“显示”、“iter”);
  4. 运行存在的问题:

    [x, fval] = (gs、问题)Num分最佳运行电流阈值当地当地分析F-count f (x)点球点球f (x) exitflag过程0 465 422.9 - 422.9 2初始点200 1730 1.547 1.547 e - 015 e - 015 1阶段1当地300 1830 1.074 1.547 6.01 e + e - 015 004第二阶段搜索400 1930 4.16 1.547 1.47 e + e - 015 005第二阶段搜索500 2030 11.84 1.547 2.63 e + e - 015 004第二阶段搜索600 2130 30.95 1.547 1.341 e + e - 015 004第二阶段搜索700 2230 65.25 1.547 2.562 e + e - 015 004第二阶段搜索800 2330 163.8 1.547 5.217 e + e - 015 004第二阶段搜索900 2430 409.2 1.547 7.704 e + e - 015 004第二阶段搜索e - 015 981 2587 1.547 42.24 516.6 7.573 1阶段2当地1000 2606 42.24 1.547 3.299 e + e - 015 004第二阶段搜索GlobalSearch停了下来because it analyzed all the trial points. All 3 local solver runs converged with a positive local solver exit flag. x = 1.0e-007 * 0.0414 0.1298 fval = 1.5467e-015

    运行此问题时,可能会得到不同的结果,因为随机流在运行开始时处于未知状态。

  5. 恢复随机数流的状态:

    RNG(流)
  6. 再次运行这个问题。结果是一样的。

    [x,fval] = run(gs,problem) Num Pts Best Current Threshold Local Analyzed f -count f(x) Penalty Penalty f(x) exitflag Procedure 0 465 422.9 422.9 2 Initial Point 200 1730 1.547e-015 1.547e-015 1 Stage 1 Local…删除输出以节省空间…X = 0.0414 * 0.1298 fval = 1.5467e-015

并行处理和随机数流

你可以从MultiStart当你以串行计算的方式并行运行算法时。运行是可复制的,因为MultiStart在局部生成伪随机起始点,然后将起始点分配给并行处理器。因此,并行处理器不使用随机数。

再现并行MultiStart运行,使用中描述的过程复制结果的步骤.有关如何运行的描述MultiStart同时,看到如何在全局优化工具箱中使用并行处理

相关话题