matlab外罚函数实验报告,优化之外罚函数法(示例代码)
罚函数法的基本思想是借助罚函数把约束问题转化为无约束问题,然后用无约束最优方法来求解。
构造罚函数:在可行点,辅助函数的值等于原来的目标函数值;在不可行点,辅助函数值等于原来的目标函数值加上一个很大的正数。可写成形如下式:
目标函数:
约束条件:
其相关代码如下:
clc
syms x1 x2 e; % e为罚因子
m(1)=1;c=10;a(1)=0;b(1)=0; % c为递增系数 赋初值
f=x1^2+x2^2+e*(1-x1)^2; % 构造罚函数
f0(1)=0;
%求偏导、海森阵
fx1=diff(f,‘x1‘);
fx2=diff(f,‘x2‘);
fx1x1=diff(fx1,‘x1‘);
fx1x2=diff(fx1,‘x2‘);
fx2x1=diff(fx2,‘x1‘);
fx2x2=diff(fx2,‘x2‘);
for k=1:100 %外点法e迭代循环
x1=a(k);x2=b(k);e=m(k);
for n=1:100 %牛顿法求最优值
f1=subs(fx1); %求梯度值和海森矩阵
f2=subs(fx2);
f11=subs(fx1x1);
f12=subs(fx1x2);
f21=subs(fx2x1);
f22=subs(fx2x2);
if(double(sqrt(f1^2+f2^2))<=0.000001) %最优值收敛条件
a(k+1)=double(x1);b(k+1)=double(x2);f0(k+1)=double(subs(f));
break;
else
X=[x1 x2]‘-inv([f11 f12;f21 f22])*[f1 f2]‘;
x1=X(1,1);x2=X(2,1);
end
end
if(double(sqrt((a(k+1)-a(k))^2+(b(k+1)-b(k))^2))<=0.000001)&&(double(abs((f0(k+1)-f0(k))/f0(k)))<=0.000001) %迭代收敛条件
disp(‘最优坐标 x1:‘),disp(a(k+1))%输出最优点坐标,迭代次数,最优值
disp(‘最优坐标 x2:‘),disp(b(k+1))
disp(‘迭代次数‘),disp(k)
disp(‘最优值‘),disp(f0(k+1))
break;
else
m(k+1)=c*m(k);
end
end
运行结果如下:
matlab外罚函数实验报告,优化之外罚函数法(示例代码)相关推荐
- matlab外罚函数实验报告,外罚函数法matlab
罚函数法 37页 1下载券 罚函数法 11页 1下载券 罚函数法MATLAB程序 5页 2下载券 1120 罚函数法 (罚函数法... 52页 1下载券 ...... c Ax ? b . 3 算法的 ...
- matlab外罚函数实验报告,(实验三)外罚函数法-实验指导书
实验三:外罚函数法 一.实验目的 1.通过上机利用Matlab 数学软件进行外罚函数编程,并学会对具体问题具体分析: 2.熟悉外罚函数并编制程序: 3.培养Matlab 编程与上机调试能力. 二.实验 ...
- matlab矩阵处理实验报告,matlab实验报告一二三
<matlab实验报告一二三>由会员分享,可在线阅读,更多相关<matlab实验报告一二三(37页珍藏版)>请在金锄头文库上搜索. 1.2015 秋秋 2013 级级MATLA ...
- MATLAB离散傅里叶变换实验结果分析,Matlab离散傅里叶变换实验报告
Matlab离散傅里叶变换实验报告 班级 信工082 学号 16 姓名 刘刚 实验组别 实验日期 室温 报告日期 成绩 报告内容:(目的和要求,原理,步骤,数据,计算,小结等) 实验三 离散傅立叶变换 ...
- matlab仿真实验报告,Matlab SIMULINK仿真实验报告.doc
Matlab SIMULINK仿真实验报告.doc 西安邮电学院 Matlab实验报告(四)2011- 2012 学年第 1 学期专业 自动化班级 自动 0903学号姓名2011 年 11 月 10 ...
- matlab的程序设计实验报告答案,实验二 MATLAB程序设计(含实验报告).doc
实验二 MATLAB程序设计(含实验报告) 实验二 MATLAB程序设计 实验目的 1.掌握利用if语句实现选择结构的方法. 2.掌握利用switch语句实现多分支选择结构的方法. 3.掌握利用for ...
- 基于Matlab的循环码实验报告,基于matlab的循环码实验报告.doc
基于matlab的循环码实验报告.doc 基于MATLAB循环码编码方法的应用叶俊(指导老师,刘丹平副教授)(重庆大学通信工程学院中国重庆400000)摘要任何两个相邻的循环码只有一位数字不同,因此循 ...
- matlab实验二数值运算报告,MATLAB数值运算实验报告.docx
MATLAB数值运算实验报告 实验报告系 (部): 信息工程 班 级: 姓 名: 学 号: 课 程: MATLAB 实验名称: Matlab数值运算目录一 . 实验目的2二 . 实验内容2三 . 实验 ...
- matlab音频信号处理实验报告,matlab音频信号处理实验报告.docx
matlab音频信号处理实验报告 MATLAB音频信号处理实验 南昌航空大学信息工程学院 课程实验报告 实验名称:实验时间:2014年4月23日 指导教师: 班级: 学号: 姓名: 成绩: 南昌航空大 ...
最新文章
- 【C 语言】字符串模型 ( 字符串翻转模型 | 借助 递归函数操作 逆序字符串操作 | strncat 函数 )
- CCNA2 - Module 2 Exam Answers (05/07/2008 14:30)
- J2EE看tomcat运行参数和去掉工程名作为请求的根路径
- Deployment descriptor
- mysql 添加用户_mysql创建用户与授权
- IC卡设备驱动模块的代码
- 审计文件服务器的5个核心要素
- 数据结构:五岔路口交通管理红绿灯设计
- PHP连接MYSQL出现乱码的原因与解决方法
- mysql 用户权限管理
- 华三交换机配置access命令_H3C 交换机常用配置命令
- 编程计算三角形的面积和周长。要求如下: (1)、设计一个接口InterfaceShape,其中有计算三角形的面积和周长的抽象方法; (2)、设计一个点类Point,其中有必要的构造方法和一般的访问器方
- 圆周率小数点后1千位(附计算圆周率源代码)
- 存储单元,存储字长,存储字,.存储容量
- SCTF | 三足鼎立焦点对抗,天枢战队有惊无险斩获冠军头衔
- 函授计算机专业教育感想,函授学习心得体会(精选5篇)
- 基于空间直方图meanshift跟踪
- ArcGIS符号导入图片
- php对接阿里云API调用企业税号查询的高级实战案例解析(下拉筛选查询、远程调用API、xm-select组件应用)
- 知云文献翻译 for mac
热门文章
- java word 乱码_java word 乱码怎么办,_Java_ 少侠科技
- 视频去水印软件哪个好?快把这些软件收好
- 十万美元的悬赏——互联网梅森素数大搜索
- 南邮考研计算机组成原理真题,南京邮电大学408计算机学科专业基础综合(含数据结构、计算机组成原理、操作系统和计算机网络)考研资料...
- vue + 百度地图 实现大屏嵌入地图
- 三星i9308刷机笔记
- 注册电气工程师短路电流计算口诀法
- Qt - 阻止系统休眠方法
- SOLIDWORKS Simulation中如何添加虚拟螺栓
- CentOS-7 安装Lustre-2.10.1文件系统