Cbc  2.10.10
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
List of all members
ClpAmplObjective Class Reference

Ampl Objective Class. More...

#include <ClpAmplObjective.hpp>

+ Inheritance diagram for ClpAmplObjective:
+ Collaboration diagram for ClpAmplObjective:

Public Member Functions

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

Private Attributes

Private member data

Saved offset

double offset_
 
void * amplObjective_
 Ampl info. More...
 
double * objective_
 Objective. More...
 
double * gradient_
 Gradient. More...
 

Detailed Description

Ampl Objective Class.

Definition at line 18 of file ClpAmplObjective.hpp.

Constructor & Destructor Documentation

◆ ClpAmplObjective() [1/3]

ClpAmplObjective::ClpAmplObjective ( )

Default Constructor.

◆ ClpAmplObjective() [2/3]

ClpAmplObjective::ClpAmplObjective ( void *  amplInfo)

Constructor from ampl info.

◆ ClpAmplObjective() [3/3]

ClpAmplObjective::ClpAmplObjective ( const ClpAmplObjective rhs)

Copy constructor .

◆ ~ClpAmplObjective()

virtual ClpAmplObjective::~ClpAmplObjective ( )
virtual

Destructor.

Member Function Documentation

◆ gradient()

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

◆ reducedGradient()

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).

◆ stepLength()

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

◆ objectiveValue()

virtual double ClpAmplObjective::objectiveValue ( const ClpSimplex *  model,
const double *  solution 
) const
virtual

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

◆ resize()

virtual void ClpAmplObjective::resize ( int  newNumberColumns)
virtual

◆ deleteSome()

virtual void ClpAmplObjective::deleteSome ( int  numberToDelete,
const int *  which 
)
virtual

Delete columns in objective.

◆ reallyScale()

virtual void ClpAmplObjective::reallyScale ( const double *  columnScale)
virtual

Scale objective.

◆ markNonlinear()

virtual int ClpAmplObjective::markNonlinear ( char *  which)
virtual

Given a zeroed array sets nonlinear columns to 1.

Returns number of nonlinear columns

◆ newXValues()

virtual void ClpAmplObjective::newXValues ( )
virtual

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

◆ operator=()

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

Assignment operator.

◆ clone()

virtual ClpObjective* ClpAmplObjective::clone ( ) const
virtual

Clone.

◆ linearObjective()

double* ClpAmplObjective::linearObjective ( ) const

Linear objective.

Member Data Documentation

◆ offset_

double ClpAmplObjective::offset_
private

Definition at line 100 of file ClpAmplObjective.hpp.

◆ amplObjective_

void* ClpAmplObjective::amplObjective_
private

Ampl info.

Definition at line 102 of file ClpAmplObjective.hpp.

◆ objective_

double* ClpAmplObjective::objective_
private

Objective.

Definition at line 104 of file ClpAmplObjective.hpp.

◆ gradient_

double* ClpAmplObjective::gradient_
private

Gradient.

Definition at line 106 of file ClpAmplObjective.hpp.


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