Scippy

SCIP

Solving Constraint Integer Programs

pub_cons.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-2025 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 pub_cons.h
26 * @ingroup PUBLICCOREAPI
27 * @brief public methods for managing constraints
28 * @author Tobias Achterberg
29 */
30
31/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
32
33#ifndef __SCIP_PUB_CONS_H__
34#define __SCIP_PUB_CONS_H__
35
36
37#include "scip/def.h"
38#include "scip/type_misc.h"
39#include "scip/type_cons.h"
40
41#ifdef NDEBUG
42#include "scip/struct_cons.h"
43#endif
44
45#ifdef __cplusplus
46extern "C" {
47#endif
48
49/*
50 * Constraint handler methods
51 */
52
53/**@addtogroup PublicConshdlrMethods
54 *
55 * @{
56 */
57
58/** compares two constraint handlers w.r.t. their separation priority */
59SCIP_EXPORT
60SCIP_DECL_SORTPTRCOMP(SCIPconshdlrCompSepa);
61
62/** compares two constraint handlers w.r.t. their enforcing priority */
63SCIP_EXPORT
64SCIP_DECL_SORTPTRCOMP(SCIPconshdlrCompEnfo);
65
66/** compares two constraint handlers w.r.t. their feasibility check priority */
67SCIP_EXPORT
68SCIP_DECL_SORTPTRCOMP(SCIPconshdlrCompCheck);
69
70/** compares two constraints w.r.t. their feasibility check priority */
71SCIP_EXPORT
72SCIP_DECL_SORTPTRCOMP(SCIPconsCompCheck);
73
74/** gets name of constraint handler */
75SCIP_EXPORT
76const char* SCIPconshdlrGetName(
77 SCIP_CONSHDLR* conshdlr /**< constraint handler */
78 );
79
80/** gets description of constraint handler */
81SCIP_EXPORT
82const char* SCIPconshdlrGetDesc(
83 SCIP_CONSHDLR* conshdlr /**< constraint handler */
84 );
85
86/** gets user data of constraint handler */
87SCIP_EXPORT
89 SCIP_CONSHDLR* conshdlr /**< constraint handler */
90 );
91
92/** sets user data of constraint handler; user has to free old data in advance! */
93SCIP_EXPORT
95 SCIP_CONSHDLR* conshdlr, /**< constraint handler */
96 SCIP_CONSHDLRDATA* conshdlrdata /**< new constraint handler user data */
97 );
98
99/** is constraint handler safe to use in exact solving mode? */
100SCIP_EXPORT
102 SCIP_CONSHDLR* conshdlr /**< constraint handler */
103 );
104
105/** marks the constraint handler as safe to use in exact solving mode
106 *
107 * @note Constraint handlers that are not marked as exact are skipped during exact solving mode.
108 */
109SCIP_EXPORT
111 SCIP_CONSHDLR* conshdlr /**< constraint handler */
112 );
113
114/** sets all separation related callbacks of the constraint handler */
115SCIP_EXPORT
117 SCIP_CONSHDLR* conshdlr, /**< constraint handler */
118 SCIP_DECL_CONSSEPALP ((*conssepalp)), /**< separate cutting planes for LP solution */
119 SCIP_DECL_CONSSEPASOL ((*conssepasol)), /**< separate cutting planes for arbitrary primal solution */
120 int sepafreq, /**< frequency for separating cuts; zero means to separate only in the root node */
121 int sepapriority, /**< priority of the constraint handler for separation */
122 SCIP_Bool delaysepa /**< should separation method be delayed, if other separators found cuts? */
123 );
124
125/** sets both the propagation callback and the propagation frequency of the constraint handler */
126SCIP_EXPORT
128 SCIP_CONSHDLR* conshdlr, /**< constraint handler */
129 SCIP_DECL_CONSPROP ((*consprop)), /**< propagate variable domains */
130 int propfreq, /**< frequency for propagating domains; zero means only preprocessing propagation */
131 SCIP_Bool delayprop, /**< should propagation method be delayed, if other propagators found reductions? */
132 SCIP_PROPTIMING timingmask /**< positions in the node solving loop where propagators should be executed */
133 );
134
135/** sets the relaxation enforcement method of the constraint handler */
136SCIP_EXPORT
138 SCIP_CONSHDLR* conshdlr, /**< constraint handler */
139 SCIP_DECL_CONSENFORELAX ((*consenforelax)) /**< constraint copying method */
140 );
141
142/** gets array with constraints of constraint handler; the first SCIPconshdlrGetNActiveConss() entries are the active
143 * constraints, the last SCIPconshdlrGetNConss() - SCIPconshdlrGetNActiveConss() constraints are deactivated
144 *
145 * @note A constraint is active if it is global and was not removed or it was added locally (in that case the local
146 * flag is TRUE) and the current node belongs to the corresponding sub tree.
147 */
148SCIP_EXPORT
150 SCIP_CONSHDLR* conshdlr /**< constraint handler */
151 );
152
153/** gets array with enforced constraints of constraint handler; this is local information */
154SCIP_EXPORT
156 SCIP_CONSHDLR* conshdlr /**< constraint handler */
157 );
158
159/** gets array with checked constraints of constraint handler; this is local information */
160SCIP_EXPORT
162 SCIP_CONSHDLR* conshdlr /**< constraint handler */
163 );
164
165/** gets array with delayed update constraints
166 *
167 * @attention Usually, there should be no need to access this array. Use this only if you are absolutely sure what you are doing.
168 */
169SCIP_EXPORT
171 SCIP_CONSHDLR* conshdlr /**< constraint handler */
172 );
173
174/** gets total number of existing transformed constraints of constraint handler */
175SCIP_EXPORT
177 SCIP_CONSHDLR* conshdlr /**< constraint handler */
178 );
179
180/** gets number of enforced constraints of constraint handler; this is local information */
181SCIP_EXPORT
183 SCIP_CONSHDLR* conshdlr /**< constraint handler */
184 );
185
186/** gets number of checked constraints of constraint handler; this is local information */
187SCIP_EXPORT
189 SCIP_CONSHDLR* conshdlr /**< constraint handler */
190 );
191
192/** gets number of active constraints of constraint handler
193 *
194 * @note A constraint is active if it is global and was not removed or it was added locally (in that case the local
195 * flag is TRUE) and the current node belongs to the corresponding sub tree.
196 */
197SCIP_EXPORT
199 SCIP_CONSHDLR* conshdlr /**< constraint handler */
200 );
201
202/** gets number of enabled constraints of constraint handler */
203SCIP_EXPORT
205 SCIP_CONSHDLR* conshdlr /**< constraint handler */
206 );
207
208/** gets number of constraints that have delayed updates */
209SCIP_EXPORT
211 SCIP_CONSHDLR* conshdlr /**< constraint handler */
212 );
213
214/** gets time in seconds used for setting up this constraint handler for new stages */
215SCIP_EXPORT
217 SCIP_CONSHDLR* conshdlr /**< constraint handler */
218 );
219
220/** gets time in seconds used for presolving in this constraint handler */
221SCIP_EXPORT
223 SCIP_CONSHDLR* conshdlr /**< constraint handler */
224 );
225
226/** gets time in seconds used for separation in this constraint handler */
227SCIP_EXPORT
229 SCIP_CONSHDLR* conshdlr /**< constraint handler */
230 );
231
232/** gets time in seconds used for LP enforcement in this constraint handler */
233SCIP_EXPORT
235 SCIP_CONSHDLR* conshdlr /**< constraint handler */
236 );
237
238/** gets time in seconds used for pseudo enforcement in this constraint handler */
239SCIP_EXPORT
241 SCIP_CONSHDLR* conshdlr /**< constraint handler */
242 );
243
244/** gets time in seconds used for relaxation enforcement in this constraint handler */
245SCIP_EXPORT
247 SCIP_CONSHDLR* conshdlr /**< constraint handler */
248 );
249
250/** gets time in seconds used for propagation in this constraint handler */
251SCIP_EXPORT
253 SCIP_CONSHDLR* conshdlr /**< constraint handler */
254 );
255
256/** gets time in seconds used for propagation in this constraint handler during strong branching */
257SCIP_EXPORT
259 SCIP_CONSHDLR* conshdlr /**< constraint handler */
260 );
261
262/** gets time in seconds used for feasibility checking in this constraint handler */
263SCIP_EXPORT
265 SCIP_CONSHDLR* conshdlr /**< constraint handler */
266 );
267
268/** gets time in seconds used for resolving propagation in this constraint handler */
269SCIP_EXPORT
271 SCIP_CONSHDLR* conshdlr /**< constraint handler */
272 );
273
274/** gets number of calls to the constraint handler's separation method */
275SCIP_EXPORT
277 SCIP_CONSHDLR* conshdlr /**< constraint handler */
278 );
279
280/** gets number of calls to the constraint handler's LP enforcing method */
281SCIP_EXPORT
283 SCIP_CONSHDLR* conshdlr /**< constraint handler */
284 );
285
286/** gets number of calls to the constraint handler's pseudo enforcing method */
287SCIP_EXPORT
289 SCIP_CONSHDLR* conshdlr /**< constraint handler */
290 );
291
292/** gets number of calls to the constraint handler's relaxation enforcing method */
293SCIP_EXPORT
295 SCIP_CONSHDLR* conshdlr /**< constraint handler */
296 );
297
298/** gets number of calls to the constraint handler's propagation method */
299SCIP_EXPORT
301 SCIP_CONSHDLR* conshdlr /**< constraint handler */
302 );
303
304/** gets number of calls to the constraint handler's checking method */
305SCIP_EXPORT
307 SCIP_CONSHDLR* conshdlr /**< constraint handler */
308 );
309
310/** gets number of calls to the constraint handler's resolve propagation method */
311SCIP_EXPORT
313 SCIP_CONSHDLR* conshdlr /**< constraint handler */
314 );
315
316/** gets total number of times, this constraint handler detected a cutoff */
317SCIP_EXPORT
319 SCIP_CONSHDLR* conshdlr /**< constraint handler */
320 );
321
322/** gets total number of cuts found by this constraint handler */
323SCIP_EXPORT
325 SCIP_CONSHDLR* conshdlr /**< constraint handler */
326 );
327
328/** gets total number of cuts found by this constraint handler applied to lp */
329SCIP_EXPORT
331 SCIP_CONSHDLR* conshdlr /**< constraint handler */
332 );
333
334/** gets total number of additional constraints added by this constraint handler */
335SCIP_EXPORT
337 SCIP_CONSHDLR* conshdlr /**< constraint handler */
338 );
339
340/** gets total number of domain reductions found by this constraint handler */
341SCIP_EXPORT
343 SCIP_CONSHDLR* conshdlr /**< constraint handler */
344 );
345
346/** gets number of children created by this constraint handler */
347SCIP_EXPORT
349 SCIP_CONSHDLR* conshdlr /**< constraint handler */
350 );
351
352/** gets maximum number of active constraints of constraint handler existing at the same time */
353SCIP_EXPORT
355 SCIP_CONSHDLR* conshdlr /**< constraint handler */
356 );
357
358/** gets initial number of active constraints of constraint handler */
359SCIP_EXPORT
361 SCIP_CONSHDLR* conshdlr /**< constraint handler */
362 );
363
364/** gets number of variables fixed in presolving method of constraint handler */
365SCIP_EXPORT
367 SCIP_CONSHDLR* conshdlr /**< constraint handler */
368 );
369
370/** gets number of variables aggregated in presolving method of constraint handler */
371SCIP_EXPORT
373 SCIP_CONSHDLR* conshdlr /**< constraint handler */
374 );
375
376/** gets number of variable types changed in presolving method of constraint handler */
377SCIP_EXPORT
379 SCIP_CONSHDLR* conshdlr /**< constraint handler */
380 );
381
382/** gets number of bounds changed in presolving method of constraint handler */
383SCIP_EXPORT
385 SCIP_CONSHDLR* conshdlr /**< constraint handler */
386 );
387
388/** gets number of holes added to domains of variables in presolving method of constraint handler */
389SCIP_EXPORT
391 SCIP_CONSHDLR* conshdlr /**< constraint handler */
392 );
393
394/** gets number of constraints deleted in presolving method of constraint handler */
395SCIP_EXPORT
397 SCIP_CONSHDLR* conshdlr /**< constraint handler */
398 );
399
400/** gets number of constraints added in presolving method of constraint handler */
401SCIP_EXPORT
403 SCIP_CONSHDLR* conshdlr /**< constraint handler */
404 );
405
406/** gets number of constraints upgraded in presolving method of constraint handler */
407SCIP_EXPORT
409 SCIP_CONSHDLR* conshdlr /**< constraint handler */
410 );
411
412/** gets number of coefficients changed in presolving method of constraint handler */
413SCIP_EXPORT
415 SCIP_CONSHDLR* conshdlr /**< constraint handler */
416 );
417
418/** gets number of constraint sides changed in presolving method of constraint handler */
419SCIP_EXPORT
421 SCIP_CONSHDLR* conshdlr /**< constraint handler */
422 );
423
424/** gets number of times the presolving method of the constraint handler was called and tried to find reductions */
425SCIP_EXPORT
427 SCIP_CONSHDLR* conshdlr /**< constraint handler */
428 );
429
430/** gets separation priority of constraint handler */
431SCIP_EXPORT
433 SCIP_CONSHDLR* conshdlr /**< constraint handler */
434 );
435
436/** gets enforcing priority of constraint handler */
437SCIP_EXPORT
439 SCIP_CONSHDLR* conshdlr /**< constraint handler */
440 );
441
442/** gets checking priority of constraint handler */
443SCIP_EXPORT
445 SCIP_CONSHDLR* conshdlr /**< constraint handler */
446 );
447
448/** gets separation frequency of constraint handler */
449SCIP_EXPORT
451 SCIP_CONSHDLR* conshdlr /**< constraint handler */
452 );
453
454/** gets propagation frequency of constraint handler */
455SCIP_EXPORT
457 SCIP_CONSHDLR* conshdlr /**< constraint handler */
458 );
459
460/** gets frequency of constraint handler for eager evaluations in separation, propagation and enforcement */
461SCIP_EXPORT
463 SCIP_CONSHDLR* conshdlr /**< constraint handler */
464 );
465
466/** does the constraint handler need a constraint in order to be called? */
467SCIP_EXPORT
469 SCIP_CONSHDLR* conshdlr /**< constraint handler */
470 );
471
472/** sets the needscons flag of constraint handler, for example to disable without constraints */
473SCIP_EXPORT
475 SCIP_CONSHDLR* conshdlr, /**< constraint handler */
476 SCIP_Bool needscons /**< should be skipped, if no constraints are available? */
477 );
478
479/** does the constraint handler perform presolving? */
480SCIP_EXPORT
482 SCIP_CONSHDLR* conshdlr /**< constraint handler */
483 );
484
485/** should separation method be delayed, if other separators found cuts? */
486SCIP_EXPORT
488 SCIP_CONSHDLR* conshdlr /**< constraint handler */
489 );
490
491/** should propagation method be delayed, if other propagators found reductions? */
492SCIP_EXPORT
494 SCIP_CONSHDLR* conshdlr /**< constraint handler */
495 );
496
497/** was LP separation method delayed at the last call? */
498SCIP_EXPORT
500 SCIP_CONSHDLR* conshdlr /**< constraint handler */
501 );
502
503/** was primal solution separation method delayed at the last call? */
504SCIP_EXPORT
506 SCIP_CONSHDLR* conshdlr /**< constraint handler */
507 );
508
509/** was propagation method delayed at the last call? */
510SCIP_EXPORT
512 SCIP_CONSHDLR* conshdlr /**< constraint handler */
513 );
514
515/** is constraint handler initialized? */
516SCIP_EXPORT
518 SCIP_CONSHDLR* conshdlr /**< constraint handler */
519 );
520
521/** does the constraint handler have a copy function? */
522SCIP_EXPORT
524 SCIP_CONSHDLR* conshdlr /**< constraint handler */
525 );
526
527/** returns the timing mask of the propagation method of the constraint handler */
528SCIP_EXPORT
530 SCIP_CONSHDLR* conshdlr /**< constraint handler */
531 );
532
533/*
534 * Methods for constraint change sets
535 */
536
537/** gets added constraints data for a constraint set change */
538SCIP_EXPORT
540 SCIP_CONSSETCHG* conssetchg, /**< constraint set change to get data from */
541 SCIP_CONS*** conss, /**< reference to constraints array added in the conssetchg, or NULL */
542 int* nconss /**< reference to store the size of the constraints array, or NULL */
543 );
544
545/** sets the timing mask of the propagation method of the constraint handler */
546SCIP_EXPORT
548 SCIP_CONSHDLR* conshdlr, /**< constraint handler */
549 SCIP_PROPTIMING proptiming /**< timing mask to be set */
550 );
551
552
553/** returns the timing mask of the presolving method of the constraint handler */
554SCIP_EXPORT
556 SCIP_CONSHDLR* conshdlr /**< constraint handler */
557 );
558
559/** sets the timing mask of the presolving method of the constraint handler */
560SCIP_EXPORT
562 SCIP_CONSHDLR* conshdlr, /**< constraint handler */
563 SCIP_PRESOLTIMING presoltiming /** timing mask to be set */
564 );
565
566/** returns whether conshdlr supports permutation symmetry detection */
567SCIP_EXPORT
569 SCIP_CONSHDLR* conshdlr /**< constraint handler */
570 );
571
572/** returns whether conshdlr supports signed permutation symmetry detection */
573SCIP_EXPORT
575 SCIP_CONSHDLR* conshdlr /**< constraint handler */
576 );
577
578/** @} */
579
580/*
581 * Constraint methods
582 */
583
584/**@addtogroup PublicConstraintMethods
585 *
586 * @{
587 */
588
589
590/** returns the name of the constraint
591 *
592 * @note to change the name of a constraint, use SCIPchgConsName() from scip.h
593 */
594SCIP_EXPORT
595const char* SCIPconsGetName(
596 SCIP_CONS* cons /**< constraint */
597 );
598
599/** returns the position of constraint in the corresponding handler's conss array */
600SCIP_EXPORT
602 SCIP_CONS* cons /**< constraint */
603 );
604
605/** returns the constraint handler of the constraint */
606SCIP_EXPORT
608 SCIP_CONS* cons /**< constraint */
609 );
610
611/** returns the constraint data field of the constraint */
612SCIP_EXPORT
614 SCIP_CONS* cons /**< constraint */
615 );
616
617/** gets number of times, the constraint is currently captured */
618SCIP_EXPORT
620 SCIP_CONS* cons /**< constraint */
621 );
622
623/** for an active constraint, returns the depth in the tree at which the constraint was activated */
624SCIP_EXPORT
626 SCIP_CONS* cons /**< constraint */
627 );
628
629/** returns the depth in the tree at which the constraint is valid; returns INT_MAX, if the constraint is local
630 * and currently not active
631 */
632SCIP_EXPORT
634 SCIP_CONS* cons /**< constraint */
635 );
636
637/** returns TRUE iff constraint is active in the current node */
638SCIP_EXPORT
640 SCIP_CONS* cons /**< constraint */
641 );
642
643/** returns TRUE iff constraint has to be deactivated in update phase */
644SCIP_EXPORT
646 SCIP_CONS* cons /**< constraint */
647 );
648
649/** returns TRUE iff constraint is enabled in the current node */
650SCIP_EXPORT
652 SCIP_CONS* cons /**< constraint */
653 );
654
655/** returns TRUE iff constraint's separation is enabled in the current node */
656SCIP_EXPORT
658 SCIP_CONS* cons /**< constraint */
659 );
660
661/** returns TRUE iff constraint's propagation is enabled in the current node */
662SCIP_EXPORT
664 SCIP_CONS* cons /**< constraint */
665 );
666
667/** returns TRUE iff constraint is deleted or marked to be deleted */
668SCIP_EXPORT
670 SCIP_CONS* cons /**< constraint */
671 );
672
673/** returns TRUE iff constraint is marked obsolete */
674SCIP_EXPORT
676 SCIP_CONS* cons /**< constraint */
677 );
678
679/** returns TRUE iff constraint is marked as a conflict */
680SCIP_EXPORT
682 SCIP_CONS* cons /**< constraint */
683 );
684
685/** gets age of constraint */
686SCIP_EXPORT
688 SCIP_CONS* cons /**< constraint */
689 );
690
691/** returns TRUE iff the LP relaxation of constraint should be in the initial LP */
692SCIP_EXPORT
694 SCIP_CONS* cons /**< constraint */
695 );
696
697/** returns TRUE iff constraint should be separated during LP processing */
698SCIP_EXPORT
700 SCIP_CONS* cons /**< constraint */
701 );
702
703/** returns TRUE iff constraint should be enforced during node processing */
704SCIP_EXPORT
706 SCIP_CONS* cons /**< constraint */
707 );
708
709/** returns TRUE iff constraint should be checked for feasibility */
710SCIP_EXPORT
712 SCIP_CONS* cons /**< constraint */
713 );
714
715/** returns whether the constraint is marked for propagation */
716SCIP_EXPORT
718 SCIP_CONS* cons /**< constraint */
719 );
720
721/** returns TRUE iff constraint should be propagated during node processing */
722SCIP_EXPORT
724 SCIP_CONS* cons /**< constraint */
725 );
726
727/** returns TRUE iff constraint is globally valid */
728SCIP_EXPORT
730 SCIP_CONS* cons /**< constraint */
731 );
732
733/** returns TRUE iff constraint is only locally valid or not added to any (sub)problem */
734SCIP_EXPORT
736 SCIP_CONS* cons /**< constraint */
737 );
738
739/** returns TRUE iff constraint is modifiable (subject to column generation) */
740SCIP_EXPORT
742 SCIP_CONS* cons /**< constraint */
743 );
744
745/** returns TRUE iff constraint is subject to aging */
746SCIP_EXPORT
748 SCIP_CONS* cons /**< constraint */
749 );
750
751/** returns TRUE iff constraint's relaxation should be removed from the LP due to aging or cleanup */
752SCIP_EXPORT
754 SCIP_CONS* cons /**< constraint */
755 );
756
757/** returns TRUE iff constraint's relaxation should be removed from the LP due to aging or cleanup */
758SCIP_EXPORT
760 SCIP_CONS* cons /**< constraint */
761 );
762
763/** returns TRUE iff constraint belongs to the global problem */
764SCIP_EXPORT
766 SCIP_CONS* cons /**< constraint */
767 );
768
769/** returns TRUE iff constraint is belonging to original space */
770SCIP_EXPORT
772 SCIP_CONS* cons /**< constraint */
773 );
774
775/** returns TRUE iff constraint is belonging to transformed space */
776SCIP_EXPORT
778 SCIP_CONS* cons /**< constraint */
779 );
780
781/** returns TRUE iff roundings for variables in constraint are locked */
782SCIP_EXPORT
784 SCIP_CONS* cons /**< constraint */
785 );
786
787/** returns TRUE iff roundings for variables in constraint's negation are locked */
788SCIP_EXPORT
790 SCIP_CONS* cons /**< constraint */
791 );
792
793/** returns TRUE iff roundings for variables in constraint or in constraint's negation are locked */
794SCIP_EXPORT
796 SCIP_CONS* cons /**< constraint */
797 );
798
799/** get number of times the roundings for variables in constraint are locked */
800SCIP_EXPORT
802 SCIP_CONS* cons /**< constraint */
803 );
804
805/** get number of times the roundings for variables in constraint's negation are locked */
806SCIP_EXPORT
808 SCIP_CONS* cons /**< constraint */
809 );
810
811/** returns TRUE iff roundings of the given locktype for variables in constraint are locked */
812SCIP_EXPORT
814 SCIP_CONS* cons, /**< constraint */
815 SCIP_LOCKTYPE locktype /**< variable lock type */
816 );
817
818/** returns TRUE iff roundings of the given locktype for variables in constraint are locked */
819SCIP_EXPORT
821 SCIP_CONS* cons, /**< constraint */
822 SCIP_LOCKTYPE locktype /**< variable lock type */
823 );
824
825/** returns TRUE iff roundings of the given locktype for variables in constraint or in constraint's negation are locked */
826SCIP_EXPORT
828 SCIP_CONS* cons, /**< constraint */
829 SCIP_LOCKTYPE locktype /**< variable lock type */
830 );
831
832/** get number of times the roundings of given locktype for variables in constraint are locked */
833SCIP_EXPORT
835 SCIP_CONS* cons, /**< constraint */
836 SCIP_LOCKTYPE locktype /**< variable lock type */
837 );
838
839/** get number of times the roundings of given locktype for variables in constraint's negation are locked */
840SCIP_EXPORT
842 SCIP_CONS* cons, /**< constraint */
843 SCIP_LOCKTYPE locktype /**< variable lock type */
844 );
845
846/** returns if the constraint was already added to a SCIP instance */
847SCIP_EXPORT
849 SCIP_CONS* cons /**< constraint */
850 );
851
852/** adds locks to (dis-)allow upgrading of constraint */
853SCIP_EXPORT
855 SCIP_CONS* cons, /**< constraint to add locks */
856 int nlocks /**< number of locks to add */
857 );
858
859/** gets number of locks against upgrading the constraint, 0 means this constraint can be upgraded */
860SCIP_EXPORT
862 SCIP_CONS* cons /**< constraint */
863 );
864
865#ifdef NDEBUG
866
867/* In optimized mode, the function calls are overwritten by defines to reduce the number of function calls and
868 * speed up the algorithms.
869 */
870
871#define SCIPconsGetName(cons) (cons)->name
872#define SCIPconsGetPos(cons) (cons)->consspos
873#define SCIPconsGetHdlr(cons) (cons)->conshdlr
874#define SCIPconsGetData(cons) (cons)->consdata
875#define SCIPconsGetNUses(cons) (cons)->nuses
876#define SCIPconsGetActiveDepth(cons) (cons)->activedepth
877#define SCIPconsGetValidDepth(cons) (!(cons)->local ? 0 \
878 : !SCIPconsIsActive(cons) ? INT_MAX \
879 : (cons)->validdepth == -1 ? SCIPconsGetActiveDepth(cons) \
880 : (cons)->validdepth)
881#define SCIPconsIsActive(cons) ((cons)->updateactivate || ((cons)->active && !(cons)->updatedeactivate))
882#define SCIPconsIsEnabled(cons) ((cons)->updateenable || ((cons)->enabled && !(cons)->updatedisable))
883#define SCIPconsIsSeparationEnabled(cons) \
884 (SCIPconsIsEnabled(cons) && ((cons)->updatesepaenable || ((cons)->sepaenabled && !(cons)->updatesepadisable)))
885#define SCIPconsIsPropagationEnabled(cons) \
886 (SCIPconsIsEnabled(cons) && ((cons)->updatepropenable || ((cons)->propenabled && !(cons)->updatepropdisable)))
887#define SCIPconsIsDeleted(cons) ((cons)->deleted)
888#define SCIPconsIsObsolete(cons) ((cons)->updateobsolete || (cons)->obsolete)
889#define SCIPconsIsConflict(cons) ((cons)->conflict)
890#define SCIPconsGetAge(cons) (cons)->age
891#define SCIPconsIsInitial(cons) (cons)->initial
892#define SCIPconsIsSeparated(cons) (cons)->separate
893#define SCIPconsIsEnforced(cons) (cons)->enforce
894#define SCIPconsIsChecked(cons) (cons)->check
895#define SCIPconsIsMarkedPropagate(cons) ((cons)->updatemarkpropagate || ((cons)->markpropagate && !(cons)->updateunmarkpropagate))
896#define SCIPconsIsPropagated(cons) (cons)->propagate
897#define SCIPconsIsGlobal(cons) !(cons)->local
898#define SCIPconsIsLocal(cons) (cons)->local
899#define SCIPconsIsModifiable(cons) (cons)->modifiable
900#define SCIPconsIsDynamic(cons) (cons)->dynamic
901#define SCIPconsIsRemovable(cons) (cons)->removable
902#define SCIPconsIsStickingAtNode(cons) (cons)->stickingatnode
903#define SCIPconsIsInProb(cons) ((cons)->addconssetchg == NULL && (cons)->addarraypos >= 0)
904#define SCIPconsIsOriginal(cons) (cons)->original
905#define SCIPconsIsTransformed(cons) !(cons)->original
906#define SCIPconsIsLockedPos(cons) ((cons)->nlockspos[SCIP_LOCKTYPE_MODEL] > 0)
907#define SCIPconsIsLockedNeg(cons) ((cons)->nlocksneg[SCIP_LOCKTYPE_MODEL] > 0)
908#define SCIPconsIsLocked(cons) ((cons)->nlockspos[SCIP_LOCKTYPE_MODEL] > 0 || (cons)->nlocksneg[SCIP_LOCKTYPE_MODEL] > 0)
909#define SCIPconsGetNLocksPos(cons) ((cons)->nlockspos[SCIP_LOCKTYPE_MODEL])
910#define SCIPconsGetNLocksNeg(cons) ((cons)->nlocksneg[SCIP_LOCKTYPE_MODEL])
911#define SCIPconsIsLockedTypePos(cons, locktype) ((cons)->nlockspos[locktype] > 0)
912#define SCIPconsIsLockedTypeNeg(cons, locktype) ((cons)->nlocksneg[locktype] > 0)
913#define SCIPconsIsLockedType(cons, locktype) ((cons)->nlockspos[locktype] > 0 || (cons)->nlocksneg[locktype] > 0)
914#define SCIPconsGetNLocksTypePos(cons, locktype) ((cons)->nlockspos[locktype])
915#define SCIPconsGetNLocksTypeNeg(cons, locktype) ((cons)->nlocksneg[locktype])
916#define SCIPconsIsAdded(cons) ((cons)->addarraypos >= 0)
917#define SCIPconsGetNUpgradeLocks(cons) ((cons)->nupgradelocks)
918
919#endif
920
921/** @} */
922
923/**@addtogroup PublicProblemMethods
924 *
925 * public methods to query linear constraint classification statistics
926 *
927 * @{
928 */
929
930/** create linear constraint statistics */
931SCIP_EXPORT
933 SCIP* scip, /**< scip data structure */
934 SCIP_LINCONSSTATS** linconsstats /**< pointer to linear constraint classification statistics */
935 );
936
937/** free linear constraint statistics */
938SCIP_EXPORT
940 SCIP* scip, /**< scip data structure */
941 SCIP_LINCONSSTATS** linconsstats /**< pointer to linear constraint classification statistics */
942 );
943
944/** resets linear constraint statistics */
945SCIP_EXPORT
947 SCIP_LINCONSSTATS* linconsstats /**< linear constraint classification statistics */
948 );
949
950/** returns the number of occurrences of a specific type of linear constraint */
951SCIP_EXPORT
953 SCIP_LINCONSSTATS* linconsstats, /**< linear constraint classification statistics */
954 SCIP_LINCONSTYPE linconstype /**< linear constraint type */
955 );
956
957/** returns the total number of classified constraints */
958SCIP_EXPORT
960 SCIP_LINCONSSTATS* linconsstats /**< linear constraint classification statistics */
961 );
962
963/** increases the number of occurrences of a specific type of linear constraint */
964SCIP_EXPORT
966 SCIP_LINCONSSTATS* linconsstats, /**< linear constraint classification statistics */
967 SCIP_LINCONSTYPE linconstype, /**< linear constraint type */
968 int increment /**< positive increment */
969 );
970
971/** print linear constraint classification statistics */
972SCIP_EXPORT
974 SCIP* scip, /**< scip data structure */
975 FILE* file, /**< file handle or NULL to print to standard out */
976 SCIP_LINCONSSTATS* linconsstats /**< linear constraint classification statistics */
977 );
978
979/** @} */
980
981#ifdef __cplusplus
982}
983#endif
984
985#endif
SCIP_DECL_CONSSEPASOL(ConshdlrSubtour::scip_sepasol)
SCIP_DECL_CONSSEPALP(ConshdlrSubtour::scip_sepalp)
SCIP_DECL_CONSPROP(ConshdlrSubtour::scip_prop)
common defines and data types used in all packages of SCIP
#define SCIP_Longint
Definition: def.h:141
#define SCIP_Bool
Definition: def.h:91
#define SCIP_Real
Definition: def.h:156
int SCIPconshdlrGetNCheckConss(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:4798
void SCIPconshdlrSetData(SCIP_CONSHDLR *conshdlr, SCIP_CONSHDLRDATA *conshdlrdata)
Definition: cons.c:4346
int SCIPconshdlrGetMaxNActiveConss(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:5112
SCIP_Real SCIPconshdlrGetCheckTime(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:4942
SCIP_PROPTIMING SCIPconshdlrGetPropTiming(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:5403
SCIP_Bool SCIPconshdlrWasSolSeparationDelayed(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:5363
SCIP_Longint SCIPconshdlrGetNCheckCalls(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:5012
SCIP_CONS ** SCIPconshdlrGetCheckConss(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:4755
int SCIPconshdlrGetNChgSides(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:5222
SCIP_Real SCIPconshdlrGetPresolTime(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:4872
int SCIPconshdlrGetEagerFreq(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:5292
SCIP_Bool SCIPconshdlrDoesPresolve(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:5323
void SCIPconshdlrSetProp(SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSPROP((*consprop)), int propfreq, SCIP_Bool delayprop, SCIP_PROPTIMING timingmask)
Definition: cons.c:4401
int SCIPconshdlrGetNFixedVars(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:5132
SCIP_PRESOLTIMING SCIPconshdlrGetPresolTiming(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:5425
SCIP_Real SCIPconshdlrGetEnfoLPTime(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:4892
int SCIPconshdlrGetNPresolCalls(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:5232
SCIP_Longint SCIPconshdlrGetNDomredsFound(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:5092
int SCIPconshdlrGetSepaPriority(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:5242
SCIP_Longint SCIPconshdlrGetNCutsApplied(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:5052
int SCIPconshdlrGetNChgCoefs(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:5212
void SCIPconshdlrSetPresolTiming(SCIP_CONSHDLR *conshdlr, SCIP_PRESOLTIMING presoltiming)
Definition: cons.c:5435
void SCIPconshdlrMarkExact(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:4370
int SCIPconshdlrGetNUpdateConss(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:4832
SCIP_CONS ** SCIPconshdlrGetEnfoConss(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:4745
void SCIPconshdlrSetSepa(SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSSEPALP((*conssepalp)), SCIP_DECL_CONSSEPASOL((*conssepasol)), int sepafreq, int sepapriority, SCIP_Bool delaysepa)
Definition: cons.c:4380
SCIP_Real SCIPconshdlrGetStrongBranchPropTime(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:4932
void SCIPconshdlrSetEnforelax(SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSENFORELAX((*consenforelax)))
Definition: cons.c:4420
SCIP_Longint SCIPconshdlrGetNCutsFound(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:5042
SCIP_Bool SCIPconshdlrSupportsSignedPermsymDetection(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:5456
SCIP_Bool SCIPconshdlrIsPropagationDelayed(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:5343
SCIP_Real SCIPconshdlrGetPropTime(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:4922
void SCIPconssetchgGetAddedConsData(SCIP_CONSSETCHG *conssetchg, SCIP_CONS ***conss, int *nconss)
Definition: cons.c:5746
SCIP_Real SCIPconshdlrGetEnfoPSTime(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:4902
int SCIPconshdlrGetPropFreq(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:5282
int SCIPconshdlrGetNConss(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:4778
SCIP_Longint SCIPconshdlrGetNCutoffs(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:5032
const char * SCIPconshdlrGetName(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:4316
int SCIPconshdlrGetNEnabledConss(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:4822
SCIP_CONS ** SCIPconshdlrGetUpdateConss(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:4768
SCIP_Bool SCIPconshdlrIsSeparationDelayed(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:5333
SCIP_Longint SCIPconshdlrGetNSepaCalls(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:4962
int SCIPconshdlrGetNDelConss(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:5182
SCIP_DECL_SORTPTRCOMP(SCIPconshdlrCompSepa)
Definition: cons.c:1956
SCIP_Bool SCIPconshdlrWasLPSeparationDelayed(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:5353
SCIP_Longint SCIPconshdlrGetNChildren(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:5102
SCIP_Real SCIPconshdlrGetEnfoRelaxTime(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:4912
void SCIPconshdlrSetPropTiming(SCIP_CONSHDLR *conshdlr, SCIP_PROPTIMING proptiming)
Definition: cons.c:5413
SCIP_Bool SCIPconshdlrNeedsCons(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:5302
int SCIPconshdlrGetNAggrVars(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:5142
SCIP_Longint SCIPconshdlrGetNEnfoPSCalls(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:4982
int SCIPconshdlrGetNAddHoles(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:5172
int SCIPconshdlrGetNEnfoConss(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:4788
void SCIPconshdlrSetNeedsCons(SCIP_CONSHDLR *conshdlr, SCIP_Bool needscons)
Definition: cons.c:5312
SCIP_Bool SCIPconshdlrIsInitialized(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:5383
int SCIPconshdlrGetNUpgdConss(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:5202
int SCIPconshdlrGetStartNActiveConss(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:5122
SCIP_Bool SCIPconshdlrIsExact(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:4357
SCIP_Bool SCIPconshdlrWasPropagationDelayed(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:5373
int SCIPconshdlrGetNAddConss(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:5192
SCIP_Bool SCIPconshdlrSupportsPermsymDetection(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:5446
int SCIPconshdlrGetNChgBds(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:5162
const char * SCIPconshdlrGetDesc(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:4326
SCIP_CONSHDLRDATA * SCIPconshdlrGetData(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:4336
SCIP_Longint SCIPconshdlrGetNConssFound(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:5082
int SCIPconshdlrGetNActiveConss(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:4812
int SCIPconshdlrGetCheckPriority(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:5262
int SCIPconshdlrGetSepaFreq(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:5272
SCIP_Longint SCIPconshdlrGetNPropCalls(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:5002
SCIP_Longint SCIPconshdlrGetNEnfoLPCalls(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:4972
SCIP_CONS ** SCIPconshdlrGetConss(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:4735
int SCIPconshdlrGetEnfoPriority(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:5252
SCIP_Real SCIPconshdlrGetSetupTime(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:4862
SCIP_Longint SCIPconshdlrGetNRespropCalls(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:5022
SCIP_Real SCIPconshdlrGetSepaTime(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:4882
SCIP_Bool SCIPconshdlrIsClonable(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:5393
int SCIPconshdlrGetNChgVarTypes(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:5152
SCIP_Real SCIPconshdlrGetRespropTime(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:4952
SCIP_Longint SCIPconshdlrGetNEnfoRelaxCalls(SCIP_CONSHDLR *conshdlr)
Definition: cons.c:4992
SCIP_Bool SCIPconsIsLockedNeg(SCIP_CONS *cons)
Definition: cons.c:8718
SCIP_CONSDATA * SCIPconsGetData(SCIP_CONS *cons)
Definition: cons.c:8419
void SCIPconsAddUpgradeLocks(SCIP_CONS *cons, int nlocks)
Definition: cons.c:8828
int SCIPconsGetPos(SCIP_CONS *cons)
Definition: cons.c:8399
SCIP_Bool SCIPconsIsConflict(SCIP_CONS *cons)
Definition: cons.c:8538
SCIP_Bool SCIPconsIsDynamic(SCIP_CONS *cons)
Definition: cons.c:8648
SCIP_Real SCIPconsGetAge(SCIP_CONS *cons)
Definition: cons.c:8548
SCIP_CONSHDLR * SCIPconsGetHdlr(SCIP_CONS *cons)
Definition: cons.c:8409
int SCIPconsGetActiveDepth(SCIP_CONS *cons)
Definition: cons.c:8439
SCIP_Bool SCIPconsIsLockedPos(SCIP_CONS *cons)
Definition: cons.c:8708
SCIP_Bool SCIPconsIsPropagationEnabled(SCIP_CONS *cons)
Definition: cons.c:8507
SCIP_Bool SCIPconsIsInitial(SCIP_CONS *cons)
Definition: cons.c:8558
int SCIPconsGetNUpgradeLocks(SCIP_CONS *cons)
Definition: cons.c:8841
SCIP_Bool SCIPconsIsMarkedPropagate(SCIP_CONS *cons)
Definition: cons.c:8598
int SCIPconsGetNLocksTypeNeg(SCIP_CONS *cons, SCIP_LOCKTYPE locktype)
Definition: cons.c:8806
int SCIPconsGetValidDepth(SCIP_CONS *cons)
Definition: cons.c:8472
SCIP_Bool SCIPconsIsOriginal(SCIP_CONS *cons)
Definition: cons.c:8688
SCIP_Bool SCIPconsIsChecked(SCIP_CONS *cons)
Definition: cons.c:8588
SCIP_Bool SCIPconsIsDeleted(SCIP_CONS *cons)
Definition: cons.c:8518
SCIP_Bool SCIPconsIsUpdatedeactivate(SCIP_CONS *cons)
Definition: cons.c:8460
SCIP_Bool SCIPconsIsTransformed(SCIP_CONS *cons)
Definition: cons.c:8698
int SCIPconsGetNLocksPos(SCIP_CONS *cons)
Definition: cons.c:8738
SCIP_Bool SCIPconsIsLockedType(SCIP_CONS *cons, SCIP_LOCKTYPE locktype)
Definition: cons.c:8782
SCIP_Bool SCIPconsIsEnforced(SCIP_CONS *cons)
Definition: cons.c:8578
SCIP_Bool SCIPconsIsInProb(SCIP_CONS *cons)
Definition: cons.c:8678
SCIP_Bool SCIPconsIsGlobal(SCIP_CONS *cons)
Definition: cons.c:8618
SCIP_Bool SCIPconsIsActive(SCIP_CONS *cons)
Definition: cons.c:8450
SCIP_Bool SCIPconsIsPropagated(SCIP_CONS *cons)
Definition: cons.c:8608
SCIP_Bool SCIPconsIsLocal(SCIP_CONS *cons)
Definition: cons.c:8628
int SCIPconsGetNLocksNeg(SCIP_CONS *cons)
Definition: cons.c:8748
int SCIPconsGetNUses(SCIP_CONS *cons)
Definition: cons.c:8429
SCIP_Bool SCIPconsIsLockedTypePos(SCIP_CONS *cons, SCIP_LOCKTYPE locktype)
Definition: cons.c:8758
SCIP_Bool SCIPconsIsEnabled(SCIP_CONS *cons)
Definition: cons.c:8486
const char * SCIPconsGetName(SCIP_CONS *cons)
Definition: cons.c:8389
SCIP_Bool SCIPconsIsLocked(SCIP_CONS *cons)
Definition: cons.c:8728
SCIP_Bool SCIPconsIsSeparationEnabled(SCIP_CONS *cons)
Definition: cons.c:8496
SCIP_Bool SCIPconsIsLockedTypeNeg(SCIP_CONS *cons, SCIP_LOCKTYPE locktype)
Definition: cons.c:8770
SCIP_Bool SCIPconsIsModifiable(SCIP_CONS *cons)
Definition: cons.c:8638
SCIP_Bool SCIPconsIsAdded(SCIP_CONS *cons)
Definition: cons.c:8818
SCIP_Bool SCIPconsIsObsolete(SCIP_CONS *cons)
Definition: cons.c:8528
SCIP_Bool SCIPconsIsStickingAtNode(SCIP_CONS *cons)
Definition: cons.c:8668
int SCIPconsGetNLocksTypePos(SCIP_CONS *cons, SCIP_LOCKTYPE locktype)
Definition: cons.c:8794
SCIP_Bool SCIPconsIsSeparated(SCIP_CONS *cons)
Definition: cons.c:8568
SCIP_Bool SCIPconsIsRemovable(SCIP_CONS *cons)
Definition: cons.c:8658
int SCIPlinConsStatsGetSum(SCIP_LINCONSSTATS *linconsstats)
Definition: cons.c:8273
void SCIPlinConsStatsIncTypeCount(SCIP_LINCONSSTATS *linconsstats, SCIP_LINCONSTYPE linconstype, int increment)
Definition: cons.c:8283
int SCIPlinConsStatsGetTypeCount(SCIP_LINCONSSTATS *linconsstats, SCIP_LINCONSTYPE linconstype)
Definition: cons.c:8260
void SCIPlinConsStatsFree(SCIP *scip, SCIP_LINCONSSTATS **linconsstats)
Definition: cons.c:8239
void SCIPlinConsStatsReset(SCIP_LINCONSSTATS *linconsstats)
Definition: cons.c:8251
void SCIPprintLinConsStats(SCIP *scip, FILE *file, SCIP_LINCONSSTATS *linconsstats)
Definition: cons.c:8299
SCIP_RETCODE SCIPlinConsStatsCreate(SCIP *scip, SCIP_LINCONSSTATS **linconsstats)
Definition: cons.c:8226
datastructures for constraints and constraint handlers
type definitions for constraints and constraint handlers
struct SCIP_ConshdlrData SCIP_CONSHDLRDATA
Definition: type_cons.h:64
#define SCIP_DECL_CONSENFORELAX(x)
Definition: type_cons.h:388
struct SCIP_ConsData SCIP_CONSDATA
Definition: type_cons.h:65
enum SCIP_LinConstype SCIP_LINCONSTYPE
Definition: type_cons.h:91
type definitions for miscellaneous datastructures
enum SCIP_Retcode SCIP_RETCODE
Definition: type_retcode.h:63
unsigned int SCIP_PROPTIMING
Definition: type_timing.h:75
unsigned int SCIP_PRESOLTIMING
Definition: type_timing.h:61
enum SCIP_LockType SCIP_LOCKTYPE
Definition: type_var.h:144