Problem data for binpacking problem.
This file handles the main problem data used in that project. For more details see Main problem data page.
Definition in file probdata_binpacking.c.
#include <string.h>
#include "probdata_binpacking.h"
#include "vardata_binpacking.h"
#include "pricer_binpacking.h"
#include "scip/cons_setppc.h"
#include "scip/scip.h"
Go to the source code of this file.
Macros | |
Event handler properties | |
#define | EVENTHDLR_NAME "addedvar" |
#define | EVENTHDLR_DESC "event handler for catching added variables" |
#define EVENTHDLR_NAME "addedvar" |
Definition at line 103 of file probdata_binpacking.c.
#define EVENTHDLR_DESC "event handler for catching added variables" |
Definition at line 104 of file probdata_binpacking.c.
|
static |
execution method of event handler
Definition at line 115 of file probdata_binpacking.c.
References assert(), EVENTHDLR_NAME, NULL, SCIP_CALL, SCIP_EVENTTYPE_VARADDED, SCIP_OKAY, SCIPdebugMsg, SCIPeventGetType(), SCIPeventGetVar(), SCIPeventhdlrGetName(), SCIPgetProbData(), and SCIPprobdataAddVar().
|
static |
creates problem data
scip | SCIP data structure |
probdata | pointer to problem data |
vars | all exist variables |
conss | set partitioning constraints for each job exactly one |
weights | array containing the item weights |
ids | array of item ids |
nvars | number of variables |
nitems | number of items |
capacity | bin capacity |
Definition at line 140 of file probdata_binpacking.c.
References assert(), NULL, nvars, SCIP_CALL, SCIP_Longint, SCIP_OKAY, SCIPallocBlockMemory, SCIPduplicateBlockMemoryArray, and vars.
Referenced by SCIP_DECL_PROBTRANS(), and SCIPprobdataCreate().
|
static |
frees the memory of the given problem data
scip | SCIP data structure |
probdata | pointer to problem data |
Definition at line 181 of file probdata_binpacking.c.
References assert(), i, NULL, SCIP_CALL, SCIP_OKAY, SCIPfreeBlockMemory, SCIPfreeBlockMemoryArray, SCIPreleaseCons(), and SCIPreleaseVar().
Referenced by SCIP_DECL_PROBDELORIG(), and SCIP_DECL_PROBDELTRANS().
|
static |
create initial columns
scip | SCIP data structure |
probdata | problem data |
Definition at line 217 of file probdata_binpacking.c.
References a, i, NULL, SCIP_CALL, SCIP_Longint, SCIP_LONGINT_FORMAT, SCIP_MAXSTRLEN, SCIP_OKAY, SCIPaddCoefSetppc(), SCIPaddVar(), SCIPchgVarUbLazy(), SCIPcreateVarBinpacking(), SCIPdebugMsg, SCIPprobdataAddVar(), SCIPreleaseVar(), SCIPsnprintf(), SCIPvardataCreateBinpacking(), SCIPvarSetData(), TRUE, and var.
Referenced by SCIPprobdataCreate().
|
static |
frees user data of original problem (called when the original problem is freed)
Definition at line 290 of file probdata_binpacking.c.
References probdataFree(), SCIP_CALL, SCIP_OKAY, and SCIPdebugMsg.
|
static |
creates user data of transformed problem by transforming the original user problem data (called after problem was transformed)
Definition at line 302 of file probdata_binpacking.c.
References probdataCreate(), SCIP_CALL, SCIP_OKAY, SCIPtransformConss(), and SCIPtransformVars().
|
static |
frees user data of transformed problem (called when the transformed problem is freed)
Definition at line 319 of file probdata_binpacking.c.
References probdataFree(), SCIP_CALL, SCIP_OKAY, and SCIPdebugMsg.
|
static |
solving process initialization method of transformed data (called before the branch and bound process begins)
Definition at line 330 of file probdata_binpacking.c.
References assert(), NULL, SCIP_CALL, SCIP_EVENTTYPE_VARADDED, SCIP_OKAY, SCIPcatchEvent(), and SCIPfindEventhdlr().
|
static |
solving process deinitialization method of transformed data (called before the branch and bound data is freed)
Definition at line 347 of file probdata_binpacking.c.
References assert(), NULL, SCIP_CALL, SCIP_EVENTTYPE_VARADDED, SCIP_OKAY, SCIPdropEvent(), and SCIPfindEventhdlr().
SCIP_RETCODE SCIPprobdataCreate | ( | SCIP * | scip, |
const char * | probname, | ||
int * | ids, | ||
SCIP_Longint * | weights, | ||
int | nitems, | ||
SCIP_Longint | capacity ) |
sets up the problem data
scip | SCIP data structure |
probname | problem name |
ids | array of item ids |
weights | array containing the item weights |
nitems | number of items |
capacity | bin capacity |
Definition at line 371 of file probdata_binpacking.c.
References assert(), createInitialColumns(), EVENTHDLR_DESC, EVENTHDLR_NAME, i, NULL, probdataCreate(), SCIP_CALL, SCIP_Longint, SCIP_MAXSTRLEN, SCIP_OBJSENSE_MINIMIZE, SCIP_OKAY, SCIPaddCons(), SCIPallocBufferArray, SCIPcreateConsBasicSetcover(), SCIPcreateProbBasic(), SCIPfindEventhdlr(), SCIPfreeBufferArray, SCIPincludeEventhdlrBasic(), SCIPpricerBinpackingActivate(), SCIPsetConsModifiable(), SCIPsetObjIntegral(), SCIPsetObjsense(), SCIPsetProbData(), SCIPsetProbDelorig(), SCIPsetProbDeltrans(), SCIPsetProbExitsol(), SCIPsetProbInitsol(), SCIPsetProbTrans(), SCIPsnprintf(), and TRUE.
int * SCIPprobdataGetIds | ( | SCIP_PROBDATA * | probdata | ) |
returns array of item ids
probdata | problem data |
Definition at line 439 of file probdata_binpacking.c.
Referenced by addBranchingDecisionConss(), consdataPrint(), SCIP_DECL_BRANCHEXECLP(), and SCIPvardataPrint().
SCIP_Longint * SCIPprobdataGetWeights | ( | SCIP_PROBDATA * | probdata | ) |
returns array of item weights
probdata | problem data |
Definition at line 447 of file probdata_binpacking.c.
References SCIP_Longint.
int SCIPprobdataGetNItems | ( | SCIP_PROBDATA * | probdata | ) |
returns number of items
probdata | problem data |
Definition at line 455 of file probdata_binpacking.c.
Referenced by SCIP_DECL_BRANCHEXECLP().
SCIP_Longint SCIPprobdataGetCapacity | ( | SCIP_PROBDATA * | probdata | ) |
returns bin capacity
probdata | problem data |
Definition at line 463 of file probdata_binpacking.c.
References SCIP_Longint.
SCIP_VAR ** SCIPprobdataGetVars | ( | SCIP_PROBDATA * | probdata | ) |
returns array of all variables itemed in the way they got generated
probdata | problem data |
Definition at line 471 of file probdata_binpacking.c.
Referenced by consdataCheck(), and SCIP_DECL_CONSPROP().
int SCIPprobdataGetNVars | ( | SCIP_PROBDATA * | probdata | ) |
returns number of variables
probdata | problem data |
Definition at line 479 of file probdata_binpacking.c.
Referenced by consdataCheck(), SCIP_DECL_CONSACTIVE(), SCIP_DECL_CONSDEACTIVE(), and SCIP_DECL_CONSPROP().
SCIP_CONS ** SCIPprobdataGetConss | ( | SCIP_PROBDATA * | probdata | ) |
returns array of set partitioning constrains
probdata | problem data |
Definition at line 487 of file probdata_binpacking.c.
SCIP_RETCODE SCIPprobdataAddVar | ( | SCIP * | scip, |
SCIP_PROBDATA * | probdata, | ||
SCIP_VAR * | var ) |
adds given variable to the problem data
scip | SCIP data structure |
probdata | problem data |
var | variables to add |
Definition at line 495 of file probdata_binpacking.c.
References MAX, SCIP_CALL, SCIP_OKAY, SCIPcaptureVar(), SCIPdebugMsg, SCIPreallocBlockMemoryArray, and var.
Referenced by createInitialColumns(), and SCIP_DECL_EVENTEXEC().