Cgl 0.59.7

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ClpLinearObjective.hpp
Go to the documentation of this file.
1 /* $Id: ClpLinearObjective.hpp 1665 2011-01-04 17:55:54Z lou $ */
2 // Copyright (C) 2003, 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 ClpLinearObjective_H
7 #define ClpLinearObjective_H
8
9 #include "ClpObjective.hpp"
10
11 //#############################################################################
12
17 class ClpLinearObjective : public ClpObjective {
18
19 public:
20
22
23
28 virtual double * gradient(const ClpSimplex * model,
29 const double * solution, double & offset, bool refresh,
30 int includeLinear = 2);
33 virtual double reducedGradient(ClpSimplex * model, double * region,
34 bool useFeasibleCosts);
41 virtual double stepLength(ClpSimplex * model,
42 const double * solution,
43 const double * change,
44 double maximumTheta,
45 double & currentObj,
46 double & predictedObj,
47 double & thetaObj);
49 virtual double objectiveValue(const ClpSimplex * model, const double * solution) const ;
51 virtual void resize(int newNumberColumns) ;
53 virtual void deleteSome(int numberToDelete, const int * which) ;
55 virtual void reallyScale(const double * columnScale) ;
56
58
59
61
62 ClpLinearObjective();
64
66 ClpLinearObjective(const double * objective, int numberColumns);
67
69 ClpLinearObjective(const ClpLinearObjective &);
73 ClpLinearObjective (const ClpLinearObjective &rhs, int numberColumns,
74 const int * whichColumns) ;
75
77 ClpLinearObjective & operator=(const ClpLinearObjective& rhs);
78
80 virtual ~ClpLinearObjective ();
81
83 virtual ClpObjective * clone() const;
87 virtual ClpObjective * subsetClone (int numberColumns,
88 const int * whichColumns) const;
89
91
92 //---------------------------------------------------------------------------
93
94 private:
97 double * objective_;
99 int numberColumns_;
101 };
102
103 #endif
ClpLinearObjective::objective_
double * objective_
Definition: ClpLinearObjective.hpp:97
ClpLinearObjective::resize
virtual void resize(int newNumberColumns)
Resize objective.
ClpLinearObjective::numberColumns_
int numberColumns_
number of columns
Definition: ClpLinearObjective.hpp:99
ClpObjective
Objective Abstract Base Class.
Definition: ClpObjective.hpp:19
ClpLinearObjective::clone
virtual ClpObjective * clone() const
Clone.
ClpLinearObjective::gradient
virtual double * gradient(const ClpSimplex *model, const double *solution, double &offset, bool refresh, int includeLinear=2)
Returns objective coefficients.
ClpLinearObjective::reducedGradient
virtual double reducedGradient(ClpSimplex *model, double *region, bool useFeasibleCosts)
Returns reduced gradient.Returns an offset (to be added to current one).
ClpLinearObjective::ClpLinearObjective
ClpLinearObjective()
Default Constructor.
ClpSimplex
This solves LPs using the simplex method.
Definition: ClpSimplex.hpp:70
ClpLinearObjective
Linear Objective Class.
Definition: ClpLinearObjective.hpp:17
ClpObjective.hpp
ClpLinearObjective::~ClpLinearObjective
virtual ~ClpLinearObjective()
Destructor.
ClpLinearObjective::stepLength
virtual double stepLength(ClpSimplex *model, const double *solution, const double *change, double maximumTheta, double &currentObj, double &predictedObj, double &thetaObj)
Returns step length which gives minimum of objective for solution + theta * change vector up to maxim...
ClpLinearObjective::reallyScale
virtual void reallyScale(const double *columnScale)
Scale objective.
ClpLinearObjective::deleteSome
virtual void deleteSome(int numberToDelete, const int *which)
Delete columns in objective.
ClpLinearObjective::subsetClone
virtual ClpObjective * subsetClone(int numberColumns, const int *whichColumns) const
Subset clone.
ClpLinearObjective::operator=
ClpLinearObjective & operator=(const ClpLinearObjective &rhs)
Assignment operator.
ClpLinearObjective::objectiveValue
virtual double objectiveValue(const ClpSimplex *model, const double *solution) const
Return objective value (without any ClpModel offset) (model may be NULL)