主要内容

优化

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

描述

优化任务使您可以交互优化受各种类型约束的线性和非线性目标函数,并求解方程式的非线性系统。该任务自动生成MATLAB®实时脚本的代码。

使用此任务,您可以:

  • 根据问题的特征选择求解器。如果你有全局优化工具箱,您也可以选择使用其求解器。

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

  • 指定求解器选项。

  • 运行优化。

有关如何使用的建议优化, 看使用优化实时编辑器任务有效。目前,您不能使用fseminf,,,,GlobalSearch, 或者Multistart求解器优化

有关实时编辑任务的一般信息,请参阅将交互式任务添加到实时脚本

打开任务

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

插入优化实时编辑器任务

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

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

参数

目标函数类型,通过单击适当的标记按钮指定。选定的目标函数确定可用的求解器,并建议使用哪个求解器(请参阅求解器)。

约束类型,通过单击适当的标记按钮指定。您可以指定多个约束类型。选定的约束确定哪些求解器可用,并建议使用哪个求解器(请参阅求解器)。

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

可用的求解器

约束类型 客观类型
线性 二次 最小二乘 非线性 非平滑
不受限制 解决方案是微不足道的 Quadprog lsqcurvefit,,,,LSQNONLIN,,,,LSQNONNEG,,,,LSQLIN Fgoalattain,,,,fminsearch,,,,fminimax,,,,fminunc,,,,FSOLVE,,,,fzero,,,,GA(全局优化工具箱),,,,gamultiobj(全局优化工具箱),,,,Paretosearch(全局优化工具箱),,,,模式搜索(全局优化工具箱),,,,颗粒处理(全局优化工具箱),,,,simulanealbnd(全局优化工具箱) fminsearch,,,,GA(全局优化工具箱),,,,gamultiobj(全局优化工具箱),,,,Paretosearch(全局优化工具箱),,,,模式搜索(全局优化工具箱),,,,颗粒处理(全局优化工具箱),,,,simulanealbnd(全局优化工具箱)
仅界限 linprog Quadprog lsqcurvefit,,,,LSQNONLIN,,,,LSQNONNEG,,,,LSQLIN Fgoalattain,,,,fminbnd,,,,Fmincon,,,,fminimax,,,,GA(全局优化工具箱),,,,gamultiobj(全局优化工具箱),,,,Paretosearch(全局优化工具箱),,,,模式搜索(全局优化工具箱),,,,颗粒处理(全局优化工具箱),,,,simulanealbnd(全局优化工具箱),,,,代理(全局优化工具箱) fminbnd,,,,GA(全局优化工具箱),,,,gamultiobj(全局优化工具箱),,,,Paretosearch(全局优化工具箱),,,,模式搜索(全局优化工具箱),,,,颗粒处理(全局优化工具箱),,,,simulanealbnd(全局优化工具箱),,,,代理(全局优化工具箱)
线性 linprog Quadprog LSQLIN,,,,Fmincon Fgoalattain,,,,Fmincon,,,,fminimax,,,,GA(全局优化工具箱),,,,gamultiobj(全局优化工具箱),,,,Paretosearch(全局优化工具箱),,,,模式搜索(全局优化工具箱),,,,代理(全局优化工具箱) GA(全局优化工具箱),,,,gamultiobj(全局优化工具箱),,,,Paretosearch(全局优化工具箱),,,,模式搜索(全局优化工具箱),,,,代理(全局优化工具箱)
线性 +整数 intlinprog GA(全局优化工具箱),,,,代理(全局优化工具箱) GA(全局优化工具箱),,,,代理(全局优化工具箱) GA(全局优化工具箱),,,,代理(全局优化工具箱) GA(全局优化工具箱),,,,代理(全局优化工具箱)
二阶锥体 Coneprog Fgoalattain,,,,Fmincon,,,,fminimax,,,,GA(全局优化工具箱),,,,gamultiobj(全局优化工具箱),,,,Paretosearch(全局优化工具箱),,,,模式搜索(全局优化工具箱),,,,代理(全局优化工具箱) Fgoalattain,,,,Fmincon,,,,fminimax,,,,GA(全局优化工具箱),,,,gamultiobj(全局优化工具箱),,,,Paretosearch(全局优化工具箱),,,,模式搜索(全局优化工具箱),,,,代理(全局优化工具箱) Fgoalattain,,,,Fmincon,,,,fminimax,,,,GA(全局优化工具箱),,,,gamultiobj(全局优化工具箱),,,,Paretosearch(全局优化工具箱),,,,模式搜索(全局优化工具箱),,,,代理(全局优化工具箱) GA(全局优化工具箱),,,,gamultiobj(全局优化工具箱),,,,Paretosearch(全局优化工具箱),,,,模式搜索(全局优化工具箱),,,,代理(全局优化工具箱)
非线性 Fgoalattain,,,,Fmincon,,,,fminimax,,,,GA(全局优化工具箱),,,,gamultiobj(全局优化工具箱),,,,Paretosearch(全局优化工具箱),,,,模式搜索(全局优化工具箱),,,,代理(全局优化工具箱) Fgoalattain,,,,Fmincon,,,,fminimax,,,,GA(全局优化工具箱),,,,gamultiobj(全局优化工具箱),,,,Paretosearch(全局优化工具箱),,,,模式搜索(全局优化工具箱),,,,代理(全局优化工具箱) Fgoalattain,,,,Fmincon,,,,fminimax,,,,GA(全局优化工具箱),,,,gamultiobj(全局优化工具箱),,,,Paretosearch(全局优化工具箱),,,,模式搜索(全局优化工具箱),,,,代理(全局优化工具箱) Fgoalattain,,,,Fmincon,,,,fminimax,,,,GA(全局优化工具箱),,,,gamultiobj(全局优化工具箱),,,,Paretosearch(全局优化工具箱),,,,模式搜索(全局优化工具箱),,,,代理(全局优化工具箱) GA(全局优化工具箱),,,,gamultiobj(全局优化工具箱),,,,Paretosearch(全局优化工具箱),,,,模式搜索(全局优化工具箱),,,,代理(全局优化工具箱)
非线性 +整数 GA(全局优化工具箱),,,,代理(全局优化工具箱) GA(全局优化工具箱),,,,代理(全局优化工具箱) GA(全局优化工具箱),,,,代理(全局优化工具箱) GA(全局优化工具箱),,,,代理(全局优化工具箱) GA(全局优化工具箱),,,,代理(全局优化工具箱)

例子:Fmincon

提示

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

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

    优化仅在指定所有功能输入之后才生成代码。

  • 优化无法解析包含的函数varargin输入或包含错误的函数。

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

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

在R2020b中引入