具体问题具体分析非线性规划|数学建模与优化,第4部分
从系列:数学建模与优化
表达和具体问题具体分析的方法解决非线性优化问题的优化工具箱™。交互式地定义变量、目标函数和约束来反映非线性规划的数学表述。
首先创建一个优化问题的问题。接下来,定义优化变量及其界限。每个优化变量都有自己的显示名称、尺寸、类型和范围。定义一个或多个标量或数组变量与变量使用的数学表述。
创建优化的目标和约束表达式构建与优化变量。指定合理的直接表达式。与MATLAB指定其他表达式®功能和转换为优化转换函数的表达式。转换工具可以轻松地定义一个使用现有的函数优化问题。
使用显示功能审核完成的优化问题。然后指定一个初始点和解决。解算器的类型基于变量的类型,自动选择目标,和约束,缓解你的需要知道的许多可用的解决者。
这个视频展示了如何设置和MATLAB解决约束的非线性优化问题®。在这个例子中,目标是最小化这种多变量目标函数受到以下限制。策划的目标函数和约束。目标函数的等值线显示。蓝色椭圆内的可行域是下面红色的曲线。
这是一个非线性优化问题。有两种方法可以在MATLAB解决非线性优化问题:使用具体问题具体分析的方法或solver-based方法。这个例子使用一个具体问题具体分析的方法,使用优化变量来定义目标和约束。看到solver-based的文档的方法。
有共同的步骤来解决非线性问题的方法。首先,您设置的问题,定义优化变量,定义目标函数和约束,解决这个问题。
现在,我们已经表达了数学上的问题,我们需要用MATLAB表达问题。创建一个空容器优化问题。优化问题有问题信息,包括目标函数和约束。
接下来,我们将定义优化变量。一般来说,优化变量可以标量、向量矩阵,或者一天数组。这个示例使用变量x和y,标量。关于这个问题创建标量优化变量。包括的范围变量。
接下来,我们将创建一个优化目标函数的表达式。目前,优化表达式不支持指数,所以写成一个标准的MATLAB函数。万博1manbetx使用这个目标函数的具体问题具体分析的方法,您必须使用一个转换函数,它创建了一个优化的表情。目标函数传递的文件名称@“”符号,形成“函数处理。”This tells MATLAB to identify or "point to" the function, but not to execute the function as MATLAB typically would do without the symbol. Now, add the objective function to the optimization problem. The problem now shows a non-empty objective and associated variables.
这个问题有以下非线性约束。第一个是一个约束的解决方案在于椭圆。您可以定义这个约束如经上所记,并将它添加到问题。前面的约束是一个多项式不等式,可以表示为一个优化表达式。第二个约束有一个指数项,不能写成一个优化表达式。这也有额外的x和y参数之外,包括变量。创建一个函数,输入x, y,将函数转换为一个优化表达式。包括优化变量和参数,在MATLAB中定义的工作区。表达的不平等和约束添加到这个问题。
现在我们将检查问题制定完成。优化变量、目标函数、约束和边界看起来都正确。
解决之前,我们需要定义一个初始点。x和y的初始值必须被定义为一个结构。创建一个结构代表了初始点 x = 3, y = 3。从初始点解决问题。一般来说,退出消息表示停止条件和优化过程中遇到任何问题。这里,退出消息并退出标志表明优化成功完成。
尝试从不同的初始角度解决问题。请求关于解决方案的附加输出。再次优化成功完成但聚合到一个不同的解决方案。目标函数值高于第一,这表明这个解决方案并不是那么好。
添加指向可视化的解决方案。图显示一个解决方案位于椭圆的边界,另一个位于指数的边界约束和椭圆。
这个视频说明解决约束非线性优化问题。看到额外的文档示例。
你也可以从下面的列表中选择一个网站
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。