Scippy

SCIP

Solving Constraint Integer Programs

SCIP_ConsNonlinear_BilinTerm Struct Reference

Detailed Description

bilinear term structure

This can represent a product which

  • explicitly exists in the problem and is under- and/or overestimated by a single auxiliary variable stored as var in the union aux (case nauxexprs = 0) or
  • is involved in bilinear relations implicitly given by linear constraints with binary variables, and is under- and/or overestimated by linear expression(s) stored as exprs in the union aux (case nauxexprs > 0).

An explicitly existing product can also be involved in implicit relations, then it will be stored as in the second case.

Definition at line 69 of file cons_nonlinear.h.

#include <cons_nonlinear.h>

Data Fields

SCIP_VARx
 
SCIP_VARy
 
union {
   SCIP_CONSNONLINEAR_AUXEXPR **   exprs
 
   SCIP_VAR *   var
 
aux
 
int nauxexprs
 
int auxexprssize
 
int nlockspos
 
int nlocksneg
 
SCIP_Bool existing
 

Field Documentation

◆ x

◆ y

◆ exprs

SCIP_CONSNONLINEAR_AUXEXPR** SCIP_ConsNonlinear_BilinTerm::exprs

◆ var

SCIP_VAR* SCIP_ConsNonlinear_BilinTerm::var

◆ aux

◆ nauxexprs

int SCIP_ConsNonlinear_BilinTerm::nauxexprs

◆ auxexprssize

int SCIP_ConsNonlinear_BilinTerm::auxexprssize

size of the aux.exprs array

Definition at line 79 of file cons_nonlinear.h.

Referenced by bilinearTermsInsertEntry(), and bilinTermAddAuxExpr().

◆ nlockspos

int SCIP_ConsNonlinear_BilinTerm::nlockspos

number of positive expression locks

Definition at line 80 of file cons_nonlinear.h.

Referenced by bilinearTermsInsertEntry(), and SCIPinsertBilinearTermImplicitNonlinear().

◆ nlocksneg

int SCIP_ConsNonlinear_BilinTerm::nlocksneg

number of negative expression locks

Definition at line 81 of file cons_nonlinear.h.

Referenced by bilinearTermsInsertEntry(), and SCIPinsertBilinearTermImplicitNonlinear().

◆ existing

SCIP_Bool SCIP_ConsNonlinear_BilinTerm::existing

does the product exist explicitly in the problem?

Definition at line 82 of file cons_nonlinear.h.

Referenced by bilinearTermsInsertEntry(), markRowsXj(), and SCIPinsertBilinearTermImplicitNonlinear().