利用fmincon函数进行能效优化控制

利用fmincon函数进行能效优化控制

一、实验要求

已知某能量转换系统的功率函数为
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
用Matlab函数fmincon求u,v的最优解。

二、实验流程

2.1 函数介绍

Fmincon()函数是用于寻找约束非线性变量函数的最小值,是一个非线性规划求解器。
Fmincon()函数中,可以调用五种算法,分别是:

  1. ‘interior-point’:内点法
  2. ‘trust-region-reflective’:信赖域反射算法
  3. ‘sqp’:SQP算法
  4. ‘sqp-legacy’:(仅限于 optimoptions)
  5. ‘active-set’:活动集算法
    一般情况下,默认采用的是内点法(interior-point)。本文将尝试五种不同的算法,寻找最优解。
    *Fmincon()*函数有不同的使用形式,其中fun为目标函数,x0为初始值,其他的都为约束条件,具体选择哪种形式,取决于问题的约束条件类型。
x = fmincon(fun,x0,A,b)
x = fmincon(fun,x0,A,b,Aeq,be)
x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub)
x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon)

本文中涉及到非线性约束,因此选择最后一种形式。fun是用 M文件定义的函数, fun代表了非线性目标函数,x0x的初始值 A ,b, Aeq, beq,定义了线性约束 ,如果没有线性约束,则 beq=[]。lb和 ub是变量 x的下界和上界,如果下界和上界没有约束,则也可以写成 lb的各分量都为 -inf, ub的各分量都为 infnonlcon是用 M文件定义的非线性向量函数约束 options定义了优化参数,不填写表示使用 Matlab默认的参数设置 。
关于此函数的返回参数中,其中fval是解处的目标函数值,以实数形式返回,通常
fval = fun(x)
exitflagfmincon 停止的原因,以整数形式返回。
在这里插入图片描述

2.2 实验结果

默认算法interior-point优化结果。
在这里插入图片描述

interior-point结果图
![在这里插入图片描述](https://img-blog.csdnimg.cn/f59572339e2c4ebea619920b32963c28.png#pic_center)
u的优化曲线

在这里插入图片描述

v的优化曲线

trust-region-reflective算法不能解决此约束问题。
Sqp算法优化结果:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
sqp-legacy优化结果:
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
active-set算法超出了迭代限制。
综上所述,interior-point的优化效果是最好的,寻优找到的fval值最小,为118220。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值