SCIP Doxygen Documentation
Loading...
Searching...
No Matches
nlhdlr_convex.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-2024 Zuse Institute Berlin (ZIB) */
7
/* */
8
/* Licensed under the Apache License, Version 2.0 (the "License"); */
9
/* you may not use this file except in compliance with the License. */
10
/* You may obtain a copy of the License at */
11
/* */
12
/* http://www.apache.org/licenses/LICENSE-2.0 */
13
/* */
14
/* Unless required by applicable law or agreed to in writing, software */
15
/* distributed under the License is distributed on an "AS IS" BASIS, */
16
/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. */
17
/* See the License for the specific language governing permissions and */
18
/* limitations under the License. */
19
/* */
20
/* You should have received a copy of the Apache-2.0 license */
21
/* along with SCIP; see the file LICENSE. If not visit scipopt.org. */
22
/* */
23
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
24
25
/**@file nlhdlr_convex.h
26
* @ingroup NLHDLRS
27
* @brief nonlinear handlers for convex and concave expressions, respectively
28
* @author Benjamin Mueller
29
* @author Stefan Vigerske
30
*/
31
32
/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
33
34
#ifndef __SCIP_NLHDLR_CONVEX_H__
35
#define __SCIP_NLHDLR_CONVEX_H__
36
37
#include "
scip/scip.h
"
38
39
#ifdef __cplusplus
40
extern
"C"
{
41
#endif
42
43
/** includes convex nonlinear handler in nonlinear constraint handler
44
*
45
* @ingroup NlhdlrIncludes
46
*/
47
SCIP_EXPORT
48
SCIP_RETCODE
SCIPincludeNlhdlrConvex
(
49
SCIP
*
scip
/**< SCIP data structure */
50
);
51
52
/** includes concave nonlinear handler in nonlinear constraint handler
53
*
54
* @ingroup NlhdlrIncludes
55
*/
56
SCIP_EXPORT
57
SCIP_RETCODE
SCIPincludeNlhdlrConcave
(
58
SCIP
*
scip
/**< SCIP data structure */
59
);
60
61
/**@addtogroup NLHDLRS
62
* @{
63
*
64
* @name Convex and concave nonlinear handlers
65
*
66
* These nonlinear handler detect convex and concave subexpressions and provide specialized estimation functionality.
67
*
68
* @{
69
*/
70
71
/** checks whether a given expression is convex or concave w.r.t. the original variables
72
*
73
* This function uses the methods that are used in the detection algorithm of the convex nonlinear handler.
74
*/
75
SCIP_EXPORT
76
SCIP_RETCODE
SCIPhasExprCurvature
(
77
SCIP
*
scip
,
/**< SCIP data structure */
78
SCIP_EXPR
* expr,
/**< expression */
79
SCIP_EXPRCURV
curv,
/**< curvature to check for */
80
SCIP_Bool* success,
/**< buffer to store whether expression has curvature curv (w.r.t. original variables) */
81
SCIP_HASHMAP
* assumevarfixed
/**< hashmap containing variables that should be assumed to be fixed, or NULL */
82
);
83
84
/** @}
85
* @}
86
*/
87
88
#ifdef __cplusplus
89
}
90
#endif
91
92
#endif
/* __SCIP_NLHDLR_CONVEX_H__ */
SCIPhasExprCurvature
SCIP_RETCODE SCIPhasExprCurvature(SCIP *scip, SCIP_EXPR *expr, SCIP_EXPRCURV curv, SCIP_Bool *success, SCIP_HASHMAP *assumevarfixed)
Definition
nlhdlr_convex.c:2628
SCIPincludeNlhdlrConvex
SCIP_RETCODE SCIPincludeNlhdlrConvex(SCIP *scip)
Definition
nlhdlr_convex.c:2211
SCIPincludeNlhdlrConcave
SCIP_RETCODE SCIPincludeNlhdlrConcave(SCIP *scip)
Definition
nlhdlr_convex.c:2574
scip
Definition
objbenders.h:44
scip.h
SCIP callable library.
SCIP_Expr
Definition
struct_expr.h:106
SCIP_HashMap
Definition
struct_misc.h:138
Scip
Definition
struct_scip.h:70
SCIP_EXPRCURV
SCIP_EXPRCURV
Definition
type_expr.h:61
SCIP_RETCODE
enum SCIP_Retcode SCIP_RETCODE
Definition
type_retcode.h:63
nlhdlr_convex.h
© 2002-2024 by Zuse Institute Berlin (ZIB),
Imprint
Generated by
1.12.0