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:
107  int * column_;
109  double * coefficient_;
117 };
118 
119 #endif
int CoinBigIndex
virtual int gradient(const ClpSimplex *model, const double *solution, double *gradient, double &functionValue, double &offset, bool useScaling=false, bool refresh=true) const
Fills gradient.
ClpConstraintQuadratic()
Default Constructor.
const int * column() const
Columns.
Constraint Abstract Base Class.
int numberQuadraticColumns_
Number of quadratic columns.
virtual int markNonzero(char *which) const
Given a zeroed array sets possible nonzero coefficients to 1.
virtual void resize(int newNumberColumns)
Resize constraint.
virtual int numberCoefficients() const
Number of coefficients.
CoinBigIndex * start() const
Column starts.
virtual void reallyScale(const double *columnScale)
Scale constraint.
int * column_
Column (if -1 then linear coefficient)
virtual void deleteSome(int numberToDelete, const int *which)
Delete columns in constraint.
int numberColumns() const
Number of columns in constraint.
const double * coefficient() const
Coefficients.
This solves LPs using the simplex method.
Definition: ClpSimplex.hpp:70
virtual ClpConstraint * clone() const
Clone.
virtual ~ClpConstraintQuadratic()
Destructor.
CoinBigIndex * start_
Column (if -1 then linear coefficient)
double * coefficient_
Coefficients.
double offset() const
Constraint offset.
virtual int markNonlinear(char *which) const
Given a zeroed array sets nonquadratic columns to 1.
int numberColumns_
Useful to have number of columns about.
Quadratic Constraint Class.
ClpConstraintQuadratic & operator=(const ClpConstraintQuadratic &rhs)
Assignment operator.
double functionValue() const
Stored constraint function value.
int numberCoefficients_
Number of coefficients in gradient.