导航:首页 > 源码编译 > 求最优解的算法

求最优解的算法

发布时间:2022-04-11 17:48:38

A. Matlab神经网络原理中可以用于寻找最优解的算法有哪些

若果对你有帮助,请点赞。
神经网络的结构(例如2输入3隐节点1输出)建好后,一般就要求神经网络里的权值和阈值。现在一般求解权值和阈值,都是采用梯度下降之类的搜索算法(梯度下降法、牛顿法、列文伯格-马跨特法、狗腿法等等),这些算法会先初始化一个解,在这个解的基础上,确定一个搜索方向和一个移动步长(各种法算确定方向和步长的方法不同,也就使各种算法适用于解决不同的问题),使初始解根据这个方向和步长移动后,能使目标函数的输出(在神经网络中就是预测误差)下降。 然后将它更新为新的解,再继续寻找下一步的移动方向的步长,这样不断的迭代下去,目标函数(神经网络中的预测误差)也不断下降,最终就能找到一个解,使得目标函数(预测误差)比较小。
而在寻解过程中,步长太大,就会搜索得不仔细,可能跨过了优秀的解,而步长太小,又会使寻解过程进行得太慢。因此,步长设置适当非常重要。
学习率对原步长(在梯度下降法中就是梯度的长度)作调整,如果学习率lr = 0.1,那么梯度下降法中每次调整的步长就是0.1*梯度,
而在matlab神经网络工具箱里的lr,代表的是初始学习率。因为matlab工具箱为了在寻解不同阶段更智能的选择合适的步长,使用的是可变学习率,它会根据上一次解的调整对目标函数带来的效果来对学习率作调整,再根据学习率决定步长。
机制如下:
if newE2/E2 > maxE_inc %若果误差上升大于阈值
lr = lr * lr_dec; %则降低学习率
else
if newE2 < E2 %若果误差减少
lr = lr * lr_inc;%则增加学习率
end
详细的可以看《神经网络之家》nnetinfo里的《[重要]写自己的BP神经网络(traingd)》一文,里面是matlab神经网络工具箱梯度下降法的简化代码

B. 数学建模怎样处理一堆数据然后求出最优解

优化问题的话可以考虑用lingo求解,语法不难,看一个例子就会了,问题复杂的话需要比较长的时间,起码是半个小时,有的还要一晚上,因为它是不停迭代求解。也可以用MATLAB进行算法求解,比较着名的有模拟退火算法,蚁群算法,粒子群算法等等,都有现成的程序。

C. 神经网络算法可以求最优解嘛

神经网络可以做优化问题,但不一定能找到最优解。

逻辑性的思维是指根据逻辑规则进行推理的过程;它先将信息化成概念,并用符号表示,然后,根据符号运算按串行模式进行逻辑推理;这一过程可以写成串行的指令,让计算机执行。

直观性的思维是将分布式存储的信息综合起来,忽然间产生的想法或解决问题的办法。这种思维方式的根本之点在于以下两点:

1、信息是通过神经元上的兴奋模式分布存储在网络上。

2、信息处理是通过神经元之间同时相互作用的动态过程来完成的。

神经网络:

思维学普遍认为,人类大脑的思维分为抽象(逻辑)思维、形象(直观)思维和灵感(顿悟)思维三种基本方式。

人工神经网络就是模拟人思维的第二种方式。这是一个非线性动力学系统,其特色在于信息的分布式存储和并行协同处理。虽然单个神经元的结构极其简单,功能有限,但大量神经元构成的网络系统所能实现的行为却是极其丰富多彩的。

D. 请问数钱的贪婪算法怎样确保得到最优解

