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 40 of file Cplex.h.

Inheritance diagram for CCplex:
Inheritance graph
[legend]

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, TSparseEntry< 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::CCplex (  ) 

Definition at line 21 of file Cplex.cpp.

CCplex::~CCplex (  )  [virtual]

Definition at line 26 of file Cplex.cpp.


Member Function Documentation

bool CCplex::add_lpboost_constraint ( float64_t  factor,
TSparseEntry< float64_t > *  h,
int32_t  len,
int32_t  ulen,
CLabels label 
)

Definition at line 290 of file Cplex.cpp.

bool CCplex::cleanup (  ) 

Definition at line 467 of file Cplex.cpp.

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

Definition at line 501 of file Cplex.cpp.

virtual const char* CCplex::get_name (  )  const [virtual]
Returns:
object name

Implements CSGObject.

Definition at line 143 of file Cplex.h.

bool CCplex::init ( E_PROB_TYPE  t,
int32_t  timeout = 60 
)

init cplex with problem type t and retry timeout 60 seconds

Definition at line 31 of file Cplex.cpp.

bool CCplex::optimize ( float64_t sol,
float64_t lambda = NULL 
)

Definition at line 599 of file Cplex.cpp.

bool CCplex::set_time_limit ( float64_t  seconds  ) 

Definition at line 124 of file Cplex.h.

bool CCplex::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 529 of file Cplex.cpp.

bool CCplex::setup_lpboost ( float64_t  C,
int32_t  num_cols 
)

Definition at line 259 of file Cplex.cpp.

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

Definition at line 320 of file Cplex.cpp.

bool CCplex::setup_qp ( float64_t H,
int32_t  dim 
)

Definition at line 579 of file Cplex.cpp.

bool CCplex::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 85 of file Cplex.cpp.

bool CCplex::write_problem ( char *  filename  ) 

Definition at line 128 of file Cplex.h.

bool CCplex::write_Q ( char *  filename  ) 

Definition at line 133 of file Cplex.h.


Member Data Documentation

CPXENVptr CCplex::env [protected]

Definition at line 146 of file Cplex.h.

CPXLPptr CCplex::lp [protected]

Definition at line 147 of file Cplex.h.

bool CCplex::lp_initialized [protected]

Definition at line 148 of file Cplex.h.

Definition at line 150 of file Cplex.h.


The documentation for this class was generated from the following files:

SHOGUN Machine Learning Toolbox - Documentation