主要内容

开始使用Solver-Based优化生活编辑任务

这个示例脚本帮助您使用solver-based优化住编辑任务优化或方程求解。修改脚本为自己的问题。

这个脚本可以解决非线性约束的非线性优化问题。

包括参数或数据

通常,您有数据或值通过解算器。这些值在输入部分(你看到的地方x0通过选择)和运行部分部分>运行部分或按控制+ Enter

设置初始点x0和规模一个的优化。

x0 = (2, 1);一个= 100;

x0价值和其他问题数据到工作区中本节通过运行之后再继续。

优化现场编辑任务

通常,您将优化编辑任务的脚本通过选择生活任务>优化住编辑器选项卡,或通过选择任务>优化插入选项卡。然后你提出以下的选择(这只是一幅画,而不是真正的任务):

optimizestart.png

solver-based任务,点击Solver-based

以下solver-based任务目标和非线性约束函数包括在内。改变这些功能,编辑列表的函数以下任务

改变约束条件,选择合适的约束类型,输入框中输入值。您可能需要在部分包含输入值x0以上,并运行部分将在工作区中值。

运行这个任务通过单击条纹栏左边,或通过选择运行部分>运行部分或按下控制+ Enter

生活任务

图优化函数包含一个坐标轴对象。坐标轴对象与标题最好的函数值:0.019972,包含迭代,ylabel函数值包含2线类型的对象。一个或多个行显示的值只使用这些对象标记代表最好的函数值,最好的函数值(不可行)的。

局部最小值发现,满足约束。优化完成,因为目标函数中引入可行的方向,在最优值的宽容,和约束满足约束的值公差内。

结果

优化节省工作空间变量的解解决方案,节省目标函数在解决工作空间变量的值objectiveValue。你可以看到和修改这些变量名的顶部优化的任务。

查看这些变量。

解决方案
解决方案=2×11.1413 - 1.3029
objectiveValue
objectiveValue = 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) ^ 2 - x (2) ^ 2;测查= [];%没有等式约束结束

另请参阅

相关的话题