贪婪算法:总是作出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,它所做出的仅是在某种意义上的局部最优解。
(注:贪婪算法不是对所有问题都能得到整体最优解,但对范围相当广泛的许多问题它能产生整体最优解。但其解必然是最优解的很好近似解。

基本思路:——从问题的某一个初始解出发逐步逼近给定的目标,以尽可能快的地求得更好的解。当达到某算法中的某一步不能再继续前进时,算法停止

实现该算法的过程:
从问题的某一初始解出发;
while 能朝给定总目标前进一步 do
求出可行解的一个解元素;
由所有解元素组合成问题的一个可行解;

基本要素:
1、 贪婪选择性质:所求问题的整体最优解可以通过一系列局部最优的选择,即贪婪选择来达到。(与动态规划的主要区别)
采用自顶向下,以迭代的方式作出相继的贪婪选择,每作一次贪婪选择就将所求问题简化为一个规模更小的子问题。
对于一个具体问题,要确定它是否具有贪婪选择的性质,我们必须证明每一步所作的贪婪选择最终导致问题的最优解。通常可以首先证明问题的一个整体最优解,是从贪婪选择开始的,而且作了贪婪选择后,原问题简化为一个规模更小的类似子问题。然后,用数学归纳法证明,通过每一步作贪婪选择,最终可得到问题的一个整体最优解。
2、最优子结构性质:包含子问题的最优解
1、 设有n个活动的安排,其中每个活动都要求使用同一资源,如演讲会场,而在同一时间只允许一个活动使用这一资源。每个活动都有使用的起始时间和结束时间。问:如何安排可以使这间会场的使用率最高。
活动 起始时间 结束时间
1 1 4
2 3 5
3 0 6
4 5 7
5 3 8
6 5 9
7 6 10
8 8 11
9 8 12
10 2 13
11 12 14

算法:一开始选择活动1,然后依次检查活动一i是否与当前已选择的所有活动相容,若相容则活动加入到已选择的活动集合中,否则不选择活动i,而继续检查下一活动的相容性。即:活动i的开始时间不早于最近加入的活动j的结束时间。
Prodere plan;
Begin
n:=length[e];
a {1};
j:=1;
for i:=2 to n do
if s[i]>=f[j] then
begin a a∪{i};
j:=i;
end
end;

例1 [找零钱] 一个小孩买了价值少于1美元的糖,并将1美元的钱交给售货员。售货员希望用数目最少的硬币找给小孩。假设提供了数目不限的面值为2 5美分、1 0美分、5美分、及1美分的硬币。售货员分步骤组成要找的零钱数,每次加入一个硬币。选择硬币时所采用的贪婪准则如下:每一次选择应使零钱数尽量增大。为保证解法的可行性(即:所给的零钱等于要找的零钱数),所选择的硬币不应使零钱总数超过最终所需的数目。

假设需要找给小孩6 7美分,首先入选的是两枚2 5美分的硬币,第三枚入选的不能是2 5美分的硬币,否则硬币的选择将不可行(零钱总数超过6 7美分),第三枚应选择1 0美分的硬币,然后是5美分的,最后加入两个1美分的硬币。

贪婪算法有种直觉的倾向,在找零钱时,直觉告诉我们应使找出的硬币数目最少(至少是接近最少的数目)。可以证明采用上述贪婪算法找零钱时所用的硬币数目的确最少(见练习1)。

E. 最优化计算方法,求最优解,在线等,急

227,0,1,参考一下

F. 请高手:求最优解算法!!!题目如下:

个人的理解,程序可能会花点时间写。
定义数组 a(m,n)
该问题的数学模型应该如下
z=min(a(1,1)+a(1,2)+……+a(m,n))即所用的机器人最少
约束条件是:
a(i,j)=0或者1(当等于0时表明此格不安放机器人,1则表示安装i=1,2…m j=1,2…n)
a(i-1,j)+a(i+1,j)+a(i,j-1)+a(i,j+1)>=1 前后左右至少有一个机器人,i=1,2…m j=1,2…n)。当然,当i-1=0,j-1=0 ,i+1>m,j+1>n 四情况下a(i-1,j) =0 a(i+1,j)=0 a(i,j-1)=0 a(i,j+1) =0 此时即边角陈列室的情况,因为处于边上的陈列室,其前后左右一边或2边没有其他陈列室,因此不可能设置
监视。

该问题的求解,我觉得可以用运筹学的0,1规划,具体你可以查查资料看看。
祝你成功!

G. 混沌优化算法可以求解全局最优解吗

非线性最优化问题的一种混合解法

摘 要:把BFGS方法与混沌优化方法相结合,基于混沌变量提出一种求解具有变量边界约束非线性最优化问题的混合优化方法。混合算法兼顾了混沌优化全局搜索能力强和BFGS方法收敛速度快的优点,成为一种求解非凸优化问题全局最优的有效方法。算例表明,当混沌搜索的次数达到一定数量时,混合优化方法可以保证算法收敛到全局最优解,且计算效率比混沌优化方法有很大提高。

关键词:混合法;BFGS方法;混沌优化方法;全局最优

1 引言
在系统工程、控制工程、统计学、反问题优化求解等领域中,很多问题是具有非凸性的。对此普通的优化技术只能求出局部最优解,因为这些确定性算法总是解得最近的一个极值点[1],只有能够给出很好的初始点才有可能得出所需要的全局最优解。为此,实际应用中通过在多个初始点上使用传统数值优化方法来求取全局解的方法仍然被人们所采用,但是这种处理方法求得全局解的概率不高,可靠性低,建立尽可能大概率的求解全局解算法仍然是一个重要问题。近年来基于梯度法的全局最优化方法已经有所研究[2],基于随机搜索技术的遗传算法和模拟退火算法等在全局优化问题中的应用也得到越来越大的重视[3-4]。本文则基于混沌优化和BFGS方法,提出一种求解具有简单界约束最优化问题(1)的混合算法。
混沌是存在于非线性系统中的一种较为普遍的现象。混沌运动宏观上无序无律,具有内随机性、非周期性和局部不稳定性,微观上有序有律,并不是完全的随机运动,具有无穷嵌套的自相似几何结构、存在普适性规律,并不是杂乱无章的。利用混沌变量的随机性、遍历性和规律性特点可以进行优化搜索[5],且混沌优化方法容易跳出局部最优点。但是某些状态需要很长时间才能达到,如果最优值在这些状态时,计算时间势必很长[5]。可以说混沌优化具有全局搜索能力,其局部搜索能力稍显不足,文[5]采用二次载波技术,文[6]考虑逐渐缩小寻优变量的搜索空间都是为了弥补这一弱点。而本文则采用混沌搜索与BFGS方法进行优化求解,一方面采用混沌搜索帮助BFGS方法跳出局部最优,另一方面利用BFGS增强解附近的超线性收敛速度和搜索能力,以提高搜索最优的效率。
2 混沌-BFGS混合优化方法
2.1 BFGS方法
作为求解无约束最优化问题的拟牛顿方法类最有代表性的算法之一,BFGS方法处理凸非线性规划问题,以其完善的数学理论基础、采用不精确线性搜索时的超线性收敛性和处理实际问题有效性,受到人们的重视[7-9]。拟牛顿方法使用了二阶导数信息,但是并不直接计算函数的Hesse矩阵,而是采用一阶梯度信息来构造一系列的正定矩阵来逼近Hesse矩阵。BFGS方法求解无约束优化问题min()的主要步骤如下:
(1) 给变量赋初值x0,变量维数n和BFGS方法收敛精度ε,令B0=I(单位阵),k=0,计算在点x0的梯度g0。
(2) 取sk=-Bk-1gk,沿sk作一维搜索,确定最优步长αk,,得新点xk+1=xk+αksk,计算xk+1点的梯度gk+1。
(3) 若||gk+1||≤ε,则令,,BFGS搜索结束,转步骤3;否则执行(4)。
(4) 计算Bk+1:
(2)
(3)
(5) k=k+1,转(2)。
2.2 混沌优化方法
利用混沌搜索求解问题(1)时,先建立待求变量与混沌变量的一一对应关系,本文采用。然后,由Logistic映射式(4)产生个轨迹不同的混沌变量()进行优化搜索,式(4)中=4。已经证明,=4是“单片”混沌,在[0,1]之间历遍。
(4)
(1)给定最大混沌变量运动次数M;给赋初值,计算和;置,。
(2) 。
(3) 。
(4) 若k<M,
若,令,;
若,和保持不变;
然后令k=k+1,,转(2)。
若k>M,则,,混沌搜索结束。
2.3 混合优化方法
混沌方法和BFGS方法混合求解连续对象的全局极小值优化问题(1)的步骤如下:
step1 设置混沌搜索的最大次数M,迭代步数iter=0,变量赋初值x0,。
step2 以为始点BFGS搜索,得当前BFGS方法最优解及=。
step3 若,取=;若,取;若,取,是相对于,较小的数。
step 4 以为始点进行混沌搜索M次,得混沌搜索后的最优解及=。
step5 若<,iter=iter+1,,转step2;否则执行step6。
step6 改变混沌搜索轨迹,再次进行混沌搜索,即给加微小扰动,执行step 4,得搜索结果和。若<,iter=iter+1,,转step2;否则计算结束,输出、。
对全局极大值问题,max ,可以转化为求解全局极小问题min 。
混合算法中混沌搜索的作用是大范围宏观搜索,使得算法具有全局寻优性能。而BFGS搜索的作用是局部地、细致地进行优化搜索,处理的是小范围搜索问题和搜索加速问题。
3 算例

图 1 函数-特性示意图 图 2 函数特性示意图
采用如下两个非常复杂的、常用于测试遗传算法性能的函数测试本文算法:

函数称为Camel 函数,该函数有6个局部极小点(1.607105, 0.568651)、(-1.607105, -0.568651)、(1.703607, -0.796084)、(-1.703607, 0.796084)、(-0.0898,0.7126)和(0.0898,-0.7126),其中(-0.0898,0.7126)和(0.0898,-0.7126)为两个全局最小点,最小值为-1.031628。函数称为 Schaffer's函数,该函数有无数个极大值,其中只有(0,0)为全局最大点,最大值为1。此函数的最大峰值周围有一圈脊,它们的取值均为0.990283,因此很容易停留在此局部极大点。文献[10]采用该函数对该文提出的基于移动和人工选择的改进遗传算法(GAMAS)其性能进行了考察,运行50次,40%的情况下该函数的唯一全局最优点能够找到。而采用本文混合算法,由计算机内部随机函数自动随机生产100个不同的初始点,由这些初始点出发,一般混合算法迭代2-4次即能够收敛。M取不同数值时对函数、的计算结果分别如表1和表2所示,表中计算时间是指在奔腾133微机上计算时间。
由表2可见,当M=1500时,本文方法搜索到最优解的概率即达到40%,而此时计算量比文献[10]小。同样由混合算法的100个起始点,采用文献[5]的算法对函数优化计算100次,以作为收敛标准,混沌搜索50000次,计算结果为67次搜索到最优解,概率为67%,平均计算时间为1.2369s。而即使保证混合算法100次全收敛到最优解所花费的平均计算时间也只为0.2142s(表1),可见混合算法优于文献[5]的方法。
表1 M取不同数值时函数的计算结果
_____________________________________________________________________
M 搜索到全局最优点的次数 搜索到最优的概率 平均计算时间
(-0.0898,0.7126) (0.0898,-0.7126)
_____________________________________________________________________________________________
1000 44 39 83% 0.1214s
3000 53 45 98% 0.1955s
5000 53 47 100% 0.2142s
________________________________________________________________________________________________

表2 M取不同数值时函数的计算结果
___________________________________________________________
M 搜索到全局最优点的次数 搜索到最优的概率 平均计算时间
____________________________________________________________________________________
1500 40 40% 0.1406s
5000 73 73% 0.2505s
10000 88 88% 0.4197s
50000 100 100% 1.6856s
____________________________________________________________________________________

4 计算结果分析
由表1和表2可见,混合算法全局寻优能力随M的增加而增大,当M达到某一足够大的数值Mu后,搜索到全局最优的概率可以达到100%。
从理论上说,Mu趋向无穷大时,才能使混沌变量遍历所有状态,才能真正以概率1搜索到最优点。但是,本文混沌运动M次的作用是帮助BFGS方法跳出局部最优点,达到比当前局部最优函数值更小的另一局部最优附近的某一点处,并不是要混沌变量遍历所有状态。由混沌运动遍历特性可知,对于某一具体问题,Mu达到某一具体有限数值时,混沌变量的遍历性可以得到较好模拟,这一点是可以满足的,实际算例也证实了这一点。
由于函数性态、复杂性不同,对于不同函数,如这里的测试函数、,数值Mu的大小是有差别的。对于同一函数,搜索区间增大,在相同混沌运动次数下,即使始点相同,总体而言会降低其搜索到全局最优的概率,要保证算法仍然以概率1收敛到全局最优,必然引起Mu 增大。跟踪计算中间结果证实,当M足够大时,混合算法的确具有跳出局部最优点,继续向全局最优进行搜索的能力;并且混合算法的计算时间主要花费在为使混合算法具有全局搜索能力而进行混沌搜索上。
5 结语
利用混沌变量的运动特点进行优化,具有非常强的跳出局部最优解的能力,该方法与BFGS方法结合使用,在可以接受的计算量下能够计算得到问题的最优解。实际上,混沌优化可以和一般的下降类算法结合使用,并非局限于本文采用的BFGS方法。采用的Logistic映射产生混沌变量序列,只是产生混沌变量的有效方式之一。
混沌运动与随机运动是不同的。混沌是确定性系统中由于内禀随机性而产生的一种复杂的、貌似无规的运动。混沌并不是无序和紊乱,更像是没有周期的秩序。与随机运动相比较,混沌运动可以在各态历经的假设下,应用统计的数字特征来描述。并且,混沌运动不重复地经过同一状态,采用混沌变量进行优化比采用随机变量进行优化具有优势。
混沌优化与下降类方法结合使用是有潜力的一种全局优化途径,是求解具有变量界约束优化问题的可靠方法。如何进一步提高搜索效率,以及如何把混沌优化有效应用于复杂约束优化问题是值得进一步研究的课题。
本文算法全局收敛性的严格数学证明正在进行之中。
参考文献
[1]胡山鹰,陈丙珍,何小荣,沈静珠.非线性规划问题全局优化的模拟退火法[J].清华大学学报,37(6),1997,5-9.
[2]C A Floudas, A Aggarwal, A R Ciric. Global optimum search for nonconvex NLP and MINLP problems[J]. Comput Chem Engng. 1989, 13(10), 1117~1132.
[3]康立山,谢云,尤矢勇等.非数值并行算法(第一册)――模拟退火算法[M].北京:科学出版社,1998.
[4]刘勇,康立山,陈琉屏.非数值并行算法(第二册)――遗传算法[M].北京:科学出版社,1998.
[5]李兵,蒋慰孙.混沌优化方法及其应用[J].控制理论与应用,14(4),1997,613-615.
[6]张彤,王宏伟,王子才.变尺度混沌优化方法及其应用[J].控制与决策,14(3),1999,285-287.
[7]席少霖.非线性最优化方法[M].北京:高等教育出版社,1992.
[8]席少霖,赵凤志.最优化计算方法[M].上海:上海科学技术出版社,1983.
[9]Press W H, Tenkolsky S A, Vetterling W T, Flannery B P.Numerical Recipes in C, The Art of Scientific Computing[M]. Second edition, Cambridge University Press, 1992.
[10]J C Ports.The development and evaluation of an improved genetic algorithm based on migration and artificial selection[J].IEEE Trans. Syst. Man and Cybern..1994, 24(1),73-85.
A Hybrid Approach for Nonlinear Optimization
Abstract:Combined BFGS method with chaos optimization method, a hybrid approach was proposed to solve nonlinear optimization problems with boundary restraints of variables. The hybrid method is an effective approach to solve nonconvex optimization problems, as it given both attentions to the inherent virtue to locate global optimum of chaos optimization method and the advantage of high convergence speed of BFGS method. Numerical examples illustrate that the present method possesses both good capability to search global optima and far higher convergence speed than that of chaos optimization method.

阅读全文

与求最优解的算法相关的资料

热点内容
win10如何加密系统软件 浏览:17
ipad看扫描pdf 浏览:686
淘宝检测云服务器 浏览:162
孝庄命令鳌拜救康熙 浏览:263
文件压缩还是太大 浏览:6
文件加密器91好破解吗 浏览:136
学生编程思想的培养 浏览:409
新建不了文件夹怎么回事 浏览:271
军地两用人才之友pdf 浏览:601
头条视频算法推荐机制改版 浏览:919
加密的pdf文件怎么打开 浏览:658
如何将数据传到服务器查找服务器读取数据 浏览:1004
怎么知道服务器上是否在运行代码 浏览:856
单片机多联机 浏览:216
知乎软件源码 浏览:297
解压音频最新消息 浏览:117
如何弄崩一个mc服务器 浏览:136
执行命令怎么取消 浏览:902
美拍app长什么样 浏览:294
android滚动选择图片 浏览:484