Clp  1.16.10
ClpConstraintQuadratic.hpp
Go to the documentation of this file.
1 /* $Id: ClpConstraintQuadratic.hpp 1665 2011-01-04 17:55:54Z lou $ */
2 // Copyright (C) 2007, 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 ClpConstraintQuadratic_H
7 #define ClpConstraintQuadratic_H
8 
9 #include "ClpConstraint.hpp"
10 
11 //#############################################################################
12 
18 
19 public:
20 
22 
23 
24 
31  virtual int gradient(const ClpSimplex * model,
32  const double * solution,
33  double * gradient,
34  double & functionValue ,
35  double & offset,
36  bool useScaling = false,
37  bool refresh = true) const ;
39  virtual void resize(int newNumberColumns) ;
41  virtual void deleteSome(int numberToDelete, const int * which) ;
43  virtual void reallyScale(const double * columnScale) ;
47  virtual int markNonlinear(char * which) const ;
51  virtual int markNonzero(char * which) const;
53 
54 
56 
59 
61  ClpConstraintQuadratic(int row, int numberQuadraticColumns, int numberColumns,
62  const CoinBigIndex * start,
63  const int * column, const double * element);
64 
68 
71 
73  virtual ~ClpConstraintQuadratic ();
74 
76  virtual ClpConstraint * clone() const;
78 
80  virtual int numberCoefficients() const;
83  inline int numberColumns() const {
84  return numberColumns_;
85  }
87  inline CoinBigIndex * start() const {
88  return start_;
89  }
91  inline const int * column() const {
92  return column_;
93  }
95  inline const double * coefficient() const {
96  return coefficient_;
97  }
99 
100  //---------------------------------------------------------------------------
101 
102 private:
105  CoinBigIndex * start_;
107  int * column_;
109  double * coefficient_;
111  int numberColumns_;
113  int numberCoefficients_;
115  int numberQuadraticColumns_;
117 };
118 
119 #endif
ClpConstraintQuadratic()
Default Constructor.
virtual ClpConstraint * clone() const
Clone.
int numberColumns() const
Number of columns in constraint.
double functionValue() const
Stored constraint function value.
Constraint Abstract Base Class.
virtual void resize(int newNumberColumns)
Resize constraint.
virtual void deleteSome(int numberToDelete, const int *which)
Delete columns in constraint.
virtual ~ClpConstraintQuadratic()
Destructor.
This solves LPs using the simplex method.
Definition: ClpSimplex.hpp:70
virtual int markNonlinear(char *which) const
Given a zeroed array sets nonquadratic columns to 1.
virtual void reallyScale(const double *columnScale)
Scale constraint.
const double * coefficient() const
Coefficients.
virtual int numberCoefficients() const
Number of coefficients.
virtual int gradient(const ClpSimplex *model, const double *solution, double *gradient, double &functionValue, double &offset, bool useScaling=false, bool refresh=true) const
Fills gradient.
virtual int markNonzero(char *which) const
Given a zeroed array sets possible nonzero coefficients to 1.
double offset() const
Constraint offset.
ClpConstraintQuadratic & operator=(const ClpConstraintQuadratic &rhs)
Assignment operator.
CoinBigIndex * start() const
Column starts.
const int * column() const
Columns.
Quadratic Constraint Class.