Bcp 1.4.4
Loading...
Searching...
No Matches
BCP_lp_functions.hpp
Go to the documentation of this file.
1// Copyright (C) 2000, International Business Machines
2// Corporation and others. All Rights Reserved.
3#ifndef _BCP_LP_FUNCTIONS_H
4#define _BCP_LP_FUNCTIONS_H
5
6// This file is fully docified.
7// Actually, there's nothing to docify here...
8
9#include <vector>
10
11#include "BCP_enum.hpp"
12#include "BCP_enum_branch.hpp"
13#include "BCP_message_tag.hpp"
14#include "BCP_vector.hpp"
15
17class CoinWarmStart;
18
19class BCP_buffer;
20class BCP_lp_prob;
21class BCP_lp_result;
24class BCP_solution;
25class BCP_col;
26class BCP_row;
27class BCP_warmstart;
28class BCP_var;
29
30//-----------------------------------------------------------------------------
31// BCP_lp_main.cpp
32void
34
35//-----------------------------------------------------------------------------
36// BCP_lp_repricing.cpp
38
39//-----------------------------------------------------------------------------
40// BCP_lp_main_loop.cpp
42
43//-----------------------------------------------------------------------------
44// BCP_lp_fathom.cpp
46 BCP_vec<BCP_var*>& vars_to_add,
49 const std::vector<double*> dual_rays,
50 BCP_vec<BCP_var*>& vars_to_add,
53 BCP_message_tag msgtag);
55
56//-----------------------------------------------------------------------------
57// BCP_lp_generate_cuts.cpp
59 bool first_in_loop, const bool from_repricing);
60
61//-----------------------------------------------------------------------------
62// BCP_lp_generate_vars.cpp
64 bool first_in_loop, const bool from_repricing);
65
66//-----------------------------------------------------------------------------
67// BCP_lp_misc.cpp
80//-----------------------------------------------------------------------------
81// BCP_lp_msgproc.cpp
88
89//-----------------------------------------------------------------------------
90// BCP_lp_branch.cpp
93
94//-----------------------------------------------------------------------------
95// BCP_lp_colrow.cpp
100 const int added_colnum,
101 const int added_rownum,
102 const bool from_fathom,
103 const bool force_delete);
106
107//-----------------------------------------------------------------------------
108// BCP_lp_msg_node_send.cpp
109// brobj is 0, msgtag is 'real' when invoked from fathom().
110// brobj is 'real', msgtag is BCP_Msg_NoMessage when invoked from branch()
113 BCP_message_tag msgtag);
114
115//-----------------------------------------------------------------------------
116// BCP_lp_msg_node_rec.cpp
118
119//-----------------------------------------------------------------------------
120// BCP_lp_create_lp.cpp
122
123//-----------------------------------------------------------------------------
124// BCP_lp_create_warmstart.cpp
125// The calling functions will consider ws to be lost! This function should
126// either build it into the created BCP_warmstart or delete it.
128
129#endif
BCP_branching_result
This enumerative constant describes the possible outcomes of a branching attempt.
void BCP_lp_unpack_active_node(BCP_lp_prob &p, BCP_buffer &buf)
void BCP_lp_process_ub_message(BCP_lp_prob &p, BCP_buffer &buf)
int BCP_lp_send_node_description(BCP_lp_prob &p, BCP_presolved_lp_brobj *brobj, BCP_message_tag msgtag)
void BCP_lp_create_lp(BCP_lp_prob &p)
void BCP_lp_test_feasibility(BCP_lp_prob &p, const BCP_lp_result &lpres)
bool BCP_lp_fathom(BCP_lp_prob &p, const bool from_repricing)
void BCP_lp_repricing(BCP_lp_prob &p)
int BCP_lp_generate_vars(BCP_lp_prob &p, bool first_in_loop, const bool from_repricing)
void BCP_lp_process_result(BCP_lp_prob &p, const BCP_lp_result &lpres)
bool BCP_lp_fix_vars(BCP_lp_prob &p)
int BCP_lp_next_cut_index(BCP_lp_prob &p)
void BCP_lp_delete_cols_and_rows(BCP_lp_prob &p, BCP_lp_branching_object *can, const int added_colnum, const int added_rownum, const bool from_fathom, const bool force_delete)
BCP_message_tag BCP_lp_pack_for_cg(BCP_lp_prob &p)
BCP_warmstart * BCP_lp_convert_CoinWarmStart(BCP_lp_prob &p, CoinWarmStart *&ws)
void BCP_lp_perform_fathom(BCP_lp_prob &p, const char *msg, BCP_message_tag msgtag)
void BCP_lp_unpack_diving_info(BCP_lp_prob &p, BCP_buffer &buf)
double BCP_lp_compute_lower_bound(BCP_lp_prob &p, const BCP_lp_result &lpres)
void BCP_lp_clean_up_node(BCP_lp_prob &p)
BCP_branching_result BCP_lp_branch(BCP_lp_prob &p)
void BCP_lp_check_ub(BCP_lp_prob &p)
void BCP_lp_add_rows_to_lp(const BCP_vec< BCP_row * > &rows, OsiSolverInterface *lp)
void BCP_lp_main_loop(BCP_lp_prob &p)
void BCP_lp_prepare_for_new_node(BCP_lp_prob &p)
void BCP_lp_process_core(BCP_lp_prob &p, BCP_buffer &buf)
BCP_message_tag BCP_lp_pack_for_vg(BCP_lp_prob &p)
void BCP_lp_send_cuts_to_cp(BCP_lp_prob &p, const int eff_cnt_limit)
void BCP_lp_adjust_row_effectiveness(BCP_lp_prob &p)
void BCP_lp_purge_slack_pool(BCP_lp_prob &p)
int BCP_lp_add_from_local_var_pool(BCP_lp_prob &p)
void BCP_price_vars(BCP_lp_prob &p, const bool from_fathom, BCP_vec< BCP_var * > &vars_to_add, BCP_vec< BCP_col * > &cols_to_add)
void BCP_lp_add_cols_to_lp(const BCP_vec< BCP_col * > &cols, OsiSolverInterface *lp)
int BCP_lp_generate_cuts(BCP_lp_prob &p, bool first_in_loop, const bool from_repricing)
int BCP_lp_next_var_index(BCP_lp_prob &p)
int BCP_lp_add_from_local_cut_pool(BCP_lp_prob &p)
void BCP_restore_feasibility(BCP_lp_prob &p, const std::vector< double * > dual_rays, BCP_vec< BCP_var * > &vars_to_add, BCP_vec< BCP_col * > &cols_to_add)
BCP_message_tag
This enumerative constant describes the message tags different processes of BCP understand.
This class describes the message buffer used for all processes of BCP.
This class holds a column in a compressed form.
This class describes a generic branching object.
NO OLD DOC.
Definition BCP_lp.hpp:102
This class holds the results after solving an LP relaxation.
A presolved branching object candidate.
This class holds a row in a compressed form.
This is the abstract base class for a solution to a Mixed Integer Programming problem.
Abstract base class that defines members common to all types of variables.
Definition BCP_var.hpp:28
double _lb
Lower bound on the value the variable can take.
Definition BCP_var.hpp:59
The class BCP_vec serves the same purpose as the vector class in the standard template library.
Warmstarting information for the LP solver.