优化现场编辑任务fmincon
解算器
这个例子展示了如何使用solver-based优化生活的编辑任务fmincon
解算器来减少二次线性和非线性约束和边界。
考虑发现的问题(x1,x2),解决了
受约束
的起点x0
对于这个问题是x1= 3,x2= 1。
开始优化生活编辑任务
创建一个新的脚本通过单击生活新的生活的脚本按钮文件上节家选项卡。
插入一个优化住编辑任务。单击插入选项卡,然后在代码部分中,选择任务>优化。
对于这个示例,选择solver-based任务。
供以后使用进入问题数据,选择插入>部分打破。新章节出现上方和下方的任务。
输入问题数据
从顶部的任务,输入类型和约束类型的问题。单击目标>二次按钮,约束>下界,线性不等式,非线性按钮。任务显示推荐的解决者
fmincon
。目标函数
目标函数很简单表示为一个匿名函数。光标位置在上面的部分任务,进入这段代码。
有趣= @ (x)和(x ^ 2);
下界
这个问题包含了下界x1≥0.5。表达这个绑定变量
磅
。用光标的线定义目标函数,出版社输入,输入以下代码指定下界。磅=(0.5负);
初始点
光标在最后的线定义下界,出版社输入,输入以下代码设置起始点。
x0 = (3,1);
线性约束条件
用光标的线定义起始点,出版社输入,输入以下代码设置线性约束。
一个= [1];b = 1;
运行部分
顶部部分包括五个参数。
接下来,您需要运行在工作区中部分地方参数作为变量。这样做,点击最左边的区域的部分,其中包含一条对角线条纹。单击这个区域后,酒吧成为一个坚实的酒吧,指示变量现在在工作区中。(注:你也可以按Ctrl + Enter运行部分。)
问题数据
输入的变量选择问题数据部分的任务。指定目标函数,选择目标函数>函数处理并选择有趣的。
设置初始点x0。
选择下界>从工作区并选择磅。
设置线性不等式约束变量
一个
和b
在线性不等式区域。现在指定非线性不等式约束。在选择问题数据部分中,选择非线性>本地函数,然后单击新按钮。下面的函数出现在一个新的部分任务。编辑生成的代码包含以下注释行。
函数测查[c] = constraintFcn (x)%可以包含注释代码行。%确定这些注释行依然存在:c = (- x (1) ^ 2 - x (2) ^ 2 + 1;9 * x (1) ^ 2 - x (2) ^ 2 + 9;x - x (1) ^ 2 + (2);x - x (2) ^ 2 + (1)];测查= [];结束
在选择问题数据部分中,选择constraintFcn函数。
监测进展
在显示进度部分的任务,选择文本显示>每个迭代所以你可以监控解决进展。选择客观价值的阴谋。
你的设置是这样的:
解算器运行并检查结果
解算器,单击选项按钮⁝在任务的右上角的窗口,并选择运行部分。
情节出现在一个单独的图窗口并在任务输出区域。
看到解决变量返回,顶部的任务。
最后点及其相关的目标函数值中出现解决方案
和objectiveValue
在工作区中变量。把这些值通过输入这个代码在下面住编辑部分任务。
解决方案,objectiveValue
新闻按Ctrl + Enter运行部分。