SCIP-SDP  3.1.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
prop_companalcent.c
Go to the documentation of this file.
1 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2 /* */
3 /* This file is part of SCIPSDP - a solving framework for mixed-integer */
4 /* semidefinite programs based on SCIP. */
5 /* */
6 /* Copyright (C) 2011-2013 Discrete Optimization, TU Darmstadt */
7 /* EDOM, FAU Erlangen-Nürnberg */
8 /* 2014-2018 Discrete Optimization, TU Darmstadt */
9 /* */
10 /* */
11 /* This program is free software; you can redistribute it and/or */
12 /* modify it under the terms of the GNU Lesser General Public License */
13 /* as published by the Free Software Foundation; either version 3 */
14 /* of the License, or (at your option) any later version. */
15 /* */
16 /* This program is distributed in the hope that it will be useful, */
17 /* but WITHOUT ANY WARRANTY; without even the implied warranty of */
18 /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
19 /* GNU Lesser General Public License for more details. */
20 /* */
21 /* You should have received a copy of the GNU Lesser General Public License */
22 /* along with this program; if not, write to the Free Software */
23 /* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.*/
24 /* */
25 /* */
26 /* Based on SCIP - Solving Constraint Integer Programs */
27 /* Copyright (C) 2002-2018 Zuse Institute Berlin */
28 /* SCIP is distributed under the terms of the SCIP Academic Licence, */
29 /* see file COPYING in the SCIP distribution. */
30 /* */
31 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
32 
38 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
39 
40 #include <assert.h>
41 
42 #include "prop_companalcent.h"
43 #include "relax_sdp.h"
44 
45 /* fundamental propagator properties */
46 #define PROP_NAME "companalcent"
47 #define PROP_DESC "computes analytic center and forwards it to SDP relaxation handler"
48 #define PROP_PRIORITY 0
49 #define PROP_FREQ 0
50 #define PROP_DELAY FALSE
51 #define PROP_TIMING SCIP_PROPTIMING_AFTERLPLOOP
54 /*
55  * Data structures
56  */
57 
58 
59 /*
60  * Local methods
61  */
62 
63 /* put your local methods here, and declare them static */
64 
65 
66 /*
67  * Callback methods of propagator
68  */
69 
71 static
72 SCIP_DECL_PROPEXEC(propExecCompAnalCent)
73 { /*lint --e{715}*/
74  SCIP_RELAX* relax;
75 
76  relax = SCIPfindRelax(scip, "SDP"); /* get SDP relaxation handler */
77  assert( relax != NULL );
78 
79  SCIP_CALL( SCIPrelaxSdpComputeAnalyticCenters(scip, relax) );
80 
81  return SCIP_OKAY;
82 }
83 
84 
85 /*
86  * propagator specific interface methods
87  */
88 
91  SCIP* scip
92  )
93 {
94  SCIP_PROPDATA* propdata;
95  SCIP_PROP* prop;
96 
97  /* create xyz propagator data */
98  propdata = NULL;
99  prop = NULL;
100 
101  /* include propagator */
102  SCIP_CALL( SCIPincludePropBasic(scip, &prop, PROP_NAME, PROP_DESC, PROP_PRIORITY, PROP_FREQ, PROP_DELAY, PROP_TIMING,
103  propExecCompAnalCent, propdata) );
104 
105  assert(prop != NULL);
106 
107  return SCIP_OKAY;
108 }
SCIP_RETCODE SCIPincludePropCompAnalCent(SCIP *scip)
#define PROP_TIMING
static SCIP_DECL_PROPEXEC(propExecCompAnalCent)
SDP-relaxator.
#define PROP_PRIORITY
#define PROP_DELAY
#define PROP_FREQ
compute analytic center propagator
#define PROP_DESC
#define PROP_NAME
SCIP_RETCODE SCIPrelaxSdpComputeAnalyticCenters(SCIP *scip, SCIP_RELAX *relax)
Definition: relax_sdp.c:4435