参考资料

《精通MATLAB最优化计算(第二版)》

数值实现

Matlab 2019a

目录

石中居士:最优化计算与Matlab实现——目录​zhuanlan.zhihu.com


进退法

  • 原理

用来确定搜索区间(包含极小点的区间)的算法,其理论依据为:

为单谷函数(只有一个极小值),且
为其极小点的一个搜索区间,对于任意
,如果
,则
为极小点的搜索区间,如果
,则
为极小点的搜索区间。

因此,在给定初始点

,及初始搜索步长
的情况下,首先以初始步长向前搜索一步,计算

(1)如果

则可知搜索区间为

,其中
待求,为确定
后退一步计算
为缩小系数,且
,直至找到合适的
,使得
,从而确定搜索区间

(2)如果

则可知搜索区间为

,其中
待求,为确定
,前进一步计算
为放大系数,且
,直至找到合适的
,使得
,从而确定搜索区间
  • 算法步骤

用进退法求一维无约束问题

的搜索区间(包含极小点的区间)的基本算法步骤如下:

【1】给定初始点

,初始步长
,令

【2】令

,置

【3】若

,则转【4】,否则转【5】;

【4】令

,令
,转【2】;

【5】若

,则转【6】,否则转【7】;

【6】令

,转【2】;

【7】令

,停止计算,极小点包含于区间
  • Matlab代码与试算(稍作改动)

test.m

% 基于Matlab2019a

Advance_and_Retreat_Method.m

%   进退法

命令行窗口

x1 

由上可知,

的极值点在区间
内,然后就可以用各种一维搜索技术求
的极值。

目录

石中居士:最优化计算与Matlab实现——目录​zhuanlan.zhihu.com


matlab求二元函数极值算法_最优化计算与matlab实现(3)——进退法相关推荐

  1. PSO粒子群算法(鸟群算法)计算二元函数极值(C语言实现、matlab工具箱实现)

    算法讲解和感悟   PSO算法是经典的智能优化算法,在数学建模等比赛中非常常用,求解时的效果不错.对于智能优化算法,个人倾向于matlab实现,因为计算起来非常方便.但是这次因为老师的要求,准备C语言 ...

  2. matlab优化算法案例分析与应用_最优化计算与matlab实现(18)——粒子群优化算法——权重改进的粒子群算法...

    参考资料 <精通MATLAB最优化计算(第二版)> 编程工具 Matlab 2019a 目录 石中居士:最优化计算与Matlab实现--目录​zhuanlan.zhihu.com 权重改进 ...

  3. c++分治法求最大最小值实现_最优化计算与matlab实现(12)——非线性最小二乘优化问题——G-N法...

    参考资料 <精通MATLAB最优化计算(第二版)> 编程工具 Matlab 2019a 目录 石中居士:最优化计算与Matlab实现--目录​zhuanlan.zhihu.com 非线性最 ...

  4. 遗传算法求二元函数极值怎么编码_使用遗传算法求二元函数的最小值

    二元函数为y=x1^2+x2^2,x∈[-5,5] NIND=121; %初始种群的个数(Number of individuals) NVAR=2; %一个染色体(个体)有多少基因 PRECI=20 ...

  5. 遗传算法(GA)计算二元函数极值(C语言实现、matlab工具箱实现)

      前段时间尝试了C语言实现PSO算法求计算二元函数极值,这几天稍微空闲下来了又想尝试用另一种比PSO难一点的经典智能优化算法解决这个问题.   PSO传送门   遗传算法应用还是非常广泛的.之前打数 ...

  6. 遗传算法求二元函数极值怎么编码_遗传算法求解一元函数二元函数最值

    ##--------------------------施工中----------------------------## import random import math import numpy ...

  7. 遗传算法求二元函数极值怎么编码_遗传算法求解二元函数极值源码

    网上看到了一个比较不错的讲解遗传算法的帖子,链接如下 http://blog.csdn.net/b2b160/article/details/4680853 但是却没有贴源代码,正好最近闲来无事,就尝 ...

  8. 遗传算法求二元函数极值怎么编码_用遗传算法求复杂函数的极值点

    确定遗传 在元素个体,遗传得到的个体和变异个体中选取最好的30个个体(对应的函数值最大的30个个体)作为下一次迭代的父样本. from random import randint from numpy ...

  9. python实现最速下降法求二元函数极值并绘制3D图像

    目标 原函数: f(x) = 2x1x1 + x2x2 -2x1*x2 - 4x1 + 4 起始点 为(0,0) 精度 :误差要求小于 10**(-3) 过程: 直接上代码看注释吧() import ...

最新文章

  1. 大道至简阅读笔记03
  2. php map添加元素,html map标签怎么用
  3. 触发器初接触-同步两个表的指定字段
  4. 1077篇!ICCV2019接收结果公布,你中了吗?(附7篇论文链接,含Oral)
  5. 6 linux 制作raw命令_云计算网络知识学习-linux网络基础
  6. php发送http put/patch/delete请求
  7. 连接服务器框架协议,想要实现:设备通过tcp连接服务器,框架用的是worker或者gateway...
  8. Java中正则表达式替换字符串
  9. web后端http协议使用过程中安全防范及https协议实现原理
  10. 51nod 最长的循环节(对循环小数位的理解+快速幂+欧拉筛)
  11. 接手线上Mysql服务器,我们需要做什么?
  12. c语言程序设计万年历要求功能如下: 1,查询某年某月某日是星期几,c语言万年历...
  13. 全国大学生英语竞赛——作文模板
  14. Mac使用Excel卡顿的提升办法之一
  15. Seurat 4.0 | 单细胞转录组数据整合(scRNA-seq integration)
  16. 银河麒麟加完全自主的龙芯指令集,组合渡劫能否成功
  17. Unity笔记之Unity读取/写入Excel
  18. 抓取赶集网租房信息 python3
  19. html 淡出淡入轮播图,用CSS3 transition属性实现淡入淡出轮播图
  20. python 自行安装第三方库包

热门文章

  1. linux下同时安装多个tomcat实例
  2. IOS --自带二维码扫描
  3. 完毕port(CompletionPort)具体解释 - 手把手教你玩转网络编程系列之三
  4. ​清除error.log、access.log并限制Apache日志文件大小的方法
  5. 近7000字长文详细讲解Java包装类,面试稳了
  6. Scala的继承和多态
  7. [Vue] : 键盘修饰符
  8. XShell与虚拟机连接的IP问题
  9. putty完全使用手册--多窗口---git提交---连接数据库--自动日志显示
  10. Windows 系统下设置Nodejs NPM全局路径