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_ucb.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_ucb.h
17
* @ingroup INTERNALAPI
18
* @brief internal methods for UCB 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_UCB_H__
25
#define __SCIP_BANDIT_UCB_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 UCB bandit algorithms */
36
extern
37
SCIP_RETCODE
SCIPincludeBanditvtableUcb
(
38
SCIP
*
scip
/**< SCIP data structure */
39
);
40
41
/*
42
* Callback methods of bandit algorithm
43
*/
44
45
/** callback to free bandit specific data structures */
46
extern
47
SCIP_DECL_BANDITFREE
(SCIPbanditFreeUcb);
48
49
/** selection callback for bandit selector */
50
extern
51
SCIP_DECL_BANDITSELECT
(SCIPbanditSelectUcb);
52
53
/** update callback for bandit algorithm */
54
extern
55
SCIP_DECL_BANDITUPDATE
(SCIPbanditUpdateUcb);
56
57
/** reset callback for bandit algorithm */
58
extern
59
SCIP_DECL_BANDITRESET
(SCIPbanditResetUcb);
60
61
/** internal method to create and reset UCB bandit algorithm */
62
extern
63
SCIP_RETCODE
SCIPbanditCreateUcb
(
64
BMS_BLKMEM
* blkmem,
/**< block memory */
65
BMS_BUFMEM
* bufmem,
/**< buffer memory */
66
SCIP_BANDITVTABLE
* vtable,
/**< virtual function table for UCB bandit algorithm */
67
SCIP_BANDIT
** ucb,
/**< pointer to store bandit algorithm */
68
SCIP_Real
* priorities,
/**< nonnegative priorities for each action, or NULL if not needed */
69
SCIP_Real
alpha,
/**< parameter to increase confidence width */
70
int
nactions,
/**< the positive number of actions for this bandit algorithm */
71
unsigned
int
initseed
/**< initial random seed */
72
);
73
74
#ifdef __cplusplus
75
}
76
77
#endif
78
79
#endif
BMS_BufMem
Definition:
memory.c:2461
SCIP_DECL_BANDITFREE
SCIP_DECL_BANDITFREE(SCIPbanditFreeUcb)
Definition:
bandit_ucb.c:109
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_Bandit
Definition:
struct_bandit.h:48
SCIP_DECL_BANDITRESET
SCIP_DECL_BANDITRESET(SCIPbanditResetUcb)
Definition:
bandit_ucb.c:227
SCIP_DECL_BANDITUPDATE
SCIP_DECL_BANDITUPDATE(SCIPbanditUpdateUcb)
Definition:
bandit_ucb.c:204
SCIPincludeBanditvtableUcb
SCIP_RETCODE SCIPincludeBanditvtableUcb(SCIP *scip)
Definition:
bandit_ucb.c:350
SCIP_DECL_BANDITSELECT
SCIP_DECL_BANDITSELECT(SCIPbanditSelectUcb)
Definition:
bandit_ucb.c:131
SCIPbanditCreateUcb
SCIP_RETCODE SCIPbanditCreateUcb(BMS_BLKMEM *blkmem, BMS_BUFMEM *bufmem, SCIP_BANDITVTABLE *vtable, SCIP_BANDIT **ucb, SCIP_Real *priorities, SCIP_Real alpha, int nactions, unsigned int initseed)
Definition:
bandit_ucb.c:291
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.