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().