3#ifndef _BCP_WARMSTART_PRIMALDUAL_H
4#define _BCP_WARMSTART_PRIMALDUAL_H
24 BCP_warmstart_primaldual& operator=(
const BCP_warmstart_primaldual&);
29 BCP_warmstart_primaldual() :
48 const double* dfirst,
const double* dlast) :
49 _primal(pfirst, plast), _dual(dfirst, dlast) {}
52 _primal(ws._primal), _dual(ws._dual) {}
77 int pst = _primal.storage();
78 int dst = _dual.storage();
79 return return_matrix[4*pst + dst];
83 return new BCP_warmstart_primaldual(*
this);
89 return new BCP_warmstart_primaldual();
93 return _primal.storage_size() + _dual.storage_size();
102 const double detol)
const;
BCP_storage_t
This enumerative constant describes how to store certain data for a search tree node.
@ BCP_Storage_NoData
No data is stored.
@ BCP_Storage_Explicit
The data stored is an explicit listing of values.
@ BCP_Storage_WrtParent
The data stored is with respect to the same kind of data in the parent of the search tree node.
This class describes the message buffer used for all processes of BCP.
This class stores a vector explicitly or relatively to another vector.
The class BCP_vec serves the same purpose as the vector class in the standard template library.
BCP_warmstart_primaldual(BCP_buffer &buf)
Create the object by unpacking it from a buffer.
virtual BCP_warmstart * empty_wrt_this() const
Create a warmstart info describing that no change should be done.
virtual BCP_storage_t storage() const
Return how the warmstarting info is stored.
BCP_warmstart_primaldual(const BCP_warmstart_primaldual &ws)
Copy constructor.
BCP_warmstart_primaldual(const double *pfirst, const double *plast, const double *dfirst, const double *dlast)
Create an explicitly stored warmstart info by considering the double arrays [fpirst,...
virtual ~BCP_warmstart_primaldual()
virtual BCP_warmstart * as_change(const BCP_warmstart *const old_ws, const BCP_vec< int > &del_vars, const BCP_vec< int > &del_cuts, const double petol, const double detol) const
Return a pointer to a warmstart info describing the currently stored data as a change with respect to...
void pack(BCP_buffer &buf) const
Pack the warmstart info into a buffer.
virtual void update(const BCP_warmstart *const change)
Update the current data with the one in the argument.
virtual CoinWarmStart * convert_to_CoinWarmStart() const
Return an CoinWarmStart object that can be fed to the LP engine.
virtual int storage_size() const
Return how much memory it'll take to pack this warmstart info.
virtual BCP_warmstart * clone() const
Make a replica of the current warmstart information.
Warmstarting information for the LP solver.