# ClpAmplObjective Class Reference

Ampl Objective Class. More...

`#include <ClpAmplObjective.hpp>`

Inheritance diagram for ClpAmplObjective:
[legend]
Collaboration diagram for ClpAmplObjective:
[legend]

List of all members.

## Public Member Functions
Stuff
virtual double * | gradient (const ClpSimplex *model, const double *solution, double &offset, bool refresh, int includeLinear=2)
| Returns gradient.
virtual double | reducedGradient (ClpSimplex *model, double *region, bool useFeasibleCosts)
| Resize objective.
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 maximum theta.
virtual double | objectiveValue (const ClpSimplex *model, const double *solution) const
| Return objective value (without any ClpModel offset) (model may be NULL).
virtual void | resize (int newNumberColumns)
virtual void | deleteSome (int numberToDelete, const int *which)
| Delete columns in objective.
virtual void | reallyScale (const double *columnScale)
| Scale objective.
virtual int | markNonlinear (char *which)
| Given a zeroed array sets nonlinear columns to 1.
virtual void | newXValues ()
| Say we have new primal solution - so may need to recompute.
Constructors and destructors
| ClpAmplObjective ()
| Default Constructor.
| ClpAmplObjective (void *amplInfo)
| Constructor from ampl info.
| ClpAmplObjective (const ClpAmplObjective &rhs)
| Copy constructor .
ClpAmplObjective & | operator= (const ClpAmplObjective &rhs)
| Assignment operator.
virtual | ~ClpAmplObjective ()
| Destructor.
virtual ClpObjective * | clone () const
| Clone.
Gets and sets
double * | linearObjective () const
| Linear objective.
## Private Attributes
Private member data
Saved offset
double | offset_
void * | amplObjective_
| Ampl info.
double * | objective_
| Objective.
double * | gradient_
| Gradient.

## Detailed Description

Ampl Objective Class.

Definition at line 18 of file ClpAmplObjective.hpp.

## Constructor & Destructor Documentation

ClpAmplObjective::ClpAmplObjective | ( |  | ) |

Default Constructor.

ClpAmplObjective::ClpAmplObjective | ( | void * | amplInfo | ) |

Constructor from ampl info.

ClpAmplObjective::ClpAmplObjective | ( | const ClpAmplObjective & | rhs | ) |

Copy constructor .

virtual ClpAmplObjective::~ClpAmplObjective | ( |  | ) | `[virtual]`

Destructor.

## Member Function Documentation

virtual double* ClpAmplObjective::gradient | ( | const ClpSimplex * | model,
|  | const double * | solution,
|  | double & | offset,
|  | bool | refresh,
|  | int | includeLinear = `2` |
| ) |  |  | `[virtual]`

Returns gradient.

If Ampl then solution may be NULL, also returns an offset (to be added to current one) If refresh is false then uses last solution Uses model for scaling includeLinear 0 - no, 1 as is, 2 as feasible

Implements ClpObjective.

virtual double ClpAmplObjective::reducedGradient | ( | ClpSimplex * | model,
|  | double * | region,
|  | bool | useFeasibleCosts |
| ) |  |  | `[virtual]`

Resize objective.

Returns reduced gradient.Returns an offset (to be added to current one).

Implements ClpObjective.

virtual double ClpAmplObjective::stepLength | ( | ClpSimplex * | model,
|  | const double * | solution,
|  | const double * | change,
|  | double | maximumTheta,
|  | double & | currentObj,
|  | double & | predictedObj,
|  | double & | thetaObj |
| ) |  |  | `[virtual]`

Returns step length which gives minimum of objective for solution + theta * change vector up to maximum theta.

arrays are numberColumns+numberRows Also sets current objective, predicted and at maximumTheta

Implements ClpObjective.

virtual double ClpAmplObjective::objectiveValue | ( | const ClpSimplex * | model,
|  | const double * | solution |
| ) |  |  | const`[virtual]`

Return objective value (without any ClpModel offset) (model may be NULL).

Implements ClpObjective.

virtual void ClpAmplObjective::resize | ( | int | newNumberColumns | ) | `[virtual]`

Implements ClpObjective.

virtual void ClpAmplObjective::deleteSome | ( | int | numberToDelete,
|  | const int * | which |
| ) |  |  | `[virtual]`

Delete columns in objective.

Implements ClpObjective.

virtual void ClpAmplObjective::reallyScale | ( | const double * | columnScale | ) | `[virtual]`

Scale objective.

Implements ClpObjective.

virtual int ClpAmplObjective::markNonlinear | ( | char * | which | ) | `[virtual]`

Given a zeroed array sets nonlinear columns to 1.

Returns number of nonlinear columns

Reimplemented from ClpObjective.

virtual void ClpAmplObjective::newXValues | ( |  | ) | `[virtual]`

Say we have new primal solution - so may need to recompute.

Reimplemented from ClpObjective.

ClpAmplObjective& ClpAmplObjective::operator= | ( | const ClpAmplObjective & | rhs | ) |

Assignment operator.

Reimplemented from ClpObjective.

virtual ClpObjective* ClpAmplObjective::clone | ( |  | ) | const`[virtual]`

Clone.

Implements ClpObjective.

double* ClpAmplObjective::linearObjective | ( |  | ) | const

Linear objective.

## Member Data Documentation

double ClpAmplObjective::offset_`[private]`

Reimplemented from ClpObjective.

Definition at line 102 of file ClpAmplObjective.hpp.

void* ClpAmplObjective::amplObjective_`[private]`

Ampl info.

Definition at line 104 of file ClpAmplObjective.hpp.

double* ClpAmplObjective::objective_`[private]`

Objective.

Definition at line 106 of file ClpAmplObjective.hpp.

double* ClpAmplObjective::gradient_`[private]`

Gradient.

Definition at line 108 of file ClpAmplObjective.hpp.

The documentation for this class was generated from the following file:

- /home/coin/svn-release/Cbc-2.7.8/Cbc/src/ClpAmplObjective.hpp

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines