优化应用程序

注意

优化应用程序警告它将在将来的释放中删除。使用优化或基于问题的方法。

优化应用基础知识

如何打开优化应用程序

要打开优化应用程序,输入

Optimtool.

在命令窗口中。这将打开优化应用程序,如下图所示。

您还可以从MATLAB开始优化应用程序®应用程序标签。

优化应用程序的参考页提供了启动的变体Optimtool.功能。

使用优化应用程序的示例

以下文档示例使用优化应用程序:

使用优化应用程序的步骤

这是设置优化问题的步骤的摘要,并使用优化应用程序查看结果。

暂停和停止

虽然一个求解器正在运行,但可以

  • 点击暂停暂时暂停算法。要使用当前迭代时恢复算法,请点击的简历

  • 点击stop停止算法。当运行求解器并查看结果窗口显示您点击的当前迭代的信息stop

停止算法后,可以导出结果。有关详细信息,请参见出口你的工作

查看结果

当求解器终止时,运行求解器并查看结果窗口显示算法终止的原因。清除运行求解器并查看结果运行之间的窗口,单击明确的结果

对显示结果进行排序。根据求解器和问题,结果可以是表格的形式。如果表有多行,请单击列标题排序表。再次单击标题以反向对结果进行排序。

例如,假设您使用优化应用来解决Lsqlin.描述的问题使用lslin求解器优化实时编辑器任务.结果如下所示。

按值对结果进行排序,从最低到最高,单击价值.结果已经依据,所以不要改变。

若要将结果按从高到低的倒序排序,请单击价值一次。

要返回原始订单,请单击索引

有关排序由返回的表进行排序全局优化工具箱gamultiobj功能,参见帕累托阵线的两个目标(全局优化工具箱)

如果您导出结果使用文件>导出到工作区,导出的结果不依赖于排序后的显示。

最后一点

最后一点更新以显示算法终止时最终点的坐标。如果您没有看到最终点,请单击向上指向的三角形左下角的图标。

开始新问题

重置选项并清除问题。选择文件>重置优化工具将问题定义和选项重置为原始默认值。此操作相当于关闭和重新启动应用程序。

只清除问题定义,请选择文件>清除问题字段.使用此操作,问题设置和结果窗格被重置为默认值,除了选定的求解器和算法选择。中从默认值修改的任何选项选择窗格不会使用此操作重置。

设置更改求解器的首选项。当你改变求解器时,要修改你的选项在优化应用程序中的处理方式,选择文件>偏好,打开以下首选项对话框。

默认值,将选项重置为默认值,丢弃先前指定的任何选项Optimtool..在此选择下,您可以选择选项将选项重置为默认值之前提示

或者,您可以选择如果可能,请保持当前选项保留您已修改的值。更改了与新选择的解算器无效的更改选项保持但未使用,而使用与所选的新求解器相关的活动选项。此选项允许您在不丢失您的选择的情况下尝试与您的问题不同的求解器。

指定特定的选项

绘制函数

您可以选择一个绘图函数,以便在算法执行时轻松地绘制各种进度度量。每一个选中的图形在图形窗口中绘制一个单独的轴。要中断正在运行的求解器,请使用stop图中的按钮。您可以从优化应用程序中选择预定义的绘图功能,或者您可以选择自定义功能写你自己的。与所选解算器无关的绘图函数将变成灰色。以下是预定义的情节功能:

  • 当前点-选择显示当前迭代点的条形图。

  • 功能计数- 选择绘制每个迭代的函数评估数。

  • 功能值- 选择绘制每个迭代的函数值。

  • 残差规范-选择显示当前迭代中残差的当前范数的条形图。

  • 马克斯约束- 选择绘制每个迭代时的最大约束违规值。

  • 当前步骤- 选择在每次迭代时绘制算法步长。

  • 一阶最优性- 选择绘制每个迭代时违反求解器的最优条件。

  • 自定义功能- 输入您自己的绘图功能作为函数句柄。要提供多个绘图功能,请使用单元阵列,例如,通过键入:

    {@plotfcn, @plotfcn2}
    编写与输出函数语法相同的自定义绘图函数。信息,请参阅输出功能和绘图函数语法

上面的图形显示了默认值可用的绘图功能粉刺求解器。

输出功能

输出功能是算法在每次迭代时调用的函数或集合。通过输出功能,您可以观察优化数量,例如功能值,渐变值和当前迭代。使用函数句柄或多个输出功能指定无输出功能,单个输出功能。提供多个输出功能,请使用功能手柄的单元格数组自定义功能字段,例如输入:

{@ outputfcn,​​@ outputfcn2}

有关编写输出功能的更多信息,请参阅输出功能和绘图函数语法

显示到命令窗口

选择显示水平指定运行算法时显示的信息量。选择以下内容;根据求解器,只有一些可能可用:

  • (默认) - 显示无输出。

  • 决赛- 显示在运行结束时停止停止的原因。

  • 最后消息- 显示在运行结束时停止停止的详细原因。

  • 通知—只有当函数不收敛时才显示输出。

  • 用详细的消息通知- 仅当函数不收敛时显示详细的输出。

  • 迭代-显示算法每次迭代的信息和运行结束时停止的原因。

  • 迭代详细信息—显示算法每次迭代时的信息和运行结束时停止的详细原因。

增强的退出消息有关详细信息的信息。

选择显示诊断列出从默认值更改的问题信息和选项。

下面的图形显示了显示选项粉刺求解器。其他一些求解器的选择较少。

导入和出口您的工作

出口你的工作

导出到工作区对话框使您可以将问题信息发送到MATLAB工作区作为您可以在命令窗口中操作的结构或对象。

访问这一点导出到工作区对话框如下所示,选择文件>导出到工作区

您可以指定包含的结果:

  • 问题和选项信息

  • 停止时的问题和选项信息以及求解器的状态(这意味着大多数求解器的最新点,遗传算法求解器的当前群体,以及用于模拟退火求解器的最佳点)

  • 随机数发生器的状态兰特兰德在前一次运行的开始,通过检查使用上一个运行的随机状态适用求解器的盒子

  • 只有选项信息

  • 在优化应用程序中运行问题的结果

导出的结果包含所有可选信息。例如,导出的结果结构lsqcurvefit.包含数据X.恢复剩余ExitFlag.输出lambda.,雅各比亚

将信息从优化应用程序导出到MATLAB工作区后,您可以在MATLAB工作区浏览器中查看您的数据,也可以在命令窗口中键入结构的名称。要查看结构或对象中字段的值,请双击“工作区”窗口中的名称。或者,通过输入来查看值ExportName.FieldName.在命令行。例如,因此请在输出结构中查看消息,输入output.message.如果结构包含结构或对象,则可以在Workspace浏览器中再次双击或进入exportname.name2.fieldname.在命令行。例如,要查看导出的问题结构的选项中包含的迭代显示级别,输入OptimProblem.Options.Display.

您可以在命令行上输入命令来运行导出问题的解决程序

解决(问题)
例如,如果您已导出a粉刺问题命名OptimProblem.,你可以键入
fmincon (optimproblem)
这个运行粉刺关于保存选项的问题OptimProblem..您可以对输出进行更多的控制,例如,
[x,fval,exitflag] = fmincon(optimproblem)
或使用任何其他受支持的语法。万博1manbetx

注意

对于优化工具箱™求解器,优化应用程序仅导入和导出与前者相关的一个选项塔尔芬宽容。它将此选项显示为功能公差,并用它用作最优法选项。您无法导入,导出或更改functiontolerance.选项在优化应用程序。

然而,全局优化工具箱解算者没有最优法选项。这些求解器可以导入,出口和设置functiontolerance.选项在优化应用程序。

导入你的工作

无论您是在命令窗口从最优化工具箱函数中保存选项,还是从最优化应用程序中导出选项,或问题和选项,您都可以使用最优化应用程序恢复处理问题的工作。

有三种方法可以将您的选项或问题和选项导入优化应用程序:

  • 打电话给Optimtool.函数指定您的选项或问题和选项作为输入,例如,

    OptimTool(选项)
  • 选择文件>导入选项在优化应用程序中。

  • 选择文件>导入问题在优化应用程序中。

上面描述的方法要求选项,或者问题和选项,出现在MATLAB工作空间中。

如果导入使用的问题包括恢复此运行所需的信息选中框,初始点是在上一个运行中生成的最新点。(对于遗传算法求解器,初始群体是在上一个运行中生成的最新群体。对于模拟退火求解器,初始点是在上一个运行中生成的最佳点。)如果导入使用此框生成的问题未选中,初始点(或群体)是上一个运行的初始点(或群体)。

生成文件

您可能希望在另一个时间生成一个文件以继续使用命令窗口中的优化问题。您可以在不修改的情况下运行该文件以重新创建使用优化应用程序创建的结果。您还可以编辑和修改文件并从命令窗口运行它。

将数据从优化应用程序导出到文件,选择文件>生成代码

生成的文件捕获以下内容:

  • 问题的定义,包括求解器、要最小化的函数的信息、算法说明、约束条件和起始点

  • 具有当前所选选项值的选项

在命令窗口运行文件可再现您的问题结果。

虽然不能将问题结果导出到生成的文件中,但可以将它们保存到一个mat文件中,以便与生成的文件一起使用,方法是使用“导出到工作区”对话框导出结果,然后从命令窗口将数据保存到一个mat文件中。

相关的话题