Toggle navigation
SCIP Optimization Suite
SCIP
SoPlex
ZIMPL
UG
GCG
Documentation
SCIP 9.2.0
SCIP 8.1.0
SCIP 7.0.3
SCIP 6.0.2
SCIP 5.0.1
SCIP 4.0.1
SCIP 3.2.1
SCIP
Solving Constraint Integer Programs
bandit_exp3.h
Go to the documentation of this file.
1
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2
/* */
3
/* This file is part of the program and library */
4
/* SCIP --- Solving Constraint Integer Programs */
5
/* */
6
/* Copyright (C) 2002-2018 Konrad-Zuse-Zentrum */
7
/* fuer Informationstechnik Berlin */
8
/* */
9
/* SCIP is distributed under the terms of the ZIB Academic License. */
10
/* */
11
/* You should have received a copy of the ZIB Academic License */
12
/* along with SCIP; see the file COPYING. If not email to scip@zib.de. */
13
/* */
14
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
15
16
/**@file bandit_exp3.h
17
* @ingroup INTERNALAPI
18
* @brief internal methods for Exp.3 bandit algorithm
19
* @author Gregor Hendel
20
*/
21
22
/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
23
24
#ifndef __SCIP_BANDIT_EXP3_H__
25
#define __SCIP_BANDIT_EXP3_H__
26
27
28
#include "
scip/scip.h
"
29
#include "
scip/bandit.h
"
30
31
#ifdef __cplusplus
32
extern
"C"
{
33
#endif
34
35
/** include virtual function table for Exp.3 bandit algorithms */
36
extern
37
SCIP_RETCODE
SCIPincludeBanditvtableExp3
(
38
SCIP
*
scip
/**< SCIP data structure */
39
);
40
41
/*
42
* callback methods for Exp.3 bandit algorithm to create a virtual function table
43
*/
44
45
/** callback to free bandit specific data structures */
46
extern
47
SCIP_DECL_BANDITFREE
(SCIPbanditFreeExp3);
48
49
/** selection callback for bandit selector */
50
extern
51
SCIP_DECL_BANDITSELECT
(SCIPbanditSelectExp3);
52
53
/** update callback for bandit algorithm */
54
extern
55
SCIP_DECL_BANDITUPDATE
(SCIPbanditUpdateExp3);
56
57
/** reset callback for bandit algorithm */
58
extern
59
SCIP_DECL_BANDITRESET
(SCIPbanditResetExp3);
60
61
/** direct bandit creation method for the core where no SCIP pointer is available */
62
extern
63
SCIP_RETCODE
SCIPbanditCreateExp3
(
64
BMS_BLKMEM
* blkmem,
/**< block memory data structure */
65
BMS_BUFMEM
* bufmem,
/**< buffer memory */
66
SCIP_BANDITVTABLE
* vtable,
/**< virtual function table for callback functions of Exp.3 */
67
SCIP_BANDIT
** exp3,
/**< pointer to store bandit algorithm */
68
SCIP_Real
* priorities,
/**< nonnegative priorities for each action, or NULL if not needed */
69
SCIP_Real
gammaparam,
/**< weight between uniform (gamma ~ 1) and weight driven (gamma ~ 0) probability distribution */
70
SCIP_Real
beta,
/**< gain offset between 0 and 1 at every observation */
71
int
nactions,
/**< the positive number of actions for this bandit algorithm */
72
unsigned
int
initseed
/**< initial random seed */
73
);
74
75
#ifdef __cplusplus
76
}
77
#endif
78
79
#endif
BMS_BufMem
Definition:
memory.c:2461
Scip
Definition:
struct_scip.h:58
bandit.h
internal methods for bandit algorithms
SCIP_RETCODE
enum SCIP_Retcode SCIP_RETCODE
Definition:
type_retcode.h:53
SCIP_DECL_BANDITUPDATE
SCIP_DECL_BANDITUPDATE(SCIPbanditUpdateExp3)
Definition:
bandit_exp3.c:132
SCIP_Bandit
Definition:
struct_bandit.h:48
SCIP_DECL_BANDITSELECT
SCIP_DECL_BANDITSELECT(SCIPbanditSelectExp3)
Definition:
bandit_exp3.c:73
SCIP_DECL_BANDITRESET
SCIP_DECL_BANDITRESET(SCIPbanditResetExp3)
Definition:
bandit_exp3.c:207
SCIPbanditCreateExp3
SCIP_RETCODE SCIPbanditCreateExp3(BMS_BLKMEM *blkmem, BMS_BUFMEM *bufmem, SCIP_BANDITVTABLE *vtable, SCIP_BANDIT **exp3, SCIP_Real *priorities, SCIP_Real gammaparam, SCIP_Real beta, int nactions, unsigned int initseed)
Definition:
bandit_exp3.c:269
SCIPincludeBanditvtableExp3
SCIP_RETCODE SCIPincludeBanditvtableExp3(SCIP *scip)
Definition:
bandit_exp3.c:365
SCIP_DECL_BANDITFREE
SCIP_DECL_BANDITFREE(SCIPbanditFreeExp3)
Definition:
bandit_exp3.c:52
SCIP_Real
#define SCIP_Real
Definition:
def.h:149
BMS_BLKMEM
struct BMS_BlkMem BMS_BLKMEM
Definition:
memory.h:419
scip
Definition:
objbranchrule.h:33
SCIP_BanditVTable
Definition:
struct_bandit.h:38
scip.h
SCIP callable library.