Clp  1.17.6
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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 
69  virtual ~ClpConstraintLinear();
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 */
virtual void deleteSome(int numberToDelete, const int *which)
Delete columns in constraint.
double offset() const
Constraint offset.
ClpConstraintLinear & operator=(const ClpConstraintLinear &rhs)
Assignment operator.
virtual int markNonlinear(char *which) const
Given a zeroed array sets nonlinear columns to 1.
const int * column() const
Columns.
Constraint Abstract Base Class.
virtual int markNonzero(char *which) const
Given a zeroed array sets possible nonzero coefficients to 1.
virtual void reallyScale(const double *columnScale)
Scale constraint.
Linear Constraint Class.
double functionValue() const
Stored constraint function value.
virtual void resize(int newNumberColumns)
Resize constraint.
const double * coefficient() const
Coefficients.
This solves LPs using the simplex method.
Definition: ClpSimplex.hpp:106
double * coefficient_
Coefficients.
int numberColumns() const
Number of columns in linear constraint.
int numberColumns_
Useful to have number of columns about.
virtual ClpConstraint * clone() const
Clone.
virtual ~ClpConstraintLinear()
Destructor.
int numberCoefficients_
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.
ClpConstraintLinear()
Default Constructor.
virtual int numberCoefficients() const
Number of coefficients.