matlab fmincon优化,Matlab关于fmincon优化问题

在使用MATLAB的fmincon优化自定义非线性函数时,遇到优化过程中first-order derivative始终为0,导致迭代时自变量不变,优化无法进行。即使调整'TolX'、'TolFun'、'TolCon'的值也无法避免错误。当这些参数设为0时,虽能计算但结果无变化。寻求帮助解决这一优化停滞问题。
摘要由CSDN通过智能技术生成

碰到一些问题,希望帮忙看看!

最近写了一个用户自定义程序,这个程序调用格式是f=Opt_DriDispRelia(wt),即给出一个向量wt,就可以得到一个标量f。

当然,这个自定义函数为非线性函数,调用MATLAB优化工具箱函数fmincon对其中的wt进行优化,wt中的各元素只要>0即可,没有其它约束。我的优化代码如下:

wt=[1 1];%这里是自变量初始值

LB=zeros(1,2);%这里是下边界

OPTIONS = OPTIMSET('Display','iter','LargeScale','off','TolX',1e-9,...

'TolFun',1e-9,'TolCon',1e-9,'DerivativeCheck','off','Diagnostics','off',...

'GradObj','off','GradConstr','off','HessMult',[],...% HessMult [] by default

'Hessian','off','HessPattern','sparse(ones(numberOfVariables))',...

'MaxFunEvals',1000,'MaxSQPIter',Inf,...

'DiffMaxChange',1e-1,'DiffMinChange',1e-8,...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值