Scippy

SCIP

Solving Constraint Integer Programs

sepa_closecuts.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-2019 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 scip.zib.de. */
13 /* */
14 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
15 
16 /**@file sepa_closecuts.h
17  * @ingroup SEPARATORS
18  * @brief closecuts meta separator
19  * @author Marc Pfetsch
20  *
21  * This separator generates a convex combination of the current LP solution and either the best
22  * primal feasible solution or an interior point of the LP relaxation. If the convex combination is
23  * proper, the new point is closer to the convex hull of the feasible points. The separator then
24  * calls all other separators to separate this point. The idea is that in this way possibly "deeper"
25  * cuts are generated. Note, however, that the new point is not a basic solution, i.e., separators
26  * relying basis information, e.g., Gomory cuts, will not work.
27  */
28 
29 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
30 
31 #ifndef __SCIP_SEPA_CLOSECUTS_H__
32 #define __SCIP_SEPA_CLOSECUTS_H__
33 
34 
35 #include "scip/def.h"
36 #include "scip/type_retcode.h"
37 #include "scip/type_scip.h"
38 #include "scip/type_sol.h"
39 
40 #ifdef __cplusplus
41 extern "C" {
42 #endif
43 
44 /** creates the closecuts separator and includes it in SCIP
45  *
46  * @ingroup SeparatorIncludes
47  */
50  SCIP* scip /**< SCIP data structure */
51  );
52 
53 /**@addtogroup SEPARATORS
54  *
55  * @{
56  */
57 
58 /** sets point to be used as base point for computing the point to be separated
59  *
60  * The point is only stored if separation of relative interior points is used. The solution is copied.
61  */
64  SCIP* scip, /**< SCIP data structure */
65  SCIP_SOL* sol /**< base point solution */
66  );
67 
68 /* @} */
69 
70 #ifdef __cplusplus
71 }
72 #endif
73 
74 #endif
SCIP_EXPORT SCIP_RETCODE SCIPincludeSepaClosecuts(SCIP *scip)
#define SCIP_EXPORT
Definition: def.h:98
enum SCIP_Retcode SCIP_RETCODE
Definition: type_retcode.h:53
type definitions for return codes for SCIP methods
type definitions for SCIP&#39;s main datastructure
type definitions for storing primal CIP solutions
SCIP_EXPORT SCIP_RETCODE SCIPsetBasePointClosecuts(SCIP *scip, SCIP_SOL *sol)
common defines and data types used in all packages of SCIP