Cbc 2.10.5
Loading...
Searching...
No Matches
ClpConstraintAmpl.hpp
Go to the documentation of this file.
1/* $Id: ClpConstraintAmpl.hpp 2465 2019-01-03 19:26:52Z 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 ClpConstraintAmpl_H
7#define ClpConstraintAmpl_H
8
9#include "ClpConstraint.hpp"
10
11//#############################################################################
12
17class ClpConstraintAmpl : public ClpConstraint {
18
19public:
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
56
58
60 ClpConstraintAmpl(int row, void *amplInfo);
61
65
68
71
73 virtual ClpConstraint *clone() const;
75
77
78 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
93private:
96 void *amplInfo_;
98 int *column_;
104};
105
106#endif
107
108/* vi: softtabstop=2 shiftwidth=2 expandtab tabstop=2
109*/
Ampl Constraint Class.
int numberCoefficients_
Number of coefficients in gradient.
virtual void deleteSome(int numberToDelete, const int *which)
Delete columns in constraint.
virtual int markNonzero(char *which) const
Given a zeroed array sets possible nonzero coefficients to 1.
virtual void reallyScale(const double *columnScale)
Scale constraint.
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(int row, void *amplInfo)
Constructor from ampl.
double * coefficient_
Coefficients.
virtual int numberCoefficients() const
Number of coefficients.
ClpConstraintAmpl()
Default Constructor.
const double * coefficient() const
Coefficients.
ClpConstraintAmpl(const ClpConstraintAmpl &rhs)
Copy constructor .
virtual ~ClpConstraintAmpl()
Destructor.
virtual ClpConstraint * clone() const
Clone.
virtual void resize(int newNumberColumns)
Resize constraint.
virtual int markNonlinear(char *which) const
Given a zeroed array sets nonampl columns to 1.
virtual void newXValues()
Say we have new primal solution - so may need to recompute.
const int * column() const
Columns.
ClpConstraintAmpl & operator=(const ClpConstraintAmpl &rhs)
Assignment operator.