主要内容

开始使用基于求解器的优化实时编辑器任务

这个示例脚本帮助您使用基于求解器的方法优化实时编辑器任务的优化或方程求解。针对您自己的问题修改脚本。

该脚本解决了一个带有非线性约束的非线性优化问题。

包含参数或数据

通常,您有数据或值要传递给求解器。将这些值放在输入部分(在您看到的地方)x0),并通过选择运行该部分Section >运行Section或按控制+ Enter

设定起始点x0和规模一个为了优化。

X0 = [2;1];A = 100;

x0值和任何其他问题数据放入工作区在继续之前运行此部分。

优化实时编辑器任务

通常,通过选择将Optimize Live Editor任务放置到脚本中任务>优化住编辑器选项卡,或通过选择任务>优化插入选项卡。然后你会看到下面的选项(这只是一张图片,不是真正的任务):

要获取基于求解器的任务,请单击Solver-based

以下基于求解器的任务包含目标和非线性约束函数。要更改这些函数,请编辑函数清单在任务下面

要更改约束,请选择适当的约束类型并在输入框中输入值。您可能需要在包含x0上面,并运行该节在工作区中放置值。

通过单击左侧的条纹条或选择来运行任务运行Section >运行Section,或按控制+ Enter

生活任务

图优化图函数包含一个坐标轴对象。标题为Best Function Value: 0.019972的axes对象包含2个类型为line的对象。这些对象表示最佳函数值,最佳函数值(不可行)。

找到了满足约束条件的局部极小值。由于目标函数在可行方向上不减少,优化完成,在最优性公差的值内,约束满足在约束公差的值内。

结果

优化将解决方案保存到工作区变量解决方案,并将解处的目标函数值保存到工作区变量objectiveValue.的顶部可以看到并修改这些变量名优化的任务。

查看这些变量。

解决方案
解决方案=2×11.1413 - 1.3029
objectiveValue
objectivvalue = 0.0200

查看解处的非线性约束函数值。

[ccons,ceqcons] = constraintFcn(解决方案)
ccons =1×2-2.0000 - -0.0000
Ceqcons = []

辅助函数—本地函数

下面的代码创建目标函数。针对您的问题修改此代码。

函数f = objectiveFcn f (x) = a * x (x (2) - (1) ^ 2) ^ 2 + (1 - x (1)) ^ 2;结束

下面的代码创建约束函数。针对您的问题修改此代码。

函数测查[c] = constraintFcn (x) c (1) = x (1) ^ 2 + (2) ^ 2 - 5;C (2) = 3 - x(1)²- x(2)²;Ceq = [];%无相等约束结束

另请参阅

相关的话题