开始使用Solver-Based优化生活编辑任务
这个示例脚本帮助您使用solver-based优化住编辑任务优化或方程求解。修改脚本为自己的问题。
这个脚本可以解决非线性约束的非线性优化问题。
包括参数或数据
通常,您有数据或值通过解算器。这些值在输入部分(你看到的地方x0
通过选择)和运行部分部分>运行部分或按控制+ Enter
。
设置初始点x0
和规模一个
的优化。
x0 = (2, 1);一个= 100;
把x0
价值和其他问题数据到工作区中本节通过运行之后再继续。
优化现场编辑任务
通常,您将优化编辑任务的脚本通过选择生活任务>优化在住编辑器选项卡,或通过选择任务>优化在插入选项卡。然后你提出以下的选择(这只是一幅画,而不是真正的任务):
solver-based任务,点击Solver-based。
以下solver-based任务目标和非线性约束函数包括在内。改变这些功能,编辑列表的函数以下任务。
改变约束条件,选择合适的约束类型,输入框中输入值。您可能需要在部分包含输入值x0
以上,并运行部分将在工作区中值。
运行这个任务通过单击条纹栏左边,或通过选择运行或部分>运行部分或按下控制+ Enter
。
局部最小值发现,满足约束。优化完成,因为目标函数中引入可行的方向,在最优值的宽容,和约束满足约束的值公差内。
结果
优化
节省工作空间变量的解解决方案
,节省目标函数在解决工作空间变量的值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;测查= [];%没有等式约束结束