主要内容

优化

在编辑器现场优化或解决方程

自从R2020b

描述

优化任务可以选择两种方式交互优化问题或解决非线性系统方程:

  • 具体问题具体分析(推荐)——创建符号优化变量和表达式来表示目标函数和约束方程。

  • Solver-based——代表了目标函数和约束方程使用标准的MATLAB®代码。

任务自动生成MATLAB代码脚本。

使用基于版本的这个任务,您可以:

  • 指定优化变量数组,包括他们的边界和初始值。

  • 指定问题类型:最小化、最大化、可行性,或者equation-solving。

  • 指定目标和约束函数,通过编写表达式或浏览功能。

  • 可选地,选择一个解决,并指定默认的选项。

  • 运行优化。

使用solver-based版本的这个任务,您可以:

  • 选择基于特点的解决你的问题。如果你有全局优化工具箱解决,您可以选择使用它。

  • 指定目标和约束函数,通过编写函数或浏览功能。

  • 指定解算器选项。

  • 运行优化。

开始使用优化,请参阅开始使用Solver-Based优化生活编辑任务开始使用基于优化生活编辑任务。建议如何使用优化,请参阅使用Solver-Based优化编辑任务有效地生活使用基于优化编辑任务有效地生活。目前,你不能使用fseminf,GlobalSearch,或MultiStart解决与优化

有关生活的一般信息编辑任务,明白了交互式任务添加到脚本

打开任务

添加优化任务一个居住在MATLAB脚本编辑器,在现场编辑器插入选项卡上,选择任务>优化

插入一个优化编辑任务

或者,在一个代码块的脚本中,输入相关的关键字,例如optimfmincon。选择优化从建议命令完成。

从命令完成选择优化的建议

参数

全部展开

具体问题具体分析的变量名是动态的;你可以选择任何你喜欢的名字命名的限制(见变量名)。

具体问题具体分析

问题类型,指定通过单击相应的按钮的标签。

优化目标函数,指定为一个表达式,当地的一个函数,或一个函数文件。适用于当目标最小化最大化

限制的解决方案,指定为一个优化表达式,本地函数或函数文件。添加约束问题通过单击+按钮。

方程问题,指定为一个优化表达式,本地函数或函数文件。适用于当目标解决方程。增加方程问题通过单击+按钮。

的任务,指定为定义问题解决问题。有关更多信息,请参见使用基于优化编辑任务有效地生活

Solver-Based

指定目标函数类型,点击相应的按钮的标签。选择的目标函数确定哪些解决者可用,哪些建议解决问题(见解算器)。

点击适当的约束类型,指定标签按钮。您可以指定多个约束类型。选择的约束条件确定哪些解决者可用,哪些建议解决问题(见解算器)。

优化解算器,MATLAB使用解决问题,从列表中选择一个解算器指定的可用的解决者。可用的解决者和推荐的解决取决于你的执照和选定的客观的约束

限制

  • 目前,优化有以下限制多目标优化。

    • 你必须指定目标函数使用一个函数有多个输出。换句话说,你的目标函数必须输出一个向量的值,为每一个目标一个条目。

    • 所有目标函数必须使用相同的意义上,最小化solver-based任务,最小化或最大化的具体问题具体分析的任务。

提示

  • 对于额外的输入的功能,solver-based和具体问题具体分析优化任务有不同的要求。

    • Solver-Based:选择优化变量,并指定工作空间变量包含固定的数据输入。例如,请参见的地方在一个向量优化变量和数据在其他变量,其中包含三个函数的输入:

      优化输入= var,固定输入y = y,固定输入w = w。

      优化生成的代码只有在你指定所有函数输入。

    • 具体问题具体分析:指定一个优化变量或工作区为每个函数输入变量名。如果输入参数名称的函数签名匹配现有的优化变量或工作空间变量名,优化会自动选择那个名字。

      输入= x, y的函数,一个。

      优化生成的代码只有在你指定所有函数输入。

  • 优化不能包含解析函数变长度输入宗量输入或一个函数,其中包含一个错误。

  • 如果你从一个文件选择一个函数,优化增加了MATLAB路径的文件位置。

  • 如果优化有一个解析错误或者多个本地函数具有相同的名称,可用局部功能的列表是空的。

版本历史

介绍了R2020b

另请参阅

功能