Scippy

SCIP

Solving Constraint Integer Programs

heur_padm.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-2022 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 visit scipopt.org. */
13 /* */
14 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
15 
16 /**@file heur_padm.h
17  * @ingroup PRIMALHEURISTICS
18  * @brief PADM primal heuristic based on ideas published in the paper
19  * "A Decomposition Heuristic for Mixed-Integer Supply Chain Problems"
20  * by Martin Schmidt, Lars Schewe, and Dieter Weninger
21  * @author Dieter Weninger
22  * @author Katrin Halbig
23  *
24  * The penalty alternating direction method (PADM) heuristic is a construction heuristic which additionally needs a
25  * user decomposition with linking variables only.
26  *
27  * PADM splits the problem into several sub-SCIPs according to the decomposition, whereby the linking variables get
28  * copied and the difference is penalized. Then the sub-SCIPs are solved on an alternating basis until they arrive at
29  * the same values of the linking variables (ADM-loop). If they don't reconcile after a couple of iterations,
30  * the penalty parameters are increased (penalty-loop) and the sub-SCIPs are solved again on an alternating basis.
31  */
32 
33 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
34 
35 #ifndef __SCIP_HEUR_PADM_H__
36 #define __SCIP_HEUR_PADM_H__
37 
38 #include "scip/def.h"
39 #include "scip/type_retcode.h"
40 #include "scip/type_scip.h"
41 
42 #ifdef __cplusplus
43 extern "C" {
44 #endif
45 
46 /** creates the PADM primal heuristic and includes it in SCIP
47  *
48  * @ingroup PrimalHeuristicIncludes
49  */
50 SCIP_EXPORT
52  SCIP* scip /**< SCIP data structure */
53  );
54 
55 #ifdef __cplusplus
56 }
57 #endif
58 
59 #endif
enum SCIP_Retcode SCIP_RETCODE
Definition: type_retcode.h:54
type definitions for return codes for SCIP methods
type definitions for SCIP&#39;s main datastructure
common defines and data types used in all packages of SCIP
SCIP_RETCODE SCIPincludeHeurPADM(SCIP *scip)
Definition: heur_padm.c:2028