Clp  1.17.6
ClpConstraintLinear.hpp
Go to the documentation of this file.
1 /* $Id: ClpConstraintLinear.hpp 2385 2019-01-06 19:43:06Z unxusr $ */
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 ClpConstraintLinear_H
7 #define ClpConstraintLinear_H
8 
9 #include "ClpConstraint.hpp"
10 
11 //#############################################################################
12 
18 
19 public:
21 
22 
29  virtual int gradient(const ClpSimplex *model,
30  const double *solution,
31  double *gradient,
32  double &functionValue,
33  double &offset,
34  bool useScaling = false,
35  bool refresh = true) const;
37  virtual void resize(int newNumberColumns);
39  virtual void deleteSome(int numberToDelete, const int *which);
41  virtual void reallyScale(const double *columnScale);
45  virtual int markNonlinear(char *which) const;
49  virtual int markNonzero(char *which) const;
51 
53 
56 
59  const int *column, const double *element);
60 
64 
67 
70 
72  virtual ClpConstraint *clone() const;
74 
76  virtual int numberCoefficients() const;
79  inline int numberColumns() const
80  {
81  return numberColumns_;
82  }
84  inline const int *column() const
85  {
86  return column_;
87  }
89  inline const double *coefficient() const
90  {
91  return coefficient_;
92  }
94 
95  //---------------------------------------------------------------------------
96 
97 private:
100  int *column_;
102  double *coefficient_;
108 };
109 
110 #endif
111 
112 /* vi: softtabstop=2 shiftwidth=2 expandtab tabstop=2
113 */
Linear Constraint Class.
virtual void reallyScale(const double *columnScale)
Scale constraint.
virtual void deleteSome(int numberToDelete, const int *which)
Delete columns in constraint.
virtual int markNonlinear(char *which) const
Given a zeroed array sets nonlinear columns to 1.
virtual ClpConstraint * clone() const
Clone.
ClpConstraintLinear(int row, int numberCoefficients, int numberColumns, const int *column, const double *element)
Constructor from constraint.
ClpConstraintLinear(const ClpConstraintLinear &rhs)
Copy constructor .
virtual int markNonzero(char *which) const
Given a zeroed array sets possible nonzero coefficients to 1.
virtual ~ClpConstraintLinear()
Destructor.
ClpConstraintLinear()
Default Constructor.
double * coefficient_
Coefficients.
const int * column() const
Columns.
virtual int numberCoefficients() const
Number of coefficients.
int numberCoefficients_
Number of coefficients.
const double * coefficient() const
Coefficients.
ClpConstraintLinear & operator=(const ClpConstraintLinear &rhs)
Assignment operator.
virtual int gradient(const ClpSimplex *model, const double *solution, double *gradient, double &functionValue, double &offset, bool useScaling=false, bool refresh=true) const
Fills gradient.
int numberColumns_
Useful to have number of columns about.
virtual void resize(int newNumberColumns)
Resize constraint.
int numberColumns() const
Number of columns in linear constraint.
Constraint Abstract Base Class.
double offset() const
Constraint offset.
double functionValue() const
Stored constraint function value.
This solves LPs using the simplex method.
Definition: ClpSimplex.hpp:106