Public Member Functions | Protected Attributes

CCplex Class Reference

Detailed Description

Class CCplex to encapsulate access to the commercial cplex general purpose optimizer.

This class takes care of obtaining and releasing cplex licenses and sets up a number of optimization problems that are used in shogun, like for Multiple Kernel Learning, Linear Programming Machines and Linear Programming Boosting.

Definition at line 42 of file Cplex.h.

Inheritance diagram for CCplex:
Inheritance graph

List of all members.

Public Member Functions

 CCplex ()
virtual ~CCplex ()
bool init (E_PROB_TYPE t, int32_t timeout=60)
 init cplex with problem type t and retry timeout 60 seconds
bool cleanup ()
bool setup_subgradientlpm_QP (float64_t C, CLabels *labels, CSparseFeatures< float64_t > *features, int32_t *idx_bound, int32_t num_bound, int32_t *w_zero, int32_t num_zero, float64_t *vee, int32_t num_dim, bool use_bias)
bool setup_lpboost (float64_t C, int32_t num_cols)
bool add_lpboost_constraint (float64_t factor, SGSparseVectorEntry< float64_t > *h, int32_t len, int32_t ulen, CLabels *label)
bool setup_lpm (float64_t C, CSparseFeatures< float64_t > *x, CLabels *y, bool use_bias)
bool setup_lp (float64_t *objective, float64_t *constraints_mat, int32_t rows, int32_t cols, float64_t *rhs, float64_t *lb, float64_t *ub)
bool setup_qp (float64_t *H, int32_t dim)
bool optimize (float64_t *sol, float64_t *lambda=NULL)
bool dense_to_cplex_sparse (float64_t *H, int32_t rows, int32_t cols, int *&qmatbeg, int *&qmatcnt, int *&qmatind, double *&qmatval)
bool set_time_limit (float64_t seconds)
bool write_problem (char *filename)
bool write_Q (char *filename)
virtual const char * get_name () const

Protected Attributes

CPXENVptr env
CPXLPptr lp
bool lp_initialized
E_PROB_TYPE problem_type

Constructor & Destructor Documentation

CCplex (  ) 

Definition at line 23 of file Cplex.cpp.

~CCplex (  )  [virtual]

Definition at line 28 of file Cplex.cpp.

Member Function Documentation

bool add_lpboost_constraint ( float64_t  factor,
SGSparseVectorEntry< float64_t > *  h,
int32_t  len,
int32_t  ulen,
CLabels label 

Definition at line 292 of file Cplex.cpp.

bool cleanup (  ) 

Definition at line 469 of file Cplex.cpp.

bool dense_to_cplex_sparse ( float64_t H,
int32_t  rows,
int32_t  cols,
int *&  qmatbeg,
int *&  qmatcnt,
int *&  qmatind,
double *&  qmatval 

Definition at line 503 of file Cplex.cpp.

virtual const char* get_name (  )  const [virtual]
object name

Implements CSGObject.

Definition at line 145 of file Cplex.h.

bool init ( E_PROB_TYPE  t,
int32_t  timeout = 60 

init cplex with problem type t and retry timeout 60 seconds

Definition at line 33 of file Cplex.cpp.

bool optimize ( float64_t sol,
float64_t lambda = NULL 

Definition at line 601 of file Cplex.cpp.

bool set_time_limit ( float64_t  seconds  ) 

Definition at line 126 of file Cplex.h.

bool setup_lp ( float64_t objective,
float64_t constraints_mat,
int32_t  rows,
int32_t  cols,
float64_t rhs,
float64_t lb,
float64_t ub 

Definition at line 531 of file Cplex.cpp.

bool setup_lpboost ( float64_t  C,
int32_t  num_cols 

Definition at line 261 of file Cplex.cpp.

bool setup_lpm ( float64_t  C,
CSparseFeatures< float64_t > *  x,
CLabels y,
bool  use_bias 

Definition at line 322 of file Cplex.cpp.

bool setup_qp ( float64_t H,
int32_t  dim 

Definition at line 581 of file Cplex.cpp.

bool setup_subgradientlpm_QP ( float64_t  C,
CLabels labels,
CSparseFeatures< float64_t > *  features,
int32_t *  idx_bound,
int32_t  num_bound,
int32_t *  w_zero,
int32_t  num_zero,
float64_t vee,
int32_t  num_dim,
bool  use_bias 

Definition at line 87 of file Cplex.cpp.

bool write_problem ( char *  filename  ) 

Definition at line 130 of file Cplex.h.

bool write_Q ( char *  filename  ) 

Definition at line 135 of file Cplex.h.

Member Data Documentation

CPXENVptr env [protected]

Definition at line 148 of file Cplex.h.

CPXLPptr lp [protected]

Definition at line 149 of file Cplex.h.

bool lp_initialized [protected]

Definition at line 150 of file Cplex.h.

Definition at line 152 of file Cplex.h.

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

SHOGUN Machine Learning Toolbox - Documentation