31#ifndef __SCIP_PRICER_VRP_H__
32#define __SCIP_PRICER_VRP_H__
53 const int p_num_nodes,
55 const vector< int >& p_demand,
56 const vector< vector<int> >& p_distance,
57 const vector< vector<SCIP_VAR*> >& p_arc_var,
58 const vector< vector<SCIP_CONS*> >& p_arc_con,
59 const vector<SCIP_CONS* >& p_part_con
88 const vector< vector<double> >& length,
121 return (
i > j ? _distance[
i][j] : _distance[j][
i] );
130 return (
i > j ? _arc_var[
i][j] : _arc_var[j][
i] );
139 return (
i > j ? _arc_con[
i][j] : _arc_con[j][
i] );
163 const int _num_nodes;
165 const vector< int > _demand;
166 const vector< vector<int> > _distance;
168 vector< vector<SCIP_VAR*> > _arc_var;
169 vector< vector<SCIP_CONS*> > _arc_con;
170 vector<SCIP_CONS* > _part_con;
virtual SCIP_DECL_PRICERINIT(scip_init)
ObjPricerVRP(SCIP *scip, const char *p_name, const int p_num_nodes, const int p_capacity, const vector< int > &p_demand, const vector< vector< int > > &p_distance, const vector< vector< SCIP_VAR * > > &p_arc_var, const vector< vector< SCIP_CONS * > > &p_arc_con, const vector< SCIP_CONS * > &p_part_con)
virtual SCIP_DECL_PRICERREDCOST(scip_redcost)
SCIP_RETCODE pricing(SCIP *scip, bool isfarkas) const
virtual SCIP_DECL_PRICERFARKAS(scip_farkas)
bool have_edge(const int i, const int j) const
SCIP_RETCODE add_tour_variable(SCIP *scip, const list< int > &tour) const
SCIP_CONS * arc_con(const int i, const int j) const
double distance(const int i, const int j) const
int demand(const int i) const
double find_shortest_tour(const vector< vector< double > > &length, list< int > &tour) const
SCIP_VAR * arc_var(const int i, const int j) const
SCIP_CONS * part_con(const int i) const
ObjPricer(SCIP *scip, const char *name, const char *desc, int priority, SCIP_Bool delay)
SCIP_Real SCIPvarGetUbLocal(SCIP_VAR *var)
C++ wrapper classes for SCIP.
public methods for problem variables
struct SCIP_Cons SCIP_CONS
enum SCIP_Retcode SCIP_RETCODE