Scippy

SCIP

Solving Constraint Integer Programs

dynamic_programming_border Struct Reference

Detailed Description

DP border structure

Definition at line 73 of file dpborderinterns.h.

#include <dpborderinterns.h>

Public Member Functions

 STP_Vectype (DPBLEVEL *) borderlevels
 
 STP_Vectype (int) bordernodes
 
 STP_Vectype (int) prevbordernodes
 
 STP_Vectype (int) global_partstarts
 
 STP_Vectype (SCIP_Real) global_partcosts
 
 STP_Vectype (int) global_predparts
 
 STP_Vectype (SCIP_Bool) global_partsUseExt
 

Data Fields

DPBHASHMAP hashmap
 
DPBSEQUENCEdpbsequence
 
SCIP_Boolnodes_isBorder
 
int * nodes_outdeg
 
int * bordercharmap
 
SCIP_Realborderchardists
 
DPB_Ptypeglobal_partitions
 
SCIP_Real global_obj
 
int global_npartitions
 
int global_partcap
 
int global_optposition
 
int ntermsvisited
 
int nterms
 
int nnodes
 
DPB_Ptype extborderchar
 

Member Function Documentation

◆ STP_Vectype() [1/7]

dynamic_programming_border::STP_Vectype ( DPBLEVEL )

data for each border

◆ STP_Vectype() [2/7]

dynamic_programming_border::STP_Vectype ( int  )

current border nodes

◆ STP_Vectype() [3/7]

dynamic_programming_border::STP_Vectype ( int  )

nodes that are in previous but not current border

◆ STP_Vectype() [4/7]

dynamic_programming_border::STP_Vectype ( int  )

CSR like starts of partitions in array "global_partitions"

◆ STP_Vectype() [5/7]

dynamic_programming_border::STP_Vectype ( SCIP_Real  )

costs of each partition

◆ STP_Vectype() [6/7]

dynamic_programming_border::STP_Vectype ( int  )

predecessor partitions; of size global_npartitions

◆ STP_Vectype() [7/7]

dynamic_programming_border::STP_Vectype ( SCIP_Bool  )

partition uses extension node?

Field Documentation

◆ hashmap

◆ dpbsequence

◆ nodes_isBorder

SCIP_Bool* dynamic_programming_border::nodes_isBorder

marks whether node is in current border

Definition at line 78 of file dpborderinterns.h.

Referenced by addLevelFirst(), borderBuildCharDists(), borderBuildCharMap(), dpborder_free(), dpborder_init(), dpborderInitHelper(), and updateBorder().

◆ nodes_outdeg

int* dynamic_programming_border::nodes_outdeg

degree w.r.t. not yet visited nodes

Definition at line 79 of file dpborderinterns.h.

Referenced by borderBuildCharMap(), dpborder_free(), dpborder_init(), dpborderInitHelper(), and updateBorder().

◆ bordercharmap

int* dynamic_programming_border::bordercharmap

maps last border chars to current border chars

Definition at line 80 of file dpborderinterns.h.

Referenced by borderBuildCharMap(), dpborder_free(), dpborder_init(), dpborder_partGetIdxNew(), dpborder_partGetIdxNewExclusive(), and dpborderInitHelper().

◆ borderchardists

SCIP_Real* dynamic_programming_border::borderchardists

distance for last border nodes (chars) to extension nodes

Definition at line 81 of file dpborderinterns.h.

Referenced by borderBuildCharDists(), dpborder_free(), dpborder_init(), dpborder_partGetConnectionCost(), dpborderInitHelper(), and STP_Vectype().

◆ global_partitions

◆ global_obj

SCIP_Real dynamic_programming_border::global_obj

objective

Definition at line 89 of file dpborderinterns.h.

Referenced by dpborder_coreSolve(), dpborder_init(), dpborder_solve(), and updateFromPartition().

◆ global_npartitions

int dynamic_programming_border::global_npartitions

◆ global_partcap

int dynamic_programming_border::global_partcap

capacity of array global_partitions

Definition at line 91 of file dpborderinterns.h.

Referenced by dpborder_init(), dpborder_partGetIdxNew(), initSolve(), and partitionTryRealloc().

◆ global_optposition

int dynamic_programming_border::global_optposition

index of best solution partition

Definition at line 92 of file dpborderinterns.h.

Referenced by dpborder_coreSolve(), dpborder_init(), dpborder_markSolNodes(), and updateFromPartition().

◆ ntermsvisited

int dynamic_programming_border::ntermsvisited

number of already visited nodes

Definition at line 93 of file dpborderinterns.h.

Referenced by addLevel(), addLevelFirst(), dpborder_coreSolve(), dpborder_init(), initSolve(), and updateFromPartition().

◆ nterms

int dynamic_programming_border::nterms

number of terminals

Definition at line 94 of file dpborderinterns.h.

Referenced by dpborder_init(), initSolve(), and updateFromPartition().

◆ nnodes

int dynamic_programming_border::nnodes

number of nodes of underlying graph

Definition at line 95 of file dpborderinterns.h.

Referenced by borderBuildCharMap(), dpborder_init(), dpborder_markSolNodes(), dpborderInitHelper(), and updateBorder().

◆ extborderchar

DPB_Ptype dynamic_programming_border::extborderchar

-1 if extnode is not contained!

Definition at line 96 of file dpborderinterns.h.

Referenced by dpborder_partGetIdxNew(), and updateBorder().