Cbc  2.10.10
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ClpConstraintAmpl.hpp
Go to the documentation of this file.
1 /* $Id$ */
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 ClpConstraintAmpl_H
7 #define ClpConstraintAmpl_H
8 
9 #include "ClpConstraint.hpp"
10 
11 //#############################################################################
12 
17 class ClpConstraintAmpl : public ClpConstraint {
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  virtual void newXValues();
53 
55 
58 
60  ClpConstraintAmpl(int row, void *amplInfo);
61 
65 
68 
70  virtual ~ClpConstraintAmpl();
71 
73  virtual ClpConstraint *clone() const;
75 
77  virtual int numberCoefficients() const;
80  inline const int *column() const
81  {
82  return column_;
83  }
85  inline const double *coefficient() const
86  {
87  return coefficient_;
88  }
90 
91  //---------------------------------------------------------------------------
92 
93 private:
96  void *amplInfo_;
98  int *column_;
100  double *coefficient_;
104 };
105 
106 #endif
107 
108 /* vi: softtabstop=2 shiftwidth=2 expandtab tabstop=2
109 */
ClpConstraintAmpl::coefficient
const double * coefficient() const
Coefficients.
Definition: ClpConstraintAmpl.hpp:85
ClpConstraintAmpl::coefficient_
double * coefficient_
Coefficients.
Definition: ClpConstraintAmpl.hpp:100
ClpConstraintAmpl
Ampl Constraint Class.
Definition: ClpConstraintAmpl.hpp:17
ClpConstraintAmpl::operator=
ClpConstraintAmpl & operator=(const ClpConstraintAmpl &rhs)
Assignment operator.
ClpConstraintAmpl::markNonzero
virtual int markNonzero(char *which) const
Given a zeroed array sets possible nonzero coefficients to 1.
ClpConstraintAmpl::newXValues
virtual void newXValues()
Say we have new primal solution - so may need to recompute.
ClpConstraintAmpl::clone
virtual ClpConstraint * clone() const
Clone.
ClpConstraintAmpl::amplInfo_
void * amplInfo_
Definition: ClpConstraintAmpl.hpp:96
ClpConstraintAmpl::column
const int * column() const
Columns.
Definition: ClpConstraintAmpl.hpp:80
ClpConstraintAmpl::numberCoefficients_
int numberCoefficients_
Number of coefficients in gradient.
Definition: ClpConstraintAmpl.hpp:102
ClpConstraintAmpl::numberCoefficients
virtual int numberCoefficients() const
Number of coefficients.
ClpConstraintAmpl::ClpConstraintAmpl
ClpConstraintAmpl()
Default Constructor.
ClpConstraintAmpl::resize
virtual void resize(int newNumberColumns)
Resize constraint.
ClpConstraintAmpl::reallyScale
virtual void reallyScale(const double *columnScale)
Scale constraint.
ClpConstraintAmpl::deleteSome
virtual void deleteSome(int numberToDelete, const int *which)
Delete columns in constraint.
ClpConstraintAmpl::column_
int * column_
Column.
Definition: ClpConstraintAmpl.hpp:98
ClpConstraintAmpl::gradient
virtual int gradient(const ClpSimplex *model, const double *solution, double *gradient, double &functionValue, double &offset, bool useScaling=false, bool refresh=true) const
Fills gradient.
ClpConstraintAmpl::~ClpConstraintAmpl
virtual ~ClpConstraintAmpl()
Destructor.
ClpConstraintAmpl::markNonlinear
virtual int markNonlinear(char *which) const
Given a zeroed array sets nonampl columns to 1.