数学建模中优化模型的求解方法[za]
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
型规划问题的具体命令及其使用格式;还介绍了对比较复杂的优化模型,可以运用的最优化算法:神经网络算法、遗传算法、模
拟退火算法、支持向量机和粒子群算法,该文给出了各个算法的运用思路或者具体步骤,方便读者参考引用。
关键词:数学建模 优化模型 MATLAB 优化算法
中图分类号:O1
文献标识码:A
文章编号:1672-3791(2016)08(c)-0139-02
化,最终可转化为一个凸二次规划问题的求解。
2.5 粒子群算法
粒子群算法是基于群体迭代的智能随机优化算法,它求解最
优化问题的一般步骤如下。
S1:建立数学模型,其目标函数设为f。
S2:种群初始化。随机产生一个粒子群,设其包含N个粒子,粒
子群的位置和速度分别设为Pi、Vi,i=1,…,N。
S3:计算每个粒子的最优化函数值f(Pi)。
1.4 二次型规划问题的求解
二次型规划问题是另一种简单的有约束最优化问题,其目标
函数为x的二次型形式,约束条件仍然为线性不定式约束,其数学
表示为:
min
1 2
xTHf
T+
x
■Ax≤ b
s.t.
■ ■Aeq×x
=
beq
■■xm ≤ x ≤ xM
①课题来源:河池学院教改课题(2014EB019)。 作者简介:黄青群(1980—),女,汉,广西梧州人,硕士,讲师,研究方向:优化理论与算法。
1 用 MATLAB 的优化工具箱求解最优化模型
MATLAB是The Mathworks公司推出的一套功能强大的工 程计算及数值分析软件,它是国际科学界应用和影响最广泛的三 大计算机数学语言之一,其优化工具箱的应用包括很多中大型课 题的求解方法,例如:线性、非线性问题的最小化求解、方程求解、 曲线拟合、二次规划问题求解等, 为优化问题的求解提供了方便、 快捷的途径[1]。下面对各类优化问题的求解方法做逐一介绍。 1.1 无约束最优化问题的求解
器,作预测,作参数选择,作控制器等问题。这里详细介绍神经网 络算法在优化计算中的应用。
优化计算即求在某种约束条件下达到最优解的计算。一般,只 要将优化条件存贮在神经网络的权系数和阈值中,网络的工作状 态以动态方程式描述。然后,取一初始值,当系统的状态趋于稳定 时,网络的解(输出)就是所求的最优化的解。 2.2 遗传算法
S4:根据最优化函数值,计算全局最优值f ,粒子位置P=(P1,
P2,…,PD),及每个粒子所经历。
过的最优值‘f ,粒子位置P′=(P’1, P‘2,…,P’D)。 S5:更新每个粒子的速度。
V (t+1)=V j(t)+S r (P‘ -P (t))+S r (P -P (t))
ij
ij
1 1j
遗传算法是一种进化算法,它是计算机科学人工智能领域中 用于解决最优化的一种搜索启发式算法。遗传算法的基本运算过 程如下。
(1)初始化:假设进化代数计数器t=0,假设最大进化代数T,初 始群体P(0)由随机生成的M个个体组成。
(2)个体评价:即计算群体P(t)中各个个体的适应度。 (3)选择运算:即将选择算子作用于群体。选择的目的有两个: 一个是把优化的个体直接遗传到下一代;另一个是通过配对交叉 产生新的个体然后遗传到下一代;在群体中个体的适应度评估基 础上进行选择操作。 (4)交叉运算:即将交叉算子作用于群体。交叉算子在遗传算 法中起核心作用。 (5)变异运算:即将变异算子作用于群体。也就是变动群体中 个体串的某些基因座上的基因值。 群体P(t)经过选择运算、交叉运算、变异运算之后得到下一代 群体P(t+1)。 (6)终止条件判断:若t=T,则进化过程中所得到的具有最大适 应度个体就是最优解,此时终止计算。 2.3 模拟退火算法 模拟退火算法是基于Monte-Carlo迭代求解策略的一种随机 寻优算法。模拟退火算法可以分解为解空间、目标函数和初始解 三部分,它的基本思想如下。 S1初始化:假设初始温度为T(充分大),初始解状态为S(是算 法迭代的起点),每个T值的迭代次数为L。
参考文献
[1] 石磊.MATLAB在最优化模型求解中的应用[J].赤峰学院学 报:自然科学版,2012,28(4):6-7.
[2] 袁亚湘,孙文瑜.最优化理论与方法[M].科学出版社,1997. [3] 王先超,韩波,张开银.粒子群算法在求解数学建模最优化问
题中的应用[J].阜阳师范学院学报:自然科学版,2016,33(2): 117-121.
学术论坛
DOI:10.16661/j.cnki.1672-3791.2016.24.139
科技资讯 2016 NO.24
SCIENCE & TECHNOLOGY INFORMATION
数学建模中优化模型的求解方法①
黄青群 (河池学院数学与统计学院 广西宜州 546300)
摘 要:介绍了运用MATLAB的优化工具箱来求解无约束最优化问题、线性规划优化问题、有约束非线性最优化问题及二次
无约束最优化问题是最简单的一类最优化问题,其一般数学 描述为:
minf(x) x1≤x≤x2 使用的命令是fminbnd,其常用调用格式如下: x=fminbnd(fun,x1,x2) 如果无约束优化问题是多元函数,形如 minF(X) 则可以使用fminunc 函数,其命令格式为: x=fminunc(fun,X0) 1.2 线性规划问题的求解 线性规划问题是一类特殊的问,也是最简单的有约束最优化
2 最优化算法求解最优化模型
当优化模型的复杂性较高或者规模较大时,利用第二节讲到 的优化方法就不一定有效,这时可采用最优化理论的一些优化算 法,如:神经网络算法、遗传算法和模拟退火算法、支持向量机和 粒子群算法等[2-3]。
2.1 神经网络算法 神经网络在数学建模中可以解决优化计算,联想记忆,作分类
140 科技资讯 SCIENCE & TECHNOLOGY INFORMATION
问题,其整个问题的数学描述为:
min z = cX
■ AX≤ b
s.t.
■ ■
Aeq×X
=
beq
■■vlb≤ X ≤vub
可使用命令linprog,调用格式如下:
[x,fval]=linprog(c,A,b,Aeq,beg,vlb,vub)
其中fval为最优值;x为最优解。
1.3 一般非线性规划问题的求解
有约束非线性最优化问题的一般描述为:
Min F (X )
■ AX ≤ b
s. t.
■ ■■ ■
Aeq×X (GX)≤
= 0
beq
■■GEq(X ) = 0
■■VLB ≤ X ≤VUB
其中X为n维向量,Ceq(X)与G(X)皆为非线性函数组成的函
数。可以使用fmincon 函数,其命令格式为:
x=fmincon‘( fun’,X0,A,b,Aeq,beq,VLB,VUB)。
法。
S7T逐渐减少,且T->0,然后转第S2步。
2.4 支持向量机
百度文库
支持向量机是一种分类算法,它为了实现经验风险和置信范
围的最小化,而去寻求结构化风险最小来提高学习机泛化能力,
并且在统计样本量较少的情况下,亦能获得良好统计规律。具体
来说,它是一种二类分类模型,其基本模型定义为特征空间上的
间隔最大的线性分类器,即支持向量机的学习策略便是间隔最大
j ij
2 2j j ij
其中i=1,…,N,j=1,…,D,t为迭代次数,S1和S2非负为学习
因子常数,r 和r 是随机数,它们服从[0,1]上均匀分布且彼此独
1j
2j
立。
更新每个粒子的位置。
Pij(t+1)=Pij(t)+Vij(t+1) S6:判断终止条件是否满足。若满足,输出解,否则转至S3。
科技资讯 SCIENCE & TECHNOLOGY INFORMATION
139
科技资讯 2016 NO.24 SCIENCE & TECHNOLOGY INFORMATION
Matlab的最优化工具箱提供了求解二次型规划问题的 quadprog()函数,该函数的调用格式为:
[x,fval]= quadprog (H,f,A,b,Aeq,beg,x ,x )。 mM
众所周知,连接现实世界和数学的桥梁之一是数学建模,而 从历届数学建模竞赛题目来看,许多问题都可建立优化模型。优 化模型顾名思义就是要从模型中得到最优化的结果,而所谓的最 优化就是找出使得目标函数值达到最小或最大的自变量值的方 法。从其分类看有无约束最优化问题和有约束最优化问题。该文 的目的就是介绍这两类最优化问题的各种求解方法。
学术论坛
S2对k=1, …, L循环第S3步至第S6步:
S3产生新解S′
S4计算增量ΔT=C(S′)-C(S),其中C(S)为评价函数
S5如果ΔT<0,那么接受S′作为新的当前解,否则以概率
exp(-ΔT/T)接受S′作为新的当前解。
S6若满足终止条件则输出当前解作为最优解,结束程序。
终止条件通常取为连续若干个新解都没有被接受时终止算