SCIP Doxygen Documentation
 
Loading...
Searching...
No Matches
objprobdata.h File Reference

Detailed Description

C++ wrapper for user problem data.

Author
Tobias Achterberg

Definition in file objprobdata.h.

#include <cassert>
#include "scip/scip.h"
#include "objscip/objcloneable.h"

Go to the source code of this file.

Data Structures

class  scip::ObjProbData
 C++ wrapper for user problem data. More...
 

Namespaces

namespace  scip
 

Functions

SCIP_RETCODE SCIPcreateObjProb (SCIP *scip, const char *name, scip::ObjProbData *objprobdata, SCIP_Bool deleteobject)
 
scip::ObjProbDataSCIPgetObjProbData (SCIP *scip)
 

Function Documentation

◆ SCIPcreateObjProb()

SCIP_RETCODE SCIPcreateObjProb ( SCIP * scip,
const char * name,
scip::ObjProbData * objprobdata,
SCIP_Bool deleteobject )

creates empty problem, initializes all solving data structures, and sets the user problem data to point to the given user data object

The method should be called in one of the following ways:

  1. The user is resposible of deleting the object: SCIP_CALL( SCIPcreate(&scip) ); ... MyProbData* myprobdata = new MyProbData(...); SCIP_CALL( SCIPcreateObjProb(scip, "probname", &myprobdata, FALSE) ); ... // solve the problem SCIP_CALL( SCIPfreeProb(scip) ); delete myprobdata; // delete probdata AFTER SCIPfreeProb() ! ... SCIP_CALL( SCIPfree(&scip) );
  2. The object pointer is passed to SCIP and deleted by SCIP in the SCIPfreeProb() call: SCIP_CALL( SCIPcreate(&scip) ); ... SCIP_CALL( SCIPcreateObjProb(scip, "probname", new MyProbData(...), TRUE) ); ... SCIP_CALL( SCIPfree(&scip) ); // problem is freed and destructor of MyProbData is called here

creates empty problem, initializes all solving data structures, and sets the user problem data to point to the given user data object

Parameters
scipSCIP data structure
nameproblem name
objprobdatauser problem data object
deleteobjectshould the user problem data object be deleted when problem is freed?

Definition at line 202 of file objprobdata.cpp.

References SCIP_Bool, SCIP_CALL, SCIP_OKAY, and SCIPcreateProb().

Referenced by SCIP_DECL_READERREAD().

◆ SCIPgetObjProbData()

scip::ObjProbData * SCIPgetObjProbData ( SCIP * scip)

gets user problem data object Warning! This method should only be called after a problem was created with SCIPcreateObjProb(). Otherwise, a segmentation fault may arise, or an undefined pointer is returned.

Parameters
scipSCIP data structure

Definition at line 227 of file objprobdata.cpp.

References assert(), NULL, and SCIPgetProbData().

Referenced by tsp::ProbDataTSP::scip_copy(), SCIP_DECL_CONSCOPY(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_HEURINIT(), SCIP_DECL_HEURINIT(), and SCIP_DECL_HEURINITSOL().