700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > matlab min函数_数学建模与MATLAB非线性规划

matlab min函数_数学建模与MATLAB非线性规划

时间:2019-01-23 13:27:53

相关推荐

matlab min函数_数学建模与MATLAB非线性规划

快点击上方蓝字关注我们吧!本文简单介绍了非线性规划相关的问题,此类问题较为复杂,不仅有传统的方法,也有新的方法,文中也参考了网络的一些博客讲解。希望对大家有所帮助。一、什么是非线性规划

1、非线性规划定义

如果目标函数或约束条件中包含非线性函数,就称这种规划问题为非线性规划问题。

2、非线性规划特性

求解非线性规划的难度相对于线性规划要更难,没有一种通用的方法可以求解所有的此类问题,各种相应的算法都有各自的适应范围。

如果线性规划的最优解存在,其最优解只能在其可行域的边界上达到 (特别是可行域顶点),非线性规划的最优解若存在,则有可能在其可行域的任意一点达到。

二、规划问题(约束极值问题)

1、极值问题分类

2、约束问题(规划问题)的求解

(1)二次规划

若某非线性规划的目标函数为自变量 x 的二次函数,约束条件又全是线性的,就称为二次规划。

Matlab 中二次规划的数学模型可表述如下:

求解函数quadprog函数用法:(提示:MATLAB中命令行中输入“help quadprog"即可查看此函数调用格式)[x,favl] = quadprog(H,f,A,b,Aeq,beq,lb,ub,x0,options)

示例:

将上题与二次规划的数学模型对照:对于H、f向量有疑问的可以去看下面这篇博客,作者详细介绍了二次规划的解法及H、f矩阵:/jbb0523/article/details/50598641MATLAB求解代码:

h=[4,-4;-4,8];

f=[-6;-3];

a=[1,1;4,1]; %a为约束条件式左x的系数矩阵

b=[3;9]; %b为约束条件式右x的系数矩阵

[x,value]=quadprog(h,f,a,b,[],[],zeros(2,1))

计算结果:

x =1.95001.0500value =-11.0250

(2)罚函数法

对于一些简单的问题可以直接进行求解,一般来说为了简化优化的工作,可以采用下面三种方法来是实现计算的简化:

将约束问题转化为无约束问题

将非线性规划问题转化为线性规划问题

将复杂问题变换为较简单问题的其它方法

罚函数法,可将非线性规划问题的求解,转化为求解一系列无约束极值问题,这种方法为序列无约束最小化技术,简记为SUMT

(Sequential Unconstrained Minization Technique)。

使用函数:fminunc

调用方法:[x,fval] =fminunc(fun,x0,options)

MATLAB求解代码:

[x,y]=fminunc('test',rand(2,1))

调用函数:test.m

function g=test(x)

M=50000;

f=x(1)^2+x(2)^2+8;

g=f-M*min(min(x),0)-M*min(x(1)^2-x(2),0)+M*(-x(1)-x(2)^2+2)^2;

求解结果:

x =1.00011.0001

y =10.0049

(3)MATLAB优化工具箱

MATLAB中有专门解决优化问题的优化工具箱,在命令行窗口输入optimtool回车即可看到此工具箱的图形界面。从Solver中可以看到优化工具箱中所有的函数。对于上述函数大家可以在官网Mathworks上查看函数的详细用法MATLAB 后续的版本中可能会将此工具箱的图形界面去掉。因此大家需要掌握具体函数如何调用,使用与什么问题的求解。

3、无约束问题求解概述

此类问题的求解可按照用到的函数分为两类,一用到函数的一二导数或二阶导数,此类方法称为解析法。二仅仅用到函数值,此法称为直接法。

下面是一些相关的博客链接,讲解的非常详细,可以参考学习:

无约束最优化问题的一般结构与规划方法:/philthinker/article/details/78191864

Matlab 求解约束极值问题

/qq_29831163/article/details/89485908

文中部分示例来源于网络,只用于学习交流!由于能力有限,部分地方难免出现错误,请大家批评指正!

MATLAB学习

大家可以关注我们的知乎专栏–数据可视化和数据分析中matlab的使用

链接:

/c_1131568134137692160

MATLAB学习交流群:953314432

扫码关注我们更多精彩等待你发现出品:Asoul水云天课堂工作室

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。