Scippy

SCIP

Solving Constraint Integer Programs

heur_dps.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_dps.h
17  * @ingroup PRIMALHEURISTICS
18  * @brief dynamic partition search
19  * @author Katrin Halbig
20  *
21  * The dynamic partition search (DPS) is a construction heuristic which additionally needs a
22  * user decomposition with linking constraints only.
23  *
24  * This heuristic splits the problem into several sub-SCIPs according to the given decomposition. Thereby the linking constraints
25  * with their right-hand and left-hand sides are also split. DPS searches for a partition of the sides on the blocks
26  * so that a feasible solution is obtained.
27  * For each block the parts of the original linking constraints are extended by slack variables. Moreover, the objective function
28  * is replaced by the sum of these additional variables weighted by penalty parameters lambda. If all blocks have an optimal solution
29  * of zero, the algorithm terminates with a feasible solution for the main problem. Otherwise, the partition and the penalty parameters
30  * are updated, and the sub-SCIPs are solved again.
31  */
32 
33 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
34 
35 #ifndef __SCIP_HEUR_DPS_H__
36 #define __SCIP_HEUR_DPS_H__
37 
38 
39 #include "scip/def.h"
40 #include "scip/type_retcode.h"
41 #include "scip/type_scip.h"
42 
43 #ifdef __cplusplus
44 extern "C" {
45 #endif
46 
47 /** creates the dps primal heuristic and includes it in SCIP
48  *
49  * @ingroup PrimalHeuristicIncludes
50  */
51 SCIP_EXPORT
53  SCIP* scip /**< SCIP data structure */
54  );
55 
56 #ifdef __cplusplus
57 }
58 #endif
59 
60 #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 SCIPincludeHeurDps(SCIP *scip)
Definition: heur_dps.c:2035