Public Types | |
| typedef adjlist_t::column_iterator | column_iterator |
| typedef adjlist_t::value_iterator | value_iterator |
Public Member Functions | |
| int | compute_rc (const VOL_dvector &u, VOL_dvector &rc) |
| compute reduced costs | |
| int | solve_subproblem (const VOL_dvector &u, const VOL_dvector &rc, double &lcost, VOL_dvector &x, VOL_dvector &v, double &pcost) |
| Solve the subproblem for the subgradient step. | |
| void | process_opening_serving_of_nodes (int mask_iteration, int mask_vertex_index, int &num_open, double &sum_fcosts, double &value, VOL_ivector &sol, const double *rdist, int **load_balance_masks, int *load_balance_totals, int **load_balance_parallelize_flags, int num_load_balance_masks) |
| int | heuristics (const VOL_problem &p, const VOL_dvector &x, double &heur_val, double lb) |
| Starting from the primal vector x, run a heuristic to produce an integer solution. | |
| void | init_u (VOL_dvector &u) |
| Starting from a initial set of lagrange multipliers in user memory, load them into Vol's data structures. | |
| double | open_more_servers (VOL_ivector &nsol, int *unserved, int num_unserved) |
| double | assign_service (VOL_ivector &nsol, const VOL_dvector &x) |
| int * | find_unserved (VOL_ivector &nsol, int num_servers, int &num_unserved) |
| void | separate_by_degree () |
| void | separate_by_degree (int *to_sep, int num_to_sep, int *&hd, int &num_hd, int *&ld, int &num_ld) |
| UFL (adjlist_t &d, double *init_l=0) | |
Data Fields | |
| VOL_dvector | fcost |
| VOL_dvector | dist |
| adjlist_t & | _dist |
| std::vector< adjlist_t > | _sidecon |
| std::vector< vtype > | _ub |
| VOL_ivector | fix |
| int | ncust |
| int | nloc |
| int | nnz |
| int | _p |
| VOL_ivector | ix |
| double | icost |
| double | gap |
| double * | init_lagrange |
| int | twenty_fifth |
| int UFL< vtype, adjlist_t >::compute_rc | ( | const VOL_dvector & | u, | |
| VOL_dvector & | rc | |||
| ) | [virtual] |
compute reduced costs
| u | (IN) the dual variables | |
| rc | (OUT) the reduced cost with respect to the dual values |
Implements VOL_user_hooks.
| int UFL< vtype, adjlist_t >::heuristics | ( | const VOL_problem & | p, | |
| const VOL_dvector & | x, | |||
| double & | heur_val, | |||
| double | lb | |||
| ) | [virtual] |
Starting from the primal vector x, run a heuristic to produce an integer solution.
| x | (IN) the primal vector | |
| heur_val | (OUT) the value of the integer solution (return DBL_MAX here if no feas sol was found |
Implements VOL_user_hooks.
References VOL_ivector::size().
| void UFL< vtype, adjlist_t >::init_u | ( | VOL_dvector & | u | ) | [virtual] |
Starting from a initial set of lagrange multipliers in user memory, load them into Vol's data structures.
| u | (OUT) the initial dual vector |
Implements VOL_user_hooks.
References VOL_dvector::size().
| int UFL< vtype, adjlist_t >::solve_subproblem | ( | const VOL_dvector & | dual, | |
| const VOL_dvector & | rc, | |||
| double & | lcost, | |||
| VOL_dvector & | x, | |||
| VOL_dvector & | v, | |||
| double & | pcost | |||
| ) | [virtual] |
Solve the subproblem for the subgradient step.
| dual | (IN) the dual variables | |
| rc | (IN) the reduced cost with respect to the dual values | |
| lcost | (OUT) the lagrangean cost with respect to the dual values | |
| x | (OUT) the primal result of solving the subproblem | |
| v | (OUT) b-Ax for the relaxed constraints | |
| pcost | (OUT) the primal objective value of x |
Implements VOL_user_hooks.
References VOL_ivector::size(), VOL_dvector::size(), VOL_ivector::v, and VOL_dvector::v.
1.7.1