Scippy

SCIP

Solving Constraint Integer Programs

SPQRNetworkDecompositionArc Struct Reference

Detailed Description

Structure that stores the relevant data for a single arc.

Definition at line 361 of file network.c.

Data Fields

spqr_node head
 
spqr_node tail
 
spqr_member member
 
spqr_member childMember
 
SPQRNetworkDecompositionArcListNode headArcListNode
 
SPQRNetworkDecompositionArcListNode tailArcListNode
 
SPQRNetworkDecompositionArcListNode arcListNode
 
spqr_element element
 
Signed union-find for arc directions.

If an arc is reversed, it's head becomes its tail and vice-versa. For non-rigid members every arc is it's own representative, and the direction is simply given by the boolean. For rigid members, every arc is represented by another arc in the member, and the direction can be found by multiplying the signs along the union-find path We use this data structure to efficiently reverse all arcs in a skeleton.

spqr_arc representative
 
SCIP_Bool reversed
 

Field Documentation

◆ head

spqr_node SPQRNetworkDecompositionArc::head

The head node of the arc

Definition at line 363 of file network.c.

Referenced by addArcToNodeArcList(), clearArcHeadAndTail(), createArc(), findArcHead(), and findArcHeadNoCompression().

◆ tail

spqr_node SPQRNetworkDecompositionArc::tail

◆ member

spqr_member SPQRNetworkDecompositionArc::member

The member that contains the arc

Definition at line 365 of file network.c.

Referenced by createArc(), findArcMember(), findArcMemberNoCompression(), moveArcToNewMember(), and netMatDecDataCreate().

◆ childMember

spqr_member SPQRNetworkDecompositionArc::childMember

◆ headArcListNode

SPQRNetworkDecompositionArcListNode SPQRNetworkDecompositionArc::headArcListNode

Linked-list node for iterating over the head's arcs

Definition at line 367 of file network.c.

Referenced by addArcToNodeArcList(), createArc(), getNextNodeArc(), getNextNodeArcNoCompression(), getPreviousNodeArc(), mergeNodeArcList(), and removeArcFromNodeArcList().

◆ tailArcListNode

SPQRNetworkDecompositionArcListNode SPQRNetworkDecompositionArc::tailArcListNode

Linked-list node for iterating over the tail's arcs

Definition at line 368 of file network.c.

Referenced by addArcToNodeArcList(), createArc(), getNextNodeArc(), getNextNodeArcNoCompression(), getPreviousNodeArc(), mergeNodeArcList(), and removeArcFromNodeArcList().

◆ arcListNode

SPQRNetworkDecompositionArcListNode SPQRNetworkDecompositionArc::arcListNode

Linked-list node for iterating over the member's arcs

Definition at line 369 of file network.c.

Referenced by addArcToMemberArcList(), createArc(), getNextMemberArc(), getPreviousMemberArc(), mergeMemberArcList(), netMatDecDataCreate(), and removeArcFromMemberArcList().

◆ element

spqr_element SPQRNetworkDecompositionArc::element

◆ representative

spqr_arc SPQRNetworkDecompositionArc::representative

The representative of the arc

Definition at line 382 of file network.c.

Referenced by arcIsRepresentative(), arcSetRepresentative(), findArcSign(), findArcSignNoCompression(), and mergeArcSigns().

◆ reversed

SCIP_Bool SPQRNetworkDecompositionArc::reversed

Whether the arc's head and tail are reversed, or not

Definition at line 383 of file network.c.

Referenced by arcFlipReversed(), arcIsReversedNonRigid(), arcSetReversed(), createArc(), findArcSign(), findArcSignNoCompression(), and mergeArcSigns().