Scippy

    SCIP

    Solving Constraint Integer Programs

    bandit_epsgreedy.h File Reference

    Detailed Description

    internal methods for epsilon greedy bandit selection

    Author
    Gregor Hendel

    Definition in file bandit_epsgreedy.h.

    #include "blockmemshell/memory.h"
    #include "scip/def.h"
    #include "scip/type_bandit.h"
    #include "scip/type_retcode.h"
    #include "scip/type_scip.h"

    Go to the source code of this file.

    Functions

    SCIP_RETCODE SCIPincludeBanditvtableEpsgreedy (SCIP *scip)
     
     SCIP_DECL_BANDITFREE (SCIPbanditFreeEpsgreedy)
     
     SCIP_DECL_BANDITSELECT (SCIPbanditSelectEpsgreedy)
     
     SCIP_DECL_BANDITUPDATE (SCIPbanditUpdateEpsgreedy)
     
     SCIP_DECL_BANDITRESET (SCIPbanditResetEpsgreedy)
     
    SCIP_RETCODE SCIPbanditCreateEpsgreedy (BMS_BLKMEM *blkmem, BMS_BUFMEM *bufmem, SCIP_BANDITVTABLE *vtable, SCIP_BANDIT **epsgreedy, SCIP_Real *priorities, SCIP_Real eps, SCIP_Bool usemodification, SCIP_Bool preferrecent, SCIP_Real decayfactor, int avglim, int nactions, unsigned int initseed)
     

    Function Documentation

    ◆ SCIPincludeBanditvtableEpsgreedy()

    SCIP_RETCODE SCIPincludeBanditvtableEpsgreedy ( SCIP scip)

    creates the epsilon greedy bandit algorithm includes it in SCIP

    Parameters
    scipSCIP data structure

    Definition at line 374 of file bandit_epsgreedy.c.

    References BANDIT_NAME, SCIP_CALL, SCIP_OKAY, and SCIPincludeBanditvtable().

    Referenced by SCIPincludeCorePlugins().

    ◆ SCIP_DECL_BANDITFREE()

    SCIP_DECL_BANDITFREE ( SCIPbanditFreeEpsgreedy  )

    callback to free bandit specific data structures

    Definition at line 70 of file bandit_epsgreedy.c.

    References BMSfreeBlockMemory, BMSfreeBlockMemoryArray, NULL, SCIP_OKAY, SCIPbanditGetData(), SCIPbanditGetNActions(), and SCIPbanditSetData().

    ◆ SCIP_DECL_BANDITSELECT()

    SCIP_DECL_BANDITSELECT ( SCIPbanditSelectEpsgreedy  )

    ◆ SCIP_DECL_BANDITUPDATE()

    SCIP_DECL_BANDITUPDATE ( SCIPbanditUpdateEpsgreedy  )

    update callback for bandit algorithm

    Definition at line 187 of file bandit_epsgreedy.c.

    References NULL, SCIP_OKAY, SCIP_Real, and SCIPbanditGetData().

    ◆ SCIP_DECL_BANDITRESET()

    SCIP_DECL_BANDITRESET ( SCIPbanditResetEpsgreedy  )

    ◆ SCIPbanditCreateEpsgreedy()

    SCIP_RETCODE SCIPbanditCreateEpsgreedy ( BMS_BLKMEM blkmem,
    BMS_BUFMEM bufmem,
    SCIP_BANDITVTABLE vtable,
    SCIP_BANDIT **  epsgreedy,
    SCIP_Real priorities,
    SCIP_Real  eps,
    SCIP_Bool  usemodification,
    SCIP_Bool  preferrecent,
    SCIP_Real  decayfactor,
    int  avglim,
    int  nactions,
    unsigned int  initseed 
    )

    internal method to create and reset epsilon greedy bandit algorithm

    Parameters
    blkmemblock memory
    bufmembuffer memory
    vtablevirtual function table with epsilon greedy callbacks
    epsgreedypointer to store the epsilon greedy bandit algorithm
    prioritiesnonnegative priorities for each action, or NULL if not needed
    epsparameter to increase probability for exploration between all actions
    usemodificationTRUE if modified eps greedy should be used
    preferrecentshould the weights be updated in an exponentially decaying way?
    decayfactorthe factor to reduce the weight of older observations if exponential decay is enabled
    avglimnonnegative limit on observation number before the exponential decay starts, only relevant if exponential decay is enabled
    nactionsthe positive number of possible actions
    initseedinitial random seed

    Definition at line 275 of file bandit_epsgreedy.c.

    References BMSallocBlockMemory, BMSallocBlockMemoryArray, eps, NULL, SCIP_ALLOC, SCIP_CALL, SCIP_OKAY, and SCIPbanditCreate().

    Referenced by SCIPcreateBanditEpsgreedy().