Clp 1.17.5
Loading...
Searching...
No Matches
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
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
53
54
56
59 const int *column, const double *element);
60
64
67
70
72 virtual ClpConstraint *clone() const;
74
76
77 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
97private:
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.
ClpConstraintLinear(int row, int numberCoefficients, int numberColumns, const int *column, const double *element)
Constructor from constraint.
const int * column() const
Columns.
const double * coefficient() const
Coefficients.
virtual ClpConstraint * clone() const
Clone.
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 & operator=(const ClpConstraintLinear &rhs)
Assignment operator.
ClpConstraintLinear()
Default Constructor.
double * coefficient_
Coefficients.
virtual int numberCoefficients() const
Number of coefficients.
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.
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.