登录
首页 » 算法 » 优化一个变量的函数

优化一个变量的函数

于 2022-01-26 发布 文件大小:3.21 kB
0 207
下载积分: 2 下载次数: 1

代码说明:

翻译 maninwest@Codeforge 作者:John D. Cook@CodeProject这里介绍一个算法,优化化带有一个变量的函数而不需要导数。通常,需要导数的方法稳定但是慢,不需要导数的方法快捷但是不稳定。这里实现的这个方法稳定且高效。这个方法开始是Richard Brent 实现的。 给定一个函数  f(x) 和一个区间l [a, b], 该方法是找出函数 f(x) 在 [a, b] 区间的最小值。该方法也可以用于找出最大值。要找出最大值,指向传递原函数的反函数。即 f(x) 的最大值出现在-f(x) 的最小值点。Brent 的方法比较稳定。也很容易使用。用户不需要提供导数函数。该方法为了稳定牺牲了一些效率,但是相比其他稳定的方法如黄金分割法,则更加快捷。使用函数这里给出的代码是一个 C++ 函数和使用此函数的示例项目。要在你自己的项目中使用,只需在 Brent.h.头文件中添加#include 即可。最小化函数的主要输入是一个模板化实参,一个函数对象实现目标函数最小化。目标函数必须使用签名 double operator()(double x)实现 Public 方法。例如,这里是一个用于计算函数 f(x) = -x exp(-x) 的函数对象类。 class foo { public: double operator()(double x) {return -x*exp(-x);} };代码需要函数对象而不是函数的主要原因是,需要在应用中优化的函数,除了函数实参外,还要依赖参数。函数对象可以有很多参数,它们在找到一个变量的结果函数最小值前固定。其他实参是函数需要找到最小值的区间的终点,偏差用于停止, 一个输出参数用

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • 浙江大学程序设计大赛ACM2478题我自己收集的
    浙江大学程序设计大赛ACM2478题我自己收集的-Zhejiang University Design Competition ACM2478 that my own collection
    2022-06-26 07:22:21下载
    积分:1
  • C、 人工智慧、 BFS 和 DFS
    出差旅行推销员的问题,解决问题使用人工智能此代码
    2022-08-25 16:42:27下载
    积分:1
  • VC prepared using a multi
    用VC编写的一个多功能图形界面计算器,不仅能实现简单的加减乘除,还能实现乘方,开方等算术。-VC prepared using a multi-functional graphical interface calculator, not only simple addition and subtraction, multiplication and division to achieve, but also the realization of involution, evolution, such as arithmetic.
    2022-04-02 00:31:00下载
    积分:1
  • 模拟分时系统
    模拟分时系统-Simulation of Time-Sharing System
    2022-03-14 18:50:12下载
    积分:1
  • 数字签名
    数字签名算法实现: 其加密方案技术来生成签名。它包含 4 的算法。一代大的素数的第一种算法,第二种算法生成的密钥、 第三种算法实现长沙 1 和第四个算法生成的签名。
    2022-04-24 11:31:07下载
    积分:1
  • Freak
    应用背景大量视觉应用依赖于整个图像匹配关键点。在过去的十年中对功能更快,更稳健的关键点和关联算法族群包括:尺度不变特征变换(SIFT),提速强大的功能(SURF),以及最近的二进制稳健不变可扩展关键点(BRISK),仅举几例。关键技术我们提出了一个新的关键点描述符的灵感来自于人类视觉系统和更精确的视网膜上,创造了快速视网膜关键点(FREAK)。二进制串的级联是通过有效地在视网膜的采样模式比较图像强度计算。
    2022-02-10 17:20:59下载
    积分:1
  • 测试用9721
    测试用9721
    2023-08-15 11:10:02下载
    积分:1
  • 编程序管理学生成绩,计并输出学生姓名、各公共课的成绩、平均分和总分,专业课会计学成绩、经济学成绩以及所有课程的总成绩。在main函数中进行测试。...
    编程序管理学生成绩,计算并输出学生姓名、各公共课的成绩、平均分和总分,专业课会计学成绩、经济学成绩以及所有课程的总成绩。在main函数中进行测试。-Procedures for the management of student achievement, students calculate and output the name of the results of the public courses, with an average points and total score, specialized accounting results, performance and economics of the total score of all courses. In the main function for testing.
    2022-01-24 13:06:21下载
    积分:1
  • 行编辑:可将输错的单个字符删除,也可将又错误的一行字符删除。操作简便。用栈来实现上述功能。...
    行编辑算法:可将输错的单个字符删除,也可将又错误的一行字符删除。操作简便。用栈来实现上述功能。-line editor algorithm : can be wrong deletion of a single character, and it can also wrong to delete his characters. Easy to operate. Stack used to achieve the above functions.
    2022-02-02 23:01:42下载
    积分:1
  • 动态环境下的粒子群源代码
    资源描述该课题旨在将动态优化问题(目标函数随时间连续、缓慢或突然、随机变化的情况)连续变化的时间变量区间进行任意划分,在得到的每个时间子区间上将动态问题转化为静态问题,针对此静态优化问题设计相应的遗传算法。同时给出一种能自动检测时间变化的应答算子。
    2022-05-20 22:16:14下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载