没有合适的资源?快使用搜索试试~ 我知道了~
首页SQP-matlab程序
SQP-matlab程序
5星 · 超过95%的资源 需积分: 47 153 下载量 12 浏览量
更新于2023-03-16
评论 2
收藏 59KB PDF 举报
由matlab语言编写sequential quadratic programming(SQP)算法
资源详情
资源评论
资源推荐
以下为两个 m 函数,分别是 qpsubp 和 sqpm,其中 qpsubp 用于求解二次规划子问题,
sqpm 是用基于拉格朗日函数 Hesse 矩阵的 SQP 方法求解约束优化问题。具体的输入输出值
意义已在程序中说明,具体是使用方法也在两段代码的末尾给出。
将以下代码除去示例部分,分别保存为两个.m 文件即可在 matlab 中使用下面给出两端
代码供大家参考和交流:
代码 qpsub:
function [d,mu,lam,val,k]=qpsubp(dfk,Bk,Ae,hk,Ai,gk)
%功能 : 求解二次规划子问题
%输入: dfk 是 xk 处的梯度,Bk 是第 k 次近似 Hesse 矩阵,Ae,hk 线性等式约束有关的参数
% Ai,gk 是线性不等式约束的有关参数
%输出: d,val 分别是最优解和最优值,mu,lam 是乘子向量,k 是迭代次数
n=length(dfk); l=length(hk); m=length(gk);
gamma=0.05; epsilon=1.0e-6; rho=0.5; sigma=0.2;
ep0=0.05; mu0=0.05*zeros(l,1); lam0=0.05*zeros(m,1);
d0=ones(n,1); u0=[ep0;zeros(n+l+m,1)];
z0=[ep0;d0;mu0;lam0];
k=0;
z=z0;ep=ep0;d=d0;mu=mu0;lam=lam0;
while(k<=150)
dh=dah(ep,d,mu,lam,dfk,Bk,Ae,hk,Ai,gk);
if(norm(dh)<epsilon)
break;
end
A=JacobiH(ep,d,mu,lam,dfk,Bk,Ae,hk,Ai,gk);
b=beta(ep,d,mu,lam,dfk,Bk,Ae,hk,Ai,gk,gamma)*u0-dh;
dz=A;
if(l>0&m>0)
de=dz(1);dd=dz(2:n+1);du=dz(n+2:n+l+1);dl=dz(n+l+2:n+l+m+1);
end
if(l==0)
de=dz(1);dd=dz(2:n+1);dl=dz(n+2:n+m+1);
end
if(m==0)
de=dz(1);dd=dz(2:n+1);du=dz(n+2:n+l+1);
end
i=0;
while(i<=20)
if(l>0&m>0)
dh1=dah(ep+rho^i*de,d+rho^i*dd,mu+rho^i*du,lam+rho^i*dl,dfk,Bk,Ae,hk,Ai,gk);
end
if(l==0)
dh1=dah(ep+rho^i*de,d+rho^i*dd,mu,lam+rho^i*dl,dfk,Bk,Ae,hk,Ai,gk);
end
Corten
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论1