Clp 1.16.9
Loading...
Searching...
No Matches
ClpConstraintQuadratic.hpp
Go to the documentation of this file.
1/* $Id: ClpConstraintQuadratic.hpp 1665 2011-01-04 17:55:54Z lou $ */
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 ClpConstraintQuadratic_H
7#define ClpConstraintQuadratic_H
8
9#include "ClpConstraint.hpp"
10
11//#############################################################################
12
18
19public:
20
22
23
24
31 virtual int gradient(const ClpSimplex * model,
32 const double * solution,
33 double * gradient,
34 double & functionValue ,
35 double & offset,
36 bool useScaling = false,
37 bool refresh = true) const ;
39 virtual void resize(int newNumberColumns) ;
41 virtual void deleteSome(int numberToDelete, const int * which) ;
43 virtual void reallyScale(const double * columnScale) ;
47 virtual int markNonlinear(char * which) const ;
51 virtual int markNonzero(char * which) const;
53
54
56
57
59
61 ClpConstraintQuadratic(int row, int numberQuadraticColumns, int numberColumns,
62 const CoinBigIndex * start,
63 const int * column, const double * element);
64
68
71
74
76 virtual ClpConstraint * clone() const;
78
80
81 virtual int numberCoefficients() const;
83 inline int numberColumns() const {
84 return numberColumns_;
85 }
87 inline CoinBigIndex * start() const {
88 return start_;
89 }
91 inline const int * column() const {
92 return column_;
93 }
95 inline const double * coefficient() const {
96 return coefficient_;
97 }
99
100 //---------------------------------------------------------------------------
101
102private:
105 CoinBigIndex * start_;
107 int * column_;
109 double * coefficient_;
111 int numberColumns_;
113 int numberCoefficients_;
115 int numberQuadraticColumns_;
117};
118
119#endif
Quadratic Constraint Class.
ClpConstraintQuadratic(int row, int numberQuadraticColumns, int numberColumns, const CoinBigIndex *start, const int *column, const double *element)
Constructor from quadratic.
const double * coefficient() const
Coefficients.
CoinBigIndex * start() const
Column starts.
virtual void resize(int newNumberColumns)
Resize constraint.
virtual int markNonlinear(char *which) const
Given a zeroed array sets nonquadratic columns to 1.
virtual int markNonzero(char *which) const
Given a zeroed array sets possible nonzero coefficients to 1.
int numberColumns() const
Number of columns in constraint.
const int * column() const
Columns.
virtual ClpConstraint * clone() const
Clone.
virtual void reallyScale(const double *columnScale)
Scale constraint.
virtual ~ClpConstraintQuadratic()
Destructor.
virtual void deleteSome(int numberToDelete, const int *which)
Delete columns in constraint.
ClpConstraintQuadratic(const ClpConstraintQuadratic &rhs)
Copy constructor .
ClpConstraintQuadratic()
Default Constructor.
virtual int numberCoefficients() const
Number of coefficients.
ClpConstraintQuadratic & operator=(const ClpConstraintQuadratic &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.
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:70