forked from coin-or/Cbc
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathClpQuadInterface.hpp
More file actions
70 lines (50 loc) · 1.6 KB
/
Copy pathClpQuadInterface.hpp
File metadata and controls
70 lines (50 loc) · 1.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
// Copyright (C) 2004, International Business Machines
// Corporation and others. All Rights Reserved.
// This code is licensed under the terms of the Eclipse Public License (EPL).
#ifndef ClpQuadInterface_H
#define ClpQuadInterface_H
#include "OsiClpSolverInterface.hpp"
//#############################################################################
/**
This is to allow the user to replace initialSolve and resolve
*/
class ClpQuadInterface : public OsiClpSolverInterface {
public:
//---------------------------------------------------------------------------
/**@name Solve methods */
//@{
/// Solve initial LP relaxation
virtual void initialSolve();
/// Resolve an LP relaxation after problem modification
virtual void resolve();
//@}
/**@name Constructors and destructors */
//@{
/// Default Constructor
ClpQuadInterface();
/// Clone
virtual OsiSolverInterface *clone(bool CopyData = true) const;
/// Copy constructor
ClpQuadInterface(const ClpQuadInterface &);
/// Assignment operator
ClpQuadInterface &operator=(const ClpQuadInterface &rhs);
/// Destructor
virtual ~ClpQuadInterface();
//@}
/**@name Sets and Getss */
//@{
/** Setup fake objective. It could also read an ampl .nl file
or somehow get nonlinear info */
void initialize();
/// Get objective function value (can't use default)
virtual double getObjValue() const;
//@}
//---------------------------------------------------------------------------
private:
/**@name Private member data */
//@{
/// True quadratic objective
ClpObjective *quadraticObjective_;
//@}
};
#endif