主要内容

优化

在实时编辑器中优化或解决方程

描述

优化Task让您交互式地优化线性和非线性目标函数受各种类型的约束,并解决非线性方程组。任务自动生成MATLAB®为您的活动脚本编写代码。

使用此任务,您可以:

  • 根据问题的特点选择解决方法。如果你有全局优化工具箱,你也可以选择使用它的求解器。

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

  • 指定求解器选项。

  • 运行优化。

如何使用的建议优化,请参阅有效地使用优化实时编辑器任务.属性当前不能使用fseminfGlobalSearch,或MultiStart解决与优化

有关实时编辑器任务的一般信息,请参见在活动脚本中添加交互式任务

打开任务

要添加优化任务到MATLAB编辑器中的实时脚本,在实时编辑器上插入选项卡上,选择任务>优化

插入一个优化活动编辑器任务

或者,在脚本中的代码块中,键入相关的关键字,例如optimfmincon.选择优化从建议的命令补全。

从命令完成建议中选择“优化”

参数

目标函数类型,通过单击适当的标记按钮指定。所选的目标函数决定了哪些解算器可用,以及为问题推荐哪些解算器(参见解算器).

约束类型,通过单击适当的标记按钮指定。您可以指定多个约束类型。所选的约束决定了哪些解算器可用,以及为该问题推荐哪些解算器(请参见解算器).

MATLAB用来解决问题的优化求解器,通过从可用求解器列表中选择一个求解器来指定。可用的解算器和推荐的解算器取决于您的许可证和所选的客观的而且约束

可用的解决者

约束类型 目标类型
线性 二次 最小二乘 非线性 非光滑
无约束 解是平凡的 quadprog lsqcurvefitlsqnonlinlsqnonneglsqlin fgoalattainfminsearchfminimaxfminuncfsolvefzero遗传算法(全局优化工具箱)gamultiobj(全局优化工具箱)paretosearch(全局优化工具箱)patternsearch(全局优化工具箱)particleswarm(全局优化工具箱)simulannealbnd(全局优化工具箱) fminsearch遗传算法(全局优化工具箱)gamultiobj(全局优化工具箱)paretosearch(全局优化工具箱)patternsearch(全局优化工具箱)particleswarm(全局优化工具箱)simulannealbnd(全局优化工具箱)
范围只 linprog quadprog lsqcurvefitlsqnonlinlsqnonneglsqlin fgoalattainfminbndfminconfminimax遗传算法(全局优化工具箱)gamultiobj(全局优化工具箱)paretosearch(全局优化工具箱)patternsearch(全局优化工具箱)particleswarm(全局优化工具箱)simulannealbnd(全局优化工具箱)surrogateopt(全局优化工具箱) fminbnd遗传算法(全局优化工具箱)gamultiobj(全局优化工具箱)paretosearch(全局优化工具箱)patternsearch(全局优化工具箱)particleswarm(全局优化工具箱)simulannealbnd(全局优化工具箱)surrogateopt(全局优化工具箱)
线性 linprog quadprog lsqlinfmincon fgoalattainfminconfminimax遗传算法(全局优化工具箱)gamultiobj(全局优化工具箱)paretosearch(全局优化工具箱)patternsearch(全局优化工具箱)surrogateopt(全局优化工具箱) 遗传算法(全局优化工具箱)gamultiobj(全局优化工具箱)paretosearch(全局优化工具箱)patternsearch(全局优化工具箱)surrogateopt(全局优化工具箱)
线性+整数 intlinprog 遗传算法(全局优化工具箱)surrogateopt(全局优化工具箱) 遗传算法(全局优化工具箱)surrogateopt(全局优化工具箱) 遗传算法(全局优化工具箱)surrogateopt(全局优化工具箱) 遗传算法(全局优化工具箱)surrogateopt(全局优化工具箱)
二阶锥 coneprog fgoalattainfminconfminimax遗传算法(全局优化工具箱)gamultiobj(全局优化工具箱)paretosearch(全局优化工具箱)patternsearch(全局优化工具箱)surrogateopt(全局优化工具箱) fgoalattainfminconfminimax遗传算法(全局优化工具箱)gamultiobj(全局优化工具箱)paretosearch(全局优化工具箱)patternsearch(全局优化工具箱)surrogateopt(全局优化工具箱) fgoalattainfminconfminimax遗传算法(全局优化工具箱)gamultiobj(全局优化工具箱)paretosearch(全局优化工具箱)patternsearch(全局优化工具箱)surrogateopt(全局优化工具箱) 遗传算法(全局优化工具箱)gamultiobj(全局优化工具箱)paretosearch(全局优化工具箱)patternsearch(全局优化工具箱)surrogateopt(全局优化工具箱)
非线性 fgoalattainfminconfminimax遗传算法(全局优化工具箱)gamultiobj(全局优化工具箱)paretosearch(全局优化工具箱)patternsearch(全局优化工具箱)surrogateopt(全局优化工具箱) fgoalattainfminconfminimax遗传算法(全局优化工具箱)gamultiobj(全局优化工具箱)paretosearch(全局优化工具箱)patternsearch(全局优化工具箱)surrogateopt(全局优化工具箱) fgoalattainfminconfminimax遗传算法(全局优化工具箱)gamultiobj(全局优化工具箱)paretosearch(全局优化工具箱)patternsearch(全局优化工具箱)surrogateopt(全局优化工具箱) fgoalattainfminconfminimax遗传算法(全局优化工具箱)gamultiobj(全局优化工具箱)paretosearch(全局优化工具箱)patternsearch(全局优化工具箱)surrogateopt(全局优化工具箱) 遗传算法(全局优化工具箱)gamultiobj(全局优化工具箱)paretosearch(全局优化工具箱)patternsearch(全局优化工具箱)surrogateopt(全局优化工具箱)
非线性+整数 遗传算法(全局优化工具箱)surrogateopt(全局优化工具箱) 遗传算法(全局优化工具箱)surrogateopt(全局优化工具箱) 遗传算法(全局优化工具箱)surrogateopt(全局优化工具箱) 遗传算法(全局优化工具箱)surrogateopt(全局优化工具箱) 遗传算法(全局优化工具箱)surrogateopt(全局优化工具箱)

例子:fmincon

提示

  • 对于有额外输入的函数,优化要求您选择优化变量,并指定哪些工作区变量包含固定的数据输入。例如,请参见将优化变量放在一个向量中,数据放在其他变量中,其中包含三个函数输入:

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

    优化仅在指定所有函数输入后才生成代码。

  • 优化属性的函数不能解析变长度输入宗量包含错误的输入或函数。

  • 如果从文件中选择目标或非线性约束函数,优化将文件位置添加到MATLAB路径中。

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

R2020b中介绍