Detailed Description
pattern data for ringpacking problem
Definition in file pattern.h.
#include "scip/scip.h"
Go to the source code of this file.
Data Structures | |
struct | SCIP_Pattern |
Typedefs | |
typedef enum SCIP_Packable | SCIP_PACKABLE |
typedef enum SCIP_Patterntype | SCIP_PATTERNTYPE |
typedef struct SCIP_Pattern | SCIP_PATTERN |
Enumerations | |
enum | SCIP_Packable { SCIP_PACKABLE_NO = 0, SCIP_PACKABLE_YES = 1, SCIP_PACKABLE_UNKNOWN = 2 } |
enum | SCIP_Patterntype { SCIP_PATTERNTYPE_CIRCULAR = 0, SCIP_PATTERNTYPE_RECTANGULAR = 1 } |
Typedef Documentation
◆ SCIP_PACKABLE
typedef enum SCIP_Packable SCIP_PACKABLE |
◆ SCIP_PATTERNTYPE
typedef enum SCIP_Patterntype SCIP_PATTERNTYPE |
◆ SCIP_PATTERN
typedef struct SCIP_Pattern SCIP_PATTERN |
Enumeration Type Documentation
◆ SCIP_Packable
enum SCIP_Packable |
◆ SCIP_Patterntype
enum SCIP_Patterntype |
Function Documentation
◆ SCIPpatternCreateCircular()
SCIP_RETCODE SCIPpatternCreateCircular | ( | SCIP * | scip, |
SCIP_PATTERN ** | pattern, | ||
int | type | ||
) |
creates an empty circular pattern
- Parameters
-
scip SCIP data structure pattern pointer to store pattern type circle type (not needed for rectangular patterns)
Definition at line 88 of file pattern.c.
References createPattern(), and SCIP_PATTERNTYPE_CIRCULAR.
Referenced by SCIPprobdataEnumeratePatterns().
◆ SCIPpatternCreateRectangular()
SCIP_RETCODE SCIPpatternCreateRectangular | ( | SCIP * | scip, |
SCIP_PATTERN ** | pattern | ||
) |
creates an empty rectangular pattern
- Parameters
-
scip SCIP data structure pattern pointer to store pattern
Definition at line 98 of file pattern.c.
References createPattern(), and SCIP_PATTERNTYPE_RECTANGULAR.
Referenced by addVariable(), and setupProblem().
◆ SCIPpatternCapture()
void SCIPpatternCapture | ( | SCIP_PATTERN * | pattern | ) |
captures a pattern
- Parameters
-
pattern pattern
Definition at line 107 of file pattern.c.
References SCIP_Pattern::nlocks, and NULL.
Referenced by createPattern(), and probdataCreate().
◆ SCIPpatternRelease()
void SCIPpatternRelease | ( | SCIP * | scip, |
SCIP_PATTERN ** | pattern | ||
) |
- Parameters
-
scip SCIP data structure pattern pointer to free pattern
Definition at line 117 of file pattern.c.
References NULL, SCIPfreeBlockMemory, and SCIPfreeBlockMemoryArrayNull.
Referenced by addVariable(), filterPatterns(), probdataFree(), SCIPprobdataEnumeratePatterns(), and setupProblem().
◆ SCIPpatternCopy()
SCIP_RETCODE SCIPpatternCopy | ( | SCIP * | scip, |
SCIP_PATTERN * | pattern, | ||
SCIP_PATTERN ** | copy | ||
) |
copies a pattern
- Parameters
-
scip SCIP data structure pattern pattern to copy copy pointer to store the copy
Definition at line 143 of file pattern.c.
References createPattern(), ensureElemSize(), SCIP_Pattern::nelems, NULL, SCIP_Pattern::packable, SCIP_Pattern::patterntype, SCIP_CALL, SCIP_OKAY, SCIPpatternAddElement(), SCIP_Pattern::type, SCIP_Pattern::types, SCIP_Pattern::xs, and SCIP_Pattern::ys.
Referenced by SCIPprobdataAddVar().
◆ SCIPpatternAddElement()
SCIP_RETCODE SCIPpatternAddElement | ( | SCIP_PATTERN * | pattern, |
int | type, | ||
SCIP_Real | x, | ||
SCIP_Real | y | ||
) |
adds an element of a given type to a pattern; packable status does not change
- Parameters
-
pattern pattern type element of a given type x x-coordinate (SCIP_INVALID: unknown) y y-coordinate (SCIP_INVALID: unknown)
Definition at line 173 of file pattern.c.
References ensureElemSize(), SCIP_Pattern::nelems, NULL, SCIP_CALL, SCIP_OKAY, SCIP_Pattern::types, x, SCIP_Pattern::xs, y, and SCIP_Pattern::ys.
Referenced by addVariable(), enumeratePatterns(), SCIPpatternCopy(), and setupProblem().
◆ SCIPpatternRemoveLastElements()
void SCIPpatternRemoveLastElements | ( | SCIP_PATTERN * | pattern, |
int | k | ||
) |
removes the last k elements
- Parameters
-
pattern pattern k number of elements to remove
Definition at line 194 of file pattern.c.
References SCIP_Pattern::nelems, and NULL.
Referenced by enumeratePatterns().
◆ SCIPpatternGetNElemens()
int SCIPpatternGetNElemens | ( | SCIP_PATTERN * | pattern | ) |
returns the total number of elements of a given type in the pattern
returns the total number of elements
- Parameters
-
pattern pattern
Definition at line 206 of file pattern.c.
References SCIP_Pattern::nelems, and NULL.
Referenced by createPatternVars(), enumeratePatterns(), isPatternDominating(), SCIP_DECL_EVENTEXEC(), SCIPcheckPattern(), SCIPverifyCircularPatternHeuristic(), and SCIPverifyCircularPatternNLP().
◆ SCIPpatternGetElementType()
int SCIPpatternGetElementType | ( | SCIP_PATTERN * | pattern, |
int | i | ||
) |
returns the type of the i-th element
- Parameters
-
pattern pattern i index
Definition at line 216 of file pattern.c.
References NULL, and SCIP_Pattern::types.
Referenced by createPatternVars(), enumeratePatterns(), isPatternDominating(), SCIP_DECL_EVENTEXEC(), SCIPcheckPattern(), SCIPverifyCircularPatternHeuristic(), and SCIPverifyCircularPatternNLP().
◆ SCIPpatternCountElements()
int SCIPpatternCountElements | ( | SCIP_PATTERN * | pattern, |
int | type | ||
) |
returns the total number of elements of a given type
- Parameters
-
pattern pattern type type
Definition at line 228 of file pattern.c.
References SCIP_Pattern::nelems, NULL, and SCIP_Pattern::types.
Referenced by setupProblem().
◆ SCIPpatternGetElementPosX()
SCIP_Real SCIPpatternGetElementPosX | ( | SCIP_PATTERN * | pattern, |
int | elem | ||
) |
returns the x-coordinate of an element
- Parameters
-
pattern pattern elem index of the element
Definition at line 248 of file pattern.c.
References NULL, and SCIP_Pattern::xs.
Referenced by SCIP_DECL_EVENTEXEC(), and SCIPcheckPattern().
◆ SCIPpatternGetElementPosY()
SCIP_Real SCIPpatternGetElementPosY | ( | SCIP_PATTERN * | pattern, |
int | elem | ||
) |
returns the y-coordinate of an element
- Parameters
-
pattern pattern elem index of the element
Definition at line 260 of file pattern.c.
References NULL, and SCIP_Pattern::ys.
Referenced by SCIP_DECL_EVENTEXEC(), and SCIPcheckPattern().
◆ SCIPpatternSetElementPos()
void SCIPpatternSetElementPos | ( | SCIP_PATTERN * | pattern, |
int | elem, | ||
SCIP_Real | x, | ||
SCIP_Real | y | ||
) |
sets the (x,y) position of an element
- Parameters
-
pattern pattern elem index of the element x x-coordinate y y-coordinate
Definition at line 272 of file pattern.c.
References NULL, x, SCIP_Pattern::xs, y, and SCIP_Pattern::ys.
Referenced by SCIPverifyCircularPatternHeuristic(), and SCIPverifyCircularPatternNLP().
◆ SCIPpatternGetPatternType()
SCIP_PATTERNTYPE SCIPpatternGetPatternType | ( | SCIP_PATTERN * | pattern | ) |
returns the type of a pattern
- Parameters
-
pattern pattern
Definition at line 287 of file pattern.c.
References NULL, and SCIP_Pattern::patterntype.
Referenced by SCIPcheckPattern(), SCIPprobdataAddVar(), SCIPverifyCircularPatternHeuristic(), SCIPverifyCircularPatternNLP(), setupProblem(), and verifyCircularPattern().
◆ SCIPpatternGetCircleType()
int SCIPpatternGetCircleType | ( | SCIP_PATTERN * | pattern | ) |
returns the type of the boundary circle
- Note
- this function can only be called for circular patterns
- Parameters
-
pattern pattern
Definition at line 300 of file pattern.c.
References NULL, SCIP_Pattern::patterntype, SCIP_PATTERNTYPE_CIRCULAR, and SCIP_Pattern::type.
Referenced by createPatternVars(), enumeratePatterns(), isPatternDominating(), SCIP_DECL_EVENTEXEC(), SCIPcheckPattern(), SCIPverifyCircularPatternHeuristic(), SCIPverifyCircularPatternNLP(), and setupProblem().
◆ SCIPpatternSetType()
void SCIPpatternSetType | ( | SCIP_PATTERN * | pattern, |
int | type | ||
) |
sets the type of the boundary circle
- Note
- this function can only be called for circular patterns
- Parameters
-
pattern pattern type type
Definition at line 314 of file pattern.c.
References NULL, SCIP_Pattern::patterntype, SCIP_PATTERNTYPE_CIRCULAR, and SCIP_Pattern::type.
Referenced by SCIPprobdataEnumeratePatterns().
◆ SCIPpatternGetPackableStatus()
SCIP_PACKABLE SCIPpatternGetPackableStatus | ( | SCIP_PATTERN * | pattern | ) |
returns the packable status of a pattern
- Parameters
-
pattern pattern
Definition at line 326 of file pattern.c.
References NULL, and SCIP_Pattern::packable.
Referenced by enforceSol(), enumeratePatterns(), getNCPatterns(), isPatternDominating(), isSolFeasible(), SCIP_DECL_CONSLOCK(), SCIP_DECL_EVENTEXEC(), SCIPcheckPattern(), SCIPprobdataAddVar(), SCIPverifyCircularPatternHeuristic(), SCIPverifyCircularPatternNLP(), and verifyCircularPattern().
◆ SCIPpatternSetPackableStatus()
void SCIPpatternSetPackableStatus | ( | SCIP_PATTERN * | pattern, |
SCIP_PACKABLE | packable | ||
) |
sets the packable status of a pattern
- Parameters
-
pattern pattern packable packable status
Definition at line 336 of file pattern.c.
References NULL, and SCIP_Pattern::packable.
Referenced by addVariable(), enumeratePatterns(), SCIPverifyCircularPatternHeuristic(), SCIPverifyCircularPatternNLP(), and setupProblem().