Bcp 1.4.4
Loading...
Searching...
No Matches
BCP_warmstart.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_WARMSTART_H
4#define _BCP_WARMSTART_H
5
6// This file is fully docified.
7
8#include "BCP_error.hpp"
9#include "BCP_enum.hpp"
10#include "BCP_vector.hpp"
11
12//#############################################################################
13
14class CoinWarmStart;
15
16//#############################################################################
17
23
25public:
27 virtual ~BCP_warmstart() {}
28
31
33 virtual BCP_storage_t storage() const = 0;
34
39 virtual void update(const BCP_warmstart* const change) = 0;
40
55 virtual BCP_warmstart* as_change(const BCP_warmstart* const old_ws,
56 const BCP_vec<int>& del_vars,
57 const BCP_vec<int>& del_cuts,
58 const double petol,
59 const double detol) const = 0;
60
62 virtual BCP_warmstart* clone() const = 0;
63
68 virtual BCP_warmstart* empty_wrt_this() const = 0;
69
72 virtual int storage_size() const = 0;
73};
74
75#endif
BCP_storage_t
This enumerative constant describes how to store certain data for a search tree node.
Definition BCP_enum.hpp:84
The class BCP_vec serves the same purpose as the vector class in the standard template library.
Warmstarting information for the LP solver.
virtual CoinWarmStart * convert_to_CoinWarmStart() const =0
Return an OsiWarmStart object that can be fed to the LP engine.
virtual int storage_size() const =0
Return how much memory it'll take to pack this warmstart info.
virtual BCP_warmstart * empty_wrt_this() const =0
Create a warmstart info describing that no change should be done.
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 =0
Return a pointer to a warmstart info describing the currently stored data as a change with respect to...
virtual BCP_storage_t storage() const =0
Return how the warmstarting info is stored.
virtual ~BCP_warmstart()
The destructor is pure virtual.
virtual BCP_warmstart * clone() const =0
Make a replica of the current warmstart information.
virtual void update(const BCP_warmstart *const change)=0
Update the current data with the one in the argument.