怎样运用matlab实现无约束非线性优化问题中的多种方法?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样运用matlab实现无约束非线性优化问题中的多种方法?相关的知识,希望对你有一定的参考价值。
运用matlab实现无约束非线性优化问题中的牛顿法,二分发,0.618法,最速下降法.希望大家帮帮忙啊!十分感谢
- MATLAB中用遗传算法求解约束非线性规划问题 Solution of optimization with nonliear constraints programming by genetic alogorithm in MATLAB 作者:王勇, 期刊-核心期刊 哈尔滨商业大学学报(自然科学版)JOURNAL OF HARBIN UNIVERSITY OF COMMERCE(NATURAL SCIENCES EDITION) 2006年 第04期- 约束优化问题的遗传算法求解 Genetic algorithm solution for constrained optimization 作者:宋松柏,蔡焕杰,康艳, 期刊-核心期刊 西北农林科技大学学报(自然科学版)JOURNAL OF NORTHWEST SCI-TECH UNIVERSITY OF AGRICULTURE AND FORESTRY(NATURAL SCIENCE EDITION) 2005年 第01期
- 约束优化问题的遗传算法求解 Genetic algorithm solution for constrained optimization 作者:宋松柏,蔡焕杰,康艳, 期刊-核心期刊 西北农林科技大学学报(自然科学版)JOURNAL OF NORTHWEST SCI-TECH UNIVERSITY OF AGRICULTURE AND FORESTRY(NATURAL SCIENCE EDITION) 2005年 第01期
- 非线性规划问题求解的遗传算法设计与实现 Design and Realization of Genetic Algorithm for Solving Nonlinear Programming Problem 作者:刘雪梅,李国民,李景文,毕义明, 期刊-核心期刊 系统工程与电子技术SYSTEMS ENGINEERING AND ELECTRONICS 2000年 第02期
- 解非线性约束规划问题的新型多目标遗传算法 New multi-objective genetic algorithm for nonlinear constraint programming problem 作者:刘淳安,LIU Chun-an, 期刊-核心期刊 计算机工程与设计COMPUTER ENGINEERING AND DESIGN 2006年 第05期
- 解非线性约束规划问题的新型多目标遗传算法 New multi-objective genetic algorithm for nonlinear constraint programming problem 作者:刘淳安, 期刊-核心期刊 计算机工程与设计COMPUTER ENGINEERING AND DESIGN 2006年 第05期
- 基于Matlab遗传工具箱的高强混凝土配合比优化 Mixtures Optimal Design of High-strength Concrete Based on GA Toolbox of MATLAB 作者:陆海标,郑建壮,徐旭岭, 期刊 浙江水利水电专科学校学报JOURNAL OF ZHEJIANG WATER CONSERVANCY AND HYDROPOWER COLLEGE 2007年 第03期
- 遗传算法求解约束非线性规划及Matlab实现 The Solution of Optimization with Nonliear Constraints Programming with Genetic Algorithm and Demonstration by Matlab 作者:倪金林, 期刊-核心期刊 大学数学COLLEGE MATHEMATICS 2005年 第01期
-
- 基于遗传算法的非线性多目标规划及其在油田开发规划中的应用 作者:张晓东, 李树荣, 熊福力, 会议 第二十二届中国控制会议第二十二届中国控制会议论文集(上) 2003年
- 区间非线性规划问题的确定化描述及其递阶求解 Deterministic Interpretation of Interval Nonlinear Programming and Its Hierarchical Optimization Solutions 作者:蒋峥,戴连奎,吴铁军, 期刊-核心期刊 系统工程理论与实践SYSTEMS ENGINEERING-THEORY & PRACTICE 2005年 第01期
- 区间非线性规划问题的确定化描述及其递阶求解 Deterministic Interpretation of Interval Nonlinear Programming and Its Hierarchical Optimization Solutions 作者:蒋峥,戴连奎,吴铁军, 期刊-核心期刊 系统工程理论与实践SYSTEMS ENGINEERING-THEORY & PRACTICE 2005年 第01期
- 一种新的求解非线性规划的混合遗传算法 作者:李丰兵, 会议 第八届中国青年运筹信息管理学者大会第八届中国青年运筹信息管理学者大会论文集 2006年
- 一种启发式算法求解有交易成本组合投资问题 作者:安智宇, 会议 第三届不确定系统年会第三届不确定系统年会论文集 2005年
- 基于遗传算法的设计地震反应谱标定方法 Calibrating Method of Seismic Response Spectrum Based on Genetic Algorithm 作者:夏江,陈清军, 期刊-核心期刊 力学季刊CHINESE QUARTERLY OF MECHANICS 2006年 第02期
- 具有线性不等式约束非线性规划问题的降维算法 Descending Dimension Algorithm of Nolinear Programming Problem with Linear Inequality Constraints 作者:杨懿,张守贵, 期刊-核心期刊 重庆大学学报(自然科学版)JOURNAL OF CHONGQING UNIVERSITY(NATURAL SCIENCE EDITION) 2007年 第10期
- 改进DNA遗传算法求解非线性多约束规划研究 Refined DNA-GA for solving nonlinear multi-constrained programming 作者:王淑超,王乘, 期刊-核心期刊 华中科技大学学报(自然科学版)JOURNAL OF HUAZHONG UNIVERSITY OF SCIENCE AND TECHNOLOGY(NATURE SCIENCE EDITION) 2004年 第06期
- 改进DNA遗传算法求解非线性多约束规划研究 Refined DNA-GA for solving nonlinear multi-constrained programming 作者:王淑超,王乘, 期刊-核心期刊 华中科技大学学报(自然科学版)JOURNAL OF HUAZHONG UNIVERSITY OF SCIENCE AND TECHNOLOGY(NATURE SCIENCE EDITION) 2004年 第06期
- 序列无约束极小化技术和遗传算法在非线性规划中的应用 On the Application of SUMT and GA to Solving Constrained Nonlinear Programming Problem 作者:刘道建,黄天民, 期刊 邵阳高等专科学校学报JOURNAL OF SHAOYANG COLLEGE 2001年 第04期
- 序列无约束极小化技术和遗传算法在非线性规划中的应用 On the Application of SUMT and GA to Solving Constrained Nonlinear Programming Problem 作者:刘道建,黄天民, 期刊 邵阳高等专科学校学报JOURNAL OF SHAOYANG COLLEGE 2001年 第04期
MATLAB中用遗传算法求解约束非线性规划问题
Solution of optimization with nonliear constraints programming by genetic alogorithm in MATLAB
<<哈尔滨商业大学学报(自然科学版)>>2006年 第22卷 第04期
作者: 王勇
约束非线性规划问题的求解往往是运筹学中的NP问题,利用MATLAB中的遗传算法工具箱中的函数方便、快捷的求得了两个实例的最优解,进一步指出了遗传算法与传统的最优化算法的区别.
关键词: 遗传算法, 约束非线性规划, MATLAB, | 全部关键词
最优化技术方法及MATLAB的实现
编 号: 86755
著 作 者: 16.00
出 版 社: 化学工业出版社
书 号: 9787502563837
出版日期: 2005-1-1
内容包括线性规划与MATLAB的实现,即非线性规划、整数规划、动态规划、多目标规划与MATLAB的实现及图与网络分析技术等。为方便读者学习,本书安排了大量最优化方法在工程中的应用实例,根据需要逐个编写了解决这些问题的相应数学模型,应用MATLAB程序,通过简洁的运算给出了较为复杂问题的解。
本书可作为最优化技术方法或MATLAB优化工具箱应用的入门教材,供高职高专或本科院校管理、经济类专业的师生使用,也可供广大爱好者学习参考。
随着计算机科学的发展和应用,应用最优化方法解决问题的领域在不断扩大,最优化的理论和方法也得到普及和发展。线性规划、非线性规划、整数规划、动态规划和多目标规划以及图与网络技术作为最优化方法的主要内容已经成为工程技术人员和经济管理人员所必备的基础知识,目前,最优化方法课程已经开始作为高等院校的普及课程。
在“高等数学”中学习的极值理论、线性代数、向量、矩阵、泰勒公式等概念为学习“最优化方法”奠定了基础。在“最优化方法”中,这些知识的重要价值将在工程应用中得到充分体现。
在最优化方法的应用过程中,要将所学知识直接应用于解决实际问题,中间往往还有一段距离。有时,面对需要建立的复杂数学模型,尤其是繁复的数学计算问题,往往难以入手,因此,人们总是希望能够找到具有通用性和广泛性的方法,用类似于日常使用计算器的手段,解决较为复杂的计算问题。在本书中,将“最优化方法”与“MATLAB工具箱”连接起来学习,就能够在一定程度上弥补这一缺陷。
MATLAB是一个很不错的计算软件,它给数学计算带来了许多的便利和可能性,它提供了几十个工具箱,利用这些工具箱,可以解决不同领域的许多问题。
本书简明扼要、叙述清楚、文字流畅,既可作为工程学科、管理及经济学科的专、本科学生的“最优化方法”教材,也可作为应用“MATLAB工具箱”入门参考教材使用。
本书是编者根据多年的教学经验,为适应新的教学需要而编写的,所有工程应用实例均经过了MATLAB6�5的运行。
本书由曹卫华、郭正编写,其中第1章、第2章、第5章、第6章由曹卫华编写,第3章、第4章、第7章由郭正编写。本书在定稿前曾听取苏金明教授、李旭宇博士等专家的许多宝贵意见,谨在此表示感谢,并感谢其他支持和关心本书出版的领导和同行。
由于本人水平有限,书中错误和不足之处在所难免。有不妥之处,望批评指正。
1概述�
1�1引言�
1�2最优化问题及其工程背景�
1�2�1线性规划问题�
1�2�2非线性规划问题�
1�2�3整数规划问题�
1�2�4多目标规划问题�
1�2�5动态规划问题�
1�2�6图论与网络流�
1�3MATLAB6�5优化工具箱及工程应用简介�
2线性规划与MATLAB实现�
2�1线性规划基本理论�
2�1�1线性规划问题及其数学模型�
2�1�2线性规划问题解的几何意义及图解法�
2�1�3线性规划的基本原理�
2�2求解线性规划问题的基本方法�
2�2�1单纯形法�
2�2�2大�M�法�
2�3线性规划问题的灵敏度分析�
2�4线性规划问题的MATLAB6�5辅助计算及工程应用实例�
2�4�1MATLAB优化工具箱函数选用�
2�4�2工程应用实例�
习题�
3非线性规划与MATLAB实现�
3�1非线性规划基本概念及分类�
3�2无约束非线性规划�
3�2�1最优性条件�
3�2�2一维搜索�
3�2�2�1平分法�
3�2�2�2黄金分割法(0�618法)�
3�2�2�3牛顿法�
3�2�3无约束非线性规划的MATLAB6�5辅助计算及工程应用
实例�
3�2�3�1MATLAB优化工具箱函数选用�
3�2�3�2工程应用实例�
3�3有约束非线性规划�
3�3�1最优性条件�
3�3�2惩罚函数法�
3�3�3约束非线性规划的MATLAB6�5辅助计算及工程应用
实例�
3�3�3�1MATLAB优化工具箱函数选用�
3�3�3�2工程应用实例�
3�3�4二次规划及其MATLAB实现�
3�3�4�1二次规划�
3�3�4�2MATLAB优化工具箱函数选用�
3�3�4�3应用实例�
习题�
4整数规划�
4�1概述�
4�2整数规划的图解法�
4�3分支定界法�
4�3�1分支定...... 参考技术A 好好运用o(∩_∩)o...本回答被提问者采纳
无约束优化问题中牛顿法与拟牛顿法四种迭代方法的matlab实现
文章目录
1. 无约束优化问题的解法
在无约束优化问题中,有四种经典的迭代优化方法:Newton’s method(牛顿法)、Levenberg-Marquardt’s method(非线性最小二乘法,LM)、Broyden-Fletcher-Goldfarb-Shanno’s method(BFGS)、Davidon-Fletcher-Powell’s method(DFP)。
2. Matlab实现
假设有如下无约束优化问题: f ( x 1 , x 2 ) = ( x 1 − 3 ) 4 + ( x 1 − 3 x 2 ) 2 f(x_1,x_2)=(x_1-3)^4+(x_1-3x_2)^2 f(x1,x2)=(x1−3)4+(x1−3x2)2为了方便四种算法的比较,我们统一设置初始迭代点为 x 0 = [ 0 , 0 ] T x_0=[0,0]^T x0=[0,0]T ,则初始海森矩阵为: H 0 = ( 110 − 6 − 6 18 ) H_0=\\beginpmatrix 110 & -6 &\\\\ -6 & 18 &\\\\ \\endpmatrix H0=(110−6−618)
上述优化问题用matlab代码表示为:
syms x1; % 变量x1
syms x2; % 变量x2
f = (x1 - 3).^4 + (x1 - 3*x2).^2; $ 函数表达
x0=[0 0]'; % 初始迭代点
H0=[110 -6;-6 18]; % 初始海森矩阵
m=2; % 变量个数
k=30; % 迭代次数
该函数的最优 X = ( x 1 , x 2 ) X=(x_1,x_2) X=(x1,x2)以及 f ( x 1 , x 2 ) f(x_1,x_2) f(x1,x2)应该为: x 1 = 3 , x 2 = 1 x_1=3, x_2=1 x1=3,x2=1 f ( x 1 , x 2 ) = 0 f(x_1,x_2)=0 f(x1,x2)=0
下面展示一下如何用Matlab实现对函数的优化:
2.1. Newton’s method(牛顿法)
牛顿法的迭代公式为: x k + 1 = x k − H − 1 ( x k ) ∇ f ( x k ) x_k+1=x_k-H^-1(x_k)\\nabla f(x_k) xk+1=xk−H−1(xk)∇f(xk)matlab实现函数实现为:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%文件名:Newton.m
%
%f表示函数表达式
%H0表示初始的海森矩阵
%x0表示初始的迭代点 为列向量
%m表示变量的个数
%k表示迭代次数
%X存储每次迭代的x,F为函数值,G为每次的梯度,H为海森阵,HN为海森矩阵的逆
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function[X, H, F, G,HN] = Newton(f,H0,x0,m,k)
x1 = sym('x',[1,m]); % [x1, x2]
%f = (x1(1) - 3)^4 + (x1(1) - 3*x1(2))^2;
c = num2cell(x1); % c=变量[x1, x2]
g = sym('x',[m,1]); % [x1, x2]^T
X = zeros(m, k+1); % x1、x2的迭代值
H = zeros( m, m, k+1); % hessian的迭代值
F = zeros(1, k+1); % function的迭代值
G = zeros(m, k+1); % function‘的迭代值
HN = zeros( m, m, k+1); % hessian的逆阵的迭代值
H(:,:,1) = H0; % hessian初始化
HN(:,:,1) = inv(H0); % hessian逆初始化
X(:,1) = x0; % X(x1, x2)初始化
F(1,1) = subs(f, c, X(:,1)'); % 初始X值赋予F
h = hessian(f,x1);%求海森矩阵
for n = 1:m % f对x1、x2分别求偏导
g(n) = diff(f,x1(n));
end
G(:,1) = subs(g,c,X(:,1)'); % 初始X导赋予G
% 迭代
for n = 1:k
X(:,n+1) = X(:,n) - (H(:,:,n))\\G(:,n);
F(1,n+1) = subs(f,c,X(:,n+1)');
G(:,n+1) = subs(g,c,X(:,n+1)');
H(:,:,n+1) = subs(h,c,X(:,n+1)');
HN(:,:,n+1) = inv(H(:,:,n+1));
end
end
执行matlab代码:
[X, H, F, G, HN] = Newton(f,H0,x0,m,k);
即可得到优化结果,下表是迭代次数 k 分别为:0、1、2、3时的输出值:
k k k | x k x_k xk | f ( x k ) f(x_k) f(xk) | ∇ f ( x k ) \\nabla f(x_k) ∇f(xk) | H ( x k ) H(x_k) H(xk) |
---|---|---|---|---|
0 | ( 0 , 0 ) (0,0) (0,0) | 81 | ( − 108 , 0 ) (-108, 0) (−108,0) | ( 110 − 6 − 6 18 ) \\beginpmatrix110 & -6 &\\\\-6 & 18 &\\\\\\endpmatrix (110−6−618) |
1 | ( 1 , 0.3333 ) (1, 0.3333) (1,0.3333) | 16 | ( − 32 , 0 ) (-32, 0) (−32,0) |
(
50
−
6
−
6
18
)
\\beginpmatrix50 & -6 &\\\\-6 & 18 &\\\\\\endpmatrix
(50以上是关于怎样运用matlab实现无约束非线性优化问题中的多种方法?的主要内容,如果未能解决你的问题,请参考以下文章
无约束优化问题中牛顿法与拟牛顿法四种迭代方法的matlab实现 无约束优化问题中牛顿法与拟牛顿法四种迭代方法的matlab实现 实现nlopt为matlab接口API(非线性约束下的最优化) |