SCIP Doxygen Documentation
Loading...
Searching...
No Matches
iisfinder_greedy.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-2026 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 iisfinder_greedy.h
26
* @ingroup IISFINDERS
27
* @brief greedy deletion and addition filter heuristic to compute IISs
28
* @author Marc Pfetsch
29
* @author Mark Turner
30
* @author Paul Meinhold
31
*
32
* An irreducible infeasible subsystem (IIS) is a subset of the constraints and bounds from a problem
33
* that is infeasible.
34
* The greedy filter heuristic has two different approaches for producing an (I)IS:
35
* - Remove constraints such that the remaining problem is still infeasible.
36
* - Add constraints from an empty problem until the problem becomes infeasible.
37
* Both these approaches can be augmented to include bounds. That is, existing bounds can be deleted
38
* while the IS remains infeasible. A common approach is to also apply the deletion based
39
* filter after applying the additive based filter.
40
* This greedy algorithm is based on
41
*
42
* O. Guieu and J. Chinneck, Analyzing infeasible mixed-integer and integer linear programs,@p
43
* INFORMS J. Comput. 11, no. 1 (1999), pp. 63–77.
44
*
45
* If the appropriate parameters are set then we can guarantee that the result is irreducible, i.e.,
46
* an irreducible infeasible subsystem (IIS). Otherwise we may only obtain an infeasible subsystem (IS).
47
* This algorithm cannot guarantee to find the smallest possible IIS.
48
*/
49
50
/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
51
52
#ifndef __IISFINDER_GREEDY_H__
53
#define __IISFINDER_GREEDY_H__
54
55
#include <
scip/scip.h
>
56
57
#ifdef __cplusplus
58
extern
"C"
{
59
#endif
60
61
/** creates the greedy IIS finder rule and includes it in SCIP
62
*
63
* @ingroup IISfinderIncludes
64
*/
65
SCIP_EXPORT
66
SCIP_RETCODE
SCIPincludeIISfinderGreedy
(
67
SCIP
*
scip
/**< SCIP data structure */
68
);
69
70
/**@addtogroup IISFINDERS
71
*
72
* @{
73
*/
74
75
/** perform the greedy deletion algorithm with singleton batches to obtain an irreducible infeasible subsystem (IIS) */
76
SCIP_EXPORT
77
SCIP_RETCODE
SCIPiisGreedyMakeIrreducible
(
78
SCIP_IIS
* iis
/**< IIS data structure */
79
);
80
81
/** @} */
82
83
#ifdef __cplusplus
84
}
85
#endif
86
87
#endif
SCIPiisGreedyMakeIrreducible
SCIP_RETCODE SCIPiisGreedyMakeIrreducible(SCIP_IIS *iis)
Definition
iisfinder_greedy.c:1120
SCIPincludeIISfinderGreedy
SCIP_RETCODE SCIPincludeIISfinderGreedy(SCIP *scip)
Definition
iisfinder_greedy.c:1030
scip
Definition
multiprecision.hpp:66
scip.h
SCIP callable library.
SCIP_IIS
Definition
struct_iisfinder.h:59
SCIP_RETCODE
enum SCIP_Retcode SCIP_RETCODE
Definition
type_retcode.h:63
SCIP
struct Scip SCIP
Definition
type_scip.h:39
iisfinder_greedy.h
© 2002-2026 by Zuse Institute Berlin (ZIB),
Imprint
Generated on
for SCIP Doxygen Documentation by
1.15.0