Main Page   Class Hierarchy   Compound List   File List   Contact   Download   Symbolic Constraints   Examples  

SCIL::subproblem Class Reference

#include <subproblem.h>

Collaboration diagram for SCIL::subproblem:
Collaboration graph
[legend]

List of all members.

Public Member Functions

bool check_LP ()
ABA_LPSUB * get_lp ()
ABA_BRANCHRULE * get_branch_rule ()
 subproblem (ABA_MASTER *master)
 subproblem (ABA_MASTER *master, ABA_SUB *father, ABA_BRANCHRULE *branchRule)
virtual bool feasible ()
virtual bool feasible (subproblem &, solution &)
void update_indices ()
virtual int separate ()
virtual int separate (subproblem &)
void activate (subproblem &S)
void activate ()
void deactivate (subproblem &S)
void deactivate ()
double myvalue (int i)
virtual int pricing ()
virtual int pricing (subproblem &)
virtual int mf_pricing (subproblem &)
virtual int improve (double &)
double * MxVal ()
virtual ABA_SUB * generateSon (ABA_BRANCHRULE *rule)

Public Attributes

int t
ILP_ProblemGM
bool initpricing
ABA_BUFFER< ABA_VARIABLE * > * newvarbuffer
std::list< sym_constraint * > sym_constraints
int updateLP
double prio

Protected Member Functions

virtual void fixByLogImp (ABA_BUFFER< int > &variable, ABA_BUFFER< ABA_FSVARSTAT * > &status)
virtual void setByLogImp (ABA_BUFFER< int > &variable, ABA_BUFFER< ABA_FSVARSTAT * > &status)

Friends

class ABA_Variable
class ABA_Constraint
class ILP_Problem

Modifying the linear program.



*var add_binary_variable (double obj, Activation a=Static)
*var add_variable (double obj, double lBound, double uBound, Vartype, Activation a=Static)
void add_variable (var, Activation a=Static)
*virtual cons add_basic_constraint (cons_sense, double, Activation a=Dynamic, Validity v=Global)
virtual cons add_basic_constraint (cons_obj *c, Activation a=Dynamic, Validity v=Global)
virtual cons _add_basic_constraint (cons_obj *c, Activation a=Dynamic, Validity v=Global)
void add_sym_constraint (sym_constraint *c)
 adds a symbolic constraint to the current node of the BCP-Tree
void remove_variable (var V)
void set_coefficient (var v, cons i, double d)

Inspection of the current node.



Varstat get_varstat (var v)
var get_var (int i)
 returns the variable with index i.
int nVar () const
 returns the number of active variables in the current node.
double get_coeff (var v, cons i)
 returns the coefficient of the LP-matrix for v and
int get_level () const
 returns the level of the current node in the enumeration tree
int first_variable_item () const
 Returns the index of the first variable.
int next_variable_item (int i) const
 returns the index of the variable succeding the variable with index i.
int first_constraint_item () const
int next_constraint_item (int i) const
 returns the index of the variable succeding the variable with index i.
cons get_cons (int i)
 returns the basic constraint with index i
int found_constraint ()
int ncons ()
 returns the number of basic constraints in the current LP.
virtual double value (var v)
 returns the value of v of the last solved LP.
double value (row &r)
 returns the value of r of the last solved LP.
double lower_bound (var v)
 returns the lower bound of the variable in the current node.
double upper_bound (var v)
 returns the upper bound of the variable in the current node.
double value (cons i, as_what as=as_is)
double red_cost (var v)
 returns the value of v of the last solved LP.
bool save_solution (solution &s)

Configurations



const std::string configuration (const std::string &s) const
 returns the configuration for s.
void configuration (const std::string &s, const std::string &t)
 sets the configuration for s to t.

Detailed Description

Subproblem - A node in the branch & cut tree

Definition at line 34 of file subproblem.h.


Member Function Documentation

cons subproblem::_add_basic_constraint ( cons_obj c,
Activation  a = Dynamic,
Validity  v = Global 
) [virtual]

adds an instance of a basic-constraint-schema to the root or the current node of the BCP-tree.

Definition at line 79 of file subproblem.cc.

References SCIL::ILP_Problem::number_of_constraints().

Referenced by add_basic_constraint().

cons subproblem::add_basic_constraint ( cons_obj c,
Activation  a = Dynamic,
Validity  v = Global 
) [virtual]

if |SQK2| is true, the constraint is checked for reformulation. (note: in case of reformulation only existing variables are used) calls in every case _add_basic_constraint

Definition at line 35 of file subproblem.cc.

References _add_basic_constraint(), SCIL::ILP_Problem::get_qr_on_separate(), SCIL::ILP_Problem::get_qrType(), SCIL::QuadRef::reformulate_SQK2(), and SCIL::QuadRef::reformulate_SQK3().

cons subproblem::add_basic_constraint ( cons_sense  s,
double  rhs,
Activation  a = Dynamic,
Validity  v = Global 
) [virtual]
var subproblem::add_binary_variable ( double  obj,
Activation  a = Static 
)

adds a primitve binary variable to the root or the current node of the BCP-tree (depends on the parameter |Validity|). |obj| specifies the objectiv function value.

Definition at line 99 of file subproblem.cc.

References add_variable().

void subproblem::add_variable ( var  v,
Activation  a = Static 
)

adds a variable-generator to the root or the current node of the BCP-tree.

Definition at line 129 of file subproblem.cc.

References SCIL::var::Avar_pointer(), and SCIL::var::var_pointer().

var subproblem::add_variable ( double  obj,
double  lBound,
double  uBound,
Vartype  t,
Activation  a = Static 
)

adds a primitve variable to the root or the current node of the BCP-tree (depends on the parameter |Validity|). |obj| specifies the objectiv function value, |lBound| and |uBound| the lower and upper bound of the variable and |vt| the type of the variable (one of |Vartype_Integer|, |Vartype_Binary| or |Vartype_Continous|).}

Definition at line 105 of file subproblem.cc.

References SCIL::var::Avar_pointer(), and SCIL::var::var_pointer().

Referenced by add_binary_variable(), and PrimerPricer::LP_pricing().

void subproblem::remove_variable ( var  V  ) 

removes a variable for the linear program of the current node.

Definition at line 336 of file subproblem.cc.

References SCIL::var_obj::index(), and SCIL::var::var_pointer().

void subproblem::set_coefficient ( var  v,
cons  i,
double  d 
)

sets the coefficient for variable $v$ and basic constraint $i$ to $d$ in the LP-Matrix.

Definition at line 352 of file subproblem.cc.

References SCIL::cons::cons_pointer(), and SCIL::var::var_pointer().

double subproblem::value ( cons  i,
as_what  as = as_is 
)

returns the value of |i| of the last solved LP. as_what is one of as_is, as_min or as_max. The returned dual value of the constraint is either the dual value as specified by the LP (as_is) or what it would be if the objective sense of the LP would be minimization (as_min) or maximization (as_max).

Definition at line 427 of file subproblem.cc.

References SCIL::cons::cons_pointer().


The documentation for this class was generated from the following files:
Generated on Mon Mar 28 22:03:53 2011 for SCIL by  doxygen 1.6.3