source: trunk/Cbc/examples/ClpQuadInterface.hpp

Last change on this file was 1574, checked in by lou, 7 years ago

Change to EPL license notice.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 1.7 KB
Line 
1// $Id: ClpQuadInterface.hpp 1574 2011-01-05 01:13:55Z forrest $
2// Copyright (C) 2004, International Business Machines
3// Corporation and others.  All Rights Reserved.
4// This code is licensed under the terms of the Eclipse Public License (EPL).
5
6#ifndef ClpQuadInterface_H
7#define ClpQuadInterface_H
8
9#include "OsiClpSolverInterface.hpp"
10
11//#############################################################################
12
13/**
14
15    This is to allow the user to replace initialSolve and resolve
16*/
17
18class ClpQuadInterface : public OsiClpSolverInterface {
19
20public:
21  //---------------------------------------------------------------------------
22  /**@name Solve methods */
23  //@{
24    /// Solve initial LP relaxation
25    virtual void initialSolve();
26
27    /// Resolve an LP relaxation after problem modification
28    virtual void resolve();
29
30  //@}
31
32
33  /**@name Constructors and destructors */
34  //@{
35    /// Default Constructor
36    ClpQuadInterface ();
37   
38    /// Clone
39    virtual OsiSolverInterface * clone(bool CopyData=true) const;
40   
41    /// Copy constructor
42    ClpQuadInterface (const ClpQuadInterface &);
43   
44    /// Assignment operator
45    ClpQuadInterface & operator=(const ClpQuadInterface& rhs);
46   
47    /// Destructor
48    virtual ~ClpQuadInterface ();
49
50  //@}
51
52
53  /**@name Sets and Getss */
54  //@{
55  /** Setup fake objective.  It could also read an ampl .nl file
56      or somehow get nonlinear  info */
57  void initialize();
58  /// Get objective function value (can't use default)
59  virtual double getObjValue() const;
60
61  //@}
62
63  //---------------------------------------------------------------------------
64
65private:
66 
67  /**@name Private member data */
68  //@{
69  /// True quadratic objective
70  ClpObjective * quadraticObjective_;
71  //@}
72};
73
74#endif
Note: See TracBrowser for help on using the repository browser.