matlab中fseminf函数,建模算法(三)——非线性规划

一、非线性规划和线性规划不同之处

1、含有非线性的目标函数或者约束条件

2、如果最优解存在,线性规划只能存在可行域的边界上找到(一般还是在顶点处),而非线性规划的最优解可能存在于可行域的任意一点达到。

二、非线性规划的Matlab解法

1、Matlab中非线性规划的数学模型为:

ec1c4a727c5c2a36e1581529eb924b26.png

其中f(x)是标量函数,A,B,Aeq,Beq是相应维数的矩阵和向量,C(x),Ceq(X)是非线性向量函数。

e9d2b8f85d81d47c9c5c61861a7df299.png

然后我们通过一个例子来加深印象

549daff8e70270d85e6c8f3161b8003f.png

e0b0a339b9f016e8e6910489bde67775.png

MATLAB实现:

function f=fun1(x) %定义目标函数

f=sum(x.^2)+8;

function [g,h]=fun2(x) %非线性约束条件

g=[-x(1)^2+x(2)-x(3)^2x(1)+x(2)^2+x(3)^3-20];

h=[-x(1)-x(2)^2+2x(2)+2*x(3)^2-3];

options = optimset(‘largescale‘,‘off‘);

[x,y]=fmincon(‘fun1‘,rand(3,1),[],[],[],[],zeros(3,1),[],‘fun2‘,options) %初始值是个随意的数字

2、求解线性规划的基本迭代格式

(1) 这一块主要是一些概念,认识了这些概念,才能继续理解下面的思想,不得不看,不要觉得烦,就想学加减乘除,我们必须定下’+’就是加这个规则一样,所以我们要理解这些概念。

eccdaf24299f7b522e3d15db1ea98e8a.png

(2)对于NP问题(非线性规划),可以采用迭代方法求它的最优解。基本思想就是:

从一个选定的初始点18e7b500f015e8091ccf2bf0bc8bd74a.png出发,按照某一特定的迭代规则产生一个点列59a7816086fa65b98229131b4f62049d.png,使得当88a35c3cc2c066d3cef9ac650f7e8c76.png时有穷点列时,其最后一个是NP的最优解;当e4b5cd7aacb73d3efee6ae6ce62ff81f.png时无穷点列是,它存在极限,并且极限点就是NP的最优解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值