Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 用于调整/校准启发式算法属性的软件_Linux_Algorithm_Optimization_Heuristics_Calibration - Fatal编程技术网

Linux 用于调整/校准启发式算法属性的软件

Linux 用于调整/校准启发式算法属性的软件,linux,algorithm,optimization,heuristics,calibration,Linux,Algorithm,Optimization,Heuristics,Calibration,今天我读到一个叫做(向下滚动一点)的软件,它可以将带有属性的文本文件作为输入 然后,该程序可以根据算法的输出值优化输入属性。有关更多信息,请参阅或用户文档(请参阅上面的链接;遗憾的是,doc是一个压缩的exe) 你知道其他可以在Linux下运行的软件吗?(最好是开源) 编辑:既然我需要一个java应用程序:我应该像或那样将我的研究投资于java库吗?问题是我不想推出自己的解决方案,也没有时间这么做。你有指向像Calibra这样开箱即用的应用程序的指针吗?(互联网搜索没有成功;我只找到了图书馆)

今天我读到一个叫做(向下滚动一点)的软件,它可以将带有属性的文本文件作为输入

然后,该程序可以根据算法的输出值优化输入属性。有关更多信息,请参阅或用户文档(请参阅上面的链接;遗憾的是,doc是一个压缩的exe)

你知道其他可以在Linux下运行的软件吗?(最好是开源)

编辑:既然我需要一个java应用程序:我应该像或那样将我的研究投资于java库吗?问题是我不想推出自己的解决方案,也没有时间这么做。你有指向像Calibra这样开箱即用的应用程序的指针吗?(互联网搜索没有成功;我只找到了图书馆)


虽然我没有找到一个令人满意的解决方案,但我决定放弃奖金(否则没有人会受益):-((开箱即用的应用程序)

有很多基于遗传算法的软件可以做到这一点。十年或二十年前,我写了一篇博士论文


google for Genetic Algorithms Linux展示了大量的起点。

我对这个问题很感兴趣,我做了一些探索,试图更好地了解CALIBRA的本质,它在学术界的地位,以及在开源和Linux世界中类似项目软件的存在。 对于我的断言可能不完整、不准确甚至完全不正确的情况,请友善(请直接编辑或建议编辑)。在相关领域工作时,我决不是运筹学(或)权威

[算法]参数调整问题是一个定义相对明确的问题,通常被定义为一个解决方案搜索问题,其中,所有可能参数值的组合构成一个解决方案空间,参数调整逻辑的目的是“导航”该空间的[部分]以搜索最优解(或局部最优)一组参数。
给定解决方案的最优性以各种方式进行测量,此类指标有助于指导搜索。在参数调整问题的情况下,给定解决方案的有效性直接或通过函数从算法的输出进行测量[即,正在调整的算法不是调整逻辑的算法!]

作为一个搜索问题,算法参数调整的原则与其他解决方案搜索问题没有显著区别,在其他解决方案搜索问题中,解决方案空间是由给定算法的参数以外的东西定义的。但是,由于它适用于算法本身就是各种各样的解决方案,因此这一原则有时是可行的被称为或元搜索(元启发式方法可应用于各种算法)
当然,与其他优化应用相比,参数调整问题有许多特定的特点,但就解决方案搜索本身而言,方法和问题通常是相同的

事实上,尽管定义明确,但搜索问题通常仍未得到解决,并且是许多不同领域在许多不同方向上积极研究的对象。根据领域的具体条件和要求,以及这种充满活力和多样性的学术研究组合,各种方法的成功率参差不齐而实际应用是元启发式和优化的共同特点

那么…回到CALIBRA。。。 Calibra自己的作者承认,它有几个局限性

  • 最多5个参数的限制
  • [某些?]参数的值范围要求
  • 当参数相对独立时效果更好(但是……等等,如果是这样的话,整个搜索问题不是更容易;-))
CALIBRA是基于一系列方法的组合,这些方法按顺序重复。引导搜索和局部优化的混合

CALIBRA发表的论文日期为2006年。从那以后,对这篇论文和整个CALIBRA的引用相对较少。该论文的两位作者此后在与运筹学(OR)相关的各个学科中发表了几篇其他论文。 这可能表明CALIBRA尚未被视为一项突破。

在这种情况下,某种(-like)概率选择随机游动是可能的。也许可以通过模拟退火来改进最终选择。尽管您提供的计时参数对于以这种方式获得真正伟大的结果不是最优的

它的工作原理如下:

  • 从某个点开始。使用现有数据选择一个看起来有希望的值(如您得到的最高值)。此时将
    o
    设置为输出值
  • 您可以在输入空间中提出一个随机选择的步骤,将输出值分配给
    n
  • 如果1)
    n>o
    或2)新值较低,但[0,1]上的随机数小于
    f(n/o)
    ,则接受该步骤(即更新工作位置)(范围和域在[0,1]上单调增加的
    f()
  • 尽可能重复步骤2和3,在每个步骤收集统计数据
  • 最后计算结果。在您的情况下,所有点的平均值可能就足够了
  • 重要提示:如果空间中存在许多局部极大值,且这些极大值之间存在深度凹陷,则这种方法会出现问题,除非步长足够大,可以越过凹陷;但是,大步会使整个过程收敛缓慢。要解决此问题,请执行两项操作:

  • 进行模拟退火(从较大的步长开始,并逐渐减小步长,从而允许步行者在早期在局部最大值之间移动,但稍后将其捕获到一个区域以积累精度结果)
  • 使用几个(如果你能负担得起的话,很多)独立的步行器