代码 | 自适应大邻域搜索系列之(5) - ALNS_Iteration_Status和ALNS_Parameters的代码解析...

本文介绍ALNS算法中ALNS_Iteration_Status和ALNS_Parameters的代码细节,包括记录迭代过程的状态变量和参数设置。ALNS_Iteration_Status用于存储迭代过程中的中间变量,而ALNS_Parameters则包含运行参数,如logFrequency,forbidenOperators等。此外,ALNS_Parameters可以从xml文件读取参数,提高灵活性。
摘要由CSDN通过智能技术生成

代码 | 自适应大邻域搜索系列之(5) - ALNS_Iteration_Status和ALNS_Parameters的代码解析

前言

上一篇推文说了,后面的代码难度直线下降,各位小伙伴可以放去n的100次方心了。今天讲讲一些细枝末节,就是前面一直有提到的参数和一些状态的记录代码。这个简单啦,小编也不作过多解释了。大家直接看代码都能看懂,不过小编还是会把逻辑结构给大家梳理出来的。好了,开始干活。

01 ALNS_Iteration_Status

这个类,咳咳,不是抽象类了哈。主要用来记录ALNS迭代过程中的一些中间变量和状态等。主要是成员变量,成员函数都是简单的getter(获取成员变量的接口)或者setter(设置成员变量的接口)。所以这里就把成员变量贴出来好了,各个变量记录的内容注释也写得很详细,小编就不做多赘述以免扰乱了大家看代码的心。

private:

    //! Id of the iteration corresponding to this status.
    size_t iterationId;

    //! Number of iteration since the last improvement of the BKS
    size_t nbIterationWithoutImprovement;

    //! Number of iteration since the last improvement of the BKS
    //! or the last reload of the best known solution.
    size_t nbIterationWithoutImprovementSinceLastReload;

    //! Number of iterations since the last improvement of the current
    //! solution.
    size_t nbIterationWithoutImprovementCurrent;

    //! Number of iterations without transition.
    size_t nbIterationWithoutTransition;

    //! Indicate if a new best solution has been obtained.
    State newBestSolution;

    //! Indicate if the new solution has been accepted as the
    //! current solution.
    State acceptedAsCurrentSolution;

    //! Indica
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值