Detailed Description
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" |
Functions | |
Callback methods of event handler | |
static | SCIP_DECL_EVENTEXEC (eventExecAddedVar) |
Local methods | |
static SCIP_RETCODE | probdataCreate (SCIP *scip, SCIP_PROBDATA **probdata, SCIP_VAR **vars, SCIP_CONS **conss, SCIP_Longint *weights, int *ids, int nvars, int nitems, SCIP_Longint capacity) |
static SCIP_RETCODE | probdataFree (SCIP *scip, SCIP_PROBDATA **probdata) |
static SCIP_RETCODE | createInitialColumns (SCIP *scip, SCIP_PROBDATA *probdata) |
Callback methods of problem data | |
static | SCIP_DECL_PROBDELORIG (probdelorigBinpacking) |
static | SCIP_DECL_PROBTRANS (probtransBinpacking) |
static | SCIP_DECL_PROBDELTRANS (probdeltransBinpacking) |
static | SCIP_DECL_PROBINITSOL (probinitsolBinpacking) |
static | SCIP_DECL_PROBEXITSOL (probexitsolBinpacking) |
Interface methods | |
SCIP_RETCODE | SCIPprobdataCreate (SCIP *scip, const char *probname, int *ids, SCIP_Longint *weights, int nitems, SCIP_Longint capacity) |
int * | SCIPprobdataGetIds (SCIP_PROBDATA *probdata) |
SCIP_Longint * | SCIPprobdataGetWeights (SCIP_PROBDATA *probdata) |
int | SCIPprobdataGetNItems (SCIP_PROBDATA *probdata) |
SCIP_Longint | SCIPprobdataGetCapacity (SCIP_PROBDATA *probdata) |
SCIP_VAR ** | SCIPprobdataGetVars (SCIP_PROBDATA *probdata) |
int | SCIPprobdataGetNVars (SCIP_PROBDATA *probdata) |
SCIP_CONS ** | SCIPprobdataGetConss (SCIP_PROBDATA *probdata) |
SCIP_RETCODE | SCIPprobdataAddVar (SCIP *scip, SCIP_PROBDATA *probdata, SCIP_VAR *var) |
Macro Definition Documentation
◆ EVENTHDLR_NAME
#define EVENTHDLR_NAME "addedvar" |
Definition at line 94 of file probdata_binpacking.c.
Referenced by SCIP_DECL_EVENTEXEC(), and SCIPprobdataCreate().
◆ EVENTHDLR_DESC
#define EVENTHDLR_DESC "event handler for catching added variables" |
Definition at line 95 of file probdata_binpacking.c.
Referenced by SCIPprobdataCreate().
Function Documentation
◆ SCIP_DECL_EVENTEXEC()
|
static |
execution method of event handler
Definition at line 106 of file probdata_binpacking.c.
References EVENTHDLR_NAME, NULL, SCIP_CALL, SCIP_EVENTTYPE_VARADDED, SCIP_OKAY, SCIPdebugMsg, SCIPeventGetType(), SCIPeventGetVar(), SCIPeventhdlrGetName(), SCIPgetProbData(), and SCIPprobdataAddVar().
◆ probdataCreate()
|
static |
creates problem data
- Parameters
-
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 131 of file probdata_binpacking.c.
References NULL, SCIP_CALL, SCIP_OKAY, SCIPallocBlockMemory, and SCIPduplicateBlockMemoryArray.
Referenced by SCIP_DECL_PROBTRANS(), and SCIPprobdataCreate().
◆ probdataFree()
|
static |
frees the memory of the given problem data
- Parameters
-
scip SCIP data structure probdata pointer to problem data
Definition at line 172 of file probdata_binpacking.c.
References NULL, SCIP_CALL, SCIP_OKAY, SCIPfreeBlockMemory, SCIPfreeBlockMemoryArray, SCIPreleaseCons(), and SCIPreleaseVar().
Referenced by SCIP_DECL_PROBDELORIG(), and SCIP_DECL_PROBDELTRANS().
◆ createInitialColumns()
|
static |
create initial columns
- Parameters
-
scip SCIP data structure probdata problem data
Definition at line 208 of file probdata_binpacking.c.
References a, NULL, SCIP_CALL, SCIP_Longint, SCIP_LONGINT_FORMAT, SCIP_MAXSTRLEN, SCIP_OKAY, SCIPaddCoefSetppc(), SCIPaddVar(), SCIPchgVarUbLazy(), SCIPcreateVarBinpacking(), SCIPdebugMsg, SCIPprobdataAddVar(), SCIPreleaseVar(), SCIPsnprintf(), SCIPvardataCreateBinpacking(), SCIPvarSetData(), and TRUE.
Referenced by SCIPprobdataCreate().
◆ SCIP_DECL_PROBDELORIG()
|
static |
frees user data of original problem (called when the original problem is freed)
Definition at line 281 of file probdata_binpacking.c.
References probdataFree(), SCIP_CALL, SCIP_OKAY, and SCIPdebugMsg.
◆ SCIP_DECL_PROBTRANS()
|
static |
creates user data of transformed problem by transforming the original user problem data (called after problem was transformed)
Definition at line 293 of file probdata_binpacking.c.
References probdataCreate(), SCIP_CALL, SCIP_OKAY, SCIPtransformConss(), and SCIPtransformVars().
◆ SCIP_DECL_PROBDELTRANS()
|
static |
frees user data of transformed problem (called when the transformed problem is freed)
Definition at line 310 of file probdata_binpacking.c.
References probdataFree(), SCIP_CALL, SCIP_OKAY, and SCIPdebugMsg.
◆ SCIP_DECL_PROBINITSOL()
|
static |
solving process initialization method of transformed data (called before the branch and bound process begins)
Definition at line 321 of file probdata_binpacking.c.
References NULL, SCIP_CALL, SCIP_EVENTTYPE_VARADDED, SCIP_OKAY, SCIPcatchEvent(), and SCIPfindEventhdlr().
◆ SCIP_DECL_PROBEXITSOL()
|
static |
solving process deinitialization method of transformed data (called before the branch and bound data is freed)
Definition at line 338 of file probdata_binpacking.c.
References NULL, SCIP_CALL, SCIP_EVENTTYPE_VARADDED, SCIP_OKAY, SCIPdropEvent(), and SCIPfindEventhdlr().
◆ SCIPprobdataCreate()
SCIP_RETCODE SCIPprobdataCreate | ( | SCIP * | scip, |
const char * | probname, | ||
int * | ids, | ||
SCIP_Longint * | weights, | ||
int | nitems, | ||
SCIP_Longint | capacity | ||
) |
sets up the problem data
- Parameters
-
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 363 of file probdata_binpacking.c.
References createInitialColumns(), EVENTHDLR_DESC, EVENTHDLR_NAME, NULL, probdataCreate(), SCIP_CALL, 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.
◆ SCIPprobdataGetIds()
int* SCIPprobdataGetIds | ( | SCIP_PROBDATA * | probdata | ) |
returns array of item ids
- Parameters
-
probdata problem data
Definition at line 431 of file probdata_binpacking.c.
Referenced by addBranchingDecisionConss(), consdataPrint(), SCIP_DECL_BRANCHEXECLP(), and SCIPvardataPrint().
◆ SCIPprobdataGetWeights()
SCIP_Longint* SCIPprobdataGetWeights | ( | SCIP_PROBDATA * | probdata | ) |
returns array of item weights
- Parameters
-
probdata problem data
Definition at line 439 of file probdata_binpacking.c.
◆ SCIPprobdataGetNItems()
int SCIPprobdataGetNItems | ( | SCIP_PROBDATA * | probdata | ) |
returns number of items
- Parameters
-
probdata problem data
Definition at line 447 of file probdata_binpacking.c.
Referenced by SCIP_DECL_BRANCHEXECLP().
◆ SCIPprobdataGetCapacity()
SCIP_Longint SCIPprobdataGetCapacity | ( | SCIP_PROBDATA * | probdata | ) |
returns bin capacity
- Parameters
-
probdata problem data
Definition at line 455 of file probdata_binpacking.c.
◆ SCIPprobdataGetVars()
SCIP_VAR** SCIPprobdataGetVars | ( | SCIP_PROBDATA * | probdata | ) |
returns array of all variables itemed in the way they got generated
- Parameters
-
probdata problem data
Definition at line 463 of file probdata_binpacking.c.
◆ SCIPprobdataGetNVars()
int SCIPprobdataGetNVars | ( | SCIP_PROBDATA * | probdata | ) |
returns number of variables
- Parameters
-
probdata problem data
Definition at line 471 of file probdata_binpacking.c.
◆ SCIPprobdataGetConss()
SCIP_CONS** SCIPprobdataGetConss | ( | SCIP_PROBDATA * | probdata | ) |
returns array of set partitioning constrains
- Parameters
-
probdata problem data
Definition at line 479 of file probdata_binpacking.c.
◆ SCIPprobdataAddVar()
SCIP_RETCODE SCIPprobdataAddVar | ( | SCIP * | scip, |
SCIP_PROBDATA * | probdata, | ||
SCIP_VAR * | var | ||
) |
adds given variable to the problem data
- Parameters
-
scip SCIP data structure probdata problem data var variables to add
Definition at line 487 of file probdata_binpacking.c.
References MAX, SCIP_CALL, SCIP_OKAY, SCIPcaptureVar(), SCIPdebugMsg, and SCIPreallocBlockMemoryArray.
Referenced by createInitialColumns(), and SCIP_DECL_EVENTEXEC().