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

优化一个变量的函数

于 2022-01-26 发布 文件大小:3.21 kB
0 209
下载积分: 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 个回复

  • 哈弗曼压缩
    huffuman压缩是一种无损压缩,本程序采用huffuman算法,利用最建树,并利用哈希表,加快寻找各结点效率,压缩在百分之八十
    2022-02-14 05:57:36下载
    积分:1
  • 研究动态可重构FFT或基于OFDM技术的认知无线电
    OFDM已经被广泛应用于各种通信系统中,例如IEEE802.11a/n[2]、[3]、IEEE802.16e(WiMAX)和MB-OFDM。正交频分复用(OFDM)为所需的频带安排数据,并通过IFFT将其转换成正交频率信号并发送出去。
    2022-12-05 05:25:03下载
    积分:1
  • 数独游戏在PHP语言懒惰的球员
    应用背景样品/ /应用程序可能需要比正常的PHP执行长和,和,/ /时间。所以将执行时间限制为0(无限)。 ; ; ;set_time_limit(0);和公司的; ; ; ;//输入数独数组的格式排= =列数组映射 ; ; ;$数独=阵列( ; ; ; ; ; ;阵列(0,4,0,0,5,3,1,0,2), ; ; ; ; ; ;阵列(2,0,8,1,0,0,7,0,0), ; ; ; ; ; ;阵列(5,0,1,4,2,0,6,0,0), ; ; ; ; ; ;阵列(8,1,4,0,3,0,2,0,7), ; ; ; ; ; ;阵列(0,6,0,2,0,5,0,1,9), ; ; ; ; ; ;阵列(0,5,0,7,4,0,0,6,3), ; ; ; ; ; ;阵列(0,0,0,0,7,4,5,8,1), ; ; ; ; ; ;阵列(1,8,5,9,0,2,0,0,0), ; ; ; ; ; ;阵列(4,0,3,0,0,8,0,2,6)和“;”);和公司的; ; ; ;//创建一个对象sudokusolver。 ; ; ;解决美元=新sudokusolver();和公司的; ; ; ;/ /通过输入数独达到求解目标。 ; ; ;解决美元>;输入($数独);和公司的; ; ; ;/解决数独和返回的解决数独。 ; ; ;解决解决美元美元= >;解决();和公司的; ; ; ;/ /打印格式输入数独 ; ; ;打印“
    2023-03-30 20:25:03下载
    积分:1
  • opencv c++色彩恢复的多尺度Retinex(MSRCR)
    基于opencv的色彩恢复的多尺度Retinex算法(MSRCR),属于夜间图像增强算法,对去雾也有一定的处理效果,可直接运行,效果比较理想。基于opencv的色彩恢复的多尺度Retinex算法(MSRCR),属于夜间图像增强算法,对去雾也有一定的处理效果,可直接运行,效果比较理想。
    2022-01-30 14:20:22下载
    积分:1
  • 立体匹配
    应用背景此代码是用于BP立体匹配,你可以使用它在Windows系统。下载它,那么你应该创建一个程序在VS,然后添加的。CPP和。H代码文件的程序。使用的代码可以发现在“readme”文本。所以好好享受吧!关键技术这个代码很容易使用,我会教你编译它并运行它的功能。
    2022-12-28 21:50:04下载
    积分:1
  • tacticians of the commonly used algorithms
    运筹学中常用到的算法-tacticians of the commonly used algorithms
    2022-08-06 05:43:23下载
    积分:1
  • contour detection by ant colony optimization
    这是一个利用蚁群算法进行图像边缘检测的程序,基于论文“图像边缘检测的蚁群优化算法”,IEEE进化计算大会(CEC),第751-756页,香港,2008年6月。输入:
    2022-06-16 07:46:26下载
    积分:1
  • 清华大学2002年出版的《科学与工程数值计VC++》配套源码,包括复数计、矩阵运、插值计、线性非线性方程组求解、数值积分、数值拟和与逼近等和类,...
    清华大学2002年出版的《科学与工程数值计算算法VC++》配套源码,包括复数计算、矩阵运算、插值计算、线性非线性方程组求解、数值积分、数值拟和与逼近等算法和类,对于科学和工程数值计算很有参考价值!-Qinghua University, in 2002 published "Science and engineering numerical algorithm VC++" complementary source, includes the plural, matrix computation, interpolation, linear solve nonlinear equations, numerical integration, and the proposed numerical approximation algorithms and other categories, science and engineering numerical computation of great reference value!
    2022-01-25 16:31:39下载
    积分:1
  • / = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = /功能annot
    //=== === === === === === === = //函数说明 //函数名称:PolyFit //函数功能:最小二乘法曲线拟合 //使用方法:double *x ---- 存放n个数据点的X坐标 // double *y ---- 存放n个数据点的Y坐标 // int n -------- 给定数据点个数 // double *a ---- 返回m-1次拟合多项式的m个系数 // int m -------- 拟合多项式的项数,即拟合多项式的最高次为m-1。要求m20,则本函数自动按m=min{n,20}处理 // double *dt --- dt[0]返回拟合多项式与各数据点误差的平方和;dt[1]返回拟合多 // 项式与各数据点的误差绝对值之和;dt[2]返回拟合多项式与各数据 // 点误差绝对值的最大值 //注意事项:拟合多项式的形式为 y = b0 + b1*(x-Xavr)... -//=== === === === === ==== === === === === === === ==== === =// function annotations// function name : PolyFit// Function functions : Least Squares Curve Fitting// Use : double* x n-store data point coordinates of the X//* y double-storage n data point Y coordinates// int n-------- given the number of data points//* a double---- returned to the m-1 m fit polynomial coefficients// int m-------- polynomial fitting items , which is the highest polynomial fitting time for m-1. Request m
    2023-07-25 11:15:03下载
    积分:1
  • 五子棋人机对战游戏
    本文用visual c++来设计与实现简单的五子棋人机对战游戏的基本功能,玩家可以在游戏区域中适当的位置来放棋子,通过程序设计让电脑选择最佳的落棋点,来实现人机对战。 文中对该游戏的算法进行了详细的介绍,其中核心内容包括界面的设计、最佳落棋位置的判断以及游戏胜利判断功能的实现。程序实现起来较简单,同时也比较实用。
    2022-02-24 15:28:25下载
    积分:1
  • 696516资源总数
  • 106918会员总数
  • 4今日下